promptfoo 0.87.1 → 0.89.0

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 (329) hide show
  1. package/README.md +3 -3
  2. package/dist/package.json +29 -29
  3. package/dist/src/__mocks__/esm.d.ts.map +1 -1
  4. package/dist/src/__mocks__/esm.js +1 -0
  5. package/dist/src/__mocks__/esm.js.map +1 -1
  6. package/dist/src/app/assets/index-DQ5S2Ye6.js +782 -0
  7. package/dist/src/app/assets/index-Dl-FhnW1.css +1 -0
  8. package/dist/src/app/assets/index.es-DR-0y8vm.js +18 -0
  9. package/dist/src/app/assets/purify.es-DGIRlouP.js +3 -0
  10. package/dist/src/app/assets/sync-D_jwcTYY.js +4 -0
  11. package/dist/src/app/favicon.png +0 -0
  12. package/dist/src/app/index.html +16 -0
  13. package/dist/src/assertions/AssertionsResult.d.ts.map +1 -1
  14. package/dist/src/assertions/AssertionsResult.js +7 -0
  15. package/dist/src/assertions/AssertionsResult.js.map +1 -1
  16. package/dist/src/assertions.d.ts.map +1 -1
  17. package/dist/src/assertions.js +19 -4
  18. package/dist/src/assertions.js.map +1 -1
  19. package/dist/src/cache.js +1 -1
  20. package/dist/src/cache.js.map +1 -1
  21. package/dist/src/commands/cache.js +2 -2
  22. package/dist/src/commands/cache.js.map +1 -1
  23. package/dist/src/commands/delete.js +2 -2
  24. package/dist/src/commands/delete.js.map +1 -1
  25. package/dist/src/commands/eval.d.ts +1 -1
  26. package/dist/src/commands/eval.d.ts.map +1 -1
  27. package/dist/src/commands/eval.js +17 -3
  28. package/dist/src/commands/eval.js.map +1 -1
  29. package/dist/src/commands/generate/dataset.js +1 -1
  30. package/dist/src/commands/generate/dataset.js.map +1 -1
  31. package/dist/src/commands/list.js +3 -3
  32. package/dist/src/commands/list.js.map +1 -1
  33. package/dist/src/commands/share.js +2 -2
  34. package/dist/src/commands/share.js.map +1 -1
  35. package/dist/src/commands/show.js +1 -1
  36. package/dist/src/commands/show.js.map +1 -1
  37. package/dist/src/commands/view.js +2 -2
  38. package/dist/src/commands/view.js.map +1 -1
  39. package/dist/src/config.d.ts.map +1 -1
  40. package/dist/src/config.js +47 -57
  41. package/dist/src/config.js.map +1 -1
  42. package/dist/src/csv.d.ts.map +1 -1
  43. package/dist/src/csv.js +40 -15
  44. package/dist/src/csv.js.map +1 -1
  45. package/dist/src/database/tables.d.ts +18 -18
  46. package/dist/src/envars.d.ts +1 -0
  47. package/dist/src/envars.d.ts.map +1 -1
  48. package/dist/src/envars.js.map +1 -1
  49. package/dist/src/evaluator.d.ts.map +1 -1
  50. package/dist/src/evaluator.js +32 -0
  51. package/dist/src/evaluator.js.map +1 -1
  52. package/dist/src/evaluatorHelpers.js +1 -1
  53. package/dist/src/evaluatorHelpers.js.map +1 -1
  54. package/dist/src/globalConfig.js +1 -1
  55. package/dist/src/globalConfig.js.map +1 -1
  56. package/dist/src/golang/wrapper.go +53 -0
  57. package/dist/src/main.d.ts.map +1 -1
  58. package/dist/src/main.js +5 -11
  59. package/dist/src/main.js.map +1 -1
  60. package/dist/src/onboarding.d.ts +1 -1
  61. package/dist/src/onboarding.d.ts.map +1 -1
  62. package/dist/src/onboarding.js +4 -2
  63. package/dist/src/onboarding.js.map +1 -1
  64. package/dist/src/providers/ai21.d.ts.map +1 -1
  65. package/dist/src/providers/ai21.js +3 -12
  66. package/dist/src/providers/ai21.js.map +1 -1
  67. package/dist/src/providers/anthropic.d.ts +3 -3
  68. package/dist/src/providers/anthropic.d.ts.map +1 -1
  69. package/dist/src/providers/anthropic.js +44 -34
  70. package/dist/src/providers/anthropic.js.map +1 -1
  71. package/dist/src/providers/azureopenai.d.ts +3 -2
  72. package/dist/src/providers/azureopenai.d.ts.map +1 -1
  73. package/dist/src/providers/azureopenai.js +129 -3
  74. package/dist/src/providers/azureopenai.js.map +1 -1
  75. package/dist/src/providers/bedrock.js +2 -2
  76. package/dist/src/providers/bedrock.js.map +1 -1
  77. package/dist/src/providers/cloudflare-ai.d.ts +2 -2
  78. package/dist/src/providers/cloudflare-ai.d.ts.map +1 -1
  79. package/dist/src/providers/cloudflare-ai.js.map +1 -1
  80. package/dist/src/providers/cohere.js +1 -1
  81. package/dist/src/providers/cohere.js.map +1 -1
  82. package/dist/src/providers/golangCompletion.d.ts +19 -0
  83. package/dist/src/providers/golangCompletion.d.ts.map +1 -0
  84. package/dist/src/providers/golangCompletion.js +105 -0
  85. package/dist/src/providers/golangCompletion.js.map +1 -0
  86. package/dist/src/providers/http.js +1 -1
  87. package/dist/src/providers/http.js.map +1 -1
  88. package/dist/src/providers/mistral.d.ts.map +1 -1
  89. package/dist/src/providers/mistral.js +8 -18
  90. package/dist/src/providers/mistral.js.map +1 -1
  91. package/dist/src/providers/openai.d.ts +13 -0
  92. package/dist/src/providers/openai.d.ts.map +1 -1
  93. package/dist/src/providers/openai.js +28 -24
  94. package/dist/src/providers/openai.js.map +1 -1
  95. package/dist/src/providers/openaiUtil.d.ts.map +1 -1
  96. package/dist/src/providers/openaiUtil.js +1 -1
  97. package/dist/src/providers/openaiUtil.js.map +1 -1
  98. package/dist/src/providers/shared.d.ts +41 -0
  99. package/dist/src/providers/shared.d.ts.map +1 -1
  100. package/dist/src/providers/shared.js +44 -0
  101. package/dist/src/providers/shared.js.map +1 -1
  102. package/dist/src/providers/vertexUtil.js +2 -2
  103. package/dist/src/providers/vertexUtil.js.map +1 -1
  104. package/dist/src/providers.d.ts.map +1 -1
  105. package/dist/src/providers.js +5 -0
  106. package/dist/src/providers.js.map +1 -1
  107. package/dist/src/python/execAsync.d.ts +10 -0
  108. package/dist/src/python/execAsync.d.ts.map +1 -0
  109. package/dist/src/python/execAsync.js +17 -0
  110. package/dist/src/python/execAsync.js.map +1 -0
  111. package/dist/src/python/pythonUtils.d.ts +29 -0
  112. package/dist/src/python/pythonUtils.d.ts.map +1 -1
  113. package/dist/src/python/pythonUtils.js +85 -6
  114. package/dist/src/python/pythonUtils.js.map +1 -1
  115. package/dist/src/python/wrapper.d.ts.map +1 -1
  116. package/dist/src/python/wrapper.js +8 -5
  117. package/dist/src/python/wrapper.js.map +1 -1
  118. package/dist/src/{commands/redteam → redteam/commands}/generate.d.ts +1 -1
  119. package/dist/src/redteam/commands/generate.d.ts.map +1 -0
  120. package/dist/src/{commands/redteam → redteam/commands}/generate.js +14 -14
  121. package/dist/src/redteam/commands/generate.js.map +1 -0
  122. package/dist/src/redteam/commands/init.d.ts.map +1 -0
  123. package/dist/src/{commands/redteam → redteam/commands}/init.js +23 -15
  124. package/dist/src/redteam/commands/init.js.map +1 -0
  125. package/dist/src/{commands/redteam → redteam/commands}/plugins.d.ts.map +1 -1
  126. package/dist/src/{commands/redteam → redteam/commands}/plugins.js +1 -1
  127. package/dist/src/{commands/redteam → redteam/commands}/plugins.js.map +1 -1
  128. package/dist/src/redteam/constants.d.ts.map +1 -1
  129. package/dist/src/redteam/constants.js +16 -22
  130. package/dist/src/redteam/constants.js.map +1 -1
  131. package/dist/src/redteam/index.d.ts +1 -1
  132. package/dist/src/redteam/index.d.ts.map +1 -1
  133. package/dist/src/redteam/index.js.map +1 -1
  134. package/dist/src/redteam/providers/crescendo/index.js +2 -2
  135. package/dist/src/redteam/providers/crescendo/index.js.map +1 -1
  136. package/dist/src/redteam/providers/prompts.d.ts.map +1 -1
  137. package/dist/src/redteam/providers/prompts.js +23 -0
  138. package/dist/src/redteam/providers/prompts.js.map +1 -1
  139. package/dist/src/{types/redteam.d.ts → redteam/types.d.ts} +1 -1
  140. package/dist/src/redteam/types.d.ts.map +1 -0
  141. package/dist/src/{types/redteam.js → redteam/types.js} +1 -1
  142. package/dist/src/redteam/types.js.map +1 -0
  143. package/dist/src/server/server.d.ts.map +1 -1
  144. package/dist/src/server/server.js +10 -3
  145. package/dist/src/server/server.js.map +1 -1
  146. package/dist/src/share.js +1 -1
  147. package/dist/src/share.js.map +1 -1
  148. package/dist/src/suggestions.js +1 -1
  149. package/dist/src/suggestions.js.map +1 -1
  150. package/dist/src/telemetry.d.ts.map +1 -1
  151. package/dist/src/telemetry.js +3 -1
  152. package/dist/src/telemetry.js.map +1 -1
  153. package/dist/src/testCases.d.ts.map +1 -1
  154. package/dist/src/testCases.js +4 -3
  155. package/dist/src/testCases.js.map +1 -1
  156. package/dist/src/types/index.d.ts +413 -231
  157. package/dist/src/types/index.d.ts.map +1 -1
  158. package/dist/src/types/index.js +12 -2
  159. package/dist/src/types/index.js.map +1 -1
  160. package/dist/src/util/index.d.ts +19 -5
  161. package/dist/src/util/index.d.ts.map +1 -1
  162. package/dist/src/util/index.js +5 -3
  163. package/dist/src/util/index.js.map +1 -1
  164. package/dist/src/util/json.js +2 -2
  165. package/dist/src/util/json.js.map +1 -1
  166. package/dist/src/validators/prompts.d.ts +2 -2
  167. package/dist/src/validators/providers.d.ts +166 -20
  168. package/dist/src/validators/providers.d.ts.map +1 -1
  169. package/dist/src/validators/providers.js +5 -5
  170. package/dist/src/validators/providers.js.map +1 -1
  171. package/dist/src/validators/redteam.d.ts +15 -15
  172. package/dist/test/assertions.test.js +49 -0
  173. package/dist/test/assertions.test.js.map +1 -1
  174. package/dist/test/config.test.js +192 -48
  175. package/dist/test/config.test.js.map +1 -1
  176. package/dist/test/csv.test.js +84 -0
  177. package/dist/test/csv.test.js.map +1 -1
  178. package/dist/test/envars.test.js +103 -0
  179. package/dist/test/envars.test.js.map +1 -1
  180. package/dist/test/matchers.test.js +5 -5
  181. package/dist/test/matchers.test.js.map +1 -1
  182. package/dist/test/providers.anthropic.test.js +93 -23
  183. package/dist/test/providers.anthropic.test.js.map +1 -1
  184. package/dist/test/providers.azure.test.js +42 -0
  185. package/dist/test/providers.azure.test.js.map +1 -1
  186. package/dist/test/providers.bedrock.test.js +2 -1
  187. package/dist/test/providers.bedrock.test.js.map +1 -1
  188. package/dist/test/providers.shared.test.d.ts +2 -0
  189. package/dist/test/providers.shared.test.d.ts.map +1 -0
  190. package/dist/test/providers.shared.test.js +92 -0
  191. package/dist/test/providers.shared.test.js.map +1 -0
  192. package/dist/test/providers.test.js +112 -7
  193. package/dist/test/providers.test.js.map +1 -1
  194. package/dist/test/python/pythonUtils.test.d.ts +2 -0
  195. package/dist/test/python/pythonUtils.test.d.ts.map +1 -0
  196. package/dist/test/python/pythonUtils.test.js +224 -0
  197. package/dist/test/python/pythonUtils.test.js.map +1 -0
  198. package/dist/test/python/wrapper.test.d.ts +2 -0
  199. package/dist/test/python/wrapper.test.d.ts.map +1 -0
  200. package/dist/test/python/wrapper.test.js +71 -0
  201. package/dist/test/python/wrapper.test.js.map +1 -0
  202. package/dist/test/rateLimit.test.js.map +1 -1
  203. package/dist/test/redteam/commands/generate.test.d.ts.map +1 -0
  204. package/dist/test/{commands/redteam → redteam/commands}/generate.test.js +1 -1
  205. package/dist/test/{commands/redteam → redteam/commands}/generate.test.js.map +1 -1
  206. package/dist/test/redteam/validators.test.js +2 -2
  207. package/dist/test/redteam/validators.test.js.map +1 -1
  208. package/dist/test/testCases.test.js +75 -27
  209. package/dist/test/testCases.test.js.map +1 -1
  210. package/dist/test/types.test.js +17 -10
  211. package/dist/test/types.test.js.map +1 -1
  212. package/dist/test/util.test.js +10 -0
  213. package/dist/test/util.test.js.map +1 -1
  214. package/package.json +29 -29
  215. package/dist/src/commands/redteam/generate.d.ts.map +0 -1
  216. package/dist/src/commands/redteam/generate.js.map +0 -1
  217. package/dist/src/commands/redteam/init.d.ts.map +0 -1
  218. package/dist/src/commands/redteam/init.js.map +0 -1
  219. package/dist/src/types/redteam.d.ts.map +0 -1
  220. package/dist/src/types/redteam.js.map +0 -1
  221. package/dist/src/web/nextui/404/index.html +0 -1
  222. package/dist/src/web/nextui/404.html +0 -1
  223. package/dist/src/web/nextui/_next/static/chunks/113-c691bf7d3a37d865.js +0 -1
  224. package/dist/src/web/nextui/_next/static/chunks/132-d6bea93785831786.js +0 -6
  225. package/dist/src/web/nextui/_next/static/chunks/15.306496fdcef5f880.js +0 -52
  226. package/dist/src/web/nextui/_next/static/chunks/167-744b9f585d2d97f7.js +0 -54
  227. package/dist/src/web/nextui/_next/static/chunks/189-f9d565af9a2b91cb.js +0 -1
  228. package/dist/src/web/nextui/_next/static/chunks/1a53ab81-5e1a018996226f61.js +0 -6
  229. package/dist/src/web/nextui/_next/static/chunks/235-2bbcbc3cd37eef0f.js +0 -1
  230. package/dist/src/web/nextui/_next/static/chunks/285-1e2a6158b5f0e918.js +0 -32
  231. package/dist/src/web/nextui/_next/static/chunks/407.42b5daf65ab5dde9.js +0 -1
  232. package/dist/src/web/nextui/_next/static/chunks/417-cbf95fe2bc362650.js +0 -2
  233. package/dist/src/web/nextui/_next/static/chunks/461-77257ab6b1bb209d.js +0 -1
  234. package/dist/src/web/nextui/_next/static/chunks/565431e5-7b9122ac20f7a0ae.js +0 -140
  235. package/dist/src/web/nextui/_next/static/chunks/631-d005608c3710a99c.js +0 -6
  236. package/dist/src/web/nextui/_next/static/chunks/640-0f757e2fe135173d.js +0 -1
  237. package/dist/src/web/nextui/_next/static/chunks/646-62a1d1d5b397d18f.js +0 -28
  238. package/dist/src/web/nextui/_next/static/chunks/730-3eb7255cd813a727.js +0 -25
  239. package/dist/src/web/nextui/_next/static/chunks/782-910eb0e09b818816.js +0 -35
  240. package/dist/src/web/nextui/_next/static/chunks/840.58dde6630f088da4.js +0 -1
  241. package/dist/src/web/nextui/_next/static/chunks/854-c18aaae33bccdc36.js +0 -1
  242. package/dist/src/web/nextui/_next/static/chunks/86-fcb0efd0a19bac7d.js +0 -1
  243. package/dist/src/web/nextui/_next/static/chunks/874-66f90697795eddbc.js +0 -1
  244. package/dist/src/web/nextui/_next/static/chunks/88-f3a7a858d5f4e9a0.js +0 -17
  245. package/dist/src/web/nextui/_next/static/chunks/887.028187fb318c3e59.js +0 -1
  246. package/dist/src/web/nextui/_next/static/chunks/906-70c43cd62b2efac1.js +0 -97
  247. package/dist/src/web/nextui/_next/static/chunks/972-15d1ab608a24eebf.js +0 -1
  248. package/dist/src/web/nextui/_next/static/chunks/975-db84f98b8dd028ab.js +0 -1
  249. package/dist/src/web/nextui/_next/static/chunks/a5c829b0-07a2c92898a6780c.js +0 -14
  250. package/dist/src/web/nextui/_next/static/chunks/app/auth/login/page-c1dbf0abc580796f.js +0 -1
  251. package/dist/src/web/nextui/_next/static/chunks/app/auth/signup/page-93b80ab19bdaf2cc.js +0 -1
  252. package/dist/src/web/nextui/_next/static/chunks/app/datasets/page-17e6d3f57945f88a.js +0 -1
  253. package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/not-found-dc8b4f57fd363c1b.js +0 -1
  254. package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/page-1e54704d75f36e25.js +0 -1
  255. package/dist/src/web/nextui/_next/static/chunks/app/eval/page-5295461188ef9b43.js +0 -1
  256. package/dist/src/web/nextui/_next/static/chunks/app/layout-e465aaafbfe88e82.js +0 -1
  257. package/dist/src/web/nextui/_next/static/chunks/app/page-81e3b8fee37eaf67.js +0 -1
  258. package/dist/src/web/nextui/_next/static/chunks/app/progress/page-ac2f99c11e76f5a5.js +0 -1
  259. package/dist/src/web/nextui/_next/static/chunks/app/prompts/page-296c32f480e84a57.js +0 -1
  260. package/dist/src/web/nextui/_next/static/chunks/app/report/page-f7c9e46492061e19.js +0 -1
  261. package/dist/src/web/nextui/_next/static/chunks/app/setup/page-35c95dd67114a045.js +0 -1
  262. package/dist/src/web/nextui/_next/static/chunks/b6261da7-e9d81a4364ddd0c0.js +0 -9
  263. package/dist/src/web/nextui/_next/static/chunks/fd57813c.8f0e3582250c76c5.js +0 -1
  264. package/dist/src/web/nextui/_next/static/chunks/framework-c3d480eb9ad30ba5.js +0 -25
  265. package/dist/src/web/nextui/_next/static/chunks/main-6b1ff2291a752212.js +0 -1
  266. package/dist/src/web/nextui/_next/static/chunks/main-app-0dc90092cd7acaaf.js +0 -1
  267. package/dist/src/web/nextui/_next/static/chunks/pages/_app-998b254a061422d4.js +0 -1
  268. package/dist/src/web/nextui/_next/static/chunks/pages/_error-94f0db477e27e000.js +0 -1
  269. package/dist/src/web/nextui/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -1
  270. package/dist/src/web/nextui/_next/static/chunks/webpack-452ae8c28379ed4c.js +0 -1
  271. package/dist/src/web/nextui/_next/static/css/48d388184a2f4ce3.css +0 -1
  272. package/dist/src/web/nextui/_next/static/css/4d76d7cdd9492e1d.css +0 -1
  273. package/dist/src/web/nextui/_next/static/css/8119d8bd13a8adab.css +0 -1
  274. package/dist/src/web/nextui/_next/static/css/87b5e6e04efd27e5.css +0 -1
  275. package/dist/src/web/nextui/_next/static/css/de0307797e31a3e6.css +0 -1
  276. package/dist/src/web/nextui/_next/static/css/eb523daddb89dfc1.css +0 -1
  277. package/dist/src/web/nextui/_next/static/css/edcd6f0b6c902fde.css +0 -1
  278. package/dist/src/web/nextui/_next/static/gtTJhFvE95U20UjbnSnMr/_buildManifest.js +0 -1
  279. package/dist/src/web/nextui/_next/static/gtTJhFvE95U20UjbnSnMr/_ssgManifest.js +0 -1
  280. package/dist/src/web/nextui/_next/static/media/26a46d62cd723877-s.woff2 +0 -0
  281. package/dist/src/web/nextui/_next/static/media/55c55f0601d81cf3-s.woff2 +0 -0
  282. package/dist/src/web/nextui/_next/static/media/581909926a08bbc8-s.woff2 +0 -0
  283. package/dist/src/web/nextui/_next/static/media/6d93bde91c0c2823-s.woff2 +0 -0
  284. package/dist/src/web/nextui/_next/static/media/97e0cb1ae144a2a9-s.woff2 +0 -0
  285. package/dist/src/web/nextui/_next/static/media/a34f9d1faa5f3315-s.p.woff2 +0 -0
  286. package/dist/src/web/nextui/_next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  287. package/dist/src/web/nextui/android-chrome-192x192.png +0 -0
  288. package/dist/src/web/nextui/android-chrome-512x512.png +0 -0
  289. package/dist/src/web/nextui/apple-touch-icon.png +0 -0
  290. package/dist/src/web/nextui/auth/callback +0 -1
  291. package/dist/src/web/nextui/auth/login/index.html +0 -1
  292. package/dist/src/web/nextui/auth/login/index.txt +0 -10
  293. package/dist/src/web/nextui/auth/signup/index.html +0 -1
  294. package/dist/src/web/nextui/auth/signup/index.txt +0 -10
  295. package/dist/src/web/nextui/browserconfig.xml +0 -9
  296. package/dist/src/web/nextui/datasets/index.html +0 -1
  297. package/dist/src/web/nextui/datasets/index.txt +0 -10
  298. package/dist/src/web/nextui/eval/index.html +0 -1
  299. package/dist/src/web/nextui/eval/index.txt +0 -12
  300. package/dist/src/web/nextui/index.html +0 -1
  301. package/dist/src/web/nextui/index.txt +0 -11
  302. package/dist/src/web/nextui/logo.svg +0 -30
  303. package/dist/src/web/nextui/mstile-144x144.png +0 -0
  304. package/dist/src/web/nextui/mstile-150x150.png +0 -0
  305. package/dist/src/web/nextui/mstile-310x150.png +0 -0
  306. package/dist/src/web/nextui/mstile-310x310.png +0 -0
  307. package/dist/src/web/nextui/mstile-70x70.png +0 -0
  308. package/dist/src/web/nextui/progress/index.html +0 -1
  309. package/dist/src/web/nextui/progress/index.txt +0 -10
  310. package/dist/src/web/nextui/prompts/index.html +0 -1
  311. package/dist/src/web/nextui/prompts/index.txt +0 -10
  312. package/dist/src/web/nextui/report/index.html +0 -1
  313. package/dist/src/web/nextui/report/index.txt +0 -12
  314. package/dist/src/web/nextui/safari-pinned-tab.svg +0 -68
  315. package/dist/src/web/nextui/setup/index.html +0 -1
  316. package/dist/src/web/nextui/setup/index.txt +0 -12
  317. package/dist/src/web/nextui/site.webmanifest +0 -19
  318. package/dist/test/commands/redteam/generate.test.d.ts.map +0 -1
  319. package/dist/test/pythonWrapper.test.d.ts +0 -2
  320. package/dist/test/pythonWrapper.test.d.ts.map +0 -1
  321. package/dist/test/pythonWrapper.test.js +0 -99
  322. package/dist/test/pythonWrapper.test.js.map +0 -1
  323. /package/dist/src/{web/nextui/logo-panda.svg → app/assets/logo-panda-BuYvzEyb.svg} +0 -0
  324. /package/dist/src/{web/nextui → app}/favicon-16x16.png +0 -0
  325. /package/dist/src/{web/nextui → app}/favicon-32x32.png +0 -0
  326. /package/dist/src/{web/nextui → app}/favicon.ico +0 -0
  327. /package/dist/src/{commands/redteam → redteam/commands}/init.d.ts +0 -0
  328. /package/dist/src/{commands/redteam → redteam/commands}/plugins.d.ts +0 -0
  329. /package/dist/test/{commands/redteam → redteam/commands}/generate.test.d.ts +0 -0
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const azureopenai_1 = require("../src/providers/azureopenai");
4
+ const azureopenai_2 = require("../src/providers/azureopenai");
4
5
  const azureopenaiUtil_1 = require("../src/providers/azureopenaiUtil");
5
6
  const huggingface_1 = require("../src/providers/huggingface");
6
7
  const openai_1 = require("../src/providers/openai");
@@ -94,4 +95,45 @@ describe('maybeEmitAzureOpenAiWarning', () => {
94
95
  expect(result).toBe(false);
95
96
  });
96
97
  });
98
+ describe('AzureOpenAiGenericProvider', () => {
99
+ describe('getApiBaseUrl', () => {
100
+ beforeEach(() => {
101
+ delete process.env.AZURE_OPENAI_API_HOST;
102
+ });
103
+ it('should return apiBaseUrl if set', () => {
104
+ const provider = new azureopenai_2.AzureOpenAiGenericProvider('test-deployment', {
105
+ config: { apiBaseUrl: 'https://custom.azure.com' },
106
+ });
107
+ expect(provider.getApiBaseUrl()).toBe('https://custom.azure.com');
108
+ });
109
+ it('should return apiBaseUrl without trailing slash if set', () => {
110
+ const provider = new azureopenai_2.AzureOpenAiGenericProvider('test-deployment', {
111
+ config: { apiBaseUrl: 'https://custom.azure.com/' },
112
+ });
113
+ expect(provider.getApiBaseUrl()).toBe('https://custom.azure.com');
114
+ });
115
+ it('should construct URL from apiHost without protocol', () => {
116
+ const provider = new azureopenai_2.AzureOpenAiGenericProvider('test-deployment', {
117
+ config: { apiHost: 'api.azure.com' },
118
+ });
119
+ expect(provider.getApiBaseUrl()).toBe('https://api.azure.com');
120
+ });
121
+ it('should remove protocol from apiHost if present', () => {
122
+ const provider = new azureopenai_2.AzureOpenAiGenericProvider('test-deployment', {
123
+ config: { apiHost: 'https://api.azure.com' },
124
+ });
125
+ expect(provider.getApiBaseUrl()).toBe('https://api.azure.com');
126
+ });
127
+ it('should remove trailing slash from apiHost if present', () => {
128
+ const provider = new azureopenai_2.AzureOpenAiGenericProvider('test-deployment', {
129
+ config: { apiHost: 'api.azure.com/' },
130
+ });
131
+ expect(provider.getApiBaseUrl()).toBe('https://api.azure.com');
132
+ });
133
+ it('should return undefined if neither apiBaseUrl nor apiHost is set', () => {
134
+ const provider = new azureopenai_2.AzureOpenAiGenericProvider('test-deployment', {});
135
+ expect(provider.getApiBaseUrl()).toBeUndefined();
136
+ });
137
+ });
138
+ });
97
139
  //# sourceMappingURL=providers.azure.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.azure.test.js","sourceRoot":"","sources":["../../test/providers.azure.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.azure.test.js","sourceRoot":"","sources":["../../test/providers.azure.test.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ describe('AwsBedrockGenericProvider', () => {
33
33
  let BedrockRuntime;
34
34
  beforeEach(() => {
35
35
  jest.resetModules();
36
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
36
37
  BedrockRuntime = require('@aws-sdk/client-bedrock-runtime').BedrockRuntime;
37
38
  jest.clearAllMocks();
38
39
  });
@@ -257,7 +258,7 @@ describe('llama', () => {
257
258
  prompt: (0, dedent_1.default) `<s>[INST] <<SYS>>
258
259
  You are a helpful assistant.
259
260
  <</SYS>>
260
-
261
+
261
262
  What is the capital of France? [/INST]`,
262
263
  temperature: 0.01,
263
264
  top_p: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"providers.bedrock.test.js","sourceRoot":"","sources":["../../test/providers.bedrock.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.bedrock.test.js","sourceRoot":"","sources":["../../test/providers.bedrock.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=providers.shared.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.shared.test.d.ts","sourceRoot":"","sources":["../../test/providers.shared.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const envars_1 = require("../src/envars");
4
+ const shared_1 = require("../src/providers/shared");
5
+ jest.mock('../src/envars');
6
+ describe('Shared Provider Functions', () => {
7
+ describe('parseChatPrompt', () => {
8
+ it('should parse YAML prompt', () => {
9
+ const yamlPrompt = `
10
+ - role: user
11
+ content: Hello
12
+ - role: assistant
13
+ content: Hi there!
14
+ `;
15
+ const result = (0, shared_1.parseChatPrompt)(yamlPrompt, []);
16
+ expect(result).toEqual([
17
+ { role: 'user', content: 'Hello' },
18
+ { role: 'assistant', content: 'Hi there!' },
19
+ ]);
20
+ });
21
+ it('should parse JSON prompt', () => {
22
+ const jsonPrompt = JSON.stringify([
23
+ { role: 'user', content: 'Hello' },
24
+ { role: 'assistant', content: 'Hi there!' },
25
+ ]);
26
+ const result = (0, shared_1.parseChatPrompt)(jsonPrompt, []);
27
+ expect(result).toEqual([
28
+ { role: 'user', content: 'Hello' },
29
+ { role: 'assistant', content: 'Hi there!' },
30
+ ]);
31
+ });
32
+ it('should return default value for non-YAML, non-JSON prompt', () => {
33
+ const defaultValue = [{ role: 'user', content: 'Default' }];
34
+ const result = (0, shared_1.parseChatPrompt)('Just a regular string', defaultValue);
35
+ expect(result).toEqual(defaultValue);
36
+ });
37
+ it('should throw error for invalid YAML', () => {
38
+ const invalidYaml = '- role: user\n content: :\n';
39
+ expect(() => (0, shared_1.parseChatPrompt)(invalidYaml, [])).toThrow('Chat Completion prompt is not a valid YAML string');
40
+ });
41
+ it('should throw error for invalid JSON when PROMPTFOO_REQUIRE_JSON_PROMPTS is true', () => {
42
+ jest.mocked(envars_1.getEnvBool).mockReturnValue(true);
43
+ const invalidJson = '"role": "user", "content": "Hello" }'; // Missing array brackets
44
+ expect(() => (0, shared_1.parseChatPrompt)(invalidJson, [])).toThrow('Chat Completion prompt is not a valid JSON string');
45
+ });
46
+ it('should throw error for invalid JSON when prompt starts with { or [', () => {
47
+ jest.mocked(envars_1.getEnvBool).mockReturnValue(false);
48
+ const invalidJson = '{ "invalid: "json" }';
49
+ expect(() => (0, shared_1.parseChatPrompt)(invalidJson, [])).toThrow('Chat Completion prompt is not a valid JSON string');
50
+ });
51
+ });
52
+ describe('toTitleCase', () => {
53
+ it('should convert string to title case', () => {
54
+ expect((0, shared_1.toTitleCase)('hello world')).toBe('Hello World');
55
+ expect((0, shared_1.toTitleCase)('UPPERCASE STRING')).toBe('Uppercase String');
56
+ expect((0, shared_1.toTitleCase)('mixed CASE string')).toBe('Mixed Case String');
57
+ });
58
+ it('should handle empty string', () => {
59
+ expect((0, shared_1.toTitleCase)('')).toBe('');
60
+ });
61
+ it('should handle single word', () => {
62
+ expect((0, shared_1.toTitleCase)('word')).toBe('Word');
63
+ });
64
+ });
65
+ describe('calculateCost', () => {
66
+ const models = [
67
+ { id: 'model1', cost: { input: 0.001, output: 0.002 } },
68
+ { id: 'model2', cost: { input: 0.003, output: 0.004 } },
69
+ ];
70
+ it('should calculate cost correctly', () => {
71
+ const cost = (0, shared_1.calculateCost)('model1', {}, 1000, 500, models);
72
+ expect(cost).toBe(2); // (0.001 * 1000) + (0.002 * 500)
73
+ });
74
+ it('should use config cost if provided', () => {
75
+ const cost = (0, shared_1.calculateCost)('model1', { cost: 0.005 }, 1000, 500, models);
76
+ expect(cost).toBe(7.5); // (0.005 * 1000) + (0.005 * 500)
77
+ });
78
+ it('should return undefined if model not found', () => {
79
+ const cost = (0, shared_1.calculateCost)('nonexistent', {}, 1000, 500, models);
80
+ expect(cost).toBeUndefined();
81
+ });
82
+ it('should return undefined if tokens are not finite', () => {
83
+ expect((0, shared_1.calculateCost)('model1', {}, Number.NaN, 500, models)).toBeUndefined();
84
+ expect((0, shared_1.calculateCost)('model1', {}, 1000, Infinity, models)).toBeUndefined();
85
+ });
86
+ it('should return undefined if tokens are undefined', () => {
87
+ expect((0, shared_1.calculateCost)('model1', {}, undefined, 500, models)).toBeUndefined();
88
+ expect((0, shared_1.calculateCost)('model1', {}, 1000, undefined, models)).toBeUndefined();
89
+ });
90
+ });
91
+ });
92
+ //# sourceMappingURL=providers.shared.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.shared.test.js","sourceRoot":"","sources":["../../test/providers.shared.test.ts"],"names":[],"mappings":"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"}
@@ -121,7 +121,7 @@ describe('call provider apis', () => {
121
121
  ok: true,
122
122
  };
123
123
  jest.mocked(node_fetch_1.default).mockResolvedValue(mockResponse);
124
- const provider = new openai_1.OpenAiChatCompletionProvider('gpt-3.5-turbo');
124
+ const provider = new openai_1.OpenAiChatCompletionProvider('gpt-4o-mini');
125
125
  const result = await provider.callApi(JSON.stringify([{ role: 'user', content: 'Test prompt' }]));
126
126
  expect(node_fetch_1.default).toHaveBeenCalledTimes(1);
127
127
  expect(result.output).toBe('Test output');
@@ -137,7 +137,7 @@ describe('call provider apis', () => {
137
137
  ok: true,
138
138
  };
139
139
  jest.mocked(node_fetch_1.default).mockResolvedValue(mockResponse);
140
- const provider = new openai_1.OpenAiChatCompletionProvider('gpt-3.5-turbo');
140
+ const provider = new openai_1.OpenAiChatCompletionProvider('gpt-4o-mini');
141
141
  const result = await provider.callApi(JSON.stringify([{ role: 'user', content: 'Test prompt 2' }]));
142
142
  expect(node_fetch_1.default).toHaveBeenCalledTimes(1);
143
143
  expect(result.output).toBe('Test output 2');
@@ -157,7 +157,7 @@ describe('call provider apis', () => {
157
157
  ok: true,
158
158
  };
159
159
  jest.mocked(node_fetch_1.default).mockResolvedValue(mockResponse);
160
- const provider = new openai_1.OpenAiChatCompletionProvider('gpt-3.5-turbo');
160
+ const provider = new openai_1.OpenAiChatCompletionProvider('gpt-4o-mini');
161
161
  const result = await provider.callApi(JSON.stringify([{ role: 'user', content: 'Test prompt' }]));
162
162
  expect(node_fetch_1.default).toHaveBeenCalledTimes(1);
163
163
  expect(result.output).toBe('Test output');
@@ -174,7 +174,7 @@ describe('call provider apis', () => {
174
174
  temperature: 3.1415926,
175
175
  max_tokens: 201,
176
176
  };
177
- const provider = new openai_1.OpenAiChatCompletionProvider('gpt-3.5-turbo', { config });
177
+ const provider = new openai_1.OpenAiChatCompletionProvider('gpt-4o-mini', { config });
178
178
  const prompt = 'Test prompt';
179
179
  await provider.callApi(prompt);
180
180
  expect(node_fetch_1.default).toHaveBeenCalledWith(expect.any(String), expect.objectContaining({
@@ -183,6 +183,111 @@ describe('call provider apis', () => {
183
183
  expect(provider.config.temperature).toBe(config.temperature);
184
184
  expect(provider.config.max_tokens).toBe(config.max_tokens);
185
185
  });
186
+ it('OpenAiChatCompletionProvider callApi with structured output', async () => {
187
+ const mockResponse = {
188
+ ...defaultMockResponse,
189
+ text: jest.fn().mockResolvedValue(JSON.stringify({
190
+ choices: [{ message: { content: '{"name": "John", "age": 30}' } }],
191
+ usage: { total_tokens: 10, prompt_tokens: 5, completion_tokens: 5 },
192
+ })),
193
+ ok: true,
194
+ };
195
+ jest.mocked(node_fetch_1.default).mockResolvedValue(mockResponse);
196
+ const provider = new openai_1.OpenAiChatCompletionProvider('gpt-4o-mini', {
197
+ config: {
198
+ response_format: {
199
+ type: 'json_schema',
200
+ json_schema: {
201
+ name: 'person',
202
+ strict: true,
203
+ schema: {
204
+ type: 'object',
205
+ properties: {
206
+ name: { type: 'string' },
207
+ age: { type: 'number' },
208
+ },
209
+ required: ['name', 'age'],
210
+ additionalProperties: false,
211
+ },
212
+ },
213
+ },
214
+ },
215
+ });
216
+ const result = await provider.callApi(JSON.stringify([{ role: 'user', content: 'Get me a person' }]));
217
+ expect(node_fetch_1.default).toHaveBeenCalledTimes(1);
218
+ expect(result.output).toEqual({ name: 'John', age: 30 });
219
+ expect(result.tokenUsage).toEqual({ total: 10, prompt: 5, completion: 5 });
220
+ });
221
+ it('OpenAiChatCompletionProvider callApi handles model refusals', async () => {
222
+ const mockResponse = {
223
+ ...defaultMockResponse,
224
+ text: jest.fn().mockResolvedValue(JSON.stringify({
225
+ choices: [{ message: { refusal: 'Content policy violation' } }],
226
+ usage: { total_tokens: 5, prompt_tokens: 5, completion_tokens: 0 },
227
+ })),
228
+ ok: true,
229
+ };
230
+ jest.mocked(node_fetch_1.default).mockResolvedValue(mockResponse);
231
+ const provider = new openai_1.OpenAiChatCompletionProvider('gpt-4o-mini');
232
+ const result = await provider.callApi(JSON.stringify([{ role: 'user', content: 'Generate inappropriate content' }]));
233
+ expect(node_fetch_1.default).toHaveBeenCalledTimes(1);
234
+ expect(result.error).toBe('Model refused to generate a response: Content policy violation');
235
+ expect(result.tokenUsage).toEqual({ total: 5, prompt: 5, completion: 0 });
236
+ });
237
+ it('OpenAiChatCompletionProvider callApi with function tool callbacks', async () => {
238
+ const mockResponse = {
239
+ ...defaultMockResponse,
240
+ text: jest.fn().mockResolvedValue(JSON.stringify({
241
+ choices: [
242
+ {
243
+ message: {
244
+ content: null,
245
+ tool_calls: [
246
+ {
247
+ function: {
248
+ name: 'get_weather',
249
+ arguments: '{"location":"New York"}',
250
+ },
251
+ },
252
+ ],
253
+ },
254
+ },
255
+ ],
256
+ usage: { total_tokens: 15, prompt_tokens: 10, completion_tokens: 5 },
257
+ })),
258
+ ok: true,
259
+ };
260
+ jest.mocked(node_fetch_1.default).mockResolvedValue(mockResponse);
261
+ const mockWeatherFunction = jest.fn().mockResolvedValue('Sunny, 25°C');
262
+ const provider = new openai_1.OpenAiChatCompletionProvider('gpt-4o-mini', {
263
+ config: {
264
+ tools: [
265
+ {
266
+ type: 'function',
267
+ function: {
268
+ name: 'get_weather',
269
+ description: 'Get the weather for a location',
270
+ parameters: {
271
+ type: 'object',
272
+ properties: {
273
+ location: { type: 'string' },
274
+ },
275
+ required: ['location'],
276
+ },
277
+ },
278
+ },
279
+ ],
280
+ functionToolCallbacks: {
281
+ get_weather: mockWeatherFunction,
282
+ },
283
+ },
284
+ });
285
+ const result = await provider.callApi(JSON.stringify([{ role: 'user', content: "What's the weather in New York?" }]));
286
+ expect(node_fetch_1.default).toHaveBeenCalledTimes(1);
287
+ expect(mockWeatherFunction).toHaveBeenCalledWith('{"location":"New York"}');
288
+ expect(result.output).toBe('Sunny, 25°C');
289
+ expect(result.tokenUsage).toEqual({ total: 15, prompt: 10, completion: 5 });
290
+ });
186
291
  it('AzureOpenAiCompletionProvider callApi', async () => {
187
292
  const mockResponse = {
188
293
  ...defaultMockResponse,
@@ -207,7 +312,7 @@ describe('call provider apis', () => {
207
312
  })),
208
313
  };
209
314
  jest.mocked(node_fetch_1.default).mockResolvedValue(mockResponse);
210
- const provider = new azureopenai_1.AzureOpenAiChatCompletionProvider('gpt-3.5-turbo');
315
+ const provider = new azureopenai_1.AzureOpenAiChatCompletionProvider('gpt-4o-mini');
211
316
  const result = await provider.callApi(JSON.stringify([{ role: 'user', content: 'Test prompt' }]));
212
317
  expect(node_fetch_1.default).toHaveBeenCalledTimes(1);
213
318
  expect(result.output).toBe('Test output');
@@ -235,7 +340,7 @@ describe('call provider apis', () => {
235
340
  })),
236
341
  };
237
342
  jest.mocked(node_fetch_1.default).mockResolvedValue(mockResponse);
238
- const provider = new azureopenai_1.AzureOpenAiChatCompletionProvider('gpt-3.5-turbo', {
343
+ const provider = new azureopenai_1.AzureOpenAiChatCompletionProvider('gpt-4o-mini', {
239
344
  config: { dataSources },
240
345
  });
241
346
  const result = await provider.callApi(JSON.stringify([
@@ -256,7 +361,7 @@ describe('call provider apis', () => {
256
361
  })),
257
362
  };
258
363
  jest.mocked(node_fetch_1.default).mockResolvedValue(mockResponse);
259
- const provider = new azureopenai_1.AzureOpenAiChatCompletionProvider('gpt-3.5-turbo');
364
+ const provider = new azureopenai_1.AzureOpenAiChatCompletionProvider('gpt-4o-mini');
260
365
  const result = await provider.callApi(JSON.stringify([{ role: 'user', content: 'Test prompt' }]));
261
366
  expect(node_fetch_1.default).toHaveBeenCalledTimes(1);
262
367
  expect(result.output).toBe('Test output');