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.
- package/README.md +1 -1
- package/dist/drizzle/0023_wooden_mandrill.sql +2 -0
- package/dist/drizzle/meta/0023_snapshot.json +1496 -0
- package/dist/drizzle/meta/_journal.json +7 -0
- package/dist/src/{ListApp-D3DG0F8h.js → ListApp-Du7YVwj5.js} +2 -4
- package/dist/src/accounts-BgNJDBE6.js +206 -0
- package/dist/src/{accounts-BzEY8H3v.cjs → accounts-Bx-x3bmW.cjs} +99 -80
- package/dist/src/{accounts-DHHiXsy6.js → accounts-CMqkzrVf.js} +61 -36
- package/dist/src/{accounts-R3gfCR_g.js → accounts-xrUGFA6n.js} +60 -35
- package/dist/src/{agentic-utils-D6_gzOUF.js → agentic-utils-BKIN5PKu.js} +9 -10
- package/dist/src/{agents-CwM7re15.cjs → agents-B0f4HICh.cjs} +37 -40
- package/dist/src/{agents-Cnph5GLD.js → agents-C-dDThPK.js} +37 -37
- package/dist/src/{agents-C7BiinFI.cjs → agents-CErsqg5U.cjs} +19 -27
- package/dist/src/{agents-v4cW_ZgC.js → agents-CVIn-Utx.js} +19 -22
- package/dist/src/{agents-GiUianme.js → agents-CXknwsFX.js} +37 -40
- package/dist/src/{agents-DETIQHqF.js → agents-DeH4Gu94.js} +21 -28
- package/dist/src/{agents-DYIT-hQy.js → agents-Dy2YpZpa.js} +38 -41
- package/dist/src/{agents-Cao4i7AX.js → agents-aF4-T121.js} +19 -30
- package/dist/src/{aimlapi-DMF6v_vb.js → aimlapi-BAGZDo5G.js} +16 -18
- package/dist/src/{aimlapi-CMJpKK-B.js → aimlapi-BNfTBexL.js} +15 -17
- package/dist/src/{aimlapi-DtSf1ykJ.js → aimlapi-DHRKlBEA.js} +15 -4
- package/dist/src/{aimlapi-DoGLcQW_.cjs → aimlapi-tg0Gkcvr.cjs} +15 -16
- package/dist/src/app/assets/index-BFCZg7hQ.js +439 -0
- package/dist/src/app/assets/index-NCn4eVBv.css +1 -0
- package/dist/src/app/assets/{vendor-charts-CYyo8R8v.js → vendor-charts-CCl15Imd.js} +1 -1
- package/dist/src/app/assets/{vendor-markdown-DSmzq4Jh.js → vendor-markdown-0tekx3KX.js} +1 -1
- package/dist/src/app/index.html +4 -34
- package/dist/src/{audio-DUH4q0Xq.js → audio-BRODU0UK.js} +7 -9
- package/dist/src/{audio-BWjyvHn9.cjs → audio-BWeaWovU.cjs} +6 -7
- package/dist/src/{audio-U580w8jM.js → audio-CHQ4r-RV.js} +6 -5
- package/dist/src/{audio-BrJBFN2b.js → audio-tf_NBjlC.js} +6 -8
- package/dist/src/base-B0tcrnq_.js +193 -0
- package/dist/src/base-B4QJRyFS.js +194 -0
- package/dist/src/base-DBtwl2FR.cjs +222 -0
- package/dist/src/base-fEDN28WM.js +193 -0
- package/dist/src/{blobs-kt8v3UyH.js → blobs-BAU-dXan.js} +9 -12
- package/dist/src/{blobs-C9J2mVgo.js → blobs-Bpg5rH6i.js} +9 -12
- package/dist/src/{blobs-673H0jCl.cjs → blobs-DvS-O6be.cjs} +34 -37
- package/dist/src/blobs-qTYm-1PY.js +236 -0
- package/dist/src/{cache-BLLayYEN.js → cache-8XhNqPKW.js} +64 -67
- package/dist/src/cache-Bbn1Nyrd.cjs +5 -0
- package/dist/src/cache-BwsMSda7.js +6 -0
- package/dist/src/{cache-mIszOnuz.js → cache-CG0SlR1d.js} +64 -66
- package/dist/src/{cache-7xULbvt3.cjs → cache-COish3-W.cjs} +114 -117
- package/dist/src/cache-D3eqDYGU.js +739 -0
- package/dist/src/{chat-Fl6TZJRS.cjs → chat-2K608PeQ.cjs} +20 -21
- package/dist/src/chat-BKm79wib.js +764 -0
- package/dist/src/{chat-XPN9YHhr.js → chat-CM_kyI8B.js} +20 -9
- package/dist/src/{chat-DIywASPG.js → chat-CRWNNq73.js} +49 -49
- package/dist/src/{chat-C8Ei4f87.js → chat-CznLWr_D.js} +49 -49
- package/dist/src/{chat-CgyGj2hC.js → chat-DHMH-N64.js} +20 -22
- package/dist/src/{chat-C4zqjObh.cjs → chat-DaqekjFr.cjs} +69 -69
- package/dist/src/{chat-Cpz3O-Xl.js → chat-DxysjBvt.js} +21 -23
- package/dist/src/{chatkit-Dpxrq4eD.js → chatkit-65VXf5SR.js} +58 -58
- package/dist/src/{chatkit-DIrJX8xk.js → chatkit-Be-Q-a9F.js} +58 -60
- package/dist/src/{chatkit-DEls11hE.js → chatkit-BxFvW8KY.js} +58 -60
- package/dist/src/{chatkit-e25Ziu17.cjs → chatkit-DKyPi1Gs.cjs} +58 -60
- package/dist/src/chunk-DEq-mXcV.js +15 -0
- package/dist/src/chunk-DRamLcfz.js +16 -0
- package/dist/src/{claude-agent-sdk-6-xTaLwM.js → claude-agent-sdk-BLTu0WBO.js} +45 -31
- package/dist/src/{claude-agent-sdk-BzxF6NIJ.cjs → claude-agent-sdk-CJH22shf.cjs} +44 -29
- package/dist/src/{claude-agent-sdk-CmkTnKGH.js → claude-agent-sdk-D6_k9FKA.js} +45 -33
- package/dist/src/{claude-agent-sdk-rXCBLK_o.js → claude-agent-sdk-Dy5lT-Tx.js} +46 -21
- package/dist/src/{cloud-BMbRVJFw.js → cloud-Bc9526yV.js} +32 -12
- package/dist/src/cloud-DmE0EwsY.js +4 -0
- package/dist/src/{cloudflare-ai-CUg4BTcj.js → cloudflare-ai-C9r2sRhw.js} +16 -18
- package/dist/src/{cloudflare-ai-Z9X219gp.js → cloudflare-ai-CWWJCRim.js} +16 -4
- package/dist/src/{cloudflare-ai-BAQ0u_dg.cjs → cloudflare-ai-ClWSdor4.cjs} +16 -17
- package/dist/src/{cloudflare-ai-CobxMTR4.js → cloudflare-ai-ICsOuD-z.js} +17 -19
- package/dist/src/{cloudflare-gateway-C0sgfr_z.cjs → cloudflare-gateway-C2_-KG5o.cjs} +21 -22
- package/dist/src/{cloudflare-gateway-_itGuXry.js → cloudflare-gateway-D6O7AlYb.js} +23 -23
- package/dist/src/{cloudflare-gateway-D2_yi-Fh.js → cloudflare-gateway-D6xFc5pa.js} +21 -25
- package/dist/src/{cloudflare-gateway-Djf3F3_H.js → cloudflare-gateway-pXGHxJ47.js} +26 -14
- package/dist/src/{codex-sdk-ibXwdglL.js → codex-sdk-C6UMlxwV.js} +49 -32
- package/dist/src/{codex-sdk-BASDNkIl.js → codex-sdk-DUwKWezN.js} +49 -30
- package/dist/src/{codex-sdk-dSnGdgIp.js → codex-sdk-GGAw0qbD.js} +49 -32
- package/dist/src/{codex-sdk-wTEpMM_X.cjs → codex-sdk-fAO0c3yA.cjs} +49 -32
- package/dist/src/{cometapi-B01btbfb.js → cometapi-BasUi7-_.js} +17 -19
- package/dist/src/{cometapi-DHUAH6nK.js → cometapi-Bbjp5V4x.js} +16 -4
- package/dist/src/{cometapi-ChAaRjg5.js → cometapi-DkXrKi5z.js} +21 -24
- package/dist/src/{cometapi-JbvOJSCO.cjs → cometapi-vY6aDZgo.cjs} +21 -22
- package/dist/src/{completion-D9_MDlnd.js → completion-6Mx_iXxK.js} +11 -13
- package/dist/src/{completion-BBJ6zmG3.js → completion-C5rtR_9P.js} +11 -13
- package/dist/src/{completion-DDyL3Cb2.cjs → completion-CDOouNzq.cjs} +21 -23
- package/dist/src/completion-C_P3ypkJ.js +120 -0
- package/dist/src/createHash-CTQmL3G2.js +15 -0
- package/dist/src/createHash-CfZSc0b4.cjs +27 -0
- package/dist/src/createHash-Da8fMwqB.js +16 -0
- package/dist/src/createHash-DmPQkvBh.js +15 -0
- package/dist/src/{docker-JAAubMw3.js → docker-5KcG-_86.js} +18 -20
- package/dist/src/{docker-Ckw-j7Rr.cjs → docker-BwsKwxFs.cjs} +18 -19
- package/dist/src/{docker-vnOg96gi.js → docker-CZnqU1XV.js} +18 -7
- package/dist/src/{docker-BuButc4D.js → docker-DzxyDPIj.js} +19 -21
- package/dist/src/entrypoint.js +2 -3
- package/dist/src/{errors-DnGCbnx8.js → errors-P6ll7XSJ.js} +2 -2
- package/dist/src/{esm-CYhseqj4.js → esm-C03C-mv3.js} +17 -20
- package/dist/src/{esm-rDtG_2rg.js → esm-CaIwzWR5.js} +18 -21
- package/dist/src/esm-Cd1AjG1D.js +379 -0
- package/dist/src/{esm-BQkx5roy.cjs → esm-CnNt7sI4.cjs} +47 -49
- package/dist/src/eval-17JizQIv.js +15 -0
- package/dist/src/{eval-CYrbG57o.js → eval-DmFyWU7i.js} +49 -55
- package/dist/src/{evalResult-COsVttMA.js → evalResult-CDQiuUuf.js} +16 -12
- package/dist/src/{evalResult-6JaUIStC.js → evalResult-CTG2AHOS.js} +10 -11
- package/dist/src/evalResult-Cqj8pldJ.js +12 -0
- package/dist/src/{evalResult-DlRfu_Rq.cjs → evalResult-Dap2CekP.cjs} +20 -21
- package/dist/src/evalResult-DvcJAWJU.cjs +10 -0
- package/dist/src/evalResult-Hftn-S_i.js +10 -0
- package/dist/src/evaluator-B2CFNt-P.js +36 -0
- package/dist/src/{evaluator-3EJCMTs0.js → evaluator-DPFRbFIL.js} +210 -232
- package/dist/src/{extractor-LSYjrhK0.js → extractor-CFG6bcWJ.js} +23 -38
- package/dist/src/{extractor-DbhlYEeo.cjs → extractor-DX36oYEv.cjs} +37 -64
- package/dist/src/{extractor-Hs7la_19.js → extractor-M67RUtg6.js} +23 -38
- package/dist/src/extractor-YMU_Gvt8.js +374 -0
- package/dist/src/fetch-4M3YRaqL.js +780 -0
- package/dist/src/{fetch-18MuNu9i.js → fetch-60Gzydls.js} +60 -46
- package/dist/src/{fetch-SRsE6Ctl.js → fetch-BMv0O527.js} +41 -35
- package/dist/src/{fetch-ZMn_oemb.cjs → fetch-BxUk8odA.cjs} +268 -279
- package/dist/src/fetch-KV5kNASw.js +5 -0
- package/dist/src/{fileExtensions-ePDqouxn.js → fileExtensions-DnqA1y9x.js} +2 -2
- package/dist/src/{fileExtensions-BpuMmaFL.js → fileExtensions-Ds-foDzt.js} +2 -2
- package/dist/src/fileExtensions-LcDYkU4v.js +85 -0
- package/dist/src/{fileExtensions-DkJYkWUy.cjs → fileExtensions-bYh77CN8.cjs} +27 -28
- package/dist/src/{formatDuration-Doo0xq-z.js → formatDuration-DgBVMN65.js} +2 -2
- package/dist/src/{genaiTracer-Ce19n68P.js → genaiTracer-70Z8BIuV.js} +2 -3
- package/dist/src/{genaiTracer-CqNnnXrE.js → genaiTracer-C1rxGO8Q.js} +2 -3
- package/dist/src/genaiTracer-D3fD9dNV.js +256 -0
- package/dist/src/{genaiTracer-CQlpZkrp.cjs → genaiTracer-DN4dQywX.cjs} +13 -14
- package/dist/src/graders-Bu0H9nXi.js +32 -0
- package/dist/src/{graders-BaMCwIKp.js → graders-CHO8EPM4.js} +385 -417
- package/dist/src/graders-Cfhkvx-e.js +34 -0
- package/dist/src/{graders-QsALpIdy.js → graders-CpdqD9PI.js} +385 -417
- package/dist/src/graders-DClJVpGP.cjs +32 -0
- package/dist/src/{graders-DzUUnUjC.cjs → graders-DOXycdlG.cjs} +721 -753
- package/dist/src/graders-DcnJsrMO.js +32 -0
- package/dist/src/graders-R9rYUM0d.js +13466 -0
- package/dist/src/{image-BiEVdpdP.js → image-BmEZqVmk.js} +57 -18
- package/dist/src/{image-mhAGP07h.js → image-CBBVXWuT.js} +57 -18
- package/dist/src/{image-D10zEe1f.cjs → image-CDLQOcqT.cjs} +6 -7
- package/dist/src/{image-COCWy5dX.js → image-DJEvKveK.js} +6 -5
- package/dist/src/{image-C3BjJUAU.cjs → image-DTedmQPg.cjs} +77 -32
- package/dist/src/{image-DB4sHxdJ.js → image-gvmivTEe.js} +7 -9
- package/dist/src/image-pAX56tPG.js +257 -0
- package/dist/src/{image-BXt_7u0v.js → image-tL5hIOFh.js} +6 -8
- package/dist/src/index.cjs +696 -693
- package/dist/src/index.d.cts +113 -10
- package/dist/src/index.d.ts +113 -6
- package/dist/src/index.js +657 -658
- package/dist/src/{interactiveCheck-DU-MAhp5.js → interactiveCheck-BgLZUIt3.js} +7 -8
- package/dist/src/{invariant-DT20jrBd.js → invariant-BtWWVVhl.js} +2 -2
- package/dist/src/{invariant-1pAf2CD1.js → invariant-Ddh24eXh.js} +2 -2
- package/dist/src/{invariant-CKcJAQ6M.cjs → invariant-kfQ8Bu82.cjs} +7 -8
- package/dist/src/invariant-vgHWClmd.js +25 -0
- package/dist/src/{knowledgeBase-DotRBzUE.js → knowledgeBase-CLJybhnF.js} +19 -34
- package/dist/src/{knowledgeBase-XJQ0Qyez.js → knowledgeBase-CoU-UQBg.js} +17 -41
- package/dist/src/{knowledgeBase-CMvMlLZR.js → knowledgeBase-DjWPVqSb.js} +17 -43
- package/dist/src/{knowledgeBase-Bnb00xKs.cjs → knowledgeBase-wkxuRFhA.cjs} +17 -40
- package/dist/src/{litellm-CHrRmPAe.js → litellm-B9Hysuri.js} +16 -18
- package/dist/src/{litellm-CrLJrPIm.js → litellm-CTfa0hqi.js} +15 -17
- package/dist/src/{litellm-BrnZhMcL.cjs → litellm-NYpQ8RQu.cjs} +15 -16
- package/dist/src/{litellm-BECdjOTx.js → litellm-ePxtr9F1.js} +15 -4
- package/dist/src/{logger-w8Ozp0Td.js → logger-CT3IKMKA.js} +24 -41
- package/dist/src/{logger-BdZ-IqBc.cjs → logger-Cp1GPUjj.cjs} +166 -192
- package/dist/src/logger-DLcq4dWf.js +713 -0
- package/dist/src/{logger-BotXmWKW.js → logger-KkObSCzq.js} +27 -43
- package/dist/src/{luma-ray-C0RkI3lt.cjs → luma-ray-B0GGNRc1.cjs} +20 -21
- package/dist/src/{luma-ray-C-w6EsJm.js → luma-ray-BE2mOt6N.js} +20 -13
- package/dist/src/{luma-ray-BOeX-h0M.js → luma-ray-BW9IRGIc.js} +22 -21
- package/dist/src/{luma-ray-DgKLS0BF.js → luma-ray-Cm1KZBhs.js} +20 -23
- package/dist/src/main.js +1985 -2055
- package/dist/src/{messages-DXV3Qh8_.cjs → messages-1JrJs91T.cjs} +35 -34
- package/dist/src/{messages-D61tPFQo.js → messages-1x9atZmP.js} +25 -24
- package/dist/src/{messages-CDZYGNlS.js → messages-BLbWdsyt.js} +25 -24
- package/dist/src/messages-D8EA0oDc.js +240 -0
- package/dist/src/{meteor-P2rUE-Uz.js → meteor-44VjEACX.js} +3 -4
- package/dist/src/{meteor-SLNTgmXm.js → meteor-D-SotUw9.js} +3 -4
- package/dist/src/{meteor-odmwVbyG.cjs → meteor-DLZZ3osF.cjs} +3 -4
- package/dist/src/{meteor-Dj8cTkU_.js → meteor-DUiCJRC-.js} +3 -4
- package/dist/src/modelslab-C1OLRmVX.js +166 -0
- package/dist/src/modelslab-CqXBy3U8.js +168 -0
- package/dist/src/modelslab-DcOSFwKh.cjs +166 -0
- package/dist/src/modelslab-X5-4LroM.js +166 -0
- package/dist/src/{nova-reel-C2LFfVTf.js → nova-reel-BgS1ZWuK.js} +20 -13
- package/dist/src/{nova-reel-DtCjbD5O.js → nova-reel-D2ZkOSyr.js} +22 -21
- package/dist/src/{nova-reel-D9FXq3Mt.cjs → nova-reel-D9xfaMBs.cjs} +20 -21
- package/dist/src/{nova-reel-Bk5npr2q.js → nova-reel-DihqLeol.js} +20 -23
- package/dist/src/{nova-sonic-BoRSY_U6.cjs → nova-sonic-DVu3mMIy.cjs} +30 -31
- package/dist/src/{nova-sonic-D_qERM-K.js → nova-sonic-DezhVUYT.js} +30 -26
- package/dist/src/{nova-sonic-CgaWLDM1.js → nova-sonic-P-CdUMlV.js} +30 -31
- package/dist/src/{nova-sonic-BXRfQyF-.js → nova-sonic-Q3BOJeig.js} +31 -32
- package/dist/src/{openai-Bigwjgo1.cjs → openai-Cuif0GEt.cjs} +8 -9
- package/dist/src/{openai-Dz3surb_.js → openai-DElQ-fPX.js} +3 -4
- package/dist/src/{openai-CT5fwbve.js → openai-DhbB7eWK.js} +3 -4
- package/dist/src/openai-j-sE2O7r.js +44 -0
- package/dist/src/{openclaw-dHLcXUWZ.js → openclaw-BiSZPL7J.js} +20 -14
- package/dist/src/{openclaw-CpPrXwf6.js → openclaw-Bv1DINsX.js} +20 -27
- package/dist/src/{openclaw-B6XY2kUf.js → openclaw-D1D_ej1z.js} +21 -28
- package/dist/src/{openclaw-DDSfq5fp.cjs → openclaw-DAfWQn-o.cjs} +33 -39
- package/dist/src/opencode-sdk-C7m-wRfI.js +560 -0
- package/dist/src/opencode-sdk-CfaLN8PY.cjs +564 -0
- package/dist/src/opencode-sdk-D95s6SnR.js +562 -0
- package/dist/src/opencode-sdk-DxUPkLT7.js +560 -0
- package/dist/src/{otlpReceiver-DmRb0NBj.js → otlpReceiver--AIRW_S4.js} +53 -51
- package/dist/src/{otlpReceiver-Dg817agV.js → otlpReceiver-Bn5wGB1v.js} +53 -55
- package/dist/src/{otlpReceiver-B6Xo4KZM.cjs → otlpReceiver-Diec4cln.cjs} +53 -55
- package/dist/src/{otlpReceiver-BO0rbDzh.js → otlpReceiver-g3ByGaXs.js} +53 -55
- package/dist/src/{providerRegistry-Xf0qdqGQ.js → providerRegistry-B0RUOLI_.js} +7 -8
- package/dist/src/{providerRegistry-wCWd7sKQ.js → providerRegistry-CD8MEar9.js} +7 -8
- package/dist/src/{providerRegistry-lc7a7utN.cjs → providerRegistry-Civky8Ar.cjs} +12 -13
- package/dist/src/providerRegistry-DM8rZYol.js +45 -0
- package/dist/src/providers-B3HvufyI.js +33246 -0
- package/dist/src/{providers-BiNq_Iyc.js → providers-BKRJTjBz.js} +1743 -1795
- package/dist/src/providers-C1rOSHiR.js +32 -0
- package/dist/src/{providers-BlEhY5mi.js → providers-CFLy1_ji.js} +1750 -1802
- package/dist/src/{providers-BNKVY53V.cjs → providers-CFu-TZl-.cjs} +2111 -2163
- package/dist/src/providers-CxmDwEFf.cjs +31 -0
- package/dist/src/providers-Dodakqr0.js +30 -0
- package/dist/src/providers-GIQ2TcsA.js +30 -0
- package/dist/src/{pythonUtils-r1uBuA0n.js → pythonUtils-C3py6GC1.js} +18 -19
- package/dist/src/{pythonUtils-DZ6EbdY4.cjs → pythonUtils-CTU3Y3lw.cjs} +42 -43
- package/dist/src/{pythonUtils-vMlk9Qp5.js → pythonUtils-D5nxkQ0P.js} +18 -19
- package/dist/src/pythonUtils-D6fwaDSg.js +249 -0
- package/dist/src/quiverai-C2jVwbH1.js +213 -0
- package/dist/src/quiverai-CI6gYJVI.js +213 -0
- package/dist/src/quiverai-CLkWkyZc.cjs +213 -0
- package/dist/src/quiverai-MHSxbmmZ.js +215 -0
- package/dist/src/{render-CAZvKKkB.js → render-Drod8m7K.js} +4 -5
- package/dist/src/{responses-DLLjADw5.js → responses-BKqJmhhc.js} +34 -27
- package/dist/src/{responses-TsdODUpm.js → responses-CGw0DCzh.js} +34 -27
- package/dist/src/responses-jxdehPkC.js +660 -0
- package/dist/src/{responses-zOtKtnY_.cjs → responses-tD4Bd4dc.cjs} +49 -42
- package/dist/src/rubyUtils-BUHu6PhO.js +5 -0
- package/dist/src/{rubyUtils-Cs35SDYa.js → rubyUtils-BUVePouc.js} +27 -20
- package/dist/src/rubyUtils-BcuGX77l.js +222 -0
- package/dist/src/{rubyUtils-BtjlqyXt.js → rubyUtils-Boc4HZzX.js} +18 -19
- package/dist/src/rubyUtils-CP42kMvq.cjs +4 -0
- package/dist/src/{rubyUtils-DCVaJ3mc.cjs → rubyUtils-DhCAlxZr.cjs} +48 -50
- package/dist/src/{sagemaker-Du4LIR97.js → sagemaker-BK4Zb993.js} +75 -70
- package/dist/src/{sagemaker-CLdUAv5z.js → sagemaker-BfiWTmvn.js} +77 -77
- package/dist/src/{sagemaker-DwNnEVYt.cjs → sagemaker-CcQHM1jV.cjs} +75 -76
- package/dist/src/{sagemaker-BcgLu0U4.js → sagemaker-D2Q1c-sD.js} +75 -79
- package/dist/src/{scanner-Dyw21Wg_.js → scanner-J8CA3LsV.js} +149 -122
- package/dist/src/server/index.js +5620 -67302
- package/dist/src/{server-CgUQ25qW.cjs → server-B0PPuDw-.cjs} +57 -67
- package/dist/src/server-B1vi21hA.js +7 -0
- package/dist/src/{server-CbMTRQkg.js → server-BC7XJFgr.js} +19 -24
- package/dist/src/server-Cm9Kai_h.cjs +5 -0
- package/dist/src/{server-DWmZLfCy.js → server-DbFphssR.js} +26 -29
- package/dist/src/server-OAs3nBRT.js +229 -0
- package/dist/src/{signal-Bl32q42d.js → signal-BOTbd53Z.js} +9 -11
- package/dist/src/{slack-BtMkB6xP.cjs → slack-BmVAVGaK.cjs} +7 -8
- package/dist/src/{slack-OZYxoVON.js → slack-DCUPTzS2.js} +8 -8
- package/dist/src/{slack-DPqj42Ts.js → slack-DOdy_kyv.js} +7 -8
- package/dist/src/{slack-BfdBx2tO.js → slack-DXMKtA-f.js} +7 -9
- package/dist/src/store-BNmZ1KAz.cjs +5 -0
- package/dist/src/{store-BqwfFEyF.cjs → store-BSc-TF2w.cjs} +44 -45
- package/dist/src/store-BltJg2cd.js +6 -0
- package/dist/src/{store-D4gdn9ih.js → store-D1tv90v3.js} +34 -35
- package/dist/src/{store-2ocbYY9D.js → store-DQLEjuEO.js} +40 -36
- package/dist/src/store-Ub2vaGJ1.js +228 -0
- package/dist/src/{tables-D-NSwNIb.js → tables-5EvT_Bwn.js} +23 -23
- package/dist/src/{tables-B9E1kRp-.cjs → tables-C7K-XKWp.cjs} +93 -93
- package/dist/src/{tables-C7TT2XVn.js → tables-D36WTqKX.js} +25 -25
- package/dist/src/tables-xKANLRBD.js +288 -0
- package/dist/src/telemetry-5BCRNBbe.cjs +5 -0
- package/dist/src/{telemetry-DZ_7PaVq.js → telemetry-C15ziL8u.js} +17 -14
- package/dist/src/{telemetry-BXyVqyAg.js → telemetry-C2YDkUQH.js} +11 -13
- package/dist/src/{telemetry-D0_yFdtU.cjs → telemetry-CbrnxHp_.cjs} +21 -24
- package/dist/src/telemetry-D4W5hboe.js +7 -0
- package/dist/src/telemetry-DMb2Mpfm.js +171 -0
- package/dist/src/{text-Dm78AVGG.js → text-B_UCRPp2.js} +2 -2
- package/dist/src/{text-DF2hMKdg.cjs → text-CW1cyrwj.cjs} +12 -13
- package/dist/src/{text-DgMr_tiM.js → text-Db-Wt2u2.js} +2 -2
- package/dist/src/text-TIv0QYnd.js +22 -0
- package/dist/src/{tokenUsageUtils-FZd5O_4A.js → tokenUsageUtils-BDGe-iyI.js} +2 -2
- package/dist/src/{tokenUsageUtils-DmZSD2eU.js → tokenUsageUtils-DflFMjS0.js} +2 -2
- package/dist/src/tokenUsageUtils-NYT-WKS6.js +138 -0
- package/dist/src/{tokenUsageUtils-CXhxVj72.cjs → tokenUsageUtils-bVa1ga6f.cjs} +32 -33
- package/dist/src/{transcription-FNIz3YOe.cjs → transcription-CL78qbOU.cjs} +14 -15
- package/dist/src/{transcription-C-M81iDA.js → transcription-DAtxHhAM.js} +14 -7
- package/dist/src/{transcription-CYuY5sFO.js → transcription-LNZTNUUL.js} +14 -16
- package/dist/src/{transcription-Ch7S-LWw.js → transcription-QHh3AH6Z.js} +15 -17
- package/dist/src/{transform-CoP2bJ7P.js → transform-Cgi24fJ7.js} +94 -66
- package/dist/src/{transform-Kd6u-oNm.cjs → transform-CzK1Q0zl.cjs} +24 -26
- package/dist/src/{transform-D8dILpfZ.js → transform-DECvGmzp.js} +15 -13
- package/dist/src/{transform-DMaxQwDx.js → transform-DGLazrMm.js} +94 -66
- package/dist/src/transform-DGxXocjk.js +1506 -0
- package/dist/src/{transform-ivxEY4f7.cjs → transform-DOcQeLld.cjs} +234 -206
- package/dist/src/transform-DTGDnAzW.js +6 -0
- package/dist/src/{transform-CqTFr7KR.js → transform-DilY9wbS.js} +10 -12
- package/dist/src/transform-aa6tmVpZ.js +216 -0
- package/dist/src/transform-m3qNw4KP.cjs +5 -0
- package/dist/src/{transformersAvailability-DEU2naS1.js → transformersAvailability-CEVM2GNQ.js} +2 -2
- package/dist/src/{transformersAvailability-Bkep3ka7.cjs → transformersAvailability-CwayUSlh.cjs} +2 -3
- package/dist/src/{transformersAvailability-DwmezkVe.js → transformersAvailability-D6c6ROpT.js} +2 -2
- package/dist/src/{types-t52w-XsS.js → types-CH3Ge2sE.js} +103 -92
- package/dist/src/{types-DMVjYLpx.js → types-CLKiCBW3.js} +98 -91
- package/dist/src/types-CN_TZ2GJ.js +3260 -0
- package/dist/src/{types-BIfttHrT.cjs → types-LJ0r3wbR.cjs} +573 -566
- package/dist/src/util-5cB-L7U3.js +1430 -0
- package/dist/src/util-6-GqIvzS.js +599 -0
- package/dist/src/{util-vjscpUzy.js → util-B7T3SiBS.js} +5 -6
- package/dist/src/{util-Cl0zfT3V.js → util-Betm42rL.js} +44 -17
- package/dist/src/{util-CUEt0Vum.js → util-C-PPYSMq.js} +44 -17
- package/dist/src/{util-DkFTvieG.cjs → util-CchiqXh_.cjs} +35 -36
- package/dist/src/{util-mJ58qbbw.js → util-DaWTWKBK.js} +5 -6
- package/dist/src/{util-C08Kns6-.cjs → util-Db0a0AFH.cjs} +89 -62
- package/dist/src/{util-DiCePfDu.js → util-Dlz_Wvgm.js} +102 -53
- package/dist/src/{util-BSh4a_Q8.js → util-YT5HPZaS.js} +102 -53
- package/dist/src/{util-DUYOvxAy.cjs → util-Yz-1aEhW.cjs} +274 -219
- package/dist/src/util-ZZH-3QZz.js +293 -0
- package/dist/src/{utils-DFaZa6Rf.cjs → utils-Cz9qXqII.cjs} +32 -35
- package/dist/src/{utils-CVzb4YiI.js → utils-XiOAgly5.js} +4 -7
- package/dist/src/utils-dLokC-eR.js +94 -0
- package/dist/src/{utils-JaY9veb5.js → utils-f2-Moju7.js} +4 -7
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +59 -53
- package/dist/src/app/assets/index-BOgkICuY.css +0 -1
- package/dist/src/app/assets/index-CSgqn_Vd.js +0 -428
- package/dist/src/app/tsconfig.app.tsbuildinfo +0 -1
- package/dist/src/base-BaXmtXYp.js +0 -107
- package/dist/src/base-Dtp8b4_N.js +0 -106
- package/dist/src/base-f71xxWai.cjs +0 -111
- package/dist/src/cache-BUPcq0Ad.js +0 -6
- package/dist/src/cache-CVfRb-HD.cjs +0 -6
- package/dist/src/cache-O4EuX2JV.js +0 -8
- package/dist/src/chunk-DHDDz29n.js +0 -22
- package/dist/src/chunk-FhC4c-0y.js +0 -21
- package/dist/src/cloud-CZ4hytdm.js +0 -5
- package/dist/src/eval-CKHWqG9f.js +0 -16
- package/dist/src/evalResult-CxTP-LMm.cjs +0 -11
- package/dist/src/evalResult-CzLURDcP.js +0 -13
- package/dist/src/evalResult-DyttNQ_G.js +0 -11
- package/dist/src/evaluator-0PvfeBYh.js +0 -38
- package/dist/src/fetch-Bi0o-fdp.js +0 -4
- package/dist/src/fetch-CMptBDVg.cjs +0 -4
- package/dist/src/fetch-DAZkv3gV.js +0 -6
- package/dist/src/graders-BCytzXrb.js +0 -34
- package/dist/src/graders-CGZQShfJ.cjs +0 -33
- package/dist/src/graders-spkuVC-E.js +0 -36
- package/dist/src/opencode-sdk-CImWVqy9.js +0 -382
- package/dist/src/opencode-sdk-CuCztr4P.js +0 -380
- package/dist/src/opencode-sdk-DhcfRbBH.js +0 -376
- package/dist/src/opencode-sdk-mqF-Oj3f.cjs +0 -383
- package/dist/src/providers-BMZZmPBJ.cjs +0 -32
- package/dist/src/providers-CQQrNaJk.js +0 -32
- package/dist/src/providers-Ck8HyrC-.js +0 -34
- package/dist/src/quiverai-BNfIwKCO.cjs +0 -54
- package/dist/src/quiverai-BQigKdIH.js +0 -57
- package/dist/src/quiverai-Bfy2WnE2.js +0 -55
- package/dist/src/quiverai-CedIP0PJ.js +0 -43
- package/dist/src/rubyUtils-D7--T12C.js +0 -6
- package/dist/src/rubyUtils-DRRiMFV2.js +0 -5
- package/dist/src/rubyUtils-vb8OYFC-.cjs +0 -5
- package/dist/src/server-BUbS0Qfh.js +0 -6
- package/dist/src/server-XpGXFHkS.cjs +0 -6
- package/dist/src/server-gfOx5Zrk.js +0 -8
- package/dist/src/store-5u2yriTV.js +0 -7
- package/dist/src/store-D_lq_8oQ.js +0 -6
- package/dist/src/store-m5KT6Ly7.cjs +0 -6
- package/dist/src/telemetry-5RHFoCJh.js +0 -6
- package/dist/src/telemetry-Do8wMnA-.js +0 -8
- package/dist/src/telemetry-LojxPoFq.cjs +0 -6
- package/dist/src/transform-8eGmaH-7.js +0 -7
- package/dist/src/transform-BRVvWaG4.cjs +0 -6
- package/dist/src/transform-GybT0X0u.js +0 -8
- package/dist/src/transformersAvailability-DkAWaK5B.js +0 -35
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
const require_logger = require(
|
|
2
|
-
const require_invariant = require(
|
|
3
|
-
const require_esm = require(
|
|
4
|
-
const require_pythonUtils = require(
|
|
5
|
-
const require_fileExtensions = require(
|
|
6
|
-
const require_types = require(
|
|
7
|
-
const require_fetch = require(
|
|
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.
|
|
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.
|
|
277
|
-
else require_logger.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
738
|
-
require_logger.
|
|
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.
|
|
742
|
-
require_logger.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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:
|
|
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.
|
|
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.
|
|
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:
|
|
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:
|
|
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(
|
|
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.
|
|
1308
|
+
require_logger.logger.info(border);
|
|
1260
1309
|
}
|
|
1261
|
-
|
|
1262
1310
|
//#endregion
|
|
1263
|
-
Object.defineProperty(exports,
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1311
|
+
Object.defineProperty(exports, "checkProviderApiKeys", {
|
|
1312
|
+
enumerable: true,
|
|
1313
|
+
get: function() {
|
|
1314
|
+
return checkProviderApiKeys;
|
|
1315
|
+
}
|
|
1268
1316
|
});
|
|
1269
|
-
Object.defineProperty(exports,
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1317
|
+
Object.defineProperty(exports, "deduplicateTestCases", {
|
|
1318
|
+
enumerable: true,
|
|
1319
|
+
get: function() {
|
|
1320
|
+
return deduplicateTestCases;
|
|
1321
|
+
}
|
|
1274
1322
|
});
|
|
1275
|
-
Object.defineProperty(exports,
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1323
|
+
Object.defineProperty(exports, "doesProviderRefMatch", {
|
|
1324
|
+
enumerable: true,
|
|
1325
|
+
get: function() {
|
|
1326
|
+
return doesProviderRefMatch;
|
|
1327
|
+
}
|
|
1280
1328
|
});
|
|
1281
|
-
Object.defineProperty(exports,
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1329
|
+
Object.defineProperty(exports, "extractRuntimeVars", {
|
|
1330
|
+
enumerable: true,
|
|
1331
|
+
get: function() {
|
|
1332
|
+
return extractRuntimeVars;
|
|
1333
|
+
}
|
|
1286
1334
|
});
|
|
1287
|
-
Object.defineProperty(exports,
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1335
|
+
Object.defineProperty(exports, "extractVariablesFromTemplate", {
|
|
1336
|
+
enumerable: true,
|
|
1337
|
+
get: function() {
|
|
1338
|
+
return extractVariablesFromTemplate;
|
|
1339
|
+
}
|
|
1292
1340
|
});
|
|
1293
|
-
Object.defineProperty(exports,
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1341
|
+
Object.defineProperty(exports, "extractVariablesFromTemplates", {
|
|
1342
|
+
enumerable: true,
|
|
1343
|
+
get: function() {
|
|
1344
|
+
return extractVariablesFromTemplates;
|
|
1345
|
+
}
|
|
1298
1346
|
});
|
|
1299
|
-
Object.defineProperty(exports,
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1347
|
+
Object.defineProperty(exports, "fetchCsvFromGoogleSheet", {
|
|
1348
|
+
enumerable: true,
|
|
1349
|
+
get: function() {
|
|
1350
|
+
return fetchCsvFromGoogleSheet;
|
|
1351
|
+
}
|
|
1304
1352
|
});
|
|
1305
|
-
Object.defineProperty(exports,
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1353
|
+
Object.defineProperty(exports, "filterRuntimeVars", {
|
|
1354
|
+
enumerable: true,
|
|
1355
|
+
get: function() {
|
|
1356
|
+
return filterRuntimeVars;
|
|
1357
|
+
}
|
|
1310
1358
|
});
|
|
1311
|
-
Object.defineProperty(exports,
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1359
|
+
Object.defineProperty(exports, "getNunjucksEngine", {
|
|
1360
|
+
enumerable: true,
|
|
1361
|
+
get: function() {
|
|
1362
|
+
return getNunjucksEngine;
|
|
1363
|
+
}
|
|
1316
1364
|
});
|
|
1317
|
-
Object.defineProperty(exports,
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1365
|
+
Object.defineProperty(exports, "getNunjucksEngineForFilePath", {
|
|
1366
|
+
enumerable: true,
|
|
1367
|
+
get: function() {
|
|
1368
|
+
return getNunjucksEngineForFilePath;
|
|
1369
|
+
}
|
|
1322
1370
|
});
|
|
1323
|
-
Object.defineProperty(exports,
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1371
|
+
Object.defineProperty(exports, "getProviderDescription", {
|
|
1372
|
+
enumerable: true,
|
|
1373
|
+
get: function() {
|
|
1374
|
+
return getProviderDescription;
|
|
1375
|
+
}
|
|
1328
1376
|
});
|
|
1329
|
-
Object.defineProperty(exports,
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1377
|
+
Object.defineProperty(exports, "getResolvedRelativePath", {
|
|
1378
|
+
enumerable: true,
|
|
1379
|
+
get: function() {
|
|
1380
|
+
return getResolvedRelativePath;
|
|
1381
|
+
}
|
|
1334
1382
|
});
|
|
1335
|
-
Object.defineProperty(exports,
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1383
|
+
Object.defineProperty(exports, "getTestCaseDeduplicationKey", {
|
|
1384
|
+
enumerable: true,
|
|
1385
|
+
get: function() {
|
|
1386
|
+
return getTestCaseDeduplicationKey;
|
|
1387
|
+
}
|
|
1340
1388
|
});
|
|
1341
|
-
Object.defineProperty(exports,
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1389
|
+
Object.defineProperty(exports, "isAnthropicProvider", {
|
|
1390
|
+
enumerable: true,
|
|
1391
|
+
get: function() {
|
|
1392
|
+
return isAnthropicProvider;
|
|
1393
|
+
}
|
|
1346
1394
|
});
|
|
1347
|
-
Object.defineProperty(exports,
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1395
|
+
Object.defineProperty(exports, "isGoogleProvider", {
|
|
1396
|
+
enumerable: true,
|
|
1397
|
+
get: function() {
|
|
1398
|
+
return isGoogleProvider;
|
|
1399
|
+
}
|
|
1352
1400
|
});
|
|
1353
|
-
Object.defineProperty(exports,
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1401
|
+
Object.defineProperty(exports, "isOpenAiProvider", {
|
|
1402
|
+
enumerable: true,
|
|
1403
|
+
get: function() {
|
|
1404
|
+
return isOpenAiProvider;
|
|
1405
|
+
}
|
|
1358
1406
|
});
|
|
1359
|
-
Object.defineProperty(exports,
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1407
|
+
Object.defineProperty(exports, "isProviderAllowed", {
|
|
1408
|
+
enumerable: true,
|
|
1409
|
+
get: function() {
|
|
1410
|
+
return isProviderAllowed;
|
|
1411
|
+
}
|
|
1364
1412
|
});
|
|
1365
|
-
Object.defineProperty(exports,
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1413
|
+
Object.defineProperty(exports, "loadFunction", {
|
|
1414
|
+
enumerable: true,
|
|
1415
|
+
get: function() {
|
|
1416
|
+
return loadFunction;
|
|
1417
|
+
}
|
|
1370
1418
|
});
|
|
1371
|
-
Object.defineProperty(exports,
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1419
|
+
Object.defineProperty(exports, "maybeLoadConfigFromExternalFile", {
|
|
1420
|
+
enumerable: true,
|
|
1421
|
+
get: function() {
|
|
1422
|
+
return maybeLoadConfigFromExternalFile;
|
|
1423
|
+
}
|
|
1376
1424
|
});
|
|
1377
|
-
Object.defineProperty(exports,
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1425
|
+
Object.defineProperty(exports, "maybeLoadFromExternalFile", {
|
|
1426
|
+
enumerable: true,
|
|
1427
|
+
get: function() {
|
|
1428
|
+
return maybeLoadFromExternalFile;
|
|
1429
|
+
}
|
|
1382
1430
|
});
|
|
1383
|
-
Object.defineProperty(exports,
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1431
|
+
Object.defineProperty(exports, "maybeLoadFromExternalFileWithVars", {
|
|
1432
|
+
enumerable: true,
|
|
1433
|
+
get: function() {
|
|
1434
|
+
return maybeLoadFromExternalFileWithVars;
|
|
1435
|
+
}
|
|
1388
1436
|
});
|
|
1389
|
-
Object.defineProperty(exports,
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1437
|
+
Object.defineProperty(exports, "maybeLoadResponseFormatFromExternalFile", {
|
|
1438
|
+
enumerable: true,
|
|
1439
|
+
get: function() {
|
|
1440
|
+
return maybeLoadResponseFormatFromExternalFile;
|
|
1441
|
+
}
|
|
1394
1442
|
});
|
|
1395
|
-
Object.defineProperty(exports,
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1443
|
+
Object.defineProperty(exports, "maybeLoadToolsFromExternalFile", {
|
|
1444
|
+
enumerable: true,
|
|
1445
|
+
get: function() {
|
|
1446
|
+
return maybeLoadToolsFromExternalFile;
|
|
1447
|
+
}
|
|
1400
1448
|
});
|
|
1401
|
-
Object.defineProperty(exports,
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1449
|
+
Object.defineProperty(exports, "parseFileUrl", {
|
|
1450
|
+
enumerable: true,
|
|
1451
|
+
get: function() {
|
|
1452
|
+
return parseFileUrl;
|
|
1453
|
+
}
|
|
1406
1454
|
});
|
|
1407
|
-
Object.defineProperty(exports,
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1455
|
+
Object.defineProperty(exports, "parsePathOrGlob", {
|
|
1456
|
+
enumerable: true,
|
|
1457
|
+
get: function() {
|
|
1458
|
+
return parsePathOrGlob;
|
|
1459
|
+
}
|
|
1412
1460
|
});
|
|
1413
|
-
Object.defineProperty(exports,
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1461
|
+
Object.defineProperty(exports, "printBorder", {
|
|
1462
|
+
enumerable: true,
|
|
1463
|
+
get: function() {
|
|
1464
|
+
return printBorder;
|
|
1465
|
+
}
|
|
1418
1466
|
});
|
|
1419
|
-
Object.defineProperty(exports,
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
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,
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1479
|
+
Object.defineProperty(exports, "renderEnvOnlyInObject", {
|
|
1480
|
+
enumerable: true,
|
|
1481
|
+
get: function() {
|
|
1482
|
+
return renderEnvOnlyInObject;
|
|
1483
|
+
}
|
|
1430
1484
|
});
|
|
1431
|
-
Object.defineProperty(exports,
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1485
|
+
Object.defineProperty(exports, "renderVarsInObject", {
|
|
1486
|
+
enumerable: true,
|
|
1487
|
+
get: function() {
|
|
1488
|
+
return renderVarsInObject;
|
|
1489
|
+
}
|
|
1436
1490
|
});
|
|
1437
|
-
Object.defineProperty(exports,
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1491
|
+
Object.defineProperty(exports, "resultIsForTestCase", {
|
|
1492
|
+
enumerable: true,
|
|
1493
|
+
get: function() {
|
|
1494
|
+
return resultIsForTestCase;
|
|
1495
|
+
}
|
|
1442
1496
|
});
|
|
1443
|
-
Object.defineProperty(exports,
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1497
|
+
Object.defineProperty(exports, "setupEnv", {
|
|
1498
|
+
enumerable: true,
|
|
1499
|
+
get: function() {
|
|
1500
|
+
return setupEnv;
|
|
1501
|
+
}
|
|
1448
1502
|
});
|
|
1449
|
-
Object.defineProperty(exports,
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1503
|
+
Object.defineProperty(exports, "writeMultipleOutputs", {
|
|
1504
|
+
enumerable: true,
|
|
1505
|
+
get: function() {
|
|
1506
|
+
return writeMultipleOutputs;
|
|
1507
|
+
}
|
|
1454
1508
|
});
|
|
1455
|
-
Object.defineProperty(exports,
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1509
|
+
Object.defineProperty(exports, "writeOutput", {
|
|
1510
|
+
enumerable: true,
|
|
1511
|
+
get: function() {
|
|
1512
|
+
return writeOutput;
|
|
1513
|
+
}
|
|
1460
1514
|
});
|
|
1461
|
-
|
|
1515
|
+
|
|
1516
|
+
//# sourceMappingURL=util-Yz-1aEhW.cjs.map
|