promptfoo 0.120.25 → 0.120.26

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 (237) hide show
  1. package/README.md +35 -22
  2. package/dist/src/{ListApp-CYTAaS6A.js → ListApp-D3DG0F8h.js} +1 -1
  3. package/dist/src/{accounts-CwqY22lU.cjs → accounts-BzEY8H3v.cjs} +4 -4
  4. package/dist/src/{accounts-Bzx8GnL6.js → accounts-DHHiXsy6.js} +5 -5
  5. package/dist/src/{accounts-BSwMxhY3.js → accounts-R3gfCR_g.js} +4 -4
  6. package/dist/src/{agentic-utils-5K7LzooV.js → agentic-utils-D6_gzOUF.js} +2 -2
  7. package/dist/src/{agents-B8RWrA68.cjs → agents-C7BiinFI.cjs} +6 -6
  8. package/dist/src/{agents-zHyWnnQ2.js → agents-Cao4i7AX.js} +7 -7
  9. package/dist/src/{agents-KZxXwlyn.cjs → agents-CwM7re15.cjs} +2 -2
  10. package/dist/src/{agents-DleC7rb4.js → agents-DETIQHqF.js} +6 -6
  11. package/dist/src/{agents-CkA9l77-.js → agents-DYIT-hQy.js} +5 -5
  12. package/dist/src/{agents-B20gl7hH.js → agents-GiUianme.js} +2 -2
  13. package/dist/src/{aimlapi-DgbFGPTX.js → aimlapi-CMJpKK-B.js} +9 -9
  14. package/dist/src/{aimlapi-DILJovhN.js → aimlapi-DMF6v_vb.js} +14 -14
  15. package/dist/src/{aimlapi-DIdWBHtH.cjs → aimlapi-DoGLcQW_.cjs} +9 -9
  16. package/dist/src/app/assets/index-BOgkICuY.css +1 -0
  17. package/dist/src/app/assets/index-CSgqn_Vd.js +428 -0
  18. package/dist/src/app/assets/{vendor-charts-DnwydkkY.js → vendor-charts-CYyo8R8v.js} +1 -1
  19. package/dist/src/app/assets/{vendor-markdown-DjKAU15k.js → vendor-markdown-DSmzq4Jh.js} +1 -1
  20. package/dist/src/app/assets/vendor-react-AtKqiNEf.js +4 -0
  21. package/dist/src/app/assets/{vendor-syntax-Dc86c4Bu.js → vendor-syntax-D06x6TQF.js} +1 -1
  22. package/dist/src/app/index.html +6 -6
  23. package/dist/src/app/tsconfig.app.tsbuildinfo +1 -1
  24. package/dist/src/{audio-BoR9KZV8.cjs → audio-BWjyvHn9.cjs} +3 -3
  25. package/dist/src/{audio-nUSOpXY7.js → audio-BrJBFN2b.js} +3 -3
  26. package/dist/src/{audio-BDrAkpVc.js → audio-DUH4q0Xq.js} +4 -4
  27. package/dist/src/{base-DumUXbOH.js → base-BaXmtXYp.js} +2 -2
  28. package/dist/src/{base-CwCV0t8r.js → base-Dtp8b4_N.js} +2 -2
  29. package/dist/src/{base-D8VQYhNQ.cjs → base-f71xxWai.cjs} +2 -2
  30. package/dist/src/{blobs-_kNRY6vU.cjs → blobs-673H0jCl.cjs} +2 -2
  31. package/dist/src/{blobs-Dnt2rxpc.js → blobs-C9J2mVgo.js} +2 -2
  32. package/dist/src/{blobs-DlB5fwyF.js → blobs-kt8v3UyH.js} +2 -2
  33. package/dist/src/{cache-S9MAoF9H.cjs → cache-7xULbvt3.cjs} +34 -7
  34. package/dist/src/{cache-C4A4H4Xb.js → cache-BLLayYEN.js} +23 -8
  35. package/dist/src/{cache-B2oIvf92.js → cache-BUPcq0Ad.js} +2 -2
  36. package/dist/src/cache-CVfRb-HD.cjs +6 -0
  37. package/dist/src/{cache-DofebEnH.js → cache-O4EuX2JV.js} +3 -3
  38. package/dist/src/{cache-Bg1Wpvzq.js → cache-mIszOnuz.js} +4 -21
  39. package/dist/src/{chat-DTCPbuld.cjs → chat-C4zqjObh.cjs} +6 -6
  40. package/dist/src/{chat-noXtEAh5.js → chat-C8Ei4f87.js} +6 -6
  41. package/dist/src/{chat-BiImdLJf.js → chat-CgyGj2hC.js} +8 -8
  42. package/dist/src/{chat-DQ6Z5Cbn.js → chat-Cpz3O-Xl.js} +13 -13
  43. package/dist/src/{chat-D_cro0wd.js → chat-DIywASPG.js} +10 -10
  44. package/dist/src/{chat-BR2x1dG_.cjs → chat-Fl6TZJRS.cjs} +8 -8
  45. package/dist/src/{chatkit-TnC1YoVi.js → chatkit-DEls11hE.js} +3 -3
  46. package/dist/src/{claude-agent-sdk-CBpAZV5h.js → claude-agent-sdk-6-xTaLwM.js} +45 -16
  47. package/dist/src/{claude-agent-sdk-uHLgAUZj.cjs → claude-agent-sdk-BzxF6NIJ.cjs} +45 -16
  48. package/dist/src/{claude-agent-sdk-qxE5mGVi.js → claude-agent-sdk-CmkTnKGH.js} +48 -19
  49. package/dist/src/{claude-agent-sdk-DyPvrj-1.js → claude-agent-sdk-rXCBLK_o.js} +38 -9
  50. package/dist/src/{cloud-lRosK6Nk.js → cloud-BMbRVJFw.js} +2 -2
  51. package/dist/src/{cloud-DHWE-9nj.js → cloud-CZ4hytdm.js} +1 -1
  52. package/dist/src/{cloudflare-ai-D0OtFY6g.cjs → cloudflare-ai-BAQ0u_dg.cjs} +9 -9
  53. package/dist/src/{cloudflare-ai-BprwSD6d.js → cloudflare-ai-CUg4BTcj.js} +9 -9
  54. package/dist/src/{cloudflare-ai-CB7OWRAP.js → cloudflare-ai-CobxMTR4.js} +14 -14
  55. package/dist/src/{cloudflare-gateway-C29gWj5O.cjs → cloudflare-gateway-C0sgfr_z.cjs} +10 -10
  56. package/dist/src/{cloudflare-gateway-BaVwoBjE.js → cloudflare-gateway-D2_yi-Fh.js} +15 -15
  57. package/dist/src/{cloudflare-gateway-BjoxwqUw.js → cloudflare-gateway-_itGuXry.js} +10 -10
  58. package/dist/src/{codex-sdk-DNkCbb7c.js → codex-sdk-dSnGdgIp.js} +3 -3
  59. package/dist/src/{cometapi-BGxGZ7VA.js → cometapi-B01btbfb.js} +15 -15
  60. package/dist/src/{cometapi-xiTQZp8R.js → cometapi-ChAaRjg5.js} +10 -10
  61. package/dist/src/{cometapi-DalITP94.cjs → cometapi-JbvOJSCO.cjs} +10 -10
  62. package/dist/src/{completion-BTbouQDz.js → completion-BBJ6zmG3.js} +5 -5
  63. package/dist/src/{completion-HYrX5gEL.js → completion-D9_MDlnd.js} +4 -4
  64. package/dist/src/{completion-DV0Ys99K.cjs → completion-DDyL3Cb2.cjs} +4 -4
  65. package/dist/src/{docker-Dx_FN1ag.js → docker-BuButc4D.js} +14 -14
  66. package/dist/src/{docker-zUAnbYTM.cjs → docker-Ckw-j7Rr.cjs} +9 -9
  67. package/dist/src/{docker-BAYnlbAW.js → docker-JAAubMw3.js} +9 -9
  68. package/dist/src/errors-DnGCbnx8.js +36 -0
  69. package/dist/src/{esm-79BpbQzg.js → esm-CYhseqj4.js} +1 -1
  70. package/dist/src/eval-CKHWqG9f.js +16 -0
  71. package/dist/src/{eval-Cxb9alW8.js → eval-CYrbG57o.js} +45 -13
  72. package/dist/src/{evalResult-B8LbgWMA.js → evalResult-6JaUIStC.js} +6 -6
  73. package/dist/src/{evalResult-CJNSpa3q.js → evalResult-COsVttMA.js} +6 -6
  74. package/dist/src/evalResult-CxTP-LMm.cjs +11 -0
  75. package/dist/src/evalResult-CzLURDcP.js +13 -0
  76. package/dist/src/{evalResult-hI1mhi_g.cjs → evalResult-DlRfu_Rq.cjs} +6 -6
  77. package/dist/src/evalResult-DyttNQ_G.js +11 -0
  78. package/dist/src/evaluator-0PvfeBYh.js +38 -0
  79. package/dist/src/{evaluator-1Tkdu8MK.js → evaluator-3EJCMTs0.js} +74 -48
  80. package/dist/src/{extractor-BPBlLyOn.cjs → extractor-DbhlYEeo.cjs} +22 -5
  81. package/dist/src/{extractor-CuUWqwrE.js → extractor-Hs7la_19.js} +22 -5
  82. package/dist/src/{extractor-BFoThUOa.js → extractor-LSYjrhK0.js} +22 -5
  83. package/dist/src/{fetch-zJuFPxN1.js → fetch-18MuNu9i.js} +4 -4
  84. package/dist/src/{fetch-BdiCecAv.js → fetch-Bi0o-fdp.js} +1 -1
  85. package/dist/src/fetch-CMptBDVg.cjs +4 -0
  86. package/dist/src/{fetch-BQgz6x7S.js → fetch-DAZkv3gV.js} +2 -2
  87. package/dist/src/{fetch-BuP-gm0E.js → fetch-SRsE6Ctl.js} +4 -4
  88. package/dist/src/{fetch-Dy2YML9G.cjs → fetch-ZMn_oemb.cjs} +4 -4
  89. package/dist/src/{fileExtensions-CzcPkiKZ.js → fileExtensions-BpuMmaFL.js} +1 -1
  90. package/dist/src/{formatDuration-CGa0ZDQ8.js → formatDuration-Doo0xq-z.js} +1 -1
  91. package/dist/src/{genaiTracer-foKtbVa2.js → genaiTracer-CqNnnXrE.js} +1 -1
  92. package/dist/src/graders-BCytzXrb.js +34 -0
  93. package/dist/src/{graders-DMAzEgEF.js → graders-BaMCwIKp.js} +211 -91
  94. package/dist/src/graders-CGZQShfJ.cjs +33 -0
  95. package/dist/src/{graders-NBsuYeMx.cjs → graders-DzUUnUjC.cjs} +206 -86
  96. package/dist/src/{graders-CtvuaC8D.js → graders-QsALpIdy.js} +206 -86
  97. package/dist/src/graders-spkuVC-E.js +36 -0
  98. package/dist/src/{image-Bf8RiJ2g.js → image-BXt_7u0v.js} +3 -3
  99. package/dist/src/{image-LhLO5KCW.js → image-BiEVdpdP.js} +4 -4
  100. package/dist/src/{image-CaVWfZub.cjs → image-C3BjJUAU.cjs} +4 -4
  101. package/dist/src/{image-BnF25Osq.cjs → image-D10zEe1f.cjs} +3 -3
  102. package/dist/src/{image-DIn_AW1Z.js → image-DB4sHxdJ.js} +4 -4
  103. package/dist/src/{image-DFwp1aAV.js → image-mhAGP07h.js} +6 -6
  104. package/dist/src/index.cjs +152 -69
  105. package/dist/src/index.d.cts +20 -3
  106. package/dist/src/index.d.ts +20 -3
  107. package/dist/src/index.js +152 -69
  108. package/dist/src/{interactiveCheck-Dmm9vjpx.js → interactiveCheck-DU-MAhp5.js} +1 -1
  109. package/dist/src/{knowledgeBase-Bf57PI7g.cjs → knowledgeBase-Bnb00xKs.cjs} +6 -6
  110. package/dist/src/{knowledgeBase-DZw2L9kf.js → knowledgeBase-CMvMlLZR.js} +8 -8
  111. package/dist/src/{knowledgeBase-CfOvyF2s.js → knowledgeBase-XJQ0Qyez.js} +6 -6
  112. package/dist/src/{litellm-Ds8YmO1b.js → litellm-BECdjOTx.js} +3 -3
  113. package/dist/src/{litellm-ByNRN2Vh.cjs → litellm-BrnZhMcL.cjs} +11 -11
  114. package/dist/src/{litellm-fU-xV6T4.js → litellm-CHrRmPAe.js} +16 -16
  115. package/dist/src/{litellm-DexU8FFp.js → litellm-CrLJrPIm.js} +11 -11
  116. package/dist/src/{luma-ray-y26EHFO8.js → luma-ray-BOeX-h0M.js} +8 -8
  117. package/dist/src/{luma-ray-BIe5ctI4.cjs → luma-ray-C0RkI3lt.cjs} +8 -8
  118. package/dist/src/{luma-ray-vvE-O9EA.js → luma-ray-DgKLS0BF.js} +10 -10
  119. package/dist/src/main.js +1011 -404
  120. package/dist/src/{messages-Bg2ekFPc.js → messages-CDZYGNlS.js} +7 -7
  121. package/dist/src/{messages-DpoCLD_8.js → messages-D61tPFQo.js} +9 -9
  122. package/dist/src/{messages-16jb9LP7.cjs → messages-DXV3Qh8_.cjs} +7 -7
  123. package/dist/src/{meteor-DLCdreag.js → meteor-P2rUE-Uz.js} +1 -1
  124. package/dist/src/{nova-reel-BM0snD2m.js → nova-reel-Bk5npr2q.js} +10 -10
  125. package/dist/src/{nova-reel-CvXCVn3f.cjs → nova-reel-D9FXq3Mt.cjs} +8 -8
  126. package/dist/src/{nova-reel-CJLpBKSI.js → nova-reel-DtCjbD5O.js} +8 -8
  127. package/dist/src/{nova-sonic-CklvraBd.js → nova-sonic-BXRfQyF-.js} +7 -7
  128. package/dist/src/{nova-sonic-DEx_FdFW.cjs → nova-sonic-BoRSY_U6.cjs} +5 -5
  129. package/dist/src/{nova-sonic-Cjh_qopr.js → nova-sonic-CgaWLDM1.js} +5 -5
  130. package/dist/src/{openai-jNIREoAW.js → openai-CT5fwbve.js} +1 -1
  131. package/dist/src/{openclaw-CnAwBfPO.js → openclaw-B6XY2kUf.js} +14 -14
  132. package/dist/src/{openclaw-DBSSY4SP.js → openclaw-CpPrXwf6.js} +9 -9
  133. package/dist/src/{openclaw-CbHtt3B8.cjs → openclaw-DDSfq5fp.cjs} +9 -9
  134. package/dist/src/{opencode-sdk-CqxTHrk0.js → opencode-sdk-CImWVqy9.js} +6 -6
  135. package/dist/src/{opencode-sdk-xUrRk5Jx.js → opencode-sdk-CuCztr4P.js} +4 -4
  136. package/dist/src/{opencode-sdk-DdmtRB6D.cjs → opencode-sdk-mqF-Oj3f.cjs} +4 -4
  137. package/dist/src/{otlpReceiver-th2zHwjZ.cjs → otlpReceiver-B6Xo4KZM.cjs} +4 -4
  138. package/dist/src/{otlpReceiver-uytrRKdo.js → otlpReceiver-BO0rbDzh.js} +4 -4
  139. package/dist/src/{otlpReceiver-C-1cdVDr.js → otlpReceiver-Dg817agV.js} +5 -5
  140. package/dist/src/{providerRegistry-DAZoFmGv.js → providerRegistry-Xf0qdqGQ.js} +1 -1
  141. package/dist/src/providers-BMZZmPBJ.cjs +32 -0
  142. package/dist/src/{providers-CpUrPa8s.cjs → providers-BNKVY53V.cjs} +94 -64
  143. package/dist/src/{providers-D3lk_R7Q.js → providers-BiNq_Iyc.js} +94 -64
  144. package/dist/src/{providers-BOvl9qv5.js → providers-BlEhY5mi.js} +110 -79
  145. package/dist/src/providers-CQQrNaJk.js +32 -0
  146. package/dist/src/providers-Ck8HyrC-.js +34 -0
  147. package/dist/src/{pythonUtils-CUPlf1H0.js → pythonUtils-r1uBuA0n.js} +2 -2
  148. package/dist/src/{quiverai-BNGJOQym.cjs → quiverai-BNfIwKCO.cjs} +8 -8
  149. package/dist/src/{quiverai-Y7Is4wah.js → quiverai-BQigKdIH.js} +13 -13
  150. package/dist/src/{quiverai-DthRqZs9.js → quiverai-Bfy2WnE2.js} +8 -8
  151. package/dist/src/{render-kFatbqG6.js → render-CAZvKKkB.js} +3 -3
  152. package/dist/src/{responses-BtU_i-R0.js → responses-DLLjADw5.js} +5 -5
  153. package/dist/src/{responses-B85halqh.js → responses-TsdODUpm.js} +8 -8
  154. package/dist/src/{responses-CXJACENh.cjs → responses-zOtKtnY_.cjs} +5 -5
  155. package/dist/src/{rubyUtils-DYKoa7Ze.js → rubyUtils-BtjlqyXt.js} +2 -2
  156. package/dist/src/{rubyUtils-BA4D4gMX.js → rubyUtils-D7--T12C.js} +2 -2
  157. package/dist/src/{sagemaker-hRS_Jj3-.js → sagemaker-BcgLu0U4.js} +17 -17
  158. package/dist/src/{sagemaker-DI6IOTjT.js → sagemaker-CLdUAv5z.js} +11 -11
  159. package/dist/src/{sagemaker-BUagsrJ-.cjs → sagemaker-DwNnEVYt.cjs} +11 -11
  160. package/dist/src/{scanner-C6QXA9Pn.js → scanner-Dyw21Wg_.js} +10 -10
  161. package/dist/src/server/index.js +1376 -486
  162. package/dist/src/server-BUbS0Qfh.js +6 -0
  163. package/dist/src/{server-BPC37wlX.js → server-CbMTRQkg.js} +3 -3
  164. package/dist/src/{server-C_O6-VE4.cjs → server-CgUQ25qW.cjs} +3 -3
  165. package/dist/src/{server-HQtz_gUy.js → server-DWmZLfCy.js} +4 -4
  166. package/dist/src/server-XpGXFHkS.cjs +6 -0
  167. package/dist/src/server-gfOx5Zrk.js +8 -0
  168. package/dist/src/{signal-D4VhSJOY.js → signal-Bl32q42d.js} +2 -2
  169. package/dist/src/{slack-DTUSadx4.js → slack-BfdBx2tO.js} +1 -1
  170. package/dist/src/{store-BTdkdmK9.js → store-2ocbYY9D.js} +2 -2
  171. package/dist/src/store-5u2yriTV.js +7 -0
  172. package/dist/src/{store-F-KTiqfb.cjs → store-BqwfFEyF.cjs} +2 -2
  173. package/dist/src/{store-rueRdzcm.js → store-D4gdn9ih.js} +2 -2
  174. package/dist/src/store-D_lq_8oQ.js +6 -0
  175. package/dist/src/store-m5KT6Ly7.cjs +6 -0
  176. package/dist/src/{tables-w-r-abWq.cjs → tables-B9E1kRp-.cjs} +2 -2
  177. package/dist/src/{tables-ChjAuVAR.js → tables-C7TT2XVn.js} +2 -2
  178. package/dist/src/{tables-dNaVPyDr.js → tables-D-NSwNIb.js} +2 -2
  179. package/dist/src/telemetry-5RHFoCJh.js +6 -0
  180. package/dist/src/{telemetry-wXyCQ1Nz.js → telemetry-BXyVqyAg.js} +3 -3
  181. package/dist/src/{telemetry-Y1esJM0v.cjs → telemetry-D0_yFdtU.cjs} +3 -3
  182. package/dist/src/{telemetry-Dai7PdlR.js → telemetry-DZ_7PaVq.js} +3 -3
  183. package/dist/src/telemetry-Do8wMnA-.js +8 -0
  184. package/dist/src/telemetry-LojxPoFq.cjs +6 -0
  185. package/dist/src/{text-C1cXk9ij.js → text-DgMr_tiM.js} +1 -1
  186. package/dist/src/{tokenUsageUtils-D2ko2eFQ.js → tokenUsageUtils-DmZSD2eU.js} +1 -1
  187. package/dist/src/{transcription-i6EfSMie.js → transcription-CYuY5sFO.js} +6 -6
  188. package/dist/src/{transcription-CcYTL4wi.js → transcription-Ch7S-LWw.js} +10 -10
  189. package/dist/src/{transcription-C-K2hDJX.cjs → transcription-FNIz3YOe.cjs} +6 -6
  190. package/dist/src/{transform-gpzlPrwG.js → transform-CoP2bJ7P.js} +43 -4
  191. package/dist/src/{transform-B86_0IIb.js → transform-CqTFr7KR.js} +4 -4
  192. package/dist/src/{transform-DosdxVdh.js → transform-DMaxQwDx.js} +43 -4
  193. package/dist/src/{transform-DwsntMEQ.js → transform-GybT0X0u.js} +3 -3
  194. package/dist/src/{transform-CCSNqTI-.cjs → transform-ivxEY4f7.cjs} +54 -3
  195. package/dist/src/{transformersAvailability-DM54tWzt.js → transformersAvailability-DwmezkVe.js} +1 -1
  196. package/dist/src/{types-Brw5kggg.cjs → types-BIfttHrT.cjs} +13 -1
  197. package/dist/src/{types-CslP2TyG.js → types-DMVjYLpx.js} +13 -1
  198. package/dist/src/{types-CMDs7Kzu.js → types-t52w-XsS.js} +16 -2
  199. package/dist/src/{util-BECSJ0T_.js → util-BSh4a_Q8.js} +6 -6
  200. package/dist/src/{util-D8z5QOy8.cjs → util-C08Kns6-.cjs} +3 -3
  201. package/dist/src/{util-CttPoePn.js → util-CUEt0Vum.js} +3 -3
  202. package/dist/src/{util-CfPdWQJX.js → util-Cl0zfT3V.js} +3 -3
  203. package/dist/src/{util-Dab5xp2E.cjs → util-DUYOvxAy.cjs} +3 -3
  204. package/dist/src/{util-CY_XguB9.js → util-DiCePfDu.js} +3 -3
  205. package/dist/src/{util-CBAXTxfy.cjs → util-DkFTvieG.cjs} +3 -3
  206. package/dist/src/{util-Dft1RxsL.js → util-mJ58qbbw.js} +3 -3
  207. package/dist/src/{util-Ba18wQ8e.js → util-vjscpUzy.js} +3 -3
  208. package/dist/src/{utils-BTeLHwiH.js → utils-CVzb4YiI.js} +2 -2
  209. package/dist/src/{utils-Db5KwiXp.cjs → utils-DFaZa6Rf.cjs} +2 -2
  210. package/dist/src/{utils-ICP7kLcY.js → utils-JaY9veb5.js} +2 -2
  211. package/dist/tsconfig.tsbuildinfo +1 -1
  212. package/package.json +43 -42
  213. package/dist/src/app/assets/index-COIipVf1.css +0 -1
  214. package/dist/src/app/assets/index-ClD64gUa.js +0 -428
  215. package/dist/src/app/assets/vendor-react-DHoaNLma.js +0 -4
  216. package/dist/src/cache-BJ31KhNT.cjs +0 -6
  217. package/dist/src/eval-DgiEH2xe.js +0 -16
  218. package/dist/src/evalResult-Boel8xoS.js +0 -13
  219. package/dist/src/evalResult-DGx1-Ela.js +0 -11
  220. package/dist/src/evalResult-DzRxYLDH.cjs +0 -11
  221. package/dist/src/evaluator-B4qKt437.js +0 -38
  222. package/dist/src/fetch-DwhKew9e.cjs +0 -4
  223. package/dist/src/graders-BpEqZT2Q.js +0 -34
  224. package/dist/src/graders-DTGI-hHE.cjs +0 -33
  225. package/dist/src/graders-DgMr-E4I.js +0 -36
  226. package/dist/src/providers-DVsoSup2.js +0 -34
  227. package/dist/src/providers-D_tJatIk.js +0 -32
  228. package/dist/src/providers-wpMPsMZ7.cjs +0 -32
  229. package/dist/src/server-BeqUuSvj.js +0 -6
  230. package/dist/src/server-CwQsQ6dl.cjs +0 -6
  231. package/dist/src/server-Dhbq83-d.js +0 -8
  232. package/dist/src/store-C7U17qcu.js +0 -6
  233. package/dist/src/store-CuDU_jDN.js +0 -7
  234. package/dist/src/store-awdDxuiD.cjs +0 -6
  235. package/dist/src/telemetry-ClcYTCOG.js +0 -8
  236. package/dist/src/telemetry-DEWuLu_s.js +0 -6
  237. package/dist/src/telemetry-tADmeX6E.cjs +0 -6
@@ -1,37 +1,38 @@
1
1
  #!/usr/bin/env node
2
2
  import { C as getEnvString, O as cliState_default, S as getEnvInt, b as getEnvBool, d as extractFirstJsonObject, g as safeJsonStringify, l as sanitizeObject, m as isValidJson, o as logger_default, u as sanitizeUrl, v as getConfigDirectoryPath, x as getEnvFloat } from "./logger-BotXmWKW.js";
3
- import { P as VERSION, S as CLOUD_PROVIDER_PREFIX, _ as openaiToolsToBedrock, b as transformToolChoice, d as REQUEST_TIMEOUT_MS, f as calculateCost, g as openaiToolChoiceToBedrock, i as fetchWithTimeout, l as sleep, m as isOpenAIToolChoice, n as fetchWithProxy, p as isOpenAIToolArray, r as fetchWithRetries, u as LONG_RUNNING_MODEL_TIMEOUT_MS, v as parseChatPrompt, x as transformTools, y as toTitleCase } from "./fetch-BuP-gm0E.js";
3
+ import { P as VERSION, S as CLOUD_PROVIDER_PREFIX, _ as openaiToolsToBedrock, b as transformToolChoice, d as REQUEST_TIMEOUT_MS, f as calculateCost, g as openaiToolChoiceToBedrock, i as fetchWithTimeout, l as sleep, m as isOpenAIToolChoice, n as fetchWithProxy, p as isOpenAIToolArray, r as fetchWithRetries, u as LONG_RUNNING_MODEL_TIMEOUT_MS, v as parseChatPrompt, x as transformTools, y as toTitleCase } from "./fetch-SRsE6Ctl.js";
4
4
  import { t as invariant } from "./invariant-DT20jrBd.js";
5
- import { o as getUserEmail } from "./accounts-Bzx8GnL6.js";
6
- import { i as cloudConfig } from "./cloud-lRosK6Nk.js";
7
- import { r as telemetry_default } from "./telemetry-wXyCQ1Nz.js";
8
- import { A as DATASET_PLUGINS, E as isUuid, H as pluginDescriptions, L as isCustomStrategy, N as MULTI_TURN_STRATEGIES, O as AGENTIC_STRATEGIES, ft as STRATEGY_EXEMPT_PLUGINS, m as isProviderOptions, p as isApiProvider, v as ProviderOptionsSchema } from "./types-CMDs7Kzu.js";
9
- import { f as neverGenerateRemote, l as getRemoteGenerationUrl, m as shouldGenerateRemote, p as neverGenerateRemoteForRegularEvals, r as checkServerFeatureSupport, u as getRemoteGenerationUrlForUnaligned } from "./server-HQtz_gUy.js";
10
- import { a as fetchWithCache, c as isTransientConnectionError, o as getCache, s as isCacheEnabled } from "./cache-Bg1Wpvzq.js";
11
- import { a as isVideoFile, i as isJavascriptFile, n as isAudioFile, r as isImageFile } from "./fileExtensions-CzcPkiKZ.js";
12
- import { C as extractVariablesFromTemplates, E as parseFileUrl, _ as parsePathOrGlob, b as renderEnvOnlyInObject, d as getResolvedRelativePath, f as maybeLoadConfigFromExternalFile, g as maybeLoadToolsFromExternalFile, h as maybeLoadResponseFormatFromExternalFile, m as maybeLoadFromExternalFileWithVars, p as maybeLoadFromExternalFile, w as getNunjucksEngine, x as renderVarsInObject } from "./util-BECSJ0T_.js";
13
- import { a as safeJoin, i as resolvePackageEntryPoint, n as getWrapperDir, o as safeResolve, r as importModule } from "./esm-79BpbQzg.js";
14
- import { i as validatePythonPath, n as getEnvInt$1, r as runPython, t as getConfiguredPythonPath } from "./pythonUtils-CUPlf1H0.js";
15
- import { n as transform, r as getProcessShim, t as TransformInputType } from "./transform-B86_0IIb.js";
16
- import { a as sha256, n as isBlobStorageEnabled, r as shouldAttemptRemoteBlobUpload, t as extractAndStoreBinaryData } from "./extractor-BFoThUOa.js";
17
- import { n as withGenAISpan } from "./genaiTracer-foKtbVa2.js";
18
- import { i as normalizeFinishReason, n as MCPClient, r as FINISH_REASON_MAP, t as OpenAiChatCompletionProvider } from "./chat-D_cro0wd.js";
19
- import { a as createEmptyTokenUsage, n as accumulateResponseTokenUsage, r as accumulateTokenUsage } from "./tokenUsageUtils-D2ko2eFQ.js";
20
- import { E as TOKEN_REFRESH_BUFFER_MS, a as calculateGoogleCost, c as geminiFormatAndSystemInstructions, d as mergeParts, f as normalizeTools, g as getGoogleClient, h as GoogleAuthManager, i as transformMCPToolsToOpenAi, l as getCandidate, m as CHAT_MODELS, o as createAuthCacheDiscriminator, r as transformMCPToolsToGoogle, s as formatCandidateContents, u as getGoogleAccessToken, v as loadCredentials, y as resolveProjectId } from "./transform-gpzlPrwG.js";
21
- import { n as AnthropicGenericProvider, t as AnthropicMessagesProvider } from "./messages-DpoCLD_8.js";
22
- import { a as parseMessages, i as outputFromMessage, t as ANTHROPIC_MODELS } from "./util-Ba18wQ8e.js";
23
- import { n as ResponsesProcessor, r as FunctionCallbackHandler, t as OpenAiResponsesProvider } from "./responses-B85halqh.js";
24
- import { t as OpenAiGenericProvider } from "./openai-jNIREoAW.js";
25
- import { a as calculateOpenAICost, c as getTokenUsage$2, o as failApiCall, r as OPENAI_REALTIME_MODELS, s as formatOpenAiError } from "./util-CttPoePn.js";
26
- import { n as OpenAiEmbeddingProvider, t as OpenAiCompletionProvider } from "./completion-BTbouQDz.js";
27
- import { i as storeBlob } from "./blobs-DlB5fwyF.js";
28
- import { a as evalResultsTable, g as getDb } from "./tables-ChjAuVAR.js";
29
- import { n as escapeRegExp, t as ellipsize } from "./text-C1cXk9ij.js";
30
- import { n as getTraceStore } from "./store-rueRdzcm.js";
31
- import { t as AwsBedrockGenericProvider } from "./base-DumUXbOH.js";
32
- import { n as callOpenAiImageApi, r as formatOutput, t as OpenAiImageProvider } from "./image-DFwp1aAV.js";
33
- import { t as providerRegistry } from "./providerRegistry-DAZoFmGv.js";
34
- import { n as runRuby } from "./rubyUtils-DYKoa7Ze.js";
5
+ import { o as getUserEmail } from "./accounts-DHHiXsy6.js";
6
+ import { i as cloudConfig } from "./cloud-BMbRVJFw.js";
7
+ import { r as telemetry_default } from "./telemetry-BXyVqyAg.js";
8
+ import { A as DATASET_PLUGINS, E as isUuid, H as pluginDescriptions, L as isCustomStrategy, N as MULTI_TURN_STRATEGIES, O as AGENTIC_STRATEGIES, ft as STRATEGY_EXEMPT_PLUGINS, m as isProviderOptions, p as isApiProvider, v as ProviderOptionsSchema } from "./types-t52w-XsS.js";
9
+ import { f as neverGenerateRemote, l as getRemoteGenerationUrl, m as shouldGenerateRemote, p as neverGenerateRemoteForRegularEvals, r as checkServerFeatureSupport, u as getRemoteGenerationUrlForUnaligned } from "./server-DWmZLfCy.js";
10
+ import { a as fetchWithCache, o as getCache, s as isCacheEnabled } from "./cache-mIszOnuz.js";
11
+ import { r as isTransientConnectionError } from "./errors-DnGCbnx8.js";
12
+ import { a as isVideoFile, i as isJavascriptFile, n as isAudioFile, r as isImageFile } from "./fileExtensions-BpuMmaFL.js";
13
+ import { C as extractVariablesFromTemplates, E as parseFileUrl, _ as parsePathOrGlob, b as renderEnvOnlyInObject, d as getResolvedRelativePath, f as maybeLoadConfigFromExternalFile, g as maybeLoadToolsFromExternalFile, h as maybeLoadResponseFormatFromExternalFile, m as maybeLoadFromExternalFileWithVars, p as maybeLoadFromExternalFile, w as getNunjucksEngine, x as renderVarsInObject } from "./util-BSh4a_Q8.js";
14
+ import { a as safeJoin, i as resolvePackageEntryPoint, n as getWrapperDir, o as safeResolve, r as importModule } from "./esm-CYhseqj4.js";
15
+ import { i as validatePythonPath, n as getEnvInt$1, r as runPython, t as getConfiguredPythonPath } from "./pythonUtils-r1uBuA0n.js";
16
+ import { n as transform, r as getProcessShim, t as TransformInputType } from "./transform-CqTFr7KR.js";
17
+ import { a as sha256, n as isBlobStorageEnabled, r as shouldAttemptRemoteBlobUpload, t as extractAndStoreBinaryData } from "./extractor-LSYjrhK0.js";
18
+ import { n as withGenAISpan } from "./genaiTracer-CqNnnXrE.js";
19
+ import { i as normalizeFinishReason, n as MCPClient, r as FINISH_REASON_MAP, t as OpenAiChatCompletionProvider } from "./chat-DIywASPG.js";
20
+ import { a as createEmptyTokenUsage, n as accumulateResponseTokenUsage, r as accumulateTokenUsage } from "./tokenUsageUtils-DmZSD2eU.js";
21
+ import { O as TOKEN_REFRESH_BUFFER_MS, S as toDataUri, _ as getGoogleClient, a as calculateGoogleCost, b as resolveProjectId, c as geminiFormatAndSystemInstructions, d as mergeParts, f as normalizeSafetySettings, g as GoogleAuthManager, h as CHAT_MODELS, i as transformMCPToolsToOpenAi, l as getCandidate, o as createAuthCacheDiscriminator, p as normalizeTools, r as transformMCPToolsToGoogle, s as formatCandidateContents, u as getGoogleAccessToken, y as loadCredentials } from "./transform-CoP2bJ7P.js";
22
+ import { n as AnthropicGenericProvider, t as AnthropicMessagesProvider } from "./messages-D61tPFQo.js";
23
+ import { a as parseMessages, i as outputFromMessage, t as ANTHROPIC_MODELS } from "./util-vjscpUzy.js";
24
+ import { n as ResponsesProcessor, r as FunctionCallbackHandler, t as OpenAiResponsesProvider } from "./responses-TsdODUpm.js";
25
+ import { t as OpenAiGenericProvider } from "./openai-CT5fwbve.js";
26
+ import { a as calculateOpenAICost, c as getTokenUsage$2, o as failApiCall, r as OPENAI_REALTIME_MODELS, s as formatOpenAiError } from "./util-CUEt0Vum.js";
27
+ import { n as OpenAiEmbeddingProvider, t as OpenAiCompletionProvider } from "./completion-BBJ6zmG3.js";
28
+ import { i as storeBlob } from "./blobs-kt8v3UyH.js";
29
+ import { a as evalResultsTable, g as getDb } from "./tables-C7TT2XVn.js";
30
+ import { n as escapeRegExp, t as ellipsize } from "./text-DgMr_tiM.js";
31
+ import { n as getTraceStore } from "./store-D4gdn9ih.js";
32
+ import { t as AwsBedrockGenericProvider } from "./base-BaXmtXYp.js";
33
+ import { n as callOpenAiImageApi, r as formatOutput, t as OpenAiImageProvider } from "./image-mhAGP07h.js";
34
+ import { t as providerRegistry } from "./providerRegistry-Xf0qdqGQ.js";
35
+ import { n as runRuby } from "./rubyUtils-BtjlqyXt.js";
35
36
  import { Agent } from "undici";
36
37
  import { z } from "zod";
37
38
  import input from "@inquirer/input";
@@ -2845,7 +2846,7 @@ var AIStudioChatProvider = class extends GoogleGenericProvider {
2845
2846
  temperature: config.temperature,
2846
2847
  topP: config.topP,
2847
2848
  topK: config.topK,
2848
- safetySettings: config.safetySettings,
2849
+ safetySettings: normalizeSafetySettings(config.safetySettings),
2849
2850
  stopSequences: config.stopSequences,
2850
2851
  maxOutputTokens: config.maxOutputTokens
2851
2852
  };
@@ -2919,7 +2920,7 @@ var AIStudioChatProvider = class extends GoogleGenericProvider {
2919
2920
  ...config.maxOutputTokens !== void 0 && { maxOutputTokens: config.maxOutputTokens },
2920
2921
  ...config.generationConfig
2921
2922
  },
2922
- safetySettings: config.safetySettings,
2923
+ safetySettings: normalizeSafetySettings(config.safetySettings),
2923
2924
  ...config.toolConfig ? { toolConfig: config.toolConfig } : {},
2924
2925
  ...allTools.length > 0 ? { tools: allTools } : {},
2925
2926
  ...systemInstruction ? { system_instruction: systemInstruction } : {}
@@ -3238,7 +3239,7 @@ var VertexChatProvider = class extends GoogleGenericProvider {
3238
3239
  topK: config.topK,
3239
3240
  ...config.generationConfig
3240
3241
  },
3241
- ...config.safetySettings ? { safetySettings: config.safetySettings } : {},
3242
+ ...config.safetySettings ? { safetySettings: normalizeSafetySettings(config.safetySettings) } : {},
3242
3243
  ...config.toolConfig ? { toolConfig: config.toolConfig } : {},
3243
3244
  ...allTools.length > 0 ? { tools: allTools } : {},
3244
3245
  ...systemInstruction ? { systemInstruction } : {},
@@ -3452,7 +3453,7 @@ var VertexChatProvider = class extends GoogleGenericProvider {
3452
3453
  parameters: {
3453
3454
  context: this.config.context,
3454
3455
  examples: this.config.examples,
3455
- safetySettings: this.config.safetySettings,
3456
+ safetySettings: normalizeSafetySettings(this.config.safetySettings),
3456
3457
  stopSequences: this.config.stopSequences,
3457
3458
  temperature: this.config.temperature,
3458
3459
  maxOutputTokens: this.config.maxOutputTokens,
@@ -5396,7 +5397,7 @@ async function loadRedteamProvider({ provider, jsonOnly = false, preferSmallMode
5396
5397
  ret = redteamProvider;
5397
5398
  } else if (typeof redteamProvider === "string" || isProviderOptions(redteamProvider)) {
5398
5399
  logger_default.debug(`Loading ${purpose} provider`, { provider: redteamProvider });
5399
- ret = (await (await import("./providers-DVsoSup2.js")).loadApiProviders([redteamProvider]))[0];
5400
+ ret = (await (await import("./providers-Ck8HyrC-.js")).loadApiProviders([redteamProvider]))[0];
5400
5401
  } else {
5401
5402
  const defaultModel = preferSmallModel ? ATTACKER_MODEL_SMALL : ATTACKER_MODEL;
5402
5403
  logger_default.debug(`Using default ${purpose} provider: ${defaultModel}`);
@@ -5675,7 +5676,7 @@ async function externalizeResponseForRedteamHistory(response, context) {
5675
5676
  */
5676
5677
  async function tryUnblocking({ messages, lastResponse, goal, purpose }) {
5677
5678
  try {
5678
- const { checkServerFeatureSupport } = await import("./server-Dhbq83-d.js");
5679
+ const { checkServerFeatureSupport } = await import("./server-gfOx5Zrk.js");
5679
5680
  const supportsUnblocking = await checkServerFeatureSupport("blocking-question-analysis", "2025-06-16T14:49:11-07:00");
5680
5681
  if (!getEnvBool("PROMPTFOO_ENABLE_UNBLOCKING")) {
5681
5682
  logger_default.debug("[Unblocking] Disabled by default (set PROMPTFOO_ENABLE_UNBLOCKING=true to enable)");
@@ -9745,6 +9746,7 @@ const Strategies = [
9745
9746
  },
9746
9747
  {
9747
9748
  id: "crescendo",
9749
+ requiresGoalExtraction: true,
9748
9750
  action: async (testCases, injectVar, config) => {
9749
9751
  logger_default.debug(`Adding Crescendo to ${testCases.length} test cases`);
9750
9752
  const newTestCases = addCrescendo(testCases, injectVar, config);
@@ -9754,6 +9756,7 @@ const Strategies = [
9754
9756
  },
9755
9757
  {
9756
9758
  id: "custom",
9759
+ requiresGoalExtraction: true,
9757
9760
  action: async (testCases, injectVar, config, strategyId = "custom") => {
9758
9761
  logger_default.debug(`Adding Custom to ${testCases.length} test cases`);
9759
9762
  const newTestCases = addCustom(testCases, injectVar, config, strategyId);
@@ -9772,6 +9775,7 @@ const Strategies = [
9772
9775
  },
9773
9776
  {
9774
9777
  id: "goat",
9778
+ requiresGoalExtraction: true,
9775
9779
  action: async (testCases, injectVar, config) => {
9776
9780
  logger_default.debug(`Adding GOAT to ${testCases.length} test cases`);
9777
9781
  const newTestCases = await addGoatTestCases(testCases, injectVar, config);
@@ -9781,6 +9785,7 @@ const Strategies = [
9781
9785
  },
9782
9786
  {
9783
9787
  id: "indirect-web-pwn",
9788
+ requiresGoalExtraction: true,
9784
9789
  action: async (testCases, injectVar, config) => {
9785
9790
  logger_default.debug(`Adding Indirect Web Pwn to ${testCases.length} test cases`);
9786
9791
  const newTestCases = await addIndirectWebPwnTestCases(testCases, injectVar, config);
@@ -9817,6 +9822,7 @@ const Strategies = [
9817
9822
  },
9818
9823
  {
9819
9824
  id: "jailbreak",
9825
+ requiresGoalExtraction: true,
9820
9826
  action: async (testCases, injectVar, config) => {
9821
9827
  logger_default.warn("Strategy \"jailbreak\" is deprecated. Use \"jailbreak:meta\" instead. The \"jailbreak\" strategy used outdated single-shot optimization techniques.");
9822
9828
  logger_default.debug(`Adding meta-agent jailbreaks to ${testCases.length} test cases`);
@@ -9845,6 +9851,7 @@ const Strategies = [
9845
9851
  },
9846
9852
  {
9847
9853
  id: "jailbreak:tree",
9854
+ requiresGoalExtraction: true,
9848
9855
  action: async (testCases, injectVar, config) => {
9849
9856
  logger_default.debug(`Adding experimental tree jailbreaks to ${testCases.length} test cases`);
9850
9857
  const newTestCases = addIterativeJailbreaks(testCases, injectVar, "iterative:tree", config);
@@ -9854,6 +9861,7 @@ const Strategies = [
9854
9861
  },
9855
9862
  {
9856
9863
  id: "jailbreak:meta",
9864
+ requiresGoalExtraction: true,
9857
9865
  action: async (testCases, injectVar, config) => {
9858
9866
  logger_default.debug(`Adding meta-agent jailbreaks to ${testCases.length} test cases`);
9859
9867
  const newTestCases = addIterativeJailbreaks(testCases, injectVar, "iterative:meta", config);
@@ -9863,6 +9871,7 @@ const Strategies = [
9863
9871
  },
9864
9872
  {
9865
9873
  id: "jailbreak:hydra",
9874
+ requiresGoalExtraction: true,
9866
9875
  action: async (testCases, injectVar, config) => {
9867
9876
  logger_default.debug(`Adding hydra multi-turn jailbreaks to ${testCases.length} test cases`);
9868
9877
  const newTestCases = addHydra(testCases, injectVar, config);
@@ -10766,7 +10775,7 @@ var CrescendoProvider = class {
10766
10775
  });
10767
10776
  let assertToUse = test?.assert?.find((a) => a.type && a.type.includes(test.metadata?.pluginId));
10768
10777
  if (!assertToUse) assertToUse = test?.assert?.find((a) => a.type);
10769
- const { getGraderById } = await import("./graders-DgMr-E4I.js");
10778
+ const { getGraderById } = await import("./graders-spkuVC-E.js");
10770
10779
  let graderPassed;
10771
10780
  const additionalRubric = getGoalRubric(this.userGoal);
10772
10781
  while (roundNum < this.maxTurns) try {
@@ -11441,7 +11450,7 @@ var CustomProvider = class {
11441
11450
  let lastTransformResult;
11442
11451
  let assertToUse = test?.assert?.find((a) => a.type && a.type.includes(test.metadata?.pluginId));
11443
11452
  if (!assertToUse) assertToUse = test?.assert?.find((a) => a.type);
11444
- const { getGraderById } = await import("./graders-DgMr-E4I.js");
11453
+ const { getGraderById } = await import("./graders-spkuVC-E.js");
11445
11454
  let graderPassed;
11446
11455
  let storedGraderResult;
11447
11456
  const additionalRubric = getGoalRubric(this.userGoal);
@@ -11923,7 +11932,7 @@ var GoatProvider = class {
11923
11932
  let assertToUse;
11924
11933
  let graderPassed;
11925
11934
  let storedGraderResult;
11926
- const { getGraderById } = await import("./graders-DgMr-E4I.js");
11935
+ const { getGraderById } = await import("./graders-spkuVC-E.js");
11927
11936
  let test;
11928
11937
  if (context?.test) {
11929
11938
  test = context?.test;
@@ -12364,7 +12373,7 @@ var HydraProvider = class {
12364
12373
  let lastTransformResult;
12365
12374
  let lastTransformDisplayVars;
12366
12375
  let lastFinalAttackPrompt;
12367
- const { getGraderById } = await import("./graders-DgMr-E4I.js");
12376
+ const { getGraderById } = await import("./graders-spkuVC-E.js");
12368
12377
  let assertToUse = test?.assert?.find((a) => a.type && a.type.includes(test.metadata?.pluginId));
12369
12378
  if (!assertToUse) assertToUse = test?.assert?.find((a) => a.type);
12370
12379
  let previousTraceSummary;
@@ -13203,7 +13212,7 @@ async function runRedteamConversation$2({ context, filters, injectVar, numIterat
13203
13212
  if (sessionId) sessionIds.push(sessionId);
13204
13213
  let assertToUse = test?.assert?.find((a) => a.type && a.type.includes(test.metadata?.pluginId));
13205
13214
  if (!assertToUse) assertToUse = test?.assert?.find((a) => a.type);
13206
- const { getGraderById } = await import("./graders-DgMr-E4I.js");
13215
+ const { getGraderById } = await import("./graders-spkuVC-E.js");
13207
13216
  if (test && assertToUse) {
13208
13217
  const grader = getGraderById(assertToUse.type);
13209
13218
  if (grader) {
@@ -14033,7 +14042,7 @@ async function runMetaAgentRedteam({ context, filters, injectVar, numIterations,
14033
14042
  previousTraceSummary = attackTraceSummary;
14034
14043
  let assertToUse = test?.assert?.find((a) => a.type && a.type.includes(test.metadata?.pluginId));
14035
14044
  if (!assertToUse) assertToUse = test?.assert?.find((a) => a.type);
14036
- const { getGraderById } = await import("./graders-DgMr-E4I.js");
14045
+ const { getGraderById } = await import("./graders-spkuVC-E.js");
14037
14046
  if (test && assertToUse) {
14038
14047
  const grader = getGraderById(assertToUse.type);
14039
14048
  if (grader) {
@@ -14610,7 +14619,7 @@ async function runRedteamConversation({ context, filters, injectVar, options, pr
14610
14619
  noImprovementCount++;
14611
14620
  if (noImprovementCount % 5 === 0) logger_default.debug(`[Depth ${depth}, Attempt ${attempts}] No improvement for ${noImprovementCount} consecutive iterations. Max score: ${maxScore}`);
14612
14621
  }
14613
- const { getGraderById } = await import("./graders-DgMr-E4I.js");
14622
+ const { getGraderById } = await import("./graders-spkuVC-E.js");
14614
14623
  let graderPassed;
14615
14624
  let assertToUse = test?.assert?.find((a) => a.type && a.type.includes(test.metadata?.pluginId));
14616
14625
  if (!assertToUse) assertToUse = test?.assert?.find((a) => a.type);
@@ -22595,7 +22604,7 @@ var GeminiImageProvider = class {
22595
22604
  ...this.config.imageAspectRatio && { aspectRatio: this.config.imageAspectRatio },
22596
22605
  ...this.config.imageSize && isGemini3 && { imageSize: this.config.imageSize }
22597
22606
  };
22598
- if (this.config.safetySettings) body.safetySettings = this.config.safetySettings;
22607
+ if (this.config.safetySettings) body.safetySettings = normalizeSafetySettings(this.config.safetySettings);
22599
22608
  return body;
22600
22609
  }
22601
22610
  processResponse(data, cached, latencyMs) {
@@ -22616,16 +22625,20 @@ var GeminiImageProvider = class {
22616
22625
  "SPII"
22617
22626
  ].includes(candidate.finishReason)) return { error: `Response was blocked with finish reason: ${candidate.finishReason}` };
22618
22627
  if (!candidate.content?.parts) return { error: "No content parts in response" };
22619
- const outputParts = [];
22628
+ const textParts = [];
22629
+ const imageParts = [];
22620
22630
  let totalCost = 0;
22621
- for (const part of candidate.content.parts) if (part.text) outputParts.push(part.text);
22631
+ for (const part of candidate.content.parts) if (part.text) textParts.push(part.text);
22622
22632
  else if (part.inlineData) {
22623
22633
  const mimeType = part.inlineData.mimeType || "image/png";
22624
22634
  const base64Data = part.inlineData.data;
22625
- outputParts.push(`![Generated Image](data:${mimeType};base64,${base64Data})`);
22635
+ imageParts.push({
22636
+ mimeType,
22637
+ base64Data
22638
+ });
22626
22639
  totalCost += this.getCostPerImage();
22627
22640
  }
22628
- if (outputParts.length === 0) return { error: "No valid content generated" };
22641
+ if (imageParts.length === 0 && textParts.length === 0) return { error: "No valid content generated" };
22629
22642
  const tokenUsage = cached ? {
22630
22643
  cached: data.usageMetadata?.totalTokenCount,
22631
22644
  total: data.usageMetadata?.totalTokenCount,
@@ -22636,8 +22649,13 @@ var GeminiImageProvider = class {
22636
22649
  total: data.usageMetadata?.totalTokenCount,
22637
22650
  numRequests: 1
22638
22651
  };
22652
+ const images = imageParts.length > 0 ? imageParts.map((img) => ({
22653
+ data: toDataUri(img.mimeType, img.base64Data),
22654
+ mimeType: img.mimeType
22655
+ })) : void 0;
22639
22656
  return {
22640
- output: outputParts.join("\n\n"),
22657
+ output: imageParts.length > 0 && textParts.length === 0 ? images[0].data : textParts.join("\n\n"),
22658
+ images,
22641
22659
  cached,
22642
22660
  latencyMs,
22643
22661
  cost: totalCost > 0 ? totalCost : void 0,
@@ -22775,13 +22793,17 @@ var GoogleImageProvider = class {
22775
22793
  const base64Image = imageData.bytesBase64Encoded;
22776
22794
  const mimeType = imageData.mimeType || "image/png";
22777
22795
  if (base64Image) {
22778
- imageOutputs.push(`![Generated Image](data:${mimeType};base64,${base64Image})`);
22796
+ imageOutputs.push({
22797
+ data: toDataUri(mimeType, base64Image),
22798
+ mimeType
22799
+ });
22779
22800
  totalCost += costPerImage;
22780
22801
  }
22781
22802
  }
22782
22803
  if (imageOutputs.length === 0) return { error: "No valid images generated" };
22783
22804
  return {
22784
- output: imageOutputs.join("\n\n"),
22805
+ output: imageOutputs[0].data,
22806
+ images: imageOutputs,
22785
22807
  cached,
22786
22808
  latencyMs,
22787
22809
  cost: totalCost
@@ -24937,6 +24959,7 @@ var HttpProvider = class {
24937
24959
  const vars = {
24938
24960
  ...context?.vars || {},
24939
24961
  prompt,
24962
+ ...context?.evaluationId ? { evaluationId: context.evaluationId } : {},
24940
24963
  ...transformedTools !== void 0 ? { tools: serializeForTemplate(transformedTools) } : {},
24941
24964
  ...transformedToolChoice !== void 0 ? { tool_choice: serializeForTemplate(transformedToolChoice) } : {}
24942
24965
  };
@@ -25160,9 +25183,17 @@ var HttpProvider = class {
25160
25183
  logger_default.error(`Error parsing session ID: ${String(err)}. Got headers: ${safeJsonStringify(sanitizeObject(responseHeaders, { context: "response headers" }))} and parsed body: ${safeJsonStringify(sanitizeObject(parsedData, { context: "response body" }))}`);
25161
25184
  throw err;
25162
25185
  }
25186
+ ret.metadata = {
25187
+ ...ret.metadata,
25188
+ http: {
25189
+ status,
25190
+ statusText
25191
+ }
25192
+ };
25163
25193
  if (context?.debug) {
25164
25194
  ret.raw = data;
25165
25195
  ret.metadata = {
25196
+ ...ret.metadata,
25166
25197
  headers: sanitizeObject(responseHeaders, { context: "response headers" }),
25167
25198
  transformedRequest: this.config.transformRequest ? transformedPrompt : parsedRequest.body?.text || renderedRequest.trim(),
25168
25199
  finalRequestBody: parsedRequest.body?.text,
@@ -32197,7 +32228,7 @@ const providerMap = [
32197
32228
  {
32198
32229
  test: (providerPath) => providerPath.startsWith("opencode:") || providerPath === "opencode",
32199
32230
  create: async (providerPath, providerOptions, context) => {
32200
- const { OpenCodeSDKProvider } = await import("./opencode-sdk-CqxTHrk0.js");
32231
+ const { OpenCodeSDKProvider } = await import("./opencode-sdk-CImWVqy9.js");
32201
32232
  return new OpenCodeSDKProvider({
32202
32233
  ...providerOptions,
32203
32234
  id: providerPath,
@@ -32209,14 +32240,14 @@ const providerMap = [
32209
32240
  {
32210
32241
  test: (providerPath) => providerPath.startsWith("openclaw:") || providerPath === "openclaw",
32211
32242
  create: async (providerPath, providerOptions, context) => {
32212
- const { createOpenClawProvider } = await import("./openclaw-CnAwBfPO.js");
32243
+ const { createOpenClawProvider } = await import("./openclaw-B6XY2kUf.js");
32213
32244
  return createOpenClawProvider(providerPath, providerOptions, context.env);
32214
32245
  }
32215
32246
  },
32216
32247
  {
32217
32248
  test: (providerPath) => providerPath.startsWith("anthropic:claude-agent-sdk") || providerPath.startsWith("anthropic:claude-code"),
32218
32249
  create: async (_providerPath, providerOptions, context) => {
32219
- const { ClaudeCodeSDKProvider } = await import("./claude-agent-sdk-qxE5mGVi.js");
32250
+ const { ClaudeCodeSDKProvider } = await import("./claude-agent-sdk-CmkTnKGH.js");
32220
32251
  return new ClaudeCodeSDKProvider({
32221
32252
  ...providerOptions,
32222
32253
  env: context.env
@@ -32273,25 +32304,25 @@ const providerMap = [
32273
32304
  const modelName = splits.slice(2).join(":");
32274
32305
  if (modelType === "converse") return new AwsBedrockConverseProvider(modelName, providerOptions);
32275
32306
  if (modelType === "nova-sonic" || modelType.includes("amazon.nova-sonic")) {
32276
- const { NovaSonicProvider } = await import("./nova-sonic-CklvraBd.js");
32307
+ const { NovaSonicProvider } = await import("./nova-sonic-BXRfQyF-.js");
32277
32308
  return new NovaSonicProvider("amazon.nova-sonic-v1:0", providerOptions);
32278
32309
  }
32279
32310
  if (modelType.includes("luma.ray") || modelName.includes("luma.ray")) {
32280
- const { LumaRayVideoProvider } = await import("./luma-ray-vvE-O9EA.js");
32311
+ const { LumaRayVideoProvider } = await import("./luma-ray-DgKLS0BF.js");
32281
32312
  return new LumaRayVideoProvider(modelName.includes("luma.ray") ? modelName : splits.slice(1).join(":") || "luma.ray-v2:0", providerOptions);
32282
32313
  }
32283
32314
  if (modelType.includes("amazon.nova-reel") || modelType === "video" && (modelName.includes("amazon.nova-reel") || modelName === "")) {
32284
- const { NovaReelVideoProvider } = await import("./nova-reel-BM0snD2m.js");
32315
+ const { NovaReelVideoProvider } = await import("./nova-reel-Bk5npr2q.js");
32285
32316
  return new NovaReelVideoProvider(modelName || "amazon.nova-reel-v1:1", providerOptions);
32286
32317
  }
32287
32318
  if (modelType === "agents") {
32288
- const { AwsBedrockAgentsProvider } = await import("./agents-zHyWnnQ2.js");
32319
+ const { AwsBedrockAgentsProvider } = await import("./agents-Cao4i7AX.js");
32289
32320
  return new AwsBedrockAgentsProvider(modelName, providerOptions);
32290
32321
  }
32291
32322
  if (modelType === "completion") return new AwsBedrockCompletionProvider(modelName, providerOptions);
32292
32323
  if (modelType === "embeddings" || modelType === "embedding") return new AwsBedrockEmbeddingProvider(modelName, providerOptions);
32293
32324
  if (modelType === "kb" || modelType === "knowledge-base") {
32294
- const { AwsBedrockKnowledgeBaseProvider } = await import("./knowledgeBase-DZw2L9kf.js");
32325
+ const { AwsBedrockKnowledgeBaseProvider } = await import("./knowledgeBase-CMvMlLZR.js");
32295
32326
  return new AwsBedrockKnowledgeBaseProvider(modelName, providerOptions);
32296
32327
  }
32297
32328
  return new AwsBedrockCompletionProvider(splits.slice(1).join(":"), providerOptions);
@@ -32301,7 +32332,7 @@ const providerMap = [
32301
32332
  test: (providerPath) => providerPath.startsWith("bedrock-agent:"),
32302
32333
  create: async (providerPath, providerOptions, _context) => {
32303
32334
  const agentId = providerPath.substring(14);
32304
- const { AwsBedrockAgentsProvider } = await import("./agents-zHyWnnQ2.js");
32335
+ const { AwsBedrockAgentsProvider } = await import("./agents-Cao4i7AX.js");
32305
32336
  return new AwsBedrockAgentsProvider(agentId, providerOptions);
32306
32337
  }
32307
32338
  },
@@ -32311,7 +32342,7 @@ const providerMap = [
32311
32342
  const splits = providerPath.split(":");
32312
32343
  const modelType = splits[1];
32313
32344
  const endpointName = splits.slice(2).join(":");
32314
- const { SageMakerCompletionProvider, SageMakerEmbeddingProvider } = await import("./sagemaker-hRS_Jj3-.js");
32345
+ const { SageMakerCompletionProvider, SageMakerEmbeddingProvider } = await import("./sagemaker-BcgLu0U4.js");
32315
32346
  if (modelType === "embedding" || modelType === "embeddings") return new SageMakerEmbeddingProvider(endpointName || modelType, providerOptions);
32316
32347
  if (splits.length === 2) return new SageMakerCompletionProvider(modelType, providerOptions);
32317
32348
  if (endpointName.includes("jumpstart") || modelType === "jumpstart") return new SageMakerCompletionProvider(endpointName, {
@@ -32352,7 +32383,7 @@ const providerMap = [
32352
32383
  {
32353
32384
  test: (providerPath) => providerPath.startsWith("cloudflare-ai:"),
32354
32385
  create: async (providerPath, providerOptions, context) => {
32355
- const { createCloudflareAiProvider } = await import("./cloudflare-ai-CB7OWRAP.js");
32386
+ const { createCloudflareAiProvider } = await import("./cloudflare-ai-CobxMTR4.js");
32356
32387
  return createCloudflareAiProvider(providerPath, {
32357
32388
  ...providerOptions,
32358
32389
  env: context.env
@@ -32362,7 +32393,7 @@ const providerMap = [
32362
32393
  {
32363
32394
  test: (providerPath) => providerPath.startsWith("cloudflare-gateway:"),
32364
32395
  create: async (providerPath, providerOptions, context) => {
32365
- const { createCloudflareGatewayProvider } = await import("./cloudflare-gateway-BaVwoBjE.js");
32396
+ const { createCloudflareGatewayProvider } = await import("./cloudflare-gateway-D2_yi-Fh.js");
32366
32397
  return createCloudflareGatewayProvider(providerPath, {
32367
32398
  ...providerOptions,
32368
32399
  env: context.env
@@ -32514,27 +32545,27 @@ const providerMap = [
32514
32545
  create: async (providerPath, providerOptions, context) => {
32515
32546
  const modelType = providerPath.split(":")[1];
32516
32547
  if (modelType === "image") {
32517
- const { createHyperbolicImageProvider } = await import("./image-DIn_AW1Z.js");
32548
+ const { createHyperbolicImageProvider } = await import("./image-DB4sHxdJ.js");
32518
32549
  return createHyperbolicImageProvider(providerPath, {
32519
32550
  ...providerOptions,
32520
32551
  env: context.env
32521
32552
  });
32522
32553
  }
32523
32554
  if (modelType === "audio") {
32524
- const { createHyperbolicAudioProvider } = await import("./audio-BDrAkpVc.js");
32555
+ const { createHyperbolicAudioProvider } = await import("./audio-DUH4q0Xq.js");
32525
32556
  return createHyperbolicAudioProvider(providerPath, {
32526
32557
  ...providerOptions,
32527
32558
  env: context.env
32528
32559
  });
32529
32560
  }
32530
- const { createHyperbolicProvider } = await import("./chat-DQ6Z5Cbn.js");
32561
+ const { createHyperbolicProvider } = await import("./chat-Cpz3O-Xl.js");
32531
32562
  return createHyperbolicProvider(providerPath, providerOptions);
32532
32563
  }
32533
32564
  },
32534
32565
  {
32535
32566
  test: (providerPath) => providerPath.startsWith("litellm:"),
32536
32567
  create: async (providerPath, providerOptions, context) => {
32537
- const { createLiteLLMProvider } = await import("./litellm-fU-xV6T4.js");
32568
+ const { createLiteLLMProvider } = await import("./litellm-CHrRmPAe.js");
32538
32569
  return createLiteLLMProvider(providerPath, {
32539
32570
  config: providerOptions,
32540
32571
  env: context.env
@@ -32590,7 +32621,7 @@ const providerMap = [
32590
32621
  const modelType = splits[1];
32591
32622
  const modelName = splits.slice(2).join(":");
32592
32623
  if (modelType === "codex-sdk" || modelType === "codex") {
32593
- const { OpenAICodexSDKProvider } = await import("./codex-sdk-DNkCbb7c.js");
32624
+ const { OpenAICodexSDKProvider } = await import("./codex-sdk-dSnGdgIp.js");
32594
32625
  return new OpenAICodexSDKProvider({
32595
32626
  ...providerOptions,
32596
32627
  env: context.env
@@ -32603,7 +32634,7 @@ const providerMap = [
32603
32634
  if (modelType === "realtime") return new OpenAiRealtimeProvider(modelName || "gpt-4o-realtime-preview-2024-12-17", providerOptions);
32604
32635
  if (modelType === "responses") return new OpenAiResponsesProvider(modelName || "gpt-4.1-2025-04-14", providerOptions);
32605
32636
  if (modelType === "transcription") {
32606
- const { OpenAiTranscriptionProvider } = await import("./transcription-CcYTL4wi.js");
32637
+ const { OpenAiTranscriptionProvider } = await import("./transcription-Ch7S-LWw.js");
32607
32638
  return new OpenAiTranscriptionProvider(modelName || "gpt-4o-transcribe-diarize", providerOptions);
32608
32639
  }
32609
32640
  if (OpenAiChatCompletionProvider.OPENAI_CHAT_MODEL_NAMES.includes(modelType)) return new OpenAiChatCompletionProvider(modelType, providerOptions);
@@ -32611,11 +32642,11 @@ const providerMap = [
32611
32642
  if (OpenAiRealtimeProvider.OPENAI_REALTIME_MODEL_NAMES.includes(modelType)) return new OpenAiRealtimeProvider(modelType, providerOptions);
32612
32643
  if (OpenAiResponsesProvider.OPENAI_RESPONSES_MODEL_NAMES.includes(modelType)) return new OpenAiResponsesProvider(modelType, providerOptions);
32613
32644
  if (modelType === "agents") {
32614
- const { OpenAiAgentsProvider } = await import("./agents-CkA9l77-.js");
32645
+ const { OpenAiAgentsProvider } = await import("./agents-DYIT-hQy.js");
32615
32646
  return new OpenAiAgentsProvider(modelName || "default-agent", providerOptions);
32616
32647
  }
32617
32648
  if (modelType === "chatkit") {
32618
- const { OpenAiChatKitProvider } = await import("./chatkit-TnC1YoVi.js");
32649
+ const { OpenAiChatKitProvider } = await import("./chatkit-DEls11hE.js");
32619
32650
  return new OpenAiChatKitProvider(modelName || "", providerOptions);
32620
32651
  }
32621
32652
  if (modelType === "assistant") return new OpenAiAssistantProvider(modelName, providerOptions);
@@ -32658,7 +32689,7 @@ const providerMap = [
32658
32689
  {
32659
32690
  test: (providerPath) => providerPath.startsWith("quiverai:"),
32660
32691
  create: async (providerPath, providerOptions, context) => {
32661
- const { createQuiverAiProvider } = await import("./quiverai-Y7Is4wah.js");
32692
+ const { createQuiverAiProvider } = await import("./quiverai-BQigKdIH.js");
32662
32693
  return createQuiverAiProvider(providerPath, providerOptions, context.env);
32663
32694
  }
32664
32695
  },
@@ -32703,7 +32734,7 @@ const providerMap = [
32703
32734
  {
32704
32735
  test: (providerPath) => providerPath.startsWith("aimlapi:"),
32705
32736
  create: async (providerPath, providerOptions, context) => {
32706
- const { createAimlApiProvider } = await import("./aimlapi-DILJovhN.js");
32737
+ const { createAimlApiProvider } = await import("./aimlapi-DMF6v_vb.js");
32707
32738
  return createAimlApiProvider(providerPath, {
32708
32739
  ...providerOptions,
32709
32740
  env: context.env
@@ -32713,7 +32744,7 @@ const providerMap = [
32713
32744
  {
32714
32745
  test: (providerPath) => providerPath.startsWith("cometapi:"),
32715
32746
  create: async (providerPath, providerOptions, context) => {
32716
- const { createCometApiProvider } = await import("./cometapi-BGxGZ7VA.js");
32747
+ const { createCometApiProvider } = await import("./cometapi-B01btbfb.js");
32717
32748
  return createCometApiProvider(providerPath, {
32718
32749
  ...providerOptions,
32719
32750
  env: context.env
@@ -32723,7 +32754,7 @@ const providerMap = [
32723
32754
  {
32724
32755
  test: (providerPath) => providerPath.startsWith("docker:"),
32725
32756
  create: async (providerPath, providerOptions, context) => {
32726
- const { createDockerProvider } = await import("./docker-Dx_FN1ag.js");
32757
+ const { createDockerProvider } = await import("./docker-BuButc4D.js");
32727
32758
  return createDockerProvider(providerPath, {
32728
32759
  ...providerOptions,
32729
32760
  env: context.env
@@ -32989,7 +33020,7 @@ const providerMap = [
32989
33020
  {
32990
33021
  test: (providerPath) => providerPath.startsWith("transformers:") || providerPath.startsWith("transformers.js:"),
32991
33022
  create: async (providerPath, providerOptions, _context) => {
32992
- const { validateTransformersDependency } = await import("./transformersAvailability-DM54tWzt.js");
33023
+ const { validateTransformersDependency } = await import("./transformersAvailability-DwmezkVe.js");
32993
33024
  await validateTransformersDependency();
32994
33025
  const splits = providerPath.split(":");
32995
33026
  if (splits.length < 3) throw new Error(`Invalid Transformers.js provider path: ${providerPath}. Format: transformers:<task>:<model>
@@ -33009,7 +33040,7 @@ Example: transformers:feature-extraction:Xenova/all-MiniLM-L6-v2`);
33009
33040
  test: (providerPath) => providerPath === "slack" || providerPath.startsWith("slack:"),
33010
33041
  create: async (providerPath, providerOptions, _context) => {
33011
33042
  try {
33012
- const { SlackProvider } = await import("./slack-DTUSadx4.js");
33043
+ const { SlackProvider } = await import("./slack-BfdBx2tO.js");
33013
33044
  if (providerPath === "slack") return new SlackProvider(providerOptions);
33014
33045
  const splits = providerPath.split(":");
33015
33046
  if (splits.length < 2) throw new Error("Invalid Slack provider path. Use slack:<channel_id> or slack:channel:<channel_id>");
@@ -33306,4 +33337,4 @@ function getProviderIds(providerPaths) {
33306
33337
 
33307
33338
  //#endregion
33308
33339
  export { AzureEmbeddingProvider as $, renderPrompt as A, OpenAiModerationProvider as B, extractVariablesFromJson as C, isEmptyResponse as D, isBasicRefusal as E, TokenUsageTracker as F, VertexChatProvider as G, MistralEmbeddingProvider as H, createRateLimitRegistry as I, DefaultGradingProvider$1 as J, AIStudioChatProvider as K, createProviderRateLimitOptions as L, isPackagePath as M, loadFromPackage as N, removePrefix as O, redteamProviderManager as P, AzureModerationProvider as Q, PromptfooHarmfulCompletionProvider as R, extractPromptFromTags as S, getShortPluginId as T, DefaultEmbeddingProvider as U, MistralChatCompletionProvider as V, DefaultGradingProvider as W, DefaultSuggestionsProvider as X, DefaultLlmRubricProvider as Y, DefaultSynthesizeProvider as Z, pluginMatchesStrategyTargets as _, resolveTeamId as _t, resolveProviderConfigs as a, getCloudDatabaseId as at, extractGoalFromPrompt as b, createTransformRequest as c, getEvalConfigFromCloud as ct, Strategies as d, getPoliciesFromCloud as dt, AzureChatCompletionProvider as et, loadStrategy as f, getProviderFromCloud as ft, retrieveMedia as g, resolveTeamFromIdentifier as gt, mediaExists as h, makeRequest as ht, resolveProvider as i, checkCloudPermissions as it, runExtensionHook as j, collectFileMetadata as k, createTransformResponse$1 as l, getOrgContext as lt, getMediaStorage as m, isCloudProvider as mt, loadApiProvider as n, parseScriptParts as nt, MCPProvider as o, getConfigFromCloud as ot, validateStrategies as p, getUserTeams as pt, DefaultGradingJsonProvider as q, loadApiProviders as r, canCreateTargets as rt, HttpProvider as s, getDefaultTeam as st, getProviderIds as t, getFileHashes as tt, GoogleLiveProvider as u, getPluginSeverityOverridesFromCloud as ut, checkExfilTracking as v, getSessionId as w, extractInputVarsFromPrompt as x, extractAllPromptsFromTags as y, REDTEAM_MEMORY_POISONING_PLUGIN_ID as z };
33309
- //# sourceMappingURL=providers-BOvl9qv5.js.map
33340
+ //# sourceMappingURL=providers-BlEhY5mi.js.map
@@ -0,0 +1,32 @@
1
+ import "./chunk-FhC4c-0y.js";
2
+ import "./logger-w8Ozp0Td.js";
3
+ import "./esm-rDtG_2rg.js";
4
+ import "./pythonUtils-vMlk9Qp5.js";
5
+ import "./transform-D8dILpfZ.js";
6
+ import "./types-DMVjYLpx.js";
7
+ import "./util-DiCePfDu.js";
8
+ import "./fetch-18MuNu9i.js";
9
+ import "./cache-BLLayYEN.js";
10
+ import { a as resolveProviderConfigs, i as resolveProvider, n as loadApiProvider, r as loadApiProviders, t as getProviderIds } from "./providers-BiNq_Iyc.js";
11
+ import "./extractor-Hs7la_19.js";
12
+ import "./genaiTracer-Ce19n68P.js";
13
+ import "./chat-C8Ei4f87.js";
14
+ import "./transform-DMaxQwDx.js";
15
+ import "./messages-CDZYGNlS.js";
16
+ import "./util-mJ58qbbw.js";
17
+ import "./responses-DLLjADw5.js";
18
+ import "./openai-Dz3surb_.js";
19
+ import "./util-Cl0zfT3V.js";
20
+ import "./completion-D9_MDlnd.js";
21
+ import "./accounts-R3gfCR_g.js";
22
+ import "./server-CbMTRQkg.js";
23
+ import "./blobs-C9J2mVgo.js";
24
+ import "./tables-D-NSwNIb.js";
25
+ import "./telemetry-DZ_7PaVq.js";
26
+ import "./store-2ocbYY9D.js";
27
+ import "./base-Dtp8b4_N.js";
28
+ import "./image-BiEVdpdP.js";
29
+ import "./providerRegistry-wCWd7sKQ.js";
30
+ import "./rubyUtils-Cs35SDYa.js";
31
+
32
+ export { loadApiProvider, loadApiProviders };
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env node
2
+ import "./chunk-DHDDz29n.js";
3
+ import "./logger-BotXmWKW.js";
4
+ import "./fetch-SRsE6Ctl.js";
5
+ import "./accounts-DHHiXsy6.js";
6
+ import "./cloud-BMbRVJFw.js";
7
+ import "./telemetry-BXyVqyAg.js";
8
+ import "./types-t52w-XsS.js";
9
+ import "./server-DWmZLfCy.js";
10
+ import { a as resolveProviderConfigs, i as resolveProvider, n as loadApiProvider, r as loadApiProviders, t as getProviderIds } from "./providers-BlEhY5mi.js";
11
+ import "./cache-mIszOnuz.js";
12
+ import "./util-BSh4a_Q8.js";
13
+ import "./esm-CYhseqj4.js";
14
+ import "./pythonUtils-r1uBuA0n.js";
15
+ import "./transform-CqTFr7KR.js";
16
+ import "./extractor-LSYjrhK0.js";
17
+ import "./genaiTracer-CqNnnXrE.js";
18
+ import "./chat-DIywASPG.js";
19
+ import "./transform-CoP2bJ7P.js";
20
+ import "./messages-D61tPFQo.js";
21
+ import "./util-vjscpUzy.js";
22
+ import "./responses-TsdODUpm.js";
23
+ import "./openai-CT5fwbve.js";
24
+ import "./util-CUEt0Vum.js";
25
+ import "./completion-BBJ6zmG3.js";
26
+ import "./blobs-kt8v3UyH.js";
27
+ import "./tables-C7TT2XVn.js";
28
+ import "./store-D4gdn9ih.js";
29
+ import "./base-BaXmtXYp.js";
30
+ import "./image-mhAGP07h.js";
31
+ import "./providerRegistry-Xf0qdqGQ.js";
32
+ import "./rubyUtils-BtjlqyXt.js";
33
+
34
+ export { loadApiProvider, loadApiProviders };