promptfoo 0.120.26 → 0.121.1

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 (366) hide show
  1. package/README.md +1 -1
  2. package/dist/drizzle/0023_wooden_mandrill.sql +2 -0
  3. package/dist/drizzle/meta/0023_snapshot.json +1496 -0
  4. package/dist/drizzle/meta/_journal.json +7 -0
  5. package/dist/src/{ListApp-D3DG0F8h.js → ListApp-Du7YVwj5.js} +2 -4
  6. package/dist/src/accounts-BgNJDBE6.js +206 -0
  7. package/dist/src/{accounts-BzEY8H3v.cjs → accounts-Bx-x3bmW.cjs} +99 -80
  8. package/dist/src/{accounts-DHHiXsy6.js → accounts-CMqkzrVf.js} +61 -36
  9. package/dist/src/{accounts-R3gfCR_g.js → accounts-xrUGFA6n.js} +60 -35
  10. package/dist/src/{agentic-utils-D6_gzOUF.js → agentic-utils-BKIN5PKu.js} +9 -10
  11. package/dist/src/{agents-CwM7re15.cjs → agents-B0f4HICh.cjs} +37 -40
  12. package/dist/src/{agents-Cnph5GLD.js → agents-C-dDThPK.js} +37 -37
  13. package/dist/src/{agents-C7BiinFI.cjs → agents-CErsqg5U.cjs} +19 -27
  14. package/dist/src/{agents-v4cW_ZgC.js → agents-CVIn-Utx.js} +19 -22
  15. package/dist/src/{agents-GiUianme.js → agents-CXknwsFX.js} +37 -40
  16. package/dist/src/{agents-DETIQHqF.js → agents-DeH4Gu94.js} +21 -28
  17. package/dist/src/{agents-DYIT-hQy.js → agents-Dy2YpZpa.js} +38 -41
  18. package/dist/src/{agents-Cao4i7AX.js → agents-aF4-T121.js} +19 -30
  19. package/dist/src/{aimlapi-DMF6v_vb.js → aimlapi-BAGZDo5G.js} +16 -18
  20. package/dist/src/{aimlapi-CMJpKK-B.js → aimlapi-BNfTBexL.js} +15 -17
  21. package/dist/src/{aimlapi-DtSf1ykJ.js → aimlapi-DHRKlBEA.js} +15 -4
  22. package/dist/src/{aimlapi-DoGLcQW_.cjs → aimlapi-tg0Gkcvr.cjs} +15 -16
  23. package/dist/src/app/assets/index-BFCZg7hQ.js +439 -0
  24. package/dist/src/app/assets/index-NCn4eVBv.css +1 -0
  25. package/dist/src/app/assets/{vendor-charts-CYyo8R8v.js → vendor-charts-CCl15Imd.js} +1 -1
  26. package/dist/src/app/assets/{vendor-markdown-DSmzq4Jh.js → vendor-markdown-0tekx3KX.js} +1 -1
  27. package/dist/src/app/index.html +4 -34
  28. package/dist/src/{audio-DUH4q0Xq.js → audio-BRODU0UK.js} +7 -9
  29. package/dist/src/{audio-BWjyvHn9.cjs → audio-BWeaWovU.cjs} +6 -7
  30. package/dist/src/{audio-U580w8jM.js → audio-CHQ4r-RV.js} +6 -5
  31. package/dist/src/{audio-BrJBFN2b.js → audio-tf_NBjlC.js} +6 -8
  32. package/dist/src/base-B0tcrnq_.js +193 -0
  33. package/dist/src/base-B4QJRyFS.js +194 -0
  34. package/dist/src/base-DBtwl2FR.cjs +222 -0
  35. package/dist/src/base-fEDN28WM.js +193 -0
  36. package/dist/src/{blobs-kt8v3UyH.js → blobs-BAU-dXan.js} +9 -12
  37. package/dist/src/{blobs-C9J2mVgo.js → blobs-Bpg5rH6i.js} +9 -12
  38. package/dist/src/{blobs-673H0jCl.cjs → blobs-DvS-O6be.cjs} +34 -37
  39. package/dist/src/blobs-qTYm-1PY.js +236 -0
  40. package/dist/src/{cache-BLLayYEN.js → cache-8XhNqPKW.js} +64 -67
  41. package/dist/src/cache-Bbn1Nyrd.cjs +5 -0
  42. package/dist/src/cache-BwsMSda7.js +6 -0
  43. package/dist/src/{cache-mIszOnuz.js → cache-CG0SlR1d.js} +64 -66
  44. package/dist/src/{cache-7xULbvt3.cjs → cache-COish3-W.cjs} +114 -117
  45. package/dist/src/cache-D3eqDYGU.js +739 -0
  46. package/dist/src/{chat-Fl6TZJRS.cjs → chat-2K608PeQ.cjs} +20 -21
  47. package/dist/src/chat-BKm79wib.js +764 -0
  48. package/dist/src/{chat-XPN9YHhr.js → chat-CM_kyI8B.js} +20 -9
  49. package/dist/src/{chat-DIywASPG.js → chat-CRWNNq73.js} +49 -49
  50. package/dist/src/{chat-C8Ei4f87.js → chat-CznLWr_D.js} +49 -49
  51. package/dist/src/{chat-CgyGj2hC.js → chat-DHMH-N64.js} +20 -22
  52. package/dist/src/{chat-C4zqjObh.cjs → chat-DaqekjFr.cjs} +69 -69
  53. package/dist/src/{chat-Cpz3O-Xl.js → chat-DxysjBvt.js} +21 -23
  54. package/dist/src/{chatkit-Dpxrq4eD.js → chatkit-65VXf5SR.js} +58 -58
  55. package/dist/src/{chatkit-DIrJX8xk.js → chatkit-Be-Q-a9F.js} +58 -60
  56. package/dist/src/{chatkit-DEls11hE.js → chatkit-BxFvW8KY.js} +58 -60
  57. package/dist/src/{chatkit-e25Ziu17.cjs → chatkit-DKyPi1Gs.cjs} +58 -60
  58. package/dist/src/chunk-DEq-mXcV.js +15 -0
  59. package/dist/src/chunk-DRamLcfz.js +16 -0
  60. package/dist/src/{claude-agent-sdk-6-xTaLwM.js → claude-agent-sdk-BLTu0WBO.js} +45 -31
  61. package/dist/src/{claude-agent-sdk-BzxF6NIJ.cjs → claude-agent-sdk-CJH22shf.cjs} +44 -29
  62. package/dist/src/{claude-agent-sdk-CmkTnKGH.js → claude-agent-sdk-D6_k9FKA.js} +45 -33
  63. package/dist/src/{claude-agent-sdk-rXCBLK_o.js → claude-agent-sdk-Dy5lT-Tx.js} +46 -21
  64. package/dist/src/{cloud-BMbRVJFw.js → cloud-Bc9526yV.js} +32 -12
  65. package/dist/src/cloud-DmE0EwsY.js +4 -0
  66. package/dist/src/{cloudflare-ai-CUg4BTcj.js → cloudflare-ai-C9r2sRhw.js} +16 -18
  67. package/dist/src/{cloudflare-ai-Z9X219gp.js → cloudflare-ai-CWWJCRim.js} +16 -4
  68. package/dist/src/{cloudflare-ai-BAQ0u_dg.cjs → cloudflare-ai-ClWSdor4.cjs} +16 -17
  69. package/dist/src/{cloudflare-ai-CobxMTR4.js → cloudflare-ai-ICsOuD-z.js} +17 -19
  70. package/dist/src/{cloudflare-gateway-C0sgfr_z.cjs → cloudflare-gateway-C2_-KG5o.cjs} +21 -22
  71. package/dist/src/{cloudflare-gateway-_itGuXry.js → cloudflare-gateway-D6O7AlYb.js} +23 -23
  72. package/dist/src/{cloudflare-gateway-D2_yi-Fh.js → cloudflare-gateway-D6xFc5pa.js} +21 -25
  73. package/dist/src/{cloudflare-gateway-Djf3F3_H.js → cloudflare-gateway-pXGHxJ47.js} +26 -14
  74. package/dist/src/{codex-sdk-ibXwdglL.js → codex-sdk-C6UMlxwV.js} +49 -32
  75. package/dist/src/{codex-sdk-BASDNkIl.js → codex-sdk-DUwKWezN.js} +49 -30
  76. package/dist/src/{codex-sdk-dSnGdgIp.js → codex-sdk-GGAw0qbD.js} +49 -32
  77. package/dist/src/{codex-sdk-wTEpMM_X.cjs → codex-sdk-fAO0c3yA.cjs} +49 -32
  78. package/dist/src/{cometapi-B01btbfb.js → cometapi-BasUi7-_.js} +17 -19
  79. package/dist/src/{cometapi-DHUAH6nK.js → cometapi-Bbjp5V4x.js} +16 -4
  80. package/dist/src/{cometapi-ChAaRjg5.js → cometapi-DkXrKi5z.js} +21 -24
  81. package/dist/src/{cometapi-JbvOJSCO.cjs → cometapi-vY6aDZgo.cjs} +21 -22
  82. package/dist/src/{completion-D9_MDlnd.js → completion-6Mx_iXxK.js} +11 -13
  83. package/dist/src/{completion-BBJ6zmG3.js → completion-C5rtR_9P.js} +11 -13
  84. package/dist/src/{completion-DDyL3Cb2.cjs → completion-CDOouNzq.cjs} +21 -23
  85. package/dist/src/completion-C_P3ypkJ.js +120 -0
  86. package/dist/src/createHash-CTQmL3G2.js +15 -0
  87. package/dist/src/createHash-CfZSc0b4.cjs +27 -0
  88. package/dist/src/createHash-Da8fMwqB.js +16 -0
  89. package/dist/src/createHash-DmPQkvBh.js +15 -0
  90. package/dist/src/{docker-JAAubMw3.js → docker-5KcG-_86.js} +18 -20
  91. package/dist/src/{docker-Ckw-j7Rr.cjs → docker-BwsKwxFs.cjs} +18 -19
  92. package/dist/src/{docker-vnOg96gi.js → docker-CZnqU1XV.js} +18 -7
  93. package/dist/src/{docker-BuButc4D.js → docker-DzxyDPIj.js} +19 -21
  94. package/dist/src/entrypoint.js +2 -3
  95. package/dist/src/{errors-DnGCbnx8.js → errors-P6ll7XSJ.js} +2 -2
  96. package/dist/src/{esm-CYhseqj4.js → esm-C03C-mv3.js} +17 -20
  97. package/dist/src/{esm-rDtG_2rg.js → esm-CaIwzWR5.js} +18 -21
  98. package/dist/src/esm-Cd1AjG1D.js +379 -0
  99. package/dist/src/{esm-BQkx5roy.cjs → esm-CnNt7sI4.cjs} +47 -49
  100. package/dist/src/eval-17JizQIv.js +15 -0
  101. package/dist/src/{eval-CYrbG57o.js → eval-DmFyWU7i.js} +49 -55
  102. package/dist/src/{evalResult-COsVttMA.js → evalResult-CDQiuUuf.js} +16 -12
  103. package/dist/src/{evalResult-6JaUIStC.js → evalResult-CTG2AHOS.js} +10 -11
  104. package/dist/src/evalResult-Cqj8pldJ.js +12 -0
  105. package/dist/src/{evalResult-DlRfu_Rq.cjs → evalResult-Dap2CekP.cjs} +20 -21
  106. package/dist/src/evalResult-DvcJAWJU.cjs +10 -0
  107. package/dist/src/evalResult-Hftn-S_i.js +10 -0
  108. package/dist/src/evaluator-B2CFNt-P.js +36 -0
  109. package/dist/src/{evaluator-3EJCMTs0.js → evaluator-DPFRbFIL.js} +210 -232
  110. package/dist/src/{extractor-LSYjrhK0.js → extractor-CFG6bcWJ.js} +23 -38
  111. package/dist/src/{extractor-DbhlYEeo.cjs → extractor-DX36oYEv.cjs} +37 -64
  112. package/dist/src/{extractor-Hs7la_19.js → extractor-M67RUtg6.js} +23 -38
  113. package/dist/src/extractor-YMU_Gvt8.js +374 -0
  114. package/dist/src/fetch-4M3YRaqL.js +780 -0
  115. package/dist/src/{fetch-18MuNu9i.js → fetch-60Gzydls.js} +60 -46
  116. package/dist/src/{fetch-SRsE6Ctl.js → fetch-BMv0O527.js} +41 -35
  117. package/dist/src/{fetch-ZMn_oemb.cjs → fetch-BxUk8odA.cjs} +268 -279
  118. package/dist/src/fetch-KV5kNASw.js +5 -0
  119. package/dist/src/{fileExtensions-ePDqouxn.js → fileExtensions-DnqA1y9x.js} +2 -2
  120. package/dist/src/{fileExtensions-BpuMmaFL.js → fileExtensions-Ds-foDzt.js} +2 -2
  121. package/dist/src/fileExtensions-LcDYkU4v.js +85 -0
  122. package/dist/src/{fileExtensions-DkJYkWUy.cjs → fileExtensions-bYh77CN8.cjs} +27 -28
  123. package/dist/src/{formatDuration-Doo0xq-z.js → formatDuration-DgBVMN65.js} +2 -2
  124. package/dist/src/{genaiTracer-Ce19n68P.js → genaiTracer-70Z8BIuV.js} +2 -3
  125. package/dist/src/{genaiTracer-CqNnnXrE.js → genaiTracer-C1rxGO8Q.js} +2 -3
  126. package/dist/src/genaiTracer-D3fD9dNV.js +256 -0
  127. package/dist/src/{genaiTracer-CQlpZkrp.cjs → genaiTracer-DN4dQywX.cjs} +13 -14
  128. package/dist/src/graders-Bu0H9nXi.js +32 -0
  129. package/dist/src/{graders-BaMCwIKp.js → graders-CHO8EPM4.js} +385 -417
  130. package/dist/src/graders-Cfhkvx-e.js +34 -0
  131. package/dist/src/{graders-QsALpIdy.js → graders-CpdqD9PI.js} +385 -417
  132. package/dist/src/graders-DClJVpGP.cjs +32 -0
  133. package/dist/src/{graders-DzUUnUjC.cjs → graders-DOXycdlG.cjs} +721 -753
  134. package/dist/src/graders-DcnJsrMO.js +32 -0
  135. package/dist/src/graders-R9rYUM0d.js +13466 -0
  136. package/dist/src/{image-BiEVdpdP.js → image-BmEZqVmk.js} +57 -18
  137. package/dist/src/{image-mhAGP07h.js → image-CBBVXWuT.js} +57 -18
  138. package/dist/src/{image-D10zEe1f.cjs → image-CDLQOcqT.cjs} +6 -7
  139. package/dist/src/{image-COCWy5dX.js → image-DJEvKveK.js} +6 -5
  140. package/dist/src/{image-C3BjJUAU.cjs → image-DTedmQPg.cjs} +77 -32
  141. package/dist/src/{image-DB4sHxdJ.js → image-gvmivTEe.js} +7 -9
  142. package/dist/src/image-pAX56tPG.js +257 -0
  143. package/dist/src/{image-BXt_7u0v.js → image-tL5hIOFh.js} +6 -8
  144. package/dist/src/index.cjs +696 -693
  145. package/dist/src/index.d.cts +113 -10
  146. package/dist/src/index.d.ts +113 -6
  147. package/dist/src/index.js +657 -658
  148. package/dist/src/{interactiveCheck-DU-MAhp5.js → interactiveCheck-BgLZUIt3.js} +7 -8
  149. package/dist/src/{invariant-DT20jrBd.js → invariant-BtWWVVhl.js} +2 -2
  150. package/dist/src/{invariant-1pAf2CD1.js → invariant-Ddh24eXh.js} +2 -2
  151. package/dist/src/{invariant-CKcJAQ6M.cjs → invariant-kfQ8Bu82.cjs} +7 -8
  152. package/dist/src/invariant-vgHWClmd.js +25 -0
  153. package/dist/src/{knowledgeBase-DotRBzUE.js → knowledgeBase-CLJybhnF.js} +19 -34
  154. package/dist/src/{knowledgeBase-XJQ0Qyez.js → knowledgeBase-CoU-UQBg.js} +17 -41
  155. package/dist/src/{knowledgeBase-CMvMlLZR.js → knowledgeBase-DjWPVqSb.js} +17 -43
  156. package/dist/src/{knowledgeBase-Bnb00xKs.cjs → knowledgeBase-wkxuRFhA.cjs} +17 -40
  157. package/dist/src/{litellm-CHrRmPAe.js → litellm-B9Hysuri.js} +16 -18
  158. package/dist/src/{litellm-CrLJrPIm.js → litellm-CTfa0hqi.js} +15 -17
  159. package/dist/src/{litellm-BrnZhMcL.cjs → litellm-NYpQ8RQu.cjs} +15 -16
  160. package/dist/src/{litellm-BECdjOTx.js → litellm-ePxtr9F1.js} +15 -4
  161. package/dist/src/{logger-w8Ozp0Td.js → logger-CT3IKMKA.js} +24 -41
  162. package/dist/src/{logger-BdZ-IqBc.cjs → logger-Cp1GPUjj.cjs} +166 -192
  163. package/dist/src/logger-DLcq4dWf.js +713 -0
  164. package/dist/src/{logger-BotXmWKW.js → logger-KkObSCzq.js} +27 -43
  165. package/dist/src/{luma-ray-C0RkI3lt.cjs → luma-ray-B0GGNRc1.cjs} +20 -21
  166. package/dist/src/{luma-ray-C-w6EsJm.js → luma-ray-BE2mOt6N.js} +20 -13
  167. package/dist/src/{luma-ray-BOeX-h0M.js → luma-ray-BW9IRGIc.js} +22 -21
  168. package/dist/src/{luma-ray-DgKLS0BF.js → luma-ray-Cm1KZBhs.js} +20 -23
  169. package/dist/src/main.js +1985 -2055
  170. package/dist/src/{messages-DXV3Qh8_.cjs → messages-1JrJs91T.cjs} +35 -34
  171. package/dist/src/{messages-D61tPFQo.js → messages-1x9atZmP.js} +25 -24
  172. package/dist/src/{messages-CDZYGNlS.js → messages-BLbWdsyt.js} +25 -24
  173. package/dist/src/messages-D8EA0oDc.js +240 -0
  174. package/dist/src/{meteor-P2rUE-Uz.js → meteor-44VjEACX.js} +3 -4
  175. package/dist/src/{meteor-SLNTgmXm.js → meteor-D-SotUw9.js} +3 -4
  176. package/dist/src/{meteor-odmwVbyG.cjs → meteor-DLZZ3osF.cjs} +3 -4
  177. package/dist/src/{meteor-Dj8cTkU_.js → meteor-DUiCJRC-.js} +3 -4
  178. package/dist/src/modelslab-C1OLRmVX.js +166 -0
  179. package/dist/src/modelslab-CqXBy3U8.js +168 -0
  180. package/dist/src/modelslab-DcOSFwKh.cjs +166 -0
  181. package/dist/src/modelslab-X5-4LroM.js +166 -0
  182. package/dist/src/{nova-reel-C2LFfVTf.js → nova-reel-BgS1ZWuK.js} +20 -13
  183. package/dist/src/{nova-reel-DtCjbD5O.js → nova-reel-D2ZkOSyr.js} +22 -21
  184. package/dist/src/{nova-reel-D9FXq3Mt.cjs → nova-reel-D9xfaMBs.cjs} +20 -21
  185. package/dist/src/{nova-reel-Bk5npr2q.js → nova-reel-DihqLeol.js} +20 -23
  186. package/dist/src/{nova-sonic-BoRSY_U6.cjs → nova-sonic-DVu3mMIy.cjs} +30 -31
  187. package/dist/src/{nova-sonic-D_qERM-K.js → nova-sonic-DezhVUYT.js} +30 -26
  188. package/dist/src/{nova-sonic-CgaWLDM1.js → nova-sonic-P-CdUMlV.js} +30 -31
  189. package/dist/src/{nova-sonic-BXRfQyF-.js → nova-sonic-Q3BOJeig.js} +31 -32
  190. package/dist/src/{openai-Bigwjgo1.cjs → openai-Cuif0GEt.cjs} +8 -9
  191. package/dist/src/{openai-Dz3surb_.js → openai-DElQ-fPX.js} +3 -4
  192. package/dist/src/{openai-CT5fwbve.js → openai-DhbB7eWK.js} +3 -4
  193. package/dist/src/openai-j-sE2O7r.js +44 -0
  194. package/dist/src/{openclaw-dHLcXUWZ.js → openclaw-BiSZPL7J.js} +20 -14
  195. package/dist/src/{openclaw-CpPrXwf6.js → openclaw-Bv1DINsX.js} +20 -27
  196. package/dist/src/{openclaw-B6XY2kUf.js → openclaw-D1D_ej1z.js} +21 -28
  197. package/dist/src/{openclaw-DDSfq5fp.cjs → openclaw-DAfWQn-o.cjs} +33 -39
  198. package/dist/src/opencode-sdk-C7m-wRfI.js +560 -0
  199. package/dist/src/opencode-sdk-CfaLN8PY.cjs +564 -0
  200. package/dist/src/opencode-sdk-D95s6SnR.js +562 -0
  201. package/dist/src/opencode-sdk-DxUPkLT7.js +560 -0
  202. package/dist/src/{otlpReceiver-DmRb0NBj.js → otlpReceiver--AIRW_S4.js} +53 -51
  203. package/dist/src/{otlpReceiver-Dg817agV.js → otlpReceiver-Bn5wGB1v.js} +53 -55
  204. package/dist/src/{otlpReceiver-B6Xo4KZM.cjs → otlpReceiver-Diec4cln.cjs} +53 -55
  205. package/dist/src/{otlpReceiver-BO0rbDzh.js → otlpReceiver-g3ByGaXs.js} +53 -55
  206. package/dist/src/{providerRegistry-Xf0qdqGQ.js → providerRegistry-B0RUOLI_.js} +7 -8
  207. package/dist/src/{providerRegistry-wCWd7sKQ.js → providerRegistry-CD8MEar9.js} +7 -8
  208. package/dist/src/{providerRegistry-lc7a7utN.cjs → providerRegistry-Civky8Ar.cjs} +12 -13
  209. package/dist/src/providerRegistry-DM8rZYol.js +45 -0
  210. package/dist/src/providers-B3HvufyI.js +33246 -0
  211. package/dist/src/{providers-BiNq_Iyc.js → providers-BKRJTjBz.js} +1743 -1795
  212. package/dist/src/providers-C1rOSHiR.js +32 -0
  213. package/dist/src/{providers-BlEhY5mi.js → providers-CFLy1_ji.js} +1750 -1802
  214. package/dist/src/{providers-BNKVY53V.cjs → providers-CFu-TZl-.cjs} +2111 -2163
  215. package/dist/src/providers-CxmDwEFf.cjs +31 -0
  216. package/dist/src/providers-Dodakqr0.js +30 -0
  217. package/dist/src/providers-GIQ2TcsA.js +30 -0
  218. package/dist/src/{pythonUtils-r1uBuA0n.js → pythonUtils-C3py6GC1.js} +18 -19
  219. package/dist/src/{pythonUtils-DZ6EbdY4.cjs → pythonUtils-CTU3Y3lw.cjs} +42 -43
  220. package/dist/src/{pythonUtils-vMlk9Qp5.js → pythonUtils-D5nxkQ0P.js} +18 -19
  221. package/dist/src/pythonUtils-D6fwaDSg.js +249 -0
  222. package/dist/src/quiverai-C2jVwbH1.js +213 -0
  223. package/dist/src/quiverai-CI6gYJVI.js +213 -0
  224. package/dist/src/quiverai-CLkWkyZc.cjs +213 -0
  225. package/dist/src/quiverai-MHSxbmmZ.js +215 -0
  226. package/dist/src/{render-CAZvKKkB.js → render-Drod8m7K.js} +4 -5
  227. package/dist/src/{responses-DLLjADw5.js → responses-BKqJmhhc.js} +34 -27
  228. package/dist/src/{responses-TsdODUpm.js → responses-CGw0DCzh.js} +34 -27
  229. package/dist/src/responses-jxdehPkC.js +660 -0
  230. package/dist/src/{responses-zOtKtnY_.cjs → responses-tD4Bd4dc.cjs} +49 -42
  231. package/dist/src/rubyUtils-BUHu6PhO.js +5 -0
  232. package/dist/src/{rubyUtils-Cs35SDYa.js → rubyUtils-BUVePouc.js} +27 -20
  233. package/dist/src/rubyUtils-BcuGX77l.js +222 -0
  234. package/dist/src/{rubyUtils-BtjlqyXt.js → rubyUtils-Boc4HZzX.js} +18 -19
  235. package/dist/src/rubyUtils-CP42kMvq.cjs +4 -0
  236. package/dist/src/{rubyUtils-DCVaJ3mc.cjs → rubyUtils-DhCAlxZr.cjs} +48 -50
  237. package/dist/src/{sagemaker-Du4LIR97.js → sagemaker-BK4Zb993.js} +75 -70
  238. package/dist/src/{sagemaker-CLdUAv5z.js → sagemaker-BfiWTmvn.js} +77 -77
  239. package/dist/src/{sagemaker-DwNnEVYt.cjs → sagemaker-CcQHM1jV.cjs} +75 -76
  240. package/dist/src/{sagemaker-BcgLu0U4.js → sagemaker-D2Q1c-sD.js} +75 -79
  241. package/dist/src/{scanner-Dyw21Wg_.js → scanner-J8CA3LsV.js} +149 -122
  242. package/dist/src/server/index.js +5620 -67302
  243. package/dist/src/{server-CgUQ25qW.cjs → server-B0PPuDw-.cjs} +57 -67
  244. package/dist/src/server-B1vi21hA.js +7 -0
  245. package/dist/src/{server-CbMTRQkg.js → server-BC7XJFgr.js} +19 -24
  246. package/dist/src/server-Cm9Kai_h.cjs +5 -0
  247. package/dist/src/{server-DWmZLfCy.js → server-DbFphssR.js} +26 -29
  248. package/dist/src/server-OAs3nBRT.js +229 -0
  249. package/dist/src/{signal-Bl32q42d.js → signal-BOTbd53Z.js} +9 -11
  250. package/dist/src/{slack-BtMkB6xP.cjs → slack-BmVAVGaK.cjs} +7 -8
  251. package/dist/src/{slack-OZYxoVON.js → slack-DCUPTzS2.js} +8 -8
  252. package/dist/src/{slack-DPqj42Ts.js → slack-DOdy_kyv.js} +7 -8
  253. package/dist/src/{slack-BfdBx2tO.js → slack-DXMKtA-f.js} +7 -9
  254. package/dist/src/store-BNmZ1KAz.cjs +5 -0
  255. package/dist/src/{store-BqwfFEyF.cjs → store-BSc-TF2w.cjs} +44 -45
  256. package/dist/src/store-BltJg2cd.js +6 -0
  257. package/dist/src/{store-D4gdn9ih.js → store-D1tv90v3.js} +34 -35
  258. package/dist/src/{store-2ocbYY9D.js → store-DQLEjuEO.js} +40 -36
  259. package/dist/src/store-Ub2vaGJ1.js +228 -0
  260. package/dist/src/{tables-D-NSwNIb.js → tables-5EvT_Bwn.js} +23 -23
  261. package/dist/src/{tables-B9E1kRp-.cjs → tables-C7K-XKWp.cjs} +93 -93
  262. package/dist/src/{tables-C7TT2XVn.js → tables-D36WTqKX.js} +25 -25
  263. package/dist/src/tables-xKANLRBD.js +288 -0
  264. package/dist/src/telemetry-5BCRNBbe.cjs +5 -0
  265. package/dist/src/{telemetry-DZ_7PaVq.js → telemetry-C15ziL8u.js} +17 -14
  266. package/dist/src/{telemetry-BXyVqyAg.js → telemetry-C2YDkUQH.js} +11 -13
  267. package/dist/src/{telemetry-D0_yFdtU.cjs → telemetry-CbrnxHp_.cjs} +21 -24
  268. package/dist/src/telemetry-D4W5hboe.js +7 -0
  269. package/dist/src/telemetry-DMb2Mpfm.js +171 -0
  270. package/dist/src/{text-Dm78AVGG.js → text-B_UCRPp2.js} +2 -2
  271. package/dist/src/{text-DF2hMKdg.cjs → text-CW1cyrwj.cjs} +12 -13
  272. package/dist/src/{text-DgMr_tiM.js → text-Db-Wt2u2.js} +2 -2
  273. package/dist/src/text-TIv0QYnd.js +22 -0
  274. package/dist/src/{tokenUsageUtils-FZd5O_4A.js → tokenUsageUtils-BDGe-iyI.js} +2 -2
  275. package/dist/src/{tokenUsageUtils-DmZSD2eU.js → tokenUsageUtils-DflFMjS0.js} +2 -2
  276. package/dist/src/tokenUsageUtils-NYT-WKS6.js +138 -0
  277. package/dist/src/{tokenUsageUtils-CXhxVj72.cjs → tokenUsageUtils-bVa1ga6f.cjs} +32 -33
  278. package/dist/src/{transcription-FNIz3YOe.cjs → transcription-CL78qbOU.cjs} +14 -15
  279. package/dist/src/{transcription-C-M81iDA.js → transcription-DAtxHhAM.js} +14 -7
  280. package/dist/src/{transcription-CYuY5sFO.js → transcription-LNZTNUUL.js} +14 -16
  281. package/dist/src/{transcription-Ch7S-LWw.js → transcription-QHh3AH6Z.js} +15 -17
  282. package/dist/src/{transform-CoP2bJ7P.js → transform-Cgi24fJ7.js} +94 -66
  283. package/dist/src/{transform-Kd6u-oNm.cjs → transform-CzK1Q0zl.cjs} +24 -26
  284. package/dist/src/{transform-D8dILpfZ.js → transform-DECvGmzp.js} +15 -13
  285. package/dist/src/{transform-DMaxQwDx.js → transform-DGLazrMm.js} +94 -66
  286. package/dist/src/transform-DGxXocjk.js +1506 -0
  287. package/dist/src/{transform-ivxEY4f7.cjs → transform-DOcQeLld.cjs} +234 -206
  288. package/dist/src/transform-DTGDnAzW.js +6 -0
  289. package/dist/src/{transform-CqTFr7KR.js → transform-DilY9wbS.js} +10 -12
  290. package/dist/src/transform-aa6tmVpZ.js +216 -0
  291. package/dist/src/transform-m3qNw4KP.cjs +5 -0
  292. package/dist/src/{transformersAvailability-DEU2naS1.js → transformersAvailability-CEVM2GNQ.js} +2 -2
  293. package/dist/src/{transformersAvailability-Bkep3ka7.cjs → transformersAvailability-CwayUSlh.cjs} +2 -3
  294. package/dist/src/{transformersAvailability-DwmezkVe.js → transformersAvailability-D6c6ROpT.js} +2 -2
  295. package/dist/src/{types-t52w-XsS.js → types-CH3Ge2sE.js} +103 -92
  296. package/dist/src/{types-DMVjYLpx.js → types-CLKiCBW3.js} +98 -91
  297. package/dist/src/types-CN_TZ2GJ.js +3260 -0
  298. package/dist/src/{types-BIfttHrT.cjs → types-LJ0r3wbR.cjs} +573 -566
  299. package/dist/src/util-5cB-L7U3.js +1430 -0
  300. package/dist/src/util-6-GqIvzS.js +599 -0
  301. package/dist/src/{util-vjscpUzy.js → util-B7T3SiBS.js} +5 -6
  302. package/dist/src/{util-Cl0zfT3V.js → util-Betm42rL.js} +44 -17
  303. package/dist/src/{util-CUEt0Vum.js → util-C-PPYSMq.js} +44 -17
  304. package/dist/src/{util-DkFTvieG.cjs → util-CchiqXh_.cjs} +35 -36
  305. package/dist/src/{util-mJ58qbbw.js → util-DaWTWKBK.js} +5 -6
  306. package/dist/src/{util-C08Kns6-.cjs → util-Db0a0AFH.cjs} +89 -62
  307. package/dist/src/{util-DiCePfDu.js → util-Dlz_Wvgm.js} +102 -53
  308. package/dist/src/{util-BSh4a_Q8.js → util-YT5HPZaS.js} +102 -53
  309. package/dist/src/{util-DUYOvxAy.cjs → util-Yz-1aEhW.cjs} +274 -219
  310. package/dist/src/util-ZZH-3QZz.js +293 -0
  311. package/dist/src/{utils-DFaZa6Rf.cjs → utils-Cz9qXqII.cjs} +32 -35
  312. package/dist/src/{utils-CVzb4YiI.js → utils-XiOAgly5.js} +4 -7
  313. package/dist/src/utils-dLokC-eR.js +94 -0
  314. package/dist/src/{utils-JaY9veb5.js → utils-f2-Moju7.js} +4 -7
  315. package/dist/tsconfig.tsbuildinfo +1 -1
  316. package/package.json +59 -53
  317. package/dist/src/app/assets/index-BOgkICuY.css +0 -1
  318. package/dist/src/app/assets/index-CSgqn_Vd.js +0 -428
  319. package/dist/src/app/tsconfig.app.tsbuildinfo +0 -1
  320. package/dist/src/base-BaXmtXYp.js +0 -107
  321. package/dist/src/base-Dtp8b4_N.js +0 -106
  322. package/dist/src/base-f71xxWai.cjs +0 -111
  323. package/dist/src/cache-BUPcq0Ad.js +0 -6
  324. package/dist/src/cache-CVfRb-HD.cjs +0 -6
  325. package/dist/src/cache-O4EuX2JV.js +0 -8
  326. package/dist/src/chunk-DHDDz29n.js +0 -22
  327. package/dist/src/chunk-FhC4c-0y.js +0 -21
  328. package/dist/src/cloud-CZ4hytdm.js +0 -5
  329. package/dist/src/eval-CKHWqG9f.js +0 -16
  330. package/dist/src/evalResult-CxTP-LMm.cjs +0 -11
  331. package/dist/src/evalResult-CzLURDcP.js +0 -13
  332. package/dist/src/evalResult-DyttNQ_G.js +0 -11
  333. package/dist/src/evaluator-0PvfeBYh.js +0 -38
  334. package/dist/src/fetch-Bi0o-fdp.js +0 -4
  335. package/dist/src/fetch-CMptBDVg.cjs +0 -4
  336. package/dist/src/fetch-DAZkv3gV.js +0 -6
  337. package/dist/src/graders-BCytzXrb.js +0 -34
  338. package/dist/src/graders-CGZQShfJ.cjs +0 -33
  339. package/dist/src/graders-spkuVC-E.js +0 -36
  340. package/dist/src/opencode-sdk-CImWVqy9.js +0 -382
  341. package/dist/src/opencode-sdk-CuCztr4P.js +0 -380
  342. package/dist/src/opencode-sdk-DhcfRbBH.js +0 -376
  343. package/dist/src/opencode-sdk-mqF-Oj3f.cjs +0 -383
  344. package/dist/src/providers-BMZZmPBJ.cjs +0 -32
  345. package/dist/src/providers-CQQrNaJk.js +0 -32
  346. package/dist/src/providers-Ck8HyrC-.js +0 -34
  347. package/dist/src/quiverai-BNfIwKCO.cjs +0 -54
  348. package/dist/src/quiverai-BQigKdIH.js +0 -57
  349. package/dist/src/quiverai-Bfy2WnE2.js +0 -55
  350. package/dist/src/quiverai-CedIP0PJ.js +0 -43
  351. package/dist/src/rubyUtils-D7--T12C.js +0 -6
  352. package/dist/src/rubyUtils-DRRiMFV2.js +0 -5
  353. package/dist/src/rubyUtils-vb8OYFC-.cjs +0 -5
  354. package/dist/src/server-BUbS0Qfh.js +0 -6
  355. package/dist/src/server-XpGXFHkS.cjs +0 -6
  356. package/dist/src/server-gfOx5Zrk.js +0 -8
  357. package/dist/src/store-5u2yriTV.js +0 -7
  358. package/dist/src/store-D_lq_8oQ.js +0 -6
  359. package/dist/src/store-m5KT6Ly7.cjs +0 -6
  360. package/dist/src/telemetry-5RHFoCJh.js +0 -6
  361. package/dist/src/telemetry-Do8wMnA-.js +0 -8
  362. package/dist/src/telemetry-LojxPoFq.cjs +0 -6
  363. package/dist/src/transform-8eGmaH-7.js +0 -7
  364. package/dist/src/transform-BRVvWaG4.cjs +0 -6
  365. package/dist/src/transform-GybT0X0u.js +0 -8
  366. package/dist/src/transformersAvailability-DkAWaK5B.js +0 -35
@@ -1,5 +1,5 @@
1
- const require_logger = require('./logger-BdZ-IqBc.cjs');
2
- const require_invariant = require('./invariant-CKcJAQ6M.cjs');
1
+ const require_logger = require("./logger-Cp1GPUjj.cjs");
2
+ const require_invariant = require("./invariant-kfQ8Bu82.cjs");
3
3
  let fs = require("fs");
4
4
  fs = require_logger.__toESM(fs);
5
5
  let path = require("path");
@@ -12,7 +12,6 @@ fs_promises = require_logger.__toESM(fs_promises);
12
12
  let proxy_from_env = require("proxy-from-env");
13
13
  let undici = require("undici");
14
14
  let zlib = require("zlib");
15
-
16
15
  //#region src/providers/constants.ts
17
16
  const FILE_METADATA_KEY = "_promptfooFileMetadata";
18
17
  /**
@@ -20,28 +19,21 @@ const FILE_METADATA_KEY = "_promptfooFileMetadata";
20
19
  * Used to distinguish human ratings from automated assertions.
21
20
  */
22
21
  const HUMAN_ASSERTION_TYPE = "human";
23
-
24
22
  //#endregion
25
23
  //#region src/version.ts
26
24
  /**
27
25
  * Application version from package.json.
28
26
  * Injected at build time, or read from npm environment in development.
29
27
  */
30
- const VERSION = "0.120.26";
28
+ const VERSION = "0.121.1";
31
29
  /**
32
30
  * PostHog analytics key.
33
31
  * Only populated during production builds via PROMPTFOO_POSTHOG_KEY env var.
34
32
  * Empty string in development/test.
35
33
  */
36
34
  const POSTHOG_KEY = "phc_E5n5uHnDo2eREJL1uqX1cIlbkoRby4yFWt3V94HqRRg";
37
-
38
- //#endregion
39
- //#region src/constants.ts
40
- const DEFAULT_QUERY_LIMIT = 100;
41
- const DEFAULT_MAX_CONCURRENCY = 4;
42
- const DEFAULT_API_BASE_URL = "https://api.promptfoo.app";
43
35
  function getShareApiBaseUrl() {
44
- return require_logger.getEnvString("PROMPTFOO_REMOTE_API_BASE_URL") || DEFAULT_API_BASE_URL;
36
+ return require_logger.getEnvString("PROMPTFOO_REMOTE_API_BASE_URL") || "https://api.promptfoo.app";
45
37
  }
46
38
  function getDefaultShareViewBaseUrl() {
47
39
  return require_logger.getEnvString("PROMPTFOO_SHARING_APP_BASE_URL", `https://promptfoo.app`);
@@ -54,7 +46,6 @@ const CLOUD_PROVIDER_PREFIX = "promptfoo://provider/";
54
46
  const CONSENT_ENDPOINT = "https://api.promptfoo.dev/consent";
55
47
  const EVENTS_ENDPOINT = "https://a.promptfoo.app";
56
48
  const R_ENDPOINT = "https://r.promptfoo.app/";
57
-
58
49
  //#endregion
59
50
  //#region src/providers/shared.ts
60
51
  /**
@@ -293,14 +284,12 @@ function transformTools(tools, format) {
293
284
  default: return tools;
294
285
  }
295
286
  }
296
-
297
287
  //#endregion
298
288
  //#region src/util/time.ts
299
289
  function getCurrentTimestamp() {
300
290
  return Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
301
291
  }
302
292
  const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
303
-
304
293
  //#endregion
305
294
  //#region src/globalConfig/globalConfig.ts
306
295
  /**
@@ -341,11 +330,8 @@ function writeGlobalConfigPartial(partialConfig) {
341
330
  });
342
331
  writeGlobalConfig(updatedConfig);
343
332
  }
344
-
345
- //#endregion
346
- //#region src/globalConfig/cloud.ts
347
- const CLOUD_API_HOST = "https://api.promptfoo.app";
348
- const API_HOST = require_logger.getEnvString("API_HOST", CLOUD_API_HOST);
333
+ const API_HOST = require_logger.getEnvString("API_HOST", "https://api.promptfoo.app");
334
+ const SHARING_CUTOFF_DATE = /* @__PURE__ */ new Date("2026-03-09T00:00:00Z");
349
335
  var CloudConfig = class {
350
336
  config;
351
337
  constructor() {
@@ -354,6 +340,7 @@ var CloudConfig = class {
354
340
  appUrl: savedConfig.appUrl || "https://www.promptfoo.app",
355
341
  apiHost: savedConfig.apiHost,
356
342
  apiKey: savedConfig.apiKey,
343
+ sharing: savedConfig.sharing,
357
344
  currentOrganizationId: savedConfig.currentOrganizationId,
358
345
  currentTeamId: savedConfig.currentTeamId,
359
346
  teams: savedConfig.teams
@@ -398,8 +385,21 @@ var CloudConfig = class {
398
385
  getAppUrl() {
399
386
  return this.config.appUrl;
400
387
  }
388
+ getSharing() {
389
+ return this.config.sharing;
390
+ }
391
+ /**
392
+ * Sets the sharing preference. Note: this value is only updated at authentication time
393
+ * (via `validateAndSetApiToken`) and may become stale if the user's license status
394
+ * changes between re-authentications.
395
+ */
396
+ setSharing(sharing) {
397
+ this.config.sharing = sharing;
398
+ this.saveConfig();
399
+ }
401
400
  delete() {
402
401
  writeGlobalConfigPartial({ cloud: {} });
402
+ this.reload();
403
403
  }
404
404
  saveConfig() {
405
405
  writeGlobalConfigPartial({ cloud: this.config });
@@ -411,6 +411,7 @@ var CloudConfig = class {
411
411
  appUrl: savedConfig.appUrl || "https://www.promptfoo.app",
412
412
  apiHost: savedConfig.apiHost,
413
413
  apiKey: savedConfig.apiKey,
414
+ sharing: savedConfig.sharing,
414
415
  currentOrganizationId: savedConfig.currentOrganizationId,
415
416
  currentTeamId: savedConfig.currentTeamId,
416
417
  teams: savedConfig.teams
@@ -418,27 +419,33 @@ var CloudConfig = class {
418
419
  }
419
420
  async validateAndSetApiToken(token, apiHost) {
420
421
  try {
421
- const { fetchWithProxy } = await Promise.resolve().then(() => require("./fetch-CMptBDVg.cjs"));
422
+ const { fetchWithProxy } = await Promise.resolve().then(() => fetch_exports);
422
423
  const response = await fetchWithProxy(`${apiHost}/api/v1/users/me`, { headers: { Authorization: `Bearer ${token}` } });
423
424
  if (!response.ok) {
424
425
  const errorMessage = await response.text();
425
- require_logger.logger_default.error(`[Cloud] Failed to validate API token: ${errorMessage}. HTTP Status: ${response.status} - ${response.statusText}.`);
426
+ require_logger.logger.error(`[Cloud] Failed to validate API token: ${errorMessage}. HTTP Status: ${response.status} - ${response.statusText}.`);
426
427
  throw new Error("Failed to validate API token: " + response.statusText);
427
428
  }
428
- const { user, organization, app } = await response.json();
429
+ const { user, organization, app, hasActiveLicense } = await response.json();
429
430
  this.setApiKey(token);
430
431
  this.setApiHost(apiHost);
431
432
  this.setAppUrl(app.url);
433
+ if (typeof hasActiveLicense === "boolean") {
434
+ const createdAt = user?.createdAt ? new Date(user.createdAt) : null;
435
+ const isGrandfathered = createdAt != null && createdAt < SHARING_CUTOFF_DATE;
436
+ this.setSharing(hasActiveLicense || isGrandfathered);
437
+ }
432
438
  return {
433
439
  user,
434
440
  organization,
435
- app
441
+ app,
442
+ hasActiveLicense: typeof hasActiveLicense === "boolean" ? hasActiveLicense : false
436
443
  };
437
444
  } catch (err) {
438
445
  const error = err;
439
446
  const errorMessage = error instanceof Error ? error.message : String(error);
440
- require_logger.logger_default.error(`[Cloud] Failed to validate API token with host ${apiHost}: ${errorMessage}`);
441
- if (error.cause) require_logger.logger_default.error(`Cause: ${error.cause}`);
447
+ require_logger.logger.error(`[Cloud] Failed to validate API token with host ${apiHost}: ${errorMessage}`);
448
+ if (error.cause) require_logger.logger.error(`Cause: ${error.cause}`);
442
449
  throw error;
443
450
  }
444
451
  }
@@ -485,7 +492,6 @@ var CloudConfig = class {
485
492
  }
486
493
  };
487
494
  const cloudConfig = new CloudConfig();
488
-
489
495
  //#endregion
490
496
  //#region src/util/fetch/monkeyPatchFetch.ts
491
497
  const gzipAsync = (0, util.promisify)(zlib.gzip);
@@ -512,9 +518,9 @@ async function monkeyPatchFetch(url, options) {
512
518
  "Content-Encoding": "gzip"
513
519
  };
514
520
  } catch (e) {
515
- require_logger.logger_default.warn(`Failed to compress request body: ${e}`);
521
+ require_logger.logger.warn(`Failed to compress request body: ${e}`);
516
522
  }
517
- if (typeof url === "string" && url.startsWith(CLOUD_API_HOST) || url instanceof URL && url.host === CLOUD_API_HOST.replace(/^https?:\/\//, "")) {
523
+ if (typeof url === "string" && url.startsWith("https://api.promptfoo.app") || url instanceof URL && url.host === "https://api.promptfoo.app".replace(/^https?:\/\//, "")) {
518
524
  const token = cloudConfig.getApiKey();
519
525
  opts.headers = {
520
526
  ...opts.headers || {},
@@ -539,17 +545,24 @@ async function monkeyPatchFetch(url, options) {
539
545
  response: null
540
546
  });
541
547
  if (isConnectionError(e)) {
542
- require_logger.logger_default.debug(`Connection error, please check your network connectivity to the host: ${url} ${process.env.HTTP_PROXY || process.env.HTTPS_PROXY ? `or Proxy: ${process.env.HTTP_PROXY || process.env.HTTPS_PROXY}` : ""}`);
548
+ require_logger.logger.debug(`Connection error, please check your network connectivity to the host: ${url} ${process.env.HTTP_PROXY || process.env.HTTPS_PROXY ? `or Proxy: ${process.env.HTTP_PROXY || process.env.HTTPS_PROXY}` : ""}`);
543
549
  throw e;
544
550
  }
545
- require_logger.logger_default.debug(`Error in fetch: ${JSON.stringify(e, Object.getOwnPropertyNames(e), 2)} ${e instanceof Error ? e.stack : ""}`);
551
+ require_logger.logger.debug(`Error in fetch: ${JSON.stringify(e, Object.getOwnPropertyNames(e), 2)} ${e instanceof Error ? e.stack : ""}`);
546
552
  }
547
553
  throw e;
548
554
  }
549
555
  }
550
-
551
556
  //#endregion
552
557
  //#region src/util/fetch/index.ts
558
+ var fetch_exports = /* @__PURE__ */ require_logger.__exportAll({
559
+ fetchWithProxy: () => fetchWithProxy,
560
+ fetchWithRetries: () => fetchWithRetries,
561
+ fetchWithTimeout: () => fetchWithTimeout,
562
+ handleRateLimit: () => handleRateLimit,
563
+ isRateLimited: () => isRateLimited,
564
+ isTransientError: () => isTransientError
565
+ });
553
566
  let cachedAgent = null;
554
567
  let cachedAgentConcurrency;
555
568
  let cachedProxyAgents = /* @__PURE__ */ new Map();
@@ -565,7 +578,7 @@ function getConnectionPoolSize() {
565
578
  const parsed = parseInt(envConnections, 10);
566
579
  if (!isNaN(parsed)) return parsed;
567
580
  }
568
- return require_logger.cliState_default.maxConcurrency || DEFAULT_MAX_CONCURRENCY;
581
+ return require_logger.state.maxConcurrency || 4;
569
582
  }
570
583
  function getOrCreateAgent(tlsOptions) {
571
584
  const concurrency = getConnectionPoolSize();
@@ -619,7 +632,7 @@ async function fetchWithProxy(url, options = {}, abortSignal) {
619
632
  if (typeof url === "string") try {
620
633
  const parsedUrl = new URL(url);
621
634
  if (parsedUrl.username || parsedUrl.password) {
622
- if (finalOptions.headers && "Authorization" in finalOptions.headers) require_logger.logger_default.warn("Both URL credentials and Authorization header present - URL credentials will be ignored");
635
+ if (finalOptions.headers && "Authorization" in finalOptions.headers) require_logger.logger.warn("Both URL credentials and Authorization header present - URL credentials will be ignored");
623
636
  else {
624
637
  const username = parsedUrl.username || "";
625
638
  const password = parsedUrl.password || "";
@@ -635,20 +648,20 @@ async function fetchWithProxy(url, options = {}, abortSignal) {
635
648
  finalUrlString = finalUrl.toString();
636
649
  }
637
650
  } catch (e) {
638
- require_logger.logger_default.debug(`URL parsing failed in fetchWithProxy: ${e}`);
651
+ require_logger.logger.debug(`URL parsing failed in fetchWithProxy: ${e}`);
639
652
  }
640
653
  const tlsOptions = { rejectUnauthorized: !require_logger.getEnvBool("PROMPTFOO_INSECURE_SSL", true) };
641
654
  const caCertPath = require_logger.getEnvString("PROMPTFOO_CA_CERT_PATH");
642
655
  if (caCertPath) try {
643
- const resolvedPath = path.default.resolve(require_logger.cliState_default.basePath || "", caCertPath);
656
+ const resolvedPath = path.default.resolve(require_logger.state.basePath || "", caCertPath);
644
657
  tlsOptions.ca = await fs_promises.readFile(resolvedPath, "utf8");
645
- require_logger.logger_default.debug(`Using custom CA certificate from ${resolvedPath}`);
658
+ require_logger.logger.debug(`Using custom CA certificate from ${resolvedPath}`);
646
659
  } catch (e) {
647
- require_logger.logger_default.warn(`Failed to read CA certificate from ${caCertPath}: ${e}`);
660
+ require_logger.logger.warn(`Failed to read CA certificate from ${caCertPath}: ${e}`);
648
661
  }
649
662
  const proxyUrl = finalUrlString ? (0, proxy_from_env.getProxyForUrl)(finalUrlString) : "";
650
663
  if (!finalOptions.dispatcher) if (proxyUrl) {
651
- require_logger.logger_default.debug(`Using proxy: ${require_logger.sanitizeUrl(proxyUrl)}`);
664
+ require_logger.logger.debug(`Using proxy: ${require_logger.sanitizeUrl(proxyUrl)}`);
652
665
  finalOptions.dispatcher = getOrCreateProxyAgent(proxyUrl, tlsOptions);
653
666
  } else finalOptions.dispatcher = getOrCreateAgent(tlsOptions);
654
667
  const maxTransientRetries = options.disableTransientRetries ? 0 : 3;
@@ -656,7 +669,7 @@ async function fetchWithProxy(url, options = {}, abortSignal) {
656
669
  const response = await monkeyPatchFetch(finalUrl, finalOptions);
657
670
  if (!options.disableTransientRetries && isTransientError(response) && attempt < maxTransientRetries) {
658
671
  const backoffMs = Math.pow(2, attempt) * 1e3;
659
- require_logger.logger_default.debug(`Transient error (${response.status} ${response.statusText}), retry ${attempt + 1}/${maxTransientRetries} after ${backoffMs}ms`);
672
+ require_logger.logger.debug(`Transient error (${response.status} ${response.statusText}), retry ${attempt + 1}/${maxTransientRetries} after ${backoffMs}ms`);
660
673
  await sleep(backoffMs);
661
674
  continue;
662
675
  }
@@ -706,7 +719,7 @@ async function handleRateLimit(response) {
706
719
  const now = /* @__PURE__ */ new Date();
707
720
  waitTime = Math.max(resetTime.getTime() - now.getTime() + 1e3, 0);
708
721
  } else if (retryAfter) waitTime = Number.parseInt(retryAfter) * 1e3;
709
- require_logger.logger_default.debug(`Rate limited, waiting ${waitTime}ms before retry`);
722
+ require_logger.logger.debug(`Rate limited, waiting ${waitTime}ms before retry`);
710
723
  await sleep(waitTime);
711
724
  }
712
725
  /**
@@ -738,7 +751,7 @@ async function fetchWithRetries(url, options = {}, timeout, maxRetries) {
738
751
  }, timeout);
739
752
  if (require_logger.getEnvBool("PROMPTFOO_RETRY_5XX") && response.status >= 500 && response.status < 600) throw new Error(`Internal Server Error: ${response.status} ${response.statusText}`);
740
753
  if (response && isRateLimited(response)) {
741
- require_logger.logger_default.debug(`Rate limited on URL ${url}: ${response.status} ${response.statusText}, attempt ${i + 1}/${maxRetries + 1}, waiting before retry...`);
754
+ require_logger.logger.debug(`Rate limited on URL ${url}: ${response.status} ${response.statusText}, attempt ${i + 1}/${maxRetries + 1}, waiting before retry...`);
742
755
  lastErrorMessage = `Rate limited: ${response.status} ${response.statusText}`;
743
756
  await handleRateLimit(response);
744
757
  continue;
@@ -753,247 +766,223 @@ async function fetchWithRetries(url, options = {}, timeout, maxRetries) {
753
766
  if (typedError.cause) errorMessage += ` (Cause: ${typedError.cause})`;
754
767
  if (typedError.code) errorMessage += ` (Code: ${typedError.code})`;
755
768
  } else errorMessage = String(error);
756
- require_logger.logger_default.debug(`Request to ${url} failed (attempt #${i + 1}), retrying: ${errorMessage}`);
769
+ require_logger.logger.debug(`Request to ${url} failed (attempt #${i + 1}), retrying: ${errorMessage}`);
757
770
  if (i < maxRetries) await sleep(Math.pow(2, i) * (backoff + 1e3 * Math.random()));
758
771
  lastErrorMessage = errorMessage;
759
772
  }
760
773
  }
761
774
  throw new Error(`Request failed after ${maxRetries} retries: ${lastErrorMessage}`);
762
775
  }
763
-
764
776
  //#endregion
765
- Object.defineProperty(exports, 'CLOUD_PROVIDER_PREFIX', {
766
- enumerable: true,
767
- get: function () {
768
- return CLOUD_PROVIDER_PREFIX;
769
- }
770
- });
771
- Object.defineProperty(exports, 'CONSENT_ENDPOINT', {
772
- enumerable: true,
773
- get: function () {
774
- return CONSENT_ENDPOINT;
775
- }
776
- });
777
- Object.defineProperty(exports, 'CloudConfig', {
778
- enumerable: true,
779
- get: function () {
780
- return CloudConfig;
781
- }
782
- });
783
- Object.defineProperty(exports, 'DEFAULT_MAX_CONCURRENCY', {
784
- enumerable: true,
785
- get: function () {
786
- return DEFAULT_MAX_CONCURRENCY;
787
- }
788
- });
789
- Object.defineProperty(exports, 'DEFAULT_QUERY_LIMIT', {
790
- enumerable: true,
791
- get: function () {
792
- return DEFAULT_QUERY_LIMIT;
793
- }
794
- });
795
- Object.defineProperty(exports, 'EVENTS_ENDPOINT', {
796
- enumerable: true,
797
- get: function () {
798
- return EVENTS_ENDPOINT;
799
- }
800
- });
801
- Object.defineProperty(exports, 'FILE_METADATA_KEY', {
802
- enumerable: true,
803
- get: function () {
804
- return FILE_METADATA_KEY;
805
- }
806
- });
807
- Object.defineProperty(exports, 'HUMAN_ASSERTION_TYPE', {
808
- enumerable: true,
809
- get: function () {
810
- return HUMAN_ASSERTION_TYPE;
811
- }
812
- });
813
- Object.defineProperty(exports, 'LONG_RUNNING_MODEL_TIMEOUT_MS', {
814
- enumerable: true,
815
- get: function () {
816
- return LONG_RUNNING_MODEL_TIMEOUT_MS;
817
- }
818
- });
819
- Object.defineProperty(exports, 'POSTHOG_KEY', {
820
- enumerable: true,
821
- get: function () {
822
- return POSTHOG_KEY;
823
- }
824
- });
825
- Object.defineProperty(exports, 'REQUEST_TIMEOUT_MS', {
826
- enumerable: true,
827
- get: function () {
828
- return REQUEST_TIMEOUT_MS;
829
- }
830
- });
831
- Object.defineProperty(exports, 'R_ENDPOINT', {
832
- enumerable: true,
833
- get: function () {
834
- return R_ENDPOINT;
835
- }
836
- });
837
- Object.defineProperty(exports, 'TERMINAL_MAX_WIDTH', {
838
- enumerable: true,
839
- get: function () {
840
- return TERMINAL_MAX_WIDTH;
841
- }
842
- });
843
- Object.defineProperty(exports, 'VERSION', {
844
- enumerable: true,
845
- get: function () {
846
- return VERSION;
847
- }
848
- });
849
- Object.defineProperty(exports, 'calculateCost', {
850
- enumerable: true,
851
- get: function () {
852
- return calculateCost;
853
- }
854
- });
855
- Object.defineProperty(exports, 'cloudConfig', {
856
- enumerable: true,
857
- get: function () {
858
- return cloudConfig;
859
- }
860
- });
861
- Object.defineProperty(exports, 'fetchWithProxy', {
862
- enumerable: true,
863
- get: function () {
864
- return fetchWithProxy;
865
- }
866
- });
867
- Object.defineProperty(exports, 'fetchWithRetries', {
868
- enumerable: true,
869
- get: function () {
870
- return fetchWithRetries;
871
- }
872
- });
873
- Object.defineProperty(exports, 'fetchWithTimeout', {
874
- enumerable: true,
875
- get: function () {
876
- return fetchWithTimeout;
877
- }
878
- });
879
- Object.defineProperty(exports, 'getCurrentTimestamp', {
880
- enumerable: true,
881
- get: function () {
882
- return getCurrentTimestamp;
883
- }
884
- });
885
- Object.defineProperty(exports, 'getDefaultShareViewBaseUrl', {
886
- enumerable: true,
887
- get: function () {
888
- return getDefaultShareViewBaseUrl;
889
- }
890
- });
891
- Object.defineProperty(exports, 'getShareApiBaseUrl', {
892
- enumerable: true,
893
- get: function () {
894
- return getShareApiBaseUrl;
895
- }
896
- });
897
- Object.defineProperty(exports, 'getShareViewBaseUrl', {
898
- enumerable: true,
899
- get: function () {
900
- return getShareViewBaseUrl;
901
- }
902
- });
903
- Object.defineProperty(exports, 'handleRateLimit', {
904
- enumerable: true,
905
- get: function () {
906
- return handleRateLimit;
907
- }
908
- });
909
- Object.defineProperty(exports, 'isOpenAIToolArray', {
910
- enumerable: true,
911
- get: function () {
912
- return isOpenAIToolArray;
913
- }
914
- });
915
- Object.defineProperty(exports, 'isOpenAIToolChoice', {
916
- enumerable: true,
917
- get: function () {
918
- return isOpenAIToolChoice;
919
- }
920
- });
921
- Object.defineProperty(exports, 'isPromptfooSampleTarget', {
922
- enumerable: true,
923
- get: function () {
924
- return isPromptfooSampleTarget;
925
- }
926
- });
927
- Object.defineProperty(exports, 'isRateLimited', {
928
- enumerable: true,
929
- get: function () {
930
- return isRateLimited;
931
- }
932
- });
933
- Object.defineProperty(exports, 'isTransientError', {
934
- enumerable: true,
935
- get: function () {
936
- return isTransientError;
937
- }
938
- });
939
- Object.defineProperty(exports, 'openaiToolChoiceToBedrock', {
940
- enumerable: true,
941
- get: function () {
942
- return openaiToolChoiceToBedrock;
943
- }
944
- });
945
- Object.defineProperty(exports, 'openaiToolsToBedrock', {
946
- enumerable: true,
947
- get: function () {
948
- return openaiToolsToBedrock;
949
- }
950
- });
951
- Object.defineProperty(exports, 'parseChatPrompt', {
952
- enumerable: true,
953
- get: function () {
954
- return parseChatPrompt;
955
- }
956
- });
957
- Object.defineProperty(exports, 'readGlobalConfig', {
958
- enumerable: true,
959
- get: function () {
960
- return readGlobalConfig;
961
- }
962
- });
963
- Object.defineProperty(exports, 'sleep', {
964
- enumerable: true,
965
- get: function () {
966
- return sleep;
967
- }
968
- });
969
- Object.defineProperty(exports, 'toTitleCase', {
970
- enumerable: true,
971
- get: function () {
972
- return toTitleCase;
973
- }
974
- });
975
- Object.defineProperty(exports, 'transformToolChoice', {
976
- enumerable: true,
977
- get: function () {
978
- return transformToolChoice;
979
- }
980
- });
981
- Object.defineProperty(exports, 'transformTools', {
982
- enumerable: true,
983
- get: function () {
984
- return transformTools;
985
- }
986
- });
987
- Object.defineProperty(exports, 'writeGlobalConfig', {
988
- enumerable: true,
989
- get: function () {
990
- return writeGlobalConfig;
991
- }
992
- });
993
- Object.defineProperty(exports, 'writeGlobalConfigPartial', {
994
- enumerable: true,
995
- get: function () {
996
- return writeGlobalConfigPartial;
997
- }
998
- });
999
- //# sourceMappingURL=fetch-ZMn_oemb.cjs.map
777
+ Object.defineProperty(exports, "CLOUD_PROVIDER_PREFIX", {
778
+ enumerable: true,
779
+ get: function() {
780
+ return CLOUD_PROVIDER_PREFIX;
781
+ }
782
+ });
783
+ Object.defineProperty(exports, "CONSENT_ENDPOINT", {
784
+ enumerable: true,
785
+ get: function() {
786
+ return CONSENT_ENDPOINT;
787
+ }
788
+ });
789
+ Object.defineProperty(exports, "CloudConfig", {
790
+ enumerable: true,
791
+ get: function() {
792
+ return CloudConfig;
793
+ }
794
+ });
795
+ Object.defineProperty(exports, "EVENTS_ENDPOINT", {
796
+ enumerable: true,
797
+ get: function() {
798
+ return EVENTS_ENDPOINT;
799
+ }
800
+ });
801
+ Object.defineProperty(exports, "FILE_METADATA_KEY", {
802
+ enumerable: true,
803
+ get: function() {
804
+ return FILE_METADATA_KEY;
805
+ }
806
+ });
807
+ Object.defineProperty(exports, "HUMAN_ASSERTION_TYPE", {
808
+ enumerable: true,
809
+ get: function() {
810
+ return HUMAN_ASSERTION_TYPE;
811
+ }
812
+ });
813
+ Object.defineProperty(exports, "LONG_RUNNING_MODEL_TIMEOUT_MS", {
814
+ enumerable: true,
815
+ get: function() {
816
+ return LONG_RUNNING_MODEL_TIMEOUT_MS;
817
+ }
818
+ });
819
+ Object.defineProperty(exports, "POSTHOG_KEY", {
820
+ enumerable: true,
821
+ get: function() {
822
+ return POSTHOG_KEY;
823
+ }
824
+ });
825
+ Object.defineProperty(exports, "REQUEST_TIMEOUT_MS", {
826
+ enumerable: true,
827
+ get: function() {
828
+ return REQUEST_TIMEOUT_MS;
829
+ }
830
+ });
831
+ Object.defineProperty(exports, "R_ENDPOINT", {
832
+ enumerable: true,
833
+ get: function() {
834
+ return R_ENDPOINT;
835
+ }
836
+ });
837
+ Object.defineProperty(exports, "TERMINAL_MAX_WIDTH", {
838
+ enumerable: true,
839
+ get: function() {
840
+ return TERMINAL_MAX_WIDTH;
841
+ }
842
+ });
843
+ Object.defineProperty(exports, "VERSION", {
844
+ enumerable: true,
845
+ get: function() {
846
+ return VERSION;
847
+ }
848
+ });
849
+ Object.defineProperty(exports, "calculateCost", {
850
+ enumerable: true,
851
+ get: function() {
852
+ return calculateCost;
853
+ }
854
+ });
855
+ Object.defineProperty(exports, "cloudConfig", {
856
+ enumerable: true,
857
+ get: function() {
858
+ return cloudConfig;
859
+ }
860
+ });
861
+ Object.defineProperty(exports, "fetchWithProxy", {
862
+ enumerable: true,
863
+ get: function() {
864
+ return fetchWithProxy;
865
+ }
866
+ });
867
+ Object.defineProperty(exports, "fetchWithRetries", {
868
+ enumerable: true,
869
+ get: function() {
870
+ return fetchWithRetries;
871
+ }
872
+ });
873
+ Object.defineProperty(exports, "fetchWithTimeout", {
874
+ enumerable: true,
875
+ get: function() {
876
+ return fetchWithTimeout;
877
+ }
878
+ });
879
+ Object.defineProperty(exports, "fetch_exports", {
880
+ enumerable: true,
881
+ get: function() {
882
+ return fetch_exports;
883
+ }
884
+ });
885
+ Object.defineProperty(exports, "getCurrentTimestamp", {
886
+ enumerable: true,
887
+ get: function() {
888
+ return getCurrentTimestamp;
889
+ }
890
+ });
891
+ Object.defineProperty(exports, "getDefaultShareViewBaseUrl", {
892
+ enumerable: true,
893
+ get: function() {
894
+ return getDefaultShareViewBaseUrl;
895
+ }
896
+ });
897
+ Object.defineProperty(exports, "getShareApiBaseUrl", {
898
+ enumerable: true,
899
+ get: function() {
900
+ return getShareApiBaseUrl;
901
+ }
902
+ });
903
+ Object.defineProperty(exports, "getShareViewBaseUrl", {
904
+ enumerable: true,
905
+ get: function() {
906
+ return getShareViewBaseUrl;
907
+ }
908
+ });
909
+ Object.defineProperty(exports, "isOpenAIToolArray", {
910
+ enumerable: true,
911
+ get: function() {
912
+ return isOpenAIToolArray;
913
+ }
914
+ });
915
+ Object.defineProperty(exports, "isOpenAIToolChoice", {
916
+ enumerable: true,
917
+ get: function() {
918
+ return isOpenAIToolChoice;
919
+ }
920
+ });
921
+ Object.defineProperty(exports, "isPromptfooSampleTarget", {
922
+ enumerable: true,
923
+ get: function() {
924
+ return isPromptfooSampleTarget;
925
+ }
926
+ });
927
+ Object.defineProperty(exports, "openaiToolChoiceToBedrock", {
928
+ enumerable: true,
929
+ get: function() {
930
+ return openaiToolChoiceToBedrock;
931
+ }
932
+ });
933
+ Object.defineProperty(exports, "openaiToolsToBedrock", {
934
+ enumerable: true,
935
+ get: function() {
936
+ return openaiToolsToBedrock;
937
+ }
938
+ });
939
+ Object.defineProperty(exports, "parseChatPrompt", {
940
+ enumerable: true,
941
+ get: function() {
942
+ return parseChatPrompt;
943
+ }
944
+ });
945
+ Object.defineProperty(exports, "readGlobalConfig", {
946
+ enumerable: true,
947
+ get: function() {
948
+ return readGlobalConfig;
949
+ }
950
+ });
951
+ Object.defineProperty(exports, "sleep", {
952
+ enumerable: true,
953
+ get: function() {
954
+ return sleep;
955
+ }
956
+ });
957
+ Object.defineProperty(exports, "toTitleCase", {
958
+ enumerable: true,
959
+ get: function() {
960
+ return toTitleCase;
961
+ }
962
+ });
963
+ Object.defineProperty(exports, "transformToolChoice", {
964
+ enumerable: true,
965
+ get: function() {
966
+ return transformToolChoice;
967
+ }
968
+ });
969
+ Object.defineProperty(exports, "transformTools", {
970
+ enumerable: true,
971
+ get: function() {
972
+ return transformTools;
973
+ }
974
+ });
975
+ Object.defineProperty(exports, "writeGlobalConfig", {
976
+ enumerable: true,
977
+ get: function() {
978
+ return writeGlobalConfig;
979
+ }
980
+ });
981
+ Object.defineProperty(exports, "writeGlobalConfigPartial", {
982
+ enumerable: true,
983
+ get: function() {
984
+ return writeGlobalConfigPartial;
985
+ }
986
+ });
987
+
988
+ //# sourceMappingURL=fetch-BxUk8odA.cjs.map