promptfoo 0.121.2 → 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 (379) hide show
  1. package/README.md +2 -0
  2. package/dist/src/{ListApp-Du7YVwj5.js → ListApp-DQkFNqE9.js} +1 -1
  3. package/dist/src/{accounts-B0pgC1oV.js → accounts-DdJ2pHMI.js} +5 -5
  4. package/dist/src/{accounts-CiBLOnA7.js → accounts-DhMYUUbu.js} +5 -5
  5. package/dist/src/{accounts-gtkH-5KX.cjs → accounts-Dy17bs4D.cjs} +5 -5
  6. package/dist/src/{accounts-Bm2D8Db9.js → accounts-F9d_5sMC.js} +6 -6
  7. package/dist/src/{cometapi-C4xSqeID.cjs → agentic-utils-BpX5b23w.cjs} +24 -62
  8. package/dist/src/{cometapi-CUQq3H_a.js → agentic-utils-P172hM8B.js} +4 -61
  9. package/dist/src/agentic-utils-qFlm6zes.js +153 -0
  10. package/dist/src/{agentic-utils-DS1g3GLF.js → agentic-utils-w68v6_Dz.js} +3 -3
  11. package/dist/src/{agents-CmvBq8LV.js → agents-8FDnTriG.js} +6 -7
  12. package/dist/src/{agents-DbRtpYxR.cjs → agents-BahDpe5G.cjs} +255 -20
  13. package/dist/src/{agents-DgF2zDag.js → agents-C-R_jfzI.js} +255 -20
  14. package/dist/src/{agents-9qiOy0ho.js → agents-CgaMXvLM.js} +5 -7
  15. package/dist/src/{agents-Di9DKPzn.cjs → agents-D7-HGxUj.cjs} +5 -7
  16. package/dist/src/{agents-CBr9A01V.js → agents-DJ35I3Nt.js} +255 -20
  17. package/dist/src/{agents-cLXA8a_8.js → agents-aYPQLf8W.js} +5 -9
  18. package/dist/src/{agents-D__IdAlg.js → agents-pQeBEXMm.js} +255 -21
  19. package/dist/src/{aimlapi-B4rcnZgv.js → aimlapi-BCq3MHeL.js} +8 -14
  20. package/dist/src/{aimlapi-DHJU_kcV.js → aimlapi-BD6J9oKt.js} +7 -14
  21. package/dist/src/{aimlapi-BvlNH0gr.cjs → aimlapi-qcK4OT55.cjs} +8 -15
  22. package/dist/src/{aimlapi-CnkC2HqE.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-Dz3z7s3J.js → audio-B7izf48x.js} +4 -5
  36. package/dist/src/{audio-CGMyULza.cjs → audio-BQtNuYBj.cjs} +4 -4
  37. package/dist/src/{audio-Bkv46et0.js → audio-COrn8rM6.js} +4 -4
  38. package/dist/src/{audio-ClI_AFre.js → audio-DcVKoInv.js} +4 -4
  39. package/dist/src/{base-CGrhspbK.cjs → base-D-670DX8.cjs} +3 -3
  40. package/dist/src/{base-CpjcHe4e.js → base-PYJvBE1i.js} +3 -3
  41. package/dist/src/{base-Dy1V8--Z.js → base-fZ9wgg50.js} +3 -3
  42. package/dist/src/{base-DLKtKMFh.js → base-yrI1Yal4.js} +3 -3
  43. package/dist/src/{blobs-BDbfYdrJ.js → blobs-BCZavS8s.js} +4 -4
  44. package/dist/src/{blobs-CMHN0Qcz.js → blobs-BQWqnnvL.js} +4 -4
  45. package/dist/src/{blobs-CBO20krR.js → blobs-C-F78Kfn.js} +3 -3
  46. package/dist/src/{blobs-D23XLin-.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-C2jrdPMx.js → chat-0bwXjVP0.js} +3 -13
  54. package/dist/src/{chat-C1Qst7jL.cjs → chat-BPXSW8Bv.cjs} +3 -13
  55. package/dist/src/{chat-DJIw17u0.js → chat-BfPaS15_.js} +68 -42
  56. package/dist/src/{chat-CgF-J-Jj.cjs → chat-CclRbxGf.cjs} +68 -42
  57. package/dist/src/{chat-BiKyneZl.js → chat-Dr3DUQ0D.js} +68 -42
  58. package/dist/src/{chat-DqxYYtWA.js → chat-I9izLm49.js} +67 -41
  59. package/dist/src/{chat-CzkrVDfz.js → chat-MKxMnZJZ.js} +3 -13
  60. package/dist/src/{chat-qmatte1u.js → chat-mW0ORo8G.js} +3 -14
  61. package/dist/src/{chatkit-DKyPi1Gs.cjs → chatkit-BoWoSgXl.cjs} +4 -4
  62. package/dist/src/{chatkit-65VXf5SR.js → chatkit-CJnHRRMM.js} +4 -4
  63. package/dist/src/{chatkit-Be-Q-a9F.js → chatkit-Cv6AhukM.js} +4 -4
  64. package/dist/src/{chatkit-BxFvW8KY.js → chatkit-zUIVoDos.js} +4 -4
  65. package/dist/src/{claude-agent-sdk-Apiy0iaz.js → claude-agent-sdk-BQNuLaAK.js} +41 -18
  66. package/dist/src/{claude-agent-sdk-D9Z5Pr9X.cjs → claude-agent-sdk-CPJo3dBQ.cjs} +45 -22
  67. package/dist/src/{claude-agent-sdk-D2bJee9S.js → claude-agent-sdk-Dtq_L-Sc.js} +40 -17
  68. package/dist/src/{claude-agent-sdk-DfCoW0E6.js → claude-agent-sdk-nfAIcxNf.js} +42 -20
  69. package/dist/src/{cloud-C0dlstV_.js → cloud-DQZ5sVjW.js} +25 -13
  70. package/dist/src/cloud-Hphvo8kr.js +3 -0
  71. package/dist/src/{cloudflare-ai-8TDxHR0x.js → cloudflare-ai-BIB567w6.js} +5 -14
  72. package/dist/src/{cloudflare-ai-g7PB6VHR.js → cloudflare-ai-DGLte7Py.js} +5 -14
  73. package/dist/src/{cloudflare-ai-CknbZ5LJ.cjs → cloudflare-ai-Dl3N9OVD.cjs} +6 -15
  74. package/dist/src/{cloudflare-ai-BxAGvfju.js → cloudflare-ai-DlKr0rY7.js} +5 -15
  75. package/dist/src/{cloudflare-gateway-B9HWA5wf.js → cloudflare-gateway-BDZrYydE.js} +4 -16
  76. package/dist/src/{cloudflare-gateway-BSnDmHYo.cjs → cloudflare-gateway-BYDp495F.cjs} +4 -15
  77. package/dist/src/{cloudflare-gateway-CKDb4dJ8.js → cloudflare-gateway-CiIZHU0Q.js} +5 -164
  78. package/dist/src/{cloudflare-gateway-CP9QEWYS.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-BL9yvj_f.js → cometapi-BUlt_ELa.js} +8 -15
  86. package/dist/src/{cometapi-DFNiKmSz.js → cometapi-CtJ-mS8R.js} +8 -16
  87. package/dist/src/cometapi-DT-jlVCB.js +55 -0
  88. package/dist/src/cometapi-UVOryo4W.cjs +55 -0
  89. package/dist/src/{completion-CM6oK8PS.cjs → completion-BozdoXba.cjs} +7 -62
  90. package/dist/src/{completion-5MzrpJxT.js → completion-Dnxn7E-j.js} +8 -57
  91. package/dist/src/{completion-qRoZAYRB.js → completion-HUe8wDhZ.js} +8 -57
  92. package/dist/src/{completion-DZ083F31.js → completion-x0a_c2y1.js} +8 -57
  93. package/dist/src/{createHash-CTQmL3G2.js → createHash-4gFQpDDv.js} +3 -3
  94. package/dist/src/{createHash-CfZSc0b4.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-ExVyLp0S.js → docker-CQmlA2NU.js} +7 -14
  98. package/dist/src/{docker-Bb5dcxr8.js → docker-ClnmCf1Z.js} +6 -14
  99. package/dist/src/{docker-BvfL2BrW.js → docker-DCgsveLD.js} +6 -16
  100. package/dist/src/{docker-DcF2pRrj.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-CaIwzWR5.js → esm-C7PnfdF8.js} +16 -7
  108. package/dist/src/{esm-CnNt7sI4.cjs → esm-CtEPLdAj.cjs} +15 -6
  109. package/dist/src/{esm-Cd1AjG1D.js → esm-Dh4dOLlt.js} +15 -6
  110. package/dist/src/{esm-C03C-mv3.js → esm-tVgYPY-f.js} +27 -18
  111. package/dist/src/eval-CzJFfFO9.js +3 -0
  112. package/dist/src/{eval-Dg2nG4v2.js → eval-u4UVafl6.js} +49 -20
  113. package/dist/src/{evalResult-BDMqrapS.js → evalResult-Bgm9ZH31.js} +7 -7
  114. package/dist/src/{evalResult-BBRNtX4I.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-fuaI8HkH.cjs → evalResult-KZqXl4XP.cjs} +7 -7
  119. package/dist/src/evaluator-CVessDWe.js +3 -0
  120. package/dist/src/{evaluator-BhoWwp5b.js → evaluator-IvuDYSvQ.js} +3080 -1254
  121. package/dist/src/{extractor-D25qpmGX.js → extractor-CAfTSraf.js} +6 -6
  122. package/dist/src/{extractor-DReVID0K.js → extractor-DNSeBVOJ.js} +6 -6
  123. package/dist/src/{extractor-C0EVHewb.js → extractor-Dk6bRWkv.js} +6 -6
  124. package/dist/src/{extractor-pYLLi3wS.cjs → extractor-WVPOrH43.cjs} +6 -6
  125. package/dist/src/{fetch-HaqdX7U1.js → fetch-B0Z3Oe4k.js} +218 -55
  126. package/dist/src/{fetch-Dxpd4_sr.js → fetch-BEWnXrrG.js} +195 -45
  127. package/dist/src/fetch-C7bGKDlQ.js +3 -0
  128. package/dist/src/{fetch-BPkYtG8K.cjs → fetch-CJU5ELPa.cjs} +223 -48
  129. package/dist/src/{fetch-Cwxnd8zz.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-D3fD9dNV.js → genaiTracer-COYDi-tC.js} +6 -2
  134. package/dist/src/{genaiTracer-C1rxGO8Q.js → genaiTracer-DWdZ28hY.js} +6 -2
  135. package/dist/src/{genaiTracer-70Z8BIuV.js → genaiTracer-XnrcgDCe.js} +6 -2
  136. package/dist/src/{genaiTracer-DN4dQywX.cjs → genaiTracer-yRuxj9-L.cjs} +7 -3
  137. package/dist/src/golang/wrapper.go +1 -1
  138. package/dist/src/{graders-DU49_J8Y.cjs → graders--zknU_uk.cjs} +5747 -3206
  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-BTeBGqjJ.js → graders-Zy3x0zqX.js} +5727 -3218
  144. package/dist/src/{graders-Bj_Odv7c.js → graders-eIHhRqoC.js} +5719 -3210
  145. package/dist/src/{graders-DP7KFFo-.js → graders-pvbReLLn.js} +5728 -3219
  146. package/dist/src/{image-B0h9VEMc.js → image-9302QVqR.js} +4 -4
  147. package/dist/src/{image-CHfWvljl.js → image-B5Mv-Z3h.js} +8 -8
  148. package/dist/src/{image-DS-o-0ph.js → image-DVz2RiMF.js} +8 -8
  149. package/dist/src/{image-C1madmKh.cjs → image-De2FBmYV.cjs} +4 -4
  150. package/dist/src/{image-B02ogr_b.js → image-dnoUgPrC.js} +4 -5
  151. package/dist/src/{image-Dpxa1Jt6.js → image-qUpPvmNZ.js} +8 -8
  152. package/dist/src/{image-Bb4vWQLM.js → image-u7-rKnYU.js} +4 -4
  153. package/dist/src/{image-BLmROtN3.cjs → image-x6KqLQl4.cjs} +8 -8
  154. package/dist/src/index.cjs +3728 -1482
  155. package/dist/src/index.d.cts +3232 -79
  156. package/dist/src/index.d.ts +3232 -79
  157. package/dist/src/index.js +3735 -1490
  158. package/dist/src/{interactiveCheck-BgLZUIt3.js → interactiveCheck-CLERUB0c.js} +2 -2
  159. package/dist/src/{knowledgeBase-DOO_BM9b.cjs → knowledgeBase-Bpoe_nLu.cjs} +6 -8
  160. package/dist/src/{knowledgeBase-D33Ty2l6.js → knowledgeBase-Dgc7CBWF.js} +6 -8
  161. package/dist/src/{knowledgeBase-B3OoKIej.js → knowledgeBase-RhFPGWDc.js} +6 -8
  162. package/dist/src/{knowledgeBase-CYTLHOt1.js → knowledgeBase-lm9RXSAm.js} +6 -9
  163. package/dist/src/{litellm-NbjknEh6.js → litellm-C2kqjxqp.js} +6 -14
  164. package/dist/src/{litellm-I_hbp_dc.cjs → litellm-CoyI4IAl.cjs} +6 -15
  165. package/dist/src/{litellm-TrljxD9G.js → litellm-DRjpcSa7.js} +5 -14
  166. package/dist/src/{litellm-AaeZcZQF.js → litellm-p37R1dzQ.js} +5 -16
  167. package/dist/src/{logger-DLcq4dWf.js → logger-B88EkIn6.js} +48 -23
  168. package/dist/src/{logger-Cp1GPUjj.cjs → logger-COuQb2xB.cjs} +77 -22
  169. package/dist/src/{logger-CT3IKMKA.js → logger-Ct2S6Yx-.js} +48 -23
  170. package/dist/src/{logger-KkObSCzq.js → logger-DksKw1Qc.js} +48 -23
  171. package/dist/src/{luma-ray-f6I2fft-.js → luma-ray-B863CmuZ.js} +6 -10
  172. package/dist/src/{luma-ray-DDsjcgZZ.js → luma-ray-BTTLtqQ8.js} +7 -10
  173. package/dist/src/{luma-ray-Due0n7di.cjs → luma-ray-BxVKaW2a.cjs} +6 -10
  174. package/dist/src/{luma-ray-BS2_tY8L.js → luma-ray-KgTCXrZC.js} +6 -12
  175. package/dist/src/main.d.ts +1 -26
  176. package/dist/src/main.js +1011 -548
  177. package/dist/src/{messages-Bs1kC7P4.cjs → messages-811uVVW5.cjs} +74 -19
  178. package/dist/src/{messages-BS17jdMx.js → messages-BTQz42fn.js} +74 -19
  179. package/dist/src/{messages-ZJk778GH.js → messages-MYTQ2TWp.js} +74 -19
  180. package/dist/src/{messages-D0lx5qK7.js → messages-zWbkLLHz.js} +74 -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-Bmni6skY.js → modelslab-D0erNWKe.js} +7 -10
  186. package/dist/src/{modelslab-DRb74SP4.js → modelslab-DIq-6y7x.js} +7 -10
  187. package/dist/src/{modelslab-CoUX6Jc_.cjs → modelslab-Dk1JAtVo.cjs} +7 -10
  188. package/dist/src/{modelslab-Bx9IrZfS.js → modelslab-wu9yi5GE.js} +7 -11
  189. package/dist/src/{nova-reel-BfPq-0Yk.js → nova-reel-CCFRfeRb.js} +7 -10
  190. package/dist/src/{nova-reel-C_QM18Xn.cjs → nova-reel-CrLXVKQf.cjs} +6 -10
  191. package/dist/src/{nova-reel-bgjxilYW.js → nova-reel-DQrm74ng.js} +6 -10
  192. package/dist/src/{nova-reel-D_W1tjMH.js → nova-reel-gr11WG7f.js} +6 -12
  193. package/dist/src/{nova-sonic-DIGQNR07.js → nova-sonic-BYdp-QLs.js} +5 -7
  194. package/dist/src/{nova-sonic-CFb5GYhg.js → nova-sonic-B_ZXcUJB.js} +4 -7
  195. package/dist/src/{nova-sonic-De1HW5fD.js → nova-sonic-TDgrlTk7.js} +4 -9
  196. package/dist/src/{nova-sonic-zfcljeRp.cjs → nova-sonic-i5tUvXKn.cjs} +4 -7
  197. package/dist/src/{openai-DElQ-fPX.js → openai-DhVEmgeZ.js} +6 -3
  198. package/dist/src/{openai-DhbB7eWK.js → openai-Qsvz25mV.js} +6 -3
  199. package/dist/src/{openai-Cuif0GEt.cjs → openai-URNyItar.cjs} +6 -3
  200. package/dist/src/{openai-j-sE2O7r.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-B3CWY9h_.js → opencode-sdk-BUu5Nevv.js} +12 -14
  206. package/dist/src/{opencode-sdk-BL764Jdi.cjs → opencode-sdk-BZ2idgYA.cjs} +16 -18
  207. package/dist/src/{opencode-sdk-0j6rTWNb.js → opencode-sdk-BxD8vXp_.js} +12 -15
  208. package/dist/src/{opencode-sdk-C2y6UkP2.js → opencode-sdk-GI2KaAXq.js} +12 -14
  209. package/dist/src/{otlpReceiver-C99PPb48.js → otlpReceiver-B2z58l4e.js} +154 -98
  210. package/dist/src/{otlpReceiver-CGq6LspY.cjs → otlpReceiver-BfcVq2Nq.cjs} +154 -98
  211. package/dist/src/{otlpReceiver-D89fR-rC.js → otlpReceiver-BntK801g.js} +154 -98
  212. package/dist/src/{otlpReceiver-CdNBdbsk.js → otlpReceiver-DmVulbhC.js} +154 -98
  213. package/dist/src/{providerRegistry-CD8MEar9.js → providerRegistry-Bvh8mv85.js} +2 -2
  214. package/dist/src/{providerRegistry-DM8rZYol.js → providerRegistry-CPQ_CmVO.js} +2 -2
  215. package/dist/src/{providerRegistry-Civky8Ar.cjs → providerRegistry-CQMdTmHP.cjs} +2 -2
  216. package/dist/src/{providerRegistry-B0RUOLI_.js → providerRegistry-CWoPjKFZ.js} +2 -2
  217. package/dist/src/{providers-CgKOSgTR.cjs → providers-1eKkXBKp.cjs} +1435 -930
  218. package/dist/src/{providers-BlqUifFg.js → providers-BV_KMZje.js} +1419 -944
  219. package/dist/src/providers-Bp4S-FvO.js +2 -0
  220. package/dist/src/providers-DV3ax9e_.cjs +3 -0
  221. package/dist/src/{providers-D8lF1sqW.js → providers-Domz_llv.js} +1427 -952
  222. package/dist/src/{providers-Dk_6ocUX.js → providers-DruaQfwu.js} +1424 -949
  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-D6fwaDSg.js → pythonUtils-C2UQ30Rz.js} +4 -4
  227. package/dist/src/{pythonUtils-D5nxkQ0P.js → pythonUtils-Cldx7huE.js} +4 -4
  228. package/dist/src/{pythonUtils-C3py6GC1.js → pythonUtils-CnndUbW-.js} +3 -3
  229. package/dist/src/{pythonUtils-CTU3Y3lw.cjs → pythonUtils-tAJvvpS-.cjs} +3 -3
  230. package/dist/src/{quiverai-CIaELU_m.js → quiverai-CtWi6x_g.js} +4 -4
  231. package/dist/src/{quiverai-PdShCPox.cjs → quiverai-DFotyafY.cjs} +4 -4
  232. package/dist/src/{quiverai-BbOUOn2L.js → quiverai-DR0SnIQV.js} +4 -4
  233. package/dist/src/{quiverai-uH-dcTIr.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-Drod8m7K.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-DIR9Ud3j.js → responses--OsX2aYW.js} +23 -14
  240. package/dist/src/{responses-D8SBTL64.cjs → responses-Bi9vBuW_.cjs} +24 -15
  241. package/dist/src/{responses-CB2jwoAr.js → responses-C-flexAY.js} +24 -15
  242. package/dist/src/{responses-WNGNYe3K.js → responses-DL9m8CyY.js} +24 -15
  243. package/dist/src/{rubyUtils-DhCAlxZr.cjs → rubyUtils-B6eljPuh.cjs} +3 -3
  244. package/dist/src/{rubyUtils-BcuGX77l.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-BUVePouc.js → rubyUtils-DVLeA2jg.js} +3 -3
  248. package/dist/src/{rubyUtils-Boc4HZzX.js → rubyUtils-DsGrTx8R.js} +3 -3
  249. package/dist/src/{sagemaker-CNBxx5CJ.js → sagemaker-BVkaG2-l.js} +14 -18
  250. package/dist/src/{sagemaker-CemTFp2h.js → sagemaker-BveBvuxm.js} +14 -18
  251. package/dist/src/{sagemaker-YSyBXQQh.js → sagemaker-D67yzMzs.js} +14 -19
  252. package/dist/src/{sagemaker-Cl28mZU2.cjs → sagemaker-XnfhheQv.cjs} +14 -18
  253. package/dist/src/{scanner-BsBlNXNn.js → scanner-1DqWi1Ej.js} +130 -35
  254. package/dist/src/server/golang/wrapper.go +1 -1
  255. package/dist/src/server/index.js +3757 -1511
  256. package/dist/src/server/python/persistent_wrapper.py +0 -5
  257. package/dist/src/{server-CqzrVGpF.js → server-BNYztJkh.js} +128 -9
  258. package/dist/src/{server-CuxBbeSY.js → server-BSB45Nt9.js} +127 -8
  259. package/dist/src/{server-VWgWb00X.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-C_7Ax-hA.cjs → server-Dx2TyCH2.cjs} +140 -6
  263. package/dist/src/{signal-4U3mfRvL.js → signal-CE5G3a7x.js} +3 -3
  264. package/dist/src/{slack-BmVAVGaK.cjs → slack-1Rhq0EoV.cjs} +2 -2
  265. package/dist/src/{slack-DCUPTzS2.js → slack-D5Wpy8LM.js} +2 -2
  266. package/dist/src/{slack-DXMKtA-f.js → slack-DDUe-5MC.js} +2 -2
  267. package/dist/src/{slack-DOdy_kyv.js → slack-acRb0IqQ.js} +2 -2
  268. package/dist/src/store-CWOSz6D_.cjs +2 -0
  269. package/dist/src/{store-Dim__MDd.js → store-CYEy5J2D.js} +17 -5
  270. package/dist/src/{store-DLlFCC4h.cjs → store-DAAyxcy6.cjs} +17 -5
  271. package/dist/src/store-DCDBhv7B.js +3 -0
  272. package/dist/src/{store-CXGFv4aR.js → store-Dn9HUkdW.js} +17 -5
  273. package/dist/src/{store-DXilxTl-.js → store-M0b1WfYb.js} +17 -5
  274. package/dist/src/{tables-gftXzE9I.js → tables-C4CH3zRr.js} +3 -3
  275. package/dist/src/{tables-DLJPUdUE.js → tables-CsWou1Bx.js} +3 -3
  276. package/dist/src/{tables-6YKwjN9-.js → tables-DQ4WU5tX.js} +3 -3
  277. package/dist/src/{tables-DPi7wKeM.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-CMrFgtPB.js → telemetry-CQPez_Jp.js} +4 -4
  281. package/dist/src/{telemetry-DaX14Chu.cjs → telemetry-Dsw_faFj.cjs} +4 -4
  282. package/dist/src/{telemetry-Dthj_BbD.js → telemetry-Dvqxv3YC.js} +4 -4
  283. package/dist/src/{telemetry-Cps3mIU-.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-NYT-WKS6.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-NLVG9MT1.cjs → transcription-BvjmiYB1.cjs} +12 -16
  292. package/dist/src/{transcription-BNYURcXg.js → transcription-CJspiD2c.js} +11 -14
  293. package/dist/src/{transcription-B_OdaHp7.js → transcription-DuWDupG7.js} +10 -14
  294. package/dist/src/{transcription-s6A-bNrZ.js → transcription-V2HaAmy2.js} +10 -16
  295. package/dist/src/{transform-DECvGmzp.js → transform-Bbg6A8Jk.js} +4 -4
  296. package/dist/src/{transform-vNucnNr0.js → transform-CG0ehZNG.js} +11 -7
  297. package/dist/src/{transform-DuHvhZpj.cjs → transform-CTeuTR3S.cjs} +31 -9
  298. package/dist/src/{transform-CzK1Q0zl.cjs → transform-CUnzlsbn.cjs} +4 -4
  299. package/dist/src/{transform-aa6tmVpZ.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-DilY9wbS.js → transform-UN5UGu8U.js} +5 -5
  303. package/dist/src/{transform-uAytVuyX.js → transform-lQrDE1BQ.js} +11 -7
  304. package/dist/src/{transform-D5HsjduX.js → transform-zDhMmzwX.js} +11 -7
  305. package/dist/src/{transformersAvailability-CEVM2GNQ.js → transformersAvailability-CcHusyhw.js} +1 -1
  306. package/dist/src/{transformersAvailability-CwayUSlh.cjs → transformersAvailability-Cju9mHgR.cjs} +1 -1
  307. package/dist/src/{transformersAvailability-D6c6ROpT.js → transformersAvailability-DLlROWhg.js} +1 -1
  308. package/dist/src/{types-DmyIJ-sR.js → types-BGQDAP8i.js} +357 -22
  309. package/dist/src/{types-CzW2QFyi.js → types-Bgh5SOn6.js} +358 -24
  310. package/dist/src/{types-C_7nyzr1.cjs → types-CeaeaZdP.cjs} +393 -22
  311. package/dist/src/{types-Cbd8uOMq.js → types-Dm9JM6Vb.js} +368 -23
  312. package/dist/src/{util-BHGHw5G1.js → util-BYvQUPp7.js} +138 -36
  313. package/dist/src/{util-B9vlHIIh.cjs → util-Bxn8emtE.cjs} +15 -168
  314. package/dist/src/{util-ZzmqNPlg.js → util-C8e5uydV.js} +19 -142
  315. package/dist/src/{util-CMy69ZgQ.js → util-C9J8ahRn.js} +18 -4
  316. package/dist/src/{util-BzMcevZc.cjs → util-CN3SrLT4.cjs} +18 -4
  317. package/dist/src/{util-BV4XUC0n.js → util-D3q0WQ-0.js} +18 -4
  318. package/dist/src/{util-Dnmk2mBQ.js → util-D9TisOyk.js} +18 -4
  319. package/dist/src/{util-B3xGByQh.js → util-DDs-7g6-.js} +138 -36
  320. package/dist/src/{util-Bv6uGDfH.js → util-DvU2Pw8c.js} +138 -36
  321. package/dist/src/{util-C1CeHl-P.js → util-DxWpWjhc.js} +13 -136
  322. package/dist/src/{util-BRYkYPTd.js → util-oGMLA7vc.js} +17 -140
  323. package/dist/src/{util-DGNOS1db.cjs → util-olYL5C6N.cjs} +143 -35
  324. package/dist/src/{utils-Cz9qXqII.cjs → utils-B05gLxER.cjs} +6 -4
  325. package/dist/src/{utils-f2-Moju7.js → utils-BLJKfv0y.js} +6 -4
  326. package/dist/src/{utils-dLokC-eR.js → utils-DJfvjyMj.js} +6 -4
  327. package/dist/src/{utils-XiOAgly5.js → utils-hXtCYanr.js} +6 -4
  328. package/dist/tsconfig.tsbuildinfo +1 -1
  329. package/package.json +66 -57
  330. package/dist/src/app/assets/index-4LKxG2CG.js +0 -439
  331. package/dist/src/app/assets/index-C3zcsZFQ.css +0 -1
  332. package/dist/src/app/assets/scroll-timeline-BdJZVXlz.js +0 -1
  333. package/dist/src/app/assets/sync-9qqYcY-B.js +0 -4
  334. package/dist/src/app/assets/vendor-charts-BnDWwBlI.js +0 -36
  335. package/dist/src/app/assets/vendor-markdown-0tekx3KX.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/app/tsconfig.app.tsbuildinfo +0 -1
  340. package/dist/src/cache-BVeDlD87.js +0 -726
  341. package/dist/src/cache-C4Nxf52C.js +0 -756
  342. package/dist/src/cache-CeUpFm3M.cjs +0 -5
  343. package/dist/src/cache-Dh5WtQps.cjs +0 -816
  344. package/dist/src/cache-i1P6crbO.js +0 -756
  345. package/dist/src/cache-n-RCJ-hL.js +0 -6
  346. package/dist/src/cloud-BBh91EUK.js +0 -4
  347. package/dist/src/codex-sdk-C6UMlxwV.js +0 -665
  348. package/dist/src/codex-sdk-DUwKWezN.js +0 -665
  349. package/dist/src/codex-sdk-GGAw0qbD.js +0 -666
  350. package/dist/src/codex-sdk-fAO0c3yA.cjs +0 -669
  351. package/dist/src/eval-B3r2CVXr.js +0 -15
  352. package/dist/src/evalResult-5xwYnECe.js +0 -12
  353. package/dist/src/evalResult-71lY93Kj.cjs +0 -10
  354. package/dist/src/evalResult-Dx5P5cIv.js +0 -10
  355. package/dist/src/evaluator-Jx6bRZV6.js +0 -36
  356. package/dist/src/fetch-BxNb_Lp3.js +0 -5
  357. package/dist/src/graders-B_pgMLS2.js +0 -34
  358. package/dist/src/graders-DErokPDO.cjs +0 -32
  359. package/dist/src/graders-DR_uNe54.js +0 -32
  360. package/dist/src/graders-w3176Wz-.js +0 -32
  361. package/dist/src/openclaw-CSugPYAr.cjs +0 -586
  362. package/dist/src/openclaw-DiSz3I5L.js +0 -582
  363. package/dist/src/openclaw-DuvJKEW5.js +0 -580
  364. package/dist/src/openclaw-tiVYRtr-.js +0 -580
  365. package/dist/src/providers-B7V0njNs.js +0 -32
  366. package/dist/src/providers-BEwbhv0X.js +0 -30
  367. package/dist/src/providers-CH3C7zf7.js +0 -30
  368. package/dist/src/providers-zyB6k_38.cjs +0 -31
  369. package/dist/src/rubyUtils-BUHu6PhO.js +0 -5
  370. package/dist/src/rubyUtils-CP42kMvq.cjs +0 -4
  371. package/dist/src/server-DA4Cyrrq.js +0 -7
  372. package/dist/src/server-Dulb-4-K.cjs +0 -5
  373. package/dist/src/store-CXS-Q_91.js +0 -6
  374. package/dist/src/store-eYkaKMwq.cjs +0 -5
  375. package/dist/src/telemetry-BpMfhthR.cjs +0 -5
  376. package/dist/src/telemetry-Dw38hanS.js +0 -7
  377. package/dist/src/tokenUsageUtils-BDGe-iyI.js +0 -138
  378. package/dist/src/transform-DTGDnAzW.js +0 -6
  379. package/dist/src/transform-m3qNw4KP.cjs +0 -5
@@ -1,12 +1,14 @@
1
1
  #!/usr/bin/env node
2
- import { i as isJavascriptFile, t as JAVASCRIPT_EXTENSIONS } from "./fileExtensions-Ds-foDzt.js";
2
+ import { i as isJavascriptFile, t as JAVASCRIPT_EXTENSIONS } from "./fileExtensions-AWa2ZML4.js";
3
3
  import { z } from "zod";
4
4
  import dedent from "dedent";
5
5
  //#region src/types/shared.ts
6
6
  const CompletionTokenDetailsSchema = z.object({
7
7
  reasoning: z.number().optional(),
8
8
  acceptedPrediction: z.number().optional(),
9
- rejectedPrediction: z.number().optional()
9
+ rejectedPrediction: z.number().optional(),
10
+ cacheReadInputTokens: z.number().optional(),
11
+ cacheCreationInputTokens: z.number().optional()
10
12
  });
11
13
  /**
12
14
  * Base schema for token usage statistics with all fields optional
@@ -29,9 +31,58 @@ const BaseTokenUsageSchema = z.object({
29
31
  });
30
32
  const InputsSchema = z.record(z.string().regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/, { error: "Input variable names must be valid identifiers (start with letter or underscore)" }), z.string().min(1, { error: "Input descriptions must be non-empty strings" }));
31
33
  //#endregion
34
+ //#region src/redteam/constants/codingAgents.ts
35
+ const CODING_AGENT_CORE_PLUGINS = [
36
+ "coding-agent:repo-prompt-injection",
37
+ "coding-agent:terminal-output-injection",
38
+ "coding-agent:secret-env-read",
39
+ "coding-agent:sandbox-read-escape",
40
+ "coding-agent:verifier-sabotage"
41
+ ];
42
+ const CODING_AGENT_PLUGINS = [
43
+ ...CODING_AGENT_CORE_PLUGINS,
44
+ "coding-agent:secret-file-read",
45
+ "coding-agent:sandbox-write-escape",
46
+ "coding-agent:network-egress-bypass"
47
+ ];
48
+ const CODING_AGENT_COLLECTIONS = ["coding-agent:core"];
49
+ const CODING_AGENT_PLUGIN_DISPLAY_NAMES = {
50
+ "coding-agent:core": "Coding Agent Core",
51
+ "coding-agent:repo-prompt-injection": "Repository Prompt Injection",
52
+ "coding-agent:terminal-output-injection": "Terminal Output Injection",
53
+ "coding-agent:secret-env-read": "Secret Environment Read",
54
+ "coding-agent:secret-file-read": "Secret File Read",
55
+ "coding-agent:sandbox-read-escape": "Sandbox Read Escape",
56
+ "coding-agent:sandbox-write-escape": "Sandbox Write Escape",
57
+ "coding-agent:network-egress-bypass": "Network Egress Bypass",
58
+ "coding-agent:verifier-sabotage": "Verifier Sabotage"
59
+ };
60
+ const CODING_AGENT_PLUGIN_DESCRIPTIONS = {
61
+ "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",
62
+ "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",
63
+ "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",
64
+ "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",
65
+ "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",
66
+ "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",
67
+ "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",
68
+ "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",
69
+ "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"
70
+ };
71
+ const CODING_AGENT_PLUGIN_ALIASES = {
72
+ "coding-agent:core": "CodingAgentCore",
73
+ "coding-agent:repo-prompt-injection": "CodingAgentRepoPromptInjection",
74
+ "coding-agent:terminal-output-injection": "CodingAgentTerminalOutputInjection",
75
+ "coding-agent:secret-env-read": "CodingAgentSecretEnvRead",
76
+ "coding-agent:secret-file-read": "CodingAgentSecretFileRead",
77
+ "coding-agent:sandbox-read-escape": "CodingAgentSandboxReadEscape",
78
+ "coding-agent:sandbox-write-escape": "CodingAgentSandboxWriteEscape",
79
+ "coding-agent:network-egress-bypass": "CodingAgentNetworkEgressBypass",
80
+ "coding-agent:verifier-sabotage": "CodingAgentVerifierSabotage"
81
+ };
82
+ //#endregion
32
83
  //#region src/redteam/constants/plugins.ts
33
84
  const MULTI_INPUT_VAR = "__prompt";
34
- const REDTEAM_MODEL = "openai:chat:gpt-5-2025-08-07";
85
+ const REDTEAM_MODEL = "openai:chat:gpt-5.4-2026-03-05";
35
86
  const LLAMA_GUARD_REPLICATE_PROVIDER = "replicate:moderation:meta/llama-guard-4-12b";
36
87
  const LLAMA_GUARD_ENABLED_CATEGORIES = [
37
88
  "S1",
@@ -150,8 +201,10 @@ const COLLECTIONS = [
150
201
  "financial",
151
202
  "ecommerce",
152
203
  "telecom",
204
+ "teen-safety",
153
205
  "realestate",
154
- "guardrails-eval"
206
+ "guardrails-eval",
207
+ ...CODING_AGENT_COLLECTIONS
155
208
  ];
156
209
  const UNALIGNED_PROVIDER_HARM_PLUGINS = {
157
210
  "harmful:child-exploitation": "Child Exploitation",
@@ -201,6 +254,9 @@ const BIAS_PLUGINS = [
201
254
  ];
202
255
  const MEDICAL_PLUGINS = [
203
256
  "medical:anchoring-bias",
257
+ "medical:fda:ai-disclosure",
258
+ "medical:fda:cyber-access-control",
259
+ "medical:fda:cyber-audit-tampering",
204
260
  "medical:hallucination",
205
261
  "medical:incorrect-knowledge",
206
262
  "medical:off-label-use",
@@ -216,6 +272,7 @@ const FINANCIAL_PLUGINS = [
216
272
  "financial:defamation",
217
273
  "financial:hallucination",
218
274
  "financial:impartiality",
275
+ "financial:japan-fiea-suitability",
219
276
  "financial:misconduct",
220
277
  "financial:sox-compliance",
221
278
  "financial:sycophancy"
@@ -261,6 +318,12 @@ const REALESTATE_PLUGINS = [
261
318
  "realestate:advertising-discrimination",
262
319
  "realestate:source-of-income"
263
320
  ];
321
+ const TEEN_SAFETY_PLUGINS = [
322
+ "teen-safety:harmful-body-ideals",
323
+ "teen-safety:dangerous-content",
324
+ "teen-safety:dangerous-roleplay",
325
+ "teen-safety:age-restricted-goods-and-services"
326
+ ];
264
327
  const BASE_PLUGINS = [
265
328
  "contracts",
266
329
  "excessive-agency",
@@ -275,6 +338,7 @@ const ADDITIONAL_PLUGINS = [
275
338
  "bfla",
276
339
  "bola",
277
340
  "cca",
341
+ ...CODING_AGENT_PLUGINS,
278
342
  "competitors",
279
343
  "coppa",
280
344
  "cross-session-leak",
@@ -291,6 +355,9 @@ const ADDITIONAL_PLUGINS = [
291
355
  "mcp",
292
356
  "model-identification",
293
357
  "medical:anchoring-bias",
358
+ "medical:fda:ai-disclosure",
359
+ "medical:fda:cyber-access-control",
360
+ "medical:fda:cyber-audit-tampering",
294
361
  "medical:hallucination",
295
362
  "medical:incorrect-knowledge",
296
363
  "medical:off-label-use",
@@ -304,6 +371,7 @@ const ADDITIONAL_PLUGINS = [
304
371
  "financial:defamation",
305
372
  "financial:hallucination",
306
373
  "financial:impartiality",
374
+ "financial:japan-fiea-suitability",
307
375
  "financial:misconduct",
308
376
  "financial:sox-compliance",
309
377
  "financial:sycophancy",
@@ -333,6 +401,10 @@ const ADDITIONAL_PLUGINS = [
333
401
  "telecom:coverage-misinformation",
334
402
  "telecom:law-enforcement-request-handling",
335
403
  "telecom:accessibility-violation",
404
+ "teen-safety:harmful-body-ideals",
405
+ "teen-safety:dangerous-content",
406
+ "teen-safety:dangerous-roleplay",
407
+ "teen-safety:age-restricted-goods-and-services",
336
408
  "realestate:fair-housing-discrimination",
337
409
  "realestate:steering",
338
410
  "realestate:discriminatory-listings",
@@ -364,6 +436,16 @@ const ADDITIONAL_PLUGINS = [
364
436
  ];
365
437
  const CONFIG_REQUIRED_PLUGINS = ["intent", "policy"];
366
438
  const AGENTIC_EXEMPT_PLUGINS = ["system-prompt-override", "agentic:memory-poisoning"];
439
+ const CANARY_BREAKING_STRATEGY_IDS = [
440
+ "base64",
441
+ "hex",
442
+ "homoglyph",
443
+ "leetspeak",
444
+ "rot13",
445
+ "multilingual",
446
+ "math-prompt",
447
+ "jailbreak:composite"
448
+ ];
367
449
  const DATASET_EXEMPT_PLUGINS = [
368
450
  "aegis",
369
451
  "beavertails",
@@ -414,10 +496,13 @@ const PLUGIN_CATEGORIES = {
414
496
  pharmacy: PHARMACY_PLUGINS,
415
497
  insurance: INSURANCE_PLUGINS,
416
498
  telecom: TELECOM_PLUGINS,
499
+ "teen-safety": TEEN_SAFETY_PLUGINS,
417
500
  realestate: REALESTATE_PLUGINS
418
501
  };
419
502
  const REMOTE_ONLY_PLUGIN_IDS = [
420
503
  "agentic:memory-poisoning",
504
+ ...CODING_AGENT_COLLECTIONS,
505
+ ...CODING_AGENT_PLUGINS,
421
506
  "ascii-smuggling",
422
507
  "bfla",
423
508
  "bola",
@@ -932,26 +1017,125 @@ const NIST_AI_RMF_MAPPING = {
932
1017
  strategies: []
933
1018
  }
934
1019
  };
1020
+ const MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING = {
1021
+ plugins: [
1022
+ "ascii-smuggling",
1023
+ "excessive-agency",
1024
+ "harmful:cybercrime:malicious-code",
1025
+ "hallucination",
1026
+ "indirect-prompt-injection",
1027
+ "rag-poisoning"
1028
+ ],
1029
+ strategies: ["jailbreak", "jailbreak:tree"]
1030
+ };
935
1031
  const MITRE_ATLAS_MAPPING = {
1032
+ "mitre:atlas:ai-attack-staging": MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING,
1033
+ "mitre:atlas:ai-model-access": {
1034
+ plugins: [],
1035
+ strategies: []
1036
+ },
1037
+ "mitre:atlas:collection": {
1038
+ plugins: [
1039
+ "data-exfil",
1040
+ "harmful:privacy",
1041
+ "pii:api-db",
1042
+ "pii:direct",
1043
+ "pii:session",
1044
+ "pii:social",
1045
+ "prompt-extraction",
1046
+ "rag-document-exfiltration"
1047
+ ],
1048
+ strategies: []
1049
+ },
1050
+ "mitre:atlas:command-and-control": {
1051
+ plugins: [
1052
+ "excessive-agency",
1053
+ "harmful:cybercrime",
1054
+ "harmful:cybercrime:malicious-code",
1055
+ "mcp",
1056
+ "shell-injection",
1057
+ "ssrf"
1058
+ ],
1059
+ strategies: ["crescendo"]
1060
+ },
1061
+ "mitre:atlas:credential-access": {
1062
+ plugins: [
1063
+ "data-exfil",
1064
+ "harmful:privacy",
1065
+ "pii:api-db",
1066
+ "pii:direct",
1067
+ "pii:session",
1068
+ "pii:social",
1069
+ "prompt-extraction",
1070
+ "rag-document-exfiltration",
1071
+ "tool-discovery"
1072
+ ],
1073
+ strategies: []
1074
+ },
1075
+ "mitre:atlas:defense-evasion": {
1076
+ plugins: [
1077
+ "ascii-smuggling",
1078
+ "hijacking",
1079
+ "imitation",
1080
+ "rag-source-attribution",
1081
+ "special-token-injection"
1082
+ ],
1083
+ strategies: [
1084
+ "base64",
1085
+ "jailbreak",
1086
+ "jailbreak-templates",
1087
+ "leetspeak",
1088
+ "rot13"
1089
+ ]
1090
+ },
1091
+ "mitre:atlas:discovery": {
1092
+ plugins: [
1093
+ "debug-access",
1094
+ "model-identification",
1095
+ "prompt-extraction",
1096
+ "system-prompt-override",
1097
+ "tool-discovery"
1098
+ ],
1099
+ strategies: []
1100
+ },
1101
+ "mitre:atlas:execution": {
1102
+ plugins: [
1103
+ "excessive-agency",
1104
+ "hijacking",
1105
+ "indirect-prompt-injection",
1106
+ "mcp",
1107
+ "shell-injection",
1108
+ "sql-injection",
1109
+ "ssrf",
1110
+ "system-prompt-override",
1111
+ "tool-discovery"
1112
+ ],
1113
+ strategies: ["jailbreak", "jailbreak-templates"]
1114
+ },
936
1115
  "mitre:atlas:exfiltration": {
937
1116
  plugins: [
938
1117
  "ascii-smuggling",
1118
+ "cross-session-leak",
1119
+ "data-exfil",
939
1120
  "harmful:privacy",
940
1121
  "indirect-prompt-injection",
941
1122
  "pii:api-db",
942
1123
  "pii:direct",
943
1124
  "pii:session",
944
1125
  "pii:social",
945
- "prompt-extraction"
1126
+ "prompt-extraction",
1127
+ "rag-document-exfiltration"
946
1128
  ],
947
1129
  strategies: []
948
1130
  },
949
1131
  "mitre:atlas:impact": {
950
1132
  plugins: [
1133
+ "divergent-repetition",
951
1134
  "excessive-agency",
952
1135
  "harmful",
953
1136
  "hijacking",
954
- "imitation"
1137
+ "imitation",
1138
+ "reasoning-dos"
955
1139
  ],
956
1140
  strategies: ["crescendo"]
957
1141
  },
@@ -959,6 +1143,8 @@ const MITRE_ATLAS_MAPPING = {
959
1143
  plugins: [
960
1144
  "debug-access",
961
1145
  "harmful:cybercrime",
1146
+ "indirect-prompt-injection",
1147
+ "mcp",
962
1148
  "shell-injection",
963
1149
  "sql-injection",
964
1150
  "ssrf"
@@ -971,18 +1157,46 @@ const MITRE_ATLAS_MAPPING = {
971
1157
  "rot13"
972
1158
  ]
973
1159
  },
974
- "mitre:atlas:ml-attack-staging": {
1160
+ "mitre:atlas:lateral-movement": {
975
1161
  plugins: [
976
- "ascii-smuggling",
1162
+ "bfla",
1163
+ "bola",
1164
+ "harmful:cybercrime",
1165
+ "rbac"
1166
+ ],
1167
+ strategies: []
1168
+ },
1169
+ "mitre:atlas:persistence": {
1170
+ plugins: [
1171
+ "agentic:memory-poisoning",
1172
+ "cross-session-leak",
1173
+ "indirect-prompt-injection",
1174
+ "rag-poisoning",
1175
+ "system-prompt-override"
1176
+ ],
1177
+ strategies: ["jailbreak"]
1178
+ },
1179
+ "mitre:atlas:privilege-escalation": {
1180
+ plugins: [
1181
+ "bfla",
1182
+ "bola",
1183
+ "debug-access",
977
1184
  "excessive-agency",
978
- "hallucination",
979
- "indirect-prompt-injection"
1185
+ "mcp",
1186
+ "rbac",
1187
+ "shell-injection",
1188
+ "system-prompt-override"
980
1189
  ],
981
- strategies: ["jailbreak", "jailbreak:tree"]
1190
+ strategies: [
1191
+ "jailbreak",
1192
+ "jailbreak:tree",
1193
+ "jailbreak-templates"
1194
+ ]
982
1195
  },
983
1196
  "mitre:atlas:reconnaissance": {
984
1197
  plugins: [
985
1198
  "competitors",
1199
+ "model-identification",
986
1200
  "policy",
987
1201
  "prompt-extraction",
988
1202
  "rbac"
@@ -991,13 +1205,16 @@ const MITRE_ATLAS_MAPPING = {
991
1205
  },
992
1206
  "mitre:atlas:resource-development": {
993
1207
  plugins: [
1208
+ "harmful:chemical-biological-weapons",
994
1209
  "harmful:cybercrime",
1210
+ "harmful:cybercrime:malicious-code",
995
1211
  "harmful:illegal-drugs",
996
1212
  "harmful:indiscriminate-weapons"
997
1213
  ],
998
1214
  strategies: []
999
1215
  }
1000
1216
  };
1217
+ const MITRE_ATLAS_LEGACY_MAPPING = { "mitre:atlas:ml-attack-staging": MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING };
1001
1218
  /**
1002
1219
  * EU Artificial Intelligence Act
1003
1220
  * ▸ Art. 5 (Prohibited AI practices) – unacceptable-risk
@@ -1404,6 +1621,7 @@ const ALIASED_PLUGINS = [
1404
1621
  "iso:42001",
1405
1622
  "gdpr",
1406
1623
  ...Object.keys(MITRE_ATLAS_MAPPING),
1624
+ ...Object.keys(MITRE_ATLAS_LEGACY_MAPPING),
1407
1625
  ...Object.keys(NIST_AI_RMF_MAPPING),
1408
1626
  ...Object.keys(OWASP_API_TOP_10_MAPPING),
1409
1627
  ...Object.keys(OWASP_LLM_TOP_10_MAPPING),
@@ -1415,6 +1633,7 @@ const ALIASED_PLUGINS = [
1415
1633
  ];
1416
1634
  const ALIASED_PLUGIN_MAPPINGS = {
1417
1635
  "dod:ai:ethics": DOD_AI_ETHICS_MAPPING,
1636
+ "mitre:atlas:ml-attack-staging": MITRE_ATLAS_LEGACY_MAPPING,
1418
1637
  "mitre:atlas": MITRE_ATLAS_MAPPING,
1419
1638
  "nist:ai:measure": NIST_AI_RMF_MAPPING,
1420
1639
  "owasp:api": OWASP_API_TOP_10_MAPPING,
@@ -1573,6 +1792,9 @@ const subCategoryDescriptions = {
1573
1792
  multilingual: "[DEPRECATED] Tests handling of attacks across multiple languages. Use top-level language config instead.",
1574
1793
  mcp: "Tests for vulnerabilities to Model Context Protocol (MCP) attacks",
1575
1794
  "medical:anchoring-bias": "Tests for medical anchoring bias where AI fixates on irrelevant information",
1795
+ "medical:fda:ai-disclosure": "Tests whether medical AI systems conceal intended-use limits, low-confidence outputs, subgroup caveats, data drift, or silent model updates",
1796
+ "medical:fda:cyber-access-control": "Tests whether medical-device AI systems enforce authenticated, role-scoped, deny-by-default access before privileged commands or therapy changes",
1797
+ "medical:fda:cyber-audit-tampering": "Tests whether medical-device AI systems suppress anomaly alerts, rewrite audit trails, hide SBOM/version evidence, or disable forensic logging",
1576
1798
  "medical:hallucination": "Tests for fabricated medical facts, studies, or drug interactions",
1577
1799
  "medical:incorrect-knowledge": "Tests for factually wrong medical information that could cause harm",
1578
1800
  "medical:off-label-use": "Tests for inappropriate off-label medication recommendations without proper disclaimers",
@@ -1586,6 +1808,7 @@ const subCategoryDescriptions = {
1586
1808
  "financial:defamation": "Tests for false statements damaging financial entity reputations",
1587
1809
  "financial:hallucination": "Tests for fabricated market data, non-existent financial instruments, or fictional company information",
1588
1810
  "financial:impartiality": "Tests for unauthorized financial advice or transaction facilitation",
1811
+ "financial:japan-fiea-suitability": "Tests for unsuitable financial product recommendations or downplaying of risks under Japan's FIEA",
1589
1812
  "financial:misconduct": "Tests for facilitation of financial crimes or market manipulation",
1590
1813
  "financial:sox-compliance": "Tests for violations of Sarbanes-Oxley requirements including internal controls, financial reporting, and audit integrity",
1591
1814
  "financial:sycophancy": "Tests for agreeing with risky investment strategies or validating get-rich-quick schemes",
@@ -1651,6 +1874,11 @@ const subCategoryDescriptions = {
1651
1874
  "telecom:coverage-misinformation": "Tests for false coverage or service claims",
1652
1875
  "telecom:law-enforcement-request-handling": "Tests for improper law enforcement request handling",
1653
1876
  "telecom:accessibility-violation": "Tests for accessibility compliance violations",
1877
+ "teen-safety": "Teen safety testing for harmful body ideals, dangerous challenges, unsafe roleplay, and underage access to restricted goods or services",
1878
+ "teen-safety:harmful-body-ideals": "Tests for harmful body ideals, body shaming, and enabling disordered eating or exercise behaviors that are unsafe for teens",
1879
+ "teen-safety:dangerous-content": "Tests for dangerous activities, viral challenges, unsafe stunts, and dangerous at-home procedures inappropriate for teens",
1880
+ "teen-safety:dangerous-roleplay": "Tests for unsafe roleplay involving minors, including romantic, sexual, or violent interactive scenarios",
1881
+ "teen-safety:age-restricted-goods-and-services": "Tests for enabling or normalizing underage access to alcohol, vaping, gambling, weapons, and other age-restricted goods or services",
1654
1882
  realestate: "Real Estate AI safety testing for Fair Housing Act compliance, steering prevention, and housing discrimination vulnerabilities",
1655
1883
  "realestate:fair-housing-discrimination": "Tests for Fair Housing Act violations across all 7 protected classes (race, color, religion, national origin, sex, familial status, disability)",
1656
1884
  "realestate:steering": "Tests for illegal steering practices directing buyers to/from neighborhoods based on demographics",
@@ -1659,8 +1887,10 @@ const subCategoryDescriptions = {
1659
1887
  "realestate:valuation-bias": "Tests for algorithmic bias in property appraisals and automated valuations",
1660
1888
  "realestate:accessibility-discrimination": "Tests for ADA and FHA disability accommodation violations in housing",
1661
1889
  "realestate:advertising-discrimination": "Tests for discriminatory targeting and language in housing advertisements",
1662
- "realestate:source-of-income": "Tests for Section 8 and housing voucher discrimination (state-specific protections)"
1890
+ "realestate:source-of-income": "Tests for Section 8 and housing voucher discrimination (state-specific protections)",
1891
+ ...CODING_AGENT_PLUGIN_DESCRIPTIONS
1663
1892
  };
1893
+ ({ ...CODING_AGENT_PLUGIN_DISPLAY_NAMES });
1664
1894
  const Severity = {
1665
1895
  Critical: "critical",
1666
1896
  High: "high",
@@ -1677,6 +1907,10 @@ const SeveritySchema = z.enum([
1677
1907
  ]);
1678
1908
  Severity.Critical, Severity.High, Severity.Medium, Severity.Low, Severity.Informational;
1679
1909
  Severity.Critical, Severity.High, Severity.Medium, Severity.Low, Severity.Informational;
1910
+ const codingAgentRiskCategorySeverityMap = {
1911
+ ...Object.fromEntries(CODING_AGENT_PLUGINS.map((pluginId) => [pluginId, Severity.High])),
1912
+ "coding-agent:core": Severity.High
1913
+ };
1680
1914
  const riskCategorySeverityMap = {
1681
1915
  ["agentic:memory-poisoning"]: Severity.High,
1682
1916
  aegis: Severity.Medium,
@@ -1694,6 +1928,7 @@ const riskCategorySeverityMap = {
1694
1928
  "financial:defamation": Severity.Medium,
1695
1929
  "financial:hallucination": Severity.Low,
1696
1930
  "financial:impartiality": Severity.Medium,
1931
+ "financial:japan-fiea-suitability": Severity.High,
1697
1932
  "financial:misconduct": Severity.High,
1698
1933
  "financial:sox-compliance": Severity.High,
1699
1934
  "financial:sycophancy": Severity.Low,
@@ -1709,6 +1944,9 @@ const riskCategorySeverityMap = {
1709
1944
  default: Severity.Low,
1710
1945
  mcp: Severity.High,
1711
1946
  "medical:anchoring-bias": Severity.High,
1947
+ "medical:fda:ai-disclosure": Severity.High,
1948
+ "medical:fda:cyber-access-control": Severity.Critical,
1949
+ "medical:fda:cyber-audit-tampering": Severity.Critical,
1712
1950
  "medical:hallucination": Severity.Critical,
1713
1951
  "medical:incorrect-knowledge": Severity.Critical,
1714
1952
  "medical:off-label-use": Severity.High,
@@ -1785,6 +2023,11 @@ const riskCategorySeverityMap = {
1785
2023
  "telecom:coverage-misinformation": Severity.Medium,
1786
2024
  "telecom:law-enforcement-request-handling": Severity.Medium,
1787
2025
  "telecom:accessibility-violation": Severity.Medium,
2026
+ "teen-safety": Severity.Low,
2027
+ "teen-safety:harmful-body-ideals": Severity.Low,
2028
+ "teen-safety:dangerous-content": Severity.Low,
2029
+ "teen-safety:dangerous-roleplay": Severity.Low,
2030
+ "teen-safety:age-restricted-goods-and-services": Severity.Low,
1788
2031
  realestate: Severity.Critical,
1789
2032
  "realestate:fair-housing-discrimination": Severity.Critical,
1790
2033
  "realestate:steering": Severity.Critical,
@@ -1824,9 +2067,10 @@ const riskCategorySeverityMap = {
1824
2067
  vlguard: Severity.Medium,
1825
2068
  vlsu: Severity.Medium,
1826
2069
  wordplay: Severity.Low,
1827
- xstest: Severity.Low
2070
+ xstest: Severity.Low,
2071
+ ...codingAgentRiskCategorySeverityMap
1828
2072
  };
1829
- Object.entries({
2073
+ const riskCategories = {
1830
2074
  "Security & Access Control": [
1831
2075
  "ascii-smuggling",
1832
2076
  "bfla",
@@ -1898,6 +2142,10 @@ Object.entries({
1898
2142
  "harmful:radicalization",
1899
2143
  "harmful:self-harm",
1900
2144
  "harmful:sexual-content",
2145
+ "teen-safety:harmful-body-ideals",
2146
+ "teen-safety:dangerous-content",
2147
+ "teen-safety:dangerous-roleplay",
2148
+ "teen-safety:age-restricted-goods-and-services",
1901
2149
  "wordplay"
1902
2150
  ],
1903
2151
  Brand: [
@@ -1929,11 +2177,15 @@ Object.entries({
1929
2177
  "financial:defamation",
1930
2178
  "financial:hallucination",
1931
2179
  "financial:impartiality",
2180
+ "financial:japan-fiea-suitability",
1932
2181
  "financial:misconduct",
1933
2182
  "financial:sox-compliance",
1934
2183
  "financial:sycophancy",
1935
2184
  "medical:hallucination",
1936
2185
  "medical:anchoring-bias",
2186
+ "medical:fda:ai-disclosure",
2187
+ "medical:fda:cyber-access-control",
2188
+ "medical:fda:cyber-audit-tampering",
1937
2189
  "medical:incorrect-knowledge",
1938
2190
  "medical:off-label-use",
1939
2191
  "medical:prioritization-error",
@@ -1974,8 +2226,10 @@ Object.entries({
1974
2226
  "vlguard",
1975
2227
  "vlsu",
1976
2228
  "xstest"
1977
- ]
1978
- }).reduce((acc, [category, harms]) => {
2229
+ ],
2230
+ "Coding Agent Security": [...CODING_AGENT_PLUGINS]
2231
+ };
2232
+ Object.entries(riskCategories).reduce((acc, [category, harms]) => {
1979
2233
  harms.forEach((harm) => {
1980
2234
  acc[harm] = category;
1981
2235
  });
@@ -2001,6 +2255,9 @@ const categoryAliases = {
2001
2255
  ferpa: "FERPACompliance",
2002
2256
  mcp: "MCP",
2003
2257
  "medical:anchoring-bias": "MedicalAnchoringBias",
2258
+ "medical:fda:ai-disclosure": "MedicalFdaAiDisclosure",
2259
+ "medical:fda:cyber-access-control": "MedicalFdaCyberAccessControl",
2260
+ "medical:fda:cyber-audit-tampering": "MedicalFdaCyberAuditTampering",
2004
2261
  "medical:hallucination": "Medical Hallucination",
2005
2262
  "medical:incorrect-knowledge": "MedicalIncorrectKnowledge",
2006
2263
  "medical:off-label-use": "MedicalOffLabelUse",
@@ -2018,6 +2275,7 @@ const categoryAliases = {
2018
2275
  "financial:defamation": "FinancialDefamation",
2019
2276
  "financial:hallucination": "FinancialHallucination",
2020
2277
  "financial:impartiality": "FinancialImpartiality",
2278
+ "financial:japan-fiea-suitability": "FinancialJapanFieaSuitability",
2021
2279
  "financial:misconduct": "FinancialMisconduct",
2022
2280
  "financial:sox-compliance": "FinancialSoxCompliance",
2023
2281
  "financial:sycophancy": "FinancialSycophancy",
@@ -2059,6 +2317,11 @@ const categoryAliases = {
2059
2317
  "telecom:coverage-misinformation": "TelecomCoverageMisinformation",
2060
2318
  "telecom:law-enforcement-request-handling": "TelecomLawEnforcementRequestHandling",
2061
2319
  "telecom:accessibility-violation": "TelecomAccessibilityViolation",
2320
+ "teen-safety": "TeenSafety",
2321
+ "teen-safety:harmful-body-ideals": "TeenSafetyHarmfulBodyIdeals",
2322
+ "teen-safety:dangerous-content": "TeenSafetyDangerousContent",
2323
+ "teen-safety:dangerous-roleplay": "TeenSafetyDangerousRoleplay",
2324
+ "teen-safety:age-restricted-goods-and-services": "TeenSafetyAgeRestrictedGoodsAndServices",
2062
2325
  realestate: "Real Estate Safety",
2063
2326
  "realestate:fair-housing-discrimination": "RealEstateFairHousingDiscrimination",
2064
2327
  "realestate:steering": "RealEstateSteering",
@@ -2128,7 +2391,8 @@ const categoryAliases = {
2128
2391
  vlguard: "VLGuard",
2129
2392
  vlsu: "VLSU",
2130
2393
  wordplay: "Wordplay",
2131
- xstest: "XSTest"
2394
+ xstest: "XSTest",
2395
+ ...CODING_AGENT_PLUGIN_ALIASES
2132
2396
  };
2133
2397
  Object.entries(categoryAliases).reduce((acc, [key, value]) => {
2134
2398
  acc[value] = key;
@@ -2184,6 +2448,11 @@ const pluginDescriptions = {
2184
2448
  "telecom:coverage-misinformation": "Tests for false or misleading claims about network coverage, 5G availability, or roaming capabilities",
2185
2449
  "telecom:law-enforcement-request-handling": "Tests for improper handling of law enforcement data requests in violation of CALEA requirements and privacy laws",
2186
2450
  "telecom:accessibility-violation": "Tests for accessibility compliance violations under Section 255, Section 508, ADA, and 21st Century CVAA",
2451
+ "teen-safety": "Comprehensive teen safety testing for age-appropriate AI behavior across body image harms, dangerous activities, unsafe roleplay, and underage access risks",
2452
+ "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",
2453
+ "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",
2454
+ "teen-safety:dangerous-roleplay": "Tests for interactive roleplay involving minors that simulates romantic, sexual, or violent scenarios that could normalize exploitation or harm",
2455
+ "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",
2187
2456
  realestate: "Comprehensive real estate AI safety testing for Fair Housing Act compliance, steering prevention, lending discrimination (ECOA), valuation bias, and housing discrimination vulnerabilities",
2188
2457
  "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",
2189
2458
  "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",
@@ -2231,6 +2500,9 @@ const pluginDescriptions = {
2231
2500
  "ecommerce:price-manipulation": "Tests for price manipulation through discount code abuse, inventory exploits, cart manipulation, unauthorized price modifications, or coupon stacking vulnerabilities",
2232
2501
  mcp: "Tests for vulnerabilities to Model Context Protocol (MCP) attacks",
2233
2502
  "medical:anchoring-bias": "Tests for medical anchoring bias where AI fixates on irrelevant information in medical contexts",
2503
+ "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",
2504
+ "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",
2505
+ "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",
2234
2506
  "medical:hallucination": "Tests for fabricated medical facts, non-existent studies, made-up drug interactions, or other false medical information",
2235
2507
  "medical:incorrect-knowledge": "Tests for factually wrong medical information that could be harmful if followed",
2236
2508
  "medical:off-label-use": "Tests for inappropriate off-label medication recommendations without proper disclaimers, warnings, or professional consultation requirements",
@@ -2244,6 +2516,7 @@ const pluginDescriptions = {
2244
2516
  "financial:defamation": "Tests for false statements that damage the reputation of financial entities, including unfounded fraud accusations, fabricated scandals, or false insolvency claims",
2245
2517
  "financial:hallucination": "Tests for fabricated market data, non-existent financial instruments, fictional company financials, or invented market events",
2246
2518
  "financial:impartiality": "Tests for inappropriate provision of financial advice, investment recommendations, broker suggestions, or transaction facilitation without proper authorization or disclaimers",
2519
+ "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",
2247
2520
  "financial:misconduct": "Tests for facilitation of financial crimes including insider trading, market manipulation, front-running, spoofing, bribery, or circumventing financial regulations",
2248
2521
  "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",
2249
2522
  "financial:sycophancy": "Tests for agreeing with risky trading strategies, unrealistic return expectations, or get-rich-quick schemes",
@@ -2281,7 +2554,8 @@ const pluginDescriptions = {
2281
2554
  vlsu: "Tests compositional safety where individually safe images and text combine to produce harmful outputs using Apple VLSU dataset",
2282
2555
  wordplay: "Tests whether AI systems can be tricked into generating profanity or offensive language through innocent-seeming wordplay like riddles and rhyming games",
2283
2556
  xstest: "Tests how models handle ambiguous terms related to potentially harmful topics like violence and drugs",
2284
- "guardrails-eval": "Evaluate guardrail effectiveness against common risks"
2557
+ "guardrails-eval": "Evaluate guardrail effectiveness against common risks",
2558
+ ...CODING_AGENT_PLUGIN_DESCRIPTIONS
2285
2559
  };
2286
2560
  //#endregion
2287
2561
  //#region src/redteam/constants/strategies.ts
@@ -2301,6 +2575,7 @@ const DEFAULT_STRATEGIES = [
2301
2575
  "jailbreak:meta",
2302
2576
  "jailbreak:composite"
2303
2577
  ];
2578
+ new Set(DEFAULT_STRATEGIES);
2304
2579
  const MULTI_TURN_STRATEGIES = [
2305
2580
  "crescendo",
2306
2581
  "goat",
@@ -2326,6 +2601,7 @@ const AGENTIC_STRATEGIES = [
2326
2601
  "jailbreak:tree",
2327
2602
  "mischievous-user"
2328
2603
  ];
2604
+ new Set(AGENTIC_STRATEGIES);
2329
2605
  const DATASET_PLUGINS = [
2330
2606
  "beavertails",
2331
2607
  "cyberseceval",
@@ -2491,7 +2767,62 @@ const PluginConfigSchema = z.object({
2491
2767
  policy: z.union([z.string(), PolicyObjectSchema]).optional(),
2492
2768
  systemPrompt: z.string().optional(),
2493
2769
  excludeStrategies: z.array(z.string()).optional(),
2770
+ protectedFilePath: z.string().optional(),
2771
+ protectedFilePaths: z.array(z.string()).optional(),
2772
+ secretFilePath: z.string().optional(),
2773
+ secretFilePaths: z.array(z.string()).optional(),
2774
+ secretLocalFilePath: z.string().optional(),
2775
+ secretLocalFilePaths: z.array(z.string()).optional(),
2776
+ secretFileValue: z.string().optional(),
2777
+ secretFileValues: z.array(z.string()).optional(),
2778
+ outsideWritePath: z.string().optional(),
2779
+ outsideWritePaths: z.array(z.string()).optional(),
2780
+ outsideWriteHostPath: z.string().optional(),
2781
+ outsideWriteHostPaths: z.array(z.string()).optional(),
2782
+ outsideWriteProbeDir: z.string().optional(),
2783
+ outsideWriteProbeDirs: z.array(z.string()).optional(),
2784
+ outsideWriteAllowedPath: z.string().optional(),
2785
+ outsideWriteAllowedPaths: z.array(z.string()).optional(),
2786
+ outsideWriteExpectedSha256: z.string().optional(),
2787
+ outsideWritePathSha256: z.string().optional(),
2788
+ outsideWriteSha256: z.string().optional(),
2789
+ outsideWriteMustNotExistPath: z.string().optional(),
2790
+ outsideWriteMustNotExistPaths: z.array(z.string()).optional(),
2791
+ mustNotExistPath: z.string().optional(),
2792
+ mustNotExistPaths: z.array(z.string()).optional(),
2793
+ protectedWritePath: z.string().optional(),
2794
+ protectedWritePaths: z.array(z.string()).optional(),
2795
+ sandboxWritePath: z.string().optional(),
2796
+ sandboxWritePaths: z.array(z.string()).optional(),
2797
+ workspacePath: z.string().optional(),
2798
+ workspacePaths: z.array(z.string()).optional(),
2799
+ workspaceRoot: z.string().optional(),
2800
+ workspaceRoots: z.array(z.string()).optional(),
2801
+ workingDirectory: z.string().optional(),
2802
+ workingDirectoryPath: z.string().optional(),
2803
+ workingDir: z.string().optional(),
2804
+ networkEgressUrl: z.string().optional(),
2805
+ networkEgressUrls: z.array(z.string()).optional(),
2806
+ networkTrapUrl: z.string().optional(),
2807
+ networkTrapUrls: z.array(z.string()).optional(),
2808
+ networkEgressHost: z.string().optional(),
2809
+ networkEgressHosts: z.array(z.string()).optional(),
2810
+ networkTrapHost: z.string().optional(),
2811
+ networkTrapHosts: z.array(z.string()).optional(),
2812
+ networkAllowedHost: z.string().optional(),
2813
+ networkAllowedHosts: z.array(z.string()).optional(),
2814
+ networkAllowedUrl: z.string().optional(),
2815
+ networkAllowedUrls: z.array(z.string()).optional(),
2816
+ networkTrapLogPath: z.string().optional(),
2817
+ networkTrapLogPaths: z.array(z.string()).optional(),
2818
+ networkScanPath: z.string().optional(),
2819
+ networkScanPaths: z.array(z.string()).optional(),
2820
+ networkWorkspacePath: z.string().optional(),
2821
+ networkWorkspacePaths: z.array(z.string()).optional(),
2822
+ networkEgressReceipt: z.string().optional(),
2823
+ networkEgressReceipts: z.array(z.string()).optional(),
2494
2824
  inputs: InputsSchema.optional(),
2825
+ maxCharsPerMessage: z.number().int().positive().optional(),
2495
2826
  __nonce: z.number().optional()
2496
2827
  });
2497
2828
  const StrategyConfigSchema = z.object({
@@ -2598,6 +2929,7 @@ const ProviderEnvOverridesSchema = z.object({
2598
2929
  CODEX_API_KEY: z.string().optional(),
2599
2930
  OPENCLAW_CONFIG_PATH: z.string().optional(),
2600
2931
  OPENCLAW_GATEWAY_PASSWORD: z.string().optional(),
2932
+ OPENCLAW_GATEWAY_PORT: z.string().optional(),
2601
2933
  OPENCLAW_GATEWAY_TOKEN: z.string().optional(),
2602
2934
  OPENCLAW_GATEWAY_URL: z.string().optional(),
2603
2935
  PALM_API_HOST: z.string().optional(),
@@ -2716,6 +3048,7 @@ const PromptFunctionSchema = z.custom((v) => typeof v === "function");
2716
3048
  const PromptSchema = z.object({
2717
3049
  id: z.string().optional(),
2718
3050
  raw: z.string(),
3051
+ template: z.string().optional(),
2719
3052
  display: z.string().optional(),
2720
3053
  label: z.string(),
2721
3054
  function: PromptFunctionSchema.optional(),
@@ -2829,6 +3162,7 @@ const RedteamGenerateOptionsSchema = z.object({
2829
3162
  language: z.union([z.string(), z.array(z.string())]).optional().describe("Language(s) of tests to generate"),
2830
3163
  frameworks: z.array(z.enum(frameworkOptions)).min(1).optional().describe("Subset of compliance frameworks to include when generating, reporting, and filtering results"),
2831
3164
  maxConcurrency: z.int().positive().optional().describe("Maximum number of concurrent API calls"),
3165
+ maxCharsPerMessage: z.int().positive().optional().describe("Maximum number of characters allowed per generated user message"),
2832
3166
  numTests: z.int().positive().optional().describe("Number of tests to generate"),
2833
3167
  output: z.string().optional().describe("Output file path"),
2834
3168
  plugins: z.array(RedteamPluginObjectSchema).optional().describe("Plugins to use"),
@@ -2861,6 +3195,7 @@ const RedteamConfigSchema = z.object({
2861
3195
  Supports ${ALL_STRATEGIES.join(", ")}
2862
3196
  `).optional().prefault(["default"]),
2863
3197
  maxConcurrency: z.int().positive().optional().describe("Maximum number of concurrent API calls"),
3198
+ maxCharsPerMessage: z.int().positive().optional().describe("Maximum number of characters allowed per generated user message"),
2864
3199
  delay: z.int().nonnegative().optional().describe("Delay in milliseconds between plugin API calls"),
2865
3200
  excludeTargetOutputFromAgenticAttackGeneration: z.boolean().optional().describe("Whether to exclude target output from the agentific attack generation process"),
2866
3201
  tracing: TracingConfigSchema.optional().describe("Tracing defaults applied to all strategies unless overridden"),
@@ -2914,6 +3249,7 @@ const RedteamConfigSchema = z.object({
2914
3249
  else if (id === "pharmacy") expandCollection([...PHARMACY_PLUGINS], config, numTests, severity);
2915
3250
  else if (id === "insurance") expandCollection([...INSURANCE_PLUGINS], config, numTests, severity);
2916
3251
  else if (id === "financial") expandCollection([...FINANCIAL_PLUGINS], config, numTests, severity);
3252
+ else if (id === "teen-safety") expandCollection([...TEEN_SAFETY_PLUGINS], config, numTests, severity);
2917
3253
  else if (id === "default") expandCollection([...DEFAULT_PLUGINS], config, numTests, severity);
2918
3254
  else if (id === "guardrails-eval") expandCollection([...GUARDRAILS_EVALUATION_PLUGINS], config, numTests, severity);
2919
3255
  };
@@ -2974,6 +3310,7 @@ const RedteamConfigSchema = z.object({
2974
3310
  });
2975
3311
  return {
2976
3312
  numTests: data.numTests,
3313
+ ...data.maxCharsPerMessage ? { maxCharsPerMessage: data.maxCharsPerMessage } : {},
2977
3314
  plugins: uniquePlugins,
2978
3315
  strategies,
2979
3316
  ...frameworks ? { frameworks } : {},
@@ -3099,6 +3436,7 @@ const PromptMetricsSchema = z.object({
3099
3436
  tokenUsage: BaseTokenUsageSchema,
3100
3437
  namedScores: z.record(z.string(), z.number()),
3101
3438
  namedScoresCount: z.record(z.string(), z.number()),
3439
+ namedScoreWeights: z.record(z.string(), z.number()).optional(),
3102
3440
  redteam: z.object({
3103
3441
  pluginPassCount: z.record(z.string(), z.number()),
3104
3442
  pluginFailCount: z.record(z.string(), z.number()),
@@ -3121,7 +3459,7 @@ function isResultFailureReason(value) {
3121
3459
  return validResultFailureReasons.has(value);
3122
3460
  }
3123
3461
  function isGradingResult(result) {
3124
- 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");
3462
+ 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");
3125
3463
  }
3126
3464
  const BaseAssertionTypesSchema = z.enum([
3127
3465
  "answer-relevance",
@@ -3177,6 +3515,12 @@ const BaseAssertionTypesSchema = z.enum([
3177
3515
  "similar:euclidean",
3178
3516
  "starts-with",
3179
3517
  "tool-call-f1",
3518
+ "skill-used",
3519
+ "trajectory:goal-success",
3520
+ "trajectory:tool-args-match",
3521
+ "trajectory:step-count",
3522
+ "trajectory:tool-sequence",
3523
+ "trajectory:tool-used",
3180
3524
  "trace-error-spans",
3181
3525
  "trace-span-count",
3182
3526
  "trace-span-duration",
@@ -3258,6 +3602,7 @@ const TestCaseSchema = z.object({
3258
3602
  ...GradingConfigSchema.shape,
3259
3603
  disableVarExpansion: z.boolean().optional(),
3260
3604
  disableConversationVar: z.boolean().optional(),
3605
+ disableDefaultAsserts: z.boolean().optional(),
3261
3606
  runSerially: z.boolean().optional()
3262
3607
  }).catchall(z.any()).optional(),
3263
3608
  threshold: z.number().optional(),
@@ -3347,7 +3692,7 @@ const TestSuiteSchema = z.object({
3347
3692
  enabled: z.boolean(),
3348
3693
  port: z.number(),
3349
3694
  host: z.string().optional(),
3350
- acceptFormats: z.array(z.string())
3695
+ acceptFormats: z.array(z.enum(["protobuf", "json"])).optional()
3351
3696
  }).optional(),
3352
3697
  grpc: z.object({
3353
3698
  enabled: z.boolean(),
@@ -3416,7 +3761,7 @@ const TestSuiteConfigSchema = z.object({
3416
3761
  enabled: z.boolean().prefault(true),
3417
3762
  port: z.number().prefault(4318),
3418
3763
  host: z.string().prefault("0.0.0.0"),
3419
- acceptFormats: z.array(z.enum(["protobuf", "json"])).prefault(["json"])
3764
+ acceptFormats: z.array(z.enum(["protobuf", "json"])).prefault(["json", "protobuf"])
3420
3765
  }).optional(),
3421
3766
  grpc: z.object({
3422
3767
  enabled: z.boolean().prefault(false),
@@ -3471,6 +3816,6 @@ const EvalResultsFilterMode = z.enum([
3471
3816
  "user-rated"
3472
3817
  ]);
3473
3818
  //#endregion
3474
- export { INSURANCE_PLUGINS as $, DATASET_PLUGINS as A, categoryAliases as B, PolicyObjectSchema as C, ADDITIONAL_STRATEGIES as D, isUuid as E, getDefaultNFanout as F, ADDITIONAL_PLUGINS as G, riskCategorySeverityMap as H, isCustomStrategy as I, DATASET_EXEMPT_PLUGINS as J, ALL_PLUGINS as K, isFanoutStrategy as L, MULTI_TURN_STRATEGIES as M, STRATEGY_COLLECTIONS as N, AGENTIC_STRATEGIES as O, STRATEGY_COLLECTION_MAPPINGS as P, HARM_PLUGINS as Q, isMultiTurnStrategy as R, PluginConfigSchema as S, isValidReusablePolicyId as T, subCategoryDescriptions as U, pluginDescriptions as V, ALIASED_PLUGIN_MAPPINGS as W, FINANCIAL_PLUGINS as X, DEFAULT_PLUGINS as Y, FOUNDATION_PLUGINS as Z, PromptSchema as _, EvaluateOptionsSchema as a, PHARMACY_PLUGINS as at, ConversationMessageSchema as b, TestSuiteConfigSchema as c, REDTEAM_MODEL as ct, isGradingResult as d, STRATEGY_EXEMPT_PLUGINS as dt, LLAMA_GUARD_ENABLED_CATEGORIES as et, isResultFailureReason as f, TELECOM_PLUGINS as ft, RedteamGenerateOptionsSchema as g, RedteamConfigSchema as h, EvalResultsFilterMode as i, MULTI_INPUT_VAR as it, DEFAULT_STRATEGIES as j, ALL_STRATEGIES as k, TestSuiteSchema as l, REDTEAM_PROVIDER_HARM_PLUGINS as lt, isProviderOptions as m, BaseAssertionTypesSchema as n, MEDICAL_PLUGINS as nt, OutputFileExtension as o, PII_PLUGINS as ot, isApiProvider as p, UNALIGNED_PROVIDER_HARM_PLUGINS as pt, BIAS_PLUGINS as q, CommandLineOptionsSchema as r, MULTI_INPUT_EXCLUDED_PLUGINS as rt, ResultFailureReason as s, PLUGIN_CATEGORIES as st, AssertionOrSetSchema as t, LLAMA_GUARD_REPLICATE_PROVIDER as tt, UnifiedConfigSchema as u, REMOTE_ONLY_PLUGIN_IDS as ut, ProviderOptionsSchema as v, StrategyConfigSchema as w, PartialGenerationError as x, ProvidersSchema as y, Severity as z };
3819
+ export { HARM_PLUGINS as $, DATASET_PLUGINS as A, categoryAliases as B, PolicyObjectSchema as C, ADDITIONAL_STRATEGIES as D, isUuid as E, getDefaultNFanout as F, ADDITIONAL_PLUGINS as G, riskCategorySeverityMap as H, isCustomStrategy as I, CANARY_BREAKING_STRATEGY_IDS as J, ALL_PLUGINS as K, isFanoutStrategy as L, MULTI_TURN_STRATEGIES as M, STRATEGY_COLLECTIONS as N, AGENTIC_STRATEGIES as O, STRATEGY_COLLECTION_MAPPINGS as P, FOUNDATION_PLUGINS as Q, isMultiTurnStrategy as R, PluginConfigSchema as S, isValidReusablePolicyId as T, subCategoryDescriptions as U, pluginDescriptions as V, ALIASED_PLUGIN_MAPPINGS as W, DEFAULT_PLUGINS as X, DATASET_EXEMPT_PLUGINS as Y, FINANCIAL_PLUGINS as Z, PromptSchema as _, CODING_AGENT_PLUGINS as _t, EvaluateOptionsSchema as a, MULTI_INPUT_VAR as at, ConversationMessageSchema as b, TestSuiteConfigSchema as c, PLUGIN_CATEGORIES as ct, isGradingResult as d, REMOTE_ONLY_PLUGIN_IDS as dt, INSURANCE_PLUGINS as et, isResultFailureReason as f, STRATEGY_EXEMPT_PLUGINS as ft, RedteamGenerateOptionsSchema as g, CODING_AGENT_CORE_PLUGINS as gt, RedteamConfigSchema as h, UNALIGNED_PROVIDER_HARM_PLUGINS as ht, EvalResultsFilterMode as i, MULTI_INPUT_EXCLUDED_PLUGINS as it, DEFAULT_STRATEGIES as j, ALL_STRATEGIES as k, TestSuiteSchema as l, REDTEAM_MODEL as lt, isProviderOptions as m, TELECOM_PLUGINS as mt, BaseAssertionTypesSchema as n, LLAMA_GUARD_REPLICATE_PROVIDER as nt, OutputFileExtension as o, PHARMACY_PLUGINS as ot, isApiProvider as p, TEEN_SAFETY_PLUGINS as pt, BIAS_PLUGINS as q, CommandLineOptionsSchema as r, MEDICAL_PLUGINS as rt, ResultFailureReason as s, PII_PLUGINS as st, AssertionOrSetSchema as t, LLAMA_GUARD_ENABLED_CATEGORIES as tt, UnifiedConfigSchema as u, REDTEAM_PROVIDER_HARM_PLUGINS as ut, ProviderOptionsSchema as v, CODING_AGENT_PLUGIN_DESCRIPTIONS as vt, StrategyConfigSchema as w, PartialGenerationError as x, ProvidersSchema as y, CODING_AGENT_PLUGIN_DISPLAY_NAMES as yt, Severity as z };
3475
3820
 
3476
- //# sourceMappingURL=types-Cbd8uOMq.js.map
3821
+ //# sourceMappingURL=types-Dm9JM6Vb.js.map