promptfoo 0.94.0 → 0.94.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 (407) hide show
  1. package/dist/package.json +9 -9
  2. package/dist/src/app/assets/index-DzFOW2sr.js +769 -0
  3. package/dist/src/app/assets/{index.es-BExeKHIA.js → index.es-DHZ-d3WX.js} +1 -1
  4. package/dist/src/app/assets/{sync-B6HKT-pd.js → sync-BXQkLspz.js} +1 -1
  5. package/dist/src/app/index.html +2 -2
  6. package/dist/src/cache.d.ts +2 -0
  7. package/dist/src/cache.d.ts.map +1 -1
  8. package/dist/src/cache.js +16 -3
  9. package/dist/src/cache.js.map +1 -1
  10. package/dist/src/commands/eval.d.ts.map +1 -1
  11. package/dist/src/commands/eval.js +8 -2
  12. package/dist/src/commands/eval.js.map +1 -1
  13. package/dist/src/database/tables.d.ts +171 -40
  14. package/dist/src/database/tables.d.ts.map +1 -1
  15. package/dist/src/fetch.d.ts.map +1 -1
  16. package/dist/src/fetch.js +14 -2
  17. package/dist/src/fetch.js.map +1 -1
  18. package/dist/src/onboarding.d.ts +1 -1
  19. package/dist/src/onboarding.d.ts.map +1 -1
  20. package/dist/src/onboarding.js +5 -1
  21. package/dist/src/onboarding.js.map +1 -1
  22. package/dist/src/providers/browser.d.ts.map +1 -1
  23. package/dist/src/providers/browser.js +10 -2
  24. package/dist/src/providers/browser.js.map +1 -1
  25. package/dist/src/providers/http.d.ts +2 -1
  26. package/dist/src/providers/http.d.ts.map +1 -1
  27. package/dist/src/providers/http.js +58 -23
  28. package/dist/src/providers/http.js.map +1 -1
  29. package/dist/src/providers/openai.d.ts.map +1 -1
  30. package/dist/src/providers/openai.js +10 -4
  31. package/dist/src/providers/openai.js.map +1 -1
  32. package/dist/src/providers/promptfoo.d.ts.map +1 -1
  33. package/dist/src/providers/promptfoo.js +4 -2
  34. package/dist/src/providers/promptfoo.js.map +1 -1
  35. package/dist/src/redteam/commands/init.d.ts.map +1 -1
  36. package/dist/src/redteam/commands/init.js +5 -2
  37. package/dist/src/redteam/commands/init.js.map +1 -1
  38. package/dist/src/redteam/constants.d.ts +27 -26
  39. package/dist/src/redteam/constants.d.ts.map +1 -1
  40. package/dist/src/redteam/constants.js +136 -129
  41. package/dist/src/redteam/constants.js.map +1 -1
  42. package/dist/src/redteam/extraction/util.d.ts.map +1 -1
  43. package/dist/src/redteam/extraction/util.js +4 -2
  44. package/dist/src/redteam/extraction/util.js.map +1 -1
  45. package/dist/src/redteam/plugins/index.d.ts.map +1 -1
  46. package/dist/src/redteam/plugins/index.js +9 -4
  47. package/dist/src/redteam/plugins/index.js.map +1 -1
  48. package/dist/src/redteam/providers/crescendo/index.d.ts.map +1 -1
  49. package/dist/src/redteam/providers/crescendo/index.js +14 -10
  50. package/dist/src/redteam/providers/crescendo/index.js.map +1 -1
  51. package/dist/src/redteam/providers/iterative.d.ts.map +1 -1
  52. package/dist/src/redteam/providers/iterative.js +10 -9
  53. package/dist/src/redteam/providers/iterative.js.map +1 -1
  54. package/dist/src/redteam/providers/iterativeImage.d.ts.map +1 -1
  55. package/dist/src/redteam/providers/iterativeImage.js +6 -0
  56. package/dist/src/redteam/providers/iterativeImage.js.map +1 -1
  57. package/dist/src/redteam/providers/iterativeTree.d.ts +0 -7
  58. package/dist/src/redteam/providers/iterativeTree.d.ts.map +1 -1
  59. package/dist/src/redteam/providers/iterativeTree.js +11 -16
  60. package/dist/src/redteam/providers/iterativeTree.js.map +1 -1
  61. package/dist/src/redteam/providers/shared.d.ts +9 -2
  62. package/dist/src/redteam/providers/shared.d.ts.map +1 -1
  63. package/dist/src/redteam/providers/shared.js +25 -0
  64. package/dist/src/redteam/providers/shared.js.map +1 -1
  65. package/dist/src/redteam/strategies/index.js +35 -35
  66. package/dist/src/redteam/strategies/index.js.map +1 -1
  67. package/dist/src/redteam/util.d.ts +1 -0
  68. package/dist/src/redteam/util.d.ts.map +1 -1
  69. package/dist/src/redteam/util.js +5 -3
  70. package/dist/src/redteam/util.js.map +1 -1
  71. package/dist/src/server/routes/user.js +15 -0
  72. package/dist/src/server/routes/user.js.map +1 -1
  73. package/dist/src/telemetry.d.ts +1 -1
  74. package/dist/src/telemetry.d.ts.map +1 -1
  75. package/dist/src/telemetry.js +2 -2
  76. package/dist/src/telemetry.js.map +1 -1
  77. package/dist/src/testCases.js +2 -2
  78. package/dist/src/testCases.js.map +1 -1
  79. package/dist/src/types/index.d.ts +4892 -56
  80. package/dist/src/types/index.d.ts.map +1 -1
  81. package/dist/src/types/index.js +16 -0
  82. package/dist/src/types/index.js.map +1 -1
  83. package/dist/src/types/providers.d.ts +1 -0
  84. package/dist/src/types/providers.d.ts.map +1 -1
  85. package/dist/src/types/providers.js.map +1 -1
  86. package/dist/src/util/config/load.d.ts.map +1 -1
  87. package/dist/src/util/config/load.js +7 -0
  88. package/dist/src/util/config/load.js.map +1 -1
  89. package/dist/src/util/config/manage.d.ts.map +1 -1
  90. package/dist/src/util/config/manage.js +8 -1
  91. package/dist/src/util/config/manage.js.map +1 -1
  92. package/dist/test/assertions/index.test.d.ts +2 -0
  93. package/dist/test/assertions/index.test.d.ts.map +1 -0
  94. package/dist/test/{assertions.test.js → assertions/index.test.js} +19 -19
  95. package/dist/test/assertions/index.test.js.map +1 -0
  96. package/dist/test/assertions/utils.test.d.ts +2 -0
  97. package/dist/test/assertions/utils.test.d.ts.map +1 -0
  98. package/dist/test/{assertions.utils.test.js → assertions/utils.test.js} +4 -4
  99. package/dist/test/assertions/utils.test.js.map +1 -0
  100. package/dist/test/cache.test.js +12 -7
  101. package/dist/test/cache.test.js.map +1 -1
  102. package/dist/test/factories/evalFactory.d.ts +171 -40
  103. package/dist/test/factories/evalFactory.d.ts.map +1 -1
  104. package/dist/test/matchers.test.js +1 -1
  105. package/dist/test/matchers.test.js.map +1 -1
  106. package/dist/test/prompts/index.test.d.ts +2 -0
  107. package/dist/test/prompts/index.test.d.ts.map +1 -0
  108. package/dist/test/{prompts.test.js → prompts/index.test.js} +10 -10
  109. package/dist/test/prompts/index.test.js.map +1 -0
  110. package/dist/test/prompts/processors/javascript.test.d.ts +2 -0
  111. package/dist/test/prompts/processors/javascript.test.d.ts.map +1 -0
  112. package/dist/test/{prompts.processors.javascript.test.js → prompts/processors/javascript.test.js} +4 -4
  113. package/dist/test/prompts/processors/javascript.test.js.map +1 -0
  114. package/dist/test/prompts/processors/json.test.d.ts +2 -0
  115. package/dist/test/prompts/processors/json.test.d.ts.map +1 -0
  116. package/dist/test/{prompts.processors.json.test.js → prompts/processors/json.test.js} +2 -2
  117. package/dist/test/prompts/processors/json.test.js.map +1 -0
  118. package/dist/test/prompts/processors/jsonl.test.d.ts +2 -0
  119. package/dist/test/prompts/processors/jsonl.test.d.ts.map +1 -0
  120. package/dist/test/{prompts.processors.jsonl.test.js → prompts/processors/jsonl.test.js} +2 -2
  121. package/dist/test/prompts/processors/jsonl.test.js.map +1 -0
  122. package/dist/test/prompts/processors/markdown.test.d.ts +2 -0
  123. package/dist/test/prompts/processors/markdown.test.d.ts.map +1 -0
  124. package/dist/test/{prompts.processors.markdown.test.js → prompts/processors/markdown.test.js} +2 -2
  125. package/dist/test/prompts/processors/markdown.test.js.map +1 -0
  126. package/dist/test/prompts/processors/python.test.d.ts +2 -0
  127. package/dist/test/prompts/processors/python.test.d.ts.map +1 -0
  128. package/dist/test/{prompts.processors.python.test.js → prompts/processors/python.test.js} +4 -4
  129. package/dist/test/prompts/processors/python.test.js.map +1 -0
  130. package/dist/test/prompts/processors/python.utils.test.d.ts +2 -0
  131. package/dist/test/prompts/processors/python.utils.test.d.ts.map +1 -0
  132. package/dist/test/{prompts.processors.python.utils.test.js → prompts/processors/python.utils.test.js} +6 -6
  133. package/dist/test/prompts/processors/python.utils.test.js.map +1 -0
  134. package/dist/test/prompts/processors/string.test.d.ts +2 -0
  135. package/dist/test/prompts/processors/string.test.d.ts.map +1 -0
  136. package/dist/test/{prompts.processors.string.test.js → prompts/processors/string.test.js} +2 -2
  137. package/dist/test/prompts/processors/string.test.js.map +1 -0
  138. package/dist/test/prompts/processors/text.test.d.ts +2 -0
  139. package/dist/test/prompts/processors/text.test.d.ts.map +1 -0
  140. package/dist/test/{prompts.processors.text.test.js → prompts/processors/text.test.js} +3 -3
  141. package/dist/test/prompts/processors/text.test.js.map +1 -0
  142. package/dist/test/prompts/processors/yaml.test.d.ts +2 -0
  143. package/dist/test/prompts/processors/yaml.test.d.ts.map +1 -0
  144. package/dist/test/{prompts.processors.yaml.test.js → prompts/processors/yaml.test.js} +2 -2
  145. package/dist/test/prompts/processors/yaml.test.js.map +1 -0
  146. package/dist/test/prompts/utils.test.d.ts +2 -0
  147. package/dist/test/prompts/utils.test.d.ts.map +1 -0
  148. package/dist/test/{prompts.utils.test.js → prompts/utils.test.js} +2 -2
  149. package/dist/test/prompts/utils.test.js.map +1 -0
  150. package/dist/test/providers/anthropic.test.d.ts +2 -0
  151. package/dist/test/providers/anthropic.test.d.ts.map +1 -0
  152. package/dist/test/{providers.anthropic.test.js → providers/anthropic.test.js} +4 -4
  153. package/dist/test/providers/anthropic.test.js.map +1 -0
  154. package/dist/test/providers/azure.test.d.ts +2 -0
  155. package/dist/test/providers/azure.test.d.ts.map +1 -0
  156. package/dist/test/{providers.azure.test.js → providers/azure.test.js} +7 -7
  157. package/dist/test/providers/azure.test.js.map +1 -0
  158. package/dist/test/providers/bedrock.test.d.ts +2 -0
  159. package/dist/test/providers/bedrock.test.d.ts.map +1 -0
  160. package/dist/test/{providers.bedrock.test.js → providers/bedrock.test.js} +4 -4
  161. package/dist/test/providers/bedrock.test.js.map +1 -0
  162. package/dist/test/providers/groq.test.d.ts +2 -0
  163. package/dist/test/providers/groq.test.d.ts.map +1 -0
  164. package/dist/test/{providers.groq.test.js → providers/groq.test.js} +6 -6
  165. package/dist/test/providers/groq.test.js.map +1 -0
  166. package/dist/test/providers/http.test.d.ts +2 -0
  167. package/dist/test/providers/http.test.d.ts.map +1 -0
  168. package/dist/test/{providers.http.test.js → providers/http.test.js} +260 -30
  169. package/dist/test/providers/http.test.js.map +1 -0
  170. package/dist/test/providers/index.test.d.ts +2 -0
  171. package/dist/test/providers/index.test.d.ts.map +1 -0
  172. package/dist/test/{providers.test.js → providers/index.test.js} +28 -27
  173. package/dist/test/providers/index.test.js.map +1 -0
  174. package/dist/test/providers/llama.test.d.ts +2 -0
  175. package/dist/test/providers/llama.test.d.ts.map +1 -0
  176. package/dist/test/{providers.llama.test.js → providers/llama.test.js} +15 -10
  177. package/dist/test/providers/llama.test.js.map +1 -0
  178. package/dist/test/providers/mistral.test.d.ts +2 -0
  179. package/dist/test/providers/mistral.test.d.ts.map +1 -0
  180. package/dist/test/{providers.mistral.test.js → providers/mistral.test.js} +32 -16
  181. package/dist/test/providers/mistral.test.js.map +1 -0
  182. package/dist/test/providers/packageParser.test.d.ts +2 -0
  183. package/dist/test/providers/packageParser.test.d.ts.map +1 -0
  184. package/dist/test/{providers.packageParser.test.js → providers/packageParser.test.js} +5 -5
  185. package/dist/test/providers/packageParser.test.js.map +1 -0
  186. package/dist/test/providers/palm.test.d.ts +2 -0
  187. package/dist/test/providers/palm.test.d.ts.map +1 -0
  188. package/dist/test/{providers.palm.test.js → providers/palm.test.js} +7 -7
  189. package/dist/test/providers/palm.test.js.map +1 -0
  190. package/dist/test/providers/pythonCompletion.test.d.ts +2 -0
  191. package/dist/test/providers/pythonCompletion.test.d.ts.map +1 -0
  192. package/dist/test/{providers.pythonCompletion.test.js → providers/pythonCompletion.test.js} +8 -8
  193. package/dist/test/providers/pythonCompletion.test.js.map +1 -0
  194. package/dist/test/providers/scriptCompletion.test.d.ts +2 -0
  195. package/dist/test/providers/scriptCompletion.test.d.ts.map +1 -0
  196. package/dist/test/{providers.scriptCompletion.test.js → providers/scriptCompletion.test.js} +5 -5
  197. package/dist/test/providers/scriptCompletion.test.js.map +1 -0
  198. package/dist/test/providers/shared.test.d.ts +2 -0
  199. package/dist/test/providers/shared.test.d.ts.map +1 -0
  200. package/dist/test/{providers.shared.test.js → providers/shared.test.js} +4 -4
  201. package/dist/test/providers/shared.test.js.map +1 -0
  202. package/dist/test/providers/togetherai.test.d.ts +2 -0
  203. package/dist/test/providers/togetherai.test.d.ts.map +1 -0
  204. package/dist/test/{providers.togetherai.test.js → providers/togetherai.test.js} +4 -4
  205. package/dist/test/providers/togetherai.test.js.map +1 -0
  206. package/dist/test/providers/vertex.test.d.ts +2 -0
  207. package/dist/test/providers/vertex.test.d.ts.map +1 -0
  208. package/dist/test/{providers.vertex.test.js → providers/vertex.test.js} +9 -9
  209. package/dist/test/providers/vertex.test.js.map +1 -0
  210. package/dist/test/providers/watsonx.test.d.ts +2 -0
  211. package/dist/test/providers/watsonx.test.d.ts.map +1 -0
  212. package/dist/test/{providers.watsonx.test.js → providers/watsonx.test.js} +8 -8
  213. package/dist/test/providers/watsonx.test.js.map +1 -0
  214. package/dist/test/providers/xai.test.d.ts +2 -0
  215. package/dist/test/providers/xai.test.d.ts.map +1 -0
  216. package/dist/test/{providers.xai.test.js → providers/xai.test.js} +4 -4
  217. package/dist/test/providers/xai.test.js.map +1 -0
  218. package/dist/test/redteam/extraction/entities.test.js +8 -1
  219. package/dist/test/redteam/extraction/entities.test.js.map +1 -1
  220. package/dist/test/redteam/extraction/purpose.test.js +8 -1
  221. package/dist/test/redteam/extraction/purpose.test.js.map +1 -1
  222. package/dist/test/redteam/extraction/util.test.js +17 -2
  223. package/dist/test/redteam/extraction/util.test.js.map +1 -1
  224. package/dist/test/redteam/providers/iterativeTree.test.js +3 -18
  225. package/dist/test/redteam/providers/iterativeTree.test.js.map +1 -1
  226. package/dist/test/redteam/util.test.js +55 -0
  227. package/dist/test/redteam/util.test.js.map +1 -1
  228. package/dist/test/testCases.test.js +4 -0
  229. package/dist/test/testCases.test.js.map +1 -1
  230. package/dist/test/types.test.js +1 -12
  231. package/dist/test/types.test.js.map +1 -1
  232. package/dist/test/util/config/default.test.d.ts +2 -0
  233. package/dist/test/util/config/default.test.d.ts.map +1 -0
  234. package/dist/test/{util.config.default.test.js → util/config/default.test.js} +4 -4
  235. package/dist/test/util/config/default.test.js.map +1 -0
  236. package/dist/test/util/config/load.test.d.ts +2 -0
  237. package/dist/test/util/config/load.test.d.ts.map +1 -0
  238. package/dist/test/{util.config.load.test.js → util/config/load.test.js} +13 -13
  239. package/dist/test/util/config/load.test.js.map +1 -0
  240. package/dist/test/util/config/main.test.d.ts +2 -0
  241. package/dist/test/util/config/main.test.d.ts.map +1 -0
  242. package/dist/test/{util.config.main.test.js → util/config/main.test.js} +9 -5
  243. package/dist/test/util/config/main.test.js.map +1 -0
  244. package/dist/test/util/deleteAll.test.d.ts +2 -0
  245. package/dist/test/util/deleteAll.test.d.ts.map +1 -0
  246. package/dist/test/{util.deleteAll.test.js → util/deleteAll.test.js} +5 -5
  247. package/dist/test/util/deleteAll.test.js.map +1 -0
  248. package/dist/test/util/file.test.d.ts +2 -0
  249. package/dist/test/util/file.test.d.ts.map +1 -0
  250. package/dist/test/{util.file.test.js → util/file.test.js} +2 -2
  251. package/dist/test/util/file.test.js.map +1 -0
  252. package/dist/test/util/generation.test.d.ts +2 -0
  253. package/dist/test/util/generation.test.d.ts.map +1 -0
  254. package/dist/test/{util.generation.test.js → util/generation.test.js} +3 -3
  255. package/dist/test/{util.generation.test.js.map → util/generation.test.js.map} +1 -1
  256. package/dist/test/util/index.test.d.ts +2 -0
  257. package/dist/test/util/index.test.d.ts.map +1 -0
  258. package/dist/test/{util.test.js → util/index.test.js} +10 -10
  259. package/dist/test/util/index.test.js.map +1 -0
  260. package/dist/test/util/json.test.d.ts +2 -0
  261. package/dist/test/util/json.test.d.ts.map +1 -0
  262. package/dist/test/{util.json.test.js → util/json.test.js} +2 -2
  263. package/dist/test/util/json.test.js.map +1 -0
  264. package/dist/test/util/listPrevious.test.d.ts +2 -0
  265. package/dist/test/util/listPrevious.test.d.ts.map +1 -0
  266. package/dist/test/{util.listPrevious.test.js → util/listPrevious.test.js} +4 -4
  267. package/dist/test/util/listPrevious.test.js.map +1 -0
  268. package/dist/test/util/templates.test.d.ts +2 -0
  269. package/dist/test/util/templates.test.d.ts.map +1 -0
  270. package/dist/test/{util.templates.test.js → util/templates.test.js} +2 -2
  271. package/dist/test/util/templates.test.js.map +1 -0
  272. package/dist/test/util/transform.test.d.ts +2 -0
  273. package/dist/test/util/transform.test.d.ts.map +1 -0
  274. package/dist/test/{util.transform.test.js → util/transform.test.js} +6 -6
  275. package/dist/test/util/transform.test.js.map +1 -0
  276. package/dist/test/{utils.d.ts → util/utils.d.ts} +1 -1
  277. package/dist/test/util/utils.d.ts.map +1 -0
  278. package/dist/test/util/utils.js.map +1 -0
  279. package/dist/tsconfig.tsbuildinfo +1 -1
  280. package/package.json +9 -9
  281. package/dist/src/app/assets/index-D0jdLrEN.js +0 -769
  282. package/dist/test/assertions.test.d.ts +0 -2
  283. package/dist/test/assertions.test.d.ts.map +0 -1
  284. package/dist/test/assertions.test.js.map +0 -1
  285. package/dist/test/assertions.utils.test.d.ts +0 -2
  286. package/dist/test/assertions.utils.test.d.ts.map +0 -1
  287. package/dist/test/assertions.utils.test.js.map +0 -1
  288. package/dist/test/prompts.processors.javascript.test.d.ts +0 -2
  289. package/dist/test/prompts.processors.javascript.test.d.ts.map +0 -1
  290. package/dist/test/prompts.processors.javascript.test.js.map +0 -1
  291. package/dist/test/prompts.processors.json.test.d.ts +0 -2
  292. package/dist/test/prompts.processors.json.test.d.ts.map +0 -1
  293. package/dist/test/prompts.processors.json.test.js.map +0 -1
  294. package/dist/test/prompts.processors.jsonl.test.d.ts +0 -2
  295. package/dist/test/prompts.processors.jsonl.test.d.ts.map +0 -1
  296. package/dist/test/prompts.processors.jsonl.test.js.map +0 -1
  297. package/dist/test/prompts.processors.markdown.test.d.ts +0 -2
  298. package/dist/test/prompts.processors.markdown.test.d.ts.map +0 -1
  299. package/dist/test/prompts.processors.markdown.test.js.map +0 -1
  300. package/dist/test/prompts.processors.python.test.d.ts +0 -2
  301. package/dist/test/prompts.processors.python.test.d.ts.map +0 -1
  302. package/dist/test/prompts.processors.python.test.js.map +0 -1
  303. package/dist/test/prompts.processors.python.utils.test.d.ts +0 -2
  304. package/dist/test/prompts.processors.python.utils.test.d.ts.map +0 -1
  305. package/dist/test/prompts.processors.python.utils.test.js.map +0 -1
  306. package/dist/test/prompts.processors.string.test.d.ts +0 -2
  307. package/dist/test/prompts.processors.string.test.d.ts.map +0 -1
  308. package/dist/test/prompts.processors.string.test.js.map +0 -1
  309. package/dist/test/prompts.processors.text.test.d.ts +0 -2
  310. package/dist/test/prompts.processors.text.test.d.ts.map +0 -1
  311. package/dist/test/prompts.processors.text.test.js.map +0 -1
  312. package/dist/test/prompts.processors.yaml.test.d.ts +0 -2
  313. package/dist/test/prompts.processors.yaml.test.d.ts.map +0 -1
  314. package/dist/test/prompts.processors.yaml.test.js.map +0 -1
  315. package/dist/test/prompts.test.d.ts +0 -2
  316. package/dist/test/prompts.test.d.ts.map +0 -1
  317. package/dist/test/prompts.test.js.map +0 -1
  318. package/dist/test/prompts.utils.test.d.ts +0 -2
  319. package/dist/test/prompts.utils.test.d.ts.map +0 -1
  320. package/dist/test/prompts.utils.test.js.map +0 -1
  321. package/dist/test/providers.anthropic.test.d.ts +0 -2
  322. package/dist/test/providers.anthropic.test.d.ts.map +0 -1
  323. package/dist/test/providers.anthropic.test.js.map +0 -1
  324. package/dist/test/providers.azure.test.d.ts +0 -2
  325. package/dist/test/providers.azure.test.d.ts.map +0 -1
  326. package/dist/test/providers.azure.test.js.map +0 -1
  327. package/dist/test/providers.bedrock.test.d.ts +0 -2
  328. package/dist/test/providers.bedrock.test.d.ts.map +0 -1
  329. package/dist/test/providers.bedrock.test.js.map +0 -1
  330. package/dist/test/providers.groq.test.d.ts +0 -2
  331. package/dist/test/providers.groq.test.d.ts.map +0 -1
  332. package/dist/test/providers.groq.test.js.map +0 -1
  333. package/dist/test/providers.http.test.d.ts +0 -2
  334. package/dist/test/providers.http.test.d.ts.map +0 -1
  335. package/dist/test/providers.http.test.js.map +0 -1
  336. package/dist/test/providers.llama.test.d.ts +0 -2
  337. package/dist/test/providers.llama.test.d.ts.map +0 -1
  338. package/dist/test/providers.llama.test.js.map +0 -1
  339. package/dist/test/providers.mistral.test.d.ts +0 -2
  340. package/dist/test/providers.mistral.test.d.ts.map +0 -1
  341. package/dist/test/providers.mistral.test.js.map +0 -1
  342. package/dist/test/providers.packageParser.test.d.ts +0 -2
  343. package/dist/test/providers.packageParser.test.d.ts.map +0 -1
  344. package/dist/test/providers.packageParser.test.js.map +0 -1
  345. package/dist/test/providers.palm.test.d.ts +0 -2
  346. package/dist/test/providers.palm.test.d.ts.map +0 -1
  347. package/dist/test/providers.palm.test.js.map +0 -1
  348. package/dist/test/providers.pythonCompletion.test.d.ts +0 -2
  349. package/dist/test/providers.pythonCompletion.test.d.ts.map +0 -1
  350. package/dist/test/providers.pythonCompletion.test.js.map +0 -1
  351. package/dist/test/providers.scriptCompletion.test.d.ts +0 -2
  352. package/dist/test/providers.scriptCompletion.test.d.ts.map +0 -1
  353. package/dist/test/providers.scriptCompletion.test.js.map +0 -1
  354. package/dist/test/providers.shared.test.d.ts +0 -2
  355. package/dist/test/providers.shared.test.d.ts.map +0 -1
  356. package/dist/test/providers.shared.test.js.map +0 -1
  357. package/dist/test/providers.test.d.ts +0 -2
  358. package/dist/test/providers.test.d.ts.map +0 -1
  359. package/dist/test/providers.test.js.map +0 -1
  360. package/dist/test/providers.togetherai.test.d.ts +0 -2
  361. package/dist/test/providers.togetherai.test.d.ts.map +0 -1
  362. package/dist/test/providers.togetherai.test.js.map +0 -1
  363. package/dist/test/providers.vertex.test.d.ts +0 -2
  364. package/dist/test/providers.vertex.test.d.ts.map +0 -1
  365. package/dist/test/providers.vertex.test.js.map +0 -1
  366. package/dist/test/providers.watsonx.test.d.ts +0 -2
  367. package/dist/test/providers.watsonx.test.d.ts.map +0 -1
  368. package/dist/test/providers.watsonx.test.js.map +0 -1
  369. package/dist/test/providers.xai.test.d.ts +0 -2
  370. package/dist/test/providers.xai.test.d.ts.map +0 -1
  371. package/dist/test/providers.xai.test.js.map +0 -1
  372. package/dist/test/util.config.default.test.d.ts +0 -2
  373. package/dist/test/util.config.default.test.d.ts.map +0 -1
  374. package/dist/test/util.config.default.test.js.map +0 -1
  375. package/dist/test/util.config.load.test.d.ts +0 -2
  376. package/dist/test/util.config.load.test.d.ts.map +0 -1
  377. package/dist/test/util.config.load.test.js.map +0 -1
  378. package/dist/test/util.config.main.test.d.ts +0 -2
  379. package/dist/test/util.config.main.test.d.ts.map +0 -1
  380. package/dist/test/util.config.main.test.js.map +0 -1
  381. package/dist/test/util.deleteAll.test.d.ts +0 -2
  382. package/dist/test/util.deleteAll.test.d.ts.map +0 -1
  383. package/dist/test/util.deleteAll.test.js.map +0 -1
  384. package/dist/test/util.file.test.d.ts +0 -2
  385. package/dist/test/util.file.test.d.ts.map +0 -1
  386. package/dist/test/util.file.test.js.map +0 -1
  387. package/dist/test/util.generation.test.d.ts +0 -2
  388. package/dist/test/util.generation.test.d.ts.map +0 -1
  389. package/dist/test/util.json.test.d.ts +0 -2
  390. package/dist/test/util.json.test.d.ts.map +0 -1
  391. package/dist/test/util.json.test.js.map +0 -1
  392. package/dist/test/util.listPrevious.test.d.ts +0 -2
  393. package/dist/test/util.listPrevious.test.d.ts.map +0 -1
  394. package/dist/test/util.listPrevious.test.js.map +0 -1
  395. package/dist/test/util.templates.test.d.ts +0 -2
  396. package/dist/test/util.templates.test.d.ts.map +0 -1
  397. package/dist/test/util.templates.test.js.map +0 -1
  398. package/dist/test/util.test.d.ts +0 -2
  399. package/dist/test/util.test.d.ts.map +0 -1
  400. package/dist/test/util.test.js.map +0 -1
  401. package/dist/test/util.transform.test.d.ts +0 -2
  402. package/dist/test/util.transform.test.d.ts.map +0 -1
  403. package/dist/test/util.transform.test.js.map +0 -1
  404. package/dist/test/utils.d.ts.map +0 -1
  405. package/dist/test/utils.js.map +0 -1
  406. /package/dist/src/app/assets/{index-CKeaKcHn.css → index-DPkfMrKn.css} +0 -0
  407. /package/dist/test/{utils.js → util/utils.js} +0 -0
@@ -18,38 +18,38 @@ const promptInjections_1 = require("./promptInjections");
18
18
  const rot13_1 = require("./rot13");
19
19
  exports.Strategies = [
20
20
  {
21
- key: 'jailbreak',
21
+ key: 'base64',
22
22
  action: async (testCases, injectVar) => {
23
- logger_1.default.debug('Adding experimental jailbreaks to all test cases');
24
- const newTestCases = (0, iterative_1.addIterativeJailbreaks)(testCases, injectVar, 'iterative');
25
- logger_1.default.debug(`Added ${newTestCases.length} experimental jailbreak test cases`);
23
+ logger_1.default.debug('Adding Base64 encoding to all test cases');
24
+ const newTestCases = (0, base64_1.addBase64Encoding)(testCases, injectVar);
25
+ logger_1.default.debug(`Added ${newTestCases.length} Base64 encoded test cases`);
26
26
  return newTestCases;
27
27
  },
28
28
  },
29
29
  {
30
- key: 'prompt-injection',
31
- action: async (testCases, injectVar, config) => {
32
- logger_1.default.debug('Adding prompt injections to all test cases');
33
- const newTestCases = await (0, promptInjections_1.addInjections)(testCases, injectVar, config);
34
- logger_1.default.debug(`Added ${newTestCases.length} prompt injection test cases`);
30
+ key: 'crescendo',
31
+ action: async (testCases, injectVar) => {
32
+ logger_1.default.debug('Adding Crescendo to all test cases');
33
+ const newTestCases = (0, crescendo_1.addCrescendo)(testCases, injectVar);
34
+ logger_1.default.debug(`Added ${newTestCases.length} Crescendo test cases`);
35
35
  return newTestCases;
36
36
  },
37
37
  },
38
38
  {
39
- key: 'jailbreak:tree',
39
+ key: 'jailbreak',
40
40
  action: async (testCases, injectVar) => {
41
- logger_1.default.debug('Adding experimental tree jailbreaks to all test cases');
42
- const newTestCases = (0, iterative_1.addIterativeJailbreaks)(testCases, injectVar, 'iterative:tree');
43
- logger_1.default.debug(`Added ${newTestCases.length} experimental tree jailbreak test cases`);
41
+ logger_1.default.debug('Adding experimental jailbreaks to all test cases');
42
+ const newTestCases = (0, iterative_1.addIterativeJailbreaks)(testCases, injectVar, 'iterative');
43
+ logger_1.default.debug(`Added ${newTestCases.length} experimental jailbreak test cases`);
44
44
  return newTestCases;
45
45
  },
46
46
  },
47
47
  {
48
- key: 'rot13',
48
+ key: 'jailbreak:tree',
49
49
  action: async (testCases, injectVar) => {
50
- logger_1.default.debug('Adding ROT13 encoding to all test cases');
51
- const newTestCases = (0, rot13_1.addRot13)(testCases, injectVar);
52
- logger_1.default.debug(`Added ${newTestCases.length} ROT13 encoded test cases`);
50
+ logger_1.default.debug('Adding experimental tree jailbreaks to all test cases');
51
+ const newTestCases = (0, iterative_1.addIterativeJailbreaks)(testCases, injectVar, 'iterative:tree');
52
+ logger_1.default.debug(`Added ${newTestCases.length} experimental tree jailbreak test cases`);
53
53
  return newTestCases;
54
54
  },
55
55
  },
@@ -63,20 +63,11 @@ exports.Strategies = [
63
63
  },
64
64
  },
65
65
  {
66
- key: 'base64',
67
- action: async (testCases, injectVar) => {
68
- logger_1.default.debug('Adding Base64 encoding to all test cases');
69
- const newTestCases = (0, base64_1.addBase64Encoding)(testCases, injectVar);
70
- logger_1.default.debug(`Added ${newTestCases.length} Base64 encoded test cases`);
71
- return newTestCases;
72
- },
73
- },
74
- {
75
- key: 'crescendo',
76
- action: async (testCases, injectVar) => {
77
- logger_1.default.debug('Adding Crescendo to all test cases');
78
- const newTestCases = (0, crescendo_1.addCrescendo)(testCases, injectVar);
79
- logger_1.default.debug(`Added ${newTestCases.length} Crescendo test cases`);
66
+ key: 'math-prompt',
67
+ action: async (testCases, injectVar, config) => {
68
+ logger_1.default.debug('Adding MathPrompt encoding to all test cases');
69
+ const newTestCases = await (0, mathPrompt_1.addMathPrompt)(testCases, injectVar, config);
70
+ logger_1.default.debug(`Added ${newTestCases.length} MathPrompt encoded test cases`);
80
71
  return newTestCases;
81
72
  },
82
73
  },
@@ -90,11 +81,20 @@ exports.Strategies = [
90
81
  },
91
82
  },
92
83
  {
93
- key: 'math-prompt',
84
+ key: 'prompt-injection',
94
85
  action: async (testCases, injectVar, config) => {
95
- logger_1.default.debug('Adding MathPrompt encoding to all test cases');
96
- const newTestCases = await (0, mathPrompt_1.addMathPrompt)(testCases, injectVar, config);
97
- logger_1.default.debug(`Added ${newTestCases.length} MathPrompt encoded test cases`);
86
+ logger_1.default.debug('Adding prompt injections to all test cases');
87
+ const newTestCases = await (0, promptInjections_1.addInjections)(testCases, injectVar, config);
88
+ logger_1.default.debug(`Added ${newTestCases.length} prompt injection test cases`);
89
+ return newTestCases;
90
+ },
91
+ },
92
+ {
93
+ key: 'rot13',
94
+ action: async (testCases, injectVar) => {
95
+ logger_1.default.debug('Adding ROT13 encoding to all test cases');
96
+ const newTestCases = (0, rot13_1.addRot13)(testCases, injectVar);
97
+ logger_1.default.debug(`Added ${newTestCases.length} ROT13 encoded test cases`);
98
98
  return newTestCases;
99
99
  },
100
100
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/redteam/strategies/index.ts"],"names":[],"mappings":";;;;;;AA0GA,gDAcC;AAxHD,kDAA0B;AAC1B,oDAA4B;AAC5B,0DAAkC;AAElC,qCAA6C;AAC7C,2CAA2C;AAC3C,2CAAqD;AACrD,2CAA2C;AAC3C,6CAA6C;AAC7C,iDAAiD;AACjD,yDAAmD;AACnD,mCAAmC;AAWtB,QAAA,UAAU,GAAe;IACpC;QACE,GAAG,EAAE,WAAW;QAChB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;YACrC,gBAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACjE,MAAM,YAAY,GAAG,IAAA,kCAAsB,EAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC/E,gBAAM,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,MAAM,oCAAoC,CAAC,CAAC;YAC/E,OAAO,YAAY,CAAC;QACtB,CAAC;KACF;IACD;QACE,GAAG,EAAE,kBAAkB;QACvB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;YAC7C,gBAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,MAAM,IAAA,gCAAa,EAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACvE,gBAAM,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,MAAM,8BAA8B,CAAC,CAAC;YACzE,OAAO,YAAY,CAAC;QACtB,CAAC;KACF;IACD;QACE,GAAG,EAAE,gBAAgB;QACrB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;YACrC,gBAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACtE,MAAM,YAAY,GAAG,IAAA,kCAAsB,EAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACpF,gBAAM,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,MAAM,yCAAyC,CAAC,CAAC;YACpF,OAAO,YAAY,CAAC;QACtB,CAAC;KACF;IACD;QACE,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;YACrC,gBAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,IAAA,gBAAQ,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACpD,gBAAM,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,MAAM,2BAA2B,CAAC,CAAC;YACtE,OAAO,YAAY,CAAC;QACtB,CAAC;KACF;IACD;QACE,GAAG,EAAE,WAAW;QAChB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;YACrC,gBAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,IAAA,wBAAY,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACxD,gBAAM,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,MAAM,+BAA+B,CAAC,CAAC;YAC1E,OAAO,YAAY,CAAC;QACtB,CAAC;KACF;IACD;QACE,GAAG,EAAE,QAAQ;QACb,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;YACrC,gBAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACzD,MAAM,YAAY,GAAG,IAAA,0BAAiB,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7D,gBAAM,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,MAAM,4BAA4B,CAAC,CAAC;YACvE,OAAO,YAAY,CAAC;QACtB,CAAC;KACF;IACD;QACE,GAAG,EAAE,WAAW;QAChB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;YACrC,gBAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACnD,MAAM,YAAY,GAAG,IAAA,wBAAY,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACxD,gBAAM,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,MAAM,uBAAuB,CAAC,CAAC;YAClE,OAAO,YAAY,CAAC;QACtB,CAAC;KACF;IACD;QACE,GAAG,EAAE,cAAc;QACnB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;YAC7C,gBAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAe,EAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACzE,gBAAM,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,MAAM,0BAA0B,CAAC,CAAC;YACrE,OAAO,YAAY,CAAC;QACtB,CAAC;KACF;IACD;QACE,GAAG,EAAE,aAAa;QAClB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;YAC7C,gBAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC7D,MAAM,YAAY,GAAG,MAAM,IAAA,0BAAa,EAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACvE,gBAAM,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,MAAM,gCAAgC,CAAC,CAAC;YAC3E,OAAO,YAAY,CAAC;QACtB,CAAC;KACF;CACF,CAAC;AAEF,SAAgB,kBAAkB,CAAC,UAAmC;IACpE,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CACzC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,kBAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAClE,CAAC;IACF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,qBAAqB,GAAG,kBAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,gBAAM,CAAC,KAAK,CACV,IAAA,gBAAM,EAAA,wBAAwB,uBAAuB;;UAEjD,eAAK,CAAC,KAAK,CAAC,yBAAyB,qBAAqB,EAAE,CAAC,EAAE,CACpE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/redteam/strategies/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export declare function neverGenerateRemote(): boolean;
1
2
  export declare function shouldGenerateRemote(): boolean;
2
3
  export declare function isBasicRefusal(response: string): boolean;
3
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/redteam/util.ts"],"names":[],"mappings":"AAwBA,wBAAgB,oBAAoB,IAAI,OAAO,CAO9C;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMxD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAKvD"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/redteam/util.ts"],"names":[],"mappings":"AAwBA,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAG9C;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMxD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAKvD"}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.neverGenerateRemote = neverGenerateRemote;
6
7
  exports.shouldGenerateRemote = shouldGenerateRemote;
7
8
  exports.isBasicRefusal = isBasicRefusal;
8
9
  exports.removePrefix = removePrefix;
@@ -27,11 +28,12 @@ const REFUSAL_SUBSTRINGS = [
27
28
  'If you have any other non-malicious requests',
28
29
  "I'm not able to provide",
29
30
  ];
31
+ function neverGenerateRemote() {
32
+ return (0, envars_1.getEnvBool)('PROMPTFOO_DISABLE_REDTEAM_REMOTE_GENERATION');
33
+ }
30
34
  function shouldGenerateRemote() {
31
35
  // Generate remotely when the user has not disabled it and does not have an OpenAI key.
32
- return ((!(0, envars_1.getEnvBool)('PROMPTFOO_DISABLE_REDTEAM_REMOTE_GENERATION') &&
33
- !(0, envars_1.getEnvString)('OPENAI_API_KEY')) ||
34
- (cliState_1.default.remote ?? false));
36
+ return (!neverGenerateRemote() && !(0, envars_1.getEnvString)('OPENAI_API_KEY')) || (cliState_1.default.remote ?? false);
35
37
  }
36
38
  function isBasicRefusal(response) {
37
39
  const lowerResponse = response.trim().toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/redteam/util.ts"],"names":[],"mappings":";;;;;AAwBA,oDAOC;AAED,wCAMC;AASD,oCAKC;AArDD,2DAAmC;AACnC,sCAAqD;AAErD,MAAM,gBAAgB,GAAG;IACvB,OAAO;IACP,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;IAClB,aAAa;IACb,gBAAgB;IAChB,eAAe;CAChB,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,qBAAqB;IACrB,iBAAiB;IACjB,0BAA0B;IAC1B,8CAA8C;IAC9C,yBAAyB;CAC1B,CAAC;AAEF,SAAgB,oBAAoB;IAClC,uFAAuF;IACvF,OAAO,CACL,CAAC,CAAC,IAAA,mBAAU,EAAC,6CAA6C,CAAC;QACzD,CAAC,IAAA,qBAAY,EAAC,gBAAgB,CAAC,CAAC;QAClC,CAAC,kBAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAAC,QAAgB;IAC7C,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpD,OAAO,CACL,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnE,kBAAkB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,GAAW,EAAE,MAAc;IACtD,4FAA4F;IAC5F,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC9C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/redteam/util.ts"],"names":[],"mappings":";;;;;AAwBA,kDAEC;AAED,oDAGC;AAED,wCAMC;AASD,oCAKC;AArDD,2DAAmC;AACnC,sCAAqD;AAErD,MAAM,gBAAgB,GAAG;IACvB,OAAO;IACP,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;IAClB,aAAa;IACb,gBAAgB;IAChB,eAAe;CAChB,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,qBAAqB;IACrB,iBAAiB;IACjB,0BAA0B;IAC1B,8CAA8C;IAC9C,yBAAyB;CAC1B,CAAC;AAEF,SAAgB,mBAAmB;IACjC,OAAO,IAAA,mBAAU,EAAC,6CAA6C,CAAC,CAAC;AACnE,CAAC;AAED,SAAgB,oBAAoB;IAClC,uFAAuF;IACvF,OAAO,CAAC,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAA,qBAAY,EAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,kBAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;AACnG,CAAC;AAED,SAAgB,cAAc,CAAC,QAAgB;IAC7C,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpD,OAAO,CACL,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnE,kBAAkB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,GAAW,EAAE,MAAc;IACtD,4FAA4F;IAC5F,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC9C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -57,4 +57,19 @@ exports.userRouter.post('/email', async (req, res) => {
57
57
  }
58
58
  }
59
59
  });
60
+ exports.userRouter.post('/consent', async (req, res) => {
61
+ const { email, metadata } = req.body;
62
+ if (!email) {
63
+ res.status(400).json({ error: 'Email is required' });
64
+ return;
65
+ }
66
+ try {
67
+ await telemetry_1.default.saveConsent(email, metadata);
68
+ res.status(200).json({ success: true });
69
+ }
70
+ catch (error) {
71
+ logger_1.default.error(`Error saving consent: ${error}`);
72
+ res.status(500).json({ error: 'Failed to save consent' });
73
+ }
74
+ });
60
75
  //# sourceMappingURL=user.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/server/routes/user.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAiC;AAEjC,6BAAwB;AACxB,+DAAiD;AACjD,yCAA0C;AAC1C,0DAAyE;AACzE,0DAAkC;AAClC,gEAAwC;AACxC,8CAA2C;AAE9B,QAAA,UAAU,GAAG,IAAA,gBAAM,GAAE,CAAC;AAEnC,kBAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;IAC5E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,uBAAY,GAAE,CAAC;QAC7B,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,IAAI,CAAC,uBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;YAChC,gBAAM,CAAC,KAAK,CAAC,wBAAwB,IAAA,gCAAS,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,gBAAM,CAAC,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,kBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;IAC7E,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,uBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjE,IAAA,uBAAY,EAAC,KAAK,CAAC,CAAC;QACpB,GAAG,CAAC,IAAI,CACN,uBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YACpC,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,eAAe;SACzB,CAAC,CACH,CAAC;QACF,MAAM,mBAAS,CAAC,aAAa,CAAC,WAAW,EAAE;YACzC,KAAK,EAAE,WAAW;YAClB,KAAK;YACL,UAAU,EAAE,IAAA,mBAAU,EAAC,uBAAuB,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gBAAM,CAAC,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;QAC9C,IAAI,KAAK,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;YAChC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAA,gCAAS,EAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/server/routes/user.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export declare class Telemetry {
29
29
  /**
30
30
  * This is a separate endpoint to save consent used only for redteam data synthesis for "harmful" plugins.
31
31
  */
32
- saveConsent(email: string): Promise<void>;
32
+ saveConsent(email: string, metadata?: Record<string, string>): Promise<void>;
33
33
  }
34
34
  declare const telemetry: Telemetry;
35
35
  export default telemetry;
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAY/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AAC1D,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;AAO3D,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,yBAAyB,CAAS;IAE1C,IAAI,QAAQ,YAEX;IAED,OAAO,CAAC,uBAAuB;IAW/B,MAAM,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAmBzE,OAAO,CAAC,cAAc,CAA0B;IAEhD,UAAU,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAYvE,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzF,iBAAiB,CACrB,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,IAAI,CAAC;IASV,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B3B;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBhD;AAED,QAAA,MAAM,SAAS,WAAkB,CAAC;AAClC,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAY/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AAC1D,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;AAO3D,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,yBAAyB,CAAS;IAE1C,IAAI,QAAQ,YAEX;IAED,OAAO,CAAC,uBAAuB;IAW/B,MAAM,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAmBzE,OAAO,CAAC,cAAc,CAA0B;IAEhD,UAAU,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAYvE,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzF,iBAAiB,CACrB,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,IAAI,CAAC;IASV,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B3B;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBnF;AAED,QAAA,MAAM,SAAS,WAAkB,CAAC;AAClC,eAAe,SAAS,CAAC"}
@@ -113,14 +113,14 @@ class Telemetry {
113
113
  /**
114
114
  * This is a separate endpoint to save consent used only for redteam data synthesis for "harmful" plugins.
115
115
  */
116
- async saveConsent(email) {
116
+ async saveConsent(email, metadata) {
117
117
  try {
118
118
  const response = await (0, fetch_1.fetchWithTimeout)(CONSENT_ENDPOINT, {
119
119
  method: 'POST',
120
120
  headers: {
121
121
  'Content-Type': 'application/json',
122
122
  },
123
- body: JSON.stringify({ email }),
123
+ body: JSON.stringify({ email, metadata }),
124
124
  }, TELEMETRY_TIMEOUT_MS);
125
125
  if (!response.ok) {
126
126
  throw new Error(`Failed to save consent: ${response.statusText}`);
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -110,7 +110,7 @@ async function readStandaloneTestsFile(varsPath, basePath = '') {
110
110
  }
111
111
  return rows.map((row, idx) => {
112
112
  const test = (0, csv_1.testCaseFromCsvRow)(row);
113
- test.description = `Row #${idx + 1}`;
113
+ test.description || (test.description = `Row #${idx + 1}`);
114
114
  return test;
115
115
  });
116
116
  }
@@ -221,7 +221,7 @@ async function readTests(tests, basePath = '') {
221
221
  }
222
222
  }
223
223
  }
224
- else {
224
+ else if (tests !== undefined && tests !== null) {
225
225
  logger_1.default.warn((0, dedent_1.default) `
226
226
  Warning: Unsupported 'tests' format in promptfooconfig.yaml.
227
227
  Expected: string, string[], or TestCase[], but received: ${typeof tests}
@@ -1 +1 @@
1
- {"version":3,"file":"testCases.js","sourceRoot":"","sources":["../../src/testCases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testCases.js","sourceRoot":"","sources":["../../src/testCases.ts"],"names":[],"mappings":"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"}