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,10 +1,10 @@
1
- const require_logger = require('./logger-BdZ-IqBc.cjs');
2
- const require_invariant = require('./invariant-CKcJAQ6M.cjs');
3
- const require_esm = require('./esm-BQkx5roy.cjs');
4
- const require_pythonUtils = require('./pythonUtils-DZ6EbdY4.cjs');
5
- const require_fileExtensions = require('./fileExtensions-DkJYkWUy.cjs');
6
- const require_types = require('./types-BIfttHrT.cjs');
7
- const require_fetch = require('./fetch-ZMn_oemb.cjs');
1
+ const require_logger = require("./logger-Cp1GPUjj.cjs");
2
+ const require_invariant = require("./invariant-kfQ8Bu82.cjs");
3
+ const require_esm = require("./esm-CnNt7sI4.cjs");
4
+ const require_pythonUtils = require("./pythonUtils-CTU3Y3lw.cjs");
5
+ const require_fileExtensions = require("./fileExtensions-bYh77CN8.cjs");
6
+ const require_types = require("./types-LJ0r3wbR.cjs");
7
+ const require_fetch = require("./fetch-BxUk8odA.cjs");
8
8
  let fs = require("fs");
9
9
  fs = require_logger.__toESM(fs);
10
10
  let path = require("path");
@@ -27,7 +27,6 @@ let nunjucks = require("nunjucks");
27
27
  nunjucks = require_logger.__toESM(nunjucks);
28
28
  let fast_xml_parser = require("fast-xml-parser");
29
29
  let csv_stringify_sync = require("csv-stringify/sync");
30
-
31
30
  //#region src/util/provider.ts
32
31
  function canonicalizeProviderId(id) {
33
32
  if (id.startsWith("file://")) {
@@ -136,6 +135,55 @@ function isAnthropicProvider(providerId) {
136
135
  }
137
136
  return false;
138
137
  }
138
+ const KNOWN_ENV_VARS = {
139
+ openai: "OPENAI_API_KEY",
140
+ anthropic: "ANTHROPIC_API_KEY",
141
+ google: "GOOGLE_API_KEY",
142
+ mistral: "MISTRAL_API_KEY",
143
+ cohere: "COHERE_API_KEY",
144
+ replicate: "REPLICATE_API_TOKEN",
145
+ voyage: "VOYAGE_API_KEY",
146
+ ai21: "AI21_API_KEY",
147
+ xai: "XAI_API_KEY",
148
+ groq: "GROQ_API_KEY",
149
+ deepseek: "DEEPSEEK_API_KEY",
150
+ perplexity: "PERPLEXITY_API_KEY",
151
+ hyperbolic: "HYPERBOLIC_API_KEY",
152
+ cerebras: "CEREBRAS_API_KEY",
153
+ togetherai: "TOGETHER_API_KEY",
154
+ fal: "FAL_KEY",
155
+ huggingface: "HF_TOKEN",
156
+ "cloudflare-ai": "CLOUDFLARE_API_KEY"
157
+ };
158
+ function getDefaultEnvVar(providerId) {
159
+ const prefix = providerId.split(":")[0];
160
+ return KNOWN_ENV_VARS[prefix] || `${prefix.toUpperCase()}_API_KEY`;
161
+ }
162
+ /**
163
+ * Pre-checks providers for missing API keys before evaluation starts.
164
+ * Assumes getApiKey() is side-effect free (no network calls or token refresh).
165
+ */
166
+ function checkProviderApiKeys(providers) {
167
+ const missingApiKeys = /* @__PURE__ */ new Map();
168
+ for (const provider of providers) {
169
+ const p = provider;
170
+ if (typeof p.getApiKey !== "function") continue;
171
+ if (provider.id().startsWith("azure:")) continue;
172
+ const requiresKey = typeof p.requiresApiKey === "function" ? p.requiresApiKey() : p.config?.apiKeyRequired !== false;
173
+ let apiKey;
174
+ try {
175
+ apiKey = p.getApiKey();
176
+ } catch {
177
+ apiKey = void 0;
178
+ }
179
+ if (requiresKey && !apiKey) {
180
+ const envVar = p.config?.apiKeyEnvar || getDefaultEnvVar(provider.id());
181
+ if (!missingApiKeys.has(envVar)) missingApiKeys.set(envVar, []);
182
+ missingApiKeys.get(envVar).push(provider.id());
183
+ }
184
+ }
185
+ return missingApiKeys;
186
+ }
139
187
  /**
140
188
  * Detects if a provider uses Google models.
141
189
  * This includes direct Google/Vertex providers with Gemini and other Google models.
@@ -149,7 +197,6 @@ function isGoogleProvider(providerId) {
149
197
  }
150
198
  return false;
151
199
  }
152
-
153
200
  //#endregion
154
201
  //#region src/util/comparison.ts
155
202
  /**
@@ -248,7 +295,7 @@ function resultIsForTestCase(result, testCase) {
248
295
  const isMatch = doVarsMatch && providersMatch;
249
296
  if (!isMatch) {
250
297
  const varKeys = testVars ? Object.keys(testVars).join(", ") : "none";
251
- require_logger.logger_default.debug(`[resultIsForTestCase] No match: vars=${doVarsMatch}, providers=${providersMatch}`, {
298
+ require_logger.logger.debug(`[resultIsForTestCase] No match: vars=${doVarsMatch}, providers=${providersMatch}`, {
252
299
  testProvider: testProviderId || "none",
253
300
  resultProvider: resultProviderId || "none",
254
301
  testVarKeys: varKeys
@@ -256,7 +303,6 @@ function resultIsForTestCase(result, testCase) {
256
303
  }
257
304
  return isMatch;
258
305
  }
259
-
260
306
  //#endregion
261
307
  //#region src/util/env.ts
262
308
  /**
@@ -273,8 +319,8 @@ function setupEnv(envPath) {
273
319
  return;
274
320
  }
275
321
  for (const p of paths) if (!fs.existsSync(p)) throw new Error(`Environment file not found: ${p}`);
276
- if (paths.length === 1) require_logger.logger_default.info(`Loading environment variables from ${paths[0]}`);
277
- else require_logger.logger_default.info(`Loading environment variables from: ${paths.join(", ")}`);
322
+ if (paths.length === 1) require_logger.logger.info(`Loading environment variables from ${paths[0]}`);
323
+ else require_logger.logger.info(`Loading environment variables from: ${paths.join(", ")}`);
278
324
  const pathArg = paths.length === 1 ? paths[0] : paths;
279
325
  dotenv.default.config({
280
326
  path: pathArg,
@@ -283,7 +329,6 @@ function setupEnv(envPath) {
283
329
  });
284
330
  } else dotenv.default.config({ quiet: true });
285
331
  }
286
-
287
332
  //#endregion
288
333
  //#region src/util/functions/loadFunction.ts
289
334
  const functionCache = {};
@@ -292,7 +337,7 @@ const functionCache = {};
292
337
  * @param options Options for loading the function
293
338
  * @returns The loaded function
294
339
  */
295
- async function loadFunction({ filePath, functionName, defaultFunctionName = "func", basePath = require_logger.cliState_default.basePath, useCache = true }) {
340
+ async function loadFunction({ filePath, functionName, defaultFunctionName = "func", basePath = require_logger.state.basePath, useCache = true }) {
296
341
  const cacheKey = `${filePath}${functionName ? `:${functionName}` : ""}`;
297
342
  if (useCache && functionCache[cacheKey]) return functionCache[cacheKey];
298
343
  const resolvedPath = basePath ? path.default.resolve(basePath, filePath) : filePath;
@@ -313,7 +358,7 @@ async function loadFunction({ filePath, functionName, defaultFunctionName = "fun
313
358
  if (useCache) functionCache[cacheKey] = func;
314
359
  return func;
315
360
  } catch (err) {
316
- require_logger.logger_default.error(`Failed to load function: ${err.message}`);
361
+ require_logger.logger.error(`Failed to load function: ${err.message}`);
317
362
  throw err;
318
363
  }
319
364
  }
@@ -332,7 +377,6 @@ function parseFileUrl(fileUrl) {
332
377
  };
333
378
  return { filePath: urlWithoutProtocol };
334
379
  }
335
-
336
380
  //#endregion
337
381
  //#region src/util/templates.ts
338
382
  /**
@@ -351,7 +395,7 @@ function getNunjucksEngine(filters, throwOnUndefined = false, isGrader = false)
351
395
  });
352
396
  const envGlobals = {
353
397
  ...require_logger.getEnvBool("PROMPTFOO_DISABLE_TEMPLATE_ENV_VARS", require_logger.getEnvBool("PROMPTFOO_SELF_HOSTED", false)) ? {} : process.env,
354
- ...require_logger.cliState_default.config?.env
398
+ ...require_logger.state.config?.env
355
399
  };
356
400
  env.addGlobal("env", envGlobals);
357
401
  env.addFilter("load", function(str) {
@@ -391,7 +435,6 @@ function extractVariablesFromTemplates(templates) {
391
435
  for (const template of templates) extractVariablesFromTemplate(template).forEach((variable) => variableSet.add(variable));
392
436
  return Array.from(variableSet);
393
437
  }
394
-
395
438
  //#endregion
396
439
  //#region src/util/render.ts
397
440
  /**
@@ -421,7 +464,7 @@ function renderEnvOnlyInObject(obj, envOverrides, replaceBase) {
421
464
  if (require_logger.getEnvBool("PROMPTFOO_DISABLE_TEMPLATING")) return obj;
422
465
  if (typeof obj === "string") {
423
466
  if (obj.length > 5e4) {
424
- require_logger.logger_default.warn(`String too long (${obj.length} chars) for template matching. Skipping env var rendering.`);
467
+ require_logger.logger.warn(`String too long (${obj.length} chars) for template matching. Skipping env var rendering.`);
425
468
  return obj;
426
469
  }
427
470
  const nunjucks = getNunjucksEngine();
@@ -437,7 +480,7 @@ function renderEnvOnlyInObject(obj, envOverrides, replaceBase) {
437
480
  if (match.includes("|") || varName && varName in envGlobals && envGlobals[varName] !== void 0) try {
438
481
  return nunjucks.renderString(match, { env: envGlobals });
439
482
  } catch (error) {
440
- require_logger.logger_default.debug(`Failed to render env template "${match}": ${error instanceof Error ? error.message : String(error)}`);
483
+ require_logger.logger.debug(`Failed to render env template "${match}": ${error instanceof Error ? error.message : String(error)}`);
441
484
  return match;
442
485
  }
443
486
  return match;
@@ -462,7 +505,6 @@ function renderVarsInObject(obj, vars) {
462
505
  } else if (typeof obj === "function") return renderVarsInObject(obj({ vars }));
463
506
  return obj;
464
507
  }
465
-
466
508
  //#endregion
467
509
  //#region src/util/file.ts
468
510
  /**
@@ -473,7 +515,7 @@ function getNunjucksEngineForFilePath() {
473
515
  const env = nunjucks.default.configure({ autoescape: false });
474
516
  env.addGlobal("env", {
475
517
  ...process.env,
476
- ...require_logger.cliState_default.config?.env
518
+ ...require_logger.state.config?.env
477
519
  });
478
520
  return env;
479
521
  }
@@ -492,24 +534,24 @@ function getNunjucksEngineForFilePath() {
492
534
  * @throws {Error} If the specified file does not exist.
493
535
  */
494
536
  function maybeLoadFromExternalFile(filePath, context) {
495
- if (Array.isArray(filePath)) return filePath.map((path) => {
496
- return maybeLoadFromExternalFile(path, context);
537
+ if (Array.isArray(filePath)) return filePath.map((path$2) => {
538
+ return maybeLoadFromExternalFile(path$2, context);
497
539
  });
498
540
  if (typeof filePath !== "string") return filePath;
499
541
  if (!filePath.startsWith("file://")) return filePath;
500
542
  const renderedFilePath = getNunjucksEngineForFilePath().renderString(filePath, {});
501
543
  const { filePath: cleanPath, functionName } = parseFileUrl(renderedFilePath);
502
544
  if (context === "assertion" && (cleanPath.endsWith(".py") || require_fileExtensions.isJavascriptFile(cleanPath))) {
503
- require_logger.logger_default.debug(`Preserving Python/JS file reference in assertion context: ${renderedFilePath}`);
545
+ require_logger.logger.debug(`Preserving Python/JS file reference in assertion context: ${renderedFilePath}`);
504
546
  return renderedFilePath;
505
547
  }
506
548
  if (context === "vars") {
507
- require_logger.logger_default.debug(`Preserving file reference in vars context: ${renderedFilePath}`);
549
+ require_logger.logger.debug(`Preserving file reference in vars context: ${renderedFilePath}`);
508
550
  return renderedFilePath;
509
551
  }
510
552
  if (functionName && (cleanPath.endsWith(".py") || require_fileExtensions.isJavascriptFile(cleanPath))) return renderedFilePath;
511
553
  const pathToUse = functionName && !(cleanPath.endsWith(".py") || require_fileExtensions.isJavascriptFile(cleanPath)) ? renderedFilePath.slice(7) : cleanPath;
512
- const resolvedPath = path.resolve(require_logger.cliState_default.basePath || "", pathToUse);
554
+ const resolvedPath = path.resolve(require_logger.state.basePath || "", pathToUse);
513
555
  if ((0, glob.hasMagic)(pathToUse)) {
514
556
  const matchedFiles = (0, glob.globSync)(resolvedPath, { windowsPathsNoEscape: true });
515
557
  if (matchedFiles.length === 0) throw new Error(`No files found matching pattern: ${resolvedPath}`);
@@ -520,7 +562,7 @@ function maybeLoadFromExternalFile(filePath, context) {
520
562
  contents = fs.readFileSync(matchedFile, "utf8");
521
563
  } catch (error) {
522
564
  if (error.code === "ENOENT") {
523
- require_logger.logger_default.debug(`File disappeared during glob expansion: ${matchedFile}`);
565
+ require_logger.logger.debug(`File disappeared during glob expansion: ${matchedFile}`);
524
566
  continue;
525
567
  }
526
568
  throw error;
@@ -730,37 +772,37 @@ async function maybeLoadToolsFromExternalFile(tools, vars) {
730
772
  const { filePath, functionName } = parseFileUrl(rendered);
731
773
  if (functionName && (filePath.endsWith(".py") || require_fileExtensions.isJavascriptFile(filePath))) {
732
774
  const fileType = filePath.endsWith(".py") ? "Python" : "JavaScript";
733
- require_logger.logger_default.debug(`[maybeLoadToolsFromExternalFile] Loading tools from ${fileType} file: ${filePath}:${functionName}`);
775
+ require_logger.logger.debug(`[maybeLoadToolsFromExternalFile] Loading tools from ${fileType} file: ${filePath}:${functionName}`);
734
776
  try {
735
777
  let toolDefinitions;
736
778
  if (filePath.endsWith(".py")) {
737
- const absPath = require_esm.safeResolve(require_logger.cliState_default.basePath || process.cwd(), filePath);
738
- require_logger.logger_default.debug(`[maybeLoadToolsFromExternalFile] Resolved Python path: ${absPath}`);
779
+ const absPath = require_esm.safeResolve(require_logger.state.basePath || process.cwd(), filePath);
780
+ require_logger.logger.debug(`[maybeLoadToolsFromExternalFile] Resolved Python path: ${absPath}`);
739
781
  toolDefinitions = await require_pythonUtils.runPython(absPath, functionName, []);
740
782
  } else {
741
- const absPath = require_esm.safeResolve(require_logger.cliState_default.basePath || process.cwd(), filePath);
742
- require_logger.logger_default.debug(`[maybeLoadToolsFromExternalFile] Resolved JavaScript path: ${absPath}`);
783
+ const absPath = require_esm.safeResolve(require_logger.state.basePath || process.cwd(), filePath);
784
+ require_logger.logger.debug(`[maybeLoadToolsFromExternalFile] Resolved JavaScript path: ${absPath}`);
743
785
  const module = await require_esm.importModule(absPath);
744
786
  const fn = module[functionName] || module.default?.[functionName];
745
787
  if (typeof fn !== "function") {
746
788
  const availableExports = Object.keys(module).filter((k) => k !== "default");
747
- const basePath = require_logger.cliState_default.basePath || process.cwd();
789
+ const basePath = require_logger.state.basePath || process.cwd();
748
790
  throw new Error(`Function "${functionName}" not found in ${filePath}. Available exports: ${availableExports.length > 0 ? availableExports.join(", ") : "(none)"}\nResolved from: ${basePath}`);
749
791
  }
750
792
  toolDefinitions = await Promise.resolve(fn());
751
793
  }
752
794
  if (!toolDefinitions || typeof toolDefinitions === "string" || typeof toolDefinitions === "number" || typeof toolDefinitions === "boolean") throw new Error(`Function "${functionName}" must return an array or object of tool definitions, but returned: ${toolDefinitions === null ? "null" : typeof toolDefinitions}`);
753
- require_logger.logger_default.debug(`[maybeLoadToolsFromExternalFile] Successfully loaded ${Array.isArray(toolDefinitions) ? toolDefinitions.length : "object"} tools`);
795
+ require_logger.logger.debug(`[maybeLoadToolsFromExternalFile] Successfully loaded ${Array.isArray(toolDefinitions) ? toolDefinitions.length : "object"} tools`);
754
796
  return toolDefinitions;
755
797
  } catch (err) {
756
798
  const errorMessage = err instanceof Error ? err.message : String(err);
757
- const basePath = require_logger.cliState_default.basePath || process.cwd();
799
+ const basePath = require_logger.state.basePath || process.cwd();
758
800
  throw new Error(`Failed to load tools from ${rendered}:\n${errorMessage}\n\nMake sure the function "${functionName}" exists and returns a valid tool definition array.\nResolved from: ${basePath}`);
759
801
  }
760
802
  }
761
803
  if (filePath.endsWith(".py") || require_fileExtensions.isJavascriptFile(filePath)) {
762
804
  const ext = filePath.endsWith(".py") ? "Python" : "JavaScript";
763
- const basePath = require_logger.cliState_default.basePath || process.cwd();
805
+ const basePath = require_logger.state.basePath || process.cwd();
764
806
  throw new Error(`Cannot load tools from ${rendered}\n${ext} files require a function name. Use this format:\n tools: file://${filePath}:get_tools\n\nYour ${ext} file should export a function that returns tool definitions:\n` + (filePath.endsWith(".py") ? ` def get_tools():\n return [{"type": "function", "function": {...}}]` : ` module.exports.get_tools = () => [{ type: "function", function: {...} }];`) + `\n\nResolved from: ${basePath}`);
765
807
  }
766
808
  }
@@ -778,7 +820,6 @@ async function maybeLoadToolsFromExternalFile(tools, vars) {
778
820
  }
779
821
  return loaded;
780
822
  }
781
-
782
823
  //#endregion
783
824
  //#region src/googleSheets.ts
784
825
  async function checkGoogleSheetAccess(url) {
@@ -793,7 +834,7 @@ async function checkGoogleSheetAccess(url) {
793
834
  status: response.status
794
835
  };
795
836
  } catch (error) {
796
- require_logger.logger_default.error(`Error checking sheet access: ${error}`);
837
+ require_logger.logger.error(`Error checking sheet access: ${error}`);
797
838
  return { public: false };
798
839
  }
799
840
  }
@@ -845,7 +886,7 @@ async function fetchCsvFromGoogleSheetAuthenticated(url) {
845
886
  }
846
887
  async function fetchCsvFromGoogleSheet(url) {
847
888
  const { public: isPublic } = await checkGoogleSheetAccess(url);
848
- require_logger.logger_default.debug(`Google Sheets URL: ${url}, isPublic: ${isPublic}`);
889
+ require_logger.logger.debug(`Google Sheets URL: ${url}, isPublic: ${isPublic}`);
849
890
  if (isPublic) return fetchCsvFromGoogleSheetUnauthenticated(url);
850
891
  return fetchCsvFromGoogleSheetAuthenticated(url);
851
892
  }
@@ -888,7 +929,7 @@ async function writeCsvToGoogleSheet(rows, url) {
888
929
  });
889
930
  range = `${newSheetTitle}!A1:${endColumn}${numRows}`;
890
931
  }
891
- require_logger.logger_default.debug(`Writing CSV to Google Sheets URL: ${url} with ${values.length} rows`);
932
+ require_logger.logger.debug(`Writing CSV to Google Sheets URL: ${url} with ${values.length} rows`);
892
933
  await sheets.spreadsheets.values.update({
893
934
  spreadsheetId,
894
935
  range,
@@ -897,7 +938,6 @@ async function writeCsvToGoogleSheet(rows, url) {
897
938
  requestBody: { values }
898
939
  });
899
940
  }
900
-
901
941
  //#endregion
902
942
  //#region src/server/utils/evalTableUtils.ts
903
943
  /**
@@ -1096,7 +1136,6 @@ async function streamEvalCsv(eval_, options) {
1096
1136
  isRedteam
1097
1137
  })]));
1098
1138
  }
1099
-
1100
1139
  //#endregion
1101
1140
  //#region src/util/output.ts
1102
1141
  const outputToSimpleString = (output) => {
@@ -1112,6 +1151,13 @@ const outputToSimpleString = (output) => {
1112
1151
  ${gradingResultText}
1113
1152
  `.trim();
1114
1153
  };
1154
+ function sanitizeConfigForOutput(config) {
1155
+ return require_logger.sanitizeObject(config, {
1156
+ context: "output config",
1157
+ throwOnError: true,
1158
+ maxDepth: Number.POSITIVE_INFINITY
1159
+ });
1160
+ }
1115
1161
  function createOutputMetadata(evalRecord) {
1116
1162
  let evaluationCreatedAt;
1117
1163
  if (evalRecord.createdAt) try {
@@ -1138,10 +1184,11 @@ async function writeJsonOutputSafely(outputPath, evalRecord, shareableUrl) {
1138
1184
  const metadata = createOutputMetadata(evalRecord);
1139
1185
  try {
1140
1186
  const summary = await evalRecord.toEvaluateSummary();
1187
+ const redactedConfig = sanitizeConfigForOutput(evalRecord.config);
1141
1188
  const outputData = {
1142
1189
  evalId: evalRecord.id,
1143
1190
  results: summary,
1144
- config: evalRecord.config,
1191
+ config: redactedConfig,
1145
1192
  shareableUrl,
1146
1193
  metadata
1147
1194
  };
@@ -1153,7 +1200,7 @@ async function writeJsonOutputSafely(outputPath, evalRecord, shareableUrl) {
1153
1200
  const isHeapOOM = /heap out of memory|Array buffer allocation failed|ERR_STRING_TOO_LONG/i.test(msg);
1154
1201
  if (isStringLen || isHeapOOM) {
1155
1202
  const resultCount = await evalRecord.getResultsCount();
1156
- require_logger.logger_default.error(`Dataset too large for JSON export (${resultCount} results).`);
1203
+ require_logger.logger.error(`Dataset too large for JSON export (${resultCount} results).`);
1157
1204
  throw new Error(`Dataset too large for JSON export. The evaluation has ${resultCount} results which exceeds memory limits. Consider using JSONL format instead: --output output.jsonl`);
1158
1205
  } else throw error;
1159
1206
  }
@@ -1172,7 +1219,7 @@ async function writeOutput(outputPath, evalRecord, shareableUrl) {
1172
1219
  });
1173
1220
  return csvRow;
1174
1221
  });
1175
- require_logger.logger_default.info(`Writing ${rows.length} rows to Google Sheets...`);
1222
+ require_logger.logger.info(`Writing ${rows.length} rows to Google Sheets...`);
1176
1223
  await writeCsvToGoogleSheet(rows, outputPath);
1177
1224
  return;
1178
1225
  }
@@ -1196,10 +1243,11 @@ async function writeOutput(outputPath, evalRecord, shareableUrl) {
1196
1243
  } else if (outputExtension === "json") await writeJsonOutputSafely(outputPath, evalRecord, shareableUrl);
1197
1244
  else if (outputExtension === "yaml" || outputExtension === "yml" || outputExtension === "txt") {
1198
1245
  const summary = await evalRecord.toEvaluateSummary();
1246
+ const redactedConfig = sanitizeConfigForOutput(evalRecord.config);
1199
1247
  await fs_promises.writeFile(outputPath, js_yaml.default.dump({
1200
1248
  evalId: evalRecord.id,
1201
1249
  results: summary,
1202
- config: evalRecord.config,
1250
+ config: redactedConfig,
1203
1251
  shareableUrl,
1204
1252
  metadata
1205
1253
  }));
@@ -1207,10 +1255,11 @@ async function writeOutput(outputPath, evalRecord, shareableUrl) {
1207
1255
  const table = await evalRecord.getTable();
1208
1256
  require_invariant.invariant(table, "Table is required");
1209
1257
  const summary = await evalRecord.toEvaluateSummary();
1258
+ const redactedConfig = sanitizeConfigForOutput(evalRecord.config);
1210
1259
  const template = await fs_promises.readFile(path.join(require_esm.getDirectory(), "tableOutput.html"), "utf-8");
1211
1260
  const htmlTable = [[...table.head.vars, ...table.head.prompts.map((prompt) => `[${prompt.provider}] ${prompt.label}`)], ...table.body.map((row) => [...row.vars, ...row.outputs.map(outputToSimpleString)])];
1212
1261
  const htmlOutput = getNunjucksEngine().renderString(template, {
1213
- config: evalRecord.config,
1262
+ config: redactedConfig,
1214
1263
  table: htmlTable,
1215
1264
  results: summary
1216
1265
  });
@@ -1223,6 +1272,7 @@ async function writeOutput(outputPath, evalRecord, shareableUrl) {
1223
1272
  }
1224
1273
  } else if (outputExtension === "xml") {
1225
1274
  const summary = await evalRecord.toEvaluateSummary();
1275
+ const redactedConfig = sanitizeConfigForOutput(evalRecord.config);
1226
1276
  const sanitizeForXml = (obj) => {
1227
1277
  if (obj === null || obj === void 0) return "";
1228
1278
  if (typeof obj === "boolean" || typeof obj === "number") return String(obj);
@@ -1242,7 +1292,7 @@ async function writeOutput(outputPath, evalRecord, shareableUrl) {
1242
1292
  }).build({ promptfoo: {
1243
1293
  evalId: evalRecord.id,
1244
1294
  results: sanitizeForXml(summary),
1245
- config: sanitizeForXml(evalRecord.config),
1295
+ config: sanitizeForXml(redactedConfig),
1246
1296
  shareableUrl: shareableUrl || ""
1247
1297
  } });
1248
1298
  await fs_promises.writeFile(outputPath, xmlData);
@@ -1251,211 +1301,216 @@ async function writeOutput(outputPath, evalRecord, shareableUrl) {
1251
1301
  async function writeMultipleOutputs(outputPaths, evalRecord, shareableUrl) {
1252
1302
  await Promise.all(outputPaths.map((outputPath) => writeOutput(outputPath, evalRecord, shareableUrl)));
1253
1303
  }
1254
-
1255
1304
  //#endregion
1256
1305
  //#region src/util/runtime.ts
1257
1306
  function printBorder() {
1258
1307
  const border = "=".repeat(require_fetch.TERMINAL_MAX_WIDTH);
1259
- require_logger.logger_default.info(border);
1308
+ require_logger.logger.info(border);
1260
1309
  }
1261
-
1262
1310
  //#endregion
1263
- Object.defineProperty(exports, 'deduplicateTestCases', {
1264
- enumerable: true,
1265
- get: function () {
1266
- return deduplicateTestCases;
1267
- }
1311
+ Object.defineProperty(exports, "checkProviderApiKeys", {
1312
+ enumerable: true,
1313
+ get: function() {
1314
+ return checkProviderApiKeys;
1315
+ }
1268
1316
  });
1269
- Object.defineProperty(exports, 'doesProviderRefMatch', {
1270
- enumerable: true,
1271
- get: function () {
1272
- return doesProviderRefMatch;
1273
- }
1317
+ Object.defineProperty(exports, "deduplicateTestCases", {
1318
+ enumerable: true,
1319
+ get: function() {
1320
+ return deduplicateTestCases;
1321
+ }
1274
1322
  });
1275
- Object.defineProperty(exports, 'extractRuntimeVars', {
1276
- enumerable: true,
1277
- get: function () {
1278
- return extractRuntimeVars;
1279
- }
1323
+ Object.defineProperty(exports, "doesProviderRefMatch", {
1324
+ enumerable: true,
1325
+ get: function() {
1326
+ return doesProviderRefMatch;
1327
+ }
1280
1328
  });
1281
- Object.defineProperty(exports, 'extractVariablesFromTemplate', {
1282
- enumerable: true,
1283
- get: function () {
1284
- return extractVariablesFromTemplate;
1285
- }
1329
+ Object.defineProperty(exports, "extractRuntimeVars", {
1330
+ enumerable: true,
1331
+ get: function() {
1332
+ return extractRuntimeVars;
1333
+ }
1286
1334
  });
1287
- Object.defineProperty(exports, 'extractVariablesFromTemplates', {
1288
- enumerable: true,
1289
- get: function () {
1290
- return extractVariablesFromTemplates;
1291
- }
1335
+ Object.defineProperty(exports, "extractVariablesFromTemplate", {
1336
+ enumerable: true,
1337
+ get: function() {
1338
+ return extractVariablesFromTemplate;
1339
+ }
1292
1340
  });
1293
- Object.defineProperty(exports, 'fetchCsvFromGoogleSheet', {
1294
- enumerable: true,
1295
- get: function () {
1296
- return fetchCsvFromGoogleSheet;
1297
- }
1341
+ Object.defineProperty(exports, "extractVariablesFromTemplates", {
1342
+ enumerable: true,
1343
+ get: function() {
1344
+ return extractVariablesFromTemplates;
1345
+ }
1298
1346
  });
1299
- Object.defineProperty(exports, 'filterRuntimeVars', {
1300
- enumerable: true,
1301
- get: function () {
1302
- return filterRuntimeVars;
1303
- }
1347
+ Object.defineProperty(exports, "fetchCsvFromGoogleSheet", {
1348
+ enumerable: true,
1349
+ get: function() {
1350
+ return fetchCsvFromGoogleSheet;
1351
+ }
1304
1352
  });
1305
- Object.defineProperty(exports, 'getNunjucksEngine', {
1306
- enumerable: true,
1307
- get: function () {
1308
- return getNunjucksEngine;
1309
- }
1353
+ Object.defineProperty(exports, "filterRuntimeVars", {
1354
+ enumerable: true,
1355
+ get: function() {
1356
+ return filterRuntimeVars;
1357
+ }
1310
1358
  });
1311
- Object.defineProperty(exports, 'getNunjucksEngineForFilePath', {
1312
- enumerable: true,
1313
- get: function () {
1314
- return getNunjucksEngineForFilePath;
1315
- }
1359
+ Object.defineProperty(exports, "getNunjucksEngine", {
1360
+ enumerable: true,
1361
+ get: function() {
1362
+ return getNunjucksEngine;
1363
+ }
1316
1364
  });
1317
- Object.defineProperty(exports, 'getProviderDescription', {
1318
- enumerable: true,
1319
- get: function () {
1320
- return getProviderDescription;
1321
- }
1365
+ Object.defineProperty(exports, "getNunjucksEngineForFilePath", {
1366
+ enumerable: true,
1367
+ get: function() {
1368
+ return getNunjucksEngineForFilePath;
1369
+ }
1322
1370
  });
1323
- Object.defineProperty(exports, 'getResolvedRelativePath', {
1324
- enumerable: true,
1325
- get: function () {
1326
- return getResolvedRelativePath;
1327
- }
1371
+ Object.defineProperty(exports, "getProviderDescription", {
1372
+ enumerable: true,
1373
+ get: function() {
1374
+ return getProviderDescription;
1375
+ }
1328
1376
  });
1329
- Object.defineProperty(exports, 'getTestCaseDeduplicationKey', {
1330
- enumerable: true,
1331
- get: function () {
1332
- return getTestCaseDeduplicationKey;
1333
- }
1377
+ Object.defineProperty(exports, "getResolvedRelativePath", {
1378
+ enumerable: true,
1379
+ get: function() {
1380
+ return getResolvedRelativePath;
1381
+ }
1334
1382
  });
1335
- Object.defineProperty(exports, 'isAnthropicProvider', {
1336
- enumerable: true,
1337
- get: function () {
1338
- return isAnthropicProvider;
1339
- }
1383
+ Object.defineProperty(exports, "getTestCaseDeduplicationKey", {
1384
+ enumerable: true,
1385
+ get: function() {
1386
+ return getTestCaseDeduplicationKey;
1387
+ }
1340
1388
  });
1341
- Object.defineProperty(exports, 'isGoogleProvider', {
1342
- enumerable: true,
1343
- get: function () {
1344
- return isGoogleProvider;
1345
- }
1389
+ Object.defineProperty(exports, "isAnthropicProvider", {
1390
+ enumerable: true,
1391
+ get: function() {
1392
+ return isAnthropicProvider;
1393
+ }
1346
1394
  });
1347
- Object.defineProperty(exports, 'isOpenAiProvider', {
1348
- enumerable: true,
1349
- get: function () {
1350
- return isOpenAiProvider;
1351
- }
1395
+ Object.defineProperty(exports, "isGoogleProvider", {
1396
+ enumerable: true,
1397
+ get: function() {
1398
+ return isGoogleProvider;
1399
+ }
1352
1400
  });
1353
- Object.defineProperty(exports, 'isProviderAllowed', {
1354
- enumerable: true,
1355
- get: function () {
1356
- return isProviderAllowed;
1357
- }
1401
+ Object.defineProperty(exports, "isOpenAiProvider", {
1402
+ enumerable: true,
1403
+ get: function() {
1404
+ return isOpenAiProvider;
1405
+ }
1358
1406
  });
1359
- Object.defineProperty(exports, 'loadFunction', {
1360
- enumerable: true,
1361
- get: function () {
1362
- return loadFunction;
1363
- }
1407
+ Object.defineProperty(exports, "isProviderAllowed", {
1408
+ enumerable: true,
1409
+ get: function() {
1410
+ return isProviderAllowed;
1411
+ }
1364
1412
  });
1365
- Object.defineProperty(exports, 'maybeLoadConfigFromExternalFile', {
1366
- enumerable: true,
1367
- get: function () {
1368
- return maybeLoadConfigFromExternalFile;
1369
- }
1413
+ Object.defineProperty(exports, "loadFunction", {
1414
+ enumerable: true,
1415
+ get: function() {
1416
+ return loadFunction;
1417
+ }
1370
1418
  });
1371
- Object.defineProperty(exports, 'maybeLoadFromExternalFile', {
1372
- enumerable: true,
1373
- get: function () {
1374
- return maybeLoadFromExternalFile;
1375
- }
1419
+ Object.defineProperty(exports, "maybeLoadConfigFromExternalFile", {
1420
+ enumerable: true,
1421
+ get: function() {
1422
+ return maybeLoadConfigFromExternalFile;
1423
+ }
1376
1424
  });
1377
- Object.defineProperty(exports, 'maybeLoadFromExternalFileWithVars', {
1378
- enumerable: true,
1379
- get: function () {
1380
- return maybeLoadFromExternalFileWithVars;
1381
- }
1425
+ Object.defineProperty(exports, "maybeLoadFromExternalFile", {
1426
+ enumerable: true,
1427
+ get: function() {
1428
+ return maybeLoadFromExternalFile;
1429
+ }
1382
1430
  });
1383
- Object.defineProperty(exports, 'maybeLoadResponseFormatFromExternalFile', {
1384
- enumerable: true,
1385
- get: function () {
1386
- return maybeLoadResponseFormatFromExternalFile;
1387
- }
1431
+ Object.defineProperty(exports, "maybeLoadFromExternalFileWithVars", {
1432
+ enumerable: true,
1433
+ get: function() {
1434
+ return maybeLoadFromExternalFileWithVars;
1435
+ }
1388
1436
  });
1389
- Object.defineProperty(exports, 'maybeLoadToolsFromExternalFile', {
1390
- enumerable: true,
1391
- get: function () {
1392
- return maybeLoadToolsFromExternalFile;
1393
- }
1437
+ Object.defineProperty(exports, "maybeLoadResponseFormatFromExternalFile", {
1438
+ enumerable: true,
1439
+ get: function() {
1440
+ return maybeLoadResponseFormatFromExternalFile;
1441
+ }
1394
1442
  });
1395
- Object.defineProperty(exports, 'parseFileUrl', {
1396
- enumerable: true,
1397
- get: function () {
1398
- return parseFileUrl;
1399
- }
1443
+ Object.defineProperty(exports, "maybeLoadToolsFromExternalFile", {
1444
+ enumerable: true,
1445
+ get: function() {
1446
+ return maybeLoadToolsFromExternalFile;
1447
+ }
1400
1448
  });
1401
- Object.defineProperty(exports, 'parsePathOrGlob', {
1402
- enumerable: true,
1403
- get: function () {
1404
- return parsePathOrGlob;
1405
- }
1449
+ Object.defineProperty(exports, "parseFileUrl", {
1450
+ enumerable: true,
1451
+ get: function() {
1452
+ return parseFileUrl;
1453
+ }
1406
1454
  });
1407
- Object.defineProperty(exports, 'printBorder', {
1408
- enumerable: true,
1409
- get: function () {
1410
- return printBorder;
1411
- }
1455
+ Object.defineProperty(exports, "parsePathOrGlob", {
1456
+ enumerable: true,
1457
+ get: function() {
1458
+ return parsePathOrGlob;
1459
+ }
1412
1460
  });
1413
- Object.defineProperty(exports, 'readFilters', {
1414
- enumerable: true,
1415
- get: function () {
1416
- return readFilters;
1417
- }
1461
+ Object.defineProperty(exports, "printBorder", {
1462
+ enumerable: true,
1463
+ get: function() {
1464
+ return printBorder;
1465
+ }
1418
1466
  });
1419
- Object.defineProperty(exports, 'readOutput', {
1420
- enumerable: true,
1421
- get: function () {
1422
- return readOutput;
1423
- }
1467
+ Object.defineProperty(exports, "readFilters", {
1468
+ enumerable: true,
1469
+ get: function() {
1470
+ return readFilters;
1471
+ }
1472
+ });
1473
+ Object.defineProperty(exports, "readOutput", {
1474
+ enumerable: true,
1475
+ get: function() {
1476
+ return readOutput;
1477
+ }
1424
1478
  });
1425
- Object.defineProperty(exports, 'renderEnvOnlyInObject', {
1426
- enumerable: true,
1427
- get: function () {
1428
- return renderEnvOnlyInObject;
1429
- }
1479
+ Object.defineProperty(exports, "renderEnvOnlyInObject", {
1480
+ enumerable: true,
1481
+ get: function() {
1482
+ return renderEnvOnlyInObject;
1483
+ }
1430
1484
  });
1431
- Object.defineProperty(exports, 'renderVarsInObject', {
1432
- enumerable: true,
1433
- get: function () {
1434
- return renderVarsInObject;
1435
- }
1485
+ Object.defineProperty(exports, "renderVarsInObject", {
1486
+ enumerable: true,
1487
+ get: function() {
1488
+ return renderVarsInObject;
1489
+ }
1436
1490
  });
1437
- Object.defineProperty(exports, 'resultIsForTestCase', {
1438
- enumerable: true,
1439
- get: function () {
1440
- return resultIsForTestCase;
1441
- }
1491
+ Object.defineProperty(exports, "resultIsForTestCase", {
1492
+ enumerable: true,
1493
+ get: function() {
1494
+ return resultIsForTestCase;
1495
+ }
1442
1496
  });
1443
- Object.defineProperty(exports, 'setupEnv', {
1444
- enumerable: true,
1445
- get: function () {
1446
- return setupEnv;
1447
- }
1497
+ Object.defineProperty(exports, "setupEnv", {
1498
+ enumerable: true,
1499
+ get: function() {
1500
+ return setupEnv;
1501
+ }
1448
1502
  });
1449
- Object.defineProperty(exports, 'writeMultipleOutputs', {
1450
- enumerable: true,
1451
- get: function () {
1452
- return writeMultipleOutputs;
1453
- }
1503
+ Object.defineProperty(exports, "writeMultipleOutputs", {
1504
+ enumerable: true,
1505
+ get: function() {
1506
+ return writeMultipleOutputs;
1507
+ }
1454
1508
  });
1455
- Object.defineProperty(exports, 'writeOutput', {
1456
- enumerable: true,
1457
- get: function () {
1458
- return writeOutput;
1459
- }
1509
+ Object.defineProperty(exports, "writeOutput", {
1510
+ enumerable: true,
1511
+ get: function() {
1512
+ return writeOutput;
1513
+ }
1460
1514
  });
1461
- //# sourceMappingURL=util-DUYOvxAy.cjs.map
1515
+
1516
+ //# sourceMappingURL=util-Yz-1aEhW.cjs.map