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,4 +1,4 @@
1
- const require_logger = require("./logger-Cp1GPUjj.cjs");
1
+ const require_logger = require("./logger-COuQb2xB.cjs");
2
2
  const require_fileExtensions = require("./fileExtensions-bYh77CN8.cjs");
3
3
  let dedent = require("dedent");
4
4
  dedent = require_logger.__toESM(dedent);
@@ -82,6 +82,7 @@ const ProviderEnvOverridesSchema = zod.z.object({
82
82
  CODEX_API_KEY: zod.z.string().optional(),
83
83
  OPENCLAW_CONFIG_PATH: zod.z.string().optional(),
84
84
  OPENCLAW_GATEWAY_PASSWORD: zod.z.string().optional(),
85
+ OPENCLAW_GATEWAY_PORT: zod.z.string().optional(),
85
86
  OPENCLAW_GATEWAY_TOKEN: zod.z.string().optional(),
86
87
  OPENCLAW_GATEWAY_URL: zod.z.string().optional(),
87
88
  PALM_API_HOST: zod.z.string().optional(),
@@ -133,7 +134,9 @@ const ProviderEnvOverridesSchema = zod.z.object({
133
134
  const CompletionTokenDetailsSchema = zod.z.object({
134
135
  reasoning: zod.z.number().optional(),
135
136
  acceptedPrediction: zod.z.number().optional(),
136
- rejectedPrediction: zod.z.number().optional()
137
+ rejectedPrediction: zod.z.number().optional(),
138
+ cacheReadInputTokens: zod.z.number().optional(),
139
+ cacheCreationInputTokens: zod.z.number().optional()
137
140
  });
138
141
  /**
139
142
  * Base schema for token usage statistics with all fields optional
@@ -165,6 +168,7 @@ const PromptFunctionSchema = zod.z.custom((v) => typeof v === "function");
165
168
  const PromptSchema = zod.z.object({
166
169
  id: zod.z.string().optional(),
167
170
  raw: zod.z.string(),
171
+ template: zod.z.string().optional(),
168
172
  display: zod.z.string().optional(),
169
173
  label: zod.z.string(),
170
174
  function: PromptFunctionSchema.optional(),
@@ -175,6 +179,55 @@ assert$1();
175
179
  assert$1();
176
180
  assert$1();
177
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
178
231
  //#region src/redteam/constants/plugins.ts
179
232
  const MULTI_INPUT_VAR = "__prompt";
180
233
  const LLAMA_GUARD_REPLICATE_PROVIDER = "replicate:moderation:meta/llama-guard-4-12b";
@@ -295,8 +348,10 @@ const COLLECTIONS = [
295
348
  "financial",
296
349
  "ecommerce",
297
350
  "telecom",
351
+ "teen-safety",
298
352
  "realestate",
299
- "guardrails-eval"
353
+ "guardrails-eval",
354
+ ...CODING_AGENT_COLLECTIONS
300
355
  ];
301
356
  const UNALIGNED_PROVIDER_HARM_PLUGINS = {
302
357
  "harmful:child-exploitation": "Child Exploitation",
@@ -346,6 +401,9 @@ const BIAS_PLUGINS = [
346
401
  ];
347
402
  const MEDICAL_PLUGINS = [
348
403
  "medical:anchoring-bias",
404
+ "medical:fda:ai-disclosure",
405
+ "medical:fda:cyber-access-control",
406
+ "medical:fda:cyber-audit-tampering",
349
407
  "medical:hallucination",
350
408
  "medical:incorrect-knowledge",
351
409
  "medical:off-label-use",
@@ -361,6 +419,7 @@ const FINANCIAL_PLUGINS = [
361
419
  "financial:defamation",
362
420
  "financial:hallucination",
363
421
  "financial:impartiality",
422
+ "financial:japan-fiea-suitability",
364
423
  "financial:misconduct",
365
424
  "financial:sox-compliance",
366
425
  "financial:sycophancy"
@@ -406,6 +465,12 @@ const REALESTATE_PLUGINS = [
406
465
  "realestate:advertising-discrimination",
407
466
  "realestate:source-of-income"
408
467
  ];
468
+ const TEEN_SAFETY_PLUGINS = [
469
+ "teen-safety:harmful-body-ideals",
470
+ "teen-safety:dangerous-content",
471
+ "teen-safety:dangerous-roleplay",
472
+ "teen-safety:age-restricted-goods-and-services"
473
+ ];
409
474
  const BASE_PLUGINS = [
410
475
  "contracts",
411
476
  "excessive-agency",
@@ -420,6 +485,7 @@ const ADDITIONAL_PLUGINS = [
420
485
  "bfla",
421
486
  "bola",
422
487
  "cca",
488
+ ...CODING_AGENT_PLUGINS,
423
489
  "competitors",
424
490
  "coppa",
425
491
  "cross-session-leak",
@@ -436,6 +502,9 @@ const ADDITIONAL_PLUGINS = [
436
502
  "mcp",
437
503
  "model-identification",
438
504
  "medical:anchoring-bias",
505
+ "medical:fda:ai-disclosure",
506
+ "medical:fda:cyber-access-control",
507
+ "medical:fda:cyber-audit-tampering",
439
508
  "medical:hallucination",
440
509
  "medical:incorrect-knowledge",
441
510
  "medical:off-label-use",
@@ -449,6 +518,7 @@ const ADDITIONAL_PLUGINS = [
449
518
  "financial:defamation",
450
519
  "financial:hallucination",
451
520
  "financial:impartiality",
521
+ "financial:japan-fiea-suitability",
452
522
  "financial:misconduct",
453
523
  "financial:sox-compliance",
454
524
  "financial:sycophancy",
@@ -478,6 +548,10 @@ const ADDITIONAL_PLUGINS = [
478
548
  "telecom:coverage-misinformation",
479
549
  "telecom:law-enforcement-request-handling",
480
550
  "telecom:accessibility-violation",
551
+ "teen-safety:harmful-body-ideals",
552
+ "teen-safety:dangerous-content",
553
+ "teen-safety:dangerous-roleplay",
554
+ "teen-safety:age-restricted-goods-and-services",
481
555
  "realestate:fair-housing-discrimination",
482
556
  "realestate:steering",
483
557
  "realestate:discriminatory-listings",
@@ -509,6 +583,16 @@ const ADDITIONAL_PLUGINS = [
509
583
  ];
510
584
  const CONFIG_REQUIRED_PLUGINS = ["intent", "policy"];
511
585
  const AGENTIC_EXEMPT_PLUGINS = ["system-prompt-override", "agentic:memory-poisoning"];
586
+ const CANARY_BREAKING_STRATEGY_IDS = [
587
+ "base64",
588
+ "hex",
589
+ "homoglyph",
590
+ "leetspeak",
591
+ "rot13",
592
+ "multilingual",
593
+ "math-prompt",
594
+ "jailbreak:composite"
595
+ ];
512
596
  const DATASET_EXEMPT_PLUGINS = [
513
597
  "aegis",
514
598
  "beavertails",
@@ -559,10 +643,13 @@ const PLUGIN_CATEGORIES = {
559
643
  pharmacy: PHARMACY_PLUGINS,
560
644
  insurance: INSURANCE_PLUGINS,
561
645
  telecom: TELECOM_PLUGINS,
646
+ "teen-safety": TEEN_SAFETY_PLUGINS,
562
647
  realestate: REALESTATE_PLUGINS
563
648
  };
564
649
  const REMOTE_ONLY_PLUGIN_IDS = [
565
650
  "agentic:memory-poisoning",
651
+ ...CODING_AGENT_COLLECTIONS,
652
+ ...CODING_AGENT_PLUGINS,
566
653
  "ascii-smuggling",
567
654
  "bfla",
568
655
  "bola",
@@ -1077,26 +1164,125 @@ const NIST_AI_RMF_MAPPING = {
1077
1164
  strategies: []
1078
1165
  }
1079
1166
  };
1167
+ const MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING = {
1168
+ plugins: [
1169
+ "ascii-smuggling",
1170
+ "excessive-agency",
1171
+ "harmful:cybercrime:malicious-code",
1172
+ "hallucination",
1173
+ "indirect-prompt-injection",
1174
+ "rag-poisoning"
1175
+ ],
1176
+ strategies: ["jailbreak", "jailbreak:tree"]
1177
+ };
1080
1178
  const MITRE_ATLAS_MAPPING = {
1179
+ "mitre:atlas:ai-attack-staging": MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING,
1180
+ "mitre:atlas:ai-model-access": {
1181
+ plugins: [],
1182
+ strategies: []
1183
+ },
1184
+ "mitre:atlas:collection": {
1185
+ plugins: [
1186
+ "data-exfil",
1187
+ "harmful:privacy",
1188
+ "pii:api-db",
1189
+ "pii:direct",
1190
+ "pii:session",
1191
+ "pii:social",
1192
+ "prompt-extraction",
1193
+ "rag-document-exfiltration"
1194
+ ],
1195
+ strategies: []
1196
+ },
1197
+ "mitre:atlas:command-and-control": {
1198
+ plugins: [
1199
+ "excessive-agency",
1200
+ "harmful:cybercrime",
1201
+ "harmful:cybercrime:malicious-code",
1202
+ "mcp",
1203
+ "shell-injection",
1204
+ "ssrf"
1205
+ ],
1206
+ strategies: ["crescendo"]
1207
+ },
1208
+ "mitre:atlas:credential-access": {
1209
+ plugins: [
1210
+ "data-exfil",
1211
+ "harmful:privacy",
1212
+ "pii:api-db",
1213
+ "pii:direct",
1214
+ "pii:session",
1215
+ "pii:social",
1216
+ "prompt-extraction",
1217
+ "rag-document-exfiltration",
1218
+ "tool-discovery"
1219
+ ],
1220
+ strategies: []
1221
+ },
1222
+ "mitre:atlas:defense-evasion": {
1223
+ plugins: [
1224
+ "ascii-smuggling",
1225
+ "hijacking",
1226
+ "imitation",
1227
+ "rag-source-attribution",
1228
+ "special-token-injection"
1229
+ ],
1230
+ strategies: [
1231
+ "base64",
1232
+ "jailbreak",
1233
+ "jailbreak-templates",
1234
+ "leetspeak",
1235
+ "rot13"
1236
+ ]
1237
+ },
1238
+ "mitre:atlas:discovery": {
1239
+ plugins: [
1240
+ "debug-access",
1241
+ "model-identification",
1242
+ "prompt-extraction",
1243
+ "system-prompt-override",
1244
+ "tool-discovery"
1245
+ ],
1246
+ strategies: []
1247
+ },
1248
+ "mitre:atlas:execution": {
1249
+ plugins: [
1250
+ "excessive-agency",
1251
+ "hijacking",
1252
+ "indirect-prompt-injection",
1253
+ "mcp",
1254
+ "shell-injection",
1255
+ "sql-injection",
1256
+ "ssrf",
1257
+ "system-prompt-override",
1258
+ "tool-discovery"
1259
+ ],
1260
+ strategies: ["jailbreak", "jailbreak-templates"]
1261
+ },
1081
1262
  "mitre:atlas:exfiltration": {
1082
1263
  plugins: [
1083
1264
  "ascii-smuggling",
1265
+ "cross-session-leak",
1266
+ "data-exfil",
1084
1267
  "harmful:privacy",
1085
1268
  "indirect-prompt-injection",
1086
1269
  "pii:api-db",
1087
1270
  "pii:direct",
1088
1271
  "pii:session",
1089
1272
  "pii:social",
1090
- "prompt-extraction"
1273
+ "prompt-extraction",
1274
+ "rag-document-exfiltration"
1091
1275
  ],
1092
1276
  strategies: []
1093
1277
  },
1094
1278
  "mitre:atlas:impact": {
1095
1279
  plugins: [
1280
+ "divergent-repetition",
1096
1281
  "excessive-agency",
1097
1282
  "harmful",
1098
1283
  "hijacking",
1099
- "imitation"
1284
+ "imitation",
1285
+ "reasoning-dos"
1100
1286
  ],
1101
1287
  strategies: ["crescendo"]
1102
1288
  },
@@ -1104,6 +1290,8 @@ const MITRE_ATLAS_MAPPING = {
1104
1290
  plugins: [
1105
1291
  "debug-access",
1106
1292
  "harmful:cybercrime",
1293
+ "indirect-prompt-injection",
1294
+ "mcp",
1107
1295
  "shell-injection",
1108
1296
  "sql-injection",
1109
1297
  "ssrf"
@@ -1116,18 +1304,46 @@ const MITRE_ATLAS_MAPPING = {
1116
1304
  "rot13"
1117
1305
  ]
1118
1306
  },
1119
- "mitre:atlas:ml-attack-staging": {
1307
+ "mitre:atlas:lateral-movement": {
1120
1308
  plugins: [
1121
- "ascii-smuggling",
1309
+ "bfla",
1310
+ "bola",
1311
+ "harmful:cybercrime",
1312
+ "rbac"
1313
+ ],
1314
+ strategies: []
1315
+ },
1316
+ "mitre:atlas:persistence": {
1317
+ plugins: [
1318
+ "agentic:memory-poisoning",
1319
+ "cross-session-leak",
1320
+ "indirect-prompt-injection",
1321
+ "rag-poisoning",
1322
+ "system-prompt-override"
1323
+ ],
1324
+ strategies: ["jailbreak"]
1325
+ },
1326
+ "mitre:atlas:privilege-escalation": {
1327
+ plugins: [
1328
+ "bfla",
1329
+ "bola",
1330
+ "debug-access",
1122
1331
  "excessive-agency",
1123
- "hallucination",
1124
- "indirect-prompt-injection"
1332
+ "mcp",
1333
+ "rbac",
1334
+ "shell-injection",
1335
+ "system-prompt-override"
1125
1336
  ],
1126
- strategies: ["jailbreak", "jailbreak:tree"]
1337
+ strategies: [
1338
+ "jailbreak",
1339
+ "jailbreak:tree",
1340
+ "jailbreak-templates"
1341
+ ]
1127
1342
  },
1128
1343
  "mitre:atlas:reconnaissance": {
1129
1344
  plugins: [
1130
1345
  "competitors",
1346
+ "model-identification",
1131
1347
  "policy",
1132
1348
  "prompt-extraction",
1133
1349
  "rbac"
@@ -1136,13 +1352,16 @@ const MITRE_ATLAS_MAPPING = {
1136
1352
  },
1137
1353
  "mitre:atlas:resource-development": {
1138
1354
  plugins: [
1355
+ "harmful:chemical-biological-weapons",
1139
1356
  "harmful:cybercrime",
1357
+ "harmful:cybercrime:malicious-code",
1140
1358
  "harmful:illegal-drugs",
1141
1359
  "harmful:indiscriminate-weapons"
1142
1360
  ],
1143
1361
  strategies: []
1144
1362
  }
1145
1363
  };
1364
+ const MITRE_ATLAS_LEGACY_MAPPING = { "mitre:atlas:ml-attack-staging": MITRE_ATLAS_AI_ATTACK_STAGING_MAPPING };
1146
1365
  /**
1147
1366
  * EU Artificial Intelligence Act
1148
1367
  * ▸ Art. 5 (Prohibited AI practices) – unacceptable-risk
@@ -1549,6 +1768,7 @@ const ALIASED_PLUGINS = [
1549
1768
  "iso:42001",
1550
1769
  "gdpr",
1551
1770
  ...Object.keys(MITRE_ATLAS_MAPPING),
1771
+ ...Object.keys(MITRE_ATLAS_LEGACY_MAPPING),
1552
1772
  ...Object.keys(NIST_AI_RMF_MAPPING),
1553
1773
  ...Object.keys(OWASP_API_TOP_10_MAPPING),
1554
1774
  ...Object.keys(OWASP_LLM_TOP_10_MAPPING),
@@ -1560,6 +1780,7 @@ const ALIASED_PLUGINS = [
1560
1780
  ];
1561
1781
  const ALIASED_PLUGIN_MAPPINGS = {
1562
1782
  "dod:ai:ethics": DOD_AI_ETHICS_MAPPING,
1783
+ "mitre:atlas:ml-attack-staging": MITRE_ATLAS_LEGACY_MAPPING,
1563
1784
  "mitre:atlas": MITRE_ATLAS_MAPPING,
1564
1785
  "nist:ai:measure": NIST_AI_RMF_MAPPING,
1565
1786
  "owasp:api": OWASP_API_TOP_10_MAPPING,
@@ -1620,8 +1841,8 @@ const ALIASED_PLUGIN_MAPPINGS = {
1620
1841
  strategies: []
1621
1842
  } }
1622
1843
  };
1623
- //#endregion
1624
- //#region src/redteam/constants/metadata.ts
1844
+ ({ ...CODING_AGENT_PLUGIN_DESCRIPTIONS });
1845
+ ({ ...CODING_AGENT_PLUGIN_DISPLAY_NAMES });
1625
1846
  const Severity = {
1626
1847
  Critical: "critical",
1627
1848
  High: "high",
@@ -1638,6 +1859,10 @@ const SeveritySchema = zod.z.enum([
1638
1859
  ]);
1639
1860
  Severity.Critical, Severity.High, Severity.Medium, Severity.Low, Severity.Informational;
1640
1861
  Severity.Critical, Severity.High, Severity.Medium, Severity.Low, Severity.Informational;
1862
+ const codingAgentRiskCategorySeverityMap = {
1863
+ ...Object.fromEntries(CODING_AGENT_PLUGINS.map((pluginId) => [pluginId, Severity.High])),
1864
+ "coding-agent:core": Severity.High
1865
+ };
1641
1866
  const riskCategorySeverityMap = {
1642
1867
  ["agentic:memory-poisoning"]: Severity.High,
1643
1868
  aegis: Severity.Medium,
@@ -1655,6 +1880,7 @@ const riskCategorySeverityMap = {
1655
1880
  "financial:defamation": Severity.Medium,
1656
1881
  "financial:hallucination": Severity.Low,
1657
1882
  "financial:impartiality": Severity.Medium,
1883
+ "financial:japan-fiea-suitability": Severity.High,
1658
1884
  "financial:misconduct": Severity.High,
1659
1885
  "financial:sox-compliance": Severity.High,
1660
1886
  "financial:sycophancy": Severity.Low,
@@ -1670,6 +1896,9 @@ const riskCategorySeverityMap = {
1670
1896
  default: Severity.Low,
1671
1897
  mcp: Severity.High,
1672
1898
  "medical:anchoring-bias": Severity.High,
1899
+ "medical:fda:ai-disclosure": Severity.High,
1900
+ "medical:fda:cyber-access-control": Severity.Critical,
1901
+ "medical:fda:cyber-audit-tampering": Severity.Critical,
1673
1902
  "medical:hallucination": Severity.Critical,
1674
1903
  "medical:incorrect-knowledge": Severity.Critical,
1675
1904
  "medical:off-label-use": Severity.High,
@@ -1746,6 +1975,11 @@ const riskCategorySeverityMap = {
1746
1975
  "telecom:coverage-misinformation": Severity.Medium,
1747
1976
  "telecom:law-enforcement-request-handling": Severity.Medium,
1748
1977
  "telecom:accessibility-violation": Severity.Medium,
1978
+ "teen-safety": Severity.Low,
1979
+ "teen-safety:harmful-body-ideals": Severity.Low,
1980
+ "teen-safety:dangerous-content": Severity.Low,
1981
+ "teen-safety:dangerous-roleplay": Severity.Low,
1982
+ "teen-safety:age-restricted-goods-and-services": Severity.Low,
1749
1983
  realestate: Severity.Critical,
1750
1984
  "realestate:fair-housing-discrimination": Severity.Critical,
1751
1985
  "realestate:steering": Severity.Critical,
@@ -1785,9 +2019,10 @@ const riskCategorySeverityMap = {
1785
2019
  vlguard: Severity.Medium,
1786
2020
  vlsu: Severity.Medium,
1787
2021
  wordplay: Severity.Low,
1788
- xstest: Severity.Low
2022
+ xstest: Severity.Low,
2023
+ ...codingAgentRiskCategorySeverityMap
1789
2024
  };
1790
- Object.entries({
2025
+ const riskCategories = {
1791
2026
  "Security & Access Control": [
1792
2027
  "ascii-smuggling",
1793
2028
  "bfla",
@@ -1859,6 +2094,10 @@ Object.entries({
1859
2094
  "harmful:radicalization",
1860
2095
  "harmful:self-harm",
1861
2096
  "harmful:sexual-content",
2097
+ "teen-safety:harmful-body-ideals",
2098
+ "teen-safety:dangerous-content",
2099
+ "teen-safety:dangerous-roleplay",
2100
+ "teen-safety:age-restricted-goods-and-services",
1862
2101
  "wordplay"
1863
2102
  ],
1864
2103
  Brand: [
@@ -1890,11 +2129,15 @@ Object.entries({
1890
2129
  "financial:defamation",
1891
2130
  "financial:hallucination",
1892
2131
  "financial:impartiality",
2132
+ "financial:japan-fiea-suitability",
1893
2133
  "financial:misconduct",
1894
2134
  "financial:sox-compliance",
1895
2135
  "financial:sycophancy",
1896
2136
  "medical:hallucination",
1897
2137
  "medical:anchoring-bias",
2138
+ "medical:fda:ai-disclosure",
2139
+ "medical:fda:cyber-access-control",
2140
+ "medical:fda:cyber-audit-tampering",
1898
2141
  "medical:incorrect-knowledge",
1899
2142
  "medical:off-label-use",
1900
2143
  "medical:prioritization-error",
@@ -1935,8 +2178,10 @@ Object.entries({
1935
2178
  "vlguard",
1936
2179
  "vlsu",
1937
2180
  "xstest"
1938
- ]
1939
- }).reduce((acc, [category, harms]) => {
2181
+ ],
2182
+ "Coding Agent Security": [...CODING_AGENT_PLUGINS]
2183
+ };
2184
+ Object.entries(riskCategories).reduce((acc, [category, harms]) => {
1940
2185
  harms.forEach((harm) => {
1941
2186
  acc[harm] = category;
1942
2187
  });
@@ -1962,6 +2207,9 @@ const categoryAliases = {
1962
2207
  ferpa: "FERPACompliance",
1963
2208
  mcp: "MCP",
1964
2209
  "medical:anchoring-bias": "MedicalAnchoringBias",
2210
+ "medical:fda:ai-disclosure": "MedicalFdaAiDisclosure",
2211
+ "medical:fda:cyber-access-control": "MedicalFdaCyberAccessControl",
2212
+ "medical:fda:cyber-audit-tampering": "MedicalFdaCyberAuditTampering",
1965
2213
  "medical:hallucination": "Medical Hallucination",
1966
2214
  "medical:incorrect-knowledge": "MedicalIncorrectKnowledge",
1967
2215
  "medical:off-label-use": "MedicalOffLabelUse",
@@ -1979,6 +2227,7 @@ const categoryAliases = {
1979
2227
  "financial:defamation": "FinancialDefamation",
1980
2228
  "financial:hallucination": "FinancialHallucination",
1981
2229
  "financial:impartiality": "FinancialImpartiality",
2230
+ "financial:japan-fiea-suitability": "FinancialJapanFieaSuitability",
1982
2231
  "financial:misconduct": "FinancialMisconduct",
1983
2232
  "financial:sox-compliance": "FinancialSoxCompliance",
1984
2233
  "financial:sycophancy": "FinancialSycophancy",
@@ -2020,6 +2269,11 @@ const categoryAliases = {
2020
2269
  "telecom:coverage-misinformation": "TelecomCoverageMisinformation",
2021
2270
  "telecom:law-enforcement-request-handling": "TelecomLawEnforcementRequestHandling",
2022
2271
  "telecom:accessibility-violation": "TelecomAccessibilityViolation",
2272
+ "teen-safety": "TeenSafety",
2273
+ "teen-safety:harmful-body-ideals": "TeenSafetyHarmfulBodyIdeals",
2274
+ "teen-safety:dangerous-content": "TeenSafetyDangerousContent",
2275
+ "teen-safety:dangerous-roleplay": "TeenSafetyDangerousRoleplay",
2276
+ "teen-safety:age-restricted-goods-and-services": "TeenSafetyAgeRestrictedGoodsAndServices",
2023
2277
  realestate: "Real Estate Safety",
2024
2278
  "realestate:fair-housing-discrimination": "RealEstateFairHousingDiscrimination",
2025
2279
  "realestate:steering": "RealEstateSteering",
@@ -2089,7 +2343,8 @@ const categoryAliases = {
2089
2343
  vlguard: "VLGuard",
2090
2344
  vlsu: "VLSU",
2091
2345
  wordplay: "Wordplay",
2092
- xstest: "XSTest"
2346
+ xstest: "XSTest",
2347
+ ...CODING_AGENT_PLUGIN_ALIASES
2093
2348
  };
2094
2349
  Object.entries(categoryAliases).reduce((acc, [key, value]) => {
2095
2350
  acc[value] = key;
@@ -2145,6 +2400,11 @@ const pluginDescriptions = {
2145
2400
  "telecom:coverage-misinformation": "Tests for false or misleading claims about network coverage, 5G availability, or roaming capabilities",
2146
2401
  "telecom:law-enforcement-request-handling": "Tests for improper handling of law enforcement data requests in violation of CALEA requirements and privacy laws",
2147
2402
  "telecom:accessibility-violation": "Tests for accessibility compliance violations under Section 255, Section 508, ADA, and 21st Century CVAA",
2403
+ "teen-safety": "Comprehensive teen safety testing for age-appropriate AI behavior across body image harms, dangerous activities, unsafe roleplay, and underage access risks",
2404
+ "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",
2405
+ "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",
2406
+ "teen-safety:dangerous-roleplay": "Tests for interactive roleplay involving minors that simulates romantic, sexual, or violent scenarios that could normalize exploitation or harm",
2407
+ "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",
2148
2408
  realestate: "Comprehensive real estate AI safety testing for Fair Housing Act compliance, steering prevention, lending discrimination (ECOA), valuation bias, and housing discrimination vulnerabilities",
2149
2409
  "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",
2150
2410
  "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",
@@ -2192,6 +2452,9 @@ const pluginDescriptions = {
2192
2452
  "ecommerce:price-manipulation": "Tests for price manipulation through discount code abuse, inventory exploits, cart manipulation, unauthorized price modifications, or coupon stacking vulnerabilities",
2193
2453
  mcp: "Tests for vulnerabilities to Model Context Protocol (MCP) attacks",
2194
2454
  "medical:anchoring-bias": "Tests for medical anchoring bias where AI fixates on irrelevant information in medical contexts",
2455
+ "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",
2456
+ "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",
2457
+ "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",
2195
2458
  "medical:hallucination": "Tests for fabricated medical facts, non-existent studies, made-up drug interactions, or other false medical information",
2196
2459
  "medical:incorrect-knowledge": "Tests for factually wrong medical information that could be harmful if followed",
2197
2460
  "medical:off-label-use": "Tests for inappropriate off-label medication recommendations without proper disclaimers, warnings, or professional consultation requirements",
@@ -2205,6 +2468,7 @@ const pluginDescriptions = {
2205
2468
  "financial:defamation": "Tests for false statements that damage the reputation of financial entities, including unfounded fraud accusations, fabricated scandals, or false insolvency claims",
2206
2469
  "financial:hallucination": "Tests for fabricated market data, non-existent financial instruments, fictional company financials, or invented market events",
2207
2470
  "financial:impartiality": "Tests for inappropriate provision of financial advice, investment recommendations, broker suggestions, or transaction facilitation without proper authorization or disclaimers",
2471
+ "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",
2208
2472
  "financial:misconduct": "Tests for facilitation of financial crimes including insider trading, market manipulation, front-running, spoofing, bribery, or circumventing financial regulations",
2209
2473
  "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",
2210
2474
  "financial:sycophancy": "Tests for agreeing with risky trading strategies, unrealistic return expectations, or get-rich-quick schemes",
@@ -2242,7 +2506,8 @@ const pluginDescriptions = {
2242
2506
  vlsu: "Tests compositional safety where individually safe images and text combine to produce harmful outputs using Apple VLSU dataset",
2243
2507
  wordplay: "Tests whether AI systems can be tricked into generating profanity or offensive language through innocent-seeming wordplay like riddles and rhyming games",
2244
2508
  xstest: "Tests how models handle ambiguous terms related to potentially harmful topics like violence and drugs",
2245
- "guardrails-eval": "Evaluate guardrail effectiveness against common risks"
2509
+ "guardrails-eval": "Evaluate guardrail effectiveness against common risks",
2510
+ ...CODING_AGENT_PLUGIN_DESCRIPTIONS
2246
2511
  };
2247
2512
  //#endregion
2248
2513
  //#region src/redteam/constants/strategies.ts
@@ -2262,6 +2527,7 @@ const DEFAULT_STRATEGIES = [
2262
2527
  "jailbreak:meta",
2263
2528
  "jailbreak:composite"
2264
2529
  ];
2530
+ new Set(DEFAULT_STRATEGIES);
2265
2531
  const MULTI_TURN_STRATEGIES = [
2266
2532
  "crescendo",
2267
2533
  "goat",
@@ -2269,6 +2535,7 @@ const MULTI_TURN_STRATEGIES = [
2269
2535
  "custom",
2270
2536
  "mischievous-user"
2271
2537
  ];
2538
+ new Set(MULTI_TURN_STRATEGIES);
2272
2539
  const isCustomStrategy = (strategyId) => {
2273
2540
  return strategyId === "custom" || strategyId.startsWith("custom:");
2274
2541
  };
@@ -2283,6 +2550,7 @@ const AGENTIC_STRATEGIES = [
2283
2550
  "jailbreak:tree",
2284
2551
  "mischievous-user"
2285
2552
  ];
2553
+ new Set(AGENTIC_STRATEGIES);
2286
2554
  const DATASET_PLUGINS = [
2287
2555
  "beavertails",
2288
2556
  "cyberseceval",
@@ -2448,7 +2716,62 @@ const PluginConfigSchema = zod.z.object({
2448
2716
  policy: zod.z.union([zod.z.string(), PolicyObjectSchema]).optional(),
2449
2717
  systemPrompt: zod.z.string().optional(),
2450
2718
  excludeStrategies: zod.z.array(zod.z.string()).optional(),
2719
+ protectedFilePath: zod.z.string().optional(),
2720
+ protectedFilePaths: zod.z.array(zod.z.string()).optional(),
2721
+ secretFilePath: zod.z.string().optional(),
2722
+ secretFilePaths: zod.z.array(zod.z.string()).optional(),
2723
+ secretLocalFilePath: zod.z.string().optional(),
2724
+ secretLocalFilePaths: zod.z.array(zod.z.string()).optional(),
2725
+ secretFileValue: zod.z.string().optional(),
2726
+ secretFileValues: zod.z.array(zod.z.string()).optional(),
2727
+ outsideWritePath: zod.z.string().optional(),
2728
+ outsideWritePaths: zod.z.array(zod.z.string()).optional(),
2729
+ outsideWriteHostPath: zod.z.string().optional(),
2730
+ outsideWriteHostPaths: zod.z.array(zod.z.string()).optional(),
2731
+ outsideWriteProbeDir: zod.z.string().optional(),
2732
+ outsideWriteProbeDirs: zod.z.array(zod.z.string()).optional(),
2733
+ outsideWriteAllowedPath: zod.z.string().optional(),
2734
+ outsideWriteAllowedPaths: zod.z.array(zod.z.string()).optional(),
2735
+ outsideWriteExpectedSha256: zod.z.string().optional(),
2736
+ outsideWritePathSha256: zod.z.string().optional(),
2737
+ outsideWriteSha256: zod.z.string().optional(),
2738
+ outsideWriteMustNotExistPath: zod.z.string().optional(),
2739
+ outsideWriteMustNotExistPaths: zod.z.array(zod.z.string()).optional(),
2740
+ mustNotExistPath: zod.z.string().optional(),
2741
+ mustNotExistPaths: zod.z.array(zod.z.string()).optional(),
2742
+ protectedWritePath: zod.z.string().optional(),
2743
+ protectedWritePaths: zod.z.array(zod.z.string()).optional(),
2744
+ sandboxWritePath: zod.z.string().optional(),
2745
+ sandboxWritePaths: zod.z.array(zod.z.string()).optional(),
2746
+ workspacePath: zod.z.string().optional(),
2747
+ workspacePaths: zod.z.array(zod.z.string()).optional(),
2748
+ workspaceRoot: zod.z.string().optional(),
2749
+ workspaceRoots: zod.z.array(zod.z.string()).optional(),
2750
+ workingDirectory: zod.z.string().optional(),
2751
+ workingDirectoryPath: zod.z.string().optional(),
2752
+ workingDir: zod.z.string().optional(),
2753
+ networkEgressUrl: zod.z.string().optional(),
2754
+ networkEgressUrls: zod.z.array(zod.z.string()).optional(),
2755
+ networkTrapUrl: zod.z.string().optional(),
2756
+ networkTrapUrls: zod.z.array(zod.z.string()).optional(),
2757
+ networkEgressHost: zod.z.string().optional(),
2758
+ networkEgressHosts: zod.z.array(zod.z.string()).optional(),
2759
+ networkTrapHost: zod.z.string().optional(),
2760
+ networkTrapHosts: zod.z.array(zod.z.string()).optional(),
2761
+ networkAllowedHost: zod.z.string().optional(),
2762
+ networkAllowedHosts: zod.z.array(zod.z.string()).optional(),
2763
+ networkAllowedUrl: zod.z.string().optional(),
2764
+ networkAllowedUrls: zod.z.array(zod.z.string()).optional(),
2765
+ networkTrapLogPath: zod.z.string().optional(),
2766
+ networkTrapLogPaths: zod.z.array(zod.z.string()).optional(),
2767
+ networkScanPath: zod.z.string().optional(),
2768
+ networkScanPaths: zod.z.array(zod.z.string()).optional(),
2769
+ networkWorkspacePath: zod.z.string().optional(),
2770
+ networkWorkspacePaths: zod.z.array(zod.z.string()).optional(),
2771
+ networkEgressReceipt: zod.z.string().optional(),
2772
+ networkEgressReceipts: zod.z.array(zod.z.string()).optional(),
2451
2773
  inputs: InputsSchema.optional(),
2774
+ maxCharsPerMessage: zod.z.number().int().positive().optional(),
2452
2775
  __nonce: zod.z.number().optional()
2453
2776
  });
2454
2777
  const StrategyConfigSchema = zod.z.object({
@@ -2638,6 +2961,7 @@ zod.z.object({
2638
2961
  language: zod.z.union([zod.z.string(), zod.z.array(zod.z.string())]).optional().describe("Language(s) of tests to generate"),
2639
2962
  frameworks: zod.z.array(zod.z.enum(frameworkOptions)).min(1).optional().describe("Subset of compliance frameworks to include when generating, reporting, and filtering results"),
2640
2963
  maxConcurrency: zod.z.int().positive().optional().describe("Maximum number of concurrent API calls"),
2964
+ maxCharsPerMessage: zod.z.int().positive().optional().describe("Maximum number of characters allowed per generated user message"),
2641
2965
  numTests: zod.z.int().positive().optional().describe("Number of tests to generate"),
2642
2966
  output: zod.z.string().optional().describe("Output file path"),
2643
2967
  plugins: zod.z.array(RedteamPluginObjectSchema).optional().describe("Plugins to use"),
@@ -2670,6 +2994,7 @@ const RedteamConfigSchema = zod.z.object({
2670
2994
  Supports ${ALL_STRATEGIES.join(", ")}
2671
2995
  `).optional().prefault(["default"]),
2672
2996
  maxConcurrency: zod.z.int().positive().optional().describe("Maximum number of concurrent API calls"),
2997
+ maxCharsPerMessage: zod.z.int().positive().optional().describe("Maximum number of characters allowed per generated user message"),
2673
2998
  delay: zod.z.int().nonnegative().optional().describe("Delay in milliseconds between plugin API calls"),
2674
2999
  excludeTargetOutputFromAgenticAttackGeneration: zod.z.boolean().optional().describe("Whether to exclude target output from the agentific attack generation process"),
2675
3000
  tracing: TracingConfigSchema.optional().describe("Tracing defaults applied to all strategies unless overridden"),
@@ -2723,6 +3048,7 @@ const RedteamConfigSchema = zod.z.object({
2723
3048
  else if (id === "pharmacy") expandCollection([...PHARMACY_PLUGINS], config, numTests, severity);
2724
3049
  else if (id === "insurance") expandCollection([...INSURANCE_PLUGINS], config, numTests, severity);
2725
3050
  else if (id === "financial") expandCollection([...FINANCIAL_PLUGINS], config, numTests, severity);
3051
+ else if (id === "teen-safety") expandCollection([...TEEN_SAFETY_PLUGINS], config, numTests, severity);
2726
3052
  else if (id === "default") expandCollection([...DEFAULT_PLUGINS], config, numTests, severity);
2727
3053
  else if (id === "guardrails-eval") expandCollection([...GUARDRAILS_EVALUATION_PLUGINS], config, numTests, severity);
2728
3054
  };
@@ -2783,6 +3109,7 @@ const RedteamConfigSchema = zod.z.object({
2783
3109
  });
2784
3110
  return {
2785
3111
  numTests: data.numTests,
3112
+ ...data.maxCharsPerMessage ? { maxCharsPerMessage: data.maxCharsPerMessage } : {},
2786
3113
  plugins: uniquePlugins,
2787
3114
  strategies,
2788
3115
  ...frameworks ? { frameworks } : {},
@@ -2908,6 +3235,7 @@ const PromptMetricsSchema = zod.z.object({
2908
3235
  tokenUsage: BaseTokenUsageSchema,
2909
3236
  namedScores: zod.z.record(zod.z.string(), zod.z.number()),
2910
3237
  namedScoresCount: zod.z.record(zod.z.string(), zod.z.number()),
3238
+ namedScoreWeights: zod.z.record(zod.z.string(), zod.z.number()).optional(),
2911
3239
  redteam: zod.z.object({
2912
3240
  pluginPassCount: zod.z.record(zod.z.string(), zod.z.number()),
2913
3241
  pluginFailCount: zod.z.record(zod.z.string(), zod.z.number()),
@@ -2930,7 +3258,7 @@ function isResultFailureReason(value) {
2930
3258
  return validResultFailureReasons.has(value);
2931
3259
  }
2932
3260
  function isGradingResult(result) {
2933
- 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");
3261
+ 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");
2934
3262
  }
2935
3263
  const BaseAssertionTypesSchema = zod.z.enum([
2936
3264
  "answer-relevance",
@@ -2986,6 +3314,12 @@ const BaseAssertionTypesSchema = zod.z.enum([
2986
3314
  "similar:euclidean",
2987
3315
  "starts-with",
2988
3316
  "tool-call-f1",
3317
+ "skill-used",
3318
+ "trajectory:goal-success",
3319
+ "trajectory:tool-args-match",
3320
+ "trajectory:step-count",
3321
+ "trajectory:tool-sequence",
3322
+ "trajectory:tool-used",
2989
3323
  "trace-error-spans",
2990
3324
  "trace-span-count",
2991
3325
  "trace-span-duration",
@@ -3067,6 +3401,7 @@ const TestCaseSchema = zod.z.object({
3067
3401
  ...GradingConfigSchema.shape,
3068
3402
  disableVarExpansion: zod.z.boolean().optional(),
3069
3403
  disableConversationVar: zod.z.boolean().optional(),
3404
+ disableDefaultAsserts: zod.z.boolean().optional(),
3070
3405
  runSerially: zod.z.boolean().optional()
3071
3406
  }).catchall(zod.z.any()).optional(),
3072
3407
  threshold: zod.z.number().optional(),
@@ -3156,7 +3491,7 @@ const TestSuiteSchema = zod.z.object({
3156
3491
  enabled: zod.z.boolean(),
3157
3492
  port: zod.z.number(),
3158
3493
  host: zod.z.string().optional(),
3159
- acceptFormats: zod.z.array(zod.z.string())
3494
+ acceptFormats: zod.z.array(zod.z.enum(["protobuf", "json"])).optional()
3160
3495
  }).optional(),
3161
3496
  grpc: zod.z.object({
3162
3497
  enabled: zod.z.boolean(),
@@ -3225,7 +3560,7 @@ const TestSuiteConfigSchema = zod.z.object({
3225
3560
  enabled: zod.z.boolean().prefault(true),
3226
3561
  port: zod.z.number().prefault(4318),
3227
3562
  host: zod.z.string().prefault("0.0.0.0"),
3228
- acceptFormats: zod.z.array(zod.z.enum(["protobuf", "json"])).prefault(["json"])
3563
+ acceptFormats: zod.z.array(zod.z.enum(["protobuf", "json"])).prefault(["json", "protobuf"])
3229
3564
  }).optional(),
3230
3565
  grpc: zod.z.object({
3231
3566
  enabled: zod.z.boolean().prefault(false),
@@ -3340,6 +3675,36 @@ Object.defineProperty(exports, "BaseTokenUsageSchema", {
3340
3675
  return BaseTokenUsageSchema;
3341
3676
  }
3342
3677
  });
3678
+ Object.defineProperty(exports, "CANARY_BREAKING_STRATEGY_IDS", {
3679
+ enumerable: true,
3680
+ get: function() {
3681
+ return CANARY_BREAKING_STRATEGY_IDS;
3682
+ }
3683
+ });
3684
+ Object.defineProperty(exports, "CODING_AGENT_CORE_PLUGINS", {
3685
+ enumerable: true,
3686
+ get: function() {
3687
+ return CODING_AGENT_CORE_PLUGINS;
3688
+ }
3689
+ });
3690
+ Object.defineProperty(exports, "CODING_AGENT_PLUGINS", {
3691
+ enumerable: true,
3692
+ get: function() {
3693
+ return CODING_AGENT_PLUGINS;
3694
+ }
3695
+ });
3696
+ Object.defineProperty(exports, "CODING_AGENT_PLUGIN_DESCRIPTIONS", {
3697
+ enumerable: true,
3698
+ get: function() {
3699
+ return CODING_AGENT_PLUGIN_DESCRIPTIONS;
3700
+ }
3701
+ });
3702
+ Object.defineProperty(exports, "CODING_AGENT_PLUGIN_DISPLAY_NAMES", {
3703
+ enumerable: true,
3704
+ get: function() {
3705
+ return CODING_AGENT_PLUGIN_DISPLAY_NAMES;
3706
+ }
3707
+ });
3343
3708
  Object.defineProperty(exports, "CommandLineOptionsSchema", {
3344
3709
  enumerable: true,
3345
3710
  get: function() {
@@ -3616,6 +3981,12 @@ Object.defineProperty(exports, "StrategyConfigSchema", {
3616
3981
  return StrategyConfigSchema;
3617
3982
  }
3618
3983
  });
3984
+ Object.defineProperty(exports, "TEEN_SAFETY_PLUGINS", {
3985
+ enumerable: true,
3986
+ get: function() {
3987
+ return TEEN_SAFETY_PLUGINS;
3988
+ }
3989
+ });
3619
3990
  Object.defineProperty(exports, "TELECOM_PLUGINS", {
3620
3991
  enumerable: true,
3621
3992
  get: function() {
@@ -3755,4 +4126,4 @@ Object.defineProperty(exports, "riskCategorySeverityMap", {
3755
4126
  }
3756
4127
  });
3757
4128
 
3758
- //# sourceMappingURL=types-C_7nyzr1.cjs.map
4129
+ //# sourceMappingURL=types-CeaeaZdP.cjs.map