promptfoo 0.97.0 → 0.99.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 (256) hide show
  1. package/README.md +1 -1
  2. package/dist/package.json +19 -17
  3. package/dist/src/app/assets/index-CJGQrbZb.js +787 -0
  4. package/dist/src/app/assets/{index-YwjS5Vq2.css → index-DatcZSwS.css} +1 -1
  5. package/dist/src/app/assets/{index.es-Cc9N3uII.js → index.es-BCwhwRu5.js} +1 -1
  6. package/dist/src/app/assets/{sync-BoVzjiAe.js → sync-hJWHXawF.js} +1 -1
  7. package/dist/src/app/index.html +2 -2
  8. package/dist/src/assertions/index.d.ts.map +1 -1
  9. package/dist/src/assertions/index.js +9 -1
  10. package/dist/src/assertions/index.js.map +1 -1
  11. package/dist/src/cache.d.ts +1 -0
  12. package/dist/src/cache.d.ts.map +1 -1
  13. package/dist/src/cache.js +5 -0
  14. package/dist/src/cache.js.map +1 -1
  15. package/dist/src/commands/debug.d.ts +4 -0
  16. package/dist/src/commands/debug.d.ts.map +1 -0
  17. package/dist/src/commands/debug.js +84 -0
  18. package/dist/src/commands/debug.js.map +1 -0
  19. package/dist/src/commands/view.d.ts.map +1 -1
  20. package/dist/src/commands/view.js +6 -4
  21. package/dist/src/commands/view.js.map +1 -1
  22. package/dist/src/constants.d.ts +1 -0
  23. package/dist/src/constants.d.ts.map +1 -1
  24. package/dist/src/constants.js +2 -1
  25. package/dist/src/constants.js.map +1 -1
  26. package/dist/src/database/tables.d.ts +176 -176
  27. package/dist/src/envars.d.ts +1 -1
  28. package/dist/src/envars.d.ts.map +1 -1
  29. package/dist/src/evaluator.d.ts.map +1 -1
  30. package/dist/src/evaluator.js +7 -3
  31. package/dist/src/evaluator.js.map +1 -1
  32. package/dist/src/evaluatorHelpers.d.ts +1 -0
  33. package/dist/src/evaluatorHelpers.d.ts.map +1 -1
  34. package/dist/src/evaluatorHelpers.js +19 -0
  35. package/dist/src/evaluatorHelpers.js.map +1 -1
  36. package/dist/src/logger.js +10 -10
  37. package/dist/src/logger.js.map +1 -1
  38. package/dist/src/main.js +17 -1
  39. package/dist/src/main.js.map +1 -1
  40. package/dist/src/models/eval.d.ts +1 -0
  41. package/dist/src/models/eval.d.ts.map +1 -1
  42. package/dist/src/models/eval.js +2 -0
  43. package/dist/src/models/eval.js.map +1 -1
  44. package/dist/src/prompts/processors/yaml.d.ts.map +1 -1
  45. package/dist/src/prompts/processors/yaml.js +7 -2
  46. package/dist/src/prompts/processors/yaml.js.map +1 -1
  47. package/dist/src/providers/adaline.gateway.d.ts +2 -1
  48. package/dist/src/providers/adaline.gateway.d.ts.map +1 -1
  49. package/dist/src/providers/ai21.d.ts +2 -1
  50. package/dist/src/providers/ai21.d.ts.map +1 -1
  51. package/dist/src/providers/ai21.js.map +1 -1
  52. package/dist/src/providers/anthropic.d.ts +2 -1
  53. package/dist/src/providers/anthropic.d.ts.map +1 -1
  54. package/dist/src/providers/anthropic.js.map +1 -1
  55. package/dist/src/providers/azure.d.ts +2 -1
  56. package/dist/src/providers/azure.d.ts.map +1 -1
  57. package/dist/src/providers/bam.d.ts +2 -1
  58. package/dist/src/providers/bam.d.ts.map +1 -1
  59. package/dist/src/providers/bam.js.map +1 -1
  60. package/dist/src/providers/bedrock.d.ts +2 -1
  61. package/dist/src/providers/bedrock.d.ts.map +1 -1
  62. package/dist/src/providers/cloudflare-ai.d.ts +2 -1
  63. package/dist/src/providers/cloudflare-ai.d.ts.map +1 -1
  64. package/dist/src/providers/cohere.d.ts +2 -1
  65. package/dist/src/providers/cohere.d.ts.map +1 -1
  66. package/dist/src/providers/defaults.d.ts +2 -1
  67. package/dist/src/providers/defaults.d.ts.map +1 -1
  68. package/dist/src/providers/defaults.js.map +1 -1
  69. package/dist/src/providers/fal.d.ts +2 -1
  70. package/dist/src/providers/fal.d.ts.map +1 -1
  71. package/dist/src/providers/fal.js.map +1 -1
  72. package/dist/src/providers/groq.d.ts +2 -1
  73. package/dist/src/providers/groq.d.ts.map +1 -1
  74. package/dist/src/providers/http.d.ts +5 -1
  75. package/dist/src/providers/http.d.ts.map +1 -1
  76. package/dist/src/providers/http.js +67 -10
  77. package/dist/src/providers/http.js.map +1 -1
  78. package/dist/src/providers/localai.d.ts +2 -1
  79. package/dist/src/providers/localai.d.ts.map +1 -1
  80. package/dist/src/providers/localai.js.map +1 -1
  81. package/dist/src/providers/mistral.d.ts +2 -1
  82. package/dist/src/providers/mistral.d.ts.map +1 -1
  83. package/dist/src/providers/openai.d.ts +2 -1
  84. package/dist/src/providers/openai.d.ts.map +1 -1
  85. package/dist/src/providers/openai.js +1 -1
  86. package/dist/src/providers/openai.js.map +1 -1
  87. package/dist/src/providers/palm.d.ts +2 -1
  88. package/dist/src/providers/palm.d.ts.map +1 -1
  89. package/dist/src/providers/palm.js.map +1 -1
  90. package/dist/src/providers/promptfoo.d.ts +2 -1
  91. package/dist/src/providers/promptfoo.d.ts.map +1 -1
  92. package/dist/src/providers/replicate.d.ts +2 -1
  93. package/dist/src/providers/replicate.d.ts.map +1 -1
  94. package/dist/src/providers/sequence.d.ts +11 -0
  95. package/dist/src/providers/sequence.d.ts.map +1 -0
  96. package/dist/src/providers/sequence.js +66 -0
  97. package/dist/src/providers/sequence.js.map +1 -0
  98. package/dist/src/providers/togetherai.d.ts +2 -1
  99. package/dist/src/providers/togetherai.d.ts.map +1 -1
  100. package/dist/src/providers/togetherai.js.map +1 -1
  101. package/dist/src/providers/vertex.d.ts +2 -1
  102. package/dist/src/providers/vertex.d.ts.map +1 -1
  103. package/dist/src/providers/watsonx.d.ts +2 -1
  104. package/dist/src/providers/watsonx.d.ts.map +1 -1
  105. package/dist/src/providers/watsonx.js.map +1 -1
  106. package/dist/src/providers/xai.d.ts +2 -1
  107. package/dist/src/providers/xai.d.ts.map +1 -1
  108. package/dist/src/providers/xai.js.map +1 -1
  109. package/dist/src/providers.d.ts +2 -1
  110. package/dist/src/providers.d.ts.map +1 -1
  111. package/dist/src/providers.js +4 -0
  112. package/dist/src/providers.js.map +1 -1
  113. package/dist/src/redteam/commands/generate.d.ts.map +1 -1
  114. package/dist/src/redteam/commands/generate.js +25 -4
  115. package/dist/src/redteam/commands/generate.js.map +1 -1
  116. package/dist/src/redteam/commands/init.d.ts.map +1 -1
  117. package/dist/src/redteam/commands/init.js +79 -64
  118. package/dist/src/redteam/commands/init.js.map +1 -1
  119. package/dist/src/redteam/commands/report.d.ts.map +1 -1
  120. package/dist/src/redteam/commands/report.js +11 -3
  121. package/dist/src/redteam/commands/report.js.map +1 -1
  122. package/dist/src/redteam/commands/setup.d.ts +3 -0
  123. package/dist/src/redteam/commands/setup.d.ts.map +1 -0
  124. package/dist/src/redteam/commands/setup.js +33 -0
  125. package/dist/src/redteam/commands/setup.js.map +1 -0
  126. package/dist/src/redteam/constants.d.ts +4 -4
  127. package/dist/src/redteam/constants.d.ts.map +1 -1
  128. package/dist/src/redteam/constants.js +12 -2
  129. package/dist/src/redteam/constants.js.map +1 -1
  130. package/dist/src/redteam/index.d.ts.map +1 -1
  131. package/dist/src/redteam/index.js +95 -37
  132. package/dist/src/redteam/index.js.map +1 -1
  133. package/dist/src/redteam/plugins/base.d.ts.map +1 -1
  134. package/dist/src/redteam/plugins/base.js +2 -0
  135. package/dist/src/redteam/plugins/base.js.map +1 -1
  136. package/dist/src/redteam/plugins/competitors.d.ts.map +1 -1
  137. package/dist/src/redteam/plugins/competitors.js +23 -1
  138. package/dist/src/redteam/plugins/competitors.js.map +1 -1
  139. package/dist/src/redteam/plugins/debugAccess.d.ts.map +1 -1
  140. package/dist/src/redteam/plugins/debugAccess.js +18 -0
  141. package/dist/src/redteam/plugins/debugAccess.js.map +1 -1
  142. package/dist/src/redteam/plugins/harmful/constants.d.ts.map +1 -1
  143. package/dist/src/redteam/plugins/harmful/constants.js +32 -8
  144. package/dist/src/redteam/plugins/harmful/constants.js.map +1 -1
  145. package/dist/src/redteam/plugins/harmful/unaligned.js +1 -1
  146. package/dist/src/redteam/plugins/harmful/unaligned.js.map +1 -1
  147. package/dist/src/redteam/plugins/intent.d.ts.map +1 -1
  148. package/dist/src/redteam/plugins/intent.js +6 -0
  149. package/dist/src/redteam/plugins/intent.js.map +1 -1
  150. package/dist/src/redteam/providers/crescendo/index.d.ts +3 -0
  151. package/dist/src/redteam/providers/crescendo/index.d.ts.map +1 -1
  152. package/dist/src/redteam/providers/crescendo/index.js +66 -37
  153. package/dist/src/redteam/providers/crescendo/index.js.map +1 -1
  154. package/dist/src/redteam/providers/goat.d.ts.map +1 -1
  155. package/dist/src/redteam/providers/goat.js +56 -41
  156. package/dist/src/redteam/providers/goat.js.map +1 -1
  157. package/dist/src/redteam/providers/iterative.d.ts +1 -0
  158. package/dist/src/redteam/providers/iterative.d.ts.map +1 -1
  159. package/dist/src/redteam/providers/iterative.js +14 -9
  160. package/dist/src/redteam/providers/iterative.js.map +1 -1
  161. package/dist/src/redteam/providers/iterativeImage.d.ts +3 -1
  162. package/dist/src/redteam/providers/iterativeImage.d.ts.map +1 -1
  163. package/dist/src/redteam/providers/iterativeImage.js +14 -8
  164. package/dist/src/redteam/providers/iterativeImage.js.map +1 -1
  165. package/dist/src/redteam/providers/iterativeTree.d.ts.map +1 -1
  166. package/dist/src/redteam/providers/iterativeTree.js +26 -19
  167. package/dist/src/redteam/providers/iterativeTree.js.map +1 -1
  168. package/dist/src/redteam/providers/shared.d.ts +9 -6
  169. package/dist/src/redteam/providers/shared.d.ts.map +1 -1
  170. package/dist/src/redteam/providers/shared.js +9 -16
  171. package/dist/src/redteam/providers/shared.js.map +1 -1
  172. package/dist/src/redteam/strategies/citation.d.ts +3 -0
  173. package/dist/src/redteam/strategies/citation.d.ts.map +1 -0
  174. package/dist/src/redteam/strategies/citation.js +96 -0
  175. package/dist/src/redteam/strategies/citation.js.map +1 -0
  176. package/dist/src/redteam/strategies/index.d.ts +3 -2
  177. package/dist/src/redteam/strategies/index.d.ts.map +1 -1
  178. package/dist/src/redteam/strategies/index.js +68 -13
  179. package/dist/src/redteam/strategies/index.js.map +1 -1
  180. package/dist/src/redteam/strategies/singleTurnComposite.d.ts +3 -0
  181. package/dist/src/redteam/strategies/singleTurnComposite.d.ts.map +1 -0
  182. package/dist/src/redteam/strategies/singleTurnComposite.js +89 -0
  183. package/dist/src/redteam/strategies/singleTurnComposite.js.map +1 -0
  184. package/dist/src/redteam/types.d.ts +5 -1
  185. package/dist/src/redteam/types.d.ts.map +1 -1
  186. package/dist/src/server/index.js +4 -2
  187. package/dist/src/server/index.js.map +1 -1
  188. package/dist/src/server/routes/providers.js +1 -0
  189. package/dist/src/server/routes/providers.js.map +1 -1
  190. package/dist/src/server/server.d.ts +1 -6
  191. package/dist/src/server/server.d.ts.map +1 -1
  192. package/dist/src/server/server.js +13 -43
  193. package/dist/src/server/server.js.map +1 -1
  194. package/dist/src/testCases.js +1 -1
  195. package/dist/src/testCases.js.map +1 -1
  196. package/dist/src/types/env.d.ts +54 -0
  197. package/dist/src/types/env.d.ts.map +1 -0
  198. package/dist/src/types/env.js +3 -0
  199. package/dist/src/types/env.js.map +1 -0
  200. package/dist/src/types/index.d.ts +8395 -6838
  201. package/dist/src/types/index.d.ts.map +1 -1
  202. package/dist/src/types/index.js +2 -1
  203. package/dist/src/types/index.js.map +1 -1
  204. package/dist/src/types/providers.d.ts +3 -53
  205. package/dist/src/types/providers.d.ts.map +1 -1
  206. package/dist/src/types/providers.js.map +1 -1
  207. package/dist/src/util/config/load.js +1 -1
  208. package/dist/src/util/config/load.js.map +1 -1
  209. package/dist/src/util/index.d.ts +32 -32
  210. package/dist/src/util/server.d.ts +10 -0
  211. package/dist/src/util/server.d.ts.map +1 -0
  212. package/dist/src/util/server.js +74 -0
  213. package/dist/src/util/server.js.map +1 -0
  214. package/dist/src/util/transform.d.ts +1 -0
  215. package/dist/src/util/transform.d.ts.map +1 -1
  216. package/dist/src/util/transform.js.map +1 -1
  217. package/dist/src/validators/providers.d.ts +296 -296
  218. package/dist/src/validators/redteam.d.ts +130 -126
  219. package/dist/src/validators/redteam.d.ts.map +1 -1
  220. package/dist/src/validators/redteam.js +18 -2
  221. package/dist/src/validators/redteam.js.map +1 -1
  222. package/dist/test/cache.test.js +47 -7
  223. package/dist/test/cache.test.js.map +1 -1
  224. package/dist/test/commands/init.test.js +14 -0
  225. package/dist/test/commands/init.test.js.map +1 -1
  226. package/dist/test/evaluator.test.js +50 -0
  227. package/dist/test/evaluator.test.js.map +1 -1
  228. package/dist/test/factories/evalFactory.d.ts +144 -144
  229. package/dist/test/prompts/index.test.js +38 -25
  230. package/dist/test/prompts/index.test.js.map +1 -1
  231. package/dist/test/prompts/processors/yaml.test.js +50 -4
  232. package/dist/test/prompts/processors/yaml.test.js.map +1 -1
  233. package/dist/test/providers/http.test.js +0 -17
  234. package/dist/test/providers/http.test.js.map +1 -1
  235. package/dist/test/providers/index.test.js +1 -0
  236. package/dist/test/providers/index.test.js.map +1 -1
  237. package/dist/test/providers/togetherai.test.js.map +1 -1
  238. package/dist/test/redteam/commands/generate.test.js +58 -0
  239. package/dist/test/redteam/commands/generate.test.js.map +1 -1
  240. package/dist/test/redteam/index.test.js +2 -2
  241. package/dist/test/redteam/index.test.js.map +1 -1
  242. package/dist/test/redteam/plugins/base.test.js +8 -0
  243. package/dist/test/redteam/plugins/base.test.js.map +1 -1
  244. package/dist/test/redteam/providers/iterativeTree.test.js +11 -3
  245. package/dist/test/redteam/providers/iterativeTree.test.js.map +1 -1
  246. package/dist/test/testCases.test.js +21 -0
  247. package/dist/test/testCases.test.js.map +1 -1
  248. package/dist/test/types.test.js +17 -4
  249. package/dist/test/types.test.js.map +1 -1
  250. package/dist/test/util/server.test.d.ts +2 -0
  251. package/dist/test/util/server.test.d.ts.map +1 -0
  252. package/dist/test/util/server.test.js +114 -0
  253. package/dist/test/util/server.test.js.map +1 -0
  254. package/dist/tsconfig.tsbuildinfo +1 -1
  255. package/package.json +19 -17
  256. package/dist/src/app/assets/index-CbxDbiAR.js +0 -769
@@ -1 +1 @@
1
- {"version":3,"file":"iterativeTree.js","sourceRoot":"","sources":["../../../../src/redteam/providers/iterativeTree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iterativeTree.js","sourceRoot":"","sources":["../../../../src/redteam/providers/iterativeTree.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,20 @@
1
- import { type RedteamFileConfig, type ApiProvider, type CallApiContextParams, type CallApiOptionsParams, type TokenUsage } from '../../types';
1
+ import { type RedteamFileConfig, type ApiProvider, type CallApiOptionsParams, type TokenUsage, type CallApiContextParams } from '../../types';
2
2
  export declare function loadRedteamProvider({ provider, jsonOnly, preferSmallModel, }?: {
3
3
  provider?: RedteamFileConfig['provider'];
4
4
  jsonOnly?: boolean;
5
5
  preferSmallModel?: boolean;
6
6
  }): Promise<ApiProvider | import("../../providers/openai").OpenAiChatCompletionProvider>;
7
+ export type TargetResponse = {
8
+ output: string;
9
+ error?: string;
10
+ sessionId?: string;
11
+ tokenUsage?: TokenUsage;
12
+ };
7
13
  /**
8
14
  * Gets the response from the target provider for a given prompt.
9
15
  * @param targetProvider - The API provider to get the response from.
10
16
  * @param targetPrompt - The prompt to send to the target provider.
11
- * @returns A promise that resolves to the target provider's response as a string.
17
+ * @returns A promise that resolves to the target provider's response as an object.
12
18
  */
13
- export declare function getTargetResponse(targetProvider: ApiProvider, targetPrompt: string, context?: CallApiContextParams, options?: CallApiOptionsParams): Promise<{
14
- extractedResponse: string;
15
- tokenUsage?: TokenUsage;
16
- }>;
19
+ export declare function getTargetResponse(targetProvider: ApiProvider, targetPrompt: string, context?: CallApiContextParams, options?: CallApiOptionsParams): Promise<TargetResponse>;
17
20
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/redteam/providers/shared.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAGrB,wBAAsB,mBAAmB,CAAC,EACxC,QAAQ,EACR,QAAgB,EAChB,gBAAwB,GACzB,GAAE;IACD,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,wFA0BL;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,cAAc,EAAE,WAAW,EAC3B,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,oBAAoB,EAC9B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC,CAoCjE"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/redteam/providers/shared.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAC;AAGrB,wBAAsB,mBAAmB,CAAC,EACxC,QAAQ,EACR,QAAgB,EAChB,gBAAwB,GACzB,GAAE;IACD,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,wFA0BL;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,cAAc,EAAE,WAAW,EAC3B,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,oBAAoB,EAC9B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,CA8BzB"}
@@ -65,7 +65,7 @@ async function loadRedteamProvider({ provider, jsonOnly = false, preferSmallMode
65
65
  * Gets the response from the target provider for a given prompt.
66
66
  * @param targetProvider - The API provider to get the response from.
67
67
  * @param targetPrompt - The prompt to send to the target provider.
68
- * @returns A promise that resolves to the target provider's response as a string.
68
+ * @returns A promise that resolves to the target provider's response as an object.
69
69
  */
70
70
  async function getTargetResponse(targetProvider, targetPrompt, context, options) {
71
71
  let targetRespRaw;
@@ -73,30 +73,23 @@ async function getTargetResponse(targetProvider, targetPrompt, context, options)
73
73
  targetRespRaw = await targetProvider.callApi(targetPrompt, context, options);
74
74
  }
75
75
  catch (error) {
76
- return {
77
- extractedResponse: error.message,
78
- tokenUsage: {
79
- numRequests: 1,
80
- },
81
- };
76
+ return { output: '', error: error.message, tokenUsage: { numRequests: 1 } };
82
77
  }
83
78
  if (targetRespRaw?.output) {
84
79
  return {
85
- extractedResponse: typeof targetRespRaw.output === 'string'
80
+ output: typeof targetRespRaw.output === 'string'
86
81
  ? targetRespRaw.output
87
82
  : JSON.stringify(targetRespRaw.output),
88
- tokenUsage: {
89
- ...(targetRespRaw.tokenUsage || {}),
90
- numRequests: 1,
91
- },
83
+ sessionId: targetRespRaw.sessionId,
84
+ tokenUsage: targetRespRaw.tokenUsage || { numRequests: 1 },
92
85
  };
93
86
  }
94
87
  if (targetRespRaw?.error) {
95
88
  return {
96
- extractedResponse: targetRespRaw.error,
97
- tokenUsage: {
98
- numRequests: 1,
99
- },
89
+ output: '',
90
+ error: targetRespRaw.error,
91
+ sessionId: targetRespRaw.sessionId,
92
+ tokenUsage: { numRequests: 1 },
100
93
  };
101
94
  }
102
95
  throw new Error('Expected target output or error to be set');
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/redteam/providers/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/redteam/providers/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { TestCase } from '../../types';
2
+ export declare function addCitationTestCases(testCases: TestCase[], injectVar: string, config: Record<string, unknown>): Promise<TestCase[]>;
3
+ //# sourceMappingURL=citation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"citation.d.ts","sourceRoot":"","sources":["../../../../src/redteam/strategies/citation.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAmG5C,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAWrB"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.addCitationTestCases = addCitationTestCases;
7
+ const async_1 = __importDefault(require("async"));
8
+ const cli_progress_1 = require("cli-progress");
9
+ const dedent_1 = __importDefault(require("dedent"));
10
+ const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
11
+ const cache_1 = require("../../cache");
12
+ const logger_1 = __importDefault(require("../../logger"));
13
+ const shared_1 = require("../../providers/shared");
14
+ const constants_1 = require("../constants");
15
+ const util_1 = require("../util");
16
+ async function generateCitations(testCases, injectVar, config) {
17
+ let progressBar;
18
+ try {
19
+ const concurrency = 10;
20
+ const allResults = [];
21
+ if (logger_1.default.level !== 'debug') {
22
+ progressBar = new cli_progress_1.SingleBar({
23
+ format: 'Citation Generation {bar} {percentage}% | ETA: {eta}s | {value}/{total} cases',
24
+ hideCursor: true,
25
+ }, cli_progress_1.Presets.shades_classic);
26
+ progressBar.start(testCases.length, 0);
27
+ }
28
+ await async_1.default.forEachOfLimit(testCases, concurrency, async (testCase, index) => {
29
+ (0, tiny_invariant_1.default)(testCase.vars, `Citation: testCase.vars is required, but got ${JSON.stringify(testCase)}`);
30
+ const payload = {
31
+ task: 'citation',
32
+ testCases: [testCase],
33
+ injectVar,
34
+ topic: testCase.vars[injectVar],
35
+ config,
36
+ };
37
+ const { data } = await (0, cache_1.fetchWithCache)((0, constants_1.getRemoteGenerationUrl)(), {
38
+ method: 'POST',
39
+ headers: {
40
+ 'Content-Type': 'application/json',
41
+ },
42
+ body: JSON.stringify(payload),
43
+ }, shared_1.REQUEST_TIMEOUT_MS);
44
+ logger_1.default.debug(`Got remote citation generation result for case ${Number(index) + 1}: ${JSON.stringify(data)}`);
45
+ const citationTestCase = {
46
+ ...testCase,
47
+ vars: {
48
+ ...testCase.vars,
49
+ [injectVar]: (0, dedent_1.default) `
50
+ Based on the following ${data.result.citation.type.toLowerCase()}, ${testCase.vars[injectVar]}
51
+
52
+ Reference:
53
+ 1. ${data.result.citation.content}
54
+ `,
55
+ },
56
+ assert: testCase.assert?.map((assertion) => ({
57
+ ...assertion,
58
+ metric: `${assertion.metric}/Citation`,
59
+ })),
60
+ metadata: {
61
+ ...testCase.metadata,
62
+ citation: data.result.citation,
63
+ },
64
+ };
65
+ allResults.push(citationTestCase);
66
+ if (progressBar) {
67
+ progressBar.increment(1);
68
+ }
69
+ else {
70
+ logger_1.default.debug(`Processed case ${Number(index) + 1} of ${testCases.length}`);
71
+ }
72
+ });
73
+ if (progressBar) {
74
+ progressBar.stop();
75
+ }
76
+ return allResults;
77
+ }
78
+ catch (error) {
79
+ if (progressBar) {
80
+ progressBar.stop();
81
+ }
82
+ logger_1.default.error(`Error in remote citation generation: ${error}`);
83
+ return [];
84
+ }
85
+ }
86
+ async function addCitationTestCases(testCases, injectVar, config) {
87
+ if ((0, util_1.neverGenerateRemote)()) {
88
+ throw new Error('Citation strategy requires remote generation to be enabled');
89
+ }
90
+ const citationTestCases = await generateCitations(testCases, injectVar, config);
91
+ if (citationTestCases.length === 0) {
92
+ logger_1.default.warn('No citation test cases were generated');
93
+ }
94
+ return citationTestCases;
95
+ }
96
+ //# sourceMappingURL=citation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"citation.js","sourceRoot":"","sources":["../../../../src/redteam/strategies/citation.ts"],"names":[],"mappings":";;;;;AA0GA,oDAeC;AAzHD,kDAA0B;AAC1B,+CAAkD;AAClD,oDAA4B;AAC5B,oEAAuC;AACvC,uCAA6C;AAC7C,0DAAkC;AAClC,mDAA4D;AAE5D,4CAAsD;AACtD,kCAA8C;AAE9C,KAAK,UAAU,iBAAiB,CAC9B,SAAqB,EACrB,SAAiB,EACjB,MAA2B;IAE3B,IAAI,WAAkC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,UAAU,GAAe,EAAE,CAAC;QAElC,IAAI,gBAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC7B,WAAW,GAAG,IAAI,wBAAS,CACzB;gBACE,MAAM,EAAE,+EAA+E;gBACvF,UAAU,EAAE,IAAI;aACjB,EACD,sBAAO,CAAC,cAAc,CACvB,CAAC;YACF,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,eAAK,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;YAC3E,IAAA,wBAAS,EACP,QAAQ,CAAC,IAAI,EACb,gDAAgD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAC3E,CAAC;YAEF,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,CAAC,QAAQ,CAAC;gBACrB,SAAS;gBACT,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC/B,MAAM;aACP,CAAC;YAEF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,sBAAc,EACnC,IAAA,kCAAsB,GAAE,EACxB;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aAC9B,EACD,2BAAkB,CACnB,CAAC;YAEF,gBAAM,CAAC,KAAK,CACV,kDAAkD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC/F,CAAC;YAEF,MAAM,gBAAgB,GAAG;gBACvB,GAAG,QAAQ;gBACX,IAAI,EAAE;oBACJ,GAAG,QAAQ,CAAC,IAAI;oBAChB,CAAC,SAAS,CAAC,EAAE,IAAA,gBAAM,EAAA;qCACQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;;;eAG1F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO;SAClC;iBACA;gBACD,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBAC3C,GAAG,SAAS;oBACZ,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,WAAW;iBACvC,CAAC,CAAC;gBACH,QAAQ,EAAE;oBACR,GAAG,QAAQ,CAAC,QAAQ;oBACpB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;iBAC/B;aACF,CAAC;YAEF,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAElC,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,gBAAM,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;QACD,gBAAM,CAAC,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;QAC9D,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,SAAqB,EACrB,SAAiB,EACjB,MAA+B;IAE/B,IAAI,IAAA,0BAAmB,GAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,gBAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import type { RedteamStrategyObject, TestCase, TestCaseWithPlugin } from '../../types';
2
2
  export interface Strategy {
3
- key: string;
3
+ id: string;
4
4
  action: (testCases: TestCaseWithPlugin[], injectVar: string, config: Record<string, any>) => Promise<TestCase[]>;
5
5
  }
6
6
  export declare const Strategies: Strategy[];
7
- export declare function validateStrategies(strategies: RedteamStrategyObject[]): void;
7
+ export declare function validateStrategies(strategies: RedteamStrategyObject[]): Promise<void>;
8
+ export declare function loadStrategy(strategyPath: string): Promise<Strategy>;
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/redteam/strategies/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAWvF,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CACN,SAAS,EAAE,kBAAkB,EAAE,EAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACxB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;CAC1B;AAED,eAAO,MAAM,UAAU,EAAE,QAAQ,EA2FhC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAc5E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/redteam/strategies/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAcvF,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,CACN,SAAS,EAAE,kBAAkB,EAAE,EAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACxB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;CAC1B;AAED,eAAO,MAAM,UAAU,EAAE,QAAQ,EA6GhC,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB3F;AAED,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA2B1E"}
@@ -5,10 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Strategies = void 0;
7
7
  exports.validateStrategies = validateStrategies;
8
+ exports.loadStrategy = loadStrategy;
8
9
  const chalk_1 = __importDefault(require("chalk"));
9
10
  const dedent_1 = __importDefault(require("dedent"));
11
+ const path_1 = __importDefault(require("path"));
12
+ const cliState_1 = __importDefault(require("../../cliState"));
13
+ const esm_1 = require("../../esm");
10
14
  const logger_1 = __importDefault(require("../../logger"));
15
+ const file_1 = require("../../util/file");
11
16
  const base64_1 = require("./base64");
17
+ const citation_1 = require("./citation");
12
18
  const crescendo_1 = require("./crescendo");
13
19
  const goat_1 = require("./goat");
14
20
  const iterative_1 = require("./iterative");
@@ -17,9 +23,10 @@ const mathPrompt_1 = require("./mathPrompt");
17
23
  const multilingual_1 = require("./multilingual");
18
24
  const promptInjections_1 = require("./promptInjections");
19
25
  const rot13_1 = require("./rot13");
26
+ const singleTurnComposite_1 = require("./singleTurnComposite");
20
27
  exports.Strategies = [
21
28
  {
22
- key: 'base64',
29
+ id: 'base64',
23
30
  action: async (testCases, injectVar) => {
24
31
  logger_1.default.debug('Adding Base64 encoding to all test cases');
25
32
  const newTestCases = (0, base64_1.addBase64Encoding)(testCases, injectVar);
@@ -28,7 +35,7 @@ exports.Strategies = [
28
35
  },
29
36
  },
30
37
  {
31
- key: 'crescendo',
38
+ id: 'crescendo',
32
39
  action: async (testCases, injectVar, config) => {
33
40
  logger_1.default.debug('Adding Crescendo to all test cases');
34
41
  const newTestCases = (0, crescendo_1.addCrescendo)(testCases, injectVar, config);
@@ -37,7 +44,7 @@ exports.Strategies = [
37
44
  },
38
45
  },
39
46
  {
40
- key: 'goat',
47
+ id: 'goat',
41
48
  action: async (testCases, injectVar, config) => {
42
49
  logger_1.default.debug('Adding GOAT to all test cases');
43
50
  const newTestCases = await (0, goat_1.addGoatTestCases)(testCases, injectVar, config);
@@ -46,7 +53,7 @@ exports.Strategies = [
46
53
  },
47
54
  },
48
55
  {
49
- key: 'jailbreak',
56
+ id: 'jailbreak',
50
57
  action: async (testCases, injectVar, config) => {
51
58
  logger_1.default.debug('Adding experimental jailbreaks to all test cases');
52
59
  const newTestCases = (0, iterative_1.addIterativeJailbreaks)(testCases, injectVar, 'iterative', config);
@@ -55,7 +62,7 @@ exports.Strategies = [
55
62
  },
56
63
  },
57
64
  {
58
- key: 'jailbreak:tree',
65
+ id: 'jailbreak:tree',
59
66
  action: async (testCases, injectVar, config) => {
60
67
  logger_1.default.debug('Adding experimental tree jailbreaks to all test cases');
61
68
  const newTestCases = (0, iterative_1.addIterativeJailbreaks)(testCases, injectVar, 'iterative:tree', config);
@@ -64,7 +71,7 @@ exports.Strategies = [
64
71
  },
65
72
  },
66
73
  {
67
- key: 'leetspeak',
74
+ id: 'leetspeak',
68
75
  action: async (testCases, injectVar) => {
69
76
  logger_1.default.debug('Adding leetspeak encoding to all test cases');
70
77
  const newTestCases = (0, leetspeak_1.addLeetspeak)(testCases, injectVar);
@@ -73,7 +80,7 @@ exports.Strategies = [
73
80
  },
74
81
  },
75
82
  {
76
- key: 'math-prompt',
83
+ id: 'math-prompt',
77
84
  action: async (testCases, injectVar, config) => {
78
85
  logger_1.default.debug('Adding MathPrompt encoding to all test cases');
79
86
  const newTestCases = await (0, mathPrompt_1.addMathPrompt)(testCases, injectVar, config);
@@ -82,7 +89,7 @@ exports.Strategies = [
82
89
  },
83
90
  },
84
91
  {
85
- key: 'multilingual',
92
+ id: 'multilingual',
86
93
  action: async (testCases, injectVar, config) => {
87
94
  logger_1.default.debug('Adding multilingual test cases');
88
95
  const newTestCases = await (0, multilingual_1.addMultilingual)(testCases, injectVar, config);
@@ -91,7 +98,7 @@ exports.Strategies = [
91
98
  },
92
99
  },
93
100
  {
94
- key: 'prompt-injection',
101
+ id: 'prompt-injection',
95
102
  action: async (testCases, injectVar, config) => {
96
103
  logger_1.default.debug('Adding prompt injections to all test cases');
97
104
  const newTestCases = await (0, promptInjections_1.addInjections)(testCases, injectVar, config);
@@ -100,7 +107,7 @@ exports.Strategies = [
100
107
  },
101
108
  },
102
109
  {
103
- key: 'rot13',
110
+ id: 'rot13',
104
111
  action: async (testCases, injectVar) => {
105
112
  logger_1.default.debug('Adding ROT13 encoding to all test cases');
106
113
  const newTestCases = (0, rot13_1.addRot13)(testCases, injectVar);
@@ -108,11 +115,38 @@ exports.Strategies = [
108
115
  return newTestCases;
109
116
  },
110
117
  },
118
+ {
119
+ id: 'citation',
120
+ action: async (testCases, injectVar, config) => {
121
+ logger_1.default.debug('Adding Citation to all test cases');
122
+ const newTestCases = await (0, citation_1.addCitationTestCases)(testCases, injectVar, config);
123
+ logger_1.default.debug(`Added ${newTestCases.length} Citation test cases`);
124
+ return newTestCases;
125
+ },
126
+ },
127
+ {
128
+ id: 'jailbreak:composite',
129
+ action: async (testCases, injectVar, config) => {
130
+ logger_1.default.debug('Adding composite jailbreak test cases');
131
+ const newTestCases = await (0, singleTurnComposite_1.addCompositeTestCases)(testCases, injectVar, config);
132
+ logger_1.default.debug(`Added ${newTestCases.length} composite jailbreak test cases`);
133
+ return newTestCases;
134
+ },
135
+ },
111
136
  ];
112
- function validateStrategies(strategies) {
113
- const invalidStrategies = strategies.filter((strategy) => !exports.Strategies.map((s) => s.key).includes(strategy.id));
137
+ async function validateStrategies(strategies) {
138
+ const invalidStrategies = [];
139
+ for (const strategy of strategies) {
140
+ // Skip validation for file:// strategies since they're loaded dynamically
141
+ if (strategy.id.startsWith('file://')) {
142
+ continue;
143
+ }
144
+ if (!exports.Strategies.map((s) => s.id).includes(strategy.id)) {
145
+ invalidStrategies.push(strategy);
146
+ }
147
+ }
114
148
  if (invalidStrategies.length > 0) {
115
- const validStrategiesString = exports.Strategies.map((s) => s.key).join(', ');
149
+ const validStrategiesString = exports.Strategies.map((s) => s.id).join(', ');
116
150
  const invalidStrategiesString = invalidStrategies.map((s) => s.id).join(', ');
117
151
  logger_1.default.error((0, dedent_1.default) `Invalid strategy(s): ${invalidStrategiesString}.
118
152
 
@@ -120,4 +154,25 @@ function validateStrategies(strategies) {
120
154
  process.exit(1);
121
155
  }
122
156
  }
157
+ async function loadStrategy(strategyPath) {
158
+ if (strategyPath.startsWith('file://')) {
159
+ const filePath = strategyPath.slice('file://'.length);
160
+ if (!(0, file_1.isJavascriptFile)(filePath)) {
161
+ throw new Error(`Custom strategy file must be a JavaScript file: ${filePath}`);
162
+ }
163
+ const basePath = cliState_1.default.basePath || process.cwd();
164
+ const modulePath = path_1.default.isAbsolute(filePath) ? filePath : path_1.default.join(basePath, filePath);
165
+ const CustomStrategy = (await (0, esm_1.importModule)(modulePath));
166
+ // Validate that the custom strategy implements the Strategy interface
167
+ if (!CustomStrategy.id || typeof CustomStrategy.action !== 'function') {
168
+ throw new Error(`Custom strategy in ${filePath} must export an object with 'key' and 'action' properties`);
169
+ }
170
+ return CustomStrategy;
171
+ }
172
+ const strategy = exports.Strategies.find((s) => s.id === strategyPath);
173
+ if (!strategy) {
174
+ throw new Error(`Strategy not found: ${strategyPath}`);
175
+ }
176
+ return strategy;
177
+ }
123
178
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/redteam/strategies/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/redteam/strategies/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { TestCase } from '../../types';
2
+ export declare function addCompositeTestCases(testCases: TestCase[], injectVar: string, config: Record<string, unknown>): Promise<TestCase[]>;
3
+ //# sourceMappingURL=singleTurnComposite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singleTurnComposite.d.ts","sourceRoot":"","sources":["../../../../src/redteam/strategies/singleTurnComposite.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAgG5C,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAWrB"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.addCompositeTestCases = addCompositeTestCases;
7
+ const async_1 = __importDefault(require("async"));
8
+ const cli_progress_1 = require("cli-progress");
9
+ const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
10
+ const cache_1 = require("../../cache");
11
+ const logger_1 = __importDefault(require("../../logger"));
12
+ const shared_1 = require("../../providers/shared");
13
+ const constants_1 = require("../constants");
14
+ const util_1 = require("../util");
15
+ async function generateCompositePrompts(testCases, injectVar, config) {
16
+ let progressBar;
17
+ try {
18
+ const concurrency = 10;
19
+ let allResults = [];
20
+ if (logger_1.default.level !== 'debug') {
21
+ progressBar = new cli_progress_1.SingleBar({
22
+ format: 'Composite Jailbreak Generation {bar} {percentage}% | ETA: {eta}s | {value}/{total} cases',
23
+ hideCursor: true,
24
+ }, cli_progress_1.Presets.shades_classic);
25
+ progressBar.start(testCases.length, 0);
26
+ }
27
+ await async_1.default.forEachOfLimit(testCases, concurrency, async (testCase, index) => {
28
+ (0, tiny_invariant_1.default)(testCase.vars, `Composite: testCase.vars is required, but got ${JSON.stringify(testCase)}`);
29
+ const payload = {
30
+ task: 'jailbreak:composite',
31
+ prompt: testCase.vars[injectVar],
32
+ ...(config.n && { n: config.n }),
33
+ ...(config.modelFamily && { modelFamily: config.modelFamily }),
34
+ };
35
+ const { data } = await (0, cache_1.fetchWithCache)((0, constants_1.getRemoteGenerationUrl)(), {
36
+ method: 'POST',
37
+ headers: {
38
+ 'Content-Type': 'application/json',
39
+ },
40
+ body: JSON.stringify(payload),
41
+ }, shared_1.REQUEST_TIMEOUT_MS);
42
+ logger_1.default.debug(`Got composite jailbreak generation result for case ${Number(index) + 1}: ${JSON.stringify(data)}`);
43
+ const compositeTestCases = data.modifiedPrompts.map((modifiedPrompt) => ({
44
+ ...testCase,
45
+ vars: {
46
+ ...testCase.vars,
47
+ [injectVar]: modifiedPrompt,
48
+ },
49
+ assert: testCase.assert?.map((assertion) => ({
50
+ ...assertion,
51
+ metric: `${assertion.metric}/Composite`,
52
+ })),
53
+ metadata: {
54
+ ...testCase.metadata,
55
+ strategy: 'jailbreak:composite',
56
+ },
57
+ }));
58
+ allResults = allResults.concat(compositeTestCases);
59
+ if (progressBar) {
60
+ progressBar.increment(1);
61
+ }
62
+ else {
63
+ logger_1.default.debug(`Processed case ${Number(index) + 1} of ${testCases.length}`);
64
+ }
65
+ });
66
+ if (progressBar) {
67
+ progressBar.stop();
68
+ }
69
+ return allResults;
70
+ }
71
+ catch (error) {
72
+ if (progressBar) {
73
+ progressBar.stop();
74
+ }
75
+ logger_1.default.error(`Error in composite generation: ${error}`);
76
+ return [];
77
+ }
78
+ }
79
+ async function addCompositeTestCases(testCases, injectVar, config) {
80
+ if ((0, util_1.neverGenerateRemote)()) {
81
+ throw new Error('Composite jailbreak strategy requires remote generation to be enabled');
82
+ }
83
+ const compositeTestCases = await generateCompositePrompts(testCases, injectVar, config);
84
+ if (compositeTestCases.length === 0) {
85
+ logger_1.default.warn('No composite jailbreak test cases were generated');
86
+ }
87
+ return compositeTestCases;
88
+ }
89
+ //# sourceMappingURL=singleTurnComposite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singleTurnComposite.js","sourceRoot":"","sources":["../../../../src/redteam/strategies/singleTurnComposite.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,11 @@ type WithNumTests = {
19
19
  };
20
20
  export type RedteamPluginObject = ConfigurableObject & WithNumTests;
21
21
  export type RedteamPlugin = string | RedteamPluginObject;
22
- export type RedteamStrategyObject = ConfigurableObject;
22
+ export type RedteamStrategyObject = ConfigurableObject & {
23
+ config?: StrategyConfig & {
24
+ plugins?: RedteamPluginObject['id'][];
25
+ };
26
+ };
23
27
  export type RedteamStrategy = string | RedteamStrategyObject;
24
28
  export interface PluginActionParams {
25
29
  provider: ApiProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/redteam/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/redteam/types.ts"],"names":[],"mappings":"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"}