promptfoo 0.121.10 → 0.121.11

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 (323) hide show
  1. package/dist/src/{accounts-D4iTShVh.js → accounts-BGs8AMhG.js} +4 -4
  2. package/dist/src/{accounts-ECb2xAYn.js → accounts-BjCiVnil.js} +4 -4
  3. package/dist/src/{accounts-DbmMSaOW.js → accounts-C06-4dXo.js} +5 -5
  4. package/dist/src/{accounts-5Sf1PCNo.cjs → accounts-C6NiTdum.cjs} +4 -4
  5. package/dist/src/{agentic-utils-DxzgjGfK.js → agentic-utils-B5IO5YR-.js} +2 -2
  6. package/dist/src/{agentic-utils-eGLKHNlT.cjs → agentic-utils-BDKz7KHx.cjs} +2 -2
  7. package/dist/src/{agentic-utils-CLrqlGZc.js → agentic-utils-Bj9P7suD.js} +2 -2
  8. package/dist/src/{agentic-utils-jiE8RROB.js → agentic-utils-kgc1YTAx.js} +2 -2
  9. package/dist/src/{agents-CI9ETpr0.js → agents-BMcjQUHA.js} +2 -2
  10. package/dist/src/{agents-B0gmhYyj.js → agents-CyHaf9xC.js} +2 -2
  11. package/dist/src/{agents-Dl4uviKE.cjs → agents-DOhrSQhK.cjs} +4 -4
  12. package/dist/src/{agents-CK9Kxnix.js → agents-DT1nSZix.js} +4 -4
  13. package/dist/src/{agents-6d6pdEFT.js → agents-DgakfoxG.js} +4 -4
  14. package/dist/src/{agents-C5zoy2ZS.js → agents-VKHVNG4J.js} +2 -2
  15. package/dist/src/{agents-Br5HYLBT.cjs → agents-zYAXB2ja.cjs} +2 -2
  16. package/dist/src/{agents-CvL6W9kz.js → agents-zzIht0lm.js} +4 -4
  17. package/dist/src/{aimlapi-DGCN4rpi.cjs → aimlapi-Bv6rnE4W.cjs} +6 -6
  18. package/dist/src/{aimlapi-BonWl7zl.js → aimlapi-C05Ca41Z.js} +6 -6
  19. package/dist/src/{aimlapi-NJzALFkC.js → aimlapi-CLaCvZn8.js} +6 -6
  20. package/dist/src/{aimlapi-UwsBeqRG.js → aimlapi-DW7KNdkd.js} +6 -6
  21. package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -1
  22. package/dist/src/app/assets/Report-BgwGPDAJ.js +1 -0
  23. package/dist/src/app/assets/index-CBwcpPdR.js +413 -0
  24. package/dist/src/app/assets/index-ZYpt1xFX.css +1 -0
  25. package/dist/src/app/index.html +2 -2
  26. package/dist/src/{audio-yUZrS0JJ.js → audio-Cd92j4tr.js} +3 -3
  27. package/dist/src/{audio-9N6nZqw9.js → audio-De3snmla.js} +3 -3
  28. package/dist/src/{audio-DBqadfGk.js → audio-Dh44iWq7.js} +3 -3
  29. package/dist/src/{audio-BR4j1oG1.cjs → audio-MqvGQVvP.cjs} +3 -3
  30. package/dist/src/{authoritativeMarkupInjection-2C63bFKe.cjs → authoritativeMarkupInjection-BAuWkXwn.cjs} +5 -5
  31. package/dist/src/{authoritativeMarkupInjection-B2MJXBR1.js → authoritativeMarkupInjection-CDCg-jRQ.js} +4 -4
  32. package/dist/src/{authoritativeMarkupInjection-CE4HOCHa.js → authoritativeMarkupInjection-COd4q9Hp.js} +5 -5
  33. package/dist/src/{authoritativeMarkupInjection-DrBqZVP1.js → authoritativeMarkupInjection-D5oKM43M.js} +5 -5
  34. package/dist/src/{base-tmVReihS.js → base-B8G9Ob46.js} +2 -2
  35. package/dist/src/{base-6Aaed910.js → base-CzDq5YwX.js} +2 -2
  36. package/dist/src/{base-S8I8vPVY.js → base-DqNtZTrF.js} +2 -2
  37. package/dist/src/{base-BS60m8JA.cjs → base-OeMKpFIB.cjs} +2 -2
  38. package/dist/src/{bestOfN-BkH9d3Lr.js → bestOfN-B89i9zc7.js} +6 -6
  39. package/dist/src/{bestOfN-C1_WFZFb.js → bestOfN-BEfIajMY.js} +5 -5
  40. package/dist/src/{bestOfN-DfRpoheE.js → bestOfN-Czr-c62W.js} +6 -6
  41. package/dist/src/{bestOfN-b6uHssUC.cjs → bestOfN-QWGyCB5j.cjs} +6 -6
  42. package/dist/src/{billing-DwpSQ_4i.js → billing-BhghtFas.js} +2 -2
  43. package/dist/src/{billing-CAB1s36q.js → billing-BkQJKKdm.js} +2 -2
  44. package/dist/src/{billing-Dn9Gm2tN.cjs → billing-Co_1rjfG.cjs} +2 -2
  45. package/dist/src/{billing-DimGp80i.js → billing-MY86Oqwg.js} +2 -2
  46. package/dist/src/{blobs-7T2OXYkC.js → blobs-B8d9jKvz.js} +2 -2
  47. package/dist/src/{blobs-CqhgM_fa.js → blobs-BTzPmpq-.js} +2 -2
  48. package/dist/src/{blobs-DQ6pIlJQ.cjs → blobs-BcpoigIU.cjs} +7 -1
  49. package/dist/src/{blobs-Dxfq3woN.js → blobs-DQ4bXN5O.js} +2 -2
  50. package/dist/src/{cache-DgKlV56y.js → cache-BEZBHFxd.js} +2 -2
  51. package/dist/src/cache-Cqg9f4d4.js +3 -0
  52. package/dist/src/{cache-CmidsPv2.js → cache-D2MfIrzr.js} +3 -3
  53. package/dist/src/{cache-B-fzj_aE.cjs → cache-DWEZYdJG.cjs} +2 -2
  54. package/dist/src/{cache-Z4cklSHj.js → cache-WT_2CYA-.js} +2 -2
  55. package/dist/src/{chat-uLo5fkVu.js → chat-C9yx5XD4.js} +2 -2
  56. package/dist/src/{chat-VVJW_GJC.js → chat-CuPbIKVa.js} +2 -2
  57. package/dist/src/{chat-BWdNGktf.js → chat-DBG4VxM7.js} +7 -7
  58. package/dist/src/{chat-CrOCT2BA.js → chat-Dwfr4jHi.js} +2 -2
  59. package/dist/src/{chat-BE0BP7oZ.js → chat-FNWhaysj.js} +7 -7
  60. package/dist/src/{chat-CvN2w9fY.js → chat-PfM8xgFA.js} +7 -7
  61. package/dist/src/{chat-CpFzezkO.cjs → chat-XVIowajy.cjs} +7 -7
  62. package/dist/src/{chat-DAkk46Lf.cjs → chat-sZgq1_-v.cjs} +2 -2
  63. package/dist/src/{claude-agent-sdk-CocknPbL.js → claude-agent-sdk-B0AZ38ny.js} +4 -4
  64. package/dist/src/{claude-agent-sdk-BH0L9H8Y.js → claude-agent-sdk-BfYAjuTk.js} +4 -4
  65. package/dist/src/{claude-agent-sdk-DxyDxejT.cjs → claude-agent-sdk-CklMerFa.cjs} +4 -4
  66. package/dist/src/{claude-agent-sdk-Bh0MH9Z9.js → claude-agent-sdk-DTFpCefB.js} +4 -4
  67. package/dist/src/cloud-BNr2N1RY.js +3 -0
  68. package/dist/src/{cloud-DJB9yPQB.js → cloud-DKKGeJBV.js} +2 -2
  69. package/dist/src/{cloudflare-ai-DeUFFMJE.cjs → cloudflare-ai-C7pMPgpc.cjs} +4 -4
  70. package/dist/src/{cloudflare-ai-Bg1wwMId.js → cloudflare-ai-Cqz_3WD2.js} +4 -4
  71. package/dist/src/{cloudflare-ai-CpbxtQGT.js → cloudflare-ai-CuUCQanF.js} +4 -4
  72. package/dist/src/{cloudflare-ai-B2Sjijq0.js → cloudflare-ai-lAgV52qE.js} +4 -4
  73. package/dist/src/{cloudflare-gateway-DKsO0VKU.js → cloudflare-gateway-8T5x83eI.js} +3 -3
  74. package/dist/src/{cloudflare-gateway-CvQV6nA1.js → cloudflare-gateway-Bq7SdErk.js} +3 -3
  75. package/dist/src/{cloudflare-gateway-BwdJezUO.js → cloudflare-gateway-moRfeZJJ.js} +3 -3
  76. package/dist/src/{cloudflare-gateway-cBHiORfX.cjs → cloudflare-gateway-peUrx9oi.cjs} +3 -3
  77. package/dist/src/{codex-app-server-BHVKRhkY.js → codex-app-server-BvPHEwJg.js} +5 -5
  78. package/dist/src/{codex-app-server-CojV6u3_.js → codex-app-server-DBTBsZ1t.js} +5 -5
  79. package/dist/src/{codex-app-server-B471dabg.cjs → codex-app-server-Dwl3iupA.cjs} +5 -5
  80. package/dist/src/{codex-app-server-DF2PMuc1.js → codex-app-server-t-QoeeGd.js} +5 -5
  81. package/dist/src/{codex-sdk-Bj4uY6sS.js → codex-sdk-C4FTldKU.js} +4 -4
  82. package/dist/src/{codex-sdk-D4JF0nj6.js → codex-sdk-C4aieKza.js} +4 -4
  83. package/dist/src/codex-sdk-CTD1qSKx.js +3 -0
  84. package/dist/src/{codex-sdk-aezPvTAB.js → codex-sdk-CnSzlhih.js} +4 -4
  85. package/dist/src/{codex-sdk-C9c-416d.cjs → codex-sdk-bWIQVOBL.cjs} +4 -4
  86. package/dist/src/{cometapi-CgaDmO4i.js → cometapi-B0mQIIzf.js} +7 -7
  87. package/dist/src/{cometapi-BlBmHq7-.js → cometapi-CFrYNMs5.js} +7 -7
  88. package/dist/src/{cometapi-mtyRjerU.js → cometapi-CMnFU1wL.js} +7 -7
  89. package/dist/src/{cometapi-D8sWSnb1.cjs → cometapi-D2thnPaL.cjs} +7 -7
  90. package/dist/src/{completion-RkFAOVSF.js → completion-B0yVZF3v.js} +5 -5
  91. package/dist/src/{completion-CHnFmpnp.js → completion-Dz36rtPd.js} +5 -5
  92. package/dist/src/{completion-Di0-4tYi.cjs → completion-Ny3XQpqx.cjs} +5 -5
  93. package/dist/src/{completion-Bd8G9VHW.js → completion-sMpCTaBm.js} +5 -5
  94. package/dist/src/{crescendo-C8YuBd9K.js → crescendo-BpVWWleP.js} +11 -11
  95. package/dist/src/{crescendo-TWgp7uGp.cjs → crescendo-CqQhmeC0.cjs} +13 -13
  96. package/dist/src/{crescendo-BgGio6G0.js → crescendo-JAvyVRKK.js} +13 -13
  97. package/dist/src/{crescendo-BQ2VI9FD.js → crescendo-RfCMSIM-.js} +13 -13
  98. package/dist/src/{custom-D0p5pikf.cjs → custom-B_fKUq6j.cjs} +11 -11
  99. package/dist/src/{custom-DsSELzzx.js → custom-Bm6Tu-ji.js} +11 -11
  100. package/dist/src/{custom-CFnjgHKp.js → custom-LxkvkOvG.js} +9 -9
  101. package/dist/src/{custom-CSaH4Qj9.js → custom-jLsK8Wf9.js} +11 -11
  102. package/dist/src/{docker-ByT3LmHN.js → docker-B60virtZ.js} +5 -5
  103. package/dist/src/{docker-BRA5ruGU.cjs → docker-D_f3qyDE.cjs} +5 -5
  104. package/dist/src/{docker-CVY-oMv4.js → docker-DogRc30z.js} +5 -5
  105. package/dist/src/{docker-DIxhfwlx.js → docker-wwQ1pPGy.js} +5 -5
  106. package/dist/src/{embedding-BpX-WENP.js → embedding-BMe9ZgQF.js} +5 -5
  107. package/dist/src/{embedding-B_0mJpXs.cjs → embedding-ClHIOEld.cjs} +5 -5
  108. package/dist/src/{embedding-LplgjBJ0.js → embedding-Dy2o5RFQ.js} +5 -5
  109. package/dist/src/{embedding-CCbgRo4z.js → embedding-HXOpA992.js} +5 -5
  110. package/dist/src/{eval-BXF3bRvV.js → eval-BLgDYWPd.js} +4 -4
  111. package/dist/src/{eval-BcM9YiOW.js → eval-DbGugzR8.js} +1 -1
  112. package/dist/src/evalResult-B6Jpy3kJ.js +3 -0
  113. package/dist/src/{evalResult-C8MROHS8.js → evalResult-BWE17Tqm.js} +3 -3
  114. package/dist/src/{evalResult-CIxAdUVQ.cjs → evalResult-DDohNAHL.cjs} +3 -3
  115. package/dist/src/{evalResult-DaACTv0f.js → evalResult-DOh0QQix.js} +3 -3
  116. package/dist/src/evaluator-CTl-lKuh.js +3 -0
  117. package/dist/src/{evaluator-C_gCkBe3.js → evaluator-DbOsHSRe.js} +212 -21
  118. package/dist/src/{evaluatorHelpers-BVvi8tWH.cjs → evaluatorHelpers-CaaC50RB.cjs} +4 -4
  119. package/dist/src/{evaluatorHelpers-C6-aKnJe.js → evaluatorHelpers-CoLW5rKU.js} +4 -4
  120. package/dist/src/{evaluatorHelpers-RQo-m90b.js → evaluatorHelpers-DTtYkrGO.js} +4 -4
  121. package/dist/src/{extractor-B1hELWwJ.js → extractor-BIqe0lMN.js} +70 -12
  122. package/dist/src/{extractor-_E41W0Fl.cjs → extractor-CUVurbDW.cjs} +71 -12
  123. package/dist/src/{extractor-DV6WBfAi.js → extractor-DOhjGS0m.js} +70 -12
  124. package/dist/src/{extractor-ItsKh8lH.js → extractor-h1HS9f6y.js} +70 -12
  125. package/dist/src/{fetch-BBa1Lxgp.js → fetch-B1Rb0VdL.js} +3 -3
  126. package/dist/src/{fetch-BtdsABrj.js → fetch-BErWGTUY.js} +2 -2
  127. package/dist/src/{fetch-CFIU30wy.js → fetch-BNUDixbE.js} +2 -2
  128. package/dist/src/{fetch-OePjzUmA.cjs → fetch-C7yU9CNr.cjs} +2 -2
  129. package/dist/src/fetch-DVj4dF4V.js +3 -0
  130. package/dist/src/{goat-kpeOOE-K.js → goat-BnB1zGir.js} +13 -13
  131. package/dist/src/{goat-Coh2te0S.cjs → goat-C1RkjWv1.cjs} +13 -13
  132. package/dist/src/{goat-BCFeW4zk.js → goat-CNpA_tT8.js} +11 -11
  133. package/dist/src/{goat-Dr2YGfiG.js → goat-ZRARvAD5.js} +13 -13
  134. package/dist/src/graders-CA3QVnK3.js +3 -0
  135. package/dist/src/{graders-BrLOEmxX.js → graders-CO5drf0x.js} +17 -17
  136. package/dist/src/{graders-DEz7EeRy.js → graders-CpUlNVnh.js} +17 -17
  137. package/dist/src/{graders-CY4Ft8A9.js → graders-Z5qzvpuI.js} +17 -17
  138. package/dist/src/{graders-CCrX0NG3.cjs → graders-t_K-nZ_X.cjs} +17 -17
  139. package/dist/src/{hydra-C90CylNi.js → hydra-BMb0WtZA.js} +13 -13
  140. package/dist/src/{hydra-dOBPmWHt.js → hydra-BXmf4FCK.js} +11 -11
  141. package/dist/src/{hydra-Cq_3qKz_.js → hydra-C5_Vuh-m.js} +13 -13
  142. package/dist/src/{hydra-B524i6K6.cjs → hydra-c1_7vPsg.cjs} +13 -13
  143. package/dist/src/{image-DBnzfeuJ.cjs → image-BhHFD4Vb.cjs} +3 -3
  144. package/dist/src/{image-CvhTr1GY.cjs → image-CYFea400.cjs} +5 -5
  145. package/dist/src/{image-CHJ-KjNE.js → image-CgkOODNn.js} +5 -5
  146. package/dist/src/{image-_-h6GCQ7.js → image-DGQkq3aK.js} +5 -5
  147. package/dist/src/{image-CkF1ruDX.js → image-DWveOfTz.js} +3 -3
  148. package/dist/src/{image-BmVZRCkS.js → image-DfF12xzt.js} +5 -5
  149. package/dist/src/{image-B6P9JAV2.js → image-DkSUFfLd.js} +3 -3
  150. package/dist/src/{image-CD22vXth.js → image-nYwdqnax.js} +3 -3
  151. package/dist/src/index.cjs +218 -26
  152. package/dist/src/index.js +216 -26
  153. package/dist/src/{indirectWebPwn-BgIfQ2ON.js → indirectWebPwn-BajQ_evT.js} +5 -5
  154. package/dist/src/{indirectWebPwn-A16xYmav.js → indirectWebPwn-BbFMiv79.js} +4 -4
  155. package/dist/src/{indirectWebPwn-BRhR4Dk9.js → indirectWebPwn-BnrxhAAL.js} +4 -4
  156. package/dist/src/{indirectWebPwn-Bfp-t224.cjs → indirectWebPwn-BqOgtzny.cjs} +5 -5
  157. package/dist/src/{indirectWebPwn-8G6tgDBW.js → indirectWebPwn-C6_BaxjA.js} +5 -5
  158. package/dist/src/{indirectWebPwn-BWGexuih.js → indirectWebPwn-C779yDi6.js} +4 -4
  159. package/dist/src/{indirectWebPwn-DcKDbCn_.cjs → indirectWebPwn-CDo9rC06.cjs} +4 -4
  160. package/dist/src/{indirectWebPwn-CZ2kTy4r.js → indirectWebPwn-k8D0JacN.js} +5 -5
  161. package/dist/src/{iterative-BIHF31Io.js → iterative-BzKNkXHn.js} +13 -13
  162. package/dist/src/{iterative-XRfxQ0i8.cjs → iterative-CD3I_Rwq.cjs} +13 -13
  163. package/dist/src/{iterative-CZPHLUKZ.js → iterative-DL8iDwrE.js} +13 -13
  164. package/dist/src/{iterative-DZkNlFE-.js → iterative-DyEoFedI.js} +11 -11
  165. package/dist/src/{iterativeImage-BFRM8Jdx.js → iterativeImage-B7qV6kzP.js} +4 -4
  166. package/dist/src/{iterativeImage-DJtVKlFX.cjs → iterativeImage-BaOAhF-S.cjs} +5 -5
  167. package/dist/src/{iterativeImage-7WjhjpHE.js → iterativeImage-D85THuYb.js} +5 -5
  168. package/dist/src/{iterativeImage-CbRn9_MH.js → iterativeImage-noXhuElt.js} +5 -5
  169. package/dist/src/{iterativeMeta-2gyieWbU.js → iterativeMeta-BHNJgPy0.js} +12 -12
  170. package/dist/src/{iterativeMeta-dkFD9UKg.cjs → iterativeMeta-BQrhQ-iJ.cjs} +12 -12
  171. package/dist/src/{iterativeMeta-Bh2AQq8Y.js → iterativeMeta-CAN36NIN.js} +12 -12
  172. package/dist/src/{iterativeMeta-CmMnD77T.js → iterativeMeta-CnPYPYH0.js} +10 -10
  173. package/dist/src/{iterativeTree-DuIk7wjS.js → iterativeTree-B7116aK-.js} +10 -10
  174. package/dist/src/{iterativeTree-bjH__9en.js → iterativeTree-DdXSpkqE.js} +12 -12
  175. package/dist/src/{iterativeTree-DSNss1kE.js → iterativeTree-cKlxQWhi.js} +12 -12
  176. package/dist/src/{iterativeTree-DoE-8nC3.cjs → iterativeTree-u2hKQ51y.cjs} +12 -12
  177. package/dist/src/{knowledgeBase-kyTJpbr0.js → knowledgeBase-D9xW79dS.js} +4 -4
  178. package/dist/src/{knowledgeBase-CQasebQt.js → knowledgeBase-DfwVbdwp.js} +4 -4
  179. package/dist/src/{knowledgeBase-DebHrXhD.cjs → knowledgeBase-DhT8uaMH.cjs} +4 -4
  180. package/dist/src/{knowledgeBase-mzMh6UZt.js → knowledgeBase-DlH6NRlX.js} +4 -4
  181. package/dist/src/{litellm-wSD4Q6-H.cjs → litellm-BA2Fti7H.cjs} +4 -4
  182. package/dist/src/{litellm-BJFH4uKd.js → litellm-CHybAu4l.js} +4 -4
  183. package/dist/src/{litellm-A2eV_lM0.js → litellm-Cn_zDWeA.js} +4 -4
  184. package/dist/src/{litellm-CeJEe_jQ.js → litellm-CnqX4jfm.js} +4 -4
  185. package/dist/src/{luma-ray-DpuaR6Wa.js → luma-ray-C_AWu7K6.js} +4 -4
  186. package/dist/src/{luma-ray-B0GNCw6S.js → luma-ray-CbFOvJZw.js} +4 -4
  187. package/dist/src/{luma-ray-qBfU-mGO.cjs → luma-ray-D7hDEZaC.cjs} +4 -4
  188. package/dist/src/{luma-ray-CM6bvN4t.js → luma-ray-RQAhTNvK.js} +4 -4
  189. package/dist/src/main.js +27 -27
  190. package/dist/src/{memoryPoisoning-9mIgiE3F.cjs → memoryPoisoning-A8N_cbrW.cjs} +5 -5
  191. package/dist/src/{memoryPoisoning-BYBQ1Ns5.js → memoryPoisoning-BGe4fuFU.js} +5 -5
  192. package/dist/src/{memoryPoisoning-SvtQxFjF.js → memoryPoisoning-DDfIRZnk.js} +5 -5
  193. package/dist/src/{memoryPoisoning-D4iqi_nT.js → memoryPoisoning-DtJ5vYZW.js} +5 -5
  194. package/dist/src/{messages-BofXErqC.js → messages-BH83TS-n.js} +7 -7
  195. package/dist/src/{messages-DxzhBs74.js → messages-aXox3d04.js} +7 -7
  196. package/dist/src/{messages-CHZtL-k0.cjs → messages-qapmFqOQ.cjs} +7 -7
  197. package/dist/src/{messages-BKTseD_x.js → messages-yVMPGJ4n.js} +7 -7
  198. package/dist/src/{mischievousUser-D23wQ8f0.js → mischievousUser-BPDyepmu.js} +5 -5
  199. package/dist/src/{mischievousUser-DX1gGvUB.js → mischievousUser-D1mbddId.js} +5 -5
  200. package/dist/src/{mischievousUser-ECTv-u4g.cjs → mischievousUser-DHYVKotH.cjs} +5 -5
  201. package/dist/src/{mischievousUser-B5oT1xjM.js → mischievousUser-D_8tmPfA.js} +5 -5
  202. package/dist/src/{modelslab-D5vwtIYR.js → modelslab-BwywPRoU.js} +5 -5
  203. package/dist/src/{modelslab-DE9CfYYT.js → modelslab-Cc6fn99l.js} +5 -5
  204. package/dist/src/{modelslab-CVkeR8mC.cjs → modelslab-D2F3FtnI.cjs} +5 -5
  205. package/dist/src/{modelslab-BU_qCK1m.js → modelslab-D_izTsvD.js} +5 -5
  206. package/dist/src/{nova-reel-BSM7U8Bp.js → nova-reel-B1Jg1XBk.js} +4 -4
  207. package/dist/src/{nova-reel-BKAkU37Y.js → nova-reel-CZeHbWUe.js} +4 -4
  208. package/dist/src/{nova-reel-BvWH15rr.cjs → nova-reel-CcWrhmGJ.cjs} +4 -4
  209. package/dist/src/{nova-reel-D2tla7dy.js → nova-reel-DFrk1Ey2.js} +4 -4
  210. package/dist/src/{nova-sonic-DU7_krhB.js → nova-sonic-4wwR0tZJ.js} +2 -2
  211. package/dist/src/{nova-sonic-C7CNjG9n.cjs → nova-sonic-BqRQ9CWO.cjs} +2 -2
  212. package/dist/src/{nova-sonic-BQkU8weK.js → nova-sonic-D-IJHou2.js} +2 -2
  213. package/dist/src/{nova-sonic-B8PB4mU2.js → nova-sonic-DJUXNWUJ.js} +2 -2
  214. package/dist/src/{openclaw-CLNjF8ox.js → openclaw-5U8yiy9P.js} +5 -5
  215. package/dist/src/{openclaw-laZmy-8p.cjs → openclaw-B0vjRb3y.cjs} +5 -5
  216. package/dist/src/{openclaw-Gl2a1gR3.js → openclaw-C8xQtncQ.js} +5 -5
  217. package/dist/src/{openclaw-D5yEpk1f.js → openclaw-CqZoWsh0.js} +5 -5
  218. package/dist/src/{opencode-sdk-CGPqE4m0.js → opencode-sdk-B2qz1kCI.js} +2 -2
  219. package/dist/src/{opencode-sdk-5XXP3gNb.js → opencode-sdk-BGO1zuPF.js} +2 -2
  220. package/dist/src/{opencode-sdk-C7mIxApB.cjs → opencode-sdk-Bk9G3WGQ.cjs} +2 -2
  221. package/dist/src/{opencode-sdk-E1fh3vlz.js → opencode-sdk-NhbhYcsR.js} +2 -2
  222. package/dist/src/{promptfoo-C4g2Lx9t.js → promptfoo-CkDcgxiW.js} +4 -4
  223. package/dist/src/{promptfoo-DdsPYNm7.js → promptfoo-De6vQq9F.js} +4 -4
  224. package/dist/src/{promptfoo-x112UyE1.js → promptfoo-DhGR7OQn.js} +4 -4
  225. package/dist/src/{promptfoo-B9KuhWM0.cjs → promptfoo-Dtw3i6YK.cjs} +4 -4
  226. package/dist/src/{providers-xrARCHcC.js → providers-BIgLuX4Z.js} +1 -1
  227. package/dist/src/{providers-BZ-QJYop.cjs → providers-CCRHPNv1.cjs} +50 -49
  228. package/dist/src/{providers-DdNIebwz.js → providers-am7xTa5w.js} +51 -50
  229. package/dist/src/{providers-BnjFZtaq.js → providers-gntyGa2T.js} +50 -49
  230. package/dist/src/{providers-D_OinWvd.js → providers-j-ulWCzy.js} +50 -49
  231. package/dist/src/quiverai-CHV12wRE.js +324 -0
  232. package/dist/src/quiverai-CNSyaZhh.js +325 -0
  233. package/dist/src/quiverai-CNfaxZ3K.cjs +324 -0
  234. package/dist/src/quiverai-CzROwhTy.js +324 -0
  235. package/dist/src/{registry-C57trbNM.js → registry-B0pFfEzq.js} +14 -14
  236. package/dist/src/{registry-Bnb9O892.cjs → registry-BH1mZ37j.cjs} +14 -14
  237. package/dist/src/{registry-CmhcDYtj.js → registry-Bvfyz9Xt.js} +14 -14
  238. package/dist/src/{registry-DhaGoOuz.js → registry-Dzut7txg.js} +14 -14
  239. package/dist/src/{remoteGeneration-BlwssRVS.js → remoteGeneration-CW6zHjQx.js} +4 -4
  240. package/dist/src/{remoteGeneration--4NPfyL-.js → remoteGeneration-DuxbIn94.js} +4 -4
  241. package/dist/src/{remoteGeneration-B0K7iojS.cjs → remoteGeneration-oSmtgmBY.cjs} +4 -4
  242. package/dist/src/{remoteGeneration-DiAuGk9s.js → remoteGeneration-wvnQpzN1.js} +4 -4
  243. package/dist/src/{responses-C57h4gaW.js → responses-CI7uikKQ.js} +6 -6
  244. package/dist/src/{responses-B9ygvEC-.cjs → responses-DRLyW4Lj.cjs} +6 -6
  245. package/dist/src/{responses-CXKL6TPn.js → responses-DxFUQTN2.js} +6 -6
  246. package/dist/src/{responses-CTfu1ToN.js → responses-JNrMb3zS.js} +6 -6
  247. package/dist/src/{sagemaker-DHdeSsnJ.js → sagemaker-5AwedTwq.js} +9 -9
  248. package/dist/src/{sagemaker-CHL8TZFs.js → sagemaker-B5yQiSKh.js} +9 -9
  249. package/dist/src/{sagemaker-DdVGF_UD.cjs → sagemaker-C3aoiFup.cjs} +9 -9
  250. package/dist/src/{sagemaker-DUjuHnmj.js → sagemaker-XmAlwYoN.js} +9 -9
  251. package/dist/src/{scanner-BdoS5ILQ.js → scanner-BdEduFjO.js} +5 -5
  252. package/dist/src/server/index.js +214 -24
  253. package/dist/src/{server-B8UpdwtX.cjs → server-B3QXCltR.cjs} +3 -3
  254. package/dist/src/{server-DaonK4kI.js → server-Ctq0NOMp.js} +3 -3
  255. package/dist/src/{server-Ds_P02x6.js → server-D0pdY_yM.js} +4 -4
  256. package/dist/src/{server-CYxCnoVw.js → server-DMCug-jv.js} +4 -4
  257. package/dist/src/server-Ty5m26Vh.js +3 -0
  258. package/dist/src/{shared-BavzGCp0.js → shared-C-G3NQ1-.js} +7 -7
  259. package/dist/src/{shared-D_0FXjLS.js → shared-CnrYC0Dk.js} +7 -7
  260. package/dist/src/{shared-DY3IzJlT.cjs → shared-D3PxrdDh.cjs} +7 -7
  261. package/dist/src/{shared-B3IkjkNV.js → shared-DHDR-oS4.js} +7 -7
  262. package/dist/src/{simulatedUser-CokouWJT.js → simulatedUser-AhNbPm55.js} +5 -5
  263. package/dist/src/{simulatedUser-DNiOb7YE.js → simulatedUser-DV977ZD0.js} +5 -5
  264. package/dist/src/{simulatedUser-BJabLGod.js → simulatedUser-Dq8cpKLQ.js} +5 -5
  265. package/dist/src/{simulatedUser-CPDlAc1R.cjs → simulatedUser-tAjEGnxH.cjs} +5 -5
  266. package/dist/src/{storage-CH8WC1r3.cjs → storage-C8WR4y77.cjs} +3 -3
  267. package/dist/src/{storage-D_qaZpfe.js → storage-CK2YYGUg.js} +3 -3
  268. package/dist/src/{storage-CLyYkZk-.js → storage-Nc_eXGrV.js} +4 -4
  269. package/dist/src/{storage-3dpIy6f2.js → storage-P9MrA5xv.js} +3 -3
  270. package/dist/src/{strategies-2Q_uZxBs.cjs → strategies-B6Y6G9UV.cjs} +8 -8
  271. package/dist/src/{strategies-DVDC487a.js → strategies-CaefFyHy.js} +9 -9
  272. package/dist/src/{strategies-BuIPOuYL.js → strategies-DE3UN_VH.js} +8 -8
  273. package/dist/src/telemetry-Bbd-BlA7.js +3 -0
  274. package/dist/src/{telemetry-Bh3HJU7r.js → telemetry-C7v0I4YX.js} +3 -3
  275. package/dist/src/{telemetry-B-NTbvDj.js → telemetry-CTYOje0d.js} +3 -3
  276. package/dist/src/{telemetry-3fTnWcSU.js → telemetry-CvJEPKK6.js} +3 -3
  277. package/dist/src/{telemetry-Be4rklbJ.cjs → telemetry-hDovhwWp.cjs} +3 -3
  278. package/dist/src/{tracingOptions-CYCHrrQQ.cjs → tracingOptions-DGai7e5l.cjs} +2 -2
  279. package/dist/src/{tracingOptions-CLKNUvF4.js → tracingOptions-DL2vOmYS.js} +2 -2
  280. package/dist/src/{tracingOptions-CZpFCwyr.js → tracingOptions-e_c5TlHv.js} +2 -2
  281. package/dist/src/{tracingOptions-Bi477wlC.js → tracingOptions-xCBDF3nM.js} +2 -2
  282. package/dist/src/{transcription-CtLhhmYq.js → transcription-BCasJfFB.js} +4 -4
  283. package/dist/src/{transcription-BB9i78R3.js → transcription-BLOD9lN7.js} +4 -4
  284. package/dist/src/{transcription-BRd477OO.js → transcription-BOjp5wlV.js} +4 -4
  285. package/dist/src/{transcription-O3Nc-kEc.cjs → transcription-G6JwbB2P.cjs} +4 -4
  286. package/dist/src/{transform-D9nfyIts.cjs → transform-B92noEAU.cjs} +13 -3
  287. package/dist/src/{transform-DmSzMsCP.js → transform-CD9wrP31.js} +8 -4
  288. package/dist/src/{transform-CUPglRUI.js → transform-D7-gzzhD.js} +8 -4
  289. package/dist/src/{transform-CLzSt5fi.js → transform-D8kXC-nB.js} +8 -4
  290. package/dist/src/{util-CnqjxsAd.js → util-BTAyQmdN.js} +2 -2
  291. package/dist/src/{util-Bg-aMimr.js → util-BbMJxgff.js} +3 -3
  292. package/dist/src/{util-mVC_YCag.cjs → util-C62dCLH_.cjs} +3 -3
  293. package/dist/src/{util-16aq4oHW.js → util-CD4LxH5h.js} +4 -4
  294. package/dist/src/{util-CRYfgRHi.js → util-CHCKTSi5.js} +3 -3
  295. package/dist/src/{util-BIYgspDB.js → util-CKQ_tuWG.js} +4 -4
  296. package/dist/src/{util-Bptzcit_.js → util-CVI1oD-n.js} +3 -3
  297. package/dist/src/{util-DHG9r5sC.js → util-CcW4TZSn.js} +2 -2
  298. package/dist/src/{util-DJLHqGS5.js → util-Ci_vm5u1.js} +2 -2
  299. package/dist/src/{util-D9xyoiGG.js → util-CkLsVF3e.js} +3 -3
  300. package/dist/src/{util-BsKq95ai.js → util-CqfcdA-f.js} +3 -3
  301. package/dist/src/{util-tsZfE0-_.js → util-CubC5Tyt.js} +3 -3
  302. package/dist/src/{util-BHfVEhSs.cjs → util-cAY5C8xI.cjs} +3 -3
  303. package/dist/src/{util-DEMRW89M2.cjs → util-jOGJmpWE2.cjs} +4 -4
  304. package/dist/src/{util-CpS555tc2.js → util-s0NU5XTE2.js} +4 -4
  305. package/dist/src/{util-DJFl6JZF.cjs → util-tFLdovkA.cjs} +2 -2
  306. package/dist/tsconfig.tsbuildinfo +1 -1
  307. package/package.json +1 -1
  308. package/dist/src/app/assets/Report-Cx3cN9Nt.js +0 -1
  309. package/dist/src/app/assets/index-D44ihjH5.css +0 -1
  310. package/dist/src/app/assets/index-DzyLrNWM.js +0 -413
  311. package/dist/src/cache-D_D5rsiE.js +0 -3
  312. package/dist/src/cloud-BmVZ8W_3.js +0 -3
  313. package/dist/src/codex-sdk-BTI9Fvnt.js +0 -3
  314. package/dist/src/evalResult-uL1BStGk.js +0 -3
  315. package/dist/src/evaluator-C2YPxWQP.js +0 -3
  316. package/dist/src/fetch-DAe6a2ih.js +0 -3
  317. package/dist/src/graders-BZe_w0E4.js +0 -3
  318. package/dist/src/quiverai-B8a5RqGP.js +0 -213
  319. package/dist/src/quiverai-BoHFg1Vw.js +0 -214
  320. package/dist/src/quiverai-DYyzyVTF.cjs +0 -213
  321. package/dist/src/quiverai-ktAnwSBA.js +0 -213
  322. package/dist/src/server-DY7p-P4-.js +0 -3
  323. package/dist/src/telemetry-BOwRcACl.js +0 -3
@@ -1,41 +1,41 @@
1
1
  import { t as __exportAll } from "../rolldown-runtime-B_-DWIq7.js";
2
2
  import { A as isCI, C as state, D as getEnvString, E as getEnvInt, O as getEvalTimeoutMs, T as getEnvFloat, _ as getAjv, b as safeJsonStringify, c as setLogLevel, g as extractJsonObjects, h as extractFirstJsonObject, i as isDebugEnabled, k as getMaxEvalTimeMs, l as REDACTED, n as getLogLevel, o as logger, p as sanitizeObject, r as globalLogCallback, s as setLogCallback, t as clearLogCallbackIfOwned, w as getEnvBool, x as summarizeEvaluateResultForLogging, y as orderKeys } from "../logger-Dz3siSzF.js";
3
- import { B as TERMINAL_MAX_WIDTH, E as getRequestTimeoutMs, H as getDefaultShareViewBaseUrl, J as HUMAN_ASSERTION_TYPE, K as VERSION, M as parseChatPrompt, U as getShareApiBaseUrl, V as getDefaultPort, W as getShareViewBaseUrl, b as getCurrentTimestamp, c as CloudConfig, k as isPromptfooSampleTarget, l as cloudConfig, m as NON_TRANSIENT_HTTP_STATUSES, n as fetchWithRetries, q as FILE_METADATA_KEY, r as fetchWithTimeout, t as fetchWithProxy, v as isNonTransientHttpStatus, x as sleep } from "../fetch-BtdsABrj.js";
3
+ import { B as TERMINAL_MAX_WIDTH, E as getRequestTimeoutMs, H as getDefaultShareViewBaseUrl, J as HUMAN_ASSERTION_TYPE, K as VERSION, M as parseChatPrompt, U as getShareApiBaseUrl, V as getDefaultPort, W as getShareViewBaseUrl, b as getCurrentTimestamp, c as CloudConfig, k as isPromptfooSampleTarget, l as cloudConfig, m as NON_TRANSIENT_HTTP_STATUSES, n as fetchWithRetries, q as FILE_METADATA_KEY, r as fetchWithTimeout, t as fetchWithProxy, v as isNonTransientHttpStatus, x as sleep } from "../fetch-BErWGTUY.js";
4
4
  import { t as invariant } from "../invariant-vgHWClmd.js";
5
- import { a as getAuthor, c as getUserId, d as setUserEmail, i as clearUserEmail, l as isLoggedIntoCloud, n as checkEmailStatus, r as checkEmailStatusAndMaybeExit, s as getUserEmail, t as EmailValidationError, u as promptForEmailUnverified } from "../accounts-ECb2xAYn.js";
5
+ import { a as getAuthor, c as getUserId, d as setUserEmail, i as clearUserEmail, l as isLoggedIntoCloud, n as checkEmailStatus, r as checkEmailStatusAndMaybeExit, s as getUserEmail, t as EmailValidationError, u as promptForEmailUnverified } from "../accounts-BjCiVnil.js";
6
6
  import { a as safeJoin, r as importModule, t as getDirectory } from "../esm-DGM47-P2.js";
7
7
  import { t as providerRegistry } from "../providerRegistry-DT71o5iQ.js";
8
- import { A as maybeLoadConfigFromExternalFile, B as parseFileUrl, C as isProviderAllowed, E as normalizeProviderRef, G as extractVariablesFromTemplates, H as renderVarsInObject, I as pathExists, K as getNunjucksEngine, L as readFilters, P as maybeLoadToolsFromExternalFile, R as readOutput, S as isOpenAiProvider, U as analyzeTemplateReference, V as renderEnvOnlyInObject, W as extractVariablesFromTemplate, _ as checkProviderApiKeys, a as evalTableToJson, b as isAnthropicProvider, c as getEvalTablePromptStrippedPayload, d as setupEnv, f as deduplicateTestCases, g as resultIsForTestCase, h as getTestCaseDeduplicationKey, i as ComparisonEvalNotFoundError, j as maybeLoadFromExternalFile, l as mergeComparisonTables, m as filterRuntimeVars, n as writeMultipleOutputs, o as generateEvalCsv, p as extractRuntimeVars, r as writeOutput, s as getEvalTableOutputPromptLocationsBySize, t as printBorder, u as fetchCsvFromGoogleSheet, v as doesProviderRefMatch, x as isGoogleProvider, y as getProviderDescription, z as loadFunction } from "../util-DJLHqGS5.js";
8
+ import { A as maybeLoadConfigFromExternalFile, B as parseFileUrl, C as isProviderAllowed, E as normalizeProviderRef, G as extractVariablesFromTemplates, H as renderVarsInObject, I as pathExists, K as getNunjucksEngine, L as readFilters, P as maybeLoadToolsFromExternalFile, R as readOutput, S as isOpenAiProvider, U as analyzeTemplateReference, V as renderEnvOnlyInObject, W as extractVariablesFromTemplate, _ as checkProviderApiKeys, a as evalTableToJson, b as isAnthropicProvider, c as getEvalTablePromptStrippedPayload, d as setupEnv, f as deduplicateTestCases, g as resultIsForTestCase, h as getTestCaseDeduplicationKey, i as ComparisonEvalNotFoundError, j as maybeLoadFromExternalFile, l as mergeComparisonTables, m as filterRuntimeVars, n as writeMultipleOutputs, o as generateEvalCsv, p as extractRuntimeVars, r as writeOutput, s as getEvalTableOutputPromptLocationsBySize, t as printBorder, u as fetchCsvFromGoogleSheet, v as doesProviderRefMatch, x as isGoogleProvider, y as getProviderDescription, z as loadFunction } from "../util-Ci_vm5u1.js";
9
9
  import { n as sha256, t as randomSequence } from "../createHash-BWWdtTvT.js";
10
- import { c as withCacheNamespace, i as getCache, n as disableCache, r as fetchWithCache, s as withCacheEnabled } from "../cache-Z4cklSHj.js";
10
+ import { c as withCacheNamespace, i as getCache, n as disableCache, r as fetchWithCache, s as withCacheEnabled } from "../cache-WT_2CYA-.js";
11
11
  import { $ as LLAMA_GUARD_REPLICATE_PROVIDER, A as DEFAULT_STRATEGIES, C as ProbeLimitExceededError, D as AGENTIC_STRATEGIES, E as isUuid, F as isCustomStrategy, G as CANARY_BREAKING_STRATEGY_IDS, H as ALIASED_PLUGIN_MAPPINGS, I as isFanoutStrategy, J as FINANCIAL_PLUGINS, K as DATASET_EXEMPT_PLUGINS, L as isMultiTurnStrategy, M as STRATEGY_COLLECTIONS, N as STRATEGY_COLLECTION_MAPPINGS, O as ALL_STRATEGIES, P as getDefaultNFanout, Q as LLAMA_GUARD_ENABLED_CATEGORIES, R as Severity, U as ALL_PLUGINS, V as riskCategorySeverityMap, W as BIAS_PLUGINS, X as HARM_PLUGINS, Y as FOUNDATION_PLUGINS, Z as INSURANCE_PLUGINS, _ as ProviderOptionsSchema, _t as PromptSchema, a as EvaluateOptionsSchema, at as PLUGIN_CATEGORIES, b as PartialGenerationError, c as TestSuiteConfigSchema, ct as REMOTE_ONLY_PLUGIN_IDS, d as isGradingResult, dt as TELECOM_PLUGINS, et as MEDICAL_PLUGINS, f as isResultFailureReason, ft as UNALIGNED_PROVIDER_HARM_PLUGINS, g as RedteamConfigSchema, h as isCliEventSource, i as EvalResultsFilterMode, it as PII_PLUGINS, j as MULTI_TURN_STRATEGIES, l as TestSuiteSchema, lt as STRATEGY_EXEMPT_PLUGINS, m as isProviderOptions, mt as CODING_AGENT_PLUGINS, n as BaseAssertionTypesSchema, nt as MULTI_INPUT_VAR, ot as REDTEAM_MODEL, p as isApiProvider, pt as CODING_AGENT_CORE_PLUGINS, q as DEFAULT_PLUGINS, r as CommandLineOptionsSchema, rt as PHARMACY_PLUGINS, s as ResultFailureReason, st as REDTEAM_PROVIDER_HARM_PLUGINS, t as AssertionOrSetSchema, tt as MULTI_INPUT_EXCLUDED_PLUGINS, u as UnifiedConfigSchema, ut as TEEN_SAFETY_PLUGINS, v as ProvidersSchema, vt as filterByRange, w as StrategyConfigSchema, x as PluginConfigSchema, y as ConversationMessageSchema, z as categoryAliases } from "../types-13A1ySQW.js";
12
12
  import { a as isImageFile, i as isAudioFile, o as isJavascriptFile, s as isVideoFile } from "../shared-DdmcneC5.js";
13
13
  import { r as runPython } from "../pythonUtils-lzvSenw7.js";
14
- import { d as validateFunctionCall } from "../util-CRYfgRHi.js";
15
- import { a as getRemoteHealthUrl, l as shouldGenerateRemote, n as getRemoteGenerationExplicitlyDisabledError, r as getRemoteGenerationUrl, s as neverGenerateRemote } from "../remoteGeneration-DiAuGk9s.js";
16
- import { a as openBrowser, i as checkServerRunning, n as BrowserBehaviorNames, s as promptYesNo, t as BrowserBehavior } from "../server-Ds_P02x6.js";
14
+ import { d as validateFunctionCall } from "../util-CHCKTSi5.js";
15
+ import { a as getRemoteHealthUrl, l as shouldGenerateRemote, n as getRemoteGenerationExplicitlyDisabledError, r as getRemoteGenerationUrl, s as neverGenerateRemote } from "../remoteGeneration-wvnQpzN1.js";
16
+ import { a as openBrowser, i as checkServerRunning, n as BrowserBehaviorNames, s as promptYesNo, t as BrowserBehavior } from "../server-D0pdY_yM.js";
17
17
  import { _ as getDbSignalPath, a as evalResultsTable, c as evalsToPromptsTable, d as promptsTable, f as spansTable, g as getDb, h as closeDbIfOpen, i as datasetsTable, l as evalsToTagsTable, m as tracesTable, n as blobReferencesTable, o as evalsTable, p as tagsTable, r as configsTable, s as evalsToDatasetsTable, t as blobAssetsTable, u as modelAuditsTable } from "../tables-BzRWNH5Y.js";
18
18
  import { a as generateIdFromPrompt, t as hashPrompt } from "../utils-Dk9qWRdP.js";
19
19
  import { a as createEmptyTokenUsage, i as createEmptyAssertions, n as accumulateResponseTokenUsage, o as normalizeTokenUsage, r as accumulateTokenUsage, t as accumulateAssertionTokenUsage } from "../tokenUsageUtils-DFcAf2Fd.js";
20
- import { n as getBlobUrl, t as getBlobByHash } from "../blobs-Dxfq3woN.js";
21
- import { n as isBlobStorageEnabled, t as extractAndStoreBinaryData } from "../extractor-ItsKh8lH.js";
22
- import { a as storeMedia, c as getEvalConfigFromCloud, h as resolveTeamId, i as retrieveMedia, l as getOrgContext, m as makeRequest, n as isMediaStorageEnabled, o as checkCloudPermissions, p as isCloudProvider, r as mediaExists, s as getCloudDatabaseId, t as getMediaStorage, u as getPluginSeverityOverridesFromCloud } from "../storage-D_qaZpfe.js";
23
- import { r as TelemetryEventSchema, t as telemetry } from "../telemetry-3fTnWcSU.js";
24
- import { t as OpenAiChatCompletionProvider } from "../chat-BE0BP7oZ.js";
25
- import { y as validateFunctionCall$1 } from "../transform-CLzSt5fi.js";
26
- import { $ as CONTEXT_FAITHFULNESS_LONGFORM, A as DivergentRepetitionPlugin, B as matchesFactuality, C as getPiiLeakTestsForCategory, Ct as withProviderCallExecutionContext, D as HarmbenchPlugin, Dt as getDefaultProviders, E as ImitationPlugin, Et as sampleArray, F as AegisPlugin, G as doRemoteGrading, H as matchesLlmRubric, I as RedteamPluginBase, J as readProviderPromptMap, K as processPrompts, L as fetchHuggingFaceDataset, M as CrossSessionLeakPlugin, N as ContractPlugin, O as HallucinationPlugin, Ot as DEFAULT_ANTHROPIC_MODEL, P as BeavertailsPlugin, Q as ANSWER_RELEVANCY_GENERATE, R as isGraderFailure, S as PlinyPlugin, St as getProviderCallExecutionContext, T as IntentPlugin, Tt as retryWithDeduplication, U as matchesPiScore, V as matchesGEval, W as matchesTrajectoryGoalSuccess, X as SELECT_BEST_PROMPT, Y as DEFAULT_WEB_SEARCH_PROMPT, Z as SUGGEST_PROMPTS_SYSTEM_MESSAGE, _ as PoliticsPlugin, _t as loadFromJavaScriptFile, a as UnverifiableClaimsPlugin, at as CONTEXT_RELEVANCE_BAD, b as isValidPolicyObject, bt as getAndCheckProvider, c as ToolDiscoveryPlugin, ct as cosineSimilarity, d as TeenSafetyDangerousContentPlugin, dt as fail, et as CONTEXT_FAITHFULNESS_NLI_STATEMENTS, f as TeenSafetyAgeRestrictedGoodsAndServicesPlugin, ft as normalizeMatcherTokenUsage, g as PromptExtractionPlugin, gt as getFinalTest, h as RbacPlugin, ht as coerceString, i as VLGuardPlugin, it as CONTEXT_RELEVANCE, j as DebugAccessPlugin, k as ExcessiveAgencyPlugin, l as TeenSafetyHarmfulBodyIdealsPlugin, lt as dotProduct, m as ShellInjectionPlugin, mt as tryParse, nt as CONTEXT_RECALL_ATTRIBUTED_TOKEN, o as UnsafeBenchPlugin, ot as loadRubricPrompt, p as SqlInjectionPlugin, pt as splitIntoSentences, q as readPrompts, r as VLSUPlugin, rt as CONTEXT_RECALL_NOT_ATTRIBUTED_TOKEN, s as ToxicChatPlugin, st as renderLlmRubricPrompt, t as getGraderById, tt as CONTEXT_RECALL, u as TeenSafetyDangerousRoleplayPlugin, ut as euclideanDistance, v as PolicyPlugin, vt as processFileReference, w as OverreliancePlugin, wt as getCustomPolicies, x as makeInlinePolicyIdSync, xt as getGradingProvider, y as determinePolicyTypeFromId, yt as callProviderWithContext, z as matchesClosedQa } from "../graders-BrLOEmxX.js";
27
- import { S as AIStudioChatProvider, a as resolveProvider, d as createTransformRequest, f as createTransformResponse, l as MCPProvider, n as loadApiProvider, o as resolveProviderConfigs, p as GoogleLiveProvider, r as loadApiProviders, t as getProviderIds, u as HttpProvider, y as VertexChatProvider } from "../providers-BnjFZtaq.js";
20
+ import { n as getBlobUrl, t as getBlobByHash } from "../blobs-DQ4bXN5O.js";
21
+ import { n as isBlobStorageEnabled, t as extractAndStoreBinaryData } from "../extractor-h1HS9f6y.js";
22
+ import { a as storeMedia, c as getEvalConfigFromCloud, h as resolveTeamId, i as retrieveMedia, l as getOrgContext, m as makeRequest, n as isMediaStorageEnabled, o as checkCloudPermissions, p as isCloudProvider, r as mediaExists, s as getCloudDatabaseId, t as getMediaStorage, u as getPluginSeverityOverridesFromCloud } from "../storage-CK2YYGUg.js";
23
+ import { r as TelemetryEventSchema, t as telemetry } from "../telemetry-CvJEPKK6.js";
24
+ import { t as OpenAiChatCompletionProvider } from "../chat-FNWhaysj.js";
25
+ import { y as validateFunctionCall$1 } from "../transform-D8kXC-nB.js";
26
+ import { $ as CONTEXT_FAITHFULNESS_LONGFORM, A as DivergentRepetitionPlugin, B as matchesFactuality, C as getPiiLeakTestsForCategory, Ct as withProviderCallExecutionContext, D as HarmbenchPlugin, Dt as getDefaultProviders, E as ImitationPlugin, Et as sampleArray, F as AegisPlugin, G as doRemoteGrading, H as matchesLlmRubric, I as RedteamPluginBase, J as readProviderPromptMap, K as processPrompts, L as fetchHuggingFaceDataset, M as CrossSessionLeakPlugin, N as ContractPlugin, O as HallucinationPlugin, Ot as DEFAULT_ANTHROPIC_MODEL, P as BeavertailsPlugin, Q as ANSWER_RELEVANCY_GENERATE, R as isGraderFailure, S as PlinyPlugin, St as getProviderCallExecutionContext, T as IntentPlugin, Tt as retryWithDeduplication, U as matchesPiScore, V as matchesGEval, W as matchesTrajectoryGoalSuccess, X as SELECT_BEST_PROMPT, Y as DEFAULT_WEB_SEARCH_PROMPT, Z as SUGGEST_PROMPTS_SYSTEM_MESSAGE, _ as PoliticsPlugin, _t as loadFromJavaScriptFile, a as UnverifiableClaimsPlugin, at as CONTEXT_RELEVANCE_BAD, b as isValidPolicyObject, bt as getAndCheckProvider, c as ToolDiscoveryPlugin, ct as cosineSimilarity, d as TeenSafetyDangerousContentPlugin, dt as fail, et as CONTEXT_FAITHFULNESS_NLI_STATEMENTS, f as TeenSafetyAgeRestrictedGoodsAndServicesPlugin, ft as normalizeMatcherTokenUsage, g as PromptExtractionPlugin, gt as getFinalTest, h as RbacPlugin, ht as coerceString, i as VLGuardPlugin, it as CONTEXT_RELEVANCE, j as DebugAccessPlugin, k as ExcessiveAgencyPlugin, l as TeenSafetyHarmfulBodyIdealsPlugin, lt as dotProduct, m as ShellInjectionPlugin, mt as tryParse, nt as CONTEXT_RECALL_ATTRIBUTED_TOKEN, o as UnsafeBenchPlugin, ot as loadRubricPrompt, p as SqlInjectionPlugin, pt as splitIntoSentences, q as readPrompts, r as VLSUPlugin, rt as CONTEXT_RECALL_NOT_ATTRIBUTED_TOKEN, s as ToxicChatPlugin, st as renderLlmRubricPrompt, t as getGraderById, tt as CONTEXT_RECALL, u as TeenSafetyDangerousRoleplayPlugin, ut as euclideanDistance, v as PolicyPlugin, vt as processFileReference, w as OverreliancePlugin, wt as getCustomPolicies, x as makeInlinePolicyIdSync, xt as getGradingProvider, y as determinePolicyTypeFromId, yt as callProviderWithContext, z as matchesClosedQa } from "../graders-CO5drf0x.js";
27
+ import { S as AIStudioChatProvider, a as resolveProvider, d as createTransformRequest, f as createTransformResponse, l as MCPProvider, n as loadApiProvider, o as resolveProviderConfigs, p as GoogleLiveProvider, r as loadApiProviders, t as getProviderIds, u as HttpProvider, y as VertexChatProvider } from "../providers-gntyGa2T.js";
28
28
  import { t as ellipsize } from "../text-CZr46tp_.js";
29
29
  import { t as getProcessShim } from "../processShim-B-jPWm9-.js";
30
30
  import { n as loadFromPackage, t as isPackagePath } from "../packageParser-CgmXWzKR.js";
31
31
  import { n as runRuby } from "../rubyUtils-CrP_g08f.js";
32
32
  import { n as createPlaceholderInputValue, t as buildPromptInputDescriptions } from "../inputVariables-BqNKeMvJ.js";
33
- import { a as extractPromptFromTags, c as isBasicRefusal, i as extractMaterializedVariablesFromJsonWithMetadata, n as extractGoalFromPrompt, o as getSessionId, s as getShortPluginId } from "../util-BIYgspDB.js";
34
- import { a as assertRemoteMaterializationHandled, l as requiresRemoteMaterialization, n as PromptfooHarmfulCompletionProvider } from "../promptfoo-C4g2Lx9t.js";
35
- import { f as redteamProviderManager, g as createProviderRateLimitOptions, h as createRateLimitRegistry, m as TokenUsageTracker } from "../shared-D_0FXjLS.js";
33
+ import { a as extractPromptFromTags, c as isBasicRefusal, i as extractMaterializedVariablesFromJsonWithMetadata, n as extractGoalFromPrompt, o as getSessionId, s as getShortPluginId } from "../util-CKQ_tuWG.js";
34
+ import { a as assertRemoteMaterializationHandled, l as requiresRemoteMaterialization, n as PromptfooHarmfulCompletionProvider } from "../promptfoo-CkDcgxiW.js";
35
+ import { f as redteamProviderManager, g as createProviderRateLimitOptions, h as createRateLimitRegistry, m as TokenUsageTracker } from "../shared-CnrYC0Dk.js";
36
36
  import { a as getTransformLabel, i as getTransformErrorMessage, n as TRANSFORM_KEYS, o as transform, r as TransformInputType, t as INLINE_FUNCTION_LABEL } from "../transform-X7qVSgJx.js";
37
37
  import { i as throwIfTargetPromptExceedsMaxChars, n as getGeneratedPromptOverLimit, r as getMaxCharsPerMessageModifierValue, t as MAX_CHARS_PER_MESSAGE_MODIFIER_KEY } from "../promptLength-Bx76P6F9.js";
38
- import { n as checkExfilTracking, t as addIndirectWebPwnTestCases } from "../indirectWebPwn-BWGexuih.js";
38
+ import { n as checkExfilTracking, t as addIndirectWebPwnTestCases } from "../indirectWebPwn-C779yDi6.js";
39
39
  import dotenv from "dotenv";
40
40
  import * as fs$3 from "fs";
41
41
  import fs, { createWriteStream, existsSync, readFileSync } from "fs";
@@ -45,6 +45,8 @@ import chalk from "chalk";
45
45
  import { AsyncResource } from "node:async_hooks";
46
46
  import * as os$1 from "os";
47
47
  import os, { homedir } from "os";
48
+ import Ajv from "ajv";
49
+ import addFormats from "ajv-formats";
48
50
  import yaml from "js-yaml";
49
51
  import input from "@inquirer/input";
50
52
  import { z } from "zod";
@@ -9877,6 +9879,193 @@ function maybeEmitAzureOpenAiWarning(testSuite, tests) {
9877
9879
  return false;
9878
9880
  }
9879
9881
  //#endregion
9882
+ //#region src/redteam/mcpMaterialization.ts
9883
+ const TOOL_NAME_FIELDS = [
9884
+ "tool",
9885
+ "toolName",
9886
+ "function",
9887
+ "functionName",
9888
+ "name"
9889
+ ];
9890
+ const TOOL_ARGS_FIELDS = [
9891
+ "args",
9892
+ "arguments",
9893
+ "params",
9894
+ "parameters"
9895
+ ];
9896
+ const ajv = new Ajv({
9897
+ allErrors: true,
9898
+ strictSchema: false
9899
+ });
9900
+ addFormats(ajv);
9901
+ function parseMcpToolCall(value, allowedToolNames) {
9902
+ let parsed = value;
9903
+ if (typeof value === "string") try {
9904
+ parsed = JSON.parse(value);
9905
+ } catch {
9906
+ return;
9907
+ }
9908
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) return;
9909
+ const record = parsed;
9910
+ const toolName = TOOL_NAME_FIELDS.map((field) => record[field]).find((fieldValue) => typeof fieldValue === "string" && allowedToolNames.has(fieldValue));
9911
+ if (!toolName) return;
9912
+ return {
9913
+ tool: toolName,
9914
+ args: TOOL_ARGS_FIELDS.map((field) => record[field]).find((fieldValue) => typeof fieldValue === "object" && fieldValue !== null && !Array.isArray(fieldValue)) ?? {}
9915
+ };
9916
+ }
9917
+ function validateMcpToolCall(toolCall, toolByName) {
9918
+ if (!toolCall) return false;
9919
+ const tool = toolByName.get(toolCall.tool);
9920
+ if (!tool) return false;
9921
+ try {
9922
+ return ajv.validate(tool.inputSchema ?? { type: "object" }, toolCall.args) === true;
9923
+ } catch (error) {
9924
+ logger.warn(`Failed to validate MCP tool call for ${tool.name}: ${error instanceof Error ? error.message : String(error)}`);
9925
+ return false;
9926
+ }
9927
+ }
9928
+ function stringifyToolCall(toolCall) {
9929
+ return JSON.stringify({
9930
+ tool: toolCall.tool,
9931
+ args: toolCall.args
9932
+ });
9933
+ }
9934
+ function getProviderOutputString(response) {
9935
+ if (Array.isArray(response.output)) return response.output.join("\n");
9936
+ return response.output === void 0 ? "" : String(response.output);
9937
+ }
9938
+ async function repairMcpToolCallWithProvider({ allowedToolNames, purpose, provider, toolByName, tools, value }) {
9939
+ let response;
9940
+ try {
9941
+ response = await provider.callApi(dedent`
9942
+ Convert this red team test intent into exactly one MCP tool call JSON object.
9943
+
9944
+ Return JSON only, with this exact shape:
9945
+ {"tool":"tool_name","args":{}}
9946
+
9947
+ Choose only one of these MCP tools and use its input schema:
9948
+ ${JSON.stringify(tools, null, 2)}
9949
+
9950
+ Application purpose:
9951
+ ${purpose}
9952
+
9953
+ Red team test intent:
9954
+ ${typeof value === "string" ? value : JSON.stringify(value)}
9955
+ `.trim());
9956
+ } catch (error) {
9957
+ logger.debug(`Failed to repair MCP value with provider: ${error instanceof Error ? error.message : String(error)}`);
9958
+ return;
9959
+ }
9960
+ if (response.error) {
9961
+ logger.warn(`Failed to materialize MCP value: ${response.error}`);
9962
+ return;
9963
+ }
9964
+ const parsedObjects = extractJsonObjects(getProviderOutputString(response));
9965
+ for (const parsedObject of parsedObjects) {
9966
+ const toolCall = parseMcpToolCall(parsedObject, allowedToolNames);
9967
+ if (validateMcpToolCall(toolCall, toolByName)) return toolCall;
9968
+ }
9969
+ }
9970
+ async function materializeMcpValue({ intentValue, purpose, provider, tools, value }) {
9971
+ if (tools.length === 0) return typeof value === "string" ? value : value === void 0 ? "" : JSON.stringify(value);
9972
+ const allowedToolNames = new Set(tools.map((tool) => tool.name));
9973
+ const toolByName = new Map(tools.map((tool) => [tool.name, tool]));
9974
+ const existingToolCall = parseMcpToolCall(value, allowedToolNames);
9975
+ if (existingToolCall && validateMcpToolCall(existingToolCall, toolByName)) return stringifyToolCall(existingToolCall);
9976
+ const materializationIntentValue = intentValue ?? value;
9977
+ if (!provider) throw new Error(`Failed to materialize MCP value: inference provider is required for non-JSON MCP input ${JSON.stringify(value)}`);
9978
+ const toolCall = await repairMcpToolCallWithProvider({
9979
+ allowedToolNames,
9980
+ provider,
9981
+ purpose: purpose ?? "",
9982
+ toolByName,
9983
+ tools,
9984
+ value: materializationIntentValue
9985
+ });
9986
+ if (!toolCall || !validateMcpToolCall(toolCall, toolByName)) throw new Error(`Failed to materialize MCP value: ${JSON.stringify(value)}`);
9987
+ return stringifyToolCall(toolCall);
9988
+ }
9989
+ //#endregion
9990
+ //#region src/redteam/mcpTargetProvider.ts
9991
+ const WRAPPED_MCP_PROVIDER = Symbol("wrappedMcpProvider");
9992
+ function isRedteamTest(test) {
9993
+ return Boolean(test?.metadata?.pluginId || test?.metadata?.strategyId);
9994
+ }
9995
+ function isMcpProviderWithTools(provider) {
9996
+ return provider instanceof MCPProvider && typeof provider.getAvailableTools === "function";
9997
+ }
9998
+ var RedteamMcpTargetProvider = class {
9999
+ [WRAPPED_MCP_PROVIDER] = true;
10000
+ label;
10001
+ config;
10002
+ delay;
10003
+ transform;
10004
+ inputs;
10005
+ toolsPromise;
10006
+ constructor(target) {
10007
+ this.target = target;
10008
+ this.label = target.label;
10009
+ this.config = target.config;
10010
+ this.delay = target.delay;
10011
+ this.transform = target.transform;
10012
+ this.inputs = target.inputs;
10013
+ }
10014
+ id() {
10015
+ return this.target.id();
10016
+ }
10017
+ toString() {
10018
+ return this.target.toString?.() ?? this.id();
10019
+ }
10020
+ async callApi(prompt, context, options) {
10021
+ const tools = await this.getTools();
10022
+ if (tools.length === 0) return this.target.callApi(prompt, context, options);
10023
+ try {
10024
+ const intentValue = context?.test?.metadata?.goal ?? context?.test?.metadata?.originalPrompt ?? prompt;
10025
+ const purpose = String(context?.test?.metadata?.purpose ?? "");
10026
+ let materializedPrompt;
10027
+ try {
10028
+ materializedPrompt = await materializeMcpValue({
10029
+ intentValue,
10030
+ purpose,
10031
+ tools,
10032
+ value: prompt
10033
+ });
10034
+ } catch (error) {
10035
+ logger.debug(`MCP target prompt requires inference materialization: ${error instanceof Error ? error.message : String(error)}`);
10036
+ materializedPrompt = await materializeMcpValue({
10037
+ intentValue,
10038
+ provider: await redteamProviderManager.getProvider({ jsonOnly: true }),
10039
+ purpose,
10040
+ tools,
10041
+ value: prompt
10042
+ });
10043
+ }
10044
+ const materializedContext = context ? {
10045
+ ...context,
10046
+ vars: {
10047
+ ...context.vars,
10048
+ prompt: materializedPrompt
10049
+ }
10050
+ } : void 0;
10051
+ return this.target.callApi(materializedPrompt, materializedContext, options);
10052
+ } catch (error) {
10053
+ return { error: `Failed to materialize MCP target prompt: ${error instanceof Error ? error.message : String(error)}` };
10054
+ }
10055
+ }
10056
+ async cleanup() {
10057
+ await this.target.cleanup?.();
10058
+ }
10059
+ getTools() {
10060
+ this.toolsPromise ??= this.target.getAvailableTools();
10061
+ return this.toolsPromise;
10062
+ }
10063
+ };
10064
+ function maybeWrapMcpProviderForRedteam(provider, test) {
10065
+ if (!isRedteamTest(test) || provider[WRAPPED_MCP_PROVIDER]) return provider;
10066
+ return isMcpProviderWithTools(provider) ? new RedteamMcpTargetProvider(provider) : provider;
10067
+ }
10068
+ //#endregion
9880
10069
  //#region src/scheduler/providerCallQueue.ts
9881
10070
  var ProviderGroupedCallQueue = class {
9882
10071
  jobs = [];
@@ -10728,12 +10917,13 @@ async function callProviderForRunEval({ abortSignal, evalId, evaluateOptions, fi
10728
10917
  };
10729
10918
  }
10730
10919
  async function callActiveProvider({ abortSignal, evalId, filters, promptForRender, provider, rateLimitRegistry, renderedPrompt, repeatIndex, test, traceContext, vars }) {
10731
- const activeProvider = isApiProvider(test.provider) ? test.provider : provider;
10920
+ const originalProvider = maybeWrapMcpProviderForRedteam(provider, test);
10921
+ const activeProvider = maybeWrapMcpProviderForRedteam(isApiProvider(test.provider) ? test.provider : originalProvider, test);
10732
10922
  logger.debug(`Provider type: ${activeProvider.id()}`);
10733
10923
  const callApiContext = buildCallApiContext({
10734
10924
  evalId,
10735
10925
  filters,
10736
- originalProvider: provider,
10926
+ originalProvider,
10737
10927
  promptForRender,
10738
10928
  repeatIndex,
10739
10929
  test,
@@ -11459,7 +11649,7 @@ async function resolveDefaultTestProvider(defaultTest, testCase) {
11459
11649
  const defaultProvider = defaultTest.provider;
11460
11650
  if (isApiProvider(defaultProvider)) return defaultProvider;
11461
11651
  if (typeof defaultProvider === "object" && defaultProvider.id) {
11462
- const { loadApiProvider } = await import("../providers-BnjFZtaq.js").then((n) => n.i);
11652
+ const { loadApiProvider } = await import("../providers-gntyGa2T.js").then((n) => n.i);
11463
11653
  return loadApiProvider(typeof defaultProvider.id === "function" ? defaultProvider.id() : defaultProvider.id, { options: defaultProvider });
11464
11654
  }
11465
11655
  return defaultProvider;
@@ -25102,7 +25292,7 @@ router.get("/", async (_req, res) => {
25102
25292
  };
25103
25293
  } catch (error) {
25104
25294
  logger.debug(`Failed to fetch latest version: ${error}`);
25105
- latestVersion = versionCache.latestVersion ?? "0.121.10";
25295
+ latestVersion = versionCache.latestVersion ?? "0.121.11";
25106
25296
  }
25107
25297
  }
25108
25298
  const selfHosted = getEnvBool("PROMPTFOO_SELF_HOSTED");
@@ -25111,7 +25301,7 @@ router.get("/", async (_req, res) => {
25111
25301
  selfHosted,
25112
25302
  isNpx
25113
25303
  });
25114
- const resolvedLatestVersion = latestVersion ?? "0.121.10";
25304
+ const resolvedLatestVersion = latestVersion ?? "0.121.11";
25115
25305
  const response = {
25116
25306
  currentVersion: VERSION,
25117
25307
  latestVersion: resolvedLatestVersion,
@@ -1,7 +1,7 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-D_mwlA32.cjs");
2
2
  const require_logger = require("./logger-DPITYeiW.cjs");
3
- const require_fetch = require("./fetch-OePjzUmA.cjs");
4
- const require_remoteGeneration = require("./remoteGeneration-B0K7iojS.cjs");
3
+ const require_fetch = require("./fetch-C7yU9CNr.cjs");
4
+ const require_remoteGeneration = require("./remoteGeneration-oSmtgmBY.cjs");
5
5
  let chalk = require("chalk");
6
6
  chalk = require_rolldown_runtime.__toESM(chalk, 1);
7
7
  require("opener");
@@ -123,4 +123,4 @@ Object.defineProperty(exports, "server_exports", {
123
123
  }
124
124
  });
125
125
 
126
- //# sourceMappingURL=server-B8UpdwtX.cjs.map
126
+ //# sourceMappingURL=server-B3QXCltR.cjs.map
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./chunk-DEq-mXcV.js";
2
2
  import { o as logger } from "./logger-2ZstxKQf.js";
3
- import { t as fetchWithProxy } from "./fetch-CFIU30wy.js";
4
- import { o as getRemoteVersionUrl } from "./remoteGeneration--4NPfyL-.js";
3
+ import { t as fetchWithProxy } from "./fetch-BNUDixbE.js";
4
+ import { o as getRemoteVersionUrl } from "./remoteGeneration-DuxbIn94.js";
5
5
  import "chalk";
6
6
  import "opener";
7
7
  import readline from "readline";
@@ -104,4 +104,4 @@ async function checkServerFeatureSupport(featureName, requiredBuildDate) {
104
104
  //#endregion
105
105
  export { server_exports as n, promptYesNo as r, checkServerFeatureSupport as t };
106
106
 
107
- //# sourceMappingURL=server-DaonK4kI.js.map
107
+ //# sourceMappingURL=server-Ctq0NOMp.js.map
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B_-DWIq7.js";
2
2
  import { o as logger } from "./logger-Dz3siSzF.js";
3
- import { V as getDefaultPort, t as fetchWithProxy } from "./fetch-BtdsABrj.js";
4
- import { o as getRemoteVersionUrl } from "./remoteGeneration-DiAuGk9s.js";
3
+ import { V as getDefaultPort, t as fetchWithProxy } from "./fetch-BErWGTUY.js";
4
+ import { o as getRemoteVersionUrl } from "./remoteGeneration-wvnQpzN1.js";
5
5
  import "chalk";
6
6
  import opener from "opener";
7
7
  import readline from "readline";
@@ -115,7 +115,7 @@ async function checkServerRunning(port = getDefaultPort()) {
115
115
  logger.debug(`Checking for existing server on port ${port}...`);
116
116
  try {
117
117
  const data = await (await fetchWithProxy(`http://localhost:${port}/health`, { headers: { "x-promptfoo-silent": "true" } })).json();
118
- return data.status === "OK" && data.version === "0.121.10";
118
+ return data.status === "OK" && data.version === "0.121.11";
119
119
  } catch (err) {
120
120
  logger.debug(`No existing server found - this is expected on first startup. ${String(err)}`);
121
121
  return false;
@@ -142,4 +142,4 @@ async function openBrowser(browserBehavior, port = getDefaultPort()) {
142
142
  //#endregion
143
143
  export { openBrowser as a, checkServerRunning as i, BrowserBehaviorNames as n, server_exports as o, checkServerFeatureSupport as r, promptYesNo as s, BrowserBehavior as t };
144
144
 
145
- //# sourceMappingURL=server-Ds_P02x6.js.map
145
+ //# sourceMappingURL=server-D0pdY_yM.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { c as logger } from "./logger-DNHkR_3S.js";
3
- import { V as getDefaultPort, r as fetchWithProxy } from "./fetch-BBa1Lxgp.js";
4
- import { o as getRemoteVersionUrl } from "./remoteGeneration-BlwssRVS.js";
3
+ import { V as getDefaultPort, r as fetchWithProxy } from "./fetch-B1Rb0VdL.js";
4
+ import { o as getRemoteVersionUrl } from "./remoteGeneration-CW6zHjQx.js";
5
5
  import chalk from "chalk";
6
6
  import opener from "opener";
7
7
  import readline from "readline";
@@ -108,7 +108,7 @@ async function checkServerRunning(port = getDefaultPort()) {
108
108
  logger.debug(`Checking for existing server on port ${port}...`);
109
109
  try {
110
110
  const data = await (await fetchWithProxy(`http://localhost:${port}/health`, { headers: { "x-promptfoo-silent": "true" } })).json();
111
- return data.status === "OK" && data.version === "0.121.10";
111
+ return data.status === "OK" && data.version === "0.121.11";
112
112
  } catch (err) {
113
113
  logger.debug(`No existing server found - this is expected on first startup. ${String(err)}`);
114
114
  return false;
@@ -178,4 +178,4 @@ async function openAuthBrowser(authUrl, welcomeUrl, browserBehavior) {
178
178
  //#endregion
179
179
  export { openAuthBrowser as a, promptYesNo as c, checkServerRunning as i, BrowserBehaviorNames as n, openBrowser as o, checkServerFeatureSupport as r, promptUser as s, BrowserBehavior as t };
180
180
 
181
- //# sourceMappingURL=server-CYxCnoVw.js.map
181
+ //# sourceMappingURL=server-DMCug-jv.js.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { r as checkServerFeatureSupport } from "./server-DMCug-jv.js";
3
+ export { checkServerFeatureSupport };
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { D as getEnvFloat, E as getEnvBool, O as getEnvInt, P as state, S as safeJsonStringify, c as logger, g as sanitizeUrl } from "./logger-DNHkR_3S.js";
3
- import { C as parseRetryAfter, S as parseRateLimitHeaders, b as sleep, g as isHttpRateLimitError, u as withFetchRetryContext, v as isTransientConnectionError } from "./fetch-BBa1Lxgp.js";
3
+ import { C as parseRetryAfter, S as parseRateLimitHeaders, b as sleep, g as isHttpRateLimitError, u as withFetchRetryContext, v as isTransientConnectionError } from "./fetch-B1Rb0VdL.js";
4
4
  import { t as invariant } from "./invariant-BtWWVVhl.js";
5
5
  import { m as isProviderOptions, p as isApiProvider } from "./types-C7iPXxc5.js";
6
- import { t as OpenAiChatCompletionProvider } from "./chat-CvN2w9fY.js";
6
+ import { t as OpenAiChatCompletionProvider } from "./chat-PfM8xgFA.js";
7
7
  import { a as createEmptyTokenUsage, r as accumulateTokenUsage } from "./tokenUsageUtils-kXKUpxyr.js";
8
- import { t as PromptfooChatCompletionProvider } from "./promptfoo-DdsPYNm7.js";
8
+ import { t as PromptfooChatCompletionProvider } from "./promptfoo-De6vQq9F.js";
9
9
  import { o as transform, r as TransformInputType } from "./transform-Dou53MRF2.js";
10
- import { n as isBlobStorageEnabled, r as shouldAttemptRemoteBlobUpload, t as extractAndStoreBinaryData } from "./extractor-DV6WBfAi.js";
10
+ import { n as isBlobStorageEnabled, r as shouldAttemptRemoteBlobUpload, t as extractAndStoreBinaryData } from "./extractor-DOhjGS0m.js";
11
11
  import { i as throwIfTargetPromptExceedsMaxChars } from "./promptLength-DYfhyE9j.js";
12
12
  import { createHash, randomUUID } from "crypto";
13
13
  import { EventEmitter } from "events";
@@ -955,7 +955,7 @@ const ATTACKER_MODEL = "gpt-5.5-2026-04-23";
955
955
  const ATTACKER_MODEL_SMALL = "gpt-5.4-mini-2026-03-17";
956
956
  const TEMPERATURE = getEnvFloat("PROMPTFOO_JAILBREAK_TEMPERATURE") ? getEnvFloat("PROMPTFOO_JAILBREAK_TEMPERATURE") : .7;
957
957
  const defaultRedteamProviderLoader = async (providers) => {
958
- const { loadApiProviders } = await import("./providers-xrARCHcC.js");
958
+ const { loadApiProviders } = await import("./providers-BIgLuX4Z.js");
959
959
  return loadApiProviders(providers);
960
960
  };
961
961
  let redteamProviderLoader = defaultRedteamProviderLoader;
@@ -1272,7 +1272,7 @@ async function tryUnblocking({ messages, lastResponse, goal, purpose }) {
1272
1272
  logger.debug("[Unblocking] Disabled by default (set PROMPTFOO_ENABLE_UNBLOCKING=true to enable)");
1273
1273
  return { success: false };
1274
1274
  }
1275
- const { checkServerFeatureSupport } = await import("./server-DY7p-P4-.js");
1275
+ const { checkServerFeatureSupport } = await import("./server-Ty5m26Vh.js");
1276
1276
  if (!await checkServerFeatureSupport("blocking-question-analysis", "2025-06-16T14:49:11-07:00")) {
1277
1277
  logger.debug("[Unblocking] Server does not support unblocking, skipping gracefully");
1278
1278
  return { success: false };
@@ -1346,4 +1346,4 @@ function getGraderAssertionValue(assertToUse) {
1346
1346
  //#endregion
1347
1347
  export { isRateLimitWrapped as _, formatRedteamHistoryAsTranscript as a, getTargetResponse as c, messagesToRedteamHistory as d, redteamProviderManager as f, createProviderRateLimitOptions as g, createRateLimitRegistry as h, externalizeResponseForRedteamHistory as i, isConversationEndedResponse as l, TokenUsageTracker as m, checkPenalizedPhrases as n, getGraderAssertionValue as o, tryUnblocking as p, createIterationContext as r, getLastMessageContent as s, buildGraderResultAssertion as t, isValidChatMessageArray as u };
1348
1348
 
1349
- //# sourceMappingURL=shared-BavzGCp0.js.map
1349
+ //# sourceMappingURL=shared-C-G3NQ1-.js.map
@@ -1,11 +1,11 @@
1
1
  import { C as state, E as getEnvInt, T as getEnvFloat, b as safeJsonStringify, m as sanitizeUrl, o as logger, w as getEnvBool } from "./logger-Dz3siSzF.js";
2
- import { C as parseRetryAfter, S as parseRateLimitHeaders, _ as isHttpRateLimitError, o as withFetchRetryContext, x as sleep, y as isTransientConnectionError } from "./fetch-BtdsABrj.js";
2
+ import { C as parseRetryAfter, S as parseRateLimitHeaders, _ as isHttpRateLimitError, o as withFetchRetryContext, x as sleep, y as isTransientConnectionError } from "./fetch-BErWGTUY.js";
3
3
  import { t as invariant } from "./invariant-vgHWClmd.js";
4
4
  import { m as isProviderOptions, p as isApiProvider } from "./types-13A1ySQW.js";
5
5
  import { a as createEmptyTokenUsage, r as accumulateTokenUsage } from "./tokenUsageUtils-DFcAf2Fd.js";
6
- import { n as isBlobStorageEnabled, r as shouldAttemptRemoteBlobUpload, t as extractAndStoreBinaryData } from "./extractor-ItsKh8lH.js";
7
- import { t as OpenAiChatCompletionProvider } from "./chat-BE0BP7oZ.js";
8
- import { t as PromptfooChatCompletionProvider } from "./promptfoo-C4g2Lx9t.js";
6
+ import { n as isBlobStorageEnabled, r as shouldAttemptRemoteBlobUpload, t as extractAndStoreBinaryData } from "./extractor-h1HS9f6y.js";
7
+ import { t as OpenAiChatCompletionProvider } from "./chat-FNWhaysj.js";
8
+ import { t as PromptfooChatCompletionProvider } from "./promptfoo-CkDcgxiW.js";
9
9
  import { o as transform, r as TransformInputType } from "./transform-X7qVSgJx.js";
10
10
  import { i as throwIfTargetPromptExceedsMaxChars } from "./promptLength-Bx76P6F9.js";
11
11
  import { createHash, randomUUID } from "crypto";
@@ -954,7 +954,7 @@ const ATTACKER_MODEL = "gpt-5.5-2026-04-23";
954
954
  const ATTACKER_MODEL_SMALL = "gpt-5.4-mini-2026-03-17";
955
955
  const TEMPERATURE = getEnvFloat("PROMPTFOO_JAILBREAK_TEMPERATURE") ? getEnvFloat("PROMPTFOO_JAILBREAK_TEMPERATURE") : .7;
956
956
  const defaultRedteamProviderLoader = async (providers) => {
957
- const { loadApiProviders } = await import("./providers-BnjFZtaq.js").then((n) => n.i);
957
+ const { loadApiProviders } = await import("./providers-gntyGa2T.js").then((n) => n.i);
958
958
  return loadApiProviders(providers);
959
959
  };
960
960
  let redteamProviderLoader = defaultRedteamProviderLoader;
@@ -1271,7 +1271,7 @@ async function tryUnblocking({ messages, lastResponse, goal, purpose }) {
1271
1271
  logger.debug("[Unblocking] Disabled by default (set PROMPTFOO_ENABLE_UNBLOCKING=true to enable)");
1272
1272
  return { success: false };
1273
1273
  }
1274
- const { checkServerFeatureSupport } = await import("./server-Ds_P02x6.js").then((n) => n.o);
1274
+ const { checkServerFeatureSupport } = await import("./server-D0pdY_yM.js").then((n) => n.o);
1275
1275
  if (!await checkServerFeatureSupport("blocking-question-analysis", "2025-06-16T14:49:11-07:00")) {
1276
1276
  logger.debug("[Unblocking] Server does not support unblocking, skipping gracefully");
1277
1277
  return { success: false };
@@ -1345,4 +1345,4 @@ function getGraderAssertionValue(assertToUse) {
1345
1345
  //#endregion
1346
1346
  export { isRateLimitWrapped as _, formatRedteamHistoryAsTranscript as a, getTargetResponse as c, messagesToRedteamHistory as d, redteamProviderManager as f, createProviderRateLimitOptions as g, createRateLimitRegistry as h, externalizeResponseForRedteamHistory as i, isConversationEndedResponse as l, TokenUsageTracker as m, checkPenalizedPhrases as n, getGraderAssertionValue as o, tryUnblocking as p, createIterationContext as r, getLastMessageContent as s, buildGraderResultAssertion as t, isValidChatMessageArray as u };
1347
1347
 
1348
- //# sourceMappingURL=shared-D_0FXjLS.js.map
1348
+ //# sourceMappingURL=shared-CnrYC0Dk.js.map
@@ -2,12 +2,12 @@ require("./rolldown-runtime-D_mwlA32.cjs");
2
2
  const require_logger = require("./logger-DPITYeiW.cjs");
3
3
  const require_invariant = require("./invariant-QtnLD03y.cjs");
4
4
  const require_types = require("./types-BszavsxN.cjs");
5
- const require_fetch = require("./fetch-OePjzUmA.cjs");
6
- const require_chat = require("./chat-CpFzezkO.cjs");
5
+ const require_fetch = require("./fetch-C7yU9CNr.cjs");
6
+ const require_chat = require("./chat-XVIowajy.cjs");
7
7
  const require_tokenUsageUtils = require("./tokenUsageUtils-_B-P8IAi.cjs");
8
- const require_promptfoo = require("./promptfoo-B9KuhWM0.cjs");
8
+ const require_promptfoo = require("./promptfoo-Dtw3i6YK.cjs");
9
9
  const require_transform = require("./transform-vjEQU-TM.cjs");
10
- const require_extractor = require("./extractor-_E41W0Fl.cjs");
10
+ const require_extractor = require("./extractor-CUVurbDW.cjs");
11
11
  const require_promptLength = require("./promptLength-CIZ9JExv.cjs");
12
12
  let crypto = require("crypto");
13
13
  let events = require("events");
@@ -955,7 +955,7 @@ const ATTACKER_MODEL = "gpt-5.5-2026-04-23";
955
955
  const ATTACKER_MODEL_SMALL = "gpt-5.4-mini-2026-03-17";
956
956
  const TEMPERATURE = require_logger.getEnvFloat("PROMPTFOO_JAILBREAK_TEMPERATURE") ? require_logger.getEnvFloat("PROMPTFOO_JAILBREAK_TEMPERATURE") : .7;
957
957
  const defaultRedteamProviderLoader = async (providers) => {
958
- const { loadApiProviders } = await Promise.resolve().then(() => require("./providers-BZ-QJYop.cjs")).then((n) => n.providers_exports);
958
+ const { loadApiProviders } = await Promise.resolve().then(() => require("./providers-CCRHPNv1.cjs")).then((n) => n.providers_exports);
959
959
  return loadApiProviders(providers);
960
960
  };
961
961
  let redteamProviderLoader = defaultRedteamProviderLoader;
@@ -1272,7 +1272,7 @@ async function tryUnblocking({ messages, lastResponse, goal, purpose }) {
1272
1272
  require_logger.logger.debug("[Unblocking] Disabled by default (set PROMPTFOO_ENABLE_UNBLOCKING=true to enable)");
1273
1273
  return { success: false };
1274
1274
  }
1275
- const { checkServerFeatureSupport } = await Promise.resolve().then(() => require("./server-B8UpdwtX.cjs")).then((n) => n.server_exports);
1275
+ const { checkServerFeatureSupport } = await Promise.resolve().then(() => require("./server-B3QXCltR.cjs")).then((n) => n.server_exports);
1276
1276
  if (!await checkServerFeatureSupport("blocking-question-analysis", "2025-06-16T14:49:11-07:00")) {
1277
1277
  require_logger.logger.debug("[Unblocking] Server does not support unblocking, skipping gracefully");
1278
1278
  return { success: false };
@@ -1447,4 +1447,4 @@ Object.defineProperty(exports, "tryUnblocking", {
1447
1447
  }
1448
1448
  });
1449
1449
 
1450
- //# sourceMappingURL=shared-DY3IzJlT.cjs.map
1450
+ //# sourceMappingURL=shared-D3PxrdDh.cjs.map
@@ -1,12 +1,12 @@
1
1
  import { A as state, C as getEnvBool, T as getEnvInt, b as safeJsonStringify, m as sanitizeUrl, o as logger, w as getEnvFloat } from "./logger-2ZstxKQf.js";
2
2
  import { t as invariant } from "./invariant-Ddh24eXh.js";
3
3
  import { Xt as isApiProvider, Zt as isProviderOptions } from "./types-HGDdIwQJ.js";
4
- import { _ as parseRateLimitHeaders, f as isHttpRateLimitError, g as sleep, m as isTransientConnectionError, o as withFetchRetryContext, v as parseRetryAfter } from "./fetch-CFIU30wy.js";
5
- import { t as OpenAiChatCompletionProvider } from "./chat-BWdNGktf.js";
4
+ import { _ as parseRateLimitHeaders, f as isHttpRateLimitError, g as sleep, m as isTransientConnectionError, o as withFetchRetryContext, v as parseRetryAfter } from "./fetch-BNUDixbE.js";
5
+ import { t as OpenAiChatCompletionProvider } from "./chat-DBG4VxM7.js";
6
6
  import { a as createEmptyTokenUsage, r as accumulateTokenUsage } from "./tokenUsageUtils-CmnQ0G2m.js";
7
- import { t as PromptfooChatCompletionProvider } from "./promptfoo-x112UyE1.js";
7
+ import { t as PromptfooChatCompletionProvider } from "./promptfoo-DhGR7OQn.js";
8
8
  import { o as transform, r as TransformInputType } from "./transform-5CliVIgB.js";
9
- import { n as isBlobStorageEnabled, r as shouldAttemptRemoteBlobUpload, t as extractAndStoreBinaryData } from "./extractor-B1hELWwJ.js";
9
+ import { n as isBlobStorageEnabled, r as shouldAttemptRemoteBlobUpload, t as extractAndStoreBinaryData } from "./extractor-BIqe0lMN.js";
10
10
  import { i as throwIfTargetPromptExceedsMaxChars } from "./promptLength-DwFSv-C5.js";
11
11
  import { createHash, randomUUID } from "crypto";
12
12
  import { EventEmitter } from "events";
@@ -954,7 +954,7 @@ const ATTACKER_MODEL = "gpt-5.5-2026-04-23";
954
954
  const ATTACKER_MODEL_SMALL = "gpt-5.4-mini-2026-03-17";
955
955
  const TEMPERATURE = getEnvFloat("PROMPTFOO_JAILBREAK_TEMPERATURE") ? getEnvFloat("PROMPTFOO_JAILBREAK_TEMPERATURE") : .7;
956
956
  const defaultRedteamProviderLoader = async (providers) => {
957
- const { loadApiProviders } = await import("./providers-D_OinWvd.js").then((n) => n.i);
957
+ const { loadApiProviders } = await import("./providers-j-ulWCzy.js").then((n) => n.i);
958
958
  return loadApiProviders(providers);
959
959
  };
960
960
  let redteamProviderLoader = defaultRedteamProviderLoader;
@@ -1271,7 +1271,7 @@ async function tryUnblocking({ messages, lastResponse, goal, purpose }) {
1271
1271
  logger.debug("[Unblocking] Disabled by default (set PROMPTFOO_ENABLE_UNBLOCKING=true to enable)");
1272
1272
  return { success: false };
1273
1273
  }
1274
- const { checkServerFeatureSupport } = await import("./server-DaonK4kI.js").then((n) => n.n);
1274
+ const { checkServerFeatureSupport } = await import("./server-Ctq0NOMp.js").then((n) => n.n);
1275
1275
  if (!await checkServerFeatureSupport("blocking-question-analysis", "2025-06-16T14:49:11-07:00")) {
1276
1276
  logger.debug("[Unblocking] Server does not support unblocking, skipping gracefully");
1277
1277
  return { success: false };
@@ -1345,4 +1345,4 @@ function getGraderAssertionValue(assertToUse) {
1345
1345
  //#endregion
1346
1346
  export { isRateLimitWrapped as _, formatRedteamHistoryAsTranscript as a, getTargetResponse as c, messagesToRedteamHistory as d, redteamProviderManager as f, createProviderRateLimitOptions as g, createRateLimitRegistry as h, externalizeResponseForRedteamHistory as i, isConversationEndedResponse as l, TokenUsageTracker as m, checkPenalizedPhrases as n, getGraderAssertionValue as o, tryUnblocking as p, createIterationContext as r, getLastMessageContent as s, buildGraderResultAssertion as t, isValidChatMessageArray as u };
1347
1347
 
1348
- //# sourceMappingURL=shared-B3IkjkNV.js.map
1348
+ //# sourceMappingURL=shared-DHDR-oS4.js.map
@@ -1,10 +1,10 @@
1
1
  import { o as logger } from "./logger-Dz3siSzF.js";
2
- import { x as sleep } from "./fetch-BtdsABrj.js";
2
+ import { x as sleep } from "./fetch-BErWGTUY.js";
3
3
  import { t as invariant } from "./invariant-vgHWClmd.js";
4
- import { A as maybeLoadConfigFromExternalFile, K as getNunjucksEngine } from "./util-DJLHqGS5.js";
4
+ import { A as maybeLoadConfigFromExternalFile, K as getNunjucksEngine } from "./util-Ci_vm5u1.js";
5
5
  import { a as createEmptyTokenUsage, n as accumulateResponseTokenUsage } from "./tokenUsageUtils-DFcAf2Fd.js";
6
- import { o as getSessionId } from "./util-BIYgspDB.js";
7
- import { r as PromptfooSimulatedUserProvider } from "./promptfoo-C4g2Lx9t.js";
6
+ import { o as getSessionId } from "./util-CKQ_tuWG.js";
7
+ import { r as PromptfooSimulatedUserProvider } from "./promptfoo-CkDcgxiW.js";
8
8
  //#region src/providers/simulatedUser.ts
9
9
  /**
10
10
  * TODO(Will): Ideally this class is an Abstract Base Class that's implemented by the
@@ -218,4 +218,4 @@ var SimulatedUser = class {
218
218
  //#endregion
219
219
  export { SimulatedUser as t };
220
220
 
221
- //# sourceMappingURL=simulatedUser-CokouWJT.js.map
221
+ //# sourceMappingURL=simulatedUser-AhNbPm55.js.map
@@ -1,10 +1,10 @@
1
1
  import { o as logger } from "./logger-2ZstxKQf.js";
2
2
  import { t as invariant } from "./invariant-Ddh24eXh.js";
3
- import { g as sleep } from "./fetch-CFIU30wy.js";
4
- import { B as getNunjucksEngine, w as maybeLoadConfigFromExternalFile } from "./util-CnqjxsAd.js";
3
+ import { g as sleep } from "./fetch-BNUDixbE.js";
4
+ import { B as getNunjucksEngine, w as maybeLoadConfigFromExternalFile } from "./util-BTAyQmdN.js";
5
5
  import { a as createEmptyTokenUsage, n as accumulateResponseTokenUsage } from "./tokenUsageUtils-CmnQ0G2m.js";
6
- import { o as getSessionId } from "./util-CpS555tc2.js";
7
- import { r as PromptfooSimulatedUserProvider } from "./promptfoo-x112UyE1.js";
6
+ import { o as getSessionId } from "./util-s0NU5XTE2.js";
7
+ import { r as PromptfooSimulatedUserProvider } from "./promptfoo-DhGR7OQn.js";
8
8
  //#region src/providers/simulatedUser.ts
9
9
  /**
10
10
  * TODO(Will): Ideally this class is an Abstract Base Class that's implemented by the
@@ -218,4 +218,4 @@ var SimulatedUser = class {
218
218
  //#endregion
219
219
  export { SimulatedUser as t };
220
220
 
221
- //# sourceMappingURL=simulatedUser-DNiOb7YE.js.map
221
+ //# sourceMappingURL=simulatedUser-DV977ZD0.js.map