promptfoo 0.121.7 → 0.121.8

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 (313) hide show
  1. package/dist/src/{accounts-CmWzeD2d.cjs → accounts-BVz5gHLK.cjs} +4 -4
  2. package/dist/src/{accounts-DanM1wq_.js → accounts-BWjqwsrf.js} +4 -4
  3. package/dist/src/{accounts-CjFnOPmb.js → accounts-D6IBfEE0.js} +5 -5
  4. package/dist/src/{accounts-Ca7WIoPY.js → accounts-DAv_0iE7.js} +4 -4
  5. package/dist/src/{agentic-utils-DDEGRV9v.js → agentic-utils-BJKAkz2e.js} +2 -2
  6. package/dist/src/{agentic-utils-DvPWSUpb.cjs → agentic-utils-C-A92xhn.cjs} +2 -2
  7. package/dist/src/{agentic-utils-TxUEMPYS.js → agentic-utils-DmoS_S4B.js} +2 -2
  8. package/dist/src/{agentic-utils-CJ0j3fBi.js → agentic-utils-GdToujHu.js} +2 -2
  9. package/dist/src/{agents-CBgJvRkB.js → agents-2C8NN6I1.js} +4 -4
  10. package/dist/src/{agents-CYn2n3QP.js → agents-BMAiSR2o.js} +2 -2
  11. package/dist/src/{agents-LrHuQqr1.js → agents-C-PGaxwj.js} +4 -4
  12. package/dist/src/{agents-D-vDNFx4.js → agents-C98cz5pl.js} +4 -4
  13. package/dist/src/{agents-B4sRuXg3.cjs → agents-DB8Ub2Ld.cjs} +2 -2
  14. package/dist/src/{agents-B8q7h_ek.js → agents-Dwshy2H8.js} +2 -2
  15. package/dist/src/{agents-QGg76OF-.js → agents-mlKjx-cK.js} +2 -2
  16. package/dist/src/{agents-eHZ9nlgA.cjs → agents-n2ej-c4H.cjs} +4 -4
  17. package/dist/src/{aimlapi-D5HXzZ0s.js → aimlapi-Bi-laUlp.js} +6 -6
  18. package/dist/src/{aimlapi-T6HGNxNe.cjs → aimlapi-D0OFV4Vj.cjs} +6 -6
  19. package/dist/src/{aimlapi-eYv3a_DK.js → aimlapi-WyUK0wYy.js} +6 -6
  20. package/dist/src/{aimlapi-CJEbQ0o6.js → aimlapi-v-63ZjEI.js} +6 -6
  21. package/dist/src/app/assets/Report-sCXUfaWo.js +1 -0
  22. package/dist/src/app/assets/{index-BnT6P6sF.js → index-BopgkZEh.js} +2 -2
  23. package/dist/src/app/index.html +1 -1
  24. package/dist/src/{audio-DyiebVB3.js → audio-DnEIHWZR.js} +3 -3
  25. package/dist/src/{audio-BqnRvcWG.js → audio-heR0mu0n.js} +3 -3
  26. package/dist/src/{audio-CPMtV1yR.js → audio-wafFO1wn.js} +3 -3
  27. package/dist/src/{audio-FnxbEnSE.cjs → audio-x44tsxIo.cjs} +3 -3
  28. package/dist/src/{authoritativeMarkupInjection-F2gBw0lN.cjs → authoritativeMarkupInjection-2G3Be6oL.cjs} +6 -6
  29. package/dist/src/{authoritativeMarkupInjection-DyAXAsSr.js → authoritativeMarkupInjection-81PPynHR.js} +6 -6
  30. package/dist/src/{authoritativeMarkupInjection-QEQmFS83.js → authoritativeMarkupInjection-D9O70HPi.js} +6 -6
  31. package/dist/src/{authoritativeMarkupInjection-BZIywVjG.js → authoritativeMarkupInjection-PxSf3Rh8.js} +5 -5
  32. package/dist/src/{base-E9I8zXjz.js → base-0Gzzue9Z.js} +2 -2
  33. package/dist/src/{base-Co80MMCi.js → base-Bp4c52YZ.js} +2 -2
  34. package/dist/src/{base-CKLo890h.js → base-BuNn-YBX.js} +2 -2
  35. package/dist/src/{base-DGJW48uz.cjs → base-BzdS8tod.cjs} +2 -2
  36. package/dist/src/{bestOfN-_kTi8Bxe.js → bestOfN-BHiOjeaq.js} +7 -7
  37. package/dist/src/{bestOfN-BBsO41z4.js → bestOfN-CdkNPPbX.js} +6 -6
  38. package/dist/src/{bestOfN-B3wNzjSB.js → bestOfN-ClUSOhN0.js} +7 -7
  39. package/dist/src/{bestOfN-CAwmg5UL.cjs → bestOfN-DWwXEg1h.cjs} +7 -7
  40. package/dist/src/cache-BKYi3kAA.js +3 -0
  41. package/dist/src/{cache-DpPWrkTE.js → cache-BR77mdIR.js} +3 -3
  42. package/dist/src/{cache-roFAE0cI.js → cache-CrioYnaa.js} +2 -2
  43. package/dist/src/{cache-DIXbtkNO.js → cache-DdriHsNX.js} +2 -2
  44. package/dist/src/{cache-CPGUA4Yl.cjs → cache-h5MWOBZI.cjs} +2 -2
  45. package/dist/src/{chat-Dabu84Br.js → chat-BBEnnpQk.js} +6 -6
  46. package/dist/src/{chat-CUCorGiL.js → chat-BSos6PvZ.js} +6 -6
  47. package/dist/src/{chat-TP8Qifkh.js → chat-Bnt7ieO0.js} +2 -2
  48. package/dist/src/{chat-DxTDQ83C.cjs → chat-DSyYuTYT.cjs} +6 -6
  49. package/dist/src/{chat-DqUFcWI0.js → chat-DTdf-J5Q.js} +6 -6
  50. package/dist/src/{chat-DG1wG4w0.cjs → chat-Dq3DomYU.cjs} +2 -2
  51. package/dist/src/{chat-GmlolEwo.js → chat-g5QLeLOo.js} +2 -2
  52. package/dist/src/{chat-iwaM5UTQ.js → chat-mTTuUAYb.js} +2 -2
  53. package/dist/src/{claude-agent-sdk-x1XJ1-pU.js → claude-agent-sdk-BGUac_kS.js} +7 -5
  54. package/dist/src/{claude-agent-sdk-D5Jl0SDh.js → claude-agent-sdk-BP__YGfK.js} +7 -5
  55. package/dist/src/{claude-agent-sdk-BQNp_y-F.js → claude-agent-sdk-Ddgx5BIQ.js} +7 -5
  56. package/dist/src/{claude-agent-sdk-DH416NBD.cjs → claude-agent-sdk-n2XcEclh.cjs} +7 -5
  57. package/dist/src/cloud-DiWbUiVP.js +3 -0
  58. package/dist/src/{cloud-D3DiFqH6.js → cloud-DqF5N1aJ.js} +2 -2
  59. package/dist/src/{cloudflare-ai-B6NVI3ax.js → cloudflare-ai-BGamMotN.js} +4 -4
  60. package/dist/src/{cloudflare-ai-r4tbYmWU.js → cloudflare-ai-BwW8W-w7.js} +4 -4
  61. package/dist/src/{cloudflare-ai-CEAW-xQa.cjs → cloudflare-ai-DCRGnsyL.cjs} +4 -4
  62. package/dist/src/{cloudflare-ai-RFSojyXG.js → cloudflare-ai-sD26nP6V.js} +4 -4
  63. package/dist/src/{cloudflare-gateway-BaZ4insB.js → cloudflare-gateway-2lnOT4qM.js} +3 -3
  64. package/dist/src/{cloudflare-gateway-BCkLouto.js → cloudflare-gateway-B1-8KNCt.js} +3 -3
  65. package/dist/src/{cloudflare-gateway-TJMLBj6I.cjs → cloudflare-gateway-CCC1DFrC.cjs} +3 -3
  66. package/dist/src/{cloudflare-gateway-CF-Vb-2Z.js → cloudflare-gateway-DOghiU6r.js} +3 -3
  67. package/dist/src/{codex-app-server-DIXZ230V.js → codex-app-server-BWeWamEb.js} +17 -2
  68. package/dist/src/{codex-app-server-B8KHEiF4.js → codex-app-server-DyQB1P0p.js} +17 -2
  69. package/dist/src/{codex-app-server-CnrLBCeA.cjs → codex-app-server-R9u_G7W9.cjs} +17 -2
  70. package/dist/src/{codex-app-server-Dd22dC_N.js → codex-app-server-ZQRJSJjU.js} +17 -2
  71. package/dist/src/{codex-sdk-CmQABzV3.js → codex-sdk-B62H0fe7.js} +14 -3
  72. package/dist/src/{codex-sdk-CFF6gUyi.cjs → codex-sdk-BRPUvJG8.cjs} +14 -3
  73. package/dist/src/{codex-sdk-B6Wah8Pa.js → codex-sdk-Dio1zJBS.js} +14 -3
  74. package/dist/src/codex-sdk-DxukZs_K.js +3 -0
  75. package/dist/src/{codex-sdk-D2d54RL8.js → codex-sdk-iEmW1eS2.js} +14 -3
  76. package/dist/src/{cometapi-Bu9B8NUY.js → cometapi--hh7dESS.js} +7 -7
  77. package/dist/src/{cometapi-OBILPLlu.js → cometapi-C7yWNGqt.js} +7 -7
  78. package/dist/src/{cometapi-CtzNCHKu.js → cometapi-CSIi16a0.js} +7 -7
  79. package/dist/src/{cometapi-DHCDlQUI.cjs → cometapi-sZgBZtbU.cjs} +7 -7
  80. package/dist/src/{completion-CSYfl2cd.cjs → completion-CWtqdn3z.cjs} +4 -4
  81. package/dist/src/{completion-CO2e1_62.js → completion-DT8cxo9T.js} +4 -4
  82. package/dist/src/{completion-DZNxcyfG.js → completion-DUScduXp.js} +4 -4
  83. package/dist/src/{completion-sNvCLTAP.js → completion-D_2IOAoS.js} +4 -4
  84. package/dist/src/{crescendo-QiaSLW0d.js → crescendo-B41TwUHM.js} +39 -18
  85. package/dist/src/{crescendo-J1Xx4_zb.js → crescendo-Bfic7KC4.js} +41 -20
  86. package/dist/src/{crescendo-BXEJK_bi.cjs → crescendo-DXFB7rHP.cjs} +41 -20
  87. package/dist/src/{crescendo-CU_Y2i-m.js → crescendo-DvvYxMLA.js} +41 -20
  88. package/dist/src/{custom-BJfP00Bh.js → custom-BdzuqFTN.js} +10 -10
  89. package/dist/src/{custom-notggYVl.js → custom-Cf5Q6r-P.js} +8 -8
  90. package/dist/src/{custom-CZVn-1-r.js → custom-DLgufezC.js} +10 -10
  91. package/dist/src/{custom-Cqia7M0D.cjs → custom-LEXHCRe3.cjs} +10 -10
  92. package/dist/src/{docker-4D1eL6Gq.js → docker-BOSO_6hK.js} +5 -5
  93. package/dist/src/{docker-D06JUoe2.cjs → docker-D0h2vFrc.cjs} +5 -5
  94. package/dist/src/{docker-DdJQBxK9.js → docker-D2TWGyTP.js} +5 -5
  95. package/dist/src/{docker-BBv1WUDu.js → docker-Vj_4_cPg.js} +5 -5
  96. package/dist/src/{embedding-BbrwopfX.cjs → embedding-BQIApR18.cjs} +4 -4
  97. package/dist/src/{embedding-Bi3rxrZF.js → embedding-CStK0TV6.js} +4 -4
  98. package/dist/src/{embedding--UZVe4_7.js → embedding-CU78FMnw.js} +4 -4
  99. package/dist/src/{embedding-C251p1-8.js → embedding-CV8lmCnU.js} +4 -4
  100. package/dist/src/{eval-0VRANImH.js → eval-B3BaNBbO.js} +4 -4
  101. package/dist/src/{eval-DscR5iOM.js → eval-DfR9885C.js} +1 -1
  102. package/dist/src/evalResult-BtZSUgQv.js +3 -0
  103. package/dist/src/{evalResult-eUkJv9Ko.js → evalResult-CcSqNl_Y.js} +3 -3
  104. package/dist/src/{evalResult-CvtS8h8u.cjs → evalResult-DHXs-9TL.cjs} +3 -3
  105. package/dist/src/{evalResult-2RRJvFyB.js → evalResult-PGqEbasb.js} +3 -3
  106. package/dist/src/evaluator-B9LGbKI8.js +3 -0
  107. package/dist/src/{evaluator-DRoiYB2q.js → evaluator-n_dEb00o.js} +20 -20
  108. package/dist/src/{evaluatorHelpers-DuqFFfq7.js → evaluatorHelpers-CrRObe2z.js} +4 -4
  109. package/dist/src/{evaluatorHelpers-CRqTvSux.cjs → evaluatorHelpers-D06I9WFL.cjs} +4 -4
  110. package/dist/src/{evaluatorHelpers-BsYP_muT.js → evaluatorHelpers-D1_kwvyp.js} +4 -4
  111. package/dist/src/{extractor-CIW3iN-b.js → extractor-BVkZtk4R.js} +4 -4
  112. package/dist/src/{extractor-CxRtnaHl.js → extractor-D3Fv_Tdh.js} +4 -4
  113. package/dist/src/{extractor-BR7XAzAL.js → extractor-Jp53vs-6.js} +4 -4
  114. package/dist/src/{extractor-BdxEtt3J.cjs → extractor-bV_NOoaz.cjs} +4 -4
  115. package/dist/src/{fetch-BufrQtvR.js → fetch-BSSAcMxf.js} +2 -2
  116. package/dist/src/fetch-BodQTrMU.js +3 -0
  117. package/dist/src/{fetch-Dw4XZHjj.cjs → fetch-Cfm4EuOB.cjs} +2 -2
  118. package/dist/src/{fetch-DXUnXkVU.js → fetch-Cpf1U1nO.js} +3 -3
  119. package/dist/src/{fetch-It34O8Ur.js → fetch-Doks14zQ.js} +2 -2
  120. package/dist/src/{goat-Qgurm-NP.js → goat-Ba7Gznzq.js} +18 -17
  121. package/dist/src/{goat-Ckd3q3AY.js → goat-CJngS-WU.js} +18 -17
  122. package/dist/src/{goat-ghadEDdy.js → goat-CwsbfQeu.js} +16 -15
  123. package/dist/src/{goat-una6pZGP.cjs → goat-DOMbozoX.cjs} +18 -17
  124. package/dist/src/graders-B3D7kCcD.js +3 -0
  125. package/dist/src/{graders-BGP99PdK.js → graders-BQt1BaQe.js} +18 -18
  126. package/dist/src/{graders-ClrU2fnd.cjs → graders-CBQ2s6gz.cjs} +18 -18
  127. package/dist/src/{graders-C0nXU_ZP.js → graders-DaRU98zs.js} +18 -18
  128. package/dist/src/{graders-BX0f2tvS.js → graders-KXzjnIim.js} +18 -18
  129. package/dist/src/{hydra-DE4xWwyc.js → hydra-BU6GjYoQ.js} +35 -17
  130. package/dist/src/{hydra-BxdG4nkg.js → hydra-BmXHxlyl.js} +33 -15
  131. package/dist/src/{hydra-BSNZZm2M.js → hydra-CR0KyYDb.js} +35 -17
  132. package/dist/src/{hydra-DrJttnvw.cjs → hydra-RO9jBks7.cjs} +35 -17
  133. package/dist/src/{image-B_fPIwdg.js → image-BBmZdKO3.js} +3 -3
  134. package/dist/src/{image-QzmydkiG.js → image-B_PFG7IG.js} +3 -3
  135. package/dist/src/{image-BvUAW344.js → image-BtODOZjh.js} +4 -4
  136. package/dist/src/{image-Cvjwx1uY.js → image-CYuNJIqd.js} +4 -4
  137. package/dist/src/{image-DfVCGPbI.cjs → image-E00WFZkq.cjs} +3 -3
  138. package/dist/src/{image-X0oY4350.cjs → image-HK2Cfqb1.cjs} +4 -4
  139. package/dist/src/{image-BN-hjLL9.js → image-LGj8dTcr.js} +3 -3
  140. package/dist/src/{image-B4oBtu6J.js → image-YMKejC0r.js} +4 -4
  141. package/dist/src/index.cjs +112 -115
  142. package/dist/src/index.d.cts +13 -0
  143. package/dist/src/index.d.ts +13 -0
  144. package/dist/src/index.js +113 -116
  145. package/dist/src/{indirectWebPwn-DBQhOjoD.js → indirectWebPwn-B80dLlFC.js} +5 -5
  146. package/dist/src/{indirectWebPwn-uyWdHx04.js → indirectWebPwn-BMTXXznx.js} +4 -4
  147. package/dist/src/{indirectWebPwn-tNx9OZ35.js → indirectWebPwn-BZFPV7Q9.js} +4 -4
  148. package/dist/src/{indirectWebPwn-CfQJt3gk.cjs → indirectWebPwn-BaEQEOIO.cjs} +5 -5
  149. package/dist/src/{indirectWebPwn-OsXnKejv.js → indirectWebPwn-BzpyMnFS.js} +5 -5
  150. package/dist/src/{indirectWebPwn-CbjUG0rh.js → indirectWebPwn-CiWB-vVH.js} +4 -4
  151. package/dist/src/{indirectWebPwn-BJ22AbQa.cjs → indirectWebPwn-D7NA9Nsv.cjs} +4 -4
  152. package/dist/src/{indirectWebPwn-02ZIghCS.js → indirectWebPwn-o_bEFMjP.js} +5 -5
  153. package/dist/src/{iterative-DJQEQpG3.js → iterative-B-l0syBV.js} +25 -15
  154. package/dist/src/{iterative-DQBuWM-j.cjs → iterative-BACUeCCz.cjs} +25 -15
  155. package/dist/src/{iterative-FTS4Bz67.js → iterative-CVwoExo8.js} +25 -15
  156. package/dist/src/{iterative-CpU6i2As.js → iterative-QDrGSyss.js} +23 -13
  157. package/dist/src/{iterativeImage-BUABMVOA.js → iterativeImage-BQg2OwA6.js} +3 -3
  158. package/dist/src/{iterativeImage-Doz8mgxF.js → iterativeImage-Bwn0fM75.js} +4 -4
  159. package/dist/src/{iterativeImage-ByFWkxax.cjs → iterativeImage-CcgVyASo.cjs} +4 -4
  160. package/dist/src/{iterativeImage-BzUapOUi.js → iterativeImage-D_UbQXg4.js} +4 -4
  161. package/dist/src/{iterativeMeta-C7APE_P1.js → iterativeMeta-CIu-CHRS.js} +36 -16
  162. package/dist/src/{iterativeMeta-B3YiAOc8.js → iterativeMeta-CN8CNjFA.js} +36 -16
  163. package/dist/src/{iterativeMeta-DgoQ7bLh.js → iterativeMeta-DN6BTjpq.js} +34 -14
  164. package/dist/src/{iterativeMeta-CSS8M6Ds.cjs → iterativeMeta-DlqY3BsS.cjs} +36 -16
  165. package/dist/src/{iterativeTree-DvZ7GBwt.js → iterativeTree-CJ8a8G9T.js} +78 -28
  166. package/dist/src/{iterativeTree-B5zxBBSW.js → iterativeTree-DcuFXnjL.js} +78 -28
  167. package/dist/src/{iterativeTree-CNyIk0Yn.js → iterativeTree-FrDDYAN0.js} +76 -26
  168. package/dist/src/{iterativeTree-CPMF10ve.cjs → iterativeTree-LOgAi0nU.cjs} +78 -28
  169. package/dist/src/{knowledgeBase-DUh34xba.cjs → knowledgeBase-CdbcGBZF.cjs} +4 -4
  170. package/dist/src/{knowledgeBase-Bi_8sV-H.js → knowledgeBase-CjOXp6Lr.js} +4 -4
  171. package/dist/src/{knowledgeBase-BadkINlJ.js → knowledgeBase-DxAq4n4z.js} +4 -4
  172. package/dist/src/{knowledgeBase-CkMljjdg.js → knowledgeBase-o_wTLzrt.js} +4 -4
  173. package/dist/src/{litellm-BKBo0jpC.js → litellm-B2gHwya_.js} +4 -4
  174. package/dist/src/{litellm-CtAr7bKG.cjs → litellm-CPpdlO7n.cjs} +4 -4
  175. package/dist/src/{litellm-BXyn5kZK.js → litellm-CYfgxLrM.js} +4 -4
  176. package/dist/src/{litellm-CNcfbCfa.js → litellm-ojWBKU3C.js} +4 -4
  177. package/dist/src/{luma-ray-D3FUc2K3.cjs → luma-ray-BCCO9XXG.cjs} +3 -3
  178. package/dist/src/{luma-ray-BMX1iEB6.js → luma-ray-BPrdihAb.js} +3 -3
  179. package/dist/src/{luma-ray-CR5TSpp4.js → luma-ray-DP5N79lB.js} +3 -3
  180. package/dist/src/{luma-ray-OEMmS1RB.js → luma-ray-DTDyoAlM.js} +3 -3
  181. package/dist/src/main.js +116 -119
  182. package/dist/src/{memoryPoisoning-Dp-btinn.cjs → memoryPoisoning-B6N3us35.cjs} +6 -6
  183. package/dist/src/{memoryPoisoning-D8h9gXJF.js → memoryPoisoning-Bc_BK_k2.js} +6 -6
  184. package/dist/src/{memoryPoisoning-CM83NWYl.js → memoryPoisoning-D375zwSX.js} +6 -6
  185. package/dist/src/{memoryPoisoning-cLuCoTuJ.js → memoryPoisoning-DJA0YjJT.js} +6 -6
  186. package/dist/src/{messages-BabO-cX8.js → messages-Bg29Nbit.js} +7 -7
  187. package/dist/src/{messages-DBPir0TQ.cjs → messages-BrZEnHsV.cjs} +7 -7
  188. package/dist/src/{messages-vsE_-Lv0.js → messages-CBulRaud.js} +7 -7
  189. package/dist/src/{messages-DGUlSNU7.js → messages-K9A8RxBM.js} +7 -7
  190. package/dist/src/{mischievousUser-0l8GD7Dp.js → mischievousUser-BDLwSGN0.js} +5 -5
  191. package/dist/src/{mischievousUser-frFYKxu6.js → mischievousUser-Blx-OtT3.js} +5 -5
  192. package/dist/src/{mischievousUser-BUOP9W5r.js → mischievousUser-CHuTTvBg.js} +5 -5
  193. package/dist/src/{mischievousUser-olGgHIVR.cjs → mischievousUser-CSUrH3fq.cjs} +5 -5
  194. package/dist/src/{modelslab-Cogmu4mG.js → modelslab-BjEk7yCP.js} +4 -4
  195. package/dist/src/{modelslab-EyDczZ5A.js → modelslab-CBCrdIBc.js} +4 -4
  196. package/dist/src/{modelslab-Dzst7VTU.js → modelslab-CrGpXuhv.js} +4 -4
  197. package/dist/src/{modelslab-CNV5bMSk.cjs → modelslab-Cvh0klQx.cjs} +4 -4
  198. package/dist/src/{nova-reel-BGPNBOMS.js → nova-reel-CUDDZcSA.js} +3 -3
  199. package/dist/src/{nova-reel-B_5NKFu1.js → nova-reel-CyDESu5J.js} +3 -3
  200. package/dist/src/{nova-reel-CjJRxI1X.cjs → nova-reel-DH_Ksu6X.cjs} +3 -3
  201. package/dist/src/{nova-reel-C4eUJGse.js → nova-reel-YQAqUYJY.js} +3 -3
  202. package/dist/src/{nova-sonic-ChPlh5na.js → nova-sonic-BVFFB7JZ.js} +2 -2
  203. package/dist/src/{nova-sonic-DuOG9Aun.cjs → nova-sonic-Bg3cxMMu.cjs} +2 -2
  204. package/dist/src/{nova-sonic-CrV0iaY_.js → nova-sonic-BhmnRGyh.js} +2 -2
  205. package/dist/src/{nova-sonic-BNGmgfFz.js → nova-sonic-DxmK95c1.js} +2 -2
  206. package/dist/src/{openclaw-Dphc01BY.cjs → openclaw-CHQaZi_-.cjs} +6 -6
  207. package/dist/src/{openclaw-zIJAsz3P.js → openclaw-CWOm2eOr.js} +6 -6
  208. package/dist/src/{openclaw-CF7fMido.js → openclaw-Cdk9JKfY.js} +6 -6
  209. package/dist/src/{openclaw-BIHlu_36.js → openclaw-DhF8rUpI.js} +6 -6
  210. package/dist/src/{opencode-sdk-B3vlPLsp.js → opencode-sdk-BRjiPV-g.js} +2 -2
  211. package/dist/src/{opencode-sdk-DoY6GbWw.cjs → opencode-sdk-CPFMw0ed.cjs} +2 -2
  212. package/dist/src/{opencode-sdk-sRKYHGoI.js → opencode-sdk-CaSOCsBA.js} +2 -2
  213. package/dist/src/{opencode-sdk-D05JSgMQ.js → opencode-sdk-CqkyG8De.js} +2 -2
  214. package/dist/src/{promptfoo-Rjp-MeBb.js → promptfoo-BU4_0J85.js} +64 -7
  215. package/dist/src/{promptfoo-BDrfT30-.js → promptfoo-CReYAtfb.js} +64 -7
  216. package/dist/src/{promptfoo-b-baRMj-.cjs → promptfoo-ClChwT74.cjs} +93 -6
  217. package/dist/src/{promptfoo-Cm4hiy1Y.js → promptfoo-CqEpj6Sr.js} +64 -7
  218. package/dist/src/{providers-B9KzWxAX.js → providers-B7TyByfj.js} +94 -50
  219. package/dist/src/{providers-DVYRZP4E.js → providers-BGc7tDtQ.js} +93 -49
  220. package/dist/src/{providers-BYAn82cf.js → providers-CSOp-bCm.js} +1 -1
  221. package/dist/src/{providers-BDVVIQM6.cjs → providers-V6RBuieY.cjs} +93 -49
  222. package/dist/src/{providers-BCCz6_IX.js → providers-iH3Sw1yo.js} +93 -49
  223. package/dist/src/{quiverai-BvIhI_0l.js → quiverai-58BtRRet.js} +3 -3
  224. package/dist/src/{quiverai-Cv7rJKDz.js → quiverai-C1dYu5MW.js} +3 -3
  225. package/dist/src/{quiverai-CdTWPe-A.js → quiverai-CNMIpZQg.js} +3 -3
  226. package/dist/src/{quiverai-BAp6iTZD.cjs → quiverai-fmSfU43k.cjs} +3 -3
  227. package/dist/src/{registry-KCVF1CFC.cjs → registry-6Jw6ebor.cjs} +14 -14
  228. package/dist/src/{registry-BUJrgjwv.js → registry-BTGk2ZkB.js} +14 -14
  229. package/dist/src/{registry-DXm1t_x0.js → registry-BTNqmP5o.js} +14 -14
  230. package/dist/src/{registry-Dp5EqoXc.js → registry-NGnOG2xa.js} +14 -14
  231. package/dist/src/{remoteGeneration-COpWcmWd.js → remoteGeneration--D6WjzUm.js} +4 -4
  232. package/dist/src/{remoteGeneration-DS9N3pgB.cjs → remoteGeneration-BpIYlb_O.cjs} +4 -4
  233. package/dist/src/{remoteGeneration-DsaSwmG2.js → remoteGeneration-CJC3E0aW.js} +4 -4
  234. package/dist/src/{remoteGeneration-B1_XsKXU.js → remoteGeneration-D6UjE2JT.js} +4 -4
  235. package/dist/src/{responses-B6ktc3Ra.js → responses-5Gf5HNOi.js} +9 -5
  236. package/dist/src/{responses-URRzV8qE.js → responses-BVi7xIdv.js} +9 -5
  237. package/dist/src/{responses-1UFFF9N_.cjs → responses-CUARGrhY.cjs} +9 -5
  238. package/dist/src/{responses-B3W2JvOQ.js → responses-CrmWv6iz.js} +9 -5
  239. package/dist/src/{sagemaker-DzffAqo_.cjs → sagemaker-BeVTKfrv.cjs} +9 -9
  240. package/dist/src/{sagemaker-yr1QKeBs.js → sagemaker-BwbV5U7_.js} +9 -9
  241. package/dist/src/{sagemaker-vhtSV7JI.js → sagemaker-ClAZ6Qwc.js} +9 -9
  242. package/dist/src/{sagemaker-CujrzP1a.js → sagemaker-DY2qrOpq.js} +9 -9
  243. package/dist/src/{scanner-DS0109SS.js → scanner-BS-iFIp3.js} +5 -5
  244. package/dist/src/server/index.js +111 -114
  245. package/dist/src/{server-B8rqV126.cjs → server-BHOEL8p8.cjs} +3 -3
  246. package/dist/src/{server-CMJD10J4.js → server-CbiJppij.js} +3 -3
  247. package/dist/src/server-D18AAlAc.js +3 -0
  248. package/dist/src/{server-DhMHosWj.js → server-DLYjSFm2.js} +5 -5
  249. package/dist/src/{server-Ddp8GNMp.js → server-JQYD_Nws.js} +5 -5
  250. package/dist/src/{shared-7pmVZLNO.js → shared-CRq0gGVf.js} +8 -8
  251. package/dist/src/{shared-D6IjElRI.js → shared-CSIGeGLl.js} +8 -8
  252. package/dist/src/{shared-9WHQ1oNE.js → shared-DNvim54U.js} +7 -7
  253. package/dist/src/{shared-WkgnDkcg.cjs → shared-aHWko3P1.cjs} +8 -8
  254. package/dist/src/{simulatedUser-U_qAHnuB.js → simulatedUser-C7sOFSF6.js} +5 -5
  255. package/dist/src/{simulatedUser-C9aQObBI.js → simulatedUser-DH_7RzEQ.js} +5 -5
  256. package/dist/src/{simulatedUser-p3tACcmw.js → simulatedUser-lgMMmniD.js} +5 -5
  257. package/dist/src/{simulatedUser-Cu601Dd4.cjs → simulatedUser-mnCUS9Bm.cjs} +5 -5
  258. package/dist/src/{storage-QdU-SmvD.js → storage-95htjpLs.js} +3 -3
  259. package/dist/src/{storage-CA-v9V2v.cjs → storage-A4WnAeN3.cjs} +3 -3
  260. package/dist/src/{storage-CD-GWAdx.js → storage-B2Ql_oq4.js} +3 -3
  261. package/dist/src/{storage-BU4qcnOb.js → storage-EKVWZBNY.js} +4 -4
  262. package/dist/src/{strategies-DRJjGTIY.js → strategies-CBI1brSy.js} +10 -10
  263. package/dist/src/{strategies-7CS3Alao.cjs → strategies-CCcnEbFO.cjs} +9 -9
  264. package/dist/src/{strategies-CiSeroPH.js → strategies-CD1gHeeQ.js} +9 -9
  265. package/dist/src/telemetry-BUm_krVX.js +3 -0
  266. package/dist/src/{telemetry-DmXYcJNV.js → telemetry-BbpmrenM.js} +4 -4
  267. package/dist/src/{telemetry-DwX9XUN5.js → telemetry-C4bX-6Sr.js} +4 -4
  268. package/dist/src/{telemetry-CJ7FnCsc.cjs → telemetry-C_ImlCOk.cjs} +4 -4
  269. package/dist/src/{telemetry-00ezXr_t.js → telemetry-DOE567Wj.js} +4 -4
  270. package/dist/src/{tracingOptions-ji2OuXbT.js → tracingOptions-BOP1FsRt.js} +2 -2
  271. package/dist/src/{tracingOptions-Chi74lOD.js → tracingOptions-BvmDa_jH.js} +2 -2
  272. package/dist/src/{tracingOptions-DrbSFaKy.cjs → tracingOptions-DFBoE8O0.cjs} +2 -2
  273. package/dist/src/{tracingOptions-BnwKCkSB.js → tracingOptions-xhjOg2b1.js} +2 -2
  274. package/dist/src/{transcription-Dkd22_4K.js → transcription-BOXDoehT.js} +4 -4
  275. package/dist/src/{transcription-CfU5loSq.js → transcription-CpVdKc4P.js} +4 -4
  276. package/dist/src/{transcription-mzuf18Mq.cjs → transcription-D8kkPXg_.cjs} +4 -4
  277. package/dist/src/{transcription-B8uIgCYX.js → transcription-Z94eV9LR.js} +4 -4
  278. package/dist/src/{transform-BIMynQsA.js → transform-BufxPIQL.js} +3 -3
  279. package/dist/src/{transform-DhNkAUs8.cjs → transform-DJkt81VY.cjs} +3 -3
  280. package/dist/src/{transform-EtD4jAWi.js → transform-DtTfiGoh.js} +3 -3
  281. package/dist/src/{transform-DmvYBRll.js → transform-Wp6s_5QE.js} +3 -3
  282. package/dist/src/{util-IYzs5Y04.cjs → util-BHCAeuXx.cjs} +3 -3
  283. package/dist/src/{util--WMgw7wM.js → util-CMrHV35u.js} +3 -3
  284. package/dist/src/{util-SPsvFONY.cjs → util-COnzevXE.cjs} +3 -3
  285. package/dist/src/{util-LKTmNsMQ.js → util-CYev3d-r.js} +16 -3
  286. package/dist/src/{util-Df8YMvS1.js → util-DGqkTb2-.js} +4 -4
  287. package/dist/src/{util-CN8om2rz.cjs → util-DNtUsus_.cjs} +4 -4
  288. package/dist/src/{util-Bx677_k2.js → util-DRfqa4xz.js} +3 -3
  289. package/dist/src/{util-DiQ3QvBB.js → util-DTq3jq2z.js} +3 -3
  290. package/dist/src/{util-5WnCSb0h.js → util-DeY58psG.js} +16 -3
  291. package/dist/src/{util-DNl96nNs.js → util-DpV6KT5i.js} +4 -4
  292. package/dist/src/{util-I-Rf-KaD.js → util-DwNJzqOV.js} +3 -3
  293. package/dist/src/{util-kDURhgJW.js → util-ETfU_sS9.js} +4 -4
  294. package/dist/src/{util-BSIuSLVK.cjs → util-NYQvo1C7.cjs} +16 -3
  295. package/dist/src/{util-CoQWM76y.js → util-X4KQgyVD.js} +3 -3
  296. package/dist/src/{util-DURocbYR.js → util-jZRrXe1P.js} +3 -3
  297. package/dist/src/{util-efByNxcr.js → util-o2Qg5rZv.js} +16 -3
  298. package/dist/src/{version-BK20a4sw.js → version-CHR-EFec.js} +2 -2
  299. package/dist/src/{version-eRkNuGv8.js → version-F0YDgb7J.js} +2 -2
  300. package/dist/src/{version-BWCSaByA.cjs → version-VzUqOBZk.cjs} +2 -2
  301. package/dist/src/{version-lpHV_53E.js → version-qVEN5qCm.js} +2 -2
  302. package/dist/tsconfig.tsbuildinfo +1 -1
  303. package/package.json +5 -5
  304. package/dist/src/app/assets/Report-BNHJKN35.js +0 -1
  305. package/dist/src/cache-Cf7b4pWE.js +0 -3
  306. package/dist/src/cloud-p96PA4MH.js +0 -3
  307. package/dist/src/codex-sdk-BGjVAk23.js +0 -3
  308. package/dist/src/evalResult-DqzsS6_W.js +0 -3
  309. package/dist/src/evaluator-DNdJF1Gv.js +0 -3
  310. package/dist/src/fetch-_YgGd2qv.js +0 -3
  311. package/dist/src/graders-BDT7dif6.js +0 -3
  312. package/dist/src/server-BaLytskk.js +0 -3
  313. package/dist/src/telemetry-ByPqDcKC.js +0 -3
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import { s as logger, y as isValidJson } from "./logger-BbY6ypFL.js";
3
- import { f as sleep } from "./fetch-DXUnXkVU.js";
3
+ import { f as sleep } from "./fetch-Cpf1U1nO.js";
4
4
  import { t as invariant } from "./invariant-B2Rf6avk.js";
5
- import { c as isLoggedIntoCloud } from "./accounts-CjFnOPmb.js";
6
- import { l as shouldGenerateRemote, n as getRemoteGenerationExplicitlyDisabledError, s as neverGenerateRemote, t as getRemoteGenerationDisabledError } from "./remoteGeneration-B1_XsKXU.js";
5
+ import { c as isLoggedIntoCloud } from "./accounts-D6IBfEE0.js";
6
+ import { l as shouldGenerateRemote, n as getRemoteGenerationExplicitlyDisabledError, s as neverGenerateRemote, t as getRemoteGenerationDisabledError } from "./remoteGeneration-D6UjE2JT.js";
7
7
  import { a as createEmptyTokenUsage, n as accumulateResponseTokenUsage } from "./tokenUsageUtils-CDet74yk.js";
8
8
  import { r as materializeInputVariablesWithMetadata } from "./inputVariables-DXFdi7AI.js";
9
- import { a as extractPromptFromTags, c as isBasicRefusal, o as getSessionId, r as extractInputVarsFromPrompt } from "./util-kDURhgJW.js";
10
- import { t as PromptfooChatCompletionProvider } from "./promptfoo-Rjp-MeBb.js";
11
- import { c as getTargetResponse, i as externalizeResponseForRedteamHistory, l as isConversationEndedResponse, o as getGraderAssertionValue, t as buildGraderResultAssertion, u as isValidChatMessageArray } from "./shared-9WHQ1oNE.js";
12
- import { n as isBlobStorageEnabled, r as shouldAttemptRemoteBlobUpload } from "./extractor-CIW3iN-b.js";
13
- import { n as checkExfilTracking } from "./indirectWebPwn-uyWdHx04.js";
14
- import { n as renderPrompt } from "./evaluatorHelpers-BsYP_muT.js";
15
- import { t as Strategies } from "./strategies-DRJjGTIY.js";
16
- import { a as fetchTraceContext, i as extractTraceIdFromTraceparent, n as formatTraceForMetadata, r as formatTraceSummary, t as resolveTracingOptions } from "./tracingOptions-BnwKCkSB.js";
9
+ import { a as extractPromptFromTags, c as isBasicRefusal, o as getSessionId, r as extractInputVarsFromPrompt } from "./util-ETfU_sS9.js";
10
+ import { a as assertRemoteMaterializationHandled, s as buildRemoteMaterializedInputVariables, t as PromptfooChatCompletionProvider } from "./promptfoo-BU4_0J85.js";
11
+ import { c as getTargetResponse, i as externalizeResponseForRedteamHistory, l as isConversationEndedResponse, o as getGraderAssertionValue, t as buildGraderResultAssertion, u as isValidChatMessageArray } from "./shared-DNvim54U.js";
12
+ import { n as isBlobStorageEnabled, r as shouldAttemptRemoteBlobUpload } from "./extractor-BVkZtk4R.js";
13
+ import { n as checkExfilTracking } from "./indirectWebPwn-BMTXXznx.js";
14
+ import { n as renderPrompt } from "./evaluatorHelpers-D1_kwvyp.js";
15
+ import { t as Strategies } from "./strategies-CBI1brSy.js";
16
+ import { a as fetchTraceContext, i as extractTraceIdFromTraceparent, n as formatTraceForMetadata, r as formatTraceSummary, t as resolveTracingOptions } from "./tracingOptions-xhjOg2b1.js";
17
17
  import { t as applyRuntimeTransforms } from "./runtimeTransform-Dgh_D7DU.js";
18
18
  //#region src/redteam/providers/hydra/index.ts
19
19
  const DEFAULT_MAX_TURNS = 10;
@@ -112,11 +112,12 @@ var HydraProvider = class {
112
112
  let storedGraderResult = void 0;
113
113
  let lastTargetResponse = void 0;
114
114
  let backtrackCount = 0;
115
+ let agentFailureError;
115
116
  const redteamHistory = [];
116
117
  let lastTransformResult;
117
118
  let lastTransformDisplayVars;
118
119
  let lastFinalAttackPrompt;
119
- const { getGraderById } = await import("./graders-BDT7dif6.js");
120
+ const { getGraderById } = await import("./graders-B3D7kCcD.js");
120
121
  let assertToUse = test?.assert?.find((a) => a.type && a.type.includes(test.metadata?.pluginId));
121
122
  if (!assertToUse) assertToUse = test?.assert?.find((a) => a.type);
122
123
  let previousTraceSummary;
@@ -160,6 +161,7 @@ var HydraProvider = class {
160
161
  testRunId,
161
162
  error: agentResp.error
162
163
  });
164
+ agentFailureError = agentResp.error;
163
165
  continue;
164
166
  }
165
167
  let nextMessage;
@@ -170,18 +172,31 @@ var HydraProvider = class {
170
172
  }
171
173
  if (!nextMessage) {
172
174
  logger.info("[Hydra] Missing message from agent", { turn });
175
+ agentFailureError = "Hydra agent did not return an attack message";
173
176
  continue;
174
177
  }
175
178
  let processedMessage = nextMessage;
176
179
  const extractedPrompt = extractPromptFromTags(nextMessage);
177
180
  if (extractedPrompt) processedMessage = extractedPrompt;
181
+ if (this.config.inputs && shouldGenerateRemote()) assertRemoteMaterializationHandled(agentResp, "Hydra multi-input generation");
178
182
  const currentInputVars = extractInputVarsFromPrompt(processedMessage, this.config.inputs);
179
- const currentRenderInputVars = (currentInputVars && this.config.inputs ? await materializeInputVariablesWithMetadata(currentInputVars, this.config.inputs, {
183
+ let materializedInputVars;
184
+ if (this.config.inputs && shouldGenerateRemote() && !currentInputVars && !agentResp.materializedVars) {
185
+ logger.warn("[Hydra] Remote multi-input generation returned an invalid prompt format", {
186
+ turn,
187
+ messagePreview: processedMessage.slice(0, 200)
188
+ });
189
+ agentFailureError = "Hydra remote multi-input generation returned an invalid prompt format";
190
+ continue;
191
+ }
192
+ if ((currentInputVars || agentResp.materializedVars) && this.config.inputs) if (shouldGenerateRemote()) materializedInputVars = buildRemoteMaterializedInputVariables(agentResp, currentInputVars ?? {}, this.config.inputs);
193
+ else materializedInputVars = await materializeInputVariablesWithMetadata(currentInputVars, this.config.inputs, {
180
194
  materializationIndex: turn,
181
195
  pluginId: "hydra",
182
196
  provider: this.agentProvider,
183
197
  purpose: test?.metadata?.purpose
184
- }) : void 0)?.vars ?? currentInputVars;
198
+ });
199
+ const currentRenderInputVars = materializedInputVars?.vars ?? currentInputVars;
185
200
  this.conversationHistory.push({
186
201
  role: "user",
187
202
  content: processedMessage
@@ -513,13 +528,16 @@ var HydraProvider = class {
513
528
  role: msg.role,
514
529
  content: msg.content
515
530
  }));
531
+ const targetProbeCount = totalTokenUsage.numRequests ?? 0;
532
+ const hydraRoundsCompleted = this.conversationHistory.filter((m) => m.role === "user").length;
533
+ const failClosedError = targetProbeCount === 0 ? agentFailureError || "Hydra did not execute any target probes" : void 0;
516
534
  return {
517
535
  output: lastTargetResponse?.output || "",
518
- ...lastTargetResponse?.error ? { error: lastTargetResponse.error } : {},
536
+ ...failClosedError ? { error: failClosedError } : lastTargetResponse?.error ? { error: lastTargetResponse.error } : {},
519
537
  metadata: {
520
538
  sessionId: this.sessionId || getSessionId(lastTargetResponse, context),
521
539
  messages,
522
- hydraRoundsCompleted: this.conversationHistory.filter((m) => m.role === "user").length,
540
+ hydraRoundsCompleted,
523
541
  hydraBacktrackCount: backtrackCount,
524
542
  hydraResult: vulnerabilityAchieved,
525
543
  stopReason,
@@ -540,4 +558,4 @@ var HydraProvider = class {
540
558
  //#endregion
541
559
  export { HydraProvider, HydraProvider as default };
542
560
 
543
- //# sourceMappingURL=hydra-BSNZZm2M.js.map
561
+ //# sourceMappingURL=hydra-CR0KyYDb.js.map
@@ -1,18 +1,18 @@
1
1
  const require_logger = require("./logger-cfNpzI4o.cjs");
2
2
  const require_invariant = require("./invariant-QtnLD03y.cjs");
3
- const require_fetch = require("./fetch-Dw4XZHjj.cjs");
4
- const require_accounts = require("./accounts-CmWzeD2d.cjs");
5
- const require_remoteGeneration = require("./remoteGeneration-DS9N3pgB.cjs");
3
+ const require_fetch = require("./fetch-Cfm4EuOB.cjs");
4
+ const require_accounts = require("./accounts-BVz5gHLK.cjs");
5
+ const require_remoteGeneration = require("./remoteGeneration-BpIYlb_O.cjs");
6
6
  const require_tokenUsageUtils = require("./tokenUsageUtils-_B-P8IAi.cjs");
7
7
  const require_inputVariables = require("./inputVariables-Dq9W-Z3a.cjs");
8
- const require_util = require("./util-CN8om2rz.cjs");
9
- const require_promptfoo = require("./promptfoo-b-baRMj-.cjs");
10
- const require_shared = require("./shared-WkgnDkcg.cjs");
11
- const require_extractor = require("./extractor-BdxEtt3J.cjs");
12
- const require_indirectWebPwn = require("./indirectWebPwn-BJ22AbQa.cjs");
13
- const require_evaluatorHelpers = require("./evaluatorHelpers-CRqTvSux.cjs");
14
- const require_strategies = require("./strategies-7CS3Alao.cjs");
15
- const require_tracingOptions = require("./tracingOptions-DrbSFaKy.cjs");
8
+ const require_util = require("./util-DNtUsus_.cjs");
9
+ const require_promptfoo = require("./promptfoo-ClChwT74.cjs");
10
+ const require_shared = require("./shared-aHWko3P1.cjs");
11
+ const require_extractor = require("./extractor-bV_NOoaz.cjs");
12
+ const require_indirectWebPwn = require("./indirectWebPwn-D7NA9Nsv.cjs");
13
+ const require_evaluatorHelpers = require("./evaluatorHelpers-D06I9WFL.cjs");
14
+ const require_strategies = require("./strategies-CCcnEbFO.cjs");
15
+ const require_tracingOptions = require("./tracingOptions-DFBoE8O0.cjs");
16
16
  const require_runtimeTransform = require("./runtimeTransform-ON3YYILw.cjs");
17
17
  //#region src/redteam/providers/hydra/index.ts
18
18
  const DEFAULT_MAX_TURNS = 10;
@@ -111,11 +111,12 @@ var HydraProvider = class {
111
111
  let storedGraderResult = void 0;
112
112
  let lastTargetResponse = void 0;
113
113
  let backtrackCount = 0;
114
+ let agentFailureError;
114
115
  const redteamHistory = [];
115
116
  let lastTransformResult;
116
117
  let lastTransformDisplayVars;
117
118
  let lastFinalAttackPrompt;
118
- const { getGraderById } = await Promise.resolve().then(() => require("./graders-ClrU2fnd.cjs")).then((n) => n.graders_exports);
119
+ const { getGraderById } = await Promise.resolve().then(() => require("./graders-CBQ2s6gz.cjs")).then((n) => n.graders_exports);
119
120
  let assertToUse = test?.assert?.find((a) => a.type && a.type.includes(test.metadata?.pluginId));
120
121
  if (!assertToUse) assertToUse = test?.assert?.find((a) => a.type);
121
122
  let previousTraceSummary;
@@ -159,6 +160,7 @@ var HydraProvider = class {
159
160
  testRunId,
160
161
  error: agentResp.error
161
162
  });
163
+ agentFailureError = agentResp.error;
162
164
  continue;
163
165
  }
164
166
  let nextMessage;
@@ -169,18 +171,31 @@ var HydraProvider = class {
169
171
  }
170
172
  if (!nextMessage) {
171
173
  require_logger.logger.info("[Hydra] Missing message from agent", { turn });
174
+ agentFailureError = "Hydra agent did not return an attack message";
172
175
  continue;
173
176
  }
174
177
  let processedMessage = nextMessage;
175
178
  const extractedPrompt = require_util.extractPromptFromTags(nextMessage);
176
179
  if (extractedPrompt) processedMessage = extractedPrompt;
180
+ if (this.config.inputs && require_remoteGeneration.shouldGenerateRemote()) require_promptfoo.assertRemoteMaterializationHandled(agentResp, "Hydra multi-input generation");
177
181
  const currentInputVars = require_util.extractInputVarsFromPrompt(processedMessage, this.config.inputs);
178
- const currentRenderInputVars = (currentInputVars && this.config.inputs ? await require_inputVariables.materializeInputVariablesWithMetadata(currentInputVars, this.config.inputs, {
182
+ let materializedInputVars;
183
+ if (this.config.inputs && require_remoteGeneration.shouldGenerateRemote() && !currentInputVars && !agentResp.materializedVars) {
184
+ require_logger.logger.warn("[Hydra] Remote multi-input generation returned an invalid prompt format", {
185
+ turn,
186
+ messagePreview: processedMessage.slice(0, 200)
187
+ });
188
+ agentFailureError = "Hydra remote multi-input generation returned an invalid prompt format";
189
+ continue;
190
+ }
191
+ if ((currentInputVars || agentResp.materializedVars) && this.config.inputs) if (require_remoteGeneration.shouldGenerateRemote()) materializedInputVars = require_promptfoo.buildRemoteMaterializedInputVariables(agentResp, currentInputVars ?? {}, this.config.inputs);
192
+ else materializedInputVars = await require_inputVariables.materializeInputVariablesWithMetadata(currentInputVars, this.config.inputs, {
179
193
  materializationIndex: turn,
180
194
  pluginId: "hydra",
181
195
  provider: this.agentProvider,
182
196
  purpose: test?.metadata?.purpose
183
- }) : void 0)?.vars ?? currentInputVars;
197
+ });
198
+ const currentRenderInputVars = materializedInputVars?.vars ?? currentInputVars;
184
199
  this.conversationHistory.push({
185
200
  role: "user",
186
201
  content: processedMessage
@@ -512,13 +527,16 @@ var HydraProvider = class {
512
527
  role: msg.role,
513
528
  content: msg.content
514
529
  }));
530
+ const targetProbeCount = totalTokenUsage.numRequests ?? 0;
531
+ const hydraRoundsCompleted = this.conversationHistory.filter((m) => m.role === "user").length;
532
+ const failClosedError = targetProbeCount === 0 ? agentFailureError || "Hydra did not execute any target probes" : void 0;
515
533
  return {
516
534
  output: lastTargetResponse?.output || "",
517
- ...lastTargetResponse?.error ? { error: lastTargetResponse.error } : {},
535
+ ...failClosedError ? { error: failClosedError } : lastTargetResponse?.error ? { error: lastTargetResponse.error } : {},
518
536
  metadata: {
519
537
  sessionId: this.sessionId || require_util.getSessionId(lastTargetResponse, context),
520
538
  messages,
521
- hydraRoundsCompleted: this.conversationHistory.filter((m) => m.role === "user").length,
539
+ hydraRoundsCompleted,
522
540
  hydraBacktrackCount: backtrackCount,
523
541
  hydraResult: vulnerabilityAchieved,
524
542
  stopReason,
@@ -539,4 +557,4 @@ var HydraProvider = class {
539
557
  //#endregion
540
558
  exports.HydraProvider = HydraProvider;
541
559
 
542
- //# sourceMappingURL=hydra-DrJttnvw.cjs.map
560
+ //# sourceMappingURL=hydra-RO9jBks7.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { T as getEnvString, a as logger } from "./logger-Ct2S6Yx-.js";
2
- import { p as REQUEST_TIMEOUT_MS } from "./fetch-It34O8Ur.js";
3
- import { r as fetchWithCache } from "./cache-DIXbtkNO.js";
2
+ import { p as REQUEST_TIMEOUT_MS } from "./fetch-Doks14zQ.js";
3
+ import { r as fetchWithCache } from "./cache-DdriHsNX.js";
4
4
  //#region src/providers/hyperbolic/image.ts
5
5
  const HYPERBOLIC_IMAGE_MODELS = [
6
6
  {
@@ -160,4 +160,4 @@ function createHyperbolicImageProvider(providerPath, options = {}) {
160
160
  //#endregion
161
161
  export { createHyperbolicImageProvider };
162
162
 
163
- //# sourceMappingURL=image-B_fPIwdg.js.map
163
+ //# sourceMappingURL=image-BBmZdKO3.js.map
@@ -1,6 +1,6 @@
1
1
  import { T as getEnvString, a as logger } from "./logger-KD8JjCRJ.js";
2
- import { v as REQUEST_TIMEOUT_MS } from "./fetch-BufrQtvR.js";
3
- import { r as fetchWithCache } from "./cache-roFAE0cI.js";
2
+ import { v as REQUEST_TIMEOUT_MS } from "./fetch-BSSAcMxf.js";
3
+ import { r as fetchWithCache } from "./cache-CrioYnaa.js";
4
4
  //#region src/providers/hyperbolic/image.ts
5
5
  const HYPERBOLIC_IMAGE_MODELS = [
6
6
  {
@@ -160,4 +160,4 @@ function createHyperbolicImageProvider(providerPath, options = {}) {
160
160
  //#endregion
161
161
  export { createHyperbolicImageProvider };
162
162
 
163
- //# sourceMappingURL=image-QzmydkiG.js.map
163
+ //# sourceMappingURL=image-B_PFG7IG.js.map
@@ -1,8 +1,8 @@
1
1
  import { a as logger } from "./logger-Ct2S6Yx-.js";
2
- import { p as REQUEST_TIMEOUT_MS } from "./fetch-It34O8Ur.js";
3
- import { r as fetchWithCache } from "./cache-DIXbtkNO.js";
2
+ import { p as REQUEST_TIMEOUT_MS } from "./fetch-Doks14zQ.js";
3
+ import { r as fetchWithCache } from "./cache-DdriHsNX.js";
4
4
  import { t as OpenAiGenericProvider } from "./openai-zgwBb4Ff.js";
5
- import { s as formatOpenAiError } from "./util-LKTmNsMQ.js";
5
+ import { s as formatOpenAiError } from "./util-CYev3d-r.js";
6
6
  import { t as ellipsize } from "./text-DwYK5EBn.js";
7
7
  //#region src/providers/openai/image.ts
8
8
  const DALLE2_VALID_SIZES = [
@@ -439,4 +439,4 @@ var OpenAiImageProvider = class extends OpenAiGenericProvider {
439
439
  //#endregion
440
440
  export { formatOutput as i, buildStructuredImageOutputs as n, callOpenAiImageApi as r, OpenAiImageProvider as t };
441
441
 
442
- //# sourceMappingURL=image-BvUAW344.js.map
442
+ //# sourceMappingURL=image-BtODOZjh.js.map
@@ -1,8 +1,8 @@
1
1
  import { a as logger } from "./logger-KD8JjCRJ.js";
2
- import { v as REQUEST_TIMEOUT_MS } from "./fetch-BufrQtvR.js";
3
- import { r as fetchWithCache } from "./cache-roFAE0cI.js";
2
+ import { v as REQUEST_TIMEOUT_MS } from "./fetch-BSSAcMxf.js";
3
+ import { r as fetchWithCache } from "./cache-CrioYnaa.js";
4
4
  import { t as OpenAiGenericProvider } from "./openai-BMHD2Huo.js";
5
- import { s as formatOpenAiError } from "./util-efByNxcr.js";
5
+ import { s as formatOpenAiError } from "./util-o2Qg5rZv.js";
6
6
  import { t as ellipsize } from "./text-CZr46tp_.js";
7
7
  //#region src/providers/openai/image.ts
8
8
  const DALLE2_VALID_SIZES = [
@@ -439,4 +439,4 @@ var OpenAiImageProvider = class extends OpenAiGenericProvider {
439
439
  //#endregion
440
440
  export { formatOutput as i, buildStructuredImageOutputs as n, callOpenAiImageApi as r, OpenAiImageProvider as t };
441
441
 
442
- //# sourceMappingURL=image-Cvjwx1uY.js.map
442
+ //# sourceMappingURL=image-CYuNJIqd.js.map
@@ -1,6 +1,6 @@
1
1
  const require_logger = require("./logger-cfNpzI4o.cjs");
2
- const require_fetch = require("./fetch-Dw4XZHjj.cjs");
3
- const require_cache = require("./cache-CPGUA4Yl.cjs");
2
+ const require_fetch = require("./fetch-Cfm4EuOB.cjs");
3
+ const require_cache = require("./cache-h5MWOBZI.cjs");
4
4
  //#region src/providers/hyperbolic/image.ts
5
5
  const HYPERBOLIC_IMAGE_MODELS = [
6
6
  {
@@ -160,4 +160,4 @@ function createHyperbolicImageProvider(providerPath, options = {}) {
160
160
  //#endregion
161
161
  exports.createHyperbolicImageProvider = createHyperbolicImageProvider;
162
162
 
163
- //# sourceMappingURL=image-DfVCGPbI.cjs.map
163
+ //# sourceMappingURL=image-E00WFZkq.cjs.map
@@ -1,8 +1,8 @@
1
1
  const require_logger = require("./logger-cfNpzI4o.cjs");
2
- const require_fetch = require("./fetch-Dw4XZHjj.cjs");
3
- const require_cache = require("./cache-CPGUA4Yl.cjs");
2
+ const require_fetch = require("./fetch-Cfm4EuOB.cjs");
3
+ const require_cache = require("./cache-h5MWOBZI.cjs");
4
4
  const require_openai = require("./openai-C3uXv8wS.cjs");
5
- const require_util = require("./util-BSIuSLVK.cjs");
5
+ const require_util = require("./util-NYQvo1C7.cjs");
6
6
  const require_text = require("./text-nywWsRBM.cjs");
7
7
  //#region src/providers/openai/image.ts
8
8
  const DALLE2_VALID_SIZES = [
@@ -462,4 +462,4 @@ Object.defineProperty(exports, "formatOutput", {
462
462
  }
463
463
  });
464
464
 
465
- //# sourceMappingURL=image-X0oY4350.cjs.map
465
+ //# sourceMappingURL=image-HK2Cfqb1.cjs.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { O as getEnvString, s as logger } from "./logger-BbY6ypFL.js";
3
- import { _ as REQUEST_TIMEOUT_MS } from "./fetch-DXUnXkVU.js";
4
- import { a as fetchWithCache } from "./cache-DpPWrkTE.js";
3
+ import { _ as REQUEST_TIMEOUT_MS } from "./fetch-Cpf1U1nO.js";
4
+ import { a as fetchWithCache } from "./cache-BR77mdIR.js";
5
5
  //#region src/providers/hyperbolic/image.ts
6
6
  const HYPERBOLIC_IMAGE_MODELS = [
7
7
  {
@@ -161,4 +161,4 @@ function createHyperbolicImageProvider(providerPath, options = {}) {
161
161
  //#endregion
162
162
  export { createHyperbolicImageProvider };
163
163
 
164
- //# sourceMappingURL=image-BN-hjLL9.js.map
164
+ //# sourceMappingURL=image-LGj8dTcr.js.map
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { s as logger } from "./logger-BbY6ypFL.js";
3
- import { _ as REQUEST_TIMEOUT_MS } from "./fetch-DXUnXkVU.js";
4
- import { a as fetchWithCache } from "./cache-DpPWrkTE.js";
3
+ import { _ as REQUEST_TIMEOUT_MS } from "./fetch-Cpf1U1nO.js";
4
+ import { a as fetchWithCache } from "./cache-BR77mdIR.js";
5
5
  import { t as OpenAiGenericProvider } from "./openai-CJrsh9n4.js";
6
- import { s as formatOpenAiError } from "./util-5WnCSb0h.js";
6
+ import { s as formatOpenAiError } from "./util-DeY58psG.js";
7
7
  import { t as ellipsize } from "./text-Db-Wt2u2.js";
8
8
  //#region src/providers/openai/image.ts
9
9
  const DALLE2_VALID_SIZES = [
@@ -440,4 +440,4 @@ var OpenAiImageProvider = class extends OpenAiGenericProvider {
440
440
  //#endregion
441
441
  export { formatOutput as i, buildStructuredImageOutputs as n, callOpenAiImageApi as r, OpenAiImageProvider as t };
442
442
 
443
- //# sourceMappingURL=image-B4oBtu6J.js.map
443
+ //# sourceMappingURL=image-YMKejC0r.js.map