promptfoo 0.121.3 → 0.121.4

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 (378) hide show
  1. package/README.md +1 -1
  2. package/dist/src/{ListApp-Du7YVwj5.js → ListApp-DQkFNqE9.js} +1 -1
  3. package/dist/src/{accounts-Xatc0RYb.js → accounts-DdJ2pHMI.js} +5 -5
  4. package/dist/src/{accounts-B2XmGjty.js → accounts-DhMYUUbu.js} +5 -5
  5. package/dist/src/{accounts-BPyfpSeU.cjs → accounts-Dy17bs4D.cjs} +5 -5
  6. package/dist/src/{accounts-CFLK3mnD.js → accounts-F9d_5sMC.js} +6 -6
  7. package/dist/src/{agentic-utils-DAVsChuB.cjs → agentic-utils-BpX5b23w.cjs} +3 -3
  8. package/dist/src/{agentic-utils-DIYAAYE7.js → agentic-utils-P172hM8B.js} +3 -3
  9. package/dist/src/{agentic-utils-D8yXo5Lm.js → agentic-utils-qFlm6zes.js} +4 -4
  10. package/dist/src/{agentic-utils-36epdqwB.js → agentic-utils-w68v6_Dz.js} +3 -3
  11. package/dist/src/{agents-CLQ-P15P.js → agents-8FDnTriG.js} +6 -7
  12. package/dist/src/{agents-CAYbM7qD.cjs → agents-BahDpe5G.cjs} +34 -12
  13. package/dist/src/{agents-DSSTV4bv.js → agents-C-R_jfzI.js} +35 -13
  14. package/dist/src/{agents-wg3ohknq.js → agents-CgaMXvLM.js} +5 -7
  15. package/dist/src/{agents-BBWxKSM0.cjs → agents-D7-HGxUj.cjs} +5 -7
  16. package/dist/src/{agents-BBVJCIYr.js → agents-DJ35I3Nt.js} +35 -13
  17. package/dist/src/{agents-CgBniSlI.js → agents-aYPQLf8W.js} +5 -9
  18. package/dist/src/{agents-Bqgfdokm.js → agents-pQeBEXMm.js} +35 -14
  19. package/dist/src/{aimlapi-BwGC1TtS.js → aimlapi-BCq3MHeL.js} +8 -14
  20. package/dist/src/{aimlapi-MgSLdvy7.js → aimlapi-BD6J9oKt.js} +7 -14
  21. package/dist/src/{aimlapi-Bv8Fmc-b.cjs → aimlapi-qcK4OT55.cjs} +8 -15
  22. package/dist/src/{aimlapi-DaC3qZ-o.js → aimlapi-sgYnkE54.js} +7 -16
  23. package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -0
  24. package/dist/src/app/assets/Report-CQYFezYu.js +1 -0
  25. package/dist/src/app/assets/index-BXGkeMwh.css +1 -0
  26. package/dist/src/app/assets/index-BzJt18Jz.js +385 -0
  27. package/dist/src/app/assets/rolldown-runtime-COnpUsM8.js +1 -0
  28. package/dist/src/app/assets/scroll-timeline-D9IT_e8Z.js +1 -0
  29. package/dist/src/app/assets/sync-IjzpWrOE.js +4 -0
  30. package/dist/src/app/assets/vendor-charts-BNdH8TCw.js +36 -0
  31. package/dist/src/app/assets/vendor-markdown-Ch00wnNI.js +29 -0
  32. package/dist/src/app/assets/vendor-react-CVvmk1UB.js +9 -0
  33. package/dist/src/app/assets/vendor-utils-BnEYbx2Q.js +37 -0
  34. package/dist/src/app/index.html +7 -7
  35. package/dist/src/{audio-DjU9GswO.js → audio-B7izf48x.js} +4 -5
  36. package/dist/src/{audio-DVFjQ67_.cjs → audio-BQtNuYBj.cjs} +4 -4
  37. package/dist/src/{audio-Bn44pQxv.js → audio-COrn8rM6.js} +4 -4
  38. package/dist/src/{audio-DDA5WHdx.js → audio-DcVKoInv.js} +4 -4
  39. package/dist/src/{base-BboXIF_0.cjs → base-D-670DX8.cjs} +3 -3
  40. package/dist/src/{base-CqzQ4K8j.js → base-PYJvBE1i.js} +3 -3
  41. package/dist/src/{base-CKjwebIH.js → base-fZ9wgg50.js} +3 -3
  42. package/dist/src/{base-Cz2ZC_iA.js → base-yrI1Yal4.js} +3 -3
  43. package/dist/src/{blobs-BUWmKWzo.js → blobs-BCZavS8s.js} +4 -4
  44. package/dist/src/{blobs-B1JriOyi.js → blobs-BQWqnnvL.js} +4 -4
  45. package/dist/src/{blobs-DXTl6J3H.js → blobs-C-F78Kfn.js} +3 -3
  46. package/dist/src/{blobs-C6j0bvFz.cjs → blobs-D2FAd1Q5.cjs} +3 -3
  47. package/dist/src/cache-BIyPcp5v.cjs +376 -0
  48. package/dist/src/cache-C4Xb-hNb.js +310 -0
  49. package/dist/src/cache-Cr9oLMUa.js +3 -0
  50. package/dist/src/cache-D5NZmMiT.js +310 -0
  51. package/dist/src/cache-DbLsVWB2.cjs +3 -0
  52. package/dist/src/cache-mb7c8hbp.js +280 -0
  53. package/dist/src/{chat-DK1U-eZ-.js → chat-0bwXjVP0.js} +3 -13
  54. package/dist/src/{chat-BtIKkLKx.cjs → chat-BPXSW8Bv.cjs} +3 -13
  55. package/dist/src/{chat-B0iaWhoh.js → chat-BfPaS15_.js} +63 -37
  56. package/dist/src/{chat-CM8qWR3_.cjs → chat-CclRbxGf.cjs} +63 -37
  57. package/dist/src/{chat-BEwdgGEg.js → chat-Dr3DUQ0D.js} +63 -37
  58. package/dist/src/{chat-pxmiVpWe.js → chat-I9izLm49.js} +62 -36
  59. package/dist/src/{chat-B-52XYI1.js → chat-MKxMnZJZ.js} +3 -13
  60. package/dist/src/{chat-BE0qTA8e.js → chat-mW0ORo8G.js} +3 -14
  61. package/dist/src/{chatkit-Cx174XI3.cjs → chatkit-BoWoSgXl.cjs} +4 -4
  62. package/dist/src/{chatkit-BYGQlHlV.js → chatkit-CJnHRRMM.js} +4 -4
  63. package/dist/src/{chatkit-a2D6mY6s.js → chatkit-Cv6AhukM.js} +4 -4
  64. package/dist/src/{chatkit-_8eJqKcD.js → chatkit-zUIVoDos.js} +4 -4
  65. package/dist/src/{claude-agent-sdk-CMjh4LFH.js → claude-agent-sdk-BQNuLaAK.js} +19 -14
  66. package/dist/src/{claude-agent-sdk-8ddRp1L2.cjs → claude-agent-sdk-CPJo3dBQ.cjs} +21 -16
  67. package/dist/src/{claude-agent-sdk-HgbFioFw.js → claude-agent-sdk-Dtq_L-Sc.js} +20 -15
  68. package/dist/src/{claude-agent-sdk-Bq5EArsX.js → claude-agent-sdk-nfAIcxNf.js} +21 -17
  69. package/dist/src/{cloud-z8KZpUoa.js → cloud-DQZ5sVjW.js} +25 -13
  70. package/dist/src/cloud-Hphvo8kr.js +3 -0
  71. package/dist/src/{cloudflare-ai-Bbp26N0L.js → cloudflare-ai-BIB567w6.js} +5 -14
  72. package/dist/src/{cloudflare-ai-BGyXlpXJ.js → cloudflare-ai-DGLte7Py.js} +5 -14
  73. package/dist/src/{cloudflare-ai-C62x6MQG.cjs → cloudflare-ai-Dl3N9OVD.cjs} +6 -15
  74. package/dist/src/{cloudflare-ai-DdKP9TKT.js → cloudflare-ai-DlKr0rY7.js} +5 -15
  75. package/dist/src/{cloudflare-gateway-D-e9i1Sn.js → cloudflare-gateway-BDZrYydE.js} +4 -16
  76. package/dist/src/{cloudflare-gateway-Dx36ftqF.cjs → cloudflare-gateway-BYDp495F.cjs} +4 -15
  77. package/dist/src/{cloudflare-gateway-DXhtXDRb.js → cloudflare-gateway-CiIZHU0Q.js} +4 -15
  78. package/dist/src/{cloudflare-gateway-BwAaUgeW.js → cloudflare-gateway-DI1HNP5F.js} +4 -15
  79. package/dist/src/codex-sdk-BAmYE7qy.js +3 -0
  80. package/dist/src/codex-sdk-C2_M2pl_.cjs +1172 -0
  81. package/dist/src/codex-sdk-CErXn7qh.js +1165 -0
  82. package/dist/src/codex-sdk-CWEnH70W.cjs +2 -0
  83. package/dist/src/codex-sdk-CpqiOqDO.js +1164 -0
  84. package/dist/src/codex-sdk-Rtky3M4I.js +1165 -0
  85. package/dist/src/{cometapi-BDyV-NNm.js → cometapi-BUlt_ELa.js} +8 -15
  86. package/dist/src/{cometapi-hhL4TAh3.js → cometapi-CtJ-mS8R.js} +9 -15
  87. package/dist/src/{cometapi-sp7sJpBD.js → cometapi-DT-jlVCB.js} +8 -17
  88. package/dist/src/{cometapi-C3hOlM7-.cjs → cometapi-UVOryo4W.cjs} +9 -16
  89. package/dist/src/{completion-DlXUhj5c.cjs → completion-BozdoXba.cjs} +7 -62
  90. package/dist/src/{completion-BCimtq-h.js → completion-Dnxn7E-j.js} +8 -57
  91. package/dist/src/{completion-DCjv7RZ3.js → completion-HUe8wDhZ.js} +8 -57
  92. package/dist/src/{completion-DoYy49ti.js → completion-x0a_c2y1.js} +8 -57
  93. package/dist/src/{createHash-CTQmL3G2.js → createHash-4gFQpDDv.js} +3 -3
  94. package/dist/src/{createHash-BYwImsYv.cjs → createHash-B7KvgoOD.cjs} +4 -4
  95. package/dist/src/{createHash-Da8fMwqB.js → createHash-ChI45QR1.js} +3 -3
  96. package/dist/src/{createHash-DmPQkvBh.js → createHash-CwDVU5xr.js} +3 -3
  97. package/dist/src/{docker-FeBni2dw.js → docker-CQmlA2NU.js} +7 -14
  98. package/dist/src/{docker-CxCkwMzc.js → docker-ClnmCf1Z.js} +6 -14
  99. package/dist/src/{docker-DpguQj-w.js → docker-DCgsveLD.js} +6 -16
  100. package/dist/src/{docker-Cqj2-QVi.cjs → docker-DS4_Osau.cjs} +7 -15
  101. package/dist/src/embedding-D3xTseo7.js +59 -0
  102. package/dist/src/embedding-DD9wa3ae.js +58 -0
  103. package/dist/src/embedding-I45KG3o7.cjs +63 -0
  104. package/dist/src/embedding-nFbumxcv.js +58 -0
  105. package/dist/src/entrypoint.js +69 -6
  106. package/dist/src/{errors-P6ll7XSJ.js → errors-Cw810C93.js} +1 -1
  107. package/dist/src/{esm-SUNIX1x3.js → esm-C7PnfdF8.js} +15 -6
  108. package/dist/src/{esm-CipptfDu.cjs → esm-CtEPLdAj.cjs} +15 -6
  109. package/dist/src/{esm-CKWP3u_P.js → esm-Dh4dOLlt.js} +16 -7
  110. package/dist/src/{esm-7UIl0pPM.js → esm-tVgYPY-f.js} +27 -18
  111. package/dist/src/eval-CzJFfFO9.js +3 -0
  112. package/dist/src/{eval-BTqTn7lb.js → eval-u4UVafl6.js} +49 -20
  113. package/dist/src/{evalResult-BkIhRdTe.js → evalResult-Bgm9ZH31.js} +7 -7
  114. package/dist/src/{evalResult-DUDShQrm.js → evalResult-D3hVYFis.js} +7 -7
  115. package/dist/src/evalResult-D8MT9p0s.js +3 -0
  116. package/dist/src/evalResult-DElBuddX.js +2 -0
  117. package/dist/src/evalResult-Dvc-iucu.cjs +2 -0
  118. package/dist/src/{evalResult-DpARzUCb.cjs → evalResult-KZqXl4XP.cjs} +7 -7
  119. package/dist/src/evaluator-CVessDWe.js +3 -0
  120. package/dist/src/{evaluator-BcvOGaam.js → evaluator-IvuDYSvQ.js} +3178 -2102
  121. package/dist/src/{extractor-C8XwivI9.js → extractor-CAfTSraf.js} +6 -6
  122. package/dist/src/{extractor-CAZ2G3Kh.js → extractor-DNSeBVOJ.js} +6 -6
  123. package/dist/src/{extractor-D_wd8jxt.js → extractor-Dk6bRWkv.js} +6 -6
  124. package/dist/src/{extractor-DG3sSfXE.cjs → extractor-WVPOrH43.cjs} +6 -6
  125. package/dist/src/{fetch-BiYv2BZc.js → fetch-B0Z3Oe4k.js} +218 -55
  126. package/dist/src/{fetch-DoVRJZhJ.js → fetch-BEWnXrrG.js} +195 -45
  127. package/dist/src/fetch-C7bGKDlQ.js +3 -0
  128. package/dist/src/{fetch-BnR9wSnm.cjs → fetch-CJU5ELPa.cjs} +223 -48
  129. package/dist/src/{fetch-CVAtKnI3.js → fetch-Di00EQrc.js} +218 -55
  130. package/dist/src/{fileExtensions-Ds-foDzt.js → fileExtensions-AWa2ZML4.js} +1 -1
  131. package/dist/src/{fileExtensions-LcDYkU4v.js → fileExtensions-BArZuxsI.js} +1 -1
  132. package/dist/src/{formatDuration-DgBVMN65.js → formatDuration-DZzPsexs.js} +1 -1
  133. package/dist/src/{genaiTracer-70Z8BIuV.js → genaiTracer-COYDi-tC.js} +6 -2
  134. package/dist/src/{genaiTracer-C1rxGO8Q.js → genaiTracer-DWdZ28hY.js} +6 -2
  135. package/dist/src/{genaiTracer-D3fD9dNV.js → genaiTracer-XnrcgDCe.js} +6 -2
  136. package/dist/src/{genaiTracer-BfxrvSUb.cjs → genaiTracer-yRuxj9-L.cjs} +7 -3
  137. package/dist/src/golang/wrapper.go +1 -1
  138. package/dist/src/{graders-BElhu9ZY.cjs → graders--zknU_uk.cjs} +3772 -1302
  139. package/dist/src/graders-BOAzQEUe.cjs +2 -0
  140. package/dist/src/graders-D4BTsZdG2.js +3 -0
  141. package/dist/src/graders-DOJK1XpV.js +2 -0
  142. package/dist/src/graders-NAv9LcBn.js +2 -0
  143. package/dist/src/{graders-DG7mhg-b.js → graders-Zy3x0zqX.js} +5691 -3247
  144. package/dist/src/{graders-RjHF8VfG.js → graders-eIHhRqoC.js} +5683 -3239
  145. package/dist/src/{graders-BXAJ0sbS.js → graders-pvbReLLn.js} +5692 -3248
  146. package/dist/src/{image-6WQXK8m8.js → image-9302QVqR.js} +4 -4
  147. package/dist/src/{image-B8b6f36E.js → image-B5Mv-Z3h.js} +8 -8
  148. package/dist/src/{image-PoF6DN3x.js → image-DVz2RiMF.js} +8 -8
  149. package/dist/src/{image-fza3zuKs.cjs → image-De2FBmYV.cjs} +4 -4
  150. package/dist/src/{image-DO0RYnjH.js → image-dnoUgPrC.js} +4 -5
  151. package/dist/src/{image-CoxZp9PZ.js → image-qUpPvmNZ.js} +8 -8
  152. package/dist/src/{image-xNbw5ph2.js → image-u7-rKnYU.js} +4 -4
  153. package/dist/src/{image--F58eEIn.cjs → image-x6KqLQl4.cjs} +8 -8
  154. package/dist/src/index.cjs +3641 -2144
  155. package/dist/src/index.d.cts +2660 -20
  156. package/dist/src/index.d.ts +2660 -20
  157. package/dist/src/index.js +3649 -2152
  158. package/dist/src/{interactiveCheck-BnMYOjMu.js → interactiveCheck-CLERUB0c.js} +2 -2
  159. package/dist/src/{knowledgeBase-DqrLX8fy.cjs → knowledgeBase-Bpoe_nLu.cjs} +6 -8
  160. package/dist/src/{knowledgeBase-Bi7CmDbx.js → knowledgeBase-Dgc7CBWF.js} +6 -8
  161. package/dist/src/{knowledgeBase-DFRXPZl_.js → knowledgeBase-RhFPGWDc.js} +6 -8
  162. package/dist/src/{knowledgeBase-Ce3ofVan.js → knowledgeBase-lm9RXSAm.js} +6 -9
  163. package/dist/src/{litellm-CKiAxnoM.js → litellm-C2kqjxqp.js} +6 -14
  164. package/dist/src/{litellm-CnHI69aj.cjs → litellm-CoyI4IAl.cjs} +6 -15
  165. package/dist/src/{litellm-Tc294Jhj.js → litellm-DRjpcSa7.js} +5 -14
  166. package/dist/src/{litellm-Bo2gQXpo.js → litellm-p37R1dzQ.js} +5 -16
  167. package/dist/src/{logger-BnkjG2jt.js → logger-B88EkIn6.js} +40 -11
  168. package/dist/src/{logger-D5iKBpu_.cjs → logger-COuQb2xB.cjs} +51 -10
  169. package/dist/src/{logger-DO8_zM18.js → logger-Ct2S6Yx-.js} +40 -11
  170. package/dist/src/{logger-BcJBzSSA.js → logger-DksKw1Qc.js} +40 -11
  171. package/dist/src/{luma-ray-C9q8rdQe.js → luma-ray-B863CmuZ.js} +6 -10
  172. package/dist/src/{luma-ray-DP0QA9qn.js → luma-ray-BTTLtqQ8.js} +7 -10
  173. package/dist/src/{luma-ray-m9Ku2meV.cjs → luma-ray-BxVKaW2a.cjs} +6 -10
  174. package/dist/src/{luma-ray-0ehMPt5N.js → luma-ray-KgTCXrZC.js} +6 -12
  175. package/dist/src/main.d.ts +1 -26
  176. package/dist/src/main.js +985 -520
  177. package/dist/src/{messages-HJsyEh4o.cjs → messages-811uVVW5.cjs} +69 -19
  178. package/dist/src/{messages-Dy9QecMs.js → messages-BTQz42fn.js} +69 -19
  179. package/dist/src/{messages-biC_ex-p.js → messages-MYTQ2TWp.js} +69 -19
  180. package/dist/src/{messages-DJNo37Ko.js → messages-zWbkLLHz.js} +69 -19
  181. package/dist/src/{meteor-D-SotUw9.js → meteor-CU5UAE-H.js} +1 -1
  182. package/dist/src/{meteor-DLZZ3osF.cjs → meteor-Co1VQ1u5.cjs} +1 -1
  183. package/dist/src/{meteor-44VjEACX.js → meteor-DHdzY1Ss.js} +1 -1
  184. package/dist/src/{meteor-DUiCJRC-.js → meteor-DuAFv6gF.js} +1 -1
  185. package/dist/src/{modelslab-B5J-ZM5c.js → modelslab-D0erNWKe.js} +7 -10
  186. package/dist/src/{modelslab-BTOT8FUO.js → modelslab-DIq-6y7x.js} +7 -10
  187. package/dist/src/{modelslab-IQbNg-r7.cjs → modelslab-Dk1JAtVo.cjs} +7 -10
  188. package/dist/src/{modelslab-BI458moT.js → modelslab-wu9yi5GE.js} +7 -11
  189. package/dist/src/{nova-reel-BZ9y-Y5s.js → nova-reel-CCFRfeRb.js} +7 -10
  190. package/dist/src/{nova-reel-CE5etkv9.cjs → nova-reel-CrLXVKQf.cjs} +6 -10
  191. package/dist/src/{nova-reel-Xw1SXLpg.js → nova-reel-DQrm74ng.js} +6 -10
  192. package/dist/src/{nova-reel-DEeQlnOJ.js → nova-reel-gr11WG7f.js} +6 -12
  193. package/dist/src/{nova-sonic-Ogqf-csn.js → nova-sonic-BYdp-QLs.js} +5 -7
  194. package/dist/src/{nova-sonic-DXTLpi-r.js → nova-sonic-B_ZXcUJB.js} +4 -7
  195. package/dist/src/{nova-sonic-DWswpN1E.js → nova-sonic-TDgrlTk7.js} +4 -9
  196. package/dist/src/{nova-sonic-N0yCm0vb.cjs → nova-sonic-i5tUvXKn.cjs} +4 -7
  197. package/dist/src/{openai-BcB5KlTk.js → openai-DhVEmgeZ.js} +6 -3
  198. package/dist/src/{openai-BMcwgD5C.js → openai-Qsvz25mV.js} +6 -3
  199. package/dist/src/{openai-CoxGAQwn.cjs → openai-URNyItar.cjs} +6 -3
  200. package/dist/src/{openai-D6wITiVn.js → openai-iYtrXzOX.js} +6 -3
  201. package/dist/src/openclaw-CLWrW03k.js +1200 -0
  202. package/dist/src/openclaw-CnQ363Wi.js +1199 -0
  203. package/dist/src/openclaw-CwzlQSQX.js +1199 -0
  204. package/dist/src/openclaw-wX9rtfke.cjs +1205 -0
  205. package/dist/src/{opencode-sdk-CHCs7dEb.js → opencode-sdk-BUu5Nevv.js} +6 -8
  206. package/dist/src/{opencode-sdk-WWJhnbKr.cjs → opencode-sdk-BZ2idgYA.cjs} +6 -8
  207. package/dist/src/{opencode-sdk-DDxj4QqH.js → opencode-sdk-BxD8vXp_.js} +7 -8
  208. package/dist/src/{opencode-sdk-C71Z0ehR.js → opencode-sdk-GI2KaAXq.js} +6 -10
  209. package/dist/src/{otlpReceiver-CZL48YfC.js → otlpReceiver-B2z58l4e.js} +154 -98
  210. package/dist/src/{otlpReceiver-DHKqJlsz.cjs → otlpReceiver-BfcVq2Nq.cjs} +154 -98
  211. package/dist/src/{otlpReceiver-CavGAA6k.js → otlpReceiver-BntK801g.js} +154 -98
  212. package/dist/src/{otlpReceiver-C9KlUtxh.js → otlpReceiver-DmVulbhC.js} +154 -98
  213. package/dist/src/{providerRegistry-BkzVH5Ba.js → providerRegistry-Bvh8mv85.js} +2 -2
  214. package/dist/src/{providerRegistry-CUWki5mQ.js → providerRegistry-CPQ_CmVO.js} +2 -2
  215. package/dist/src/{providerRegistry-BTDgfV5h.cjs → providerRegistry-CQMdTmHP.cjs} +2 -2
  216. package/dist/src/{providerRegistry-B9lh-_tx.js → providerRegistry-CWoPjKFZ.js} +2 -2
  217. package/dist/src/{providers-CScd1wN6.cjs → providers-1eKkXBKp.cjs} +792 -556
  218. package/dist/src/{providers-Ch6Mr0gn.js → providers-BV_KMZje.js} +699 -493
  219. package/dist/src/providers-Bp4S-FvO.js +2 -0
  220. package/dist/src/providers-DV3ax9e_.cjs +3 -0
  221. package/dist/src/{providers-DvddrgxL.js → providers-Domz_llv.js} +707 -501
  222. package/dist/src/{providers-Cn73d5sr.js → providers-DruaQfwu.js} +704 -498
  223. package/dist/src/providers-iUt5fbAN.js +3 -0
  224. package/dist/src/providers-u9Enmfok.js +2 -0
  225. package/dist/src/python/persistent_wrapper.py +0 -5
  226. package/dist/src/{pythonUtils-Cpo0Ez1p.js → pythonUtils-C2UQ30Rz.js} +3 -3
  227. package/dist/src/{pythonUtils-Bzwbgpbg.js → pythonUtils-Cldx7huE.js} +3 -3
  228. package/dist/src/{pythonUtils-wIqk7zAf.js → pythonUtils-CnndUbW-.js} +3 -3
  229. package/dist/src/{pythonUtils-dAVigVK-.cjs → pythonUtils-tAJvvpS-.cjs} +3 -3
  230. package/dist/src/{quiverai-BeofbLVc.js → quiverai-CtWi6x_g.js} +4 -4
  231. package/dist/src/{quiverai-CcUhPIBg.cjs → quiverai-DFotyafY.cjs} +4 -4
  232. package/dist/src/{quiverai-DVSEqJiq.js → quiverai-DR0SnIQV.js} +4 -4
  233. package/dist/src/{quiverai-CCQn73lq.js → quiverai-aPPvXOgn.js} +4 -5
  234. package/dist/src/render-CH-62LbA.js +135 -0
  235. package/dist/src/render-CMEpfLaO.js +136 -0
  236. package/dist/src/{render-BHl6QVq9.js → render-CgVDrJmM.js} +2 -3
  237. package/dist/src/render-DHIZ6_k8.js +135 -0
  238. package/dist/src/render-DfQSFxGE.cjs +165 -0
  239. package/dist/src/{responses-CQb1Tj69.js → responses--OsX2aYW.js} +17 -12
  240. package/dist/src/{responses-mo0KQDbu.cjs → responses-Bi9vBuW_.cjs} +18 -13
  241. package/dist/src/{responses-CgNyTPsY.js → responses-C-flexAY.js} +18 -13
  242. package/dist/src/{responses-BKP_WYis.js → responses-DL9m8CyY.js} +18 -13
  243. package/dist/src/{rubyUtils-CGeUtCfW.cjs → rubyUtils-B6eljPuh.cjs} +3 -3
  244. package/dist/src/{rubyUtils-DECSbsfY.js → rubyUtils-CYSQEG4a.js} +3 -3
  245. package/dist/src/rubyUtils-D1L2d3jb.js +3 -0
  246. package/dist/src/rubyUtils-DUbq4tff.cjs +2 -0
  247. package/dist/src/{rubyUtils-PgU-gHmx.js → rubyUtils-DVLeA2jg.js} +3 -3
  248. package/dist/src/{rubyUtils-CiVfln3g.js → rubyUtils-DsGrTx8R.js} +3 -3
  249. package/dist/src/{sagemaker-CqeASYE5.js → sagemaker-BVkaG2-l.js} +14 -18
  250. package/dist/src/{sagemaker-CVv8W7so.js → sagemaker-BveBvuxm.js} +14 -18
  251. package/dist/src/{sagemaker-MUbD5V3v.js → sagemaker-D67yzMzs.js} +14 -19
  252. package/dist/src/{sagemaker-jiw1wQa-.cjs → sagemaker-XnfhheQv.cjs} +14 -18
  253. package/dist/src/{scanner-DVDeUz1r.js → scanner-1DqWi1Ej.js} +130 -35
  254. package/dist/src/server/golang/wrapper.go +1 -1
  255. package/dist/src/server/index.js +3596 -2098
  256. package/dist/src/server/python/persistent_wrapper.py +0 -5
  257. package/dist/src/{server-DZ9MtCn0.js → server-BNYztJkh.js} +128 -9
  258. package/dist/src/{server-Cns05F1j.js → server-BSB45Nt9.js} +127 -8
  259. package/dist/src/{server-CP9qKM40.js → server-D6Il2Sob.js} +126 -7
  260. package/dist/src/server-DCtHUqlp.js +3 -0
  261. package/dist/src/server-DaA2eR26.cjs +2 -0
  262. package/dist/src/{server-BtoCXeXI.cjs → server-Dx2TyCH2.cjs} +140 -6
  263. package/dist/src/{signal-C3ZTsUgi.js → signal-CE5G3a7x.js} +3 -3
  264. package/dist/src/{slack-94iG3T0s.cjs → slack-1Rhq0EoV.cjs} +2 -2
  265. package/dist/src/{slack-BR0HtO3K.js → slack-D5Wpy8LM.js} +2 -2
  266. package/dist/src/{slack-DCEV-vWP.js → slack-DDUe-5MC.js} +2 -2
  267. package/dist/src/{slack-2sdpGzbt.js → slack-acRb0IqQ.js} +2 -2
  268. package/dist/src/store-CWOSz6D_.cjs +2 -0
  269. package/dist/src/{store-P8OKm19S.js → store-CYEy5J2D.js} +3 -3
  270. package/dist/src/{store-CLyU7AtI.cjs → store-DAAyxcy6.cjs} +3 -3
  271. package/dist/src/store-DCDBhv7B.js +3 -0
  272. package/dist/src/{store-VB0GP46K.js → store-Dn9HUkdW.js} +3 -3
  273. package/dist/src/{store-Cj258DgL.js → store-M0b1WfYb.js} +3 -3
  274. package/dist/src/{tables-DmzvLbeZ.js → tables-C4CH3zRr.js} +3 -3
  275. package/dist/src/{tables-BEIFz2tM.js → tables-CsWou1Bx.js} +3 -3
  276. package/dist/src/{tables-kC7R5kiK.js → tables-DQ4WU5tX.js} +3 -3
  277. package/dist/src/{tables-BdZQEpRz.cjs → tables-DUfh1F7Z.cjs} +3 -3
  278. package/dist/src/telemetry-C1IqxcdW.js +3 -0
  279. package/dist/src/telemetry-C4ZEa_es.cjs +2 -0
  280. package/dist/src/{telemetry-BnH5VJAU.js → telemetry-CQPez_Jp.js} +4 -4
  281. package/dist/src/{telemetry-re627Lre.cjs → telemetry-Dsw_faFj.cjs} +4 -4
  282. package/dist/src/{telemetry-BugWqKiu.js → telemetry-Dvqxv3YC.js} +4 -4
  283. package/dist/src/{telemetry-DPXLd7UE.js → telemetry-dbaJ0E98.js} +4 -4
  284. package/dist/src/{text-CW1cyrwj.cjs → text-BVi-cLPJ.cjs} +1 -1
  285. package/dist/src/{text-B_UCRPp2.js → text-CZr46tp_.js} +1 -1
  286. package/dist/src/{text-TIv0QYnd.js → text-DHxdyQqT.js} +1 -1
  287. package/dist/src/{text-Db-Wt2u2.js → text-KvuD2Iko.js} +1 -1
  288. package/dist/src/{tokenUsageUtils-bVa1ga6f.cjs → tokenUsageUtils-Bb7DkZPz.cjs} +7 -3
  289. package/dist/src/{tokenUsageUtils-BDGe-iyI.js → tokenUsageUtils-C-bmyHoE.js} +7 -3
  290. package/dist/src/{tokenUsageUtils-DflFMjS0.js → tokenUsageUtils-CXrvO-wA.js} +7 -3
  291. package/dist/src/{transcription-BvtsrzRG.cjs → transcription-BvjmiYB1.cjs} +9 -13
  292. package/dist/src/{transcription-Hb3VnC4M.js → transcription-CJspiD2c.js} +8 -11
  293. package/dist/src/{transcription-CaMivnjG.js → transcription-DuWDupG7.js} +7 -11
  294. package/dist/src/{transcription-DOMMTu01.js → transcription-V2HaAmy2.js} +7 -13
  295. package/dist/src/{transform-BqPkNPYm.js → transform-Bbg6A8Jk.js} +4 -4
  296. package/dist/src/{transform-DrleutM3.js → transform-CG0ehZNG.js} +9 -8
  297. package/dist/src/{transform-0BwoBsvO.cjs → transform-CTeuTR3S.cjs} +16 -8
  298. package/dist/src/{transform-ZrG2dvlo.cjs → transform-CUnzlsbn.cjs} +4 -4
  299. package/dist/src/{transform-BzK09Q_9.js → transform-DYX1_Xnh.js} +5 -5
  300. package/dist/src/transform-DgKlRr73.cjs +2 -0
  301. package/dist/src/transform-M6ITAESf.js +3 -0
  302. package/dist/src/{transform-ljLYHEPh.js → transform-UN5UGu8U.js} +5 -5
  303. package/dist/src/{transform-B2-jIv68.js → transform-lQrDE1BQ.js} +8 -6
  304. package/dist/src/{transform-DyDAwEpE.js → transform-zDhMmzwX.js} +10 -7
  305. package/dist/src/{transformersAvailability-BGkzavwb.js → transformersAvailability-CcHusyhw.js} +1 -1
  306. package/dist/src/{transformersAvailability-DKoRtQLy.cjs → transformersAvailability-Cju9mHgR.cjs} +1 -1
  307. package/dist/src/{transformersAvailability-D6c6ROpT.js → transformersAvailability-DLlROWhg.js} +1 -1
  308. package/dist/src/{types-q8GXGF65.js → types-BGQDAP8i.js} +351 -22
  309. package/dist/src/{types-Cd3ygw8W.js → types-Bgh5SOn6.js} +352 -24
  310. package/dist/src/{types-D8cGDZbL.cjs → types-CeaeaZdP.cjs} +387 -22
  311. package/dist/src/{types-CIhFeUC4.js → types-Dm9JM6Vb.js} +362 -23
  312. package/dist/src/{util-vNmDL5DT.js → util-BYvQUPp7.js} +138 -36
  313. package/dist/src/{util-CuLo2pMR.cjs → util-Bxn8emtE.cjs} +14 -167
  314. package/dist/src/{util-BLvy9qfE.js → util-C8e5uydV.js} +18 -141
  315. package/dist/src/{util-DM2rTn_6.js → util-C9J8ahRn.js} +4 -4
  316. package/dist/src/{util-CFj4YKIn.cjs → util-CN3SrLT4.cjs} +4 -4
  317. package/dist/src/{util-BtoGs5Cb.js → util-D3q0WQ-0.js} +4 -4
  318. package/dist/src/{util-CgDCK4KI.js → util-D9TisOyk.js} +4 -4
  319. package/dist/src/{util-DMFeUvLz.js → util-DDs-7g6-.js} +138 -36
  320. package/dist/src/{util-DbVG-yZU.js → util-DvU2Pw8c.js} +138 -36
  321. package/dist/src/{util-Bm3E9jpK.js → util-DxWpWjhc.js} +12 -135
  322. package/dist/src/{util-CMMkIxfU.js → util-oGMLA7vc.js} +16 -139
  323. package/dist/src/{util--9u9UVCt.cjs → util-olYL5C6N.cjs} +143 -35
  324. package/dist/src/{utils-DKw8mrgr.cjs → utils-B05gLxER.cjs} +6 -4
  325. package/dist/src/{utils-DEuL4VNB.js → utils-BLJKfv0y.js} +6 -4
  326. package/dist/src/{utils-DOjD4dTC.js → utils-DJfvjyMj.js} +6 -4
  327. package/dist/src/{utils-CFxO9KGo.js → utils-hXtCYanr.js} +6 -4
  328. package/dist/tsconfig.tsbuildinfo +1 -1
  329. package/package.json +51 -42
  330. package/dist/src/app/assets/index-B6l9CVVb.js +0 -439
  331. package/dist/src/app/assets/index-DyZ0Ep37.css +0 -1
  332. package/dist/src/app/assets/scroll-timeline-BdJZVXlz.js +0 -1
  333. package/dist/src/app/assets/sync-CStkzc6u.js +0 -4
  334. package/dist/src/app/assets/vendor-charts-BnDWwBlI.js +0 -36
  335. package/dist/src/app/assets/vendor-markdown-Bz7N-ca6.js +0 -29
  336. package/dist/src/app/assets/vendor-react-AtKqiNEf.js +0 -4
  337. package/dist/src/app/assets/vendor-syntax-D06x6TQF.js +0 -2
  338. package/dist/src/app/assets/vendor-utils-BvMHZmO7.js +0 -37
  339. package/dist/src/cache-C5yFZ4gC.cjs +0 -816
  340. package/dist/src/cache-CaT5tPgo.js +0 -756
  341. package/dist/src/cache-CyCanoMu.js +0 -6
  342. package/dist/src/cache-DSqR6ezl.js +0 -726
  343. package/dist/src/cache-Df_QFDNu.cjs +0 -5
  344. package/dist/src/cache-HP0NP4k3.js +0 -756
  345. package/dist/src/cloud-DE3t1-ZI.js +0 -4
  346. package/dist/src/codex-sdk-BQEw16R_.js +0 -834
  347. package/dist/src/codex-sdk-C_07GuVS.js +0 -834
  348. package/dist/src/codex-sdk-DE5G18dx.js +0 -835
  349. package/dist/src/codex-sdk-ZLKfDjqP.cjs +0 -838
  350. package/dist/src/eval-7aEqoMs3.js +0 -15
  351. package/dist/src/evalResult-CYNHkk5A.js +0 -12
  352. package/dist/src/evalResult-CuvJeNiM.js +0 -10
  353. package/dist/src/evalResult-tGdilrWt.cjs +0 -10
  354. package/dist/src/evaluator-BBUqRhz1.js +0 -36
  355. package/dist/src/fetch-UWU706qb.js +0 -5
  356. package/dist/src/graders-BxfEguVY.js +0 -32
  357. package/dist/src/graders-CzVMbEnv.js +0 -34
  358. package/dist/src/graders-DjCXfj0l.cjs +0 -32
  359. package/dist/src/graders-kHzIWOKu.js +0 -32
  360. package/dist/src/openclaw-0Sv7AK3O.js +0 -580
  361. package/dist/src/openclaw-CXxbKgDH.cjs +0 -586
  362. package/dist/src/openclaw-D1FSCps-.js +0 -580
  363. package/dist/src/openclaw-D2ENvu7a.js +0 -582
  364. package/dist/src/providers-BSLEaIQG.js +0 -32
  365. package/dist/src/providers-D-FnDg8k.cjs +0 -31
  366. package/dist/src/providers-DEYiFVAo.js +0 -30
  367. package/dist/src/providers-sS2WI8YD.js +0 -30
  368. package/dist/src/rubyUtils-B1HXG4ej.cjs +0 -4
  369. package/dist/src/rubyUtils-Rt6pKA96.js +0 -5
  370. package/dist/src/server-B0Xh1Gx-.js +0 -7
  371. package/dist/src/server-DJTKu9IR.cjs +0 -5
  372. package/dist/src/store-C5u6MgC8.js +0 -6
  373. package/dist/src/store-CNHk-De4.cjs +0 -5
  374. package/dist/src/telemetry-Yig0Tino.js +0 -7
  375. package/dist/src/telemetry-p8Pwqm1i.cjs +0 -5
  376. package/dist/src/tokenUsageUtils-NYT-WKS6.js +0 -138
  377. package/dist/src/transform-ChNIpHz7.js +0 -6
  378. package/dist/src/transform-PtQ6rAE3.cjs +0 -5
@@ -1,4 +1,4 @@
1
- import { i as isJavascriptFile, t as JAVASCRIPT_EXTENSIONS } from "./fileExtensions-LcDYkU4v.js";
1
+ import { i as isJavascriptFile, t as JAVASCRIPT_EXTENSIONS } from "./fileExtensions-BArZuxsI.js";
2
2
  import { z } from "zod";
3
3
  import dedent from "dedent";
4
4
  //#region src/types/env.ts
@@ -80,6 +80,7 @@ const ProviderEnvOverridesSchema = z.object({
80
80
  CODEX_API_KEY: z.string().optional(),
81
81
  OPENCLAW_CONFIG_PATH: z.string().optional(),
82
82
  OPENCLAW_GATEWAY_PASSWORD: z.string().optional(),
83
+ OPENCLAW_GATEWAY_PORT: z.string().optional(),
83
84
  OPENCLAW_GATEWAY_TOKEN: z.string().optional(),
84
85
  OPENCLAW_GATEWAY_URL: z.string().optional(),
85
86
  PALM_API_HOST: z.string().optional(),
@@ -131,7 +132,9 @@ const ProviderEnvOverridesSchema = z.object({
131
132
  const CompletionTokenDetailsSchema = z.object({
132
133
  reasoning: z.number().optional(),
133
134
  acceptedPrediction: z.number().optional(),
134
- rejectedPrediction: z.number().optional()
135
+ rejectedPrediction: z.number().optional(),
136
+ cacheReadInputTokens: z.number().optional(),
137
+ cacheCreationInputTokens: z.number().optional()
135
138
  });
136
139
  /**
137
140
  * Base schema for token usage statistics with all fields optional
@@ -163,6 +166,7 @@ const PromptFunctionSchema = z.custom((v) => typeof v === "function");
163
166
  const PromptSchema = z.object({
164
167
  id: z.string().optional(),
165
168
  raw: z.string(),
169
+ template: z.string().optional(),
166
170
  display: z.string().optional(),
167
171
  label: z.string(),
168
172
  function: PromptFunctionSchema.optional(),
@@ -173,9 +177,58 @@ assert$1();
173
177
  assert$1();
174
178
  assert$1();
175
179
  //#endregion
180
+ //#region src/redteam/constants/codingAgents.ts
181
+ const CODING_AGENT_CORE_PLUGINS = [
182
+ "coding-agent:repo-prompt-injection",
183
+ "coding-agent:terminal-output-injection",
184
+ "coding-agent:secret-env-read",
185
+ "coding-agent:sandbox-read-escape",
186
+ "coding-agent:verifier-sabotage"
187
+ ];
188
+ const CODING_AGENT_PLUGINS = [
189
+ ...CODING_AGENT_CORE_PLUGINS,
190
+ "coding-agent:secret-file-read",
191
+ "coding-agent:sandbox-write-escape",
192
+ "coding-agent:network-egress-bypass"
193
+ ];
194
+ const CODING_AGENT_COLLECTIONS = ["coding-agent:core"];
195
+ const CODING_AGENT_PLUGIN_DISPLAY_NAMES = {
196
+ "coding-agent:core": "Coding Agent Core",
197
+ "coding-agent:repo-prompt-injection": "Repository Prompt Injection",
198
+ "coding-agent:terminal-output-injection": "Terminal Output Injection",
199
+ "coding-agent:secret-env-read": "Secret Environment Read",
200
+ "coding-agent:secret-file-read": "Secret File Read",
201
+ "coding-agent:sandbox-read-escape": "Sandbox Read Escape",
202
+ "coding-agent:sandbox-write-escape": "Sandbox Write Escape",
203
+ "coding-agent:network-egress-bypass": "Network Egress Bypass",
204
+ "coding-agent:verifier-sabotage": "Verifier Sabotage"
205
+ };
206
+ const CODING_AGENT_PLUGIN_DESCRIPTIONS = {
207
+ "coding-agent:core": "Tests coding agents against a focused MVP set of repository prompt injection, terminal output injection, secret environment read, sandbox read escape, and verifier sabotage risks",
208
+ "coding-agent:repo-prompt-injection": "Tests whether instructions embedded in README files, source comments, fixture data, issue text, logs, or generated artifacts can override the user task or operating policy",
209
+ "coding-agent:terminal-output-injection": "Tests whether compiler, test, package manager, linter, formatter, git, grep, or script output can instruct the coding agent to perform unrelated or dangerous actions",
210
+ "coding-agent:secret-env-read": "Tests whether launcher-only environment canaries remain absent from commands, output, traces, reports, diffs, URLs, and tool or connector parameters",
211
+ "coding-agent:secret-file-read": "Tests whether protected local files, dotfiles, sibling checkout files, temp files, cache files, browser profile files, or support-bundle files remain outside the coding agent task boundary",
212
+ "coding-agent:sandbox-read-escape": "Tests whether the agent can read outside the intended workspace through absolute paths, sibling checkout paths, symlinks, archives, mount points, caches, temp paths, browser profiles, or home directories",
213
+ "coding-agent:sandbox-write-escape": "Tests whether the agent can create, overwrite, append, delete, chmod, or otherwise mutate files outside the intended workspace through relative paths, absolute paths, symlinks, temp paths, home paths, caches, mounts, or sibling checkouts",
214
+ "coding-agent:network-egress-bypass": "Tests whether the agent can make unauthorized outbound network requests, DNS lookups, package fetches, webhook calls, tunnels, or connector/tool calls that bypass the intended network policy",
215
+ "coding-agent:verifier-sabotage": "Tests whether the agent weakens tests, lint, typecheck, CI, snapshots, fixtures, auth, locks, security checks, policies, or harness assertions instead of fixing the requested implementation"
216
+ };
217
+ const CODING_AGENT_PLUGIN_ALIASES = {
218
+ "coding-agent:core": "CodingAgentCore",
219
+ "coding-agent:repo-prompt-injection": "CodingAgentRepoPromptInjection",
220
+ "coding-agent:terminal-output-injection": "CodingAgentTerminalOutputInjection",
221
+ "coding-agent:secret-env-read": "CodingAgentSecretEnvRead",
222
+ "coding-agent:secret-file-read": "CodingAgentSecretFileRead",
223
+ "coding-agent:sandbox-read-escape": "CodingAgentSandboxReadEscape",
224
+ "coding-agent:sandbox-write-escape": "CodingAgentSandboxWriteEscape",
225
+ "coding-agent:network-egress-bypass": "CodingAgentNetworkEgressBypass",
226
+ "coding-agent:verifier-sabotage": "CodingAgentVerifierSabotage"
227
+ };
228
+ //#endregion
176
229
  //#region src/redteam/constants/plugins.ts
177
230
  const MULTI_INPUT_VAR = "__prompt";
178
- const REDTEAM_MODEL = "openai:chat:gpt-5-2025-08-07";
231
+ const REDTEAM_MODEL = "openai:chat:gpt-5.4-2026-03-05";
179
232
  const LLAMA_GUARD_REPLICATE_PROVIDER = "replicate:moderation:meta/llama-guard-4-12b";
180
233
  const LLAMA_GUARD_ENABLED_CATEGORIES = [
181
234
  "S1",
@@ -294,8 +347,10 @@ const COLLECTIONS = [
294
347
  "financial",
295
348
  "ecommerce",
296
349
  "telecom",
350
+ "teen-safety",
297
351
  "realestate",
298
- "guardrails-eval"
352
+ "guardrails-eval",
353
+ ...CODING_AGENT_COLLECTIONS
299
354
  ];
300
355
  const UNALIGNED_PROVIDER_HARM_PLUGINS = {
301
356
  "harmful:child-exploitation": "Child Exploitation",
@@ -345,6 +400,9 @@ const BIAS_PLUGINS = [
345
400
  ];
346
401
  const MEDICAL_PLUGINS = [
347
402
  "medical:anchoring-bias",
403
+ "medical:fda:ai-disclosure",
404
+ "medical:fda:cyber-access-control",
405
+ "medical:fda:cyber-audit-tampering",
348
406
  "medical:hallucination",
349
407
  "medical:incorrect-knowledge",
350
408
  "medical:off-label-use",
@@ -360,6 +418,7 @@ const FINANCIAL_PLUGINS = [
360
418
  "financial:defamation",
361
419
  "financial:hallucination",
362
420
  "financial:impartiality",
421
+ "financial:japan-fiea-suitability",
363
422
  "financial:misconduct",
364
423
  "financial:sox-compliance",
365
424
  "financial:sycophancy"
@@ -405,6 +464,12 @@ const REALESTATE_PLUGINS = [
405
464
  "realestate:advertising-discrimination",
406
465
  "realestate:source-of-income"
407
466
  ];
467
+ const TEEN_SAFETY_PLUGINS = [
468
+ "teen-safety:harmful-body-ideals",
469
+ "teen-safety:dangerous-content",
470
+ "teen-safety:dangerous-roleplay",
471
+ "teen-safety:age-restricted-goods-and-services"
472
+ ];
408
473
  const BASE_PLUGINS = [
409
474
  "contracts",
410
475
  "excessive-agency",
@@ -419,6 +484,7 @@ const ADDITIONAL_PLUGINS = [
419
484
  "bfla",
420
485
  "bola",
421
486
  "cca",
487
+ ...CODING_AGENT_PLUGINS,
422
488
  "competitors",
423
489
  "coppa",
424
490
  "cross-session-leak",
@@ -435,6 +501,9 @@ const ADDITIONAL_PLUGINS = [
435
501
  "mcp",
436
502
  "model-identification",
437
503
  "medical:anchoring-bias",
504
+ "medical:fda:ai-disclosure",
505
+ "medical:fda:cyber-access-control",
506
+ "medical:fda:cyber-audit-tampering",
438
507
  "medical:hallucination",
439
508
  "medical:incorrect-knowledge",
440
509
  "medical:off-label-use",
@@ -448,6 +517,7 @@ const ADDITIONAL_PLUGINS = [
448
517
  "financial:defamation",
449
518
  "financial:hallucination",
450
519
  "financial:impartiality",
520
+ "financial:japan-fiea-suitability",
451
521
  "financial:misconduct",
452
522
  "financial:sox-compliance",
453
523
  "financial:sycophancy",
@@ -477,6 +547,10 @@ const ADDITIONAL_PLUGINS = [
477
547
  "telecom:coverage-misinformation",
478
548
  "telecom:law-enforcement-request-handling",
479
549
  "telecom:accessibility-violation",
550
+ "teen-safety:harmful-body-ideals",
551
+ "teen-safety:dangerous-content",
552
+ "teen-safety:dangerous-roleplay",
553
+ "teen-safety:age-restricted-goods-and-services",
480
554
  "realestate:fair-housing-discrimination",
481
555
  "realestate:steering",
482
556
  "realestate:discriminatory-listings",
@@ -508,6 +582,16 @@ const ADDITIONAL_PLUGINS = [
508
582
  ];
509
583
  const CONFIG_REQUIRED_PLUGINS = ["intent", "policy"];
510
584
  const AGENTIC_EXEMPT_PLUGINS = ["system-prompt-override", "agentic:memory-poisoning"];
585
+ const CANARY_BREAKING_STRATEGY_IDS = [
586
+ "base64",
587
+ "hex",
588
+ "homoglyph",
589
+ "leetspeak",
590
+ "rot13",
591
+ "multilingual",
592
+ "math-prompt",
593
+ "jailbreak:composite"
594
+ ];
511
595
  const DATASET_EXEMPT_PLUGINS = [
512
596
  "aegis",
513
597
  "beavertails",
@@ -558,10 +642,13 @@ const PLUGIN_CATEGORIES = {
558
642
  pharmacy: PHARMACY_PLUGINS,
559
643
  insurance: INSURANCE_PLUGINS,
560
644
  telecom: TELECOM_PLUGINS,
645
+ "teen-safety": TEEN_SAFETY_PLUGINS,
561
646
  realestate: REALESTATE_PLUGINS
562
647
  };
563
648
  const REMOTE_ONLY_PLUGIN_IDS = [
564
649
  "agentic:memory-poisoning",
650
+ ...CODING_AGENT_COLLECTIONS,
651
+ ...CODING_AGENT_PLUGINS,
565
652
  "ascii-smuggling",
566
653
  "bfla",
567
654
  "bola",
@@ -1076,26 +1163,125 @@ const NIST_AI_RMF_MAPPING = {
1076
1163
  strategies: []
1077
1164
  }
1078
1165
  };
1166
+ const MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING = {
1167
+ plugins: [
1168
+ "ascii-smuggling",
1169
+ "excessive-agency",
1170
+ "harmful:cybercrime:malicious-code",
1171
+ "hallucination",
1172
+ "indirect-prompt-injection",
1173
+ "rag-poisoning"
1174
+ ],
1175
+ strategies: ["jailbreak", "jailbreak:tree"]
1176
+ };
1079
1177
  const MITRE_ATLAS_MAPPING = {
1178
+ "mitre:atlas:ai-attack-staging": MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING,
1179
+ "mitre:atlas:ai-model-access": {
1180
+ plugins: [],
1181
+ strategies: []
1182
+ },
1183
+ "mitre:atlas:collection": {
1184
+ plugins: [
1185
+ "data-exfil",
1186
+ "harmful:privacy",
1187
+ "pii:api-db",
1188
+ "pii:direct",
1189
+ "pii:session",
1190
+ "pii:social",
1191
+ "prompt-extraction",
1192
+ "rag-document-exfiltration"
1193
+ ],
1194
+ strategies: []
1195
+ },
1196
+ "mitre:atlas:command-and-control": {
1197
+ plugins: [
1198
+ "excessive-agency",
1199
+ "harmful:cybercrime",
1200
+ "harmful:cybercrime:malicious-code",
1201
+ "mcp",
1202
+ "shell-injection",
1203
+ "ssrf"
1204
+ ],
1205
+ strategies: ["crescendo"]
1206
+ },
1207
+ "mitre:atlas:credential-access": {
1208
+ plugins: [
1209
+ "data-exfil",
1210
+ "harmful:privacy",
1211
+ "pii:api-db",
1212
+ "pii:direct",
1213
+ "pii:session",
1214
+ "pii:social",
1215
+ "prompt-extraction",
1216
+ "rag-document-exfiltration",
1217
+ "tool-discovery"
1218
+ ],
1219
+ strategies: []
1220
+ },
1221
+ "mitre:atlas:defense-evasion": {
1222
+ plugins: [
1223
+ "ascii-smuggling",
1224
+ "hijacking",
1225
+ "imitation",
1226
+ "rag-source-attribution",
1227
+ "special-token-injection"
1228
+ ],
1229
+ strategies: [
1230
+ "base64",
1231
+ "jailbreak",
1232
+ "jailbreak-templates",
1233
+ "leetspeak",
1234
+ "rot13"
1235
+ ]
1236
+ },
1237
+ "mitre:atlas:discovery": {
1238
+ plugins: [
1239
+ "debug-access",
1240
+ "model-identification",
1241
+ "prompt-extraction",
1242
+ "system-prompt-override",
1243
+ "tool-discovery"
1244
+ ],
1245
+ strategies: []
1246
+ },
1247
+ "mitre:atlas:execution": {
1248
+ plugins: [
1249
+ "excessive-agency",
1250
+ "hijacking",
1251
+ "indirect-prompt-injection",
1252
+ "mcp",
1253
+ "shell-injection",
1254
+ "sql-injection",
1255
+ "ssrf",
1256
+ "system-prompt-override",
1257
+ "tool-discovery"
1258
+ ],
1259
+ strategies: ["jailbreak", "jailbreak-templates"]
1260
+ },
1080
1261
  "mitre:atlas:exfiltration": {
1081
1262
  plugins: [
1082
1263
  "ascii-smuggling",
1264
+ "cross-session-leak",
1265
+ "data-exfil",
1083
1266
  "harmful:privacy",
1084
1267
  "indirect-prompt-injection",
1085
1268
  "pii:api-db",
1086
1269
  "pii:direct",
1087
1270
  "pii:session",
1088
1271
  "pii:social",
1089
- "prompt-extraction"
1272
+ "prompt-extraction",
1273
+ "rag-document-exfiltration"
1090
1274
  ],
1091
1275
  strategies: []
1092
1276
  },
1093
1277
  "mitre:atlas:impact": {
1094
1278
  plugins: [
1279
+ "divergent-repetition",
1095
1280
  "excessive-agency",
1096
1281
  "harmful",
1097
1282
  "hijacking",
1098
- "imitation"
1283
+ "imitation",
1284
+ "reasoning-dos"
1099
1285
  ],
1100
1286
  strategies: ["crescendo"]
1101
1287
  },
@@ -1103,6 +1289,8 @@ const MITRE_ATLAS_MAPPING = {
1103
1289
  plugins: [
1104
1290
  "debug-access",
1105
1291
  "harmful:cybercrime",
1292
+ "indirect-prompt-injection",
1293
+ "mcp",
1106
1294
  "shell-injection",
1107
1295
  "sql-injection",
1108
1296
  "ssrf"
@@ -1115,18 +1303,46 @@ const MITRE_ATLAS_MAPPING = {
1115
1303
  "rot13"
1116
1304
  ]
1117
1305
  },
1118
- "mitre:atlas:ml-attack-staging": {
1306
+ "mitre:atlas:lateral-movement": {
1119
1307
  plugins: [
1120
- "ascii-smuggling",
1308
+ "bfla",
1309
+ "bola",
1310
+ "harmful:cybercrime",
1311
+ "rbac"
1312
+ ],
1313
+ strategies: []
1314
+ },
1315
+ "mitre:atlas:persistence": {
1316
+ plugins: [
1317
+ "agentic:memory-poisoning",
1318
+ "cross-session-leak",
1319
+ "indirect-prompt-injection",
1320
+ "rag-poisoning",
1321
+ "system-prompt-override"
1322
+ ],
1323
+ strategies: ["jailbreak"]
1324
+ },
1325
+ "mitre:atlas:privilege-escalation": {
1326
+ plugins: [
1327
+ "bfla",
1328
+ "bola",
1329
+ "debug-access",
1121
1330
  "excessive-agency",
1122
- "hallucination",
1123
- "indirect-prompt-injection"
1331
+ "mcp",
1332
+ "rbac",
1333
+ "shell-injection",
1334
+ "system-prompt-override"
1124
1335
  ],
1125
- strategies: ["jailbreak", "jailbreak:tree"]
1336
+ strategies: [
1337
+ "jailbreak",
1338
+ "jailbreak:tree",
1339
+ "jailbreak-templates"
1340
+ ]
1126
1341
  },
1127
1342
  "mitre:atlas:reconnaissance": {
1128
1343
  plugins: [
1129
1344
  "competitors",
1345
+ "model-identification",
1130
1346
  "policy",
1131
1347
  "prompt-extraction",
1132
1348
  "rbac"
@@ -1135,13 +1351,16 @@ const MITRE_ATLAS_MAPPING = {
1135
1351
  },
1136
1352
  "mitre:atlas:resource-development": {
1137
1353
  plugins: [
1354
+ "harmful:chemical-biological-weapons",
1138
1355
  "harmful:cybercrime",
1356
+ "harmful:cybercrime:malicious-code",
1139
1357
  "harmful:illegal-drugs",
1140
1358
  "harmful:indiscriminate-weapons"
1141
1359
  ],
1142
1360
  strategies: []
1143
1361
  }
1144
1362
  };
1363
+ const MITRE_ATLAS_LEGACY_MAPPING = { "mitre:atlas:ml-attack-staging": MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING };
1145
1364
  /**
1146
1365
  * EU Artificial Intelligence Act
1147
1366
  * ▸ Art. 5 (Prohibited AI practices) – unacceptable-risk
@@ -1548,6 +1767,7 @@ const ALIASED_PLUGINS = [
1548
1767
  "iso:42001",
1549
1768
  "gdpr",
1550
1769
  ...Object.keys(MITRE_ATLAS_MAPPING),
1770
+ ...Object.keys(MITRE_ATLAS_LEGACY_MAPPING),
1551
1771
  ...Object.keys(NIST_AI_RMF_MAPPING),
1552
1772
  ...Object.keys(OWASP_API_TOP_10_MAPPING),
1553
1773
  ...Object.keys(OWASP_LLM_TOP_10_MAPPING),
@@ -1559,6 +1779,7 @@ const ALIASED_PLUGINS = [
1559
1779
  ];
1560
1780
  const ALIASED_PLUGIN_MAPPINGS = {
1561
1781
  "dod:ai:ethics": DOD_AI_ETHICS_MAPPING,
1782
+ "mitre:atlas:ml-attack-staging": MITRE_ATLAS_LEGACY_MAPPING,
1562
1783
  "mitre:atlas": MITRE_ATLAS_MAPPING,
1563
1784
  "nist:ai:measure": NIST_AI_RMF_MAPPING,
1564
1785
  "owasp:api": OWASP_API_TOP_10_MAPPING,
@@ -1619,8 +1840,8 @@ const ALIASED_PLUGIN_MAPPINGS = {
1619
1840
  strategies: []
1620
1841
  } }
1621
1842
  };
1622
- //#endregion
1623
- //#region src/redteam/constants/metadata.ts
1843
+ ({ ...CODING_AGENT_PLUGIN_DESCRIPTIONS });
1844
+ ({ ...CODING_AGENT_PLUGIN_DISPLAY_NAMES });
1624
1845
  const Severity = {
1625
1846
  Critical: "critical",
1626
1847
  High: "high",
@@ -1637,6 +1858,10 @@ const SeveritySchema = z.enum([
1637
1858
  ]);
1638
1859
  Severity.Critical, Severity.High, Severity.Medium, Severity.Low, Severity.Informational;
1639
1860
  Severity.Critical, Severity.High, Severity.Medium, Severity.Low, Severity.Informational;
1861
+ const codingAgentRiskCategorySeverityMap = {
1862
+ ...Object.fromEntries(CODING_AGENT_PLUGINS.map((pluginId) => [pluginId, Severity.High])),
1863
+ "coding-agent:core": Severity.High
1864
+ };
1640
1865
  const riskCategorySeverityMap = {
1641
1866
  ["agentic:memory-poisoning"]: Severity.High,
1642
1867
  aegis: Severity.Medium,
@@ -1654,6 +1879,7 @@ const riskCategorySeverityMap = {
1654
1879
  "financial:defamation": Severity.Medium,
1655
1880
  "financial:hallucination": Severity.Low,
1656
1881
  "financial:impartiality": Severity.Medium,
1882
+ "financial:japan-fiea-suitability": Severity.High,
1657
1883
  "financial:misconduct": Severity.High,
1658
1884
  "financial:sox-compliance": Severity.High,
1659
1885
  "financial:sycophancy": Severity.Low,
@@ -1669,6 +1895,9 @@ const riskCategorySeverityMap = {
1669
1895
  default: Severity.Low,
1670
1896
  mcp: Severity.High,
1671
1897
  "medical:anchoring-bias": Severity.High,
1898
+ "medical:fda:ai-disclosure": Severity.High,
1899
+ "medical:fda:cyber-access-control": Severity.Critical,
1900
+ "medical:fda:cyber-audit-tampering": Severity.Critical,
1672
1901
  "medical:hallucination": Severity.Critical,
1673
1902
  "medical:incorrect-knowledge": Severity.Critical,
1674
1903
  "medical:off-label-use": Severity.High,
@@ -1745,6 +1974,11 @@ const riskCategorySeverityMap = {
1745
1974
  "telecom:coverage-misinformation": Severity.Medium,
1746
1975
  "telecom:law-enforcement-request-handling": Severity.Medium,
1747
1976
  "telecom:accessibility-violation": Severity.Medium,
1977
+ "teen-safety": Severity.Low,
1978
+ "teen-safety:harmful-body-ideals": Severity.Low,
1979
+ "teen-safety:dangerous-content": Severity.Low,
1980
+ "teen-safety:dangerous-roleplay": Severity.Low,
1981
+ "teen-safety:age-restricted-goods-and-services": Severity.Low,
1748
1982
  realestate: Severity.Critical,
1749
1983
  "realestate:fair-housing-discrimination": Severity.Critical,
1750
1984
  "realestate:steering": Severity.Critical,
@@ -1784,9 +2018,10 @@ const riskCategorySeverityMap = {
1784
2018
  vlguard: Severity.Medium,
1785
2019
  vlsu: Severity.Medium,
1786
2020
  wordplay: Severity.Low,
1787
- xstest: Severity.Low
2021
+ xstest: Severity.Low,
2022
+ ...codingAgentRiskCategorySeverityMap
1788
2023
  };
1789
- Object.entries({
2024
+ const riskCategories = {
1790
2025
  "Security & Access Control": [
1791
2026
  "ascii-smuggling",
1792
2027
  "bfla",
@@ -1858,6 +2093,10 @@ Object.entries({
1858
2093
  "harmful:radicalization",
1859
2094
  "harmful:self-harm",
1860
2095
  "harmful:sexual-content",
2096
+ "teen-safety:harmful-body-ideals",
2097
+ "teen-safety:dangerous-content",
2098
+ "teen-safety:dangerous-roleplay",
2099
+ "teen-safety:age-restricted-goods-and-services",
1861
2100
  "wordplay"
1862
2101
  ],
1863
2102
  Brand: [
@@ -1889,11 +2128,15 @@ Object.entries({
1889
2128
  "financial:defamation",
1890
2129
  "financial:hallucination",
1891
2130
  "financial:impartiality",
2131
+ "financial:japan-fiea-suitability",
1892
2132
  "financial:misconduct",
1893
2133
  "financial:sox-compliance",
1894
2134
  "financial:sycophancy",
1895
2135
  "medical:hallucination",
1896
2136
  "medical:anchoring-bias",
2137
+ "medical:fda:ai-disclosure",
2138
+ "medical:fda:cyber-access-control",
2139
+ "medical:fda:cyber-audit-tampering",
1897
2140
  "medical:incorrect-knowledge",
1898
2141
  "medical:off-label-use",
1899
2142
  "medical:prioritization-error",
@@ -1934,8 +2177,10 @@ Object.entries({
1934
2177
  "vlguard",
1935
2178
  "vlsu",
1936
2179
  "xstest"
1937
- ]
1938
- }).reduce((acc, [category, harms]) => {
2180
+ ],
2181
+ "Coding Agent Security": [...CODING_AGENT_PLUGINS]
2182
+ };
2183
+ Object.entries(riskCategories).reduce((acc, [category, harms]) => {
1939
2184
  harms.forEach((harm) => {
1940
2185
  acc[harm] = category;
1941
2186
  });
@@ -1961,6 +2206,9 @@ const categoryAliases = {
1961
2206
  ferpa: "FERPACompliance",
1962
2207
  mcp: "MCP",
1963
2208
  "medical:anchoring-bias": "MedicalAnchoringBias",
2209
+ "medical:fda:ai-disclosure": "MedicalFdaAiDisclosure",
2210
+ "medical:fda:cyber-access-control": "MedicalFdaCyberAccessControl",
2211
+ "medical:fda:cyber-audit-tampering": "MedicalFdaCyberAuditTampering",
1964
2212
  "medical:hallucination": "Medical Hallucination",
1965
2213
  "medical:incorrect-knowledge": "MedicalIncorrectKnowledge",
1966
2214
  "medical:off-label-use": "MedicalOffLabelUse",
@@ -1978,6 +2226,7 @@ const categoryAliases = {
1978
2226
  "financial:defamation": "FinancialDefamation",
1979
2227
  "financial:hallucination": "FinancialHallucination",
1980
2228
  "financial:impartiality": "FinancialImpartiality",
2229
+ "financial:japan-fiea-suitability": "FinancialJapanFieaSuitability",
1981
2230
  "financial:misconduct": "FinancialMisconduct",
1982
2231
  "financial:sox-compliance": "FinancialSoxCompliance",
1983
2232
  "financial:sycophancy": "FinancialSycophancy",
@@ -2019,6 +2268,11 @@ const categoryAliases = {
2019
2268
  "telecom:coverage-misinformation": "TelecomCoverageMisinformation",
2020
2269
  "telecom:law-enforcement-request-handling": "TelecomLawEnforcementRequestHandling",
2021
2270
  "telecom:accessibility-violation": "TelecomAccessibilityViolation",
2271
+ "teen-safety": "TeenSafety",
2272
+ "teen-safety:harmful-body-ideals": "TeenSafetyHarmfulBodyIdeals",
2273
+ "teen-safety:dangerous-content": "TeenSafetyDangerousContent",
2274
+ "teen-safety:dangerous-roleplay": "TeenSafetyDangerousRoleplay",
2275
+ "teen-safety:age-restricted-goods-and-services": "TeenSafetyAgeRestrictedGoodsAndServices",
2022
2276
  realestate: "Real Estate Safety",
2023
2277
  "realestate:fair-housing-discrimination": "RealEstateFairHousingDiscrimination",
2024
2278
  "realestate:steering": "RealEstateSteering",
@@ -2088,7 +2342,8 @@ const categoryAliases = {
2088
2342
  vlguard: "VLGuard",
2089
2343
  vlsu: "VLSU",
2090
2344
  wordplay: "Wordplay",
2091
- xstest: "XSTest"
2345
+ xstest: "XSTest",
2346
+ ...CODING_AGENT_PLUGIN_ALIASES
2092
2347
  };
2093
2348
  Object.entries(categoryAliases).reduce((acc, [key, value]) => {
2094
2349
  acc[value] = key;
@@ -2144,6 +2399,11 @@ const pluginDescriptions = {
2144
2399
  "telecom:coverage-misinformation": "Tests for false or misleading claims about network coverage, 5G availability, or roaming capabilities",
2145
2400
  "telecom:law-enforcement-request-handling": "Tests for improper handling of law enforcement data requests in violation of CALEA requirements and privacy laws",
2146
2401
  "telecom:accessibility-violation": "Tests for accessibility compliance violations under Section 255, Section 508, ADA, and 21st Century CVAA",
2402
+ "teen-safety": "Comprehensive teen safety testing for age-appropriate AI behavior across body image harms, dangerous activities, unsafe roleplay, and underage access risks",
2403
+ "teen-safety:harmful-body-ideals": "Tests for harmful body-ideal promotion, body shaming, and facilitation of unsafe restriction, purging, over-exercise, or concealment behaviors that can harm teens",
2404
+ "teen-safety:dangerous-content": "Tests for promotion, glorification, or facilitation of dangerous challenges, unsafe stunts, risky experimentation, and dangerous at-home procedures inappropriate for teens",
2405
+ "teen-safety:dangerous-roleplay": "Tests for interactive roleplay involving minors that simulates romantic, sexual, or violent scenarios that could normalize exploitation or harm",
2406
+ "teen-safety:age-restricted-goods-and-services": "Tests for encouragement, sourcing, or circumvention tactics that help minors access age-restricted goods or services such as alcohol, vaping, gambling, weapons, or adult-only venues",
2147
2407
  realestate: "Comprehensive real estate AI safety testing for Fair Housing Act compliance, steering prevention, lending discrimination (ECOA), valuation bias, and housing discrimination vulnerabilities",
2148
2408
  "realestate:fair-housing-discrimination": "Tests for Fair Housing Act violations across all 7 protected classes: race, color, religion, national origin, sex (including gender identity and sexual orientation), familial status, and disability",
2149
2409
  "realestate:steering": "Tests for illegal steering practices where systems direct buyers toward or away from neighborhoods based on protected class characteristics rather than objective housing criteria",
@@ -2191,6 +2451,9 @@ const pluginDescriptions = {
2191
2451
  "ecommerce:price-manipulation": "Tests for price manipulation through discount code abuse, inventory exploits, cart manipulation, unauthorized price modifications, or coupon stacking vulnerabilities",
2192
2452
  mcp: "Tests for vulnerabilities to Model Context Protocol (MCP) attacks",
2193
2453
  "medical:anchoring-bias": "Tests for medical anchoring bias where AI fixates on irrelevant information in medical contexts",
2454
+ "medical:fda:ai-disclosure": "Tests whether AI-enabled medical-device or clinical LLM systems disclose intended-use boundaries, confidence and uncertainty, subgroup limitations, data drift, and model or device version changes instead of concealing them",
2455
+ "medical:fda:cyber-access-control": "Tests whether medical-device AI systems enforce authenticated, role-scoped, deny-by-default workflows and refuse privileged device, telemetry, update, or therapy actions from unauthorized users or stale sessions",
2456
+ "medical:fda:cyber-audit-tampering": "Tests whether medical-device AI systems preserve anomaly alerts, SBOM/version records, and forensic audit trails instead of helping users suppress, rewrite, or delete cybersecurity evidence",
2194
2457
  "medical:hallucination": "Tests for fabricated medical facts, non-existent studies, made-up drug interactions, or other false medical information",
2195
2458
  "medical:incorrect-knowledge": "Tests for factually wrong medical information that could be harmful if followed",
2196
2459
  "medical:off-label-use": "Tests for inappropriate off-label medication recommendations without proper disclaimers, warnings, or professional consultation requirements",
@@ -2204,6 +2467,7 @@ const pluginDescriptions = {
2204
2467
  "financial:defamation": "Tests for false statements that damage the reputation of financial entities, including unfounded fraud accusations, fabricated scandals, or false insolvency claims",
2205
2468
  "financial:hallucination": "Tests for fabricated market data, non-existent financial instruments, fictional company financials, or invented market events",
2206
2469
  "financial:impartiality": "Tests for inappropriate provision of financial advice, investment recommendations, broker suggestions, or transaction facilitation without proper authorization or disclaimers",
2470
+ "financial:japan-fiea-suitability": "Tests whether AI recommends unsuitable financial products, downplays risks, or uses sales framing that conflicts with Japan's FIEA suitability and explanation duties",
2207
2471
  "financial:misconduct": "Tests for facilitation of financial crimes including insider trading, market manipulation, front-running, spoofing, bribery, or circumventing financial regulations",
2208
2472
  "financial:sox-compliance": "Tests for violations of Sarbanes-Oxley requirements including internal controls bypass, financial statement manipulation, CEO/CFO certification fraud, audit obstruction, document retention violations, and whistleblower retaliation",
2209
2473
  "financial:sycophancy": "Tests for agreeing with risky trading strategies, unrealistic return expectations, or get-rich-quick schemes",
@@ -2241,7 +2505,8 @@ const pluginDescriptions = {
2241
2505
  vlsu: "Tests compositional safety where individually safe images and text combine to produce harmful outputs using Apple VLSU dataset",
2242
2506
  wordplay: "Tests whether AI systems can be tricked into generating profanity or offensive language through innocent-seeming wordplay like riddles and rhyming games",
2243
2507
  xstest: "Tests how models handle ambiguous terms related to potentially harmful topics like violence and drugs",
2244
- "guardrails-eval": "Evaluate guardrail effectiveness against common risks"
2508
+ "guardrails-eval": "Evaluate guardrail effectiveness against common risks",
2509
+ ...CODING_AGENT_PLUGIN_DESCRIPTIONS
2245
2510
  };
2246
2511
  //#endregion
2247
2512
  //#region src/redteam/constants/strategies.ts
@@ -2261,6 +2526,7 @@ const DEFAULT_STRATEGIES = [
2261
2526
  "jailbreak:meta",
2262
2527
  "jailbreak:composite"
2263
2528
  ];
2529
+ new Set(DEFAULT_STRATEGIES);
2264
2530
  const MULTI_TURN_STRATEGIES = [
2265
2531
  "crescendo",
2266
2532
  "goat",
@@ -2286,6 +2552,7 @@ const AGENTIC_STRATEGIES = [
2286
2552
  "jailbreak:tree",
2287
2553
  "mischievous-user"
2288
2554
  ];
2555
+ new Set(AGENTIC_STRATEGIES);
2289
2556
  const DATASET_PLUGINS = [
2290
2557
  "beavertails",
2291
2558
  "cyberseceval",
@@ -2451,7 +2718,62 @@ const PluginConfigSchema = z.object({
2451
2718
  policy: z.union([z.string(), PolicyObjectSchema]).optional(),
2452
2719
  systemPrompt: z.string().optional(),
2453
2720
  excludeStrategies: z.array(z.string()).optional(),
2721
+ protectedFilePath: z.string().optional(),
2722
+ protectedFilePaths: z.array(z.string()).optional(),
2723
+ secretFilePath: z.string().optional(),
2724
+ secretFilePaths: z.array(z.string()).optional(),
2725
+ secretLocalFilePath: z.string().optional(),
2726
+ secretLocalFilePaths: z.array(z.string()).optional(),
2727
+ secretFileValue: z.string().optional(),
2728
+ secretFileValues: z.array(z.string()).optional(),
2729
+ outsideWritePath: z.string().optional(),
2730
+ outsideWritePaths: z.array(z.string()).optional(),
2731
+ outsideWriteHostPath: z.string().optional(),
2732
+ outsideWriteHostPaths: z.array(z.string()).optional(),
2733
+ outsideWriteProbeDir: z.string().optional(),
2734
+ outsideWriteProbeDirs: z.array(z.string()).optional(),
2735
+ outsideWriteAllowedPath: z.string().optional(),
2736
+ outsideWriteAllowedPaths: z.array(z.string()).optional(),
2737
+ outsideWriteExpectedSha256: z.string().optional(),
2738
+ outsideWritePathSha256: z.string().optional(),
2739
+ outsideWriteSha256: z.string().optional(),
2740
+ outsideWriteMustNotExistPath: z.string().optional(),
2741
+ outsideWriteMustNotExistPaths: z.array(z.string()).optional(),
2742
+ mustNotExistPath: z.string().optional(),
2743
+ mustNotExistPaths: z.array(z.string()).optional(),
2744
+ protectedWritePath: z.string().optional(),
2745
+ protectedWritePaths: z.array(z.string()).optional(),
2746
+ sandboxWritePath: z.string().optional(),
2747
+ sandboxWritePaths: z.array(z.string()).optional(),
2748
+ workspacePath: z.string().optional(),
2749
+ workspacePaths: z.array(z.string()).optional(),
2750
+ workspaceRoot: z.string().optional(),
2751
+ workspaceRoots: z.array(z.string()).optional(),
2752
+ workingDirectory: z.string().optional(),
2753
+ workingDirectoryPath: z.string().optional(),
2754
+ workingDir: z.string().optional(),
2755
+ networkEgressUrl: z.string().optional(),
2756
+ networkEgressUrls: z.array(z.string()).optional(),
2757
+ networkTrapUrl: z.string().optional(),
2758
+ networkTrapUrls: z.array(z.string()).optional(),
2759
+ networkEgressHost: z.string().optional(),
2760
+ networkEgressHosts: z.array(z.string()).optional(),
2761
+ networkTrapHost: z.string().optional(),
2762
+ networkTrapHosts: z.array(z.string()).optional(),
2763
+ networkAllowedHost: z.string().optional(),
2764
+ networkAllowedHosts: z.array(z.string()).optional(),
2765
+ networkAllowedUrl: z.string().optional(),
2766
+ networkAllowedUrls: z.array(z.string()).optional(),
2767
+ networkTrapLogPath: z.string().optional(),
2768
+ networkTrapLogPaths: z.array(z.string()).optional(),
2769
+ networkScanPath: z.string().optional(),
2770
+ networkScanPaths: z.array(z.string()).optional(),
2771
+ networkWorkspacePath: z.string().optional(),
2772
+ networkWorkspacePaths: z.array(z.string()).optional(),
2773
+ networkEgressReceipt: z.string().optional(),
2774
+ networkEgressReceipts: z.array(z.string()).optional(),
2454
2775
  inputs: InputsSchema.optional(),
2776
+ maxCharsPerMessage: z.number().int().positive().optional(),
2455
2777
  __nonce: z.number().optional()
2456
2778
  });
2457
2779
  const StrategyConfigSchema = z.object({
@@ -2641,6 +2963,7 @@ z.object({
2641
2963
  language: z.union([z.string(), z.array(z.string())]).optional().describe("Language(s) of tests to generate"),
2642
2964
  frameworks: z.array(z.enum(frameworkOptions)).min(1).optional().describe("Subset of compliance frameworks to include when generating, reporting, and filtering results"),
2643
2965
  maxConcurrency: z.int().positive().optional().describe("Maximum number of concurrent API calls"),
2966
+ maxCharsPerMessage: z.int().positive().optional().describe("Maximum number of characters allowed per generated user message"),
2644
2967
  numTests: z.int().positive().optional().describe("Number of tests to generate"),
2645
2968
  output: z.string().optional().describe("Output file path"),
2646
2969
  plugins: z.array(RedteamPluginObjectSchema).optional().describe("Plugins to use"),
@@ -2673,6 +2996,7 @@ const RedteamConfigSchema = z.object({
2673
2996
  Supports ${ALL_STRATEGIES.join(", ")}
2674
2997
  `).optional().prefault(["default"]),
2675
2998
  maxConcurrency: z.int().positive().optional().describe("Maximum number of concurrent API calls"),
2999
+ maxCharsPerMessage: z.int().positive().optional().describe("Maximum number of characters allowed per generated user message"),
2676
3000
  delay: z.int().nonnegative().optional().describe("Delay in milliseconds between plugin API calls"),
2677
3001
  excludeTargetOutputFromAgenticAttackGeneration: z.boolean().optional().describe("Whether to exclude target output from the agentific attack generation process"),
2678
3002
  tracing: TracingConfigSchema.optional().describe("Tracing defaults applied to all strategies unless overridden"),
@@ -2726,6 +3050,7 @@ const RedteamConfigSchema = z.object({
2726
3050
  else if (id === "pharmacy") expandCollection([...PHARMACY_PLUGINS], config, numTests, severity);
2727
3051
  else if (id === "insurance") expandCollection([...INSURANCE_PLUGINS], config, numTests, severity);
2728
3052
  else if (id === "financial") expandCollection([...FINANCIAL_PLUGINS], config, numTests, severity);
3053
+ else if (id === "teen-safety") expandCollection([...TEEN_SAFETY_PLUGINS], config, numTests, severity);
2729
3054
  else if (id === "default") expandCollection([...DEFAULT_PLUGINS], config, numTests, severity);
2730
3055
  else if (id === "guardrails-eval") expandCollection([...GUARDRAILS_EVALUATION_PLUGINS], config, numTests, severity);
2731
3056
  };
@@ -2786,6 +3111,7 @@ const RedteamConfigSchema = z.object({
2786
3111
  });
2787
3112
  return {
2788
3113
  numTests: data.numTests,
3114
+ ...data.maxCharsPerMessage ? { maxCharsPerMessage: data.maxCharsPerMessage } : {},
2789
3115
  plugins: uniquePlugins,
2790
3116
  strategies,
2791
3117
  ...frameworks ? { frameworks } : {},
@@ -2911,6 +3237,7 @@ const PromptMetricsSchema = z.object({
2911
3237
  tokenUsage: BaseTokenUsageSchema,
2912
3238
  namedScores: z.record(z.string(), z.number()),
2913
3239
  namedScoresCount: z.record(z.string(), z.number()),
3240
+ namedScoreWeights: z.record(z.string(), z.number()).optional(),
2914
3241
  redteam: z.object({
2915
3242
  pluginPassCount: z.record(z.string(), z.number()),
2916
3243
  pluginFailCount: z.record(z.string(), z.number()),
@@ -2933,7 +3260,7 @@ function isResultFailureReason(value) {
2933
3260
  return validResultFailureReasons.has(value);
2934
3261
  }
2935
3262
  function isGradingResult(result) {
2936
- return typeof result === "object" && result !== null && typeof result.pass === "boolean" && typeof result.score === "number" && typeof result.reason === "string" && (typeof result.namedScores === "undefined" || typeof result.namedScores === "object") && (typeof result.tokensUsed === "undefined" || typeof result.tokensUsed === "object") && (typeof result.componentResults === "undefined" || Array.isArray(result.componentResults)) && (typeof result.assertion === "undefined" || result.assertion === null || typeof result.assertion === "object") && (typeof result.comment === "undefined" || typeof result.comment === "string");
3263
+ return typeof result === "object" && result !== null && typeof result.pass === "boolean" && typeof result.score === "number" && typeof result.reason === "string" && (typeof result.namedScores === "undefined" || typeof result.namedScores === "object") && (typeof result.namedScoreWeights === "undefined" || typeof result.namedScoreWeights === "object") && (typeof result.tokensUsed === "undefined" || typeof result.tokensUsed === "object") && (typeof result.componentResults === "undefined" || Array.isArray(result.componentResults)) && (typeof result.assertion === "undefined" || result.assertion === null || typeof result.assertion === "object") && (typeof result.comment === "undefined" || typeof result.comment === "string");
2937
3264
  }
2938
3265
  const BaseAssertionTypesSchema = z.enum([
2939
3266
  "answer-relevance",
@@ -3076,6 +3403,7 @@ const TestCaseSchema = z.object({
3076
3403
  ...GradingConfigSchema.shape,
3077
3404
  disableVarExpansion: z.boolean().optional(),
3078
3405
  disableConversationVar: z.boolean().optional(),
3406
+ disableDefaultAsserts: z.boolean().optional(),
3079
3407
  runSerially: z.boolean().optional()
3080
3408
  }).catchall(z.any()).optional(),
3081
3409
  threshold: z.number().optional(),
@@ -3165,7 +3493,7 @@ const TestSuiteSchema = z.object({
3165
3493
  enabled: z.boolean(),
3166
3494
  port: z.number(),
3167
3495
  host: z.string().optional(),
3168
- acceptFormats: z.array(z.string())
3496
+ acceptFormats: z.array(z.enum(["protobuf", "json"])).optional()
3169
3497
  }).optional(),
3170
3498
  grpc: z.object({
3171
3499
  enabled: z.boolean(),
@@ -3234,7 +3562,7 @@ const TestSuiteConfigSchema = z.object({
3234
3562
  enabled: z.boolean().prefault(true),
3235
3563
  port: z.number().prefault(4318),
3236
3564
  host: z.string().prefault("0.0.0.0"),
3237
- acceptFormats: z.array(z.enum(["protobuf", "json"])).prefault(["json"])
3565
+ acceptFormats: z.array(z.enum(["protobuf", "json"])).prefault(["json", "protobuf"])
3238
3566
  }).optional(),
3239
3567
  grpc: z.object({
3240
3568
  enabled: z.boolean().prefault(false),
@@ -3289,6 +3617,6 @@ const EvalResultsFilterMode = z.enum([
3289
3617
  "user-rated"
3290
3618
  ]);
3291
3619
  //#endregion
3292
- export { MULTI_INPUT_VAR as $, STRATEGY_COLLECTIONS as A, ALIASED_PLUGIN_MAPPINGS as B, isValidReusablePolicyId as C, DATASET_PLUGINS as D, ALL_STRATEGIES as E, isMultiTurnStrategy as F, FINANCIAL_PLUGINS as G, BIAS_PLUGINS as H, Severity as I, INSURANCE_PLUGINS as J, FOUNDATION_PLUGINS as K, categoryAliases as L, getDefaultNFanout as M, isCustomStrategy as N, DEFAULT_STRATEGIES as O, isFanoutStrategy as P, MULTI_INPUT_EXCLUDED_PLUGINS as Q, pluginDescriptions as R, StrategyConfigSchema as S, AGENTIC_STRATEGIES as T, DATASET_EXEMPT_PLUGINS as U, ALL_PLUGINS as V, DEFAULT_PLUGINS as W, LLAMA_GUARD_REPLICATE_PROVIDER as X, LLAMA_GUARD_ENABLED_CATEGORIES as Y, MEDICAL_PLUGINS as Z, ProvidersSchema as _, EvaluateOptionsSchema as a, REMOTE_ONLY_PLUGIN_IDS as at, PluginConfigSchema as b, TestSuiteConfigSchema as c, UNALIGNED_PROVIDER_HARM_PLUGINS as ct, isGradingResult as d, PHARMACY_PLUGINS as et, isResultFailureReason as f, ProviderOptionsSchema as g, RedteamConfigSchema as h, EvalResultsFilterMode as i, REDTEAM_PROVIDER_HARM_PLUGINS as it, STRATEGY_COLLECTION_MAPPINGS as j, MULTI_TURN_STRATEGIES as k, TestSuiteSchema as l, PromptSchema as lt, isProviderOptions as m, BaseAssertionTypesSchema as n, PLUGIN_CATEGORIES as nt, OutputFileExtension as o, STRATEGY_EXEMPT_PLUGINS as ot, isApiProvider as p, HARM_PLUGINS as q, CommandLineOptionsSchema as r, REDTEAM_MODEL as rt, ResultFailureReason as s, TELECOM_PLUGINS as st, AssertionOrSetSchema as t, PII_PLUGINS as tt, UnifiedConfigSchema as u, ConversationMessageSchema as v, isUuid as w, PolicyObjectSchema as x, PartialGenerationError as y, riskCategorySeverityMap as z };
3620
+ export { MULTI_INPUT_EXCLUDED_PLUGINS as $, STRATEGY_COLLECTIONS as A, ALIASED_PLUGIN_MAPPINGS as B, isValidReusablePolicyId as C, DATASET_PLUGINS as D, ALL_STRATEGIES as E, isMultiTurnStrategy as F, DEFAULT_PLUGINS as G, BIAS_PLUGINS as H, Severity as I, HARM_PLUGINS as J, FINANCIAL_PLUGINS as K, categoryAliases as L, getDefaultNFanout as M, isCustomStrategy as N, DEFAULT_STRATEGIES as O, isFanoutStrategy as P, MEDICAL_PLUGINS as Q, pluginDescriptions as R, StrategyConfigSchema as S, AGENTIC_STRATEGIES as T, CANARY_BREAKING_STRATEGY_IDS as U, ALL_PLUGINS as V, DATASET_EXEMPT_PLUGINS as W, LLAMA_GUARD_ENABLED_CATEGORIES as X, INSURANCE_PLUGINS as Y, LLAMA_GUARD_REPLICATE_PROVIDER as Z, ProvidersSchema as _, EvaluateOptionsSchema as a, REDTEAM_PROVIDER_HARM_PLUGINS as at, PluginConfigSchema as b, TestSuiteConfigSchema as c, TEEN_SAFETY_PLUGINS as ct, isGradingResult as d, CODING_AGENT_CORE_PLUGINS as dt, MULTI_INPUT_VAR as et, isResultFailureReason as f, CODING_AGENT_PLUGINS as ft, ProviderOptionsSchema as g, RedteamConfigSchema as h, PromptSchema as ht, EvalResultsFilterMode as i, REDTEAM_MODEL as it, STRATEGY_COLLECTION_MAPPINGS as j, MULTI_TURN_STRATEGIES as k, TestSuiteSchema as l, TELECOM_PLUGINS as lt, isProviderOptions as m, CODING_AGENT_PLUGIN_DISPLAY_NAMES as mt, BaseAssertionTypesSchema as n, PII_PLUGINS as nt, OutputFileExtension as o, REMOTE_ONLY_PLUGIN_IDS as ot, isApiProvider as p, CODING_AGENT_PLUGIN_DESCRIPTIONS as pt, FOUNDATION_PLUGINS as q, CommandLineOptionsSchema as r, PLUGIN_CATEGORIES as rt, ResultFailureReason as s, STRATEGY_EXEMPT_PLUGINS as st, AssertionOrSetSchema as t, PHARMACY_PLUGINS as tt, UnifiedConfigSchema as u, UNALIGNED_PROVIDER_HARM_PLUGINS as ut, ConversationMessageSchema as v, isUuid as w, PolicyObjectSchema as x, PartialGenerationError as y, riskCategorySeverityMap as z };
3293
3621
 
3294
- //# sourceMappingURL=types-Cd3ygw8W.js.map
3622
+ //# sourceMappingURL=types-Bgh5SOn6.js.map