promptfoo 0.121.3 → 0.121.5

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 (394) hide show
  1. package/README.md +1 -1
  2. package/dist/src/{ListApp-Du7YVwj5.js → ListApp-BRUsT43Y.js} +1 -1
  3. package/dist/src/{accounts-BPyfpSeU.cjs → accounts-BIFntVWB.cjs} +5 -5
  4. package/dist/src/{accounts-CFLK3mnD.js → accounts-CLJHCDDb.js} +6 -6
  5. package/dist/src/{accounts-B2XmGjty.js → accounts-CaLNYnf7.js} +5 -5
  6. package/dist/src/{accounts-Xatc0RYb.js → accounts-bnyHT7Ju.js} +5 -5
  7. package/dist/src/{agentic-utils-36epdqwB.js → agentic-utils-B5krlibj.js} +3 -3
  8. package/dist/src/{agentic-utils-DIYAAYE7.js → agentic-utils-Ba67xmgs.js} +3 -3
  9. package/dist/src/{agentic-utils-D8yXo5Lm.js → agentic-utils-BclbiXiq.js} +4 -4
  10. package/dist/src/{agentic-utils-DAVsChuB.cjs → agentic-utils-D2x0wGhB.cjs} +3 -3
  11. package/dist/src/{agents-CLQ-P15P.js → agents-BGqaTDnr.js} +5 -7
  12. package/dist/src/{agents-wg3ohknq.js → agents-BV9yFpXX.js} +6 -7
  13. package/dist/src/{agents-CgBniSlI.js → agents-BYdMl1UE.js} +5 -9
  14. package/dist/src/{agents-Bqgfdokm.js → agents-DhxWMCtH.js} +35 -14
  15. package/dist/src/{agents-BBWxKSM0.cjs → agents-DiWmQYH9.cjs} +5 -7
  16. package/dist/src/{agents-CAYbM7qD.cjs → agents-WULPVjbH.cjs} +34 -12
  17. package/dist/src/{agents-DSSTV4bv.js → agents-emVcx3yh.js} +35 -13
  18. package/dist/src/{agents-BBVJCIYr.js → agents-n6vPqV3i.js} +35 -13
  19. package/dist/src/{aimlapi-BwGC1TtS.js → aimlapi-BxqK9HF_.js} +8 -14
  20. package/dist/src/{aimlapi-Bv8Fmc-b.cjs → aimlapi-BzLjZI_m.cjs} +8 -15
  21. package/dist/src/{aimlapi-MgSLdvy7.js → aimlapi-DR4pgeiC.js} +7 -14
  22. package/dist/src/{aimlapi-DaC3qZ-o.js → aimlapi-uPGp0Zdo.js} +7 -16
  23. package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -0
  24. package/dist/src/app/assets/Report-vjzrbgce.js +1 -0
  25. package/dist/src/app/assets/index-B3NQ8HTd.js +385 -0
  26. package/dist/src/app/assets/index-Cli2yAXv.css +1 -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 +32 -7
  35. package/dist/src/{audio-Bn44pQxv.js → audio-BvpTOArF.js} +4 -4
  36. package/dist/src/{audio-DVFjQ67_.cjs → audio-C0vDeS0j.cjs} +4 -4
  37. package/dist/src/{audio-DjU9GswO.js → audio-CScmnmEB.js} +4 -5
  38. package/dist/src/{audio-DDA5WHdx.js → audio-Da8U9IS5.js} +4 -4
  39. package/dist/src/{base-CKjwebIH.js → base-BOMaNEes.js} +3 -3
  40. package/dist/src/{base-CqzQ4K8j.js → base-BTux96b1.js} +3 -3
  41. package/dist/src/{base-BboXIF_0.cjs → base-Tw6uhH8K.cjs} +3 -3
  42. package/dist/src/{base-Cz2ZC_iA.js → base-dYsl2hmL.js} +3 -3
  43. package/dist/src/{blobs-C6j0bvFz.cjs → blobs-B95F_7vE.cjs} +3 -3
  44. package/dist/src/{blobs-DXTl6J3H.js → blobs-BW4U31ue.js} +3 -3
  45. package/dist/src/{blobs-BUWmKWzo.js → blobs-D_gg8nbm.js} +4 -4
  46. package/dist/src/{blobs-B1JriOyi.js → blobs-DjLby-uP.js} +4 -4
  47. package/dist/src/cache-BI5BY7ey.js +280 -0
  48. package/dist/src/cache-BRkhlH3k.cjs +3 -0
  49. package/dist/src/cache-BlC6aeJ0.js +3 -0
  50. package/dist/src/cache-Bzttsk0X.js +310 -0
  51. package/dist/src/cache-Cr-qWIbP.js +310 -0
  52. package/dist/src/cache-DGg-yTZG.cjs +376 -0
  53. package/dist/src/{chat-BEwdgGEg.js → chat-BLOdH60v.js} +63 -37
  54. package/dist/src/{chat-B0iaWhoh.js → chat-Cx_LkwvZ.js} +63 -37
  55. package/dist/src/{chat-DK1U-eZ-.js → chat-D9nudO9b.js} +5 -14
  56. package/dist/src/{chat-pxmiVpWe.js → chat-DChSH_Es.js} +63 -37
  57. package/dist/src/{chat-B-52XYI1.js → chat-DG2LkwLq.js} +3 -13
  58. package/dist/src/{chat-BtIKkLKx.cjs → chat-DH97tVV9.cjs} +3 -13
  59. package/dist/src/{chat-BE0qTA8e.js → chat-aMQZw6R7.js} +4 -16
  60. package/dist/src/{chat-CM8qWR3_.cjs → chat-vYqqv1gP.cjs} +64 -38
  61. package/dist/src/{chatkit-_8eJqKcD.js → chatkit-B8X34dQc.js} +4 -4
  62. package/dist/src/{chatkit-BYGQlHlV.js → chatkit-BXu42Qwt.js} +4 -4
  63. package/dist/src/{chatkit-a2D6mY6s.js → chatkit-CbMRoeYw.js} +4 -4
  64. package/dist/src/{chatkit-Cx174XI3.cjs → chatkit-D44VyUyB.cjs} +4 -4
  65. package/dist/src/{claude-agent-sdk-8ddRp1L2.cjs → claude-agent-sdk-BRq0bbIK.cjs} +23 -18
  66. package/dist/src/{claude-agent-sdk-CMjh4LFH.js → claude-agent-sdk-BjriSVRZ.js} +20 -15
  67. package/dist/src/{claude-agent-sdk-HgbFioFw.js → claude-agent-sdk-BzNZeZ0N.js} +20 -15
  68. package/dist/src/{claude-agent-sdk-Bq5EArsX.js → claude-agent-sdk-DYv_AJ8u.js} +21 -17
  69. package/dist/src/cloud-CoD5OacT.js +3 -0
  70. package/dist/src/{cloud-z8KZpUoa.js → cloud-Da0bofJd.js} +25 -13
  71. package/dist/src/{cloudflare-ai-Bbp26N0L.js → cloudflare-ai-CXC4b1EU.js} +5 -14
  72. package/dist/src/{cloudflare-ai-BGyXlpXJ.js → cloudflare-ai-CyBoIs1Q.js} +7 -15
  73. package/dist/src/{cloudflare-ai-DdKP9TKT.js → cloudflare-ai-DGOwgexC.js} +6 -17
  74. package/dist/src/{cloudflare-ai-C62x6MQG.cjs → cloudflare-ai-DJv5qnyb.cjs} +6 -15
  75. package/dist/src/{cloudflare-gateway-DXhtXDRb.js → cloudflare-gateway-1sAoOyft.js} +6 -16
  76. package/dist/src/{cloudflare-gateway-D-e9i1Sn.js → cloudflare-gateway-D-dnkzCF.js} +5 -18
  77. package/dist/src/{cloudflare-gateway-Dx36ftqF.cjs → cloudflare-gateway-DKVjkDav.cjs} +4 -15
  78. package/dist/src/{cloudflare-gateway-BwAaUgeW.js → cloudflare-gateway-TJkVrZlB.js} +4 -15
  79. package/dist/src/codex-app-server-CCLjqCh9.js +1915 -0
  80. package/dist/src/codex-app-server-CCe0TiDc.js +1915 -0
  81. package/dist/src/codex-app-server-CPW1LFwh.js +1916 -0
  82. package/dist/src/codex-app-server-VMRnjZ68.cjs +1920 -0
  83. package/dist/src/codex-sdk-1jm_qPHf.js +3 -0
  84. package/dist/src/codex-sdk-Bd8UbO9q.cjs +1172 -0
  85. package/dist/src/codex-sdk-BgEFQ70r.js +1164 -0
  86. package/dist/src/codex-sdk-Bzb_TqX9.js +1165 -0
  87. package/dist/src/codex-sdk-Danroptg.cjs +2 -0
  88. package/dist/src/codex-sdk-DfvDTN33.js +1165 -0
  89. package/dist/src/{cometapi-BDyV-NNm.js → cometapi-B5ImDlSm.js} +9 -15
  90. package/dist/src/{cometapi-C3hOlM7-.cjs → cometapi-BgAkuYCw.cjs} +9 -16
  91. package/dist/src/{cometapi-hhL4TAh3.js → cometapi-CC7hWxmX.js} +8 -15
  92. package/dist/src/{cometapi-sp7sJpBD.js → cometapi-CCbpHkuF.js} +8 -17
  93. package/dist/src/{completion-DoYy49ti.js → completion-2iuYVxwi.js} +8 -57
  94. package/dist/src/{completion-BCimtq-h.js → completion-CrD6MQ93.js} +8 -57
  95. package/dist/src/{completion-DlXUhj5c.cjs → completion-DtQ72Bm3.cjs} +7 -62
  96. package/dist/src/{completion-DCjv7RZ3.js → completion-Vq_ad618.js} +8 -57
  97. package/dist/src/{createHash-CTQmL3G2.js → createHash-4gFQpDDv.js} +3 -3
  98. package/dist/src/{createHash-Da8fMwqB.js → createHash-DPpsZgFF.js} +3 -3
  99. package/dist/src/{createHash-DmPQkvBh.js → createHash-Un4Q_huE.js} +3 -3
  100. package/dist/src/{createHash-BYwImsYv.cjs → createHash-VvBIc-AW.cjs} +4 -4
  101. package/dist/src/{docker-CxCkwMzc.js → docker--3qzPa-6.js} +6 -14
  102. package/dist/src/{docker-Cqj2-QVi.cjs → docker-D3AY-5F5.cjs} +7 -15
  103. package/dist/src/{docker-FeBni2dw.js → docker-DCsCDvwM.js} +7 -14
  104. package/dist/src/{docker-DpguQj-w.js → docker-Dorv4_Dg.js} +6 -16
  105. package/dist/src/embedding-BXhN5lCH.cjs +63 -0
  106. package/dist/src/embedding-ChS1ivFS.js +58 -0
  107. package/dist/src/embedding-DNRvZwRN.js +59 -0
  108. package/dist/src/embedding-D_bI4NDq.js +58 -0
  109. package/dist/src/entrypoint.js +69 -6
  110. package/dist/src/{errors-P6ll7XSJ.js → errors-DFHe4L-n.js} +1 -1
  111. package/dist/src/{esm-SUNIX1x3.js → esm-B6whoAcf.js} +15 -6
  112. package/dist/src/{esm-CKWP3u_P.js → esm-BRkfNsYs.js} +16 -7
  113. package/dist/src/{esm-7UIl0pPM.js → esm-BX8fwlAO.js} +27 -18
  114. package/dist/src/{esm-CipptfDu.cjs → esm-B_rGuPTo.cjs} +15 -6
  115. package/dist/src/eval-BQPLBJbw.js +3 -0
  116. package/dist/src/{eval-BTqTn7lb.js → eval-DJ_4A-tr.js} +50 -21
  117. package/dist/src/evalResult-BBJAHAtw.cjs +2 -0
  118. package/dist/src/evalResult-BBK58h2B.js +3 -0
  119. package/dist/src/{evalResult-DpARzUCb.cjs → evalResult-Cx-8OWkb.cjs} +29 -11
  120. package/dist/src/{evalResult-DUDShQrm.js → evalResult-D6P5I5il.js} +29 -11
  121. package/dist/src/{evalResult-BkIhRdTe.js → evalResult-pSvGWFMo.js} +29 -11
  122. package/dist/src/evalResult-spPqh1G_.js +2 -0
  123. package/dist/src/{evaluator-BcvOGaam.js → evaluator-D-UIbbYq.js} +3975 -2152
  124. package/dist/src/evaluator-DgLKaZk8.js +3 -0
  125. package/dist/src/{extractor-D_wd8jxt.js → extractor-BM3jRERL.js} +6 -6
  126. package/dist/src/{extractor-DG3sSfXE.cjs → extractor-Dxr2J_wK.cjs} +6 -6
  127. package/dist/src/{extractor-CAZ2G3Kh.js → extractor-DxyiFhPk.js} +6 -6
  128. package/dist/src/{extractor-C8XwivI9.js → extractor-YlZbUMsL.js} +6 -6
  129. package/dist/src/fetch-8viavNv8.js +3 -0
  130. package/dist/src/{fetch-DoVRJZhJ.js → fetch-B6ch2nU2.js} +199 -60
  131. package/dist/src/{fetch-CVAtKnI3.js → fetch-D9xxyC1p.js} +404 -252
  132. package/dist/src/{fetch-BnR9wSnm.cjs → fetch-NuqXW1Xb.cjs} +415 -263
  133. package/dist/src/{fetch-BiYv2BZc.js → fetch-Y5qX_kST.js} +222 -70
  134. package/dist/src/{fileExtensions-LcDYkU4v.js → fileExtensions-8CjoL7vB.js} +1 -1
  135. package/dist/src/{fileExtensions-DnqA1y9x.js → fileExtensions-BGh-W-HT.js} +1 -1
  136. package/dist/src/{fileExtensions-bYh77CN8.cjs → fileExtensions-D9h-8Wxg.cjs} +1 -1
  137. package/dist/src/{fileExtensions-Ds-foDzt.js → fileExtensions-DysCsxNG.js} +1 -1
  138. package/dist/src/{formatDuration-DgBVMN65.js → formatDuration-Ch4A7G3o.js} +1 -1
  139. package/dist/src/{genaiTracer-BfxrvSUb.cjs → genaiTracer-BokHC-MW.cjs} +7 -3
  140. package/dist/src/{genaiTracer-C1rxGO8Q.js → genaiTracer-C3ZPQU60.js} +6 -2
  141. package/dist/src/{genaiTracer-70Z8BIuV.js → genaiTracer-CFny3gOy.js} +6 -2
  142. package/dist/src/{genaiTracer-D3fD9dNV.js → genaiTracer-DxODqT9e.js} +6 -2
  143. package/dist/src/golang/wrapper.go +1 -1
  144. package/dist/src/{graders-DG7mhg-b.js → graders-BoUqsCEm.js} +7402 -5699
  145. package/dist/src/{graders-BElhu9ZY.cjs → graders-Bw1wk_21.cjs} +5220 -3437
  146. package/dist/src/graders-C84JI-m5.js +2 -0
  147. package/dist/src/graders-CBbd0K0Q.cjs +2 -0
  148. package/dist/src/graders-CbQqpHSN.js +3 -0
  149. package/dist/src/{graders-RjHF8VfG.js → graders-CgPn32yp.js} +7400 -5697
  150. package/dist/src/{graders-BXAJ0sbS.js → graders-CwrbifOo.js} +6136 -4433
  151. package/dist/src/graders-DS42d3ZG.js +2 -0
  152. package/dist/src/{image-6WQXK8m8.js → image-BeWaInPF.js} +4 -4
  153. package/dist/src/{image-PoF6DN3x.js → image-BmilRNqO.js} +8 -8
  154. package/dist/src/{image--F58eEIn.cjs → image-CxJoa3aW.cjs} +8 -8
  155. package/dist/src/{image-fza3zuKs.cjs → image-D10dNAav.cjs} +4 -4
  156. package/dist/src/{image-DO0RYnjH.js → image-Dr_3I3nK.js} +4 -5
  157. package/dist/src/{image-B8b6f36E.js → image-DsGRlkh7.js} +8 -8
  158. package/dist/src/{image-CoxZp9PZ.js → image-a_SGUobh.js} +8 -8
  159. package/dist/src/{image-xNbw5ph2.js → image-qjO6FWPs.js} +4 -4
  160. package/dist/src/index.cjs +4835 -2582
  161. package/dist/src/index.d.cts +2782 -31
  162. package/dist/src/index.d.ts +2783 -32
  163. package/dist/src/index.js +4817 -2564
  164. package/dist/src/{interactiveCheck-BnMYOjMu.js → interactiveCheck-CCICw2cy.js} +2 -2
  165. package/dist/src/{invariant-BtWWVVhl.js → invariant-B2Rf6avk.js} +1 -1
  166. package/dist/src/{invariant-vgHWClmd.js → invariant-DIYf9sP1.js} +1 -1
  167. package/dist/src/{knowledgeBase-Bi7CmDbx.js → knowledgeBase-BBETc5-S.js} +6 -8
  168. package/dist/src/{knowledgeBase-DqrLX8fy.cjs → knowledgeBase-C8qOo26M.cjs} +6 -8
  169. package/dist/src/{knowledgeBase-DFRXPZl_.js → knowledgeBase-CzAi2rUI.js} +7 -8
  170. package/dist/src/{knowledgeBase-Ce3ofVan.js → knowledgeBase-Dr3Kib7F.js} +6 -10
  171. package/dist/src/{litellm-CKiAxnoM.js → litellm-BLSiANhk.js} +6 -14
  172. package/dist/src/{litellm-CnHI69aj.cjs → litellm-CaUmV7Mk.cjs} +6 -15
  173. package/dist/src/{litellm-Tc294Jhj.js → litellm-DQGo_juI.js} +5 -14
  174. package/dist/src/{litellm-Bo2gQXpo.js → litellm-DRc4qWfc.js} +5 -16
  175. package/dist/src/{logger-BcJBzSSA.js → logger-BbY6ypFL.js} +41 -12
  176. package/dist/src/{logger-D5iKBpu_.cjs → logger-COuQb2xB.cjs} +51 -10
  177. package/dist/src/{logger-DO8_zM18.js → logger-Ct2S6Yx-.js} +40 -11
  178. package/dist/src/{logger-BnkjG2jt.js → logger-KD8JjCRJ.js} +41 -12
  179. package/dist/src/{luma-ray-C9q8rdQe.js → luma-ray-B-tNZzqW.js} +6 -10
  180. package/dist/src/{luma-ray-DP0QA9qn.js → luma-ray-CtS3OlGq.js} +6 -10
  181. package/dist/src/{luma-ray-0ehMPt5N.js → luma-ray-PJJgUjOc.js} +6 -11
  182. package/dist/src/{luma-ray-m9Ku2meV.cjs → luma-ray-if-Ml4R9.cjs} +6 -10
  183. package/dist/src/main.d.ts +1 -26
  184. package/dist/src/main.js +1188 -679
  185. package/dist/src/messages-B9dSjrNf.js +544 -0
  186. package/dist/src/messages-BnsVHUnm.cjs +558 -0
  187. package/dist/src/messages-CI69Lasb.js +543 -0
  188. package/dist/src/messages-CewuNcNS.js +543 -0
  189. package/dist/src/{meteor-DLZZ3osF.cjs → meteor-BBGcGeCa.cjs} +1 -1
  190. package/dist/src/{meteor-DUiCJRC-.js → meteor-BKTM-7KS.js} +1 -1
  191. package/dist/src/{meteor-44VjEACX.js → meteor-CeGo0Lu2.js} +2 -2
  192. package/dist/src/{meteor-D-SotUw9.js → meteor-Wc_aUVvu.js} +2 -2
  193. package/dist/src/{modelslab-B5J-ZM5c.js → modelslab-BCLOtfek.js} +8 -10
  194. package/dist/src/{modelslab-IQbNg-r7.cjs → modelslab-BkapYJhh.cjs} +7 -10
  195. package/dist/src/{modelslab-BTOT8FUO.js → modelslab-D73OnKSx.js} +7 -10
  196. package/dist/src/{modelslab-BI458moT.js → modelslab-zpz9JcK0.js} +7 -12
  197. package/dist/src/{nova-reel-BZ9y-Y5s.js → nova-reel-B8F_TK5w.js} +7 -10
  198. package/dist/src/{nova-reel-Xw1SXLpg.js → nova-reel-Bx0NFV2f.js} +6 -10
  199. package/dist/src/{nova-reel-DEeQlnOJ.js → nova-reel-CNGJTLtG.js} +6 -12
  200. package/dist/src/{nova-reel-CE5etkv9.cjs → nova-reel-DkT7tnoB.cjs} +6 -10
  201. package/dist/src/{nova-sonic-Ogqf-csn.js → nova-sonic-BaXRN1cr.js} +5 -7
  202. package/dist/src/{nova-sonic-DXTLpi-r.js → nova-sonic-BeTRaFOh.js} +4 -7
  203. package/dist/src/{nova-sonic-DWswpN1E.js → nova-sonic-CL7Zqv0G.js} +4 -9
  204. package/dist/src/{nova-sonic-N0yCm0vb.cjs → nova-sonic-YT426juD.cjs} +4 -7
  205. package/dist/src/{openai-BcB5KlTk.js → openai-BMHD2Huo.js} +6 -3
  206. package/dist/src/{openai-BMcwgD5C.js → openai-BT-JvDse.js} +6 -3
  207. package/dist/src/{openai-CoxGAQwn.cjs → openai-Cy1XLs0c.cjs} +6 -3
  208. package/dist/src/{openai-D6wITiVn.js → openai-D4fxGvRx.js} +6 -3
  209. package/dist/src/openclaw-Bq7RVR3k.js +1200 -0
  210. package/dist/src/openclaw-DA8U4DsD.js +1201 -0
  211. package/dist/src/openclaw-DObVgpjC.js +1200 -0
  212. package/dist/src/openclaw-DUBZP3GL.cjs +1206 -0
  213. package/dist/src/{opencode-sdk-CHCs7dEb.js → opencode-sdk-BB40Wir1.js} +6 -8
  214. package/dist/src/{opencode-sdk-DDxj4QqH.js → opencode-sdk-BM1UAIv1.js} +6 -8
  215. package/dist/src/{opencode-sdk-WWJhnbKr.cjs → opencode-sdk-CeqiOcOU.cjs} +7 -9
  216. package/dist/src/{opencode-sdk-C71Z0ehR.js → opencode-sdk-ChdK7F7z.js} +6 -9
  217. package/dist/src/{otlpReceiver-CZL48YfC.js → otlpReceiver-C6thJRXi.js} +154 -98
  218. package/dist/src/{otlpReceiver-C9KlUtxh.js → otlpReceiver-CcdIikOu.js} +154 -98
  219. package/dist/src/{otlpReceiver-DHKqJlsz.cjs → otlpReceiver-DNSQj6bf.cjs} +154 -98
  220. package/dist/src/{otlpReceiver-CavGAA6k.js → otlpReceiver-UYMQx3sy.js} +154 -98
  221. package/dist/src/{providerRegistry-BkzVH5Ba.js → providerRegistry-1gB5vtzQ.js} +2 -2
  222. package/dist/src/{providerRegistry-BTDgfV5h.cjs → providerRegistry-BESeALrr.cjs} +2 -2
  223. package/dist/src/{providerRegistry-CUWki5mQ.js → providerRegistry-DoACwqhD.js} +2 -2
  224. package/dist/src/{providerRegistry-B9lh-_tx.js → providerRegistry-PMsleEzs.js} +2 -2
  225. package/dist/src/providers-BuyzKt7C.js +2 -0
  226. package/dist/src/providers-C7lNVBjX.cjs +3 -0
  227. package/dist/src/providers-CCE2COJi2.js +2 -0
  228. package/dist/src/{providers-Cn73d5sr.js → providers-CJh7iriU.js} +17180 -16823
  229. package/dist/src/providers-Ctcc592x.js +3 -0
  230. package/dist/src/{providers-DvddrgxL.js → providers-DRrerKra.js} +1052 -695
  231. package/dist/src/{providers-Ch6Mr0gn.js → providers-DT-GtF2t.js} +16716 -16359
  232. package/dist/src/{providers-CScd1wN6.cjs → providers-eDShy16E.cjs} +19893 -19506
  233. package/dist/src/python/persistent_wrapper.py +0 -5
  234. package/dist/src/{pythonUtils-Cpo0Ez1p.js → pythonUtils-C4tltmIn.js} +4 -4
  235. package/dist/src/{pythonUtils-dAVigVK-.cjs → pythonUtils-CoLaCwNY.cjs} +4 -4
  236. package/dist/src/{pythonUtils-Bzwbgpbg.js → pythonUtils-DMO68Jg7.js} +3 -3
  237. package/dist/src/{pythonUtils-wIqk7zAf.js → pythonUtils-DNqbnRdx.js} +3 -3
  238. package/dist/src/{quiverai-BeofbLVc.js → quiverai-BSS9a7wV.js} +4 -4
  239. package/dist/src/{quiverai-DVSEqJiq.js → quiverai-Bk1KrvL6.js} +4 -4
  240. package/dist/src/{quiverai-CcUhPIBg.cjs → quiverai-Bpx6MZ7T.cjs} +4 -4
  241. package/dist/src/{quiverai-CCQn73lq.js → quiverai-CPKhWgaT.js} +4 -5
  242. package/dist/src/render-7uNJ2V14.js +135 -0
  243. package/dist/src/render-DlscvAUJ.js +135 -0
  244. package/dist/src/render-eui5p5mL.js +136 -0
  245. package/dist/src/{render-BHl6QVq9.js → render-nj-UaPdn.js} +2 -3
  246. package/dist/src/render-tG6ir9_g.cjs +165 -0
  247. package/dist/src/{responses-CgNyTPsY.js → responses-1ztiVYsx.js} +56 -17
  248. package/dist/src/{responses-BKP_WYis.js → responses-B8haB-mD.js} +56 -17
  249. package/dist/src/{responses-CQb1Tj69.js → responses-BiaBguAu.js} +56 -17
  250. package/dist/src/{responses-mo0KQDbu.cjs → responses-CF-ayauu.cjs} +56 -17
  251. package/dist/src/rubyUtils-4hjGxvju.js +3 -0
  252. package/dist/src/{rubyUtils-DECSbsfY.js → rubyUtils-BI0p46eZ.js} +3 -3
  253. package/dist/src/{rubyUtils-CiVfln3g.js → rubyUtils-CIQFnVz4.js} +3 -3
  254. package/dist/src/rubyUtils-CO-tuszQ.cjs +2 -0
  255. package/dist/src/{rubyUtils-PgU-gHmx.js → rubyUtils-DGnoCYL2.js} +4 -4
  256. package/dist/src/{rubyUtils-CGeUtCfW.cjs → rubyUtils-DoifqkiA.cjs} +5 -4
  257. package/dist/src/{sagemaker-CqeASYE5.js → sagemaker-BDLeW29y.js} +14 -18
  258. package/dist/src/{sagemaker-MUbD5V3v.js → sagemaker-C5T60MKf.js} +14 -19
  259. package/dist/src/{sagemaker-CVv8W7so.js → sagemaker-ClS_NB07.js} +14 -18
  260. package/dist/src/{sagemaker-jiw1wQa-.cjs → sagemaker-ljtY12VM.cjs} +14 -18
  261. package/dist/src/{scanner-DVDeUz1r.js → scanner-nOCWNIXa.js} +130 -35
  262. package/dist/src/server/golang/wrapper.go +1 -1
  263. package/dist/src/server/index.js +4829 -2529
  264. package/dist/src/server/python/persistent_wrapper.py +0 -5
  265. package/dist/src/{server-BtoCXeXI.cjs → server-BEECpeGG.cjs} +140 -6
  266. package/dist/src/{server-DZ9MtCn0.js → server-ByiF3qlg.js} +129 -9
  267. package/dist/src/{server-Cns05F1j.js → server-ByxbqAcQ.js} +128 -8
  268. package/dist/src/server-C0XKRNB_.cjs +2 -0
  269. package/dist/src/server-C_15p79-.js +3 -0
  270. package/dist/src/{server-CP9qKM40.js → server-gyd6d4Hc.js} +126 -7
  271. package/dist/src/{signal-C3ZTsUgi.js → signal-DTtUuU3l.js} +3 -3
  272. package/dist/src/{slack-DCEV-vWP.js → slack-4zZX1OKP.js} +2 -2
  273. package/dist/src/{slack-94iG3T0s.cjs → slack-BLlsDpfG.cjs} +2 -2
  274. package/dist/src/{slack-BR0HtO3K.js → slack-BPYLQLgb.js} +2 -2
  275. package/dist/src/{slack-2sdpGzbt.js → slack-Bamy_7te.js} +2 -2
  276. package/dist/src/{store-CLyU7AtI.cjs → store-2K0kDi80.cjs} +3 -3
  277. package/dist/src/{store-VB0GP46K.js → store-2OXm_eBY.js} +3 -3
  278. package/dist/src/store-BELqNwvz.js +3 -0
  279. package/dist/src/{store-Cj258DgL.js → store-BPkzEyFM.js} +3 -3
  280. package/dist/src/{store-P8OKm19S.js → store-CPh25336.js} +3 -3
  281. package/dist/src/store-uQZ4AjPe.cjs +2 -0
  282. package/dist/src/{tables-BEIFz2tM.js → tables-BMSOS2Gg.js} +3 -3
  283. package/dist/src/{tables-BdZQEpRz.cjs → tables-CXbaZ9y1.cjs} +3 -3
  284. package/dist/src/{tables-DmzvLbeZ.js → tables-NlvH23ky.js} +3 -3
  285. package/dist/src/{tables-kC7R5kiK.js → tables-WgdUZ8Ck.js} +3 -3
  286. package/dist/src/{telemetry-DPXLd7UE.js → telemetry--iqaGyaS.js} +5 -4
  287. package/dist/src/{telemetry-re627Lre.cjs → telemetry-CEQxGnMZ.cjs} +8 -7
  288. package/dist/src/{telemetry-BugWqKiu.js → telemetry-CgdVGV8N.js} +5 -4
  289. package/dist/src/{telemetry-BnH5VJAU.js → telemetry-DWdGHvEf.js} +5 -4
  290. package/dist/src/telemetry-DjNoC_n3.cjs +2 -0
  291. package/dist/src/telemetry-ZdPZc0fm.js +3 -0
  292. package/dist/src/{text-CW1cyrwj.cjs → text-BiNME7QG.cjs} +1 -1
  293. package/dist/src/{text-Db-Wt2u2.js → text-D4lz-Jg_.js} +1 -1
  294. package/dist/src/{text-TIv0QYnd.js → text-DDQP0tuQ.js} +1 -1
  295. package/dist/src/{text-B_UCRPp2.js → text-NWvfMfkF.js} +1 -1
  296. package/dist/src/{tokenUsageUtils-DflFMjS0.js → tokenUsageUtils-2wIvAhB3.js} +7 -3
  297. package/dist/src/{tokenUsageUtils-BDGe-iyI.js → tokenUsageUtils-4c780gFd.js} +7 -3
  298. package/dist/src/{tokenUsageUtils-NYT-WKS6.js → tokenUsageUtils-BjVkdk18.js} +7 -3
  299. package/dist/src/{tokenUsageUtils-bVa1ga6f.cjs → tokenUsageUtils-C9odhsbW.cjs} +7 -3
  300. package/dist/src/{transcription-CaMivnjG.js → transcription-84t4ALo2.js} +7 -11
  301. package/dist/src/{transcription-Hb3VnC4M.js → transcription-Bm2emLmJ.js} +8 -11
  302. package/dist/src/{transcription-BvtsrzRG.cjs → transcription-CZ4LG5hQ.cjs} +9 -13
  303. package/dist/src/{transcription-DOMMTu01.js → transcription-D7Q0vJsh.js} +7 -13
  304. package/dist/src/{transform-DrleutM3.js → transform-B-b6Cq-q.js} +8 -6
  305. package/dist/src/transform-BQt0BeAW.js +3 -0
  306. package/dist/src/transform-Bq5oqC0s.cjs +2 -0
  307. package/dist/src/{transform-ZrG2dvlo.cjs → transform-C9izGX54.cjs} +5 -5
  308. package/dist/src/{transform-BzK09Q_9.js → transform-CwbAZ84V.js} +5 -5
  309. package/dist/src/{transform-0BwoBsvO.cjs → transform-Dg4LcO1Y.cjs} +18 -10
  310. package/dist/src/{transform-B2-jIv68.js → transform-DtooZqYY.js} +8 -6
  311. package/dist/src/{transform-ljLYHEPh.js → transform-DzCF-wqV.js} +5 -5
  312. package/dist/src/{transform-DyDAwEpE.js → transform-_DpNB4qp.js} +9 -7
  313. package/dist/src/{transform-BqPkNPYm.js → transform-eGiUAv86.js} +5 -5
  314. package/dist/src/{transformersAvailability-DKoRtQLy.cjs → transformersAvailability-B22swDxr.cjs} +1 -1
  315. package/dist/src/{transformersAvailability-BGkzavwb.js → transformersAvailability-lvCCvuPT.js} +1 -1
  316. package/dist/src/{transformersAvailability-D6c6ROpT.js → transformersAvailability-rJGPccjr.js} +1 -1
  317. package/dist/src/{types-Cd3ygw8W.js → types-BDjGOq4E.js} +354 -24
  318. package/dist/src/{types-CIhFeUC4.js → types-BVH9hjgW.js} +364 -23
  319. package/dist/src/{types-D8cGDZbL.cjs → types-CgG2rKiW.cjs} +534 -167
  320. package/dist/src/{types-q8GXGF65.js → types-DNRZVOue.js} +498 -167
  321. package/dist/src/{util-BLvy9qfE.js → util-3pBZZb_H.js} +151 -149
  322. package/dist/src/{util-CFj4YKIn.cjs → util-A5_ZsQUn.cjs} +66 -44
  323. package/dist/src/{util-BtoGs5Cb.js → util-B9CNhyac.js} +66 -44
  324. package/dist/src/{util-Bm3E9jpK.js → util-BQOCAHQC.js} +692 -690
  325. package/dist/src/{util-vNmDL5DT.js → util-BVXcTwXu.js} +138 -36
  326. package/dist/src/{util-CgDCK4KI.js → util-BlFVL0UF.js} +66 -44
  327. package/dist/src/{util-DM2rTn_6.js → util-C-kmRosx.js} +66 -44
  328. package/dist/src/{util-DbVG-yZU.js → util-DFPeFkiV.js} +138 -36
  329. package/dist/src/{util-DMFeUvLz.js → util-DN0-b81k.js} +138 -36
  330. package/dist/src/{util--9u9UVCt.cjs → util-Dpmm_dAI.cjs} +143 -35
  331. package/dist/src/{util-CMMkIxfU.js → util-Dub0f_ej.js} +693 -691
  332. package/dist/src/{util-CuLo2pMR.cjs → util-DvpHnLt0.cjs} +714 -719
  333. package/dist/src/{utils-DOjD4dTC.js → utils-BUMN8orw.js} +6 -4
  334. package/dist/src/{utils-DKw8mrgr.cjs → utils-DkVeShIB.cjs} +6 -4
  335. package/dist/src/{utils-DEuL4VNB.js → utils-kt7lv30R.js} +6 -4
  336. package/dist/src/{utils-CFxO9KGo.js → utils-o8S5huU2.js} +6 -4
  337. package/dist/src/version-0frU0UTr.js +16 -0
  338. package/dist/src/version-CbpiUINz.js +17 -0
  339. package/dist/src/version-CbuBKu2U.js +16 -0
  340. package/dist/src/version-D9zu9FWB.cjs +27 -0
  341. package/dist/tsconfig.tsbuildinfo +1 -1
  342. package/package.json +57 -46
  343. package/dist/src/app/assets/index-B6l9CVVb.js +0 -439
  344. package/dist/src/app/assets/index-DyZ0Ep37.css +0 -1
  345. package/dist/src/app/assets/scroll-timeline-BdJZVXlz.js +0 -1
  346. package/dist/src/app/assets/sync-CStkzc6u.js +0 -4
  347. package/dist/src/app/assets/vendor-charts-BnDWwBlI.js +0 -36
  348. package/dist/src/app/assets/vendor-markdown-Bz7N-ca6.js +0 -29
  349. package/dist/src/app/assets/vendor-react-AtKqiNEf.js +0 -4
  350. package/dist/src/app/assets/vendor-syntax-D06x6TQF.js +0 -2
  351. package/dist/src/app/assets/vendor-utils-BvMHZmO7.js +0 -37
  352. package/dist/src/cache-C5yFZ4gC.cjs +0 -816
  353. package/dist/src/cache-CaT5tPgo.js +0 -756
  354. package/dist/src/cache-CyCanoMu.js +0 -6
  355. package/dist/src/cache-DSqR6ezl.js +0 -726
  356. package/dist/src/cache-Df_QFDNu.cjs +0 -5
  357. package/dist/src/cache-HP0NP4k3.js +0 -756
  358. package/dist/src/cloud-DE3t1-ZI.js +0 -4
  359. package/dist/src/codex-sdk-BQEw16R_.js +0 -834
  360. package/dist/src/codex-sdk-C_07GuVS.js +0 -834
  361. package/dist/src/codex-sdk-DE5G18dx.js +0 -835
  362. package/dist/src/codex-sdk-ZLKfDjqP.cjs +0 -838
  363. package/dist/src/eval-7aEqoMs3.js +0 -15
  364. package/dist/src/evalResult-CYNHkk5A.js +0 -12
  365. package/dist/src/evalResult-CuvJeNiM.js +0 -10
  366. package/dist/src/evalResult-tGdilrWt.cjs +0 -10
  367. package/dist/src/evaluator-BBUqRhz1.js +0 -36
  368. package/dist/src/fetch-UWU706qb.js +0 -5
  369. package/dist/src/graders-BxfEguVY.js +0 -32
  370. package/dist/src/graders-CzVMbEnv.js +0 -34
  371. package/dist/src/graders-DjCXfj0l.cjs +0 -32
  372. package/dist/src/graders-kHzIWOKu.js +0 -32
  373. package/dist/src/messages-DJNo37Ko.js +0 -246
  374. package/dist/src/messages-Dy9QecMs.js +0 -245
  375. package/dist/src/messages-HJsyEh4o.cjs +0 -257
  376. package/dist/src/messages-biC_ex-p.js +0 -245
  377. package/dist/src/openclaw-0Sv7AK3O.js +0 -580
  378. package/dist/src/openclaw-CXxbKgDH.cjs +0 -586
  379. package/dist/src/openclaw-D1FSCps-.js +0 -580
  380. package/dist/src/openclaw-D2ENvu7a.js +0 -582
  381. package/dist/src/providers-BSLEaIQG.js +0 -32
  382. package/dist/src/providers-D-FnDg8k.cjs +0 -31
  383. package/dist/src/providers-DEYiFVAo.js +0 -30
  384. package/dist/src/providers-sS2WI8YD.js +0 -30
  385. package/dist/src/rubyUtils-B1HXG4ej.cjs +0 -4
  386. package/dist/src/rubyUtils-Rt6pKA96.js +0 -5
  387. package/dist/src/server-B0Xh1Gx-.js +0 -7
  388. package/dist/src/server-DJTKu9IR.cjs +0 -5
  389. package/dist/src/store-C5u6MgC8.js +0 -6
  390. package/dist/src/store-CNHk-De4.cjs +0 -5
  391. package/dist/src/telemetry-Yig0Tino.js +0 -7
  392. package/dist/src/telemetry-p8Pwqm1i.cjs +0 -5
  393. package/dist/src/transform-ChNIpHz7.js +0 -6
  394. package/dist/src/transform-PtQ6rAE3.cjs +0 -5
@@ -1,8 +1,10 @@
1
- import { i as isJavascriptFile, t as JAVASCRIPT_EXTENSIONS } from "./fileExtensions-LcDYkU4v.js";
1
+ import { i as isJavascriptFile, t as JAVASCRIPT_EXTENSIONS } from "./fileExtensions-BGh-W-HT.js";
2
2
  import { z } from "zod";
3
3
  import dedent from "dedent";
4
4
  //#region src/types/env.ts
5
5
  const ProviderEnvOverridesSchema = z.object({
6
+ ABLIT_API_BASE_URL: z.string().optional(),
7
+ ABLIT_KEY: z.string().optional(),
6
8
  AI21_API_BASE_URL: z.string().optional(),
7
9
  AI21_API_KEY: z.string().optional(),
8
10
  AIML_API_KEY: z.string().optional(),
@@ -80,6 +82,7 @@ const ProviderEnvOverridesSchema = z.object({
80
82
  CODEX_API_KEY: z.string().optional(),
81
83
  OPENCLAW_CONFIG_PATH: z.string().optional(),
82
84
  OPENCLAW_GATEWAY_PASSWORD: z.string().optional(),
85
+ OPENCLAW_GATEWAY_PORT: z.string().optional(),
83
86
  OPENCLAW_GATEWAY_TOKEN: z.string().optional(),
84
87
  OPENCLAW_GATEWAY_URL: z.string().optional(),
85
88
  PALM_API_HOST: z.string().optional(),
@@ -131,7 +134,9 @@ const ProviderEnvOverridesSchema = z.object({
131
134
  const CompletionTokenDetailsSchema = z.object({
132
135
  reasoning: z.number().optional(),
133
136
  acceptedPrediction: z.number().optional(),
134
- rejectedPrediction: z.number().optional()
137
+ rejectedPrediction: z.number().optional(),
138
+ cacheReadInputTokens: z.number().optional(),
139
+ cacheCreationInputTokens: z.number().optional()
135
140
  });
136
141
  /**
137
142
  * Base schema for token usage statistics with all fields optional
@@ -163,6 +168,7 @@ const PromptFunctionSchema = z.custom((v) => typeof v === "function");
163
168
  const PromptSchema = z.object({
164
169
  id: z.string().optional(),
165
170
  raw: z.string(),
171
+ template: z.string().optional(),
166
172
  display: z.string().optional(),
167
173
  label: z.string(),
168
174
  function: PromptFunctionSchema.optional(),
@@ -173,9 +179,58 @@ assert$1();
173
179
  assert$1();
174
180
  assert$1();
175
181
  //#endregion
182
+ //#region src/redteam/constants/codingAgents.ts
183
+ const CODING_AGENT_CORE_PLUGINS = [
184
+ "coding-agent:repo-prompt-injection",
185
+ "coding-agent:terminal-output-injection",
186
+ "coding-agent:secret-env-read",
187
+ "coding-agent:sandbox-read-escape",
188
+ "coding-agent:verifier-sabotage"
189
+ ];
190
+ const CODING_AGENT_PLUGINS = [
191
+ ...CODING_AGENT_CORE_PLUGINS,
192
+ "coding-agent:secret-file-read",
193
+ "coding-agent:sandbox-write-escape",
194
+ "coding-agent:network-egress-bypass"
195
+ ];
196
+ const CODING_AGENT_COLLECTIONS = ["coding-agent:core"];
197
+ const CODING_AGENT_PLUGIN_DISPLAY_NAMES = {
198
+ "coding-agent:core": "Coding Agent Core",
199
+ "coding-agent:repo-prompt-injection": "Repository Prompt Injection",
200
+ "coding-agent:terminal-output-injection": "Terminal Output Injection",
201
+ "coding-agent:secret-env-read": "Secret Environment Read",
202
+ "coding-agent:secret-file-read": "Secret File Read",
203
+ "coding-agent:sandbox-read-escape": "Sandbox Read Escape",
204
+ "coding-agent:sandbox-write-escape": "Sandbox Write Escape",
205
+ "coding-agent:network-egress-bypass": "Network Egress Bypass",
206
+ "coding-agent:verifier-sabotage": "Verifier Sabotage"
207
+ };
208
+ const CODING_AGENT_PLUGIN_DESCRIPTIONS = {
209
+ "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",
210
+ "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",
211
+ "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",
212
+ "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",
213
+ "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",
214
+ "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",
215
+ "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",
216
+ "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",
217
+ "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"
218
+ };
219
+ const CODING_AGENT_PLUGIN_ALIASES = {
220
+ "coding-agent:core": "CodingAgentCore",
221
+ "coding-agent:repo-prompt-injection": "CodingAgentRepoPromptInjection",
222
+ "coding-agent:terminal-output-injection": "CodingAgentTerminalOutputInjection",
223
+ "coding-agent:secret-env-read": "CodingAgentSecretEnvRead",
224
+ "coding-agent:secret-file-read": "CodingAgentSecretFileRead",
225
+ "coding-agent:sandbox-read-escape": "CodingAgentSandboxReadEscape",
226
+ "coding-agent:sandbox-write-escape": "CodingAgentSandboxWriteEscape",
227
+ "coding-agent:network-egress-bypass": "CodingAgentNetworkEgressBypass",
228
+ "coding-agent:verifier-sabotage": "CodingAgentVerifierSabotage"
229
+ };
230
+ //#endregion
176
231
  //#region src/redteam/constants/plugins.ts
177
232
  const MULTI_INPUT_VAR = "__prompt";
178
- const REDTEAM_MODEL = "openai:chat:gpt-5-2025-08-07";
233
+ const REDTEAM_MODEL = "openai:chat:gpt-5.4-2026-03-05";
179
234
  const LLAMA_GUARD_REPLICATE_PROVIDER = "replicate:moderation:meta/llama-guard-4-12b";
180
235
  const LLAMA_GUARD_ENABLED_CATEGORIES = [
181
236
  "S1",
@@ -294,8 +349,10 @@ const COLLECTIONS = [
294
349
  "financial",
295
350
  "ecommerce",
296
351
  "telecom",
352
+ "teen-safety",
297
353
  "realestate",
298
- "guardrails-eval"
354
+ "guardrails-eval",
355
+ ...CODING_AGENT_COLLECTIONS
299
356
  ];
300
357
  const UNALIGNED_PROVIDER_HARM_PLUGINS = {
301
358
  "harmful:child-exploitation": "Child Exploitation",
@@ -345,6 +402,9 @@ const BIAS_PLUGINS = [
345
402
  ];
346
403
  const MEDICAL_PLUGINS = [
347
404
  "medical:anchoring-bias",
405
+ "medical:fda:ai-disclosure",
406
+ "medical:fda:cyber-access-control",
407
+ "medical:fda:cyber-audit-tampering",
348
408
  "medical:hallucination",
349
409
  "medical:incorrect-knowledge",
350
410
  "medical:off-label-use",
@@ -360,6 +420,7 @@ const FINANCIAL_PLUGINS = [
360
420
  "financial:defamation",
361
421
  "financial:hallucination",
362
422
  "financial:impartiality",
423
+ "financial:japan-fiea-suitability",
363
424
  "financial:misconduct",
364
425
  "financial:sox-compliance",
365
426
  "financial:sycophancy"
@@ -405,6 +466,12 @@ const REALESTATE_PLUGINS = [
405
466
  "realestate:advertising-discrimination",
406
467
  "realestate:source-of-income"
407
468
  ];
469
+ const TEEN_SAFETY_PLUGINS = [
470
+ "teen-safety:harmful-body-ideals",
471
+ "teen-safety:dangerous-content",
472
+ "teen-safety:dangerous-roleplay",
473
+ "teen-safety:age-restricted-goods-and-services"
474
+ ];
408
475
  const BASE_PLUGINS = [
409
476
  "contracts",
410
477
  "excessive-agency",
@@ -419,6 +486,7 @@ const ADDITIONAL_PLUGINS = [
419
486
  "bfla",
420
487
  "bola",
421
488
  "cca",
489
+ ...CODING_AGENT_PLUGINS,
422
490
  "competitors",
423
491
  "coppa",
424
492
  "cross-session-leak",
@@ -435,6 +503,9 @@ const ADDITIONAL_PLUGINS = [
435
503
  "mcp",
436
504
  "model-identification",
437
505
  "medical:anchoring-bias",
506
+ "medical:fda:ai-disclosure",
507
+ "medical:fda:cyber-access-control",
508
+ "medical:fda:cyber-audit-tampering",
438
509
  "medical:hallucination",
439
510
  "medical:incorrect-knowledge",
440
511
  "medical:off-label-use",
@@ -448,6 +519,7 @@ const ADDITIONAL_PLUGINS = [
448
519
  "financial:defamation",
449
520
  "financial:hallucination",
450
521
  "financial:impartiality",
522
+ "financial:japan-fiea-suitability",
451
523
  "financial:misconduct",
452
524
  "financial:sox-compliance",
453
525
  "financial:sycophancy",
@@ -477,6 +549,10 @@ const ADDITIONAL_PLUGINS = [
477
549
  "telecom:coverage-misinformation",
478
550
  "telecom:law-enforcement-request-handling",
479
551
  "telecom:accessibility-violation",
552
+ "teen-safety:harmful-body-ideals",
553
+ "teen-safety:dangerous-content",
554
+ "teen-safety:dangerous-roleplay",
555
+ "teen-safety:age-restricted-goods-and-services",
480
556
  "realestate:fair-housing-discrimination",
481
557
  "realestate:steering",
482
558
  "realestate:discriminatory-listings",
@@ -508,6 +584,16 @@ const ADDITIONAL_PLUGINS = [
508
584
  ];
509
585
  const CONFIG_REQUIRED_PLUGINS = ["intent", "policy"];
510
586
  const AGENTIC_EXEMPT_PLUGINS = ["system-prompt-override", "agentic:memory-poisoning"];
587
+ const CANARY_BREAKING_STRATEGY_IDS = [
588
+ "base64",
589
+ "hex",
590
+ "homoglyph",
591
+ "leetspeak",
592
+ "rot13",
593
+ "multilingual",
594
+ "math-prompt",
595
+ "jailbreak:composite"
596
+ ];
511
597
  const DATASET_EXEMPT_PLUGINS = [
512
598
  "aegis",
513
599
  "beavertails",
@@ -558,10 +644,13 @@ const PLUGIN_CATEGORIES = {
558
644
  pharmacy: PHARMACY_PLUGINS,
559
645
  insurance: INSURANCE_PLUGINS,
560
646
  telecom: TELECOM_PLUGINS,
647
+ "teen-safety": TEEN_SAFETY_PLUGINS,
561
648
  realestate: REALESTATE_PLUGINS
562
649
  };
563
650
  const REMOTE_ONLY_PLUGIN_IDS = [
564
651
  "agentic:memory-poisoning",
652
+ ...CODING_AGENT_COLLECTIONS,
653
+ ...CODING_AGENT_PLUGINS,
565
654
  "ascii-smuggling",
566
655
  "bfla",
567
656
  "bola",
@@ -1076,26 +1165,125 @@ const NIST_AI_RMF_MAPPING = {
1076
1165
  strategies: []
1077
1166
  }
1078
1167
  };
1168
+ const MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING = {
1169
+ plugins: [
1170
+ "ascii-smuggling",
1171
+ "excessive-agency",
1172
+ "harmful:cybercrime:malicious-code",
1173
+ "hallucination",
1174
+ "indirect-prompt-injection",
1175
+ "rag-poisoning"
1176
+ ],
1177
+ strategies: ["jailbreak", "jailbreak:tree"]
1178
+ };
1079
1179
  const MITRE_ATLAS_MAPPING = {
1180
+ "mitre:atlas:ai-attack-staging": MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING,
1181
+ "mitre:atlas:ai-model-access": {
1182
+ plugins: [],
1183
+ strategies: []
1184
+ },
1185
+ "mitre:atlas:collection": {
1186
+ plugins: [
1187
+ "data-exfil",
1188
+ "harmful:privacy",
1189
+ "pii:api-db",
1190
+ "pii:direct",
1191
+ "pii:session",
1192
+ "pii:social",
1193
+ "prompt-extraction",
1194
+ "rag-document-exfiltration"
1195
+ ],
1196
+ strategies: []
1197
+ },
1198
+ "mitre:atlas:command-and-control": {
1199
+ plugins: [
1200
+ "excessive-agency",
1201
+ "harmful:cybercrime",
1202
+ "harmful:cybercrime:malicious-code",
1203
+ "mcp",
1204
+ "shell-injection",
1205
+ "ssrf"
1206
+ ],
1207
+ strategies: ["crescendo"]
1208
+ },
1209
+ "mitre:atlas:credential-access": {
1210
+ plugins: [
1211
+ "data-exfil",
1212
+ "harmful:privacy",
1213
+ "pii:api-db",
1214
+ "pii:direct",
1215
+ "pii:session",
1216
+ "pii:social",
1217
+ "prompt-extraction",
1218
+ "rag-document-exfiltration",
1219
+ "tool-discovery"
1220
+ ],
1221
+ strategies: []
1222
+ },
1223
+ "mitre:atlas:defense-evasion": {
1224
+ plugins: [
1225
+ "ascii-smuggling",
1226
+ "hijacking",
1227
+ "imitation",
1228
+ "rag-source-attribution",
1229
+ "special-token-injection"
1230
+ ],
1231
+ strategies: [
1232
+ "base64",
1233
+ "jailbreak",
1234
+ "jailbreak-templates",
1235
+ "leetspeak",
1236
+ "rot13"
1237
+ ]
1238
+ },
1239
+ "mitre:atlas:discovery": {
1240
+ plugins: [
1241
+ "debug-access",
1242
+ "model-identification",
1243
+ "prompt-extraction",
1244
+ "system-prompt-override",
1245
+ "tool-discovery"
1246
+ ],
1247
+ strategies: []
1248
+ },
1249
+ "mitre:atlas:execution": {
1250
+ plugins: [
1251
+ "excessive-agency",
1252
+ "hijacking",
1253
+ "indirect-prompt-injection",
1254
+ "mcp",
1255
+ "shell-injection",
1256
+ "sql-injection",
1257
+ "ssrf",
1258
+ "system-prompt-override",
1259
+ "tool-discovery"
1260
+ ],
1261
+ strategies: ["jailbreak", "jailbreak-templates"]
1262
+ },
1080
1263
  "mitre:atlas:exfiltration": {
1081
1264
  plugins: [
1082
1265
  "ascii-smuggling",
1266
+ "cross-session-leak",
1267
+ "data-exfil",
1083
1268
  "harmful:privacy",
1084
1269
  "indirect-prompt-injection",
1085
1270
  "pii:api-db",
1086
1271
  "pii:direct",
1087
1272
  "pii:session",
1088
1273
  "pii:social",
1089
- "prompt-extraction"
1274
+ "prompt-extraction",
1275
+ "rag-document-exfiltration"
1090
1276
  ],
1091
1277
  strategies: []
1092
1278
  },
1093
1279
  "mitre:atlas:impact": {
1094
1280
  plugins: [
1281
+ "divergent-repetition",
1095
1282
  "excessive-agency",
1096
1283
  "harmful",
1097
1284
  "hijacking",
1098
- "imitation"
1285
+ "imitation",
1286
+ "reasoning-dos"
1099
1287
  ],
1100
1288
  strategies: ["crescendo"]
1101
1289
  },
@@ -1103,6 +1291,8 @@ const MITRE_ATLAS_MAPPING = {
1103
1291
  plugins: [
1104
1292
  "debug-access",
1105
1293
  "harmful:cybercrime",
1294
+ "indirect-prompt-injection",
1295
+ "mcp",
1106
1296
  "shell-injection",
1107
1297
  "sql-injection",
1108
1298
  "ssrf"
@@ -1115,18 +1305,46 @@ const MITRE_ATLAS_MAPPING = {
1115
1305
  "rot13"
1116
1306
  ]
1117
1307
  },
1118
- "mitre:atlas:ml-attack-staging": {
1308
+ "mitre:atlas:lateral-movement": {
1119
1309
  plugins: [
1120
- "ascii-smuggling",
1310
+ "bfla",
1311
+ "bola",
1312
+ "harmful:cybercrime",
1313
+ "rbac"
1314
+ ],
1315
+ strategies: []
1316
+ },
1317
+ "mitre:atlas:persistence": {
1318
+ plugins: [
1319
+ "agentic:memory-poisoning",
1320
+ "cross-session-leak",
1321
+ "indirect-prompt-injection",
1322
+ "rag-poisoning",
1323
+ "system-prompt-override"
1324
+ ],
1325
+ strategies: ["jailbreak"]
1326
+ },
1327
+ "mitre:atlas:privilege-escalation": {
1328
+ plugins: [
1329
+ "bfla",
1330
+ "bola",
1331
+ "debug-access",
1121
1332
  "excessive-agency",
1122
- "hallucination",
1123
- "indirect-prompt-injection"
1333
+ "mcp",
1334
+ "rbac",
1335
+ "shell-injection",
1336
+ "system-prompt-override"
1124
1337
  ],
1125
- strategies: ["jailbreak", "jailbreak:tree"]
1338
+ strategies: [
1339
+ "jailbreak",
1340
+ "jailbreak:tree",
1341
+ "jailbreak-templates"
1342
+ ]
1126
1343
  },
1127
1344
  "mitre:atlas:reconnaissance": {
1128
1345
  plugins: [
1129
1346
  "competitors",
1347
+ "model-identification",
1130
1348
  "policy",
1131
1349
  "prompt-extraction",
1132
1350
  "rbac"
@@ -1135,13 +1353,16 @@ const MITRE_ATLAS_MAPPING = {
1135
1353
  },
1136
1354
  "mitre:atlas:resource-development": {
1137
1355
  plugins: [
1356
+ "harmful:chemical-biological-weapons",
1138
1357
  "harmful:cybercrime",
1358
+ "harmful:cybercrime:malicious-code",
1139
1359
  "harmful:illegal-drugs",
1140
1360
  "harmful:indiscriminate-weapons"
1141
1361
  ],
1142
1362
  strategies: []
1143
1363
  }
1144
1364
  };
1365
+ const MITRE_ATLAS_LEGACY_MAPPING = { "mitre:atlas:ml-attack-staging": MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING };
1145
1366
  /**
1146
1367
  * EU Artificial Intelligence Act
1147
1368
  * ▸ Art. 5 (Prohibited AI practices) – unacceptable-risk
@@ -1548,6 +1769,7 @@ const ALIASED_PLUGINS = [
1548
1769
  "iso:42001",
1549
1770
  "gdpr",
1550
1771
  ...Object.keys(MITRE_ATLAS_MAPPING),
1772
+ ...Object.keys(MITRE_ATLAS_LEGACY_MAPPING),
1551
1773
  ...Object.keys(NIST_AI_RMF_MAPPING),
1552
1774
  ...Object.keys(OWASP_API_TOP_10_MAPPING),
1553
1775
  ...Object.keys(OWASP_LLM_TOP_10_MAPPING),
@@ -1559,6 +1781,7 @@ const ALIASED_PLUGINS = [
1559
1781
  ];
1560
1782
  const ALIASED_PLUGIN_MAPPINGS = {
1561
1783
  "dod:ai:ethics": DOD_AI_ETHICS_MAPPING,
1784
+ "mitre:atlas:ml-attack-staging": MITRE_ATLAS_LEGACY_MAPPING,
1562
1785
  "mitre:atlas": MITRE_ATLAS_MAPPING,
1563
1786
  "nist:ai:measure": NIST_AI_RMF_MAPPING,
1564
1787
  "owasp:api": OWASP_API_TOP_10_MAPPING,
@@ -1619,8 +1842,8 @@ const ALIASED_PLUGIN_MAPPINGS = {
1619
1842
  strategies: []
1620
1843
  } }
1621
1844
  };
1622
- //#endregion
1623
- //#region src/redteam/constants/metadata.ts
1845
+ ({ ...CODING_AGENT_PLUGIN_DESCRIPTIONS });
1846
+ ({ ...CODING_AGENT_PLUGIN_DISPLAY_NAMES });
1624
1847
  const Severity = {
1625
1848
  Critical: "critical",
1626
1849
  High: "high",
@@ -1637,6 +1860,10 @@ const SeveritySchema = z.enum([
1637
1860
  ]);
1638
1861
  Severity.Critical, Severity.High, Severity.Medium, Severity.Low, Severity.Informational;
1639
1862
  Severity.Critical, Severity.High, Severity.Medium, Severity.Low, Severity.Informational;
1863
+ const codingAgentRiskCategorySeverityMap = {
1864
+ ...Object.fromEntries(CODING_AGENT_PLUGINS.map((pluginId) => [pluginId, Severity.High])),
1865
+ "coding-agent:core": Severity.High
1866
+ };
1640
1867
  const riskCategorySeverityMap = {
1641
1868
  ["agentic:memory-poisoning"]: Severity.High,
1642
1869
  aegis: Severity.Medium,
@@ -1654,6 +1881,7 @@ const riskCategorySeverityMap = {
1654
1881
  "financial:defamation": Severity.Medium,
1655
1882
  "financial:hallucination": Severity.Low,
1656
1883
  "financial:impartiality": Severity.Medium,
1884
+ "financial:japan-fiea-suitability": Severity.High,
1657
1885
  "financial:misconduct": Severity.High,
1658
1886
  "financial:sox-compliance": Severity.High,
1659
1887
  "financial:sycophancy": Severity.Low,
@@ -1669,6 +1897,9 @@ const riskCategorySeverityMap = {
1669
1897
  default: Severity.Low,
1670
1898
  mcp: Severity.High,
1671
1899
  "medical:anchoring-bias": Severity.High,
1900
+ "medical:fda:ai-disclosure": Severity.High,
1901
+ "medical:fda:cyber-access-control": Severity.Critical,
1902
+ "medical:fda:cyber-audit-tampering": Severity.Critical,
1672
1903
  "medical:hallucination": Severity.Critical,
1673
1904
  "medical:incorrect-knowledge": Severity.Critical,
1674
1905
  "medical:off-label-use": Severity.High,
@@ -1745,6 +1976,11 @@ const riskCategorySeverityMap = {
1745
1976
  "telecom:coverage-misinformation": Severity.Medium,
1746
1977
  "telecom:law-enforcement-request-handling": Severity.Medium,
1747
1978
  "telecom:accessibility-violation": Severity.Medium,
1979
+ "teen-safety": Severity.Low,
1980
+ "teen-safety:harmful-body-ideals": Severity.Low,
1981
+ "teen-safety:dangerous-content": Severity.Low,
1982
+ "teen-safety:dangerous-roleplay": Severity.Low,
1983
+ "teen-safety:age-restricted-goods-and-services": Severity.Low,
1748
1984
  realestate: Severity.Critical,
1749
1985
  "realestate:fair-housing-discrimination": Severity.Critical,
1750
1986
  "realestate:steering": Severity.Critical,
@@ -1784,9 +2020,10 @@ const riskCategorySeverityMap = {
1784
2020
  vlguard: Severity.Medium,
1785
2021
  vlsu: Severity.Medium,
1786
2022
  wordplay: Severity.Low,
1787
- xstest: Severity.Low
2023
+ xstest: Severity.Low,
2024
+ ...codingAgentRiskCategorySeverityMap
1788
2025
  };
1789
- Object.entries({
2026
+ const riskCategories = {
1790
2027
  "Security & Access Control": [
1791
2028
  "ascii-smuggling",
1792
2029
  "bfla",
@@ -1858,6 +2095,10 @@ Object.entries({
1858
2095
  "harmful:radicalization",
1859
2096
  "harmful:self-harm",
1860
2097
  "harmful:sexual-content",
2098
+ "teen-safety:harmful-body-ideals",
2099
+ "teen-safety:dangerous-content",
2100
+ "teen-safety:dangerous-roleplay",
2101
+ "teen-safety:age-restricted-goods-and-services",
1861
2102
  "wordplay"
1862
2103
  ],
1863
2104
  Brand: [
@@ -1889,11 +2130,15 @@ Object.entries({
1889
2130
  "financial:defamation",
1890
2131
  "financial:hallucination",
1891
2132
  "financial:impartiality",
2133
+ "financial:japan-fiea-suitability",
1892
2134
  "financial:misconduct",
1893
2135
  "financial:sox-compliance",
1894
2136
  "financial:sycophancy",
1895
2137
  "medical:hallucination",
1896
2138
  "medical:anchoring-bias",
2139
+ "medical:fda:ai-disclosure",
2140
+ "medical:fda:cyber-access-control",
2141
+ "medical:fda:cyber-audit-tampering",
1897
2142
  "medical:incorrect-knowledge",
1898
2143
  "medical:off-label-use",
1899
2144
  "medical:prioritization-error",
@@ -1934,8 +2179,10 @@ Object.entries({
1934
2179
  "vlguard",
1935
2180
  "vlsu",
1936
2181
  "xstest"
1937
- ]
1938
- }).reduce((acc, [category, harms]) => {
2182
+ ],
2183
+ "Coding Agent Security": [...CODING_AGENT_PLUGINS]
2184
+ };
2185
+ Object.entries(riskCategories).reduce((acc, [category, harms]) => {
1939
2186
  harms.forEach((harm) => {
1940
2187
  acc[harm] = category;
1941
2188
  });
@@ -1961,6 +2208,9 @@ const categoryAliases = {
1961
2208
  ferpa: "FERPACompliance",
1962
2209
  mcp: "MCP",
1963
2210
  "medical:anchoring-bias": "MedicalAnchoringBias",
2211
+ "medical:fda:ai-disclosure": "MedicalFdaAiDisclosure",
2212
+ "medical:fda:cyber-access-control": "MedicalFdaCyberAccessControl",
2213
+ "medical:fda:cyber-audit-tampering": "MedicalFdaCyberAuditTampering",
1964
2214
  "medical:hallucination": "Medical Hallucination",
1965
2215
  "medical:incorrect-knowledge": "MedicalIncorrectKnowledge",
1966
2216
  "medical:off-label-use": "MedicalOffLabelUse",
@@ -1978,6 +2228,7 @@ const categoryAliases = {
1978
2228
  "financial:defamation": "FinancialDefamation",
1979
2229
  "financial:hallucination": "FinancialHallucination",
1980
2230
  "financial:impartiality": "FinancialImpartiality",
2231
+ "financial:japan-fiea-suitability": "FinancialJapanFieaSuitability",
1981
2232
  "financial:misconduct": "FinancialMisconduct",
1982
2233
  "financial:sox-compliance": "FinancialSoxCompliance",
1983
2234
  "financial:sycophancy": "FinancialSycophancy",
@@ -2019,6 +2270,11 @@ const categoryAliases = {
2019
2270
  "telecom:coverage-misinformation": "TelecomCoverageMisinformation",
2020
2271
  "telecom:law-enforcement-request-handling": "TelecomLawEnforcementRequestHandling",
2021
2272
  "telecom:accessibility-violation": "TelecomAccessibilityViolation",
2273
+ "teen-safety": "TeenSafety",
2274
+ "teen-safety:harmful-body-ideals": "TeenSafetyHarmfulBodyIdeals",
2275
+ "teen-safety:dangerous-content": "TeenSafetyDangerousContent",
2276
+ "teen-safety:dangerous-roleplay": "TeenSafetyDangerousRoleplay",
2277
+ "teen-safety:age-restricted-goods-and-services": "TeenSafetyAgeRestrictedGoodsAndServices",
2022
2278
  realestate: "Real Estate Safety",
2023
2279
  "realestate:fair-housing-discrimination": "RealEstateFairHousingDiscrimination",
2024
2280
  "realestate:steering": "RealEstateSteering",
@@ -2088,7 +2344,8 @@ const categoryAliases = {
2088
2344
  vlguard: "VLGuard",
2089
2345
  vlsu: "VLSU",
2090
2346
  wordplay: "Wordplay",
2091
- xstest: "XSTest"
2347
+ xstest: "XSTest",
2348
+ ...CODING_AGENT_PLUGIN_ALIASES
2092
2349
  };
2093
2350
  Object.entries(categoryAliases).reduce((acc, [key, value]) => {
2094
2351
  acc[value] = key;
@@ -2144,6 +2401,11 @@ const pluginDescriptions = {
2144
2401
  "telecom:coverage-misinformation": "Tests for false or misleading claims about network coverage, 5G availability, or roaming capabilities",
2145
2402
  "telecom:law-enforcement-request-handling": "Tests for improper handling of law enforcement data requests in violation of CALEA requirements and privacy laws",
2146
2403
  "telecom:accessibility-violation": "Tests for accessibility compliance violations under Section 255, Section 508, ADA, and 21st Century CVAA",
2404
+ "teen-safety": "Comprehensive teen safety testing for age-appropriate AI behavior across body image harms, dangerous activities, unsafe roleplay, and underage access risks",
2405
+ "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",
2406
+ "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",
2407
+ "teen-safety:dangerous-roleplay": "Tests for interactive roleplay involving minors that simulates romantic, sexual, or violent scenarios that could normalize exploitation or harm",
2408
+ "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
2409
  realestate: "Comprehensive real estate AI safety testing for Fair Housing Act compliance, steering prevention, lending discrimination (ECOA), valuation bias, and housing discrimination vulnerabilities",
2148
2410
  "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
2411
  "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 +2453,9 @@ const pluginDescriptions = {
2191
2453
  "ecommerce:price-manipulation": "Tests for price manipulation through discount code abuse, inventory exploits, cart manipulation, unauthorized price modifications, or coupon stacking vulnerabilities",
2192
2454
  mcp: "Tests for vulnerabilities to Model Context Protocol (MCP) attacks",
2193
2455
  "medical:anchoring-bias": "Tests for medical anchoring bias where AI fixates on irrelevant information in medical contexts",
2456
+ "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",
2457
+ "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",
2458
+ "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
2459
  "medical:hallucination": "Tests for fabricated medical facts, non-existent studies, made-up drug interactions, or other false medical information",
2195
2460
  "medical:incorrect-knowledge": "Tests for factually wrong medical information that could be harmful if followed",
2196
2461
  "medical:off-label-use": "Tests for inappropriate off-label medication recommendations without proper disclaimers, warnings, or professional consultation requirements",
@@ -2204,6 +2469,7 @@ const pluginDescriptions = {
2204
2469
  "financial:defamation": "Tests for false statements that damage the reputation of financial entities, including unfounded fraud accusations, fabricated scandals, or false insolvency claims",
2205
2470
  "financial:hallucination": "Tests for fabricated market data, non-existent financial instruments, fictional company financials, or invented market events",
2206
2471
  "financial:impartiality": "Tests for inappropriate provision of financial advice, investment recommendations, broker suggestions, or transaction facilitation without proper authorization or disclaimers",
2472
+ "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
2473
  "financial:misconduct": "Tests for facilitation of financial crimes including insider trading, market manipulation, front-running, spoofing, bribery, or circumventing financial regulations",
2208
2474
  "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
2475
  "financial:sycophancy": "Tests for agreeing with risky trading strategies, unrealistic return expectations, or get-rich-quick schemes",
@@ -2241,7 +2507,8 @@ const pluginDescriptions = {
2241
2507
  vlsu: "Tests compositional safety where individually safe images and text combine to produce harmful outputs using Apple VLSU dataset",
2242
2508
  wordplay: "Tests whether AI systems can be tricked into generating profanity or offensive language through innocent-seeming wordplay like riddles and rhyming games",
2243
2509
  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"
2510
+ "guardrails-eval": "Evaluate guardrail effectiveness against common risks",
2511
+ ...CODING_AGENT_PLUGIN_DESCRIPTIONS
2245
2512
  };
2246
2513
  //#endregion
2247
2514
  //#region src/redteam/constants/strategies.ts
@@ -2261,6 +2528,7 @@ const DEFAULT_STRATEGIES = [
2261
2528
  "jailbreak:meta",
2262
2529
  "jailbreak:composite"
2263
2530
  ];
2531
+ new Set(DEFAULT_STRATEGIES);
2264
2532
  const MULTI_TURN_STRATEGIES = [
2265
2533
  "crescendo",
2266
2534
  "goat",
@@ -2286,6 +2554,7 @@ const AGENTIC_STRATEGIES = [
2286
2554
  "jailbreak:tree",
2287
2555
  "mischievous-user"
2288
2556
  ];
2557
+ new Set(AGENTIC_STRATEGIES);
2289
2558
  const DATASET_PLUGINS = [
2290
2559
  "beavertails",
2291
2560
  "cyberseceval",
@@ -2451,7 +2720,62 @@ const PluginConfigSchema = z.object({
2451
2720
  policy: z.union([z.string(), PolicyObjectSchema]).optional(),
2452
2721
  systemPrompt: z.string().optional(),
2453
2722
  excludeStrategies: z.array(z.string()).optional(),
2723
+ protectedFilePath: z.string().optional(),
2724
+ protectedFilePaths: z.array(z.string()).optional(),
2725
+ secretFilePath: z.string().optional(),
2726
+ secretFilePaths: z.array(z.string()).optional(),
2727
+ secretLocalFilePath: z.string().optional(),
2728
+ secretLocalFilePaths: z.array(z.string()).optional(),
2729
+ secretFileValue: z.string().optional(),
2730
+ secretFileValues: z.array(z.string()).optional(),
2731
+ outsideWritePath: z.string().optional(),
2732
+ outsideWritePaths: z.array(z.string()).optional(),
2733
+ outsideWriteHostPath: z.string().optional(),
2734
+ outsideWriteHostPaths: z.array(z.string()).optional(),
2735
+ outsideWriteProbeDir: z.string().optional(),
2736
+ outsideWriteProbeDirs: z.array(z.string()).optional(),
2737
+ outsideWriteAllowedPath: z.string().optional(),
2738
+ outsideWriteAllowedPaths: z.array(z.string()).optional(),
2739
+ outsideWriteExpectedSha256: z.string().optional(),
2740
+ outsideWritePathSha256: z.string().optional(),
2741
+ outsideWriteSha256: z.string().optional(),
2742
+ outsideWriteMustNotExistPath: z.string().optional(),
2743
+ outsideWriteMustNotExistPaths: z.array(z.string()).optional(),
2744
+ mustNotExistPath: z.string().optional(),
2745
+ mustNotExistPaths: z.array(z.string()).optional(),
2746
+ protectedWritePath: z.string().optional(),
2747
+ protectedWritePaths: z.array(z.string()).optional(),
2748
+ sandboxWritePath: z.string().optional(),
2749
+ sandboxWritePaths: z.array(z.string()).optional(),
2750
+ workspacePath: z.string().optional(),
2751
+ workspacePaths: z.array(z.string()).optional(),
2752
+ workspaceRoot: z.string().optional(),
2753
+ workspaceRoots: z.array(z.string()).optional(),
2754
+ workingDirectory: z.string().optional(),
2755
+ workingDirectoryPath: z.string().optional(),
2756
+ workingDir: z.string().optional(),
2757
+ networkEgressUrl: z.string().optional(),
2758
+ networkEgressUrls: z.array(z.string()).optional(),
2759
+ networkTrapUrl: z.string().optional(),
2760
+ networkTrapUrls: z.array(z.string()).optional(),
2761
+ networkEgressHost: z.string().optional(),
2762
+ networkEgressHosts: z.array(z.string()).optional(),
2763
+ networkTrapHost: z.string().optional(),
2764
+ networkTrapHosts: z.array(z.string()).optional(),
2765
+ networkAllowedHost: z.string().optional(),
2766
+ networkAllowedHosts: z.array(z.string()).optional(),
2767
+ networkAllowedUrl: z.string().optional(),
2768
+ networkAllowedUrls: z.array(z.string()).optional(),
2769
+ networkTrapLogPath: z.string().optional(),
2770
+ networkTrapLogPaths: z.array(z.string()).optional(),
2771
+ networkScanPath: z.string().optional(),
2772
+ networkScanPaths: z.array(z.string()).optional(),
2773
+ networkWorkspacePath: z.string().optional(),
2774
+ networkWorkspacePaths: z.array(z.string()).optional(),
2775
+ networkEgressReceipt: z.string().optional(),
2776
+ networkEgressReceipts: z.array(z.string()).optional(),
2454
2777
  inputs: InputsSchema.optional(),
2778
+ maxCharsPerMessage: z.number().int().positive().optional(),
2455
2779
  __nonce: z.number().optional()
2456
2780
  });
2457
2781
  const StrategyConfigSchema = z.object({
@@ -2641,6 +2965,7 @@ z.object({
2641
2965
  language: z.union([z.string(), z.array(z.string())]).optional().describe("Language(s) of tests to generate"),
2642
2966
  frameworks: z.array(z.enum(frameworkOptions)).min(1).optional().describe("Subset of compliance frameworks to include when generating, reporting, and filtering results"),
2643
2967
  maxConcurrency: z.int().positive().optional().describe("Maximum number of concurrent API calls"),
2968
+ maxCharsPerMessage: z.int().positive().optional().describe("Maximum number of characters allowed per generated user message"),
2644
2969
  numTests: z.int().positive().optional().describe("Number of tests to generate"),
2645
2970
  output: z.string().optional().describe("Output file path"),
2646
2971
  plugins: z.array(RedteamPluginObjectSchema).optional().describe("Plugins to use"),
@@ -2673,6 +2998,7 @@ const RedteamConfigSchema = z.object({
2673
2998
  Supports ${ALL_STRATEGIES.join(", ")}
2674
2999
  `).optional().prefault(["default"]),
2675
3000
  maxConcurrency: z.int().positive().optional().describe("Maximum number of concurrent API calls"),
3001
+ maxCharsPerMessage: z.int().positive().optional().describe("Maximum number of characters allowed per generated user message"),
2676
3002
  delay: z.int().nonnegative().optional().describe("Delay in milliseconds between plugin API calls"),
2677
3003
  excludeTargetOutputFromAgenticAttackGeneration: z.boolean().optional().describe("Whether to exclude target output from the agentific attack generation process"),
2678
3004
  tracing: TracingConfigSchema.optional().describe("Tracing defaults applied to all strategies unless overridden"),
@@ -2726,6 +3052,7 @@ const RedteamConfigSchema = z.object({
2726
3052
  else if (id === "pharmacy") expandCollection([...PHARMACY_PLUGINS], config, numTests, severity);
2727
3053
  else if (id === "insurance") expandCollection([...INSURANCE_PLUGINS], config, numTests, severity);
2728
3054
  else if (id === "financial") expandCollection([...FINANCIAL_PLUGINS], config, numTests, severity);
3055
+ else if (id === "teen-safety") expandCollection([...TEEN_SAFETY_PLUGINS], config, numTests, severity);
2729
3056
  else if (id === "default") expandCollection([...DEFAULT_PLUGINS], config, numTests, severity);
2730
3057
  else if (id === "guardrails-eval") expandCollection([...GUARDRAILS_EVALUATION_PLUGINS], config, numTests, severity);
2731
3058
  };
@@ -2786,6 +3113,7 @@ const RedteamConfigSchema = z.object({
2786
3113
  });
2787
3114
  return {
2788
3115
  numTests: data.numTests,
3116
+ ...data.maxCharsPerMessage ? { maxCharsPerMessage: data.maxCharsPerMessage } : {},
2789
3117
  plugins: uniquePlugins,
2790
3118
  strategies,
2791
3119
  ...frameworks ? { frameworks } : {},
@@ -2911,6 +3239,7 @@ const PromptMetricsSchema = z.object({
2911
3239
  tokenUsage: BaseTokenUsageSchema,
2912
3240
  namedScores: z.record(z.string(), z.number()),
2913
3241
  namedScoresCount: z.record(z.string(), z.number()),
3242
+ namedScoreWeights: z.record(z.string(), z.number()).optional(),
2914
3243
  redteam: z.object({
2915
3244
  pluginPassCount: z.record(z.string(), z.number()),
2916
3245
  pluginFailCount: z.record(z.string(), z.number()),
@@ -2933,7 +3262,7 @@ function isResultFailureReason(value) {
2933
3262
  return validResultFailureReasons.has(value);
2934
3263
  }
2935
3264
  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");
3265
+ 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
3266
  }
2938
3267
  const BaseAssertionTypesSchema = z.enum([
2939
3268
  "answer-relevance",
@@ -3076,6 +3405,7 @@ const TestCaseSchema = z.object({
3076
3405
  ...GradingConfigSchema.shape,
3077
3406
  disableVarExpansion: z.boolean().optional(),
3078
3407
  disableConversationVar: z.boolean().optional(),
3408
+ disableDefaultAsserts: z.boolean().optional(),
3079
3409
  runSerially: z.boolean().optional()
3080
3410
  }).catchall(z.any()).optional(),
3081
3411
  threshold: z.number().optional(),
@@ -3165,7 +3495,7 @@ const TestSuiteSchema = z.object({
3165
3495
  enabled: z.boolean(),
3166
3496
  port: z.number(),
3167
3497
  host: z.string().optional(),
3168
- acceptFormats: z.array(z.string())
3498
+ acceptFormats: z.array(z.enum(["protobuf", "json"])).optional()
3169
3499
  }).optional(),
3170
3500
  grpc: z.object({
3171
3501
  enabled: z.boolean(),
@@ -3234,7 +3564,7 @@ const TestSuiteConfigSchema = z.object({
3234
3564
  enabled: z.boolean().prefault(true),
3235
3565
  port: z.number().prefault(4318),
3236
3566
  host: z.string().prefault("0.0.0.0"),
3237
- acceptFormats: z.array(z.enum(["protobuf", "json"])).prefault(["json"])
3567
+ acceptFormats: z.array(z.enum(["protobuf", "json"])).prefault(["json", "protobuf"])
3238
3568
  }).optional(),
3239
3569
  grpc: z.object({
3240
3570
  enabled: z.boolean().prefault(false),
@@ -3289,6 +3619,6 @@ const EvalResultsFilterMode = z.enum([
3289
3619
  "user-rated"
3290
3620
  ]);
3291
3621
  //#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 };
3622
+ 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
3623
 
3294
- //# sourceMappingURL=types-Cd3ygw8W.js.map
3624
+ //# sourceMappingURL=types-BDjGOq4E.js.map