promptfoo 0.120.24 → 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 (304) hide show
  1. package/README.md +35 -22
  2. package/dist/src/{ListApp-55OAHww3.js → ListApp-D3DG0F8h.js} +1 -1
  3. package/dist/src/{accounts-BwVGYllP.cjs → accounts-BzEY8H3v.cjs} +5 -5
  4. package/dist/src/{accounts-BOlMHrvn.js → accounts-DHHiXsy6.js} +6 -6
  5. package/dist/src/{accounts-DxR9x_En.js → accounts-R3gfCR_g.js} +5 -5
  6. package/dist/src/{agentic-utils-t9-1raty.js → agentic-utils-D6_gzOUF.js} +3 -3
  7. package/dist/src/{agents-DMpQ860j.cjs → agents-C7BiinFI.cjs} +7 -7
  8. package/dist/src/{agents-9Z7pO8yx.js → agents-Cao4i7AX.js} +8 -8
  9. package/dist/src/{agents-DjExVR3v.js → agents-Cnph5GLD.js} +2 -2
  10. package/dist/src/{agents-CI0Ad69d.cjs → agents-CwM7re15.cjs} +5 -5
  11. package/dist/src/{agents-BwI-Tm5m.js → agents-DETIQHqF.js} +7 -7
  12. package/dist/src/{agents-CRAmwjo-.js → agents-DYIT-hQy.js} +6 -6
  13. package/dist/src/{agents-BbIpDhgp.js → agents-GiUianme.js} +5 -5
  14. package/dist/src/{agents-yL5DzIKY.js → agents-v4cW_ZgC.js} +2 -2
  15. package/dist/src/{aimlapi-xHHqwNg8.js → aimlapi-CMJpKK-B.js} +13 -13
  16. package/dist/src/{aimlapi-BM9P45Bp.js → aimlapi-DMF6v_vb.js} +15 -15
  17. package/dist/src/{aimlapi-DKo7IxJg.cjs → aimlapi-DoGLcQW_.cjs} +14 -14
  18. package/dist/src/{aimlapi-ivzDkqbs.js → aimlapi-DtSf1ykJ.js} +2 -2
  19. package/dist/src/app/assets/index-BOgkICuY.css +1 -0
  20. package/dist/src/app/assets/index-CSgqn_Vd.js +428 -0
  21. package/dist/src/app/assets/{vendor-charts-DnwydkkY.js → vendor-charts-CYyo8R8v.js} +1 -1
  22. package/dist/src/app/assets/{vendor-markdown-DjKAU15k.js → vendor-markdown-DSmzq4Jh.js} +1 -1
  23. package/dist/src/app/assets/vendor-react-AtKqiNEf.js +4 -0
  24. package/dist/src/app/assets/{vendor-syntax-Dc86c4Bu.js → vendor-syntax-D06x6TQF.js} +1 -1
  25. package/dist/src/app/index.html +6 -6
  26. package/dist/src/app/tsconfig.app.tsbuildinfo +1 -1
  27. package/dist/src/{audio-B3QGL6Nl.cjs → audio-BWjyvHn9.cjs} +4 -4
  28. package/dist/src/{audio-C-1oBiVZ.js → audio-BrJBFN2b.js} +4 -4
  29. package/dist/src/{audio-DnfDVjhL.js → audio-DUH4q0Xq.js} +5 -5
  30. package/dist/src/{audio-DQWHfAr8.js → audio-U580w8jM.js} +2 -2
  31. package/dist/src/{base-DHam07ip.js → base-BaXmtXYp.js} +3 -3
  32. package/dist/src/{base-BjsgxJp9.js → base-Dtp8b4_N.js} +3 -3
  33. package/dist/src/{base-Bso8ccGu.cjs → base-f71xxWai.cjs} +3 -3
  34. package/dist/src/{blobs-DOdc-E8L.cjs → blobs-673H0jCl.cjs} +3 -3
  35. package/dist/src/{blobs-Dcm272OH.js → blobs-C9J2mVgo.js} +3 -3
  36. package/dist/src/{blobs-MlVQyoSc.js → blobs-kt8v3UyH.js} +3 -3
  37. package/dist/src/{cache-KNsTJLKP.cjs → cache-7xULbvt3.cjs} +35 -8
  38. package/dist/src/{cache-BMl3AIo5.js → cache-BLLayYEN.js} +24 -9
  39. package/dist/src/{cache-B0ptF7sO.js → cache-BUPcq0Ad.js} +3 -3
  40. package/dist/src/cache-CVfRb-HD.cjs +6 -0
  41. package/dist/src/{cache-DPztwHxt.js → cache-O4EuX2JV.js} +4 -4
  42. package/dist/src/{cache-DHm8Pc8l.js → cache-mIszOnuz.js} +5 -22
  43. package/dist/src/{chat-DOQIJx7O.cjs → chat-C4zqjObh.cjs} +10 -10
  44. package/dist/src/{chat-DDGU7Tik.js → chat-C8Ei4f87.js} +9 -9
  45. package/dist/src/{chat-BnzIuoTQ.js → chat-CgyGj2hC.js} +12 -12
  46. package/dist/src/{chat-BRMJOuCv.js → chat-Cpz3O-Xl.js} +14 -14
  47. package/dist/src/{chat-CVOyOBYk.js → chat-DIywASPG.js} +11 -11
  48. package/dist/src/{chat-CrnXMbvh.cjs → chat-Fl6TZJRS.cjs} +13 -13
  49. package/dist/src/{chat-D8GcWK9l.js → chat-XPN9YHhr.js} +2 -2
  50. package/dist/src/{chatkit-IWIuhxFE.js → chatkit-DEls11hE.js} +4 -4
  51. package/dist/src/{chatkit-DlOZ-eNb.js → chatkit-DIrJX8xk.js} +4 -4
  52. package/dist/src/{chatkit-CcktkleS.js → chatkit-Dpxrq4eD.js} +2 -2
  53. package/dist/src/{chatkit-yeVtURUi.cjs → chatkit-e25Ziu17.cjs} +4 -4
  54. package/dist/src/{claude-agent-sdk-BiMgSH9g.js → claude-agent-sdk-6-xTaLwM.js} +48 -19
  55. package/dist/src/{claude-agent-sdk-Yj9Hq0cH.cjs → claude-agent-sdk-BzxF6NIJ.cjs} +48 -19
  56. package/dist/src/{claude-agent-sdk-rVqlUIJl.js → claude-agent-sdk-CmkTnKGH.js} +49 -20
  57. package/dist/src/{claude-agent-sdk-yid1kGsL.js → claude-agent-sdk-rXCBLK_o.js} +40 -11
  58. package/dist/src/{cloud-ByJVRSQI.js → cloud-BMbRVJFw.js} +3 -3
  59. package/dist/src/cloud-CZ4hytdm.js +5 -0
  60. package/dist/src/{cloudflare-ai-DmJZcvVx.cjs → cloudflare-ai-BAQ0u_dg.cjs} +14 -14
  61. package/dist/src/{cloudflare-ai-CWKYPCCF.js → cloudflare-ai-CUg4BTcj.js} +13 -13
  62. package/dist/src/{cloudflare-ai-goDJ5bwr.js → cloudflare-ai-CobxMTR4.js} +15 -15
  63. package/dist/src/{cloudflare-ai-CdKv38f6.js → cloudflare-ai-Z9X219gp.js} +2 -2
  64. package/dist/src/{cloudflare-gateway-BW8hcdB0.cjs → cloudflare-gateway-C0sgfr_z.cjs} +15 -15
  65. package/dist/src/{cloudflare-gateway-CDCOS1Os.js → cloudflare-gateway-D2_yi-Fh.js} +16 -16
  66. package/dist/src/{cloudflare-gateway-Dz_HCMGY.js → cloudflare-gateway-Djf3F3_H.js} +2 -2
  67. package/dist/src/{cloudflare-gateway-gzmTsXcd.js → cloudflare-gateway-_itGuXry.js} +14 -14
  68. package/dist/src/{codex-sdk-BlvhxMr0.js → codex-sdk-BASDNkIl.js} +90 -34
  69. package/dist/src/{codex-sdk-BC5qbCjh.js → codex-sdk-dSnGdgIp.js} +92 -36
  70. package/dist/src/{codex-sdk-CBpm53B8.js → codex-sdk-ibXwdglL.js} +91 -35
  71. package/dist/src/{codex-sdk-Cf5_CQch.cjs → codex-sdk-wTEpMM_X.cjs} +92 -36
  72. package/dist/src/{cometapi-DoaO5SLq.js → cometapi-B01btbfb.js} +16 -16
  73. package/dist/src/{cometapi-BUKGSUCw.js → cometapi-ChAaRjg5.js} +14 -14
  74. package/dist/src/{cometapi-C6BSw9k3.js → cometapi-DHUAH6nK.js} +2 -2
  75. package/dist/src/{cometapi-B3TzpkNI.cjs → cometapi-JbvOJSCO.cjs} +15 -15
  76. package/dist/src/{completion-BLe7SUA4.js → completion-BBJ6zmG3.js} +6 -6
  77. package/dist/src/{completion-1RAiLcwi.js → completion-D9_MDlnd.js} +6 -6
  78. package/dist/src/{completion-D6BTVt6e.cjs → completion-DDyL3Cb2.cjs} +6 -6
  79. package/dist/src/{docker-CkOzlD1W.js → docker-BuButc4D.js} +15 -15
  80. package/dist/src/{docker-BWsSX8Pn.cjs → docker-Ckw-j7Rr.cjs} +14 -14
  81. package/dist/src/{docker-CMf5SGLq.js → docker-JAAubMw3.js} +13 -13
  82. package/dist/src/{docker-C0AzMsuf.js → docker-vnOg96gi.js} +2 -2
  83. package/dist/src/errors-DnGCbnx8.js +36 -0
  84. package/dist/src/{esm-gWVPXn3r.cjs → esm-BQkx5roy.cjs} +2 -2
  85. package/dist/src/{esm-Lh6czAFT.js → esm-CYhseqj4.js} +2 -2
  86. package/dist/src/{esm-D40XsWlR.js → esm-rDtG_2rg.js} +2 -2
  87. package/dist/src/eval-CKHWqG9f.js +16 -0
  88. package/dist/src/{eval-WaSg64w3.js → eval-CYrbG57o.js} +106 -29
  89. package/dist/src/{evalResult-CGrGU_cG.js → evalResult-6JaUIStC.js} +7 -7
  90. package/dist/src/{evalResult-C_UM63nn.js → evalResult-COsVttMA.js} +7 -7
  91. package/dist/src/evalResult-CxTP-LMm.cjs +11 -0
  92. package/dist/src/evalResult-CzLURDcP.js +13 -0
  93. package/dist/src/{evalResult-BU4huold.cjs → evalResult-DlRfu_Rq.cjs} +7 -7
  94. package/dist/src/evalResult-DyttNQ_G.js +11 -0
  95. package/dist/src/evaluator-0PvfeBYh.js +38 -0
  96. package/dist/src/{evaluator-gmF3Vddp.js → evaluator-3EJCMTs0.js} +75 -49
  97. package/dist/src/{extractor-D-RM2m6A.cjs → extractor-DbhlYEeo.cjs} +23 -6
  98. package/dist/src/{extractor-Da8IxCeS.js → extractor-Hs7la_19.js} +23 -6
  99. package/dist/src/{extractor-BA90EtLq.js → extractor-LSYjrhK0.js} +23 -6
  100. package/dist/src/{fetch-BIfcW-Fd.js → fetch-18MuNu9i.js} +21 -7
  101. package/dist/src/{fetch-CW9GabAi.js → fetch-Bi0o-fdp.js} +2 -2
  102. package/dist/src/fetch-CMptBDVg.cjs +4 -0
  103. package/dist/src/fetch-DAZkv3gV.js +6 -0
  104. package/dist/src/{fetch-Mb7SbeM-.js → fetch-SRsE6Ctl.js} +21 -7
  105. package/dist/src/{fetch-MvWxCS5U.cjs → fetch-ZMn_oemb.cjs} +21 -7
  106. package/dist/src/{fileExtensions-CzcPkiKZ.js → fileExtensions-BpuMmaFL.js} +1 -1
  107. package/dist/src/{formatDuration-CCiZ-wBY.js → formatDuration-Doo0xq-z.js} +1 -1
  108. package/dist/src/{genaiTracer-BQ8AmajD.cjs → genaiTracer-CQlpZkrp.cjs} +2 -2
  109. package/dist/src/{genaiTracer-foKtbVa2.js → genaiTracer-CqNnnXrE.js} +1 -1
  110. package/dist/src/graders-BCytzXrb.js +34 -0
  111. package/dist/src/{graders-CwtelA9k.js → graders-BaMCwIKp.js} +212 -91
  112. package/dist/src/graders-CGZQShfJ.cjs +33 -0
  113. package/dist/src/{graders-2dabIkXs.cjs → graders-DzUUnUjC.cjs} +212 -91
  114. package/dist/src/{graders-BscQ6O1Q.js → graders-QsALpIdy.js} +211 -90
  115. package/dist/src/graders-spkuVC-E.js +36 -0
  116. package/dist/src/{image-Dv0o-Ab7.js → image-BXt_7u0v.js} +4 -4
  117. package/dist/src/{image-B6TV9l0v.js → image-BiEVdpdP.js} +7 -7
  118. package/dist/src/{image-DS9hlgSc.cjs → image-C3BjJUAU.cjs} +7 -7
  119. package/dist/src/{image-_jKUeeh9.js → image-COCWy5dX.js} +2 -2
  120. package/dist/src/{image-DqElR73O.cjs → image-D10zEe1f.cjs} +4 -4
  121. package/dist/src/{image-BVEVjrwl.js → image-DB4sHxdJ.js} +5 -5
  122. package/dist/src/{image-C1i3NoZo.js → image-mhAGP07h.js} +7 -7
  123. package/dist/src/index.cjs +305 -112
  124. package/dist/src/index.d.cts +137 -3
  125. package/dist/src/index.d.ts +137 -3
  126. package/dist/src/index.js +304 -111
  127. package/dist/src/{interactiveCheck-CjK2R4rB.js → interactiveCheck-DU-MAhp5.js} +2 -2
  128. package/dist/src/{knowledgeBase-K5fJN2kC.cjs → knowledgeBase-Bnb00xKs.cjs} +8 -8
  129. package/dist/src/{knowledgeBase-D-xthvn0.js → knowledgeBase-CMvMlLZR.js} +9 -9
  130. package/dist/src/{knowledgeBase-DJZHeJqg.js → knowledgeBase-DotRBzUE.js} +2 -2
  131. package/dist/src/{knowledgeBase-BSs2ldSR.js → knowledgeBase-XJQ0Qyez.js} +8 -8
  132. package/dist/src/{litellm-kPhaZkzz.js → litellm-BECdjOTx.js} +3 -3
  133. package/dist/src/{litellm-uRLukY7s.cjs → litellm-BrnZhMcL.cjs} +15 -15
  134. package/dist/src/{litellm-DH_rVIOd.js → litellm-CHrRmPAe.js} +16 -16
  135. package/dist/src/{litellm-DoXGHlpD.js → litellm-CrLJrPIm.js} +14 -14
  136. package/dist/src/{logger-CMp-NS-e.cjs → logger-BdZ-IqBc.cjs} +5 -2
  137. package/dist/src/{logger-Bzi5o47S.js → logger-BotXmWKW.js} +5 -2
  138. package/dist/src/{logger-q5I8CByj.js → logger-w8Ozp0Td.js} +5 -2
  139. package/dist/src/{luma-ray-B3GiVpuq.js → luma-ray-BOeX-h0M.js} +10 -10
  140. package/dist/src/{luma-ray-CPISsLu-.js → luma-ray-C-w6EsJm.js} +2 -2
  141. package/dist/src/{luma-ray-BrWrKIIB.cjs → luma-ray-C0RkI3lt.cjs} +10 -10
  142. package/dist/src/{luma-ray-gyI_GEy2.js → luma-ray-DgKLS0BF.js} +11 -11
  143. package/dist/src/main.js +3260 -2537
  144. package/dist/src/{messages-CJgEjRQF.js → messages-CDZYGNlS.js} +13 -10
  145. package/dist/src/{messages-BMkwrfmt.js → messages-D61tPFQo.js} +14 -11
  146. package/dist/src/{messages-B5HsO_dM.cjs → messages-DXV3Qh8_.cjs} +14 -11
  147. package/dist/src/{meteor-CBciquOS.js → meteor-Dj8cTkU_.js} +1 -1
  148. package/dist/src/{meteor-0cLf9TIn.js → meteor-P2rUE-Uz.js} +1 -1
  149. package/dist/src/{meteor-BQ6Ws9k2.js → meteor-SLNTgmXm.js} +2 -2
  150. package/dist/src/{meteor-DRuEfzuQ.cjs → meteor-odmwVbyG.cjs} +1 -1
  151. package/dist/src/{nova-reel-B5SOonY2.js → nova-reel-Bk5npr2q.js} +11 -11
  152. package/dist/src/{nova-reel-CT9ZuhJ3.js → nova-reel-C2LFfVTf.js} +2 -2
  153. package/dist/src/{nova-reel-ByTx85ed.cjs → nova-reel-D9FXq3Mt.cjs} +10 -10
  154. package/dist/src/{nova-reel-ChM7WaHR.js → nova-reel-DtCjbD5O.js} +10 -10
  155. package/dist/src/{nova-sonic-D4M3kKYu.js → nova-sonic-BXRfQyF-.js} +8 -8
  156. package/dist/src/{nova-sonic-C-H3eDvL.cjs → nova-sonic-BoRSY_U6.cjs} +7 -7
  157. package/dist/src/{nova-sonic-DgifpOKF.js → nova-sonic-CgaWLDM1.js} +7 -7
  158. package/dist/src/{nova-sonic-BqP59oOu.js → nova-sonic-D_qERM-K.js} +2 -2
  159. package/dist/src/{openai-BjpdxIOG.cjs → openai-Bigwjgo1.cjs} +2 -2
  160. package/dist/src/{openai-Cv9pEKxp.js → openai-CT5fwbve.js} +2 -2
  161. package/dist/src/{openai-CitF-gEN.js → openai-Dz3surb_.js} +2 -2
  162. package/dist/src/openclaw-B6XY2kUf.js +526 -0
  163. package/dist/src/openclaw-CpPrXwf6.js +524 -0
  164. package/dist/src/openclaw-DDSfq5fp.cjs +528 -0
  165. package/dist/src/openclaw-dHLcXUWZ.js +511 -0
  166. package/dist/src/{opencode-sdk-Dakn4QMp.js → opencode-sdk-CImWVqy9.js} +7 -7
  167. package/dist/src/{opencode-sdk-BcLvVMV-.js → opencode-sdk-CuCztr4P.js} +6 -6
  168. package/dist/src/{opencode-sdk-z7KKOCdB.js → opencode-sdk-DhcfRbBH.js} +3 -3
  169. package/dist/src/{opencode-sdk-Cqszt4br.cjs → opencode-sdk-mqF-Oj3f.cjs} +6 -6
  170. package/dist/src/{otlpReceiver-BvmMgacx.cjs → otlpReceiver-B6Xo4KZM.cjs} +6 -6
  171. package/dist/src/{otlpReceiver-DRNetlJH.js → otlpReceiver-BO0rbDzh.js} +6 -6
  172. package/dist/src/{otlpReceiver-Bhj_vnzl.js → otlpReceiver-Dg817agV.js} +6 -6
  173. package/dist/src/{otlpReceiver-Cpnk-Hjf.js → otlpReceiver-DmRb0NBj.js} +2 -2
  174. package/dist/src/{providerRegistry-D32Lt9vp.js → providerRegistry-Xf0qdqGQ.js} +2 -2
  175. package/dist/src/{providerRegistry-HGQd2MF6.cjs → providerRegistry-lc7a7utN.cjs} +2 -2
  176. package/dist/src/{providerRegistry-BdKWcUa8.js → providerRegistry-wCWd7sKQ.js} +2 -2
  177. package/dist/src/providers-BMZZmPBJ.cjs +32 -0
  178. package/dist/src/{providers-BWoVY_Wz.cjs → providers-BNKVY53V.cjs} +294 -782
  179. package/dist/src/{providers-Co_FGgH8.js → providers-BiNq_Iyc.js} +281 -769
  180. package/dist/src/{providers-CUCHJCHD.js → providers-BlEhY5mi.js} +286 -779
  181. package/dist/src/providers-CQQrNaJk.js +32 -0
  182. package/dist/src/providers-Ck8HyrC-.js +34 -0
  183. package/dist/src/{pythonUtils-rOCm9w_5.cjs → pythonUtils-DZ6EbdY4.cjs} +3 -3
  184. package/dist/src/{pythonUtils-B9JA-gsC.js → pythonUtils-r1uBuA0n.js} +3 -3
  185. package/dist/src/{pythonUtils-eNq6Wsfr.js → pythonUtils-vMlk9Qp5.js} +3 -3
  186. package/dist/src/{quiverai-BpWtOEQZ.cjs → quiverai-BNfIwKCO.cjs} +13 -13
  187. package/dist/src/{quiverai-Cj-PUa3p.js → quiverai-BQigKdIH.js} +14 -14
  188. package/dist/src/{quiverai-BN8OVvDE.js → quiverai-Bfy2WnE2.js} +12 -12
  189. package/dist/src/{quiverai-D5MSsd2c.js → quiverai-CedIP0PJ.js} +2 -2
  190. package/dist/src/{render-D2710HbA.js → render-CAZvKKkB.js} +4 -4
  191. package/dist/src/responses-DLLjADw5.js +653 -0
  192. package/dist/src/responses-TsdODUpm.js +654 -0
  193. package/dist/src/responses-zOtKtnY_.cjs +671 -0
  194. package/dist/src/{rubyUtils-Dn6MGcsk.js → rubyUtils-BtjlqyXt.js} +3 -3
  195. package/dist/src/{rubyUtils-LBsk3zIm.js → rubyUtils-Cs35SDYa.js} +3 -3
  196. package/dist/src/rubyUtils-D7--T12C.js +6 -0
  197. package/dist/src/{rubyUtils-rnCVDgH-.cjs → rubyUtils-DCVaJ3mc.cjs} +3 -3
  198. package/dist/src/rubyUtils-DRRiMFV2.js +5 -0
  199. package/dist/src/rubyUtils-vb8OYFC-.cjs +5 -0
  200. package/dist/src/{sagemaker-C8MeZIkH.js → sagemaker-BcgLu0U4.js} +18 -18
  201. package/dist/src/{sagemaker-4ukMNSN0.js → sagemaker-CLdUAv5z.js} +17 -17
  202. package/dist/src/{sagemaker-DyVHy2BW.js → sagemaker-Du4LIR97.js} +2 -2
  203. package/dist/src/{sagemaker-DB3Eojau.cjs → sagemaker-DwNnEVYt.cjs} +17 -17
  204. package/dist/src/{scanner-C28XVEq2.js → scanner-Dyw21Wg_.js} +12 -12
  205. package/dist/src/server/index.js +1818 -605
  206. package/dist/src/server-BUbS0Qfh.js +6 -0
  207. package/dist/src/{server-BF3HkMhe.js → server-CbMTRQkg.js} +8 -6
  208. package/dist/src/{server-CSbLW-UI.cjs → server-CgUQ25qW.cjs} +8 -6
  209. package/dist/src/{server-mycZbUH8.js → server-DWmZLfCy.js} +10 -7
  210. package/dist/src/server-XpGXFHkS.cjs +6 -0
  211. package/dist/src/server-gfOx5Zrk.js +8 -0
  212. package/dist/src/{signal-DM_SPNmi.js → signal-Bl32q42d.js} +3 -3
  213. package/dist/src/{slack-Ed1yyt_j.js → slack-BfdBx2tO.js} +2 -2
  214. package/dist/src/{slack-D1F9Y7CH.cjs → slack-BtMkB6xP.cjs} +2 -2
  215. package/dist/src/{slack-DkAF58Tr.js → slack-DPqj42Ts.js} +2 -2
  216. package/dist/src/{slack-BK312SXM.js → slack-OZYxoVON.js} +2 -2
  217. package/dist/src/{store-CT_e5OZX.js → store-2ocbYY9D.js} +3 -3
  218. package/dist/src/store-5u2yriTV.js +7 -0
  219. package/dist/src/{store-BpumNYCl.cjs → store-BqwfFEyF.cjs} +3 -3
  220. package/dist/src/{store-BFLqwuc_.js → store-D4gdn9ih.js} +3 -3
  221. package/dist/src/store-D_lq_8oQ.js +6 -0
  222. package/dist/src/store-m5KT6Ly7.cjs +6 -0
  223. package/dist/src/{tables-Dansasnu.cjs → tables-B9E1kRp-.cjs} +3 -3
  224. package/dist/src/{tables-BjaApSAB.js → tables-C7TT2XVn.js} +3 -3
  225. package/dist/src/{tables-Dwexr5Z6.js → tables-D-NSwNIb.js} +3 -3
  226. package/dist/src/telemetry-5RHFoCJh.js +6 -0
  227. package/dist/src/{telemetry-MVkZQxt9.js → telemetry-BXyVqyAg.js} +5 -4
  228. package/dist/src/{telemetry-DFDFKdnr.cjs → telemetry-D0_yFdtU.cjs} +5 -4
  229. package/dist/src/{telemetry-Ds5Nn81l.js → telemetry-DZ_7PaVq.js} +5 -4
  230. package/dist/src/telemetry-Do8wMnA-.js +8 -0
  231. package/dist/src/telemetry-LojxPoFq.cjs +6 -0
  232. package/dist/src/{text-PYISqVm1.cjs → text-DF2hMKdg.cjs} +1 -1
  233. package/dist/src/{text-DuYSUYPB.js → text-DgMr_tiM.js} +1 -1
  234. package/dist/src/{text-Dx0GJOCN.js → text-Dm78AVGG.js} +1 -1
  235. package/dist/src/{tokenUsageUtils-BtZd3sP7.cjs → tokenUsageUtils-CXhxVj72.cjs} +9 -4
  236. package/dist/src/{tokenUsageUtils-DoinwgKF.js → tokenUsageUtils-DmZSD2eU.js} +9 -4
  237. package/dist/src/{tokenUsageUtils-cFdLMERB.js → tokenUsageUtils-FZd5O_4A.js} +9 -4
  238. package/dist/src/{transcription-Cp19m_Mt.js → transcription-C-M81iDA.js} +2 -2
  239. package/dist/src/{transcription-CLRpAg07.js → transcription-CYuY5sFO.js} +10 -10
  240. package/dist/src/{transcription-D8ifIKOv.js → transcription-Ch7S-LWw.js} +11 -11
  241. package/dist/src/{transcription-CXXFEVM_.cjs → transcription-FNIz3YOe.cjs} +10 -10
  242. package/dist/src/transform-8eGmaH-7.js +7 -0
  243. package/dist/src/transform-BRVvWaG4.cjs +6 -0
  244. package/dist/src/{transform-Bn-lgBE2.js → transform-CoP2bJ7P.js} +44 -5
  245. package/dist/src/{transform-BFPYuBaW.js → transform-CqTFr7KR.js} +5 -5
  246. package/dist/src/{transform-DvQWeBSR.js → transform-D8dILpfZ.js} +4 -4
  247. package/dist/src/{transform-BUrxadlA.js → transform-DMaxQwDx.js} +44 -5
  248. package/dist/src/transform-GybT0X0u.js +8 -0
  249. package/dist/src/{transform-DshYLyBq.cjs → transform-Kd6u-oNm.cjs} +4 -4
  250. package/dist/src/{transform-Bw1IstDE.cjs → transform-ivxEY4f7.cjs} +55 -4
  251. package/dist/src/{transformersAvailability-BaoWHpu1.cjs → transformersAvailability-Bkep3ka7.cjs} +1 -1
  252. package/dist/src/{transformersAvailability-Dhh45n5P.js → transformersAvailability-DEU2naS1.js} +1 -1
  253. package/dist/src/{transformersAvailability-DtpwoeFC.js → transformersAvailability-DkAWaK5B.js} +1 -1
  254. package/dist/src/{transformersAvailability-O2YaCv9Z.js → transformersAvailability-DwmezkVe.js} +1 -1
  255. package/dist/src/{types-B-XUqfNs.cjs → types-BIfttHrT.cjs} +22 -2
  256. package/dist/src/{types-BsU_PxR3.js → types-DMVjYLpx.js} +16 -2
  257. package/dist/src/{types-CgrxBFgm.js → types-t52w-XsS.js} +19 -3
  258. package/dist/src/{util-M2MoNCUR.js → util-BSh4a_Q8.js} +7 -7
  259. package/dist/src/{util-DTJWKLkl.cjs → util-C08Kns6-.cjs} +18 -4
  260. package/dist/src/{util-DHBpsbZE.js → util-CUEt0Vum.js} +18 -4
  261. package/dist/src/{util-Bnw6EyZN.js → util-Cl0zfT3V.js} +18 -4
  262. package/dist/src/{util-C7A-PlKK.cjs → util-DUYOvxAy.cjs} +6 -6
  263. package/dist/src/{util-WYC3rB_p.js → util-DiCePfDu.js} +6 -6
  264. package/dist/src/{util-CV99ps44.cjs → util-DkFTvieG.cjs} +17 -5
  265. package/dist/src/{util-CfepsNVK.js → util-mJ58qbbw.js} +17 -5
  266. package/dist/src/{util-BZaMVBMq.js → util-vjscpUzy.js} +17 -5
  267. package/dist/src/{utils-BryuD3vq.js → utils-CVzb4YiI.js} +3 -3
  268. package/dist/src/{utils-Dezi3MBH.cjs → utils-DFaZa6Rf.cjs} +3 -3
  269. package/dist/src/{utils-GiyI2K4P.js → utils-JaY9veb5.js} +3 -3
  270. package/dist/tsconfig.tsbuildinfo +1 -1
  271. package/package.json +75 -77
  272. package/dist/src/app/assets/index-07dbAcWK.js +0 -427
  273. package/dist/src/app/assets/index-DnEcCQgk.css +0 -1
  274. package/dist/src/app/assets/vendor-react-DHoaNLma.js +0 -4
  275. package/dist/src/cache-BujOdYlc.cjs +0 -6
  276. package/dist/src/cloud-BHYz0XkH.js +0 -5
  277. package/dist/src/eval-0IFf8hON.js +0 -16
  278. package/dist/src/evalResult-BCCv6FXj.js +0 -13
  279. package/dist/src/evalResult-C8iVgVvr.js +0 -11
  280. package/dist/src/evalResult-CqFeWKYx.cjs +0 -11
  281. package/dist/src/evaluator-DwS5NAEj.js +0 -37
  282. package/dist/src/fetch-BH9KSaUC.cjs +0 -4
  283. package/dist/src/fetch-BL6kqunF.js +0 -6
  284. package/dist/src/graders-BK3LuhJ8.cjs +0 -32
  285. package/dist/src/graders-Bpjtip-E.js +0 -35
  286. package/dist/src/graders-KIf6Uej3.js +0 -33
  287. package/dist/src/providers-41mSodR_.js +0 -31
  288. package/dist/src/providers-CiZCpIxz.cjs +0 -31
  289. package/dist/src/providers-G531909f.js +0 -33
  290. package/dist/src/rubyUtils-BLd6EE1u.cjs +0 -5
  291. package/dist/src/rubyUtils-CVELPvUH.js +0 -6
  292. package/dist/src/rubyUtils-_t9Gmf7U.js +0 -5
  293. package/dist/src/server-Bc4T4XDt.cjs +0 -6
  294. package/dist/src/server-CMyxJ7ct.js +0 -6
  295. package/dist/src/server-D9FuxNYE.js +0 -8
  296. package/dist/src/store-CrMinjmN.cjs +0 -6
  297. package/dist/src/store-EaWZOoxz.js +0 -7
  298. package/dist/src/store-KXWnHB15.js +0 -6
  299. package/dist/src/telemetry-BXD2mCyr.cjs +0 -6
  300. package/dist/src/telemetry-CYiBm56v.js +0 -8
  301. package/dist/src/telemetry-lICYKIMB.js +0 -6
  302. package/dist/src/transform-DZI2t8-9.js +0 -8
  303. package/dist/src/transform-DZUV3qpO.js +0 -7
  304. package/dist/src/transform-XcotjzZX.cjs +0 -6
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "promptfoo",
3
3
  "description": "LLM eval & testing toolkit",
4
4
  "author": "Ian Webster",
5
- "version": "0.120.24",
5
+ "version": "0.120.26",
6
6
  "license": "MIT",
7
7
  "type": "module",
8
8
  "repository": {
@@ -58,9 +58,10 @@
58
58
  "jsonSchema:generate": "npx -y tsx scripts/generateJsonSchema.ts > site/static/config-schema.json && npx @biomejs/biome format --write site/static/config-schema.json",
59
59
  "knip": "knip",
60
60
  "l": "git diff --name-only --diff-filter=ACMRTUXB origin/main | grep -E '\\.(js|ts|tsx)$' | xargs npx @biomejs/biome lint --write",
61
- "lint:ci": "npx @biomejs/biome ci .",
61
+ "lint:ci": "npm run lint:styles && npx @biomejs/biome ci .",
62
62
  "lint:site": "npx @biomejs/biome lint site",
63
63
  "lint:src": "npx @biomejs/biome lint src",
64
+ "lint:styles": "tsx scripts/lint-styles.ts",
64
65
  "lint:tests": "npx @biomejs/biome lint test",
65
66
  "lint": "npm run lint:src",
66
67
  "local:web": "npm run dev --prefix src/app",
@@ -82,25 +83,24 @@
82
83
  "tsc": "tsc",
83
84
  "mcp": "node dist/src/entrypoint.js mcp",
84
85
  "depcheck": "depcheck --ignores=\"@types/*,@biomejs/biome,prettier,shx,concurrently,madge,knip,vite,typescript,tshy,gcp-metadata,@opencode-ai/sdk,@actions/core,@actions/exec,@actions/github,@octokit/rest,nock,ink-testing-library,@vitest/coverage-v8\" --ignore-dirs=\"dist,site,examples\"",
85
- "hooks:install": "mkdir -p .git/hooks && ln -sf ../../scripts/pre-commit .git/hooks/pre-commit && echo 'Pre-commit hook installed (runs Biome + Prettier on staged files). Set DISABLE_PRECOMMIT_LINT=1 in .env to skip.'",
86
- "postinstall": "[ -d .git ] && npm run hooks:install || true"
86
+ "prepare": "husky || exit 0"
87
87
  },
88
88
  "overrides": {
89
89
  "uri-js": "npm:uri-js-replace",
90
90
  "chokidar": "5.0.0",
91
- "whatwg-url": "16.0.0",
91
+ "whatwg-url": "16.0.1",
92
92
  "esbuild": "0.27.3",
93
93
  "react": "^19.2.4",
94
94
  "react-dom": "^19.2.4",
95
95
  "react-is": "^19.2.4",
96
96
  "*": {
97
- "whatwg-url": "16.0.0",
97
+ "whatwg-url": "16.0.1",
98
98
  "chokidar": "5.0.0",
99
99
  "esbuild": "0.27.3",
100
100
  "react": "^19.2.4",
101
101
  "react-dom": "^19.2.4"
102
102
  },
103
- "gaxios": "^7.1.3",
103
+ "gaxios": "^7.1.4",
104
104
  "https-proxy-agent": "^7.0.6",
105
105
  "mongoose": {
106
106
  "gcp-metadata": "^8.1.2"
@@ -108,22 +108,21 @@
108
108
  "webpack-dev-server": {
109
109
  "express": "^4.22.1"
110
110
  },
111
- "lodash-es": "4.17.23",
112
111
  "@isaacs/brace-expansion": ">=5.0.1"
113
112
  },
114
113
  "devDependencies": {
115
- "@anthropic-ai/claude-agent-sdk": "^0.2.37",
116
- "@aws-sdk/client-bedrock-agent-runtime": "^3.985.0",
117
- "@aws-sdk/client-bedrock-runtime": "^3.985.0",
118
- "@aws-sdk/client-s3": "^3.985.0",
119
- "@aws-sdk/client-sagemaker-runtime": "^3.985.0",
120
- "@aws-sdk/credential-provider-sso": "^3.972.5",
114
+ "@anthropic-ai/claude-agent-sdk": "^0.2.58",
115
+ "@aws-sdk/client-bedrock-agent-runtime": "^3.990.0",
116
+ "@aws-sdk/client-bedrock-runtime": "^3.990.0",
117
+ "@aws-sdk/client-s3": "^3.990.0",
118
+ "@aws-sdk/client-sagemaker-runtime": "^3.990.0",
119
+ "@aws-sdk/credential-provider-sso": "^3.972.8",
121
120
  "@aws-sdk/types": "^3.973.1",
122
121
  "@azure/identity": "^4.13.0",
123
122
  "@azure/openai-assistants": "^1.0.0-beta.6",
124
- "@biomejs/biome": "^2.3.14",
125
- "@fal-ai/client": "~1.9.0",
126
- "@ibm-cloud/watsonx-ai": "^1.7.7",
123
+ "@biomejs/biome": "^2.4.4",
124
+ "@fal-ai/client": "~1.9.3",
125
+ "@ibm-cloud/watsonx-ai": "^1.7.8",
127
126
  "@ibm-generative-ai/node-sdk": "^3.2.4",
128
127
  "@smithy/types": "^4.12.0",
129
128
  "@types/async": "^3.2.25",
@@ -132,36 +131,36 @@
132
131
  "@types/compression": "^1.8.1",
133
132
  "@types/cors": "^2.8.19",
134
133
  "@types/express": "^5.0.6",
135
- "@types/fluent-ffmpeg": "^2.1.28",
136
134
  "@types/js-yaml": "^4.0.9",
137
135
  "@types/jsdom": "^27.0.0",
138
- "@types/node": "^24.10.11",
136
+ "@types/node": "^24.10.13",
139
137
  "@types/nunjucks": "^3.2.6",
140
138
  "@types/opener": "^1.4.3",
141
139
  "@types/pdf-parse": "^1.1.5",
142
140
  "@types/pem": "^1.14.4",
143
141
  "@types/proxy-from-env": "^1.0.4",
144
- "@types/react": "19.2.13",
142
+ "@types/react": "19.2.14",
145
143
  "@types/semver": "^7.7.1",
146
144
  "@types/source-map-support": "^0.5.10",
147
145
  "@types/supertest": "^6.0.3",
148
146
  "@vitest/coverage-v8": "^4.0.18",
149
147
  "concurrently": "^9.2.1",
150
148
  "depcheck": "^1.4.7",
151
- "drizzle-kit": "^0.31.8",
152
- "ibm-cloud-sdk-core": "^5.4.6",
149
+ "drizzle-kit": "^0.31.9",
150
+ "husky": "^9.1.7",
151
+ "ibm-cloud-sdk-core": "^5.4.8",
153
152
  "ink-testing-library": "^4.0.0",
154
153
  "knip": "^5.83.1",
155
154
  "langfuse": "^3.38.6",
156
155
  "madge": "^8.0.0",
157
- "nock": "^14.0.10",
156
+ "nock": "^14.0.11",
158
157
  "node-sql-parser": "^5.4.0",
159
158
  "pdf-parse": "^2.4.5",
160
159
  "playwright": "^1.58.2",
161
160
  "playwright-extra": "^4.3.6",
162
161
  "prettier": "^3.8.1",
163
162
  "puppeteer-extra-plugin-stealth": "^2.11.2",
164
- "read-excel-file": "^6.0.3",
163
+ "read-excel-file": "^7.0.0",
165
164
  "sharp": "^0.34.5",
166
165
  "shx": "^0.4.0",
167
166
  "source-map-support": "^0.5.21",
@@ -173,35 +172,34 @@
173
172
  "winston-transport": "^4.9.0"
174
173
  },
175
174
  "optionalDependencies": {
176
- "@anthropic-ai/claude-agent-sdk": "^0.2.37",
177
- "@aws-sdk/client-bedrock-agent-runtime": "^3.985.0",
178
- "@aws-sdk/client-bedrock-runtime": "^3.985.0",
179
- "@aws-sdk/client-s3": "^3.985.0",
180
- "@aws-sdk/client-sagemaker-runtime": "^3.985.0",
181
- "@aws-sdk/credential-provider-sso": "^3.972.5",
175
+ "@anthropic-ai/claude-agent-sdk": "^0.2.58",
176
+ "@aws-sdk/client-bedrock-agent-runtime": "^3.990.0",
177
+ "@aws-sdk/client-bedrock-runtime": "^3.990.0",
178
+ "@aws-sdk/client-s3": "^3.990.0",
179
+ "@aws-sdk/client-sagemaker-runtime": "^3.990.0",
180
+ "@aws-sdk/credential-provider-sso": "^3.972.8",
182
181
  "@azure/ai-projects": "^1.0.1",
183
182
  "@azure/identity": "^4.13.0",
184
- "@azure/msal-node": "^5.0.3",
183
+ "@azure/msal-node": "^5.0.5",
185
184
  "@azure/openai-assistants": "^1.0.0-beta.6",
186
- "@fal-ai/client": "~1.9.0",
185
+ "@fal-ai/client": "~1.9.3",
187
186
  "@huggingface/transformers": "^3.8.1",
188
- "@ibm-cloud/watsonx-ai": "^1.7.7",
187
+ "@ibm-cloud/watsonx-ai": "^1.7.8",
189
188
  "@ibm-generative-ai/node-sdk": "^3.2.4",
190
- "@openai/codex-sdk": "^0.98.0",
189
+ "@openai/codex-sdk": "^0.105.0",
191
190
  "@playwright/browser-chromium": "^1.58.2",
192
- "@rollup/rollup-linux-x64-gnu": "^4.57.1",
193
- "@slack/web-api": "^7.13.0",
194
- "@smithy/node-http-handler": "^4.4.9",
195
- "@swc/core": "^1.15.11",
196
- "@swc/core-darwin-arm64": "^1.15.11",
197
- "@swc/core-darwin-x64": "^1.15.11",
198
- "@swc/core-linux-x64-gnu": "^1.15.11",
199
- "@swc/core-linux-x64-musl": "^1.15.11",
200
- "@swc/core-win32-x64-msvc": "^1.15.11",
201
- "fluent-ffmpeg": "^2.1.3",
202
- "google-auth-library": "^10.5.0",
203
- "hono": "^4.11.9",
204
- "ibm-cloud-sdk-core": "^5.4.6",
191
+ "@rollup/rollup-linux-x64-gnu": "^4.59.0",
192
+ "@slack/web-api": "^7.14.1",
193
+ "@smithy/node-http-handler": "^4.4.10",
194
+ "@swc/core": "^1.15.17",
195
+ "@swc/core-darwin-arm64": "^1.15.17",
196
+ "@swc/core-darwin-x64": "^1.15.17",
197
+ "@swc/core-linux-x64-gnu": "^1.15.17",
198
+ "@swc/core-linux-x64-musl": "^1.15.17",
199
+ "@swc/core-win32-x64-msvc": "^1.15.17",
200
+ "google-auth-library": "^10.6.1",
201
+ "hono": "^4.12.0",
202
+ "ibm-cloud-sdk-core": "^5.4.8",
205
203
  "langfuse": "^3.38.6",
206
204
  "natural": "^8.1.0",
207
205
  "node-sql-parser": "^5.4.0",
@@ -209,32 +207,32 @@
209
207
  "playwright": "^1.58.2",
210
208
  "playwright-extra": "^4.3.6",
211
209
  "puppeteer-extra-plugin-stealth": "^2.11.2",
212
- "read-excel-file": "^6.0.3",
210
+ "read-excel-file": "^7.0.0",
213
211
  "sharp": "^0.34.5"
214
212
  },
215
213
  "dependencies": {
216
- "@anthropic-ai/sdk": "^0.72.1",
214
+ "@anthropic-ai/sdk": "^0.78.0",
217
215
  "@apidevtools/json-schema-ref-parser": "^15.2.2",
218
216
  "@googleapis/sheets": "^13.0.1",
219
- "@inquirer/checkbox": "^5.0.4",
220
- "@inquirer/confirm": "^6.0.4",
221
- "@inquirer/core": "^11.1.1",
222
- "@inquirer/editor": "^5.0.4",
223
- "@inquirer/input": "^5.0.4",
224
- "@inquirer/select": "^5.0.4",
225
- "@modelcontextprotocol/sdk": "^1.26.0",
226
- "@openai/agents": "^0.4.5",
227
- "@opencode-ai/sdk": "^1.1.51",
217
+ "@inquirer/checkbox": "^5.1.0",
218
+ "@inquirer/confirm": "^6.0.8",
219
+ "@inquirer/core": "^11.1.5",
220
+ "@inquirer/editor": "^5.0.8",
221
+ "@inquirer/input": "^5.0.8",
222
+ "@inquirer/select": "^5.1.0",
223
+ "@modelcontextprotocol/sdk": "^1.27.1",
224
+ "@openai/agents": "^0.4.15",
225
+ "@opencode-ai/sdk": "^1.2.9",
228
226
  "@opentelemetry/api": "^1.9.0",
229
- "@opentelemetry/core": "^2.5.0",
230
- "@opentelemetry/exporter-trace-otlp-http": "^0.211.0",
231
- "@opentelemetry/resources": "^2.5.0",
232
- "@opentelemetry/sdk-trace-base": "^2.5.0",
233
- "@opentelemetry/sdk-trace-node": "^2.5.0",
227
+ "@opentelemetry/core": "^2.5.1",
228
+ "@opentelemetry/exporter-trace-otlp-http": "^0.212.0",
229
+ "@opentelemetry/resources": "^2.5.1",
230
+ "@opentelemetry/sdk-trace-base": "^2.5.1",
231
+ "@opentelemetry/sdk-trace-node": "^2.5.1",
234
232
  "@opentelemetry/semantic-conventions": "^1.39.0",
235
233
  "@types/ws": "^8.18.1",
236
234
  "ai": "^6.0.62",
237
- "ajv": "^8.17.1",
235
+ "ajv": "^8.18.0",
238
236
  "ajv-formats": "^3.0.1",
239
237
  "async": "^3.2.6",
240
238
  "better-sqlite3": "^12.6.2",
@@ -251,49 +249,49 @@
251
249
  "csv-stringify": "^6.6.0",
252
250
  "debounce": "^3.0.0",
253
251
  "dedent": "^1.7.1",
254
- "dotenv": "^17.2.3",
252
+ "dotenv": "^17.3.1",
255
253
  "drizzle-orm": "^0.45.1",
256
254
  "execa": "^9.6.1",
257
255
  "express": "^5.2.1",
258
256
  "exsolve": "^1.0.8",
259
257
  "fast-deep-equal": "^3.1.3",
260
258
  "fast-safe-stringify": "^2.1.1",
261
- "fast-xml-parser": "^5.3.4",
259
+ "fast-xml-parser": "^5.4.1",
262
260
  "fastest-levenshtein": "^1.0.16",
263
261
  "gcp-metadata": "^8.1.2",
264
- "glob": "^13.0.1",
262
+ "glob": "^13.0.6",
265
263
  "http-z": "^8.1.1",
266
- "ink": "^6.6.0",
264
+ "ink": "^6.8.0",
267
265
  "istextorbinary": "^9.5.0",
268
266
  "jks-js": "^1.1.5",
269
267
  "js-rouge": "^3.2.0",
270
268
  "js-yaml": "^4.1.1",
271
- "jsdom": "^28.0.0",
269
+ "jsdom": "^28.1.0",
272
270
  "keyv": "^5.6.0",
273
271
  "keyv-file": "^5.3.3",
274
- "lru-cache": "^11.2.5",
275
- "mathjs": "^15.1.0",
276
- "minimatch": "^10.1.2",
272
+ "lru-cache": "^11.2.6",
273
+ "mathjs": "^15.1.1",
274
+ "minimatch": "^10.2.3",
277
275
  "nunjucks": "^3.2.4",
278
- "openai": "^6.17.0",
276
+ "openai": "^6.22.0",
279
277
  "opener": "^1.5.2",
280
- "ora": "^9.2.0",
278
+ "ora": "^9.3.0",
281
279
  "pem": "~1.14.8",
282
280
  "posthog-node": "~5.24.10",
283
281
  "protobufjs": "^8.0.0",
284
282
  "proxy-agent": "^6.5.0",
285
- "proxy-from-env": "^1.1.0",
283
+ "proxy-from-env": "^2.0.0",
286
284
  "python-shell": "^5.0.0",
287
285
  "react": "^19.2.4",
288
286
  "rfdc": "^1.4.1",
289
287
  "rxjs": "^7.8.2",
290
288
  "semver": "^7.7.4",
291
- "simple-git": "^3.30.0",
289
+ "simple-git": "^3.32.2",
292
290
  "socket.io": "^4.8.3",
293
291
  "socket.io-client": "^4.8.3",
294
292
  "text-extensions": "^3.1.0",
295
293
  "tsx": "^4.21.0",
296
- "undici": "^7.20.0",
294
+ "undici": "^7.21.0",
297
295
  "winston": "^3.19.0",
298
296
  "ws": "^8.19.0",
299
297
  "zod": "^4.3.6"