promptfoo 0.122.1 → 0.122.2
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/dist/src/{accounts-Jug2Ciel.js → accounts-B8CVRmIl.js} +4 -4
- package/dist/src/{accounts-mch0qw47.js → accounts-BDud3p32.js} +4 -4
- package/dist/src/{accounts-CAjSMkuH.js → accounts-DApS8Gpe.js} +5 -5
- package/dist/src/{accounts-CZFxG3Og.cjs → accounts-DosZWKJy.cjs} +4 -4
- package/dist/src/{agentic-utils-CAL6OL48.js → agentic-utils-B94-_ExD.js} +12 -3
- package/dist/src/{agentic-utils-B3r4NpU-.cjs → agentic-utils-CMewaQ09.cjs} +13 -4
- package/dist/src/{agentic-utils-Cswmio9j.js → agentic-utils-DOMq4mqJ.js} +12 -3
- package/dist/src/{agentic-utils-CR5IyddC.js → agentic-utils-DneHhExJ.js} +12 -3
- package/dist/src/{agents-BYZQa11K.js → agents-99i09OkS.js} +4 -4
- package/dist/src/{agents-CfaaStfu.cjs → agents-BXDQ1xw_.cjs} +2 -2
- package/dist/src/{agents-CUSOo7ly.js → agents-BzOkbtWo.js} +2 -2
- package/dist/src/{agents-DgKZ1aMv.js → agents-CmgJALGp.js} +2 -2
- package/dist/src/{agents-CzaXVlpn.js → agents-CqqOAB9i.js} +4 -4
- package/dist/src/{agents-t29fGe9S.js → agents-CroOVBY1.js} +4 -4
- package/dist/src/{agents-CKOdC5bg.cjs → agents-DtmugJpS.cjs} +4 -4
- package/dist/src/{agents-B2aTR8k4.js → agents-mNkg-c-D.js} +2 -2
- package/dist/src/{ai.studio-DprNFGT7.js → ai.studio-4CqyrhMr.js} +7 -6
- package/dist/src/{ai.studio-BTbBobIe.js → ai.studio-Bw7HGWAy.js} +7 -6
- package/dist/src/{ai.studio-DdDttvQ_.js → ai.studio-BySqRQcL.js} +7 -6
- package/dist/src/{ai.studio-lJHgVtc3.js → ai.studio-CmQz4HRF.js} +1 -1
- package/dist/src/{ai.studio-Cfr1uqJd.cjs → ai.studio-CzWiW2J3.cjs} +11 -10
- package/dist/src/{aimlapi-agQErPC7.cjs → aimlapi-BPLx5bkN.cjs} +6 -6
- package/dist/src/{aimlapi-C7aw_Yci.js → aimlapi-CPHuwytR.js} +6 -6
- package/dist/src/{aimlapi-BbhgeGRG.js → aimlapi-CtFNhGfQ.js} +6 -6
- package/dist/src/{aimlapi-Cj1shS5g.js → aimlapi-DvORJAqy.js} +6 -6
- package/dist/src/{anthropicMessages-DM4fND86.cjs → anthropicMessages-CV6LTNAW.cjs} +2 -2
- package/dist/src/{anthropicMessages-B2lCmO9a.js → anthropicMessages-D7C1kjQD.js} +2 -2
- package/dist/src/{anthropicMessages-B3DWK3KH.js → anthropicMessages-Dnuashu8.js} +2 -2
- package/dist/src/{anthropicMessages-CIzwoHC7.js → anthropicMessages-HcZgERmB.js} +2 -2
- package/dist/src/app/assets/{index-A24J7UxV.css → index-4gjyvw3y.css} +1 -1
- package/dist/src/app/assets/{index-BSBYsw_6.js → index-nyJ_XC0u.js} +55 -55
- package/dist/src/app/index.html +2 -2
- package/dist/src/{audio-FK9OJM6x.js → audio-BdlJQepT.js} +3 -3
- package/dist/src/{audio-DJSX3nfH.cjs → audio-CT31dzi3.cjs} +3 -3
- package/dist/src/{audio-BLydpzg4.js → audio-CZ4800_-.js} +3 -3
- package/dist/src/{audio-BFL3WPG8.js → audio-CuAl9sNH.js} +3 -3
- package/dist/src/{authoritativeMarkupInjection-C79vhK3h.js → authoritativeMarkupInjection-Bk-2UAXm.js} +6 -6
- package/dist/src/{authoritativeMarkupInjection-DSEnwId_.cjs → authoritativeMarkupInjection-BkZvUL3M.cjs} +6 -6
- package/dist/src/{authoritativeMarkupInjection-D7PPkR2H.js → authoritativeMarkupInjection-CO3XuBsw.js} +6 -6
- package/dist/src/{authoritativeMarkupInjection-a2WZAWI8.js → authoritativeMarkupInjection-CsW2Rlxr.js} +6 -6
- package/dist/src/{aws-GuyZqnyf.js → aws-BatJ_yy7.js} +20 -20
- package/dist/src/{aws-BHmi7gOy.cjs → aws-DhQCXH3c.cjs} +20 -20
- package/dist/src/{aws-Bzt3WQU2.js → aws-VLbhCTiT.js} +20 -20
- package/dist/src/{aws-BS8qSHy8.js → aws-iSX9DyrD.js} +20 -20
- package/dist/src/{base-nbJrRpSV.js → base-C6jKTbCS.js} +7 -6
- package/dist/src/{base-CoTAT5vv.cjs → base-CJEf9k2O.cjs} +8 -7
- package/dist/src/{base-DEkuzxBW.js → base-CWyDTNcT.js} +2 -2
- package/dist/src/{base-mEWUSyIi.cjs → base-CeTzVZ7f.cjs} +2 -2
- package/dist/src/{base-CcYX8Sl7.js → base-CnzvtFbT.js} +2 -2
- package/dist/src/{base-BW_ro6TZ.js → base-Dd6PX7qL.js} +7 -6
- package/dist/src/{base-e2pL9Dg2.js → base-IFkEP-f1.js} +2 -2
- package/dist/src/{base-Bya3Xq-l.js → base-wuaktSuM.js} +7 -6
- package/dist/src/{bestOfN-6RYHfbeS.js → bestOfN-B99Kp3n1.js} +7 -7
- package/dist/src/{bestOfN-DsHy4gMF.cjs → bestOfN-BtBlH3Y1.cjs} +7 -7
- package/dist/src/{bestOfN-DDkIdZME.js → bestOfN-C7cPgSak.js} +7 -7
- package/dist/src/{bestOfN-Cbw8nnar.js → bestOfN-YNF3sLNc.js} +7 -7
- package/dist/src/{billing-nlGj2fi4.js → billing-BhTrP4CT.js} +2 -2
- package/dist/src/{billing-_izMSTD8.js → billing-D0eg28TA.js} +2 -2
- package/dist/src/{billing-K5i9I9vT.cjs → billing-Q1c9C5Or.cjs} +2 -2
- package/dist/src/{billing-CXk1T-EF.js → billing-eFe0xWZw.js} +2 -2
- package/dist/src/cache-Cjok8TBD.js +3 -0
- package/dist/src/{cache-Bwj_lNIo.js → cache-DTOVFNqA.js} +10 -4
- package/dist/src/{cache-C41JuZ74.js → cache-ePPAC5hy.js} +10 -4
- package/dist/src/{cache-DU82DyKI.cjs → cache-g3VTrtsd.cjs} +10 -4
- package/dist/src/{cache-NhFSRGTI.js → cache-xL5UULpy.js} +10 -5
- package/dist/src/{chat-Dt05zdU6.js → chat-1nt-gftw.js} +2 -2
- package/dist/src/{chat-Bh-Qkkm0.js → chat-64whAu1x.js} +2 -2
- package/dist/src/{chat-B43K4ZEW.cjs → chat-B5hzLi-1.cjs} +2 -2
- package/dist/src/{chat-6XCdGjXy.js → chat-BNY6oewj.js} +2 -2
- package/dist/src/{chat-Ds6f4gIO.js → chat-BPcmJMS6.js} +3 -3
- package/dist/src/{chat-CsmFtqbm.js → chat-BbVy4fHI.js} +2 -2
- package/dist/src/{chat-BPZNYAci.js → chat-BfWSvpJp.js} +3 -3
- package/dist/src/{chat-g28uolEO.cjs → chat-BuHuQ8dN.cjs} +13 -12
- package/dist/src/{chat-BUPwwei1.js → chat-C9Xi0123.js} +2 -2
- package/dist/src/{chat-D6SUUPHc.js → chat-CQkXljIT.js} +11 -10
- package/dist/src/{chat-BJT_S-0-.cjs → chat-DQfpTnnW.cjs} +2 -2
- package/dist/src/{chat-BjEpVBWz.js → chat-DQhTLvCt.js} +2 -2
- package/dist/src/{chat-b1tvD2yV.js → chat-Dn1Z6reC.js} +3 -3
- package/dist/src/{chat-DYIP7MZz.js → chat-DqUm2XRG.js} +11 -10
- package/dist/src/{chat-ByXWx4Jn.js → chat-WpIdBaCf.js} +11 -10
- package/dist/src/{chat-D9DdQU09.cjs → chat-psXx3S3c.cjs} +3 -3
- package/dist/src/{claude-agent-sdk-BOt139Ms.js → claude-agent-sdk-ByLXefcP.js} +4 -4
- package/dist/src/{claude-agent-sdk-BbO4g2C3.cjs → claude-agent-sdk-CXAxCt84.cjs} +4 -4
- package/dist/src/{claude-agent-sdk-ClB69ybZ.js → claude-agent-sdk-Ccqr4OHD.js} +4 -4
- package/dist/src/{claude-agent-sdk-DDgSb327.js → claude-agent-sdk-DFDGkJC4.js} +4 -4
- package/dist/src/{client-nl7Ghern.js → client-4bErwdpG.js} +3 -3
- package/dist/src/{client-DvRyvBRs.cjs → client-B8cIFzy1.cjs} +3 -3
- package/dist/src/{client-QLK1dAIt.js → client-Bz_qkOt7.js} +3 -3
- package/dist/src/{client-BpIjXLJ0.js → client-C8mYuoRi.js} +3 -3
- package/dist/src/cloud-BzpJioZO.js +3 -0
- package/dist/src/{cloud-D3FRkXX5.js → cloud-D9lRDzlx.js} +43 -7
- package/dist/src/{cloudflare-ai-CerptSv1.js → cloudflare-ai-BduG_WGt.js} +4 -4
- package/dist/src/{cloudflare-ai-BEu-xQ5J.cjs → cloudflare-ai-C0cr71_N.cjs} +4 -4
- package/dist/src/{cloudflare-ai-Cnaag2kZ.js → cloudflare-ai-DNNHsdi_.js} +4 -4
- package/dist/src/{cloudflare-ai-DpwGGVCv.js → cloudflare-ai-GiqeJOW2.js} +4 -4
- package/dist/src/{cloudflare-gateway-yWM6dZYR.js → cloudflare-gateway-BCd15euW.js} +3 -3
- package/dist/src/{cloudflare-gateway-D_M6cCM_.cjs → cloudflare-gateway-CNwgkjWa.cjs} +3 -3
- package/dist/src/{cloudflare-gateway-DC_kOGWf.js → cloudflare-gateway-D6gTnn0M.js} +3 -3
- package/dist/src/{cloudflare-gateway-BDO7Oy1M.js → cloudflare-gateway-j8ioV3mO.js} +3 -3
- package/dist/src/{codex-app-server-CwK6Xbfe.cjs → codex-app-server-CeT18Dkz.cjs} +6 -6
- package/dist/src/{codex-app-server-YZmDON1h.js → codex-app-server-CjOwEU74.js} +1 -1
- package/dist/src/{codex-app-server-Caz528S8.js → codex-app-server-DW77otWv.js} +5 -5
- package/dist/src/{codex-app-server-DK4HYKYU.js → codex-app-server-GlPHXwGV.js} +5 -5
- package/dist/src/{codex-app-server-DTZ30MNj.js → codex-app-server-krirlx9j.js} +5 -5
- package/dist/src/codex-runtime-BjmQ9rWv.js +5 -0
- package/dist/src/codex-runtime-DYQUgTW-.js +4 -0
- package/dist/src/codex-runtime-o7SyHeWu.js +4 -0
- package/dist/src/codex-runtime-sKhQvTow.cjs +3 -0
- package/dist/src/{codex-sdk-C5VGCVuq.js → codex-sdk-B3LZgJqW.js} +6 -5
- package/dist/src/{codex-sdk-Bxihv7gJ.cjs → codex-sdk-BrhzHGrr.cjs} +7 -6
- package/dist/src/{codex-sdk-BRCGs7KO.js → codex-sdk-DZ_mKG21.js} +6 -5
- package/dist/src/codex-sdk-DkbU2gJR.js +3 -0
- package/dist/src/{codex-sdk-AzoGV5xQ.js → codex-sdk-Gv0vgj5a.js} +6 -5
- package/dist/src/codex-security-71xcR7s3.js +382 -0
- package/dist/src/codex-security-A8dTt6Ov.cjs +386 -0
- package/dist/src/codex-security-DSYUnVdR.js +383 -0
- package/dist/src/codex-security-DqVPI2Th.js +382 -0
- package/dist/src/{cometapi-CFOBA79U.js → cometapi-BdmjhPSR.js} +7 -7
- package/dist/src/{cometapi-Dq70nB-i.js → cometapi-Bst9fl8W.js} +7 -7
- package/dist/src/{cometapi-DEVvRD5z.cjs → cometapi-CPjQpopA.cjs} +7 -7
- package/dist/src/{cometapi-C3SQRHPF.js → cometapi-Duei84Pe.js} +7 -7
- package/dist/src/{completion-Ci8l1pSN.js → completion-BwID-cTv.js} +5 -5
- package/dist/src/{completion-CcbYZDub.js → completion-D90cHpyH.js} +5 -5
- package/dist/src/{completion-wKp5JlDu.js → completion-DSVbiAms.js} +5 -5
- package/dist/src/{completion-Ch4qZHiN.cjs → completion-fjqwBQIQ.cjs} +5 -5
- package/dist/src/{crescendo-QA8kgoFA.cjs → crescendo-Cism3YAo.cjs} +18 -18
- package/dist/src/{crescendo-DXTA2eKd.js → crescendo-Cpj-F0iB.js} +13 -13
- package/dist/src/{crescendo-Dgco_cd5.js → crescendo-DJ3dxaZ8.js} +13 -13
- package/dist/src/{crescendo-By5ZfUli.js → crescendo-DiAK4mXf.js} +13 -13
- package/dist/src/{custom-fIO2MwcN.js → custom-BcSQF7OR.js} +11 -11
- package/dist/src/{custom-CobMcSKD.js → custom-CpA8_KgN.js} +11 -11
- package/dist/src/{custom-CPTsrJYI.js → custom-DfeRaakX.js} +11 -11
- package/dist/src/{custom-DQMMH6yL.cjs → custom-WyC-PH98.cjs} +14 -14
- package/dist/src/{docker-Bhb-hDqU.cjs → docker-5g1NcdAE.cjs} +5 -5
- package/dist/src/{docker-bXiMHPBm.js → docker-B97bdCFf.js} +5 -5
- package/dist/src/{docker-CdqlpwxU.js → docker-CgvCV_lT.js} +5 -5
- package/dist/src/{docker-CLatgAgj.js → docker-D2q5yAnA.js} +5 -5
- package/dist/src/{embedding-DMnl5l3W.js → embedding-B3RQXlr7.js} +5 -5
- package/dist/src/{embedding-cJ7sWqTp.cjs → embedding-C2BHs7bs.cjs} +5 -5
- package/dist/src/{embedding-DWeAJwIi.js → embedding-DgjYhcCm.js} +5 -5
- package/dist/src/{embedding-Kx2Jhb7b.js → embedding-qvISOYlD.js} +5 -5
- package/dist/src/{eval-XZjM8PtE.js → eval-BB4Rvl3w.js} +4 -4
- package/dist/src/{eval-yT4SKSzC.js → eval-BFqlPFXm.js} +1 -1
- package/dist/src/{evalResult-CmUmgA2I.js → evalResult-C9ntrv7r.js} +2 -2
- package/dist/src/{evaluator-BNYv5Xws.js → evaluator-BxDpurGf.js} +21 -20
- package/dist/src/evaluator-DxIVNCZm.js +3 -0
- package/dist/src/{evaluatorHelpers-D2ObFR8i.cjs → evaluatorHelpers-B2c1yYV4.cjs} +8 -7
- package/dist/src/{evaluatorHelpers-C60uhMf4.js → evaluatorHelpers-Bd8xun4J.js} +5 -4
- package/dist/src/{evaluatorHelpers-lNii4N30.js → evaluatorHelpers-CZ2p3rWG.js} +5 -4
- package/dist/src/{evaluatorHelpers-G6saWD9g.js → evaluatorHelpers-CgcFRjns.js} +5 -4
- package/dist/src/fetch-BO4sLtRp.js +3 -0
- package/dist/src/{fetch-BCrWkFgb.js → fetch-CKqW5dym.js} +2 -2
- package/dist/src/{fetch-DxQ9oCzS.cjs → fetch-CQfF18HC.cjs} +2 -2
- package/dist/src/{fetch-DDiGmyRM.js → fetch-Cm0VICza.js} +2 -2
- package/dist/src/{fetch-DTnUr1aF.cjs → fetch-D54lzFcD.cjs} +69 -18
- package/dist/src/{fetch-BdWQKDMj.js → fetch-DnDg-Ics.js} +64 -19
- package/dist/src/{fetch-JNQMF9vN.js → fetch-Dwv9LIL3.js} +2 -2
- package/dist/src/{fetch-Bnj1JCJi.js → fetch-KD8O9oZZ.js} +24 -15
- package/dist/src/{fetch-BjXG13jC.js → fetch-tOnj-VPG.js} +64 -19
- package/dist/src/{functionCallbackUtils-Ck1qbh7p.js → functionCallbackUtils-B-fNUZ4T.js} +3 -3
- package/dist/src/{functionCallbackUtils-BJ2I_9tt.js → functionCallbackUtils-B7KGl5xQ.js} +3 -3
- package/dist/src/{functionCallbackUtils-VbcI1Aub.cjs → functionCallbackUtils-BDroEgNs.cjs} +3 -3
- package/dist/src/{functionCallbackUtils-BGXXxhrC.js → functionCallbackUtils-EjWy67uz.js} +3 -3
- package/dist/src/{gemini-image-8YxPzaSx.js → gemini-image-B4vMqMOQ.js} +4 -4
- package/dist/src/{gemini-image-C5qQIQhS.js → gemini-image-B6ZTrDe5.js} +4 -4
- package/dist/src/{gemini-image-DxTRWDFj.cjs → gemini-image-DYd6vsTn.cjs} +4 -4
- package/dist/src/{gemini-image-CfkY7fEx.js → gemini-image-D_-_Yxtw.js} +4 -4
- package/dist/src/{goat-CR4LFL8E.js → goat-B80KUvGW.js} +14 -14
- package/dist/src/{goat-Dg7N-qgd.js → goat-BKhidS2l.js} +14 -14
- package/dist/src/{goat-D_thj1jf.cjs → goat-Dorh32Ub.cjs} +18 -18
- package/dist/src/{goat-BVp2yIw-.js → goat-jg8kFsKP.js} +14 -14
- package/dist/src/{goblin-4D8Nfpnl.cjs → goblin-B_rz0LjO.cjs} +2 -2
- package/dist/src/{goblin-CZAgIkjX.js → goblin-C8-aCrlP.js} +2 -2
- package/dist/src/{goblin-Dlox542E.js → goblin-CqLJeleh.js} +2 -2
- package/dist/src/{goblin-OrBEar64.js → goblin-CuznsHt0.js} +2 -2
- package/dist/src/{google-CC83MIsJ.cjs → google-8szBGwzV.cjs} +11 -11
- package/dist/src/{google-DRsee0nT.js → google-B1v8u6hy.js} +11 -11
- package/dist/src/{google-Dbpyq6la.js → google-B6p_pWxZ.js} +11 -11
- package/dist/src/{google-LtdcKmFu.js → google-DCn7b9au.js} +11 -11
- package/dist/src/graders-B8dB5kSQ.js +3 -0
- package/dist/src/{graders-vHzBsfHT.js → graders-BPmH2YVm.js} +20 -19
- package/dist/src/{graders-C77c5GiF.js → graders-BWtqxJ75.js} +20 -19
- package/dist/src/{graders-43jk_163.js → graders-CS8YkOd5.js} +21 -20
- package/dist/src/{graders-D7xtBg2s.cjs → graders-DpPGnz8u.cjs} +26 -25
- package/dist/src/{hydra-BBkVh274.js → hydra-CXR6iPRp.js} +12 -12
- package/dist/src/{hydra-CvGcOAZn.js → hydra-Cr1WleCi.js} +1 -1
- package/dist/src/{hydra-WACE_1Zb.js → hydra-DCp4JZxW.js} +12 -12
- package/dist/src/{hydra-DlPvPWLB.js → hydra-HgjWEGIf.js} +12 -12
- package/dist/src/{hydra-B0Aqb-zg.cjs → hydra-RlGwrC81.cjs} +12 -12
- package/dist/src/{image-B7HA9bRW.js → image-B4B444eV.js} +3 -3
- package/dist/src/{image-CLljmxcq.cjs → image-Bkns4wpz.cjs} +3 -3
- package/dist/src/{image-D_yzoOlU.js → image-BqF4qDz6.js} +5 -5
- package/dist/src/{image-RxcUfS9c.js → image-C1bIho6n.js} +4 -4
- package/dist/src/{image-BQf2QP3f.js → image-CFtq9j1u.js} +4 -4
- package/dist/src/{image-B-BLrwzM.js → image-CeAMtI2v.js} +5 -5
- package/dist/src/{image-DD9l6-Hi.cjs → image-ChCkFmER.cjs} +5 -5
- package/dist/src/{image-DQB7ft5H.js → image-Cy0nxgir.js} +3 -3
- package/dist/src/{image-HHqjkpmw.js → image-DDJ5HtyW.js} +3 -3
- package/dist/src/{image-N49IDbzx.cjs → image-DSLZ3_9_.cjs} +4 -4
- package/dist/src/{image-C1Tc1hrH.js → image-Dde5ywa6.js} +4 -4
- package/dist/src/{image-Dll064X0.js → image-G65m_Tkp.js} +5 -5
- package/dist/src/index.cjs +37 -35
- package/dist/src/index.d.cts +2 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.js +26 -24
- package/dist/src/{indirectWebPwn-g-F3__Gp.js → indirectWebPwn-BFdbbs6S.js} +5 -5
- package/dist/src/{indirectWebPwn-Dg4gS14o.js → indirectWebPwn-BeNTvIGX.js} +4 -4
- package/dist/src/{indirectWebPwn-BVsvAUZv.js → indirectWebPwn-BhuZ26Yd.js} +4 -4
- package/dist/src/{indirectWebPwn-DmNLSb0J.js → indirectWebPwn-C-pe6OEr.js} +5 -5
- package/dist/src/{indirectWebPwn-Ch0EQWKt.cjs → indirectWebPwn-CwSQCQGM.cjs} +4 -4
- package/dist/src/{indirectWebPwn-2HDLyS-4.js → indirectWebPwn-DahWlbTc.js} +4 -4
- package/dist/src/{indirectWebPwn-lUx8flGh.cjs → indirectWebPwn-Dcc2nw9e.cjs} +5 -5
- package/dist/src/{indirectWebPwn-P3GLMBT7.js → indirectWebPwn-Dcn8pufK.js} +5 -5
- package/dist/src/{interactions-CqITU8xN.js → interactions-BC_LipMV.js} +5 -5
- package/dist/src/{interactions-vSEfKNox.js → interactions-BUojcIo3.js} +5 -5
- package/dist/src/{interactions-BkHdiUV_.cjs → interactions-CBWiz1sE.cjs} +10 -10
- package/dist/src/{interactions-BwaVVpFQ.js → interactions-FdIt-wCm.js} +5 -5
- package/dist/src/{iterative-CJqvJcCg.cjs → iterative-C03QAXol.cjs} +17 -17
- package/dist/src/{iterative-CmzmX0Ud.js → iterative-C6PvGSZG.js} +13 -13
- package/dist/src/{iterative-BrCMcCPN.js → iterative-C6dOO1pV.js} +13 -13
- package/dist/src/{iterative-Ny9s9zYD.js → iterative-Dm9ed-k9.js} +13 -13
- package/dist/src/{iterativeImage-6UW4D5PR.js → iterativeImage-C1eEEQTU.js} +4 -4
- package/dist/src/{iterativeImage-MQuACdQM.js → iterativeImage-CPdjUydZ.js} +4 -4
- package/dist/src/{iterativeImage-C9ti-N0n.js → iterativeImage-Drxk9690.js} +4 -4
- package/dist/src/{iterativeImage-DrKM797g.cjs → iterativeImage-qpfLOoXo.cjs} +6 -6
- package/dist/src/{iterativeMeta-BFyT65qP.js → iterativeMeta-Bcfzi4sI.js} +12 -12
- package/dist/src/{iterativeMeta-0J6M1Vdv.js → iterativeMeta-CpW_wQO6.js} +12 -12
- package/dist/src/{iterativeMeta-GZVbjagU.cjs → iterativeMeta-DPgnNAss.cjs} +12 -12
- package/dist/src/{iterativeMeta-C1Dh7MxZ.js → iterativeMeta-weggsGV_.js} +12 -12
- package/dist/src/{iterativeTree-BrUcgg6W.js → iterativeTree-CKuB2Z6S.js} +12 -12
- package/dist/src/{iterativeTree-D3_N68uI.js → iterativeTree-Uw3DtvA4.js} +12 -12
- package/dist/src/{iterativeTree-CypPTiqZ.js → iterativeTree-Z5eESQAW.js} +12 -12
- package/dist/src/{iterativeTree-CZMTUJkt.cjs → iterativeTree-sq1SXe1H.cjs} +23 -23
- package/dist/src/{knowledgeBase-oPMm43ZU.js → knowledgeBase-2fh31P8U.js} +4 -4
- package/dist/src/{knowledgeBase-DSmUn4aP.js → knowledgeBase-CZwpvp9c.js} +4 -4
- package/dist/src/{knowledgeBase-BIZW29tN.js → knowledgeBase-Cfr9fuln.js} +4 -4
- package/dist/src/{knowledgeBase-dv8uETfk.cjs → knowledgeBase-Cy5S2dUm.cjs} +4 -4
- package/dist/src/{litellm-CCNfY67w.cjs → litellm-BX6YVwnT.cjs} +4 -4
- package/dist/src/{litellm-CPWGXO61.js → litellm-Bwskx_kf.js} +4 -4
- package/dist/src/{litellm-D2w4bj_z.js → litellm-DG8dC_1P.js} +4 -4
- package/dist/src/{litellm-DB7MRouZ.js → litellm-RtR3zWqA.js} +4 -4
- package/dist/src/{live-CDBvrFTF.cjs → live-BIYLKr6M.cjs} +4 -4
- package/dist/src/{live-BFul3lOj.js → live-BloWTLms.js} +4 -4
- package/dist/src/{live-A1fk8Tl-.js → live-C2hVmTZg.js} +4 -4
- package/dist/src/{live-CRIdbA0o.js → live-CCPXSaYj.js} +4 -4
- package/dist/src/{luma-ray-5CZM_02a.cjs → luma-ray-B3Mt-cN9.cjs} +2 -2
- package/dist/src/{luma-ray-D68mWNcj.js → luma-ray-BGYY3Y9D.js} +2 -2
- package/dist/src/{luma-ray-5Y_J9rjd.js → luma-ray-DTvqEeAb.js} +2 -2
- package/dist/src/{luma-ray-lD3WwDx2.js → luma-ray-Te_YbEBL.js} +2 -2
- package/dist/src/main.js +41 -38
- package/dist/src/{mantleChat-B9O0prU3.js → mantleChat-B7ZGnN3G.js} +2 -2
- package/dist/src/{mantleChat-BRtCbGNb.js → mantleChat-BEwZSACi.js} +2 -2
- package/dist/src/{mantleChat-BNYodgnM.cjs → mantleChat-DRHEiiq7.cjs} +2 -2
- package/dist/src/{mantleChat-aXRLgaar.js → mantleChat-bG3JUmId.js} +2 -2
- package/dist/src/{memoryPoisoning-BP8lqzRR.js → memoryPoisoning-CRCeE8o0.js} +5 -5
- package/dist/src/{memoryPoisoning-CXlBD_-Y.js → memoryPoisoning-DPz_mF21.js} +5 -5
- package/dist/src/{memoryPoisoning-B2dsdKye.cjs → memoryPoisoning-DRIrT0Zv.cjs} +5 -5
- package/dist/src/{memoryPoisoning-C2cyu0C-.js → memoryPoisoning-DUqPlY5F.js} +5 -5
- package/dist/src/{messages-B5cYbsZJ.cjs → messages-BDbtGaqI.cjs} +8 -8
- package/dist/src/{messages-C1diy8zs.js → messages-C306BIuu.js} +8 -8
- package/dist/src/{messages-C9rJcTgf.js → messages-Cqi4nZlY.js} +8 -8
- package/dist/src/{messages-C3_Aa793.js → messages-W898zuCm.js} +8 -8
- package/dist/src/{mischievousUser-BM8LRsDW.js → mischievousUser-4wlyqv76.js} +5 -5
- package/dist/src/{mischievousUser-SPu0AbcD.js → mischievousUser-B1-HU9CD.js} +5 -5
- package/dist/src/{mischievousUser-BVr9ULj0.js → mischievousUser-BJQRmmfP.js} +5 -5
- package/dist/src/{mischievousUser-BDv5f6eO.cjs → mischievousUser-CHIJi5vr.cjs} +5 -5
- package/dist/src/{modelslab-9k-zzEfW.cjs → modelslab-CLDbPmPX.cjs} +3 -3
- package/dist/src/{modelslab-VVi56eHt.js → modelslab-CZ03gaHC.js} +3 -3
- package/dist/src/{modelslab-SFmxkyC5.js → modelslab-Cj0cBlIy.js} +3 -3
- package/dist/src/{modelslab-CvNCpR5m.js → modelslab-DPG6v3Oa.js} +3 -3
- package/dist/src/{nova-reel-DvEcNfJd.js → nova-reel-B401inIg.js} +2 -2
- package/dist/src/{nova-reel-DZRncxke.cjs → nova-reel-D8AFHBH-.cjs} +2 -2
- package/dist/src/{nova-reel-Dtr84O_-.js → nova-reel-RFBr44SY.js} +2 -2
- package/dist/src/{nova-reel-C7RtmR9_.js → nova-reel-sCfu2U7B.js} +2 -2
- package/dist/src/{nova-sonic-B4wexztM.cjs → nova-sonic-B1QLKfJe.cjs} +2 -2
- package/dist/src/{nova-sonic-DXnFfrox.js → nova-sonic-D3CP2Y2f.js} +2 -2
- package/dist/src/{nova-sonic-KyVv4RyY.js → nova-sonic-DPbzYDKH.js} +2 -2
- package/dist/src/{nova-sonic-Doe7LDx_.js → nova-sonic-DlgK5oIa.js} +2 -2
- package/dist/src/{openaiResponses-C3Ml3xst.cjs → openaiResponses-Be2L8u1C.cjs} +2 -2
- package/dist/src/{openaiResponses-CE5BAFhg.js → openaiResponses-CDvzqtsT.js} +2 -2
- package/dist/src/{openaiResponses-CEPZVzZz.js → openaiResponses-CPVWxpRK.js} +2 -2
- package/dist/src/{openaiResponses-DhO4eHg0.js → openaiResponses-sdWTgYPz.js} +2 -2
- package/dist/src/{openclaw-DOZfTvJO.js → openclaw-CKvd8EzM.js} +5 -5
- package/dist/src/{openclaw-XMg8C92z.cjs → openclaw-CSWfAv7N.cjs} +5 -5
- package/dist/src/{openclaw-CbJpj7T8.js → openclaw-Cusi9mm2.js} +5 -5
- package/dist/src/{openclaw-Bugs4BPX.js → openclaw-SY4Ur74P.js} +5 -5
- package/dist/src/{opencode-sdk-CoCVfums.js → opencode-sdk-AGZbtWlq.js} +2 -2
- package/dist/src/{opencode-sdk-Cid8t6m7.cjs → opencode-sdk-B9Dcws4x.cjs} +2 -2
- package/dist/src/{opencode-sdk-CKbY24l_.js → opencode-sdk-ClpPufaf.js} +2 -2
- package/dist/src/{opencode-sdk-mkkCU9O6.js → opencode-sdk-CwBVY4H1.js} +2 -2
- package/dist/src/{openinterpreter-esp9h7Qu.js → openinterpreter-BF1BIP3x.js} +3 -3
- package/dist/src/{openinterpreter-B09Fvndf.js → openinterpreter-Ba9uEUB3.js} +3 -3
- package/dist/src/{openinterpreter-O-8L3wHT.js → openinterpreter-CjAfk7zr.js} +3 -3
- package/dist/src/{openinterpreter-DmCcocbX.cjs → openinterpreter-CjvjRmfR.cjs} +4 -4
- package/dist/src/{promptfoo-BzTq3CZR.cjs → promptfoo-B3EDkr9n.cjs} +4 -4
- package/dist/src/{promptfoo-BnRYCHWo.js → promptfoo-BeCm2WDJ.js} +4 -4
- package/dist/src/{promptfoo-DmLIq1Fg.js → promptfoo-ByMuyN2p.js} +4 -4
- package/dist/src/{promptfoo-DFE6FPtn.js → promptfoo-HD40ugrk.js} +4 -4
- package/dist/src/{providers-YJTtc38R.js → providers-BbgOo13t.js} +68 -48
- package/dist/src/{providers-Dbcg914T.js → providers-BmppqfDI.js} +70 -50
- package/dist/src/{providers-DbRpLhoc.js → providers-C75KcJPJ.js} +68 -48
- package/dist/src/{providers-ASKoKjG0.cjs → providers-CRCoPqQH.cjs} +116 -96
- package/dist/src/{providers-59LpYr3g.js → providers-DI6OXKnh.js} +1 -1
- package/dist/src/{quiverai-BsabGKm2.js → quiverai-8--n-u4s.js} +3 -3
- package/dist/src/{quiverai-dEV-iH9x.cjs → quiverai-CPa-eT-O.cjs} +3 -3
- package/dist/src/{quiverai-CfQpkyAP.js → quiverai-Cyt6JU4X.js} +3 -3
- package/dist/src/{quiverai-D4M0KkyD.js → quiverai-pbddNqGK.js} +3 -3
- package/dist/src/{registry-QpHnWcMr.cjs → registry-3k9Gai1o.cjs} +15 -15
- package/dist/src/{registry-C_cHVcat.js → registry-BdsjaDF0.js} +15 -15
- package/dist/src/{registry-BAiKTqod.js → registry-C63p_cTi.js} +15 -15
- package/dist/src/{registry-BnTKy_CX.js → registry-C842b92A.js} +15 -15
- package/dist/src/{remoteGeneration-PxK1EefI.cjs → remoteGeneration-C0Ev99MO.cjs} +4 -4
- package/dist/src/{remoteGeneration-B0eQSIHo.js → remoteGeneration-Cc78LDjQ.js} +4 -4
- package/dist/src/{remoteGeneration-CwQ0KBdC.js → remoteGeneration-DGJxSMYI.js} +4 -4
- package/dist/src/{remoteGeneration-CopIeiNI.js → remoteGeneration-DnSGqkoH.js} +4 -4
- package/dist/src/render-BRIaR8VG.js +348 -0
- package/dist/src/render-C1VJjFT2.cjs +383 -0
- package/dist/src/render-DIhuKgcQ.js +347 -0
- package/dist/src/render-zarxdXS7.js +347 -0
- package/dist/src/{responses-Cf45MBI8.js → responses-B72c3dpg.js} +8 -7
- package/dist/src/{responses-CB2IgICL.js → responses-DVF5R5Il.js} +8 -7
- package/dist/src/{responses-Doa5xhY1.cjs → responses-DiZCcd1S.cjs} +10 -9
- package/dist/src/{responses-Ci3OK0i0.js → responses-ykcvZ0oE.js} +8 -7
- package/dist/src/{runtimeTransform-BiANYoNE.cjs → runtimeTransform-6aaLbaUN.cjs} +2 -2
- package/dist/src/{runtimeTransform-DCRyBnI7.js → runtimeTransform-Bf5Aif-g.js} +2 -2
- package/dist/src/{runtimeTransform-Dvxqdevg.js → runtimeTransform-DVpy5lDj.js} +2 -2
- package/dist/src/{runtimeTransform-PGM7l51H.js → runtimeTransform-rEgJC2VZ.js} +2 -2
- package/dist/src/{sagemaker-D8O3f2bO.js → sagemaker-BzAkO4HL.js} +9 -9
- package/dist/src/{sagemaker-mlPtR7-q.js → sagemaker-C35al2QN.js} +9 -9
- package/dist/src/{sagemaker-2TZPOS4O.js → sagemaker-D8HnIjWK.js} +9 -9
- package/dist/src/{sagemaker-OlHR8fru.cjs → sagemaker-I0Ei2kNn.cjs} +9 -9
- package/dist/src/{scanner-Dt3oFdeb.js → scanner-De5yM_DC.js} +5 -5
- package/dist/src/server/index.js +31 -29
- package/dist/src/server-B5-TIxn2.js +3 -0
- package/dist/src/{server-MNuRsmJQ.js → server-BaM1Q5gD.js} +4 -4
- package/dist/src/{server-CkrRpgsu.cjs → server-BpmZ1EP0.cjs} +3 -3
- package/dist/src/{server-L884Wtbc.js → server-CqQtEkS_.js} +4 -4
- package/dist/src/{server-lm2H6tXC.js → server-DB1I8Xl3.js} +3 -3
- package/dist/src/{shared-D5rN2VlH.js → shared-BkcgE6vB.js} +14 -14
- package/dist/src/{shared-IP25vMkJ.cjs → shared-Bl84k1Oo.cjs} +14 -14
- package/dist/src/{shared-Dk1AVE9w.js → shared-CkERSpeg.js} +14 -14
- package/dist/src/{shared-yyb3qFQd.js → shared-jcnXW0lA.js} +16 -16
- package/dist/src/{simulatedUser-9Ru_f_dX.js → simulatedUser-BK0F6Lub.js} +5 -4
- package/dist/src/{simulatedUser-6ys8hxx_.js → simulatedUser-BTox0iZp.js} +5 -4
- package/dist/src/{simulatedUser-BQghw48z.cjs → simulatedUser-ByVb7gXp.cjs} +8 -7
- package/dist/src/{simulatedUser-BHmmQ4hb.js → simulatedUser-C8WconFg.js} +5 -4
- package/dist/src/{slack-C--lAIHY.js → slack-7DG3xMM4.js} +2 -2
- package/dist/src/{slack-CxCLWDSi.js → slack-BvWGK3kV.js} +2 -2
- package/dist/src/{slack-6c3iW1pP.cjs → slack-DqFNyAEf.cjs} +2 -2
- package/dist/src/{slack-D_QGURhP.js → slack-spSrgvZu.js} +2 -2
- package/dist/src/{storage-BFmq8CKG.cjs → storage-BX5ws4jD.cjs} +11 -11
- package/dist/src/{storage-J-nYoltq.js → storage-B_t-NiUa.js} +11 -11
- package/dist/src/{storage-BC3GVwPL.js → storage-CVVbTVYC.js} +11 -11
- package/dist/src/{storage-DGeXeJj0.js → storage-CrqPUKqY.js} +12 -12
- package/dist/src/{strategies-C6oBZHYF.js → strategies-CaqOj9gZ.js} +10 -10
- package/dist/src/{strategies-Bn1z2exW.cjs → strategies-DJfqHuoT.cjs} +10 -10
- package/dist/src/{strategies-BMxIs2Jx.js → strategies-DVRYSzm8.js} +10 -10
- package/dist/src/{strategies-cFTP9vSw.js → strategies-DpZ1ydwx.js} +11 -11
- package/dist/src/{telemetry-D64Cj0UR.js → telemetry-BD4xF9d_.js} +3 -3
- package/dist/src/{telemetry-Bqa8fxWp.js → telemetry-BQZTDom3.js} +3 -3
- package/dist/src/{telemetry-CIaL2pmn.js → telemetry-CJdYAcRk.js} +3 -3
- package/dist/src/telemetry-ClfmjQQj.js +3 -0
- package/dist/src/{telemetry-DVYPYBQH.cjs → telemetry-cZi2RTrN.cjs} +3 -3
- package/dist/src/{traceContext-CNp7smkn.js → traceContext-2sZXHY0h.js} +2 -2
- package/dist/src/{traceContext-D7liCnkq.js → traceContext-B3qWxoa7.js} +2 -2
- package/dist/src/{traceContext-BuXw2Yxu.cjs → traceContext-achbslCl.cjs} +2 -2
- package/dist/src/{traceContext-B4vypxe_.js → traceContext-jOhKJ5Ty.js} +2 -2
- package/dist/src/{transcription-SiDe8ogZ.js → transcription-1iEk_fG7.js} +4 -4
- package/dist/src/{transcription-Dq6gB3km.js → transcription-CtogIwZI.js} +4 -4
- package/dist/src/{transcription-BQg4-zD7.cjs → transcription-CuNQgPv9.cjs} +4 -4
- package/dist/src/{transcription-Zq-_5uca.js → transcription-RRwDmQBI.js} +4 -4
- package/dist/src/{transform-CdcZMCo-.js → transform-2ldksCeN.js} +3 -3
- package/dist/src/{transform-BfiH9c1w.js → transform-BesK7nGM.js} +3 -3
- package/dist/src/{transform-CCHDyuc8.cjs → transform-DS2y12jo.cjs} +3 -3
- package/dist/src/{transform-D0QSXU95.js → transform-ciU2euIH.js} +3 -3
- package/dist/src/{util-tlprLsf4.js → util-9K7THVcA2.js} +2 -2
- package/dist/src/{util-BoTwsVvn.js → util-BKfPcBQN.js} +4 -4
- package/dist/src/{util-L5T81aJ0.cjs → util-BPkxeLuk.cjs} +10 -387
- package/dist/src/{util-Ur5TGF_w.js → util-BPlSGvsQ.js} +4 -3
- package/dist/src/{util-uYYKYi7_.js → util-BPtpPW4O.js} +5 -346
- package/dist/src/{util-EBjz-RBV.js → util-BaGd-bCr.js} +2 -2
- package/dist/src/{util-BJ42x4mo.js → util-Bac0h5Sr.js} +2 -2
- package/dist/src/{util-ChbabPn9.cjs → util-Bd8_MhVm.cjs} +2 -2
- package/dist/src/{util-BxmNax2U.js → util-BdN7DdPq.js} +4 -3
- package/dist/src/{util-DdGIEAK_.js → util-BnytsHEr.js} +5 -346
- package/dist/src/{util-COyt9Xaf.cjs → util-BuKoPAn3.cjs} +4 -4
- package/dist/src/{util-BVDvJqrO.js → util-CEecmC3Y.js} +4 -4
- package/dist/src/{util-CZ9shpIL.js → util-CJi6Bgno.js} +3 -3
- package/dist/src/{util-BdAsuWmv.js → util-CZyLhvIk.js} +6 -347
- package/dist/src/{util-CeP1x2P-.cjs → util-Cadd9fGT.cjs} +3 -3
- package/dist/src/{util-DT7Jko3E.js → util-CzWbxb9R.js} +4 -3
- package/dist/src/{util-CVbeMrg1.js → util-DHtnWbEL.js} +3 -3
- package/dist/src/{util-BDDaDhsI.cjs → util-DSwbJPgL.cjs} +7 -6
- package/dist/src/{util-BNvjVvcH.cjs → util-DhtW6BNS.cjs} +5 -4
- package/dist/src/{util-CmRx53hM.js → util-DiVs2Kf-.js} +4 -3
- package/dist/src/{util-DxyypCZC.js → util-DlFpV1xV.js} +4 -4
- package/dist/src/{util-DtOvD10k.js → util-DlT2H1W5.js} +3 -3
- package/dist/src/{util-PX9qBGnk.js → util-InmFNqSw.js} +4 -3
- package/dist/src/{util-CwUz9jYN.js → util-Rbl6Om9L2.js} +4 -3
- package/dist/src/{vertex-BGBoge5t.js → vertex-BJYJC-Tr.js} +8 -7
- package/dist/src/{vertex-BKhWzpAp.js → vertex-CRMbWhh2.js} +8 -7
- package/dist/src/{vertex-BpaCFvPe.js → vertex-DWXywdFu.js} +8 -7
- package/dist/src/{vertex-FM6gcfuB.cjs → vertex-DXmhY_4R.cjs} +10 -9
- package/dist/src/{vertex-DPgy1bci.js → vertex-Xq6Hc4hv.js} +1 -1
- package/dist/src/{video-CLhmUJuz.js → video-1uQOdg9A.js} +3 -3
- package/dist/src/{video-C4hvGFWO.js → video-BMnt4dq9.js} +3 -3
- package/dist/src/{video-DV7VnFDb.js → video-CZ5He3fP.js} +3 -3
- package/dist/src/{video-CFJeZvvL.cjs → video-ChxZLKTs.cjs} +3 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -6
- package/dist/src/cache-Ca6QI7yz.js +0 -3
- package/dist/src/cloud-aeP705RD.js +0 -3
- package/dist/src/codex-sdk-CMTTOSVq.js +0 -3
- package/dist/src/evaluator-CRrA6xHS.js +0 -3
- package/dist/src/fetch-BYe9zZ94.js +0 -3
- package/dist/src/graders-fvvHDb5X.js +0 -3
- package/dist/src/server-DmrHjxNq.js +0 -3
- package/dist/src/telemetry-BvzHQKBp.js +0 -3
|
@@ -1,40 +1,41 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { t as getProcessShim } from "./processShim-Ds5EYUIE.js";
|
|
3
3
|
import { A as summarizeEvaluateResultForLogging, B as getMaxEvalTimeMs, E as getAjv, F as getEnvBool, L as getEnvInt, R as getEnvString, T as extractJsonObjects, U as state, V as isCI, c as logger, h as preserveTracingCredentialReferences, i as globalLogCallback, j as loadYaml, k as safeJsonStringify, l as setLogCallback, w as extractFirstJsonObject, z as getEvalTimeoutMs } from "./logger-YzVIwMVq.js";
|
|
4
|
-
import { A as isApiProvider, M as FILE_METADATA_KEY, i as getResultIndexKey, k as generateIdFromPrompt, r as asEvaluateResult, s as sanitizeResultForJsonlArtifact, t as EvalResult } from "./evalResult-
|
|
5
|
-
import {
|
|
4
|
+
import { A as isApiProvider, M as FILE_METADATA_KEY, i as getResultIndexKey, k as generateIdFromPrompt, r as asEvaluateResult, s as sanitizeResultForJsonlArtifact, t as EvalResult } from "./evalResult-C9ntrv7r.js";
|
|
5
|
+
import { A as getRequestTimeoutMs, C as isNonTransientHttpStatus, I as parseChatPrompt, N as isPromptfooSampleTarget, X as VERSION, i as fetchWithRetries, x as isAbortError } from "./fetch-KD8O9oZZ.js";
|
|
6
6
|
import { t as invariant } from "./invariant-CbHB1xyx.js";
|
|
7
|
-
import { s as getUserEmail } from "./accounts-
|
|
7
|
+
import { s as getUserEmail } from "./accounts-DApS8Gpe.js";
|
|
8
8
|
import { n as sleep } from "./time-Ct6CnABs.js";
|
|
9
|
-
import { n as telemetry } from "./telemetry-
|
|
9
|
+
import { n as telemetry } from "./telemetry-BD4xF9d_.js";
|
|
10
10
|
import { A as isCliEventSource, N as filterByRange, O as isGradingResult, w as ResultFailureReason, wt as MULTI_INPUT_VAR, xt as LLAMA_GUARD_REPLICATE_PROVIDER } from "./tables-DpSgejqG.js";
|
|
11
11
|
import { i as isJavascriptFile } from "./fileExtensions-CAc10_Jb.js";
|
|
12
12
|
import { t as providerRegistry } from "./providerRegistry-icQCXwgg.js";
|
|
13
13
|
import { i as withSpanRole, r as getActiveTraceparent, t as SPAN_ROLE_ATTRIBUTE } from "./spanRoles-Do-jyyl2.js";
|
|
14
14
|
import { c as getGenAITracer, d as sanitizeBody, f as withGenAISpan, n as PromptfooAttributes, t as GenAIAttributes } from "./genaiTracer-BRW5P2xD.js";
|
|
15
|
-
import {
|
|
16
|
-
import { a as
|
|
17
|
-
import { a as isAgenticProvider } from "./agentic-utils-Cswmio9j.js";
|
|
15
|
+
import { a as getCache, f as withCacheNamespace, i as fetchWithCache } from "./cache-xL5UULpy.js";
|
|
16
|
+
import { a as isAgenticGradingProvider } from "./agentic-utils-DOMq4mqJ.js";
|
|
18
17
|
import { n as removeSecureTempDirectory, r as writeSecureTempFile, t as createSecureTempDirectory } from "./secureTempFiles-DkFNta5J.js";
|
|
19
18
|
import { r as runPython } from "./pythonUtils-BKRucqaP.js";
|
|
19
|
+
import { A as sanitizeProviderIdForLog, D as isGoogleProvider, E as isAnthropicProvider, J as loadFunction, O as isOpenAiProvider, T as getProviderIdentifier, V as maybeLoadToolsFromExternalFile, Y as parseFileUrl, k as isProviderAllowed, s as getOutputFileFormat } from "./util-CZyLhvIk.js";
|
|
20
|
+
import { i as extractVariablesFromTemplate, o as getNunjucksEngine, r as analyzeTemplateReference, t as renderEnvOnlyInObject } from "./render-BRIaR8VG.js";
|
|
20
21
|
import { t as extractAndStoreBinaryData } from "./extractor-8jl9p5Oy.js";
|
|
21
22
|
import { c as accumulateTokenUsage, d as createEmptyTokenUsage, f as getErrorTokenUsage, i as accumulateGradingRequest, l as cloneTokenUsageBreakdown, n as accumulateAttackerTokenUsage, o as accumulateGradingTokenUsage, p as normalizeTokenUsage, s as accumulateResponseTokenUsage, t as accumulateAssertionTokenUsage, u as createEmptyAssertions } from "./tokenUsageUtils-Cf6nFV6z.js";
|
|
22
|
-
import { v as validateFunctionCall } from "./util-
|
|
23
|
+
import { v as validateFunctionCall } from "./util-DlT2H1W5.js";
|
|
23
24
|
import { s as getDefaultOtelConfig } from "./tracing-D7QJcXmX.js";
|
|
24
25
|
import { a as TOOL_ARGUMENT_ATTRIBUTE_KEYS, c as getToolNameFromAttributes, i as SEARCH_ATTRIBUTE_KEYS, n as getTraceStore, o as getFirstStringAttribute, r as COMMAND_ATTRIBUTE_KEYS } from "./store-_fAGlpRg.js";
|
|
25
|
-
import { d as shouldGenerateRemote, h as getCodexDefaultProviders, i as getRemoteGenerationUrl, p as remoteGenerationContextPayload, r as getRemoteGenerationHeaders } from "./remoteGeneration-
|
|
26
|
-
import { $ as DEFAULT_WEB_SEARCH_PROMPT, Ct as getAndCheckProvider, Dt as getCloudTargetIdFromProviders, Et as shouldUseRemoteGrading, G as matchesLlmRubric, H as matchesClosedQa, J as doRemoteGrading, K as matchesPiScore, Q as DEFAULT_AGENT_GRADING_PROMPT, St as callProviderWithContext, Tt as getRemoteGradingContext, U as matchesFactuality, V as isGraderFailure, W as matchesGEval, _t as loadFromJavaScriptFile, at as runJsonGradingPrompt, bt as DEFAULT_ANTHROPIC_MODEL, ct as euclideanDistance, dt as normalizeMatcherTokenUsage, ft as splitIntoSentences, gt as getFinalTest, ht as coerceString, it as renderLlmRubricPrompt, lt as fail, mt as tryParse, n as getGraderById, nt as SUGGEST_PROMPTS_SYSTEM_MESSAGE, ot as cosineSimilarity, pt as splitTextIntoSentences, q as matchesTrajectoryGoalSuccess, rt as loadRubricPrompt, st as dotProduct, tt as SELECT_BEST_PROMPT, ut as graderFail, vt as processFileReference, wt as getGradingProvider, xt as callGradingProvider, yt as getDefaultProviders } from "./graders-
|
|
27
|
-
import { c as promptYesNo } from "./server-
|
|
28
|
-
import { n as loadApiProvider, p as MCPProvider } from "./providers-
|
|
26
|
+
import { d as shouldGenerateRemote, h as getCodexDefaultProviders, i as getRemoteGenerationUrl, p as remoteGenerationContextPayload, r as getRemoteGenerationHeaders } from "./remoteGeneration-Cc78LDjQ.js";
|
|
27
|
+
import { $ as DEFAULT_WEB_SEARCH_PROMPT, Ct as getAndCheckProvider, Dt as getCloudTargetIdFromProviders, Et as shouldUseRemoteGrading, G as matchesLlmRubric, H as matchesClosedQa, J as doRemoteGrading, K as matchesPiScore, Q as DEFAULT_AGENT_GRADING_PROMPT, St as callProviderWithContext, Tt as getRemoteGradingContext, U as matchesFactuality, V as isGraderFailure, W as matchesGEval, _t as loadFromJavaScriptFile, at as runJsonGradingPrompt, bt as DEFAULT_ANTHROPIC_MODEL, ct as euclideanDistance, dt as normalizeMatcherTokenUsage, ft as splitIntoSentences, gt as getFinalTest, ht as coerceString, it as renderLlmRubricPrompt, lt as fail, mt as tryParse, n as getGraderById, nt as SUGGEST_PROMPTS_SYSTEM_MESSAGE, ot as cosineSimilarity, pt as splitTextIntoSentences, q as matchesTrajectoryGoalSuccess, rt as loadRubricPrompt, st as dotProduct, tt as SELECT_BEST_PROMPT, ut as graderFail, vt as processFileReference, wt as getGradingProvider, xt as callGradingProvider, yt as getDefaultProviders } from "./graders-CS8YkOd5.js";
|
|
28
|
+
import { c as promptYesNo } from "./server-BaM1Q5gD.js";
|
|
29
|
+
import { n as loadApiProvider, p as MCPProvider } from "./providers-BmppqfDI.js";
|
|
29
30
|
import { n as loadFromPackage, t as isPackagePath } from "./packageParser-YsNUv3fd.js";
|
|
30
31
|
import { n as runRuby } from "./rubyUtils-XWvHX0Rp.js";
|
|
31
|
-
import { c as isBasicRefusal, f as recordGenerationTokenUsage, o as getSessionId } from "./util-
|
|
32
|
-
import { A as getProviderCallTracingContext, C as TokenUsageTracker, D as createProviderRateLimitOptions, M as withProviderCallTracingContext, S as throwIfTargetPromptExceedsMaxChars, g as redteamProviderManager, j as withProviderCallExecutionContext, k as getProviderCallExecutionContext, w as createRateLimitRegistry } from "./shared-
|
|
32
|
+
import { c as isBasicRefusal, f as recordGenerationTokenUsage, o as getSessionId } from "./util-DlFpV1xV.js";
|
|
33
|
+
import { A as getProviderCallTracingContext, C as TokenUsageTracker, D as createProviderRateLimitOptions, M as withProviderCallTracingContext, S as throwIfTargetPromptExceedsMaxChars, g as redteamProviderManager, j as withProviderCallExecutionContext, k as getProviderCallExecutionContext, w as createRateLimitRegistry } from "./shared-jcnXW0lA.js";
|
|
33
34
|
import { a as getTransformLabel, i as getTransformErrorMessage, o as transform, r as TransformInputType } from "./transform-BBv6X1Ag.js";
|
|
34
35
|
import { n as getActualPromptWithFallback } from "./providerResponse-ChVTuVd0.js";
|
|
35
|
-
import { n as checkExfilTracking } from "./indirectWebPwn-
|
|
36
|
-
import { i as filterFiniteScores, n as renderPrompt, r as runExtensionHook, t as collectFileMetadata } from "./evaluatorHelpers-
|
|
37
|
-
import { n as fetchTraceContext, r as isExternalTraceProvider } from "./traceContext-
|
|
36
|
+
import { n as checkExfilTracking } from "./indirectWebPwn-BhuZ26Yd.js";
|
|
37
|
+
import { i as filterFiniteScores, n as renderPrompt, r as runExtensionHook, t as collectFileMetadata } from "./evaluatorHelpers-CgcFRjns.js";
|
|
38
|
+
import { n as fetchTraceContext, r as isExternalTraceProvider } from "./traceContext-2sZXHY0h.js";
|
|
38
39
|
import { AsyncResource } from "node:async_hooks";
|
|
39
40
|
import chalk from "chalk";
|
|
40
41
|
import { z as z$1 } from "zod";
|
|
@@ -1104,7 +1105,7 @@ async function generateTraceContextIfNeeded(test, evaluateOptions, testIdx, prom
|
|
|
1104
1105
|
async function matchesAgentRubric(rubric, llmOutput, grading, vars, assertion, providerCallContext) {
|
|
1105
1106
|
if (!grading) throw new Error("Cannot grade output without grading config. Specify --grader option or grading config.");
|
|
1106
1107
|
const agentProvider = (grading.provider ? await getGradingProvider("text", grading.provider, null) : null) || getCodexDefaultProviders().llmRubricProvider;
|
|
1107
|
-
if (!agentProvider || !
|
|
1108
|
+
if (!agentProvider || !isAgenticGradingProvider(agentProvider)) throw new Error("agent-rubric assertion requires an agentic grading provider. Use openai:codex-sdk, openai:codex-app-server, anthropic:claude-agent-sdk, openinterpreter, or opencode:sdk.");
|
|
1108
1109
|
const result = await runJsonGradingPrompt({
|
|
1109
1110
|
assertion,
|
|
1110
1111
|
checkName: "agent-rubric check",
|
|
@@ -8340,7 +8341,7 @@ async function resolveDefaultTestProvider(defaultTest, testCase) {
|
|
|
8340
8341
|
const defaultProvider = defaultTest.provider;
|
|
8341
8342
|
if (isApiProvider(defaultProvider)) return defaultProvider;
|
|
8342
8343
|
if (typeof defaultProvider === "object" && defaultProvider.id) {
|
|
8343
|
-
const { loadApiProvider } = await import("./providers-
|
|
8344
|
+
const { loadApiProvider } = await import("./providers-DI6OXKnh.js");
|
|
8344
8345
|
return loadApiProvider(typeof defaultProvider.id === "function" ? defaultProvider.id() : defaultProvider.id, { options: defaultProvider });
|
|
8345
8346
|
}
|
|
8346
8347
|
return defaultProvider;
|
|
@@ -9679,4 +9680,4 @@ function evaluate(testSuite, evalRecord, options, runtime) {
|
|
|
9679
9680
|
//#endregion
|
|
9680
9681
|
export { isPromptAllowed as _, generateVarCombinations as a, runAssertions as b, isAllowedPrompt as c, isProviderTypeMap as d, resolveConfiguredProviderReference as f, doesPromptRefMatch as g, formatPrompts as h, formatVarsForDisplay as i, accumulateNamedMetric as l, fetchRemoteGeneration as m, PromptSuggestionsRejectedError as n, getTraceId as o, callExtraction as p, evaluate as r, getTraceLinkage as s, ProgressBarManager as t, buildConfiguredProviderMap as u, warnEmptyFilterRange as v, readAssertions as y };
|
|
9681
9682
|
|
|
9682
|
-
//# sourceMappingURL=evaluator-
|
|
9683
|
+
//# sourceMappingURL=evaluator-BxDpurGf.js.map
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
const require_logger = require("./logger-BN3n9c1R.cjs");
|
|
2
2
|
const require_invariant = require("./invariant-C2JOzzO2.cjs");
|
|
3
|
-
|
|
4
|
-
const require_fetch = require("./fetch-
|
|
3
|
+
require("./util-BPkxeLuk.cjs");
|
|
4
|
+
const require_fetch = require("./fetch-D54lzFcD.cjs");
|
|
5
5
|
const require_fileExtensions = require("./fileExtensions-BQZEFw03.cjs");
|
|
6
6
|
const require_esm = require("./esm-DQhzWczC.cjs");
|
|
7
7
|
const require_pythonUtils = require("./pythonUtils-CqlMEmzG.cjs");
|
|
8
|
+
const require_render = require("./render-C1VJjFT2.cjs");
|
|
8
9
|
const require_packageParser = require("./packageParser-DpmHM-J_.cjs");
|
|
9
10
|
const require_transform = require("./transform-Bz311bXX.cjs");
|
|
10
|
-
const require_telemetry = require("./telemetry-
|
|
11
|
+
const require_telemetry = require("./telemetry-cZi2RTrN.cjs");
|
|
11
12
|
let fs_promises = require("fs/promises");
|
|
12
13
|
fs_promises = require_logger.__toESM(fs_promises, 1);
|
|
13
14
|
let path = require("path");
|
|
@@ -167,7 +168,7 @@ function autoWrapRawIfPartialNunjucks(prompt) {
|
|
|
167
168
|
return prompt;
|
|
168
169
|
}
|
|
169
170
|
function referencesUndefinedVariables(template, vars) {
|
|
170
|
-
return
|
|
171
|
+
return require_render.extractVariablesFromTemplate(template).some((variableName) => {
|
|
171
172
|
const rootVariableName = /^([A-Za-z_]\w*)/.exec(variableName)?.[1];
|
|
172
173
|
return Boolean(rootVariableName && rootVariableName !== "env" && vars[rootVariableName] === void 0);
|
|
173
174
|
});
|
|
@@ -274,7 +275,7 @@ function detectMimeFromBase64(base64Data) {
|
|
|
274
275
|
* @returns The rendered prompt string
|
|
275
276
|
*/
|
|
276
277
|
async function renderPrompt(prompt, vars, nunjucksFilters, provider, skipRenderVars) {
|
|
277
|
-
const nunjucks =
|
|
278
|
+
const nunjucks = require_render.getNunjucksEngine(nunjucksFilters);
|
|
278
279
|
let basePrompt = prompt.raw;
|
|
279
280
|
for (const [varName, value] of Object.entries(vars)) {
|
|
280
281
|
if (skipRenderVars?.includes(varName)) continue;
|
|
@@ -390,7 +391,7 @@ async function renderPrompt(prompt, vars, nunjucksFilters, provider, skipRenderV
|
|
|
390
391
|
return nunjucks.renderString(basePrompt, vars);
|
|
391
392
|
}
|
|
392
393
|
const parsed = JSON.parse(basePrompt);
|
|
393
|
-
return JSON.stringify(
|
|
394
|
+
return JSON.stringify(require_render.renderVarsInObject(parsed, vars), null, 2);
|
|
394
395
|
} catch {
|
|
395
396
|
const renderedVars = Object.fromEntries(Object.entries(vars).map(([key, value]) => {
|
|
396
397
|
if (typeof value !== "string" || skipRenderVars?.includes(key) || varsResolvedFromSkipped.has(key)) return [key, value];
|
|
@@ -584,4 +585,4 @@ Object.defineProperty(exports, "runExtensionHook", {
|
|
|
584
585
|
}
|
|
585
586
|
});
|
|
586
587
|
|
|
587
|
-
//# sourceMappingURL=evaluatorHelpers-
|
|
588
|
+
//# sourceMappingURL=evaluatorHelpers-B2c1yYV4.cjs.map
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { O as loadYaml, P as getEnvString, R as state, j as getEnvBool, o as logger } from "./logger-BKiOczgq.js";
|
|
2
2
|
import { t as invariant } from "./invariant-CHP0zrix.js";
|
|
3
|
-
import
|
|
4
|
-
import { t as fetchWithProxy } from "./fetch-
|
|
3
|
+
import "./util-BnytsHEr.js";
|
|
4
|
+
import { t as fetchWithProxy } from "./fetch-tOnj-VPG.js";
|
|
5
5
|
import { a as isVideoFile, i as isJavascriptFile, n as isAudioFile, r as isImageFile } from "./fileExtensions-ISrPd1Hs.js";
|
|
6
6
|
import { r as importModule } from "./esm-RDYwXiu5.js";
|
|
7
7
|
import { r as runPython } from "./pythonUtils-BwS-exKo.js";
|
|
8
|
+
import { i as extractVariablesFromTemplate, n as renderVarsInObject, o as getNunjucksEngine } from "./render-zarxdXS7.js";
|
|
8
9
|
import { n as loadFromPackage, t as isPackagePath } from "./packageParser-wE41TUog.js";
|
|
9
10
|
import { o as transform } from "./transform-Ccf_EBqd.js";
|
|
10
|
-
import { t as telemetry } from "./telemetry-
|
|
11
|
+
import { t as telemetry } from "./telemetry-CJdYAcRk.js";
|
|
11
12
|
import fs from "fs/promises";
|
|
12
13
|
import * as path$1 from "path";
|
|
13
14
|
//#region src/integrations/helicone.ts
|
|
@@ -559,4 +560,4 @@ async function runExtensionHook(extensions, hookName, context) {
|
|
|
559
560
|
//#endregion
|
|
560
561
|
export { filterFiniteScores as i, renderPrompt as n, runExtensionHook as r, collectFileMetadata as t };
|
|
561
562
|
|
|
562
|
-
//# sourceMappingURL=evaluatorHelpers-
|
|
563
|
+
//# sourceMappingURL=evaluatorHelpers-Bd8xun4J.js.map
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { I as getEnvString, M as state, N as getEnvBool, k as loadYaml, o as logger } from "./logger-D4ion89i.js";
|
|
2
|
-
import
|
|
3
|
-
import { t as fetchWithProxy } from "./fetch-
|
|
2
|
+
import "./util-BPtpPW4O.js";
|
|
3
|
+
import { t as fetchWithProxy } from "./fetch-DnDg-Ics.js";
|
|
4
4
|
import { t as invariant } from "./invariant-CHP0zrix.js";
|
|
5
5
|
import { r as importModule } from "./esm-Cft3V56i.js";
|
|
6
6
|
import { a as isVideoFile, i as isJavascriptFile, n as isAudioFile, r as isImageFile } from "./shared-B6FXN6z-.js";
|
|
7
7
|
import { r as runPython } from "./pythonUtils-Spisespr.js";
|
|
8
|
-
import {
|
|
8
|
+
import { i as extractVariablesFromTemplate, n as renderVarsInObject, o as getNunjucksEngine } from "./render-DIhuKgcQ.js";
|
|
9
|
+
import { t as telemetry } from "./telemetry-BQZTDom3.js";
|
|
9
10
|
import { n as loadFromPackage, t as isPackagePath } from "./packageParser-DK15aaEn.js";
|
|
10
11
|
import { o as transform } from "./transform-DB3wGXIb.js";
|
|
11
12
|
import * as path$1 from "path";
|
|
@@ -559,4 +560,4 @@ async function runExtensionHook(extensions, hookName, context) {
|
|
|
559
560
|
//#endregion
|
|
560
561
|
export { filterFiniteScores as i, renderPrompt as n, runExtensionHook as r, collectFileMetadata as t };
|
|
561
562
|
|
|
562
|
-
//# sourceMappingURL=evaluatorHelpers-
|
|
563
|
+
//# sourceMappingURL=evaluatorHelpers-CZ2p3rWG.js.map
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { F as getEnvBool, R as getEnvString, U as state, c as logger, j as loadYaml } from "./logger-YzVIwMVq.js";
|
|
3
|
-
import { r as fetchWithProxy } from "./fetch-
|
|
3
|
+
import { r as fetchWithProxy } from "./fetch-KD8O9oZZ.js";
|
|
4
4
|
import { t as invariant } from "./invariant-CbHB1xyx.js";
|
|
5
|
-
import { n as telemetry } from "./telemetry-
|
|
5
|
+
import { n as telemetry } from "./telemetry-BD4xF9d_.js";
|
|
6
6
|
import { a as isVideoFile, i as isJavascriptFile, n as isAudioFile, r as isImageFile } from "./fileExtensions-CAc10_Jb.js";
|
|
7
7
|
import { r as importModule } from "./esm-BK0NNGWz.js";
|
|
8
|
-
import { Q as renderVarsInObject, et as extractVariablesFromTemplate, nt as getNunjucksEngine } from "./util-BdAsuWmv.js";
|
|
9
8
|
import { r as runPython } from "./pythonUtils-BKRucqaP.js";
|
|
9
|
+
import "./util-CZyLhvIk.js";
|
|
10
|
+
import { i as extractVariablesFromTemplate, n as renderVarsInObject, o as getNunjucksEngine } from "./render-BRIaR8VG.js";
|
|
10
11
|
import { n as loadFromPackage, t as isPackagePath } from "./packageParser-YsNUv3fd.js";
|
|
11
12
|
import { o as transform } from "./transform-BBv6X1Ag.js";
|
|
12
13
|
import * as path$1 from "path";
|
|
@@ -560,4 +561,4 @@ async function runExtensionHook(extensions, hookName, context) {
|
|
|
560
561
|
//#endregion
|
|
561
562
|
export { filterFiniteScores as i, renderPrompt as n, runExtensionHook as r, collectFileMetadata as t };
|
|
562
563
|
|
|
563
|
-
//# sourceMappingURL=evaluatorHelpers-
|
|
564
|
+
//# sourceMappingURL=evaluatorHelpers-CgcFRjns.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as fetchWithProxy } from "./fetch-
|
|
1
|
+
import { t as fetchWithProxy } from "./fetch-tOnj-VPG.js";
|
|
2
2
|
//#region src/providers/fetch.ts
|
|
3
3
|
function fetchWithProviderProxy(url, options) {
|
|
4
4
|
return fetchWithProxy(url, options);
|
|
@@ -6,4 +6,4 @@ function fetchWithProviderProxy(url, options) {
|
|
|
6
6
|
//#endregion
|
|
7
7
|
export { fetchWithProviderProxy as t };
|
|
8
8
|
|
|
9
|
-
//# sourceMappingURL=fetch-
|
|
9
|
+
//# sourceMappingURL=fetch-CKqW5dym.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_fetch = require("./fetch-
|
|
1
|
+
const require_fetch = require("./fetch-D54lzFcD.cjs");
|
|
2
2
|
//#region src/providers/fetch.ts
|
|
3
3
|
function fetchWithProviderProxy(url, options) {
|
|
4
4
|
return require_fetch.fetchWithProxy(url, options);
|
|
@@ -11,4 +11,4 @@ Object.defineProperty(exports, "fetchWithProviderProxy", {
|
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
13
|
|
|
14
|
-
//# sourceMappingURL=fetch-
|
|
14
|
+
//# sourceMappingURL=fetch-CQfF18HC.cjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as fetchWithProxy } from "./fetch-
|
|
1
|
+
import { t as fetchWithProxy } from "./fetch-DnDg-Ics.js";
|
|
2
2
|
//#region src/providers/fetch.ts
|
|
3
3
|
function fetchWithProviderProxy(url, options) {
|
|
4
4
|
return fetchWithProxy(url, options);
|
|
@@ -6,4 +6,4 @@ function fetchWithProviderProxy(url, options) {
|
|
|
6
6
|
//#endregion
|
|
7
7
|
export { fetchWithProviderProxy as t };
|
|
8
8
|
|
|
9
|
-
//# sourceMappingURL=fetch-
|
|
9
|
+
//# sourceMappingURL=fetch-Cm0VICza.js.map
|
|
@@ -19,7 +19,7 @@ let zlib = require("zlib");
|
|
|
19
19
|
* Application version from package.json.
|
|
20
20
|
* Injected at build time, or read from npm environment in development.
|
|
21
21
|
*/
|
|
22
|
-
const VERSION = "0.122.
|
|
22
|
+
const VERSION = "0.122.2";
|
|
23
23
|
/**
|
|
24
24
|
* PostHog analytics key.
|
|
25
25
|
* Only populated during production builds via PROMPTFOO_POSTHOG_KEY env var.
|
|
@@ -118,6 +118,7 @@ var CloudConfig = class {
|
|
|
118
118
|
appUrl: savedConfig.appUrl || "https://www.promptfoo.app",
|
|
119
119
|
apiHost: savedConfig.apiHost,
|
|
120
120
|
apiKey: savedConfig.apiKey,
|
|
121
|
+
authHeaderName: savedConfig.authHeaderName,
|
|
121
122
|
sharing: savedConfig.sharing,
|
|
122
123
|
currentOrganizationId: savedConfig.currentOrganizationId,
|
|
123
124
|
currentTeamId: savedConfig.currentTeamId,
|
|
@@ -145,6 +146,18 @@ var CloudConfig = class {
|
|
|
145
146
|
if (!this.config.apiHost && !process.env.PROMPTFOO_CLOUD_API_URL && process.env.API_HOST && this.resolveApiKey()) warnOnceAboutLegacyApiHost();
|
|
146
147
|
return host.replace(/\/+$/, "");
|
|
147
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Returns the header name used to carry the Cloud API credential, from config file,
|
|
151
|
+
* PROMPTFOO_CLOUD_AUTH_HEADER environment variable, or the default `Authorization`.
|
|
152
|
+
* Config file takes precedence over environment variable, matching resolveApiHost().
|
|
153
|
+
*
|
|
154
|
+
* process.env is read directly (not getEnvString) for the same reason as
|
|
155
|
+
* PROMPTFOO_CLOUD_API_URL: an eval config's `env` block must never be able to
|
|
156
|
+
* influence Cloud auth routing.
|
|
157
|
+
*/
|
|
158
|
+
resolveAuthHeaderName() {
|
|
159
|
+
return this.config.authHeaderName || process.env.PROMPTFOO_CLOUD_AUTH_HEADER || "Authorization";
|
|
160
|
+
}
|
|
148
161
|
isEnabled() {
|
|
149
162
|
return !!this.resolveApiKey();
|
|
150
163
|
}
|
|
@@ -162,6 +175,24 @@ var CloudConfig = class {
|
|
|
162
175
|
getApiHost() {
|
|
163
176
|
return this.resolveApiHost();
|
|
164
177
|
}
|
|
178
|
+
setAuthHeaderName(authHeaderName) {
|
|
179
|
+
this.config.authHeaderName = authHeaderName;
|
|
180
|
+
this.saveConfig();
|
|
181
|
+
}
|
|
182
|
+
getAuthHeaderName() {
|
|
183
|
+
return this.resolveAuthHeaderName();
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Returns the header(s) to attach to a Cloud API request for the current credential,
|
|
187
|
+
* or `undefined` when no API key is resolved. Callers should spread the result
|
|
188
|
+
* conditionally (`...(cloudConfig.getAuthHeaders() ?? {})`) rather than sending a
|
|
189
|
+
* header with a `Bearer undefined` value.
|
|
190
|
+
*/
|
|
191
|
+
getAuthHeaders() {
|
|
192
|
+
const token = this.getApiKey();
|
|
193
|
+
if (!token) return;
|
|
194
|
+
return { [this.getAuthHeaderName()]: `Bearer ${token}` };
|
|
195
|
+
}
|
|
165
196
|
setAppUrl(appUrl) {
|
|
166
197
|
this.config.appUrl = appUrl;
|
|
167
198
|
this.saveConfig();
|
|
@@ -192,10 +223,11 @@ var CloudConfig = class {
|
|
|
192
223
|
reload() {
|
|
193
224
|
this.config = this.readConfig();
|
|
194
225
|
}
|
|
195
|
-
saveValidatedApiToken(token, apiHost, user, app, hasActiveLicense) {
|
|
226
|
+
saveValidatedApiToken(token, apiHost, user, app, hasActiveLicense, authHeaderName) {
|
|
196
227
|
this.setApiKey(token);
|
|
197
228
|
this.setApiHost(apiHost);
|
|
198
229
|
this.setAppUrl(app.url);
|
|
230
|
+
if (authHeaderName) this.setAuthHeaderName(authHeaderName);
|
|
199
231
|
if (!(isPromptfooCloudHost(apiHost) || isPromptfooCloudHost(app.url))) this.setSharing(true);
|
|
200
232
|
else if (typeof hasActiveLicense === "boolean") {
|
|
201
233
|
const createdAt = user?.createdAt ? new Date(user.createdAt) : null;
|
|
@@ -203,10 +235,13 @@ var CloudConfig = class {
|
|
|
203
235
|
this.setSharing(hasActiveLicense || isGrandfathered);
|
|
204
236
|
}
|
|
205
237
|
}
|
|
206
|
-
async validateApiToken(token, apiHost) {
|
|
238
|
+
async validateApiToken(token, apiHost, authHeaderName) {
|
|
207
239
|
try {
|
|
208
240
|
const { fetchWithProxy } = await Promise.resolve().then(() => fetch_exports);
|
|
209
|
-
const response = await fetchWithProxy(`${apiHost}/api/v1/users/me`, {
|
|
241
|
+
const response = await fetchWithProxy(`${apiHost}/api/v1/users/me`, {
|
|
242
|
+
headers: { [authHeaderName || this.getAuthHeaderName()]: `Bearer ${token}` },
|
|
243
|
+
skipCloudAuthInjection: true
|
|
244
|
+
});
|
|
210
245
|
if (!response.ok) {
|
|
211
246
|
const errorMessage = await response.text();
|
|
212
247
|
require_logger.logger.error(`[Cloud] Failed to validate API token: ${errorMessage}. HTTP Status: ${response.status} - ${response.statusText}.`);
|
|
@@ -228,8 +263,9 @@ var CloudConfig = class {
|
|
|
228
263
|
}
|
|
229
264
|
}
|
|
230
265
|
async validateAndSetApiToken(token, apiHost) {
|
|
231
|
-
const
|
|
232
|
-
this.
|
|
266
|
+
const authHeaderName = this.getAuthHeaderName();
|
|
267
|
+
const { user, organization, app, hasActiveLicense } = await this.validateApiToken(token, apiHost, authHeaderName);
|
|
268
|
+
this.saveValidatedApiToken(token, apiHost, user, app, hasActiveLicense, authHeaderName);
|
|
233
269
|
return {
|
|
234
270
|
user,
|
|
235
271
|
organization,
|
|
@@ -927,7 +963,15 @@ function isPromptfooCloudApiHost(url) {
|
|
|
927
963
|
}
|
|
928
964
|
}
|
|
929
965
|
/**
|
|
930
|
-
* Resolves the
|
|
966
|
+
* Resolves the header name used to carry the Cloud API credential (defaults to
|
|
967
|
+
* `Authorization`, but may be configured to a different name via
|
|
968
|
+
* `promptfoo auth login --auth-header-name` or `PROMPTFOO_CLOUD_AUTH_HEADER`).
|
|
969
|
+
*/
|
|
970
|
+
function getCloudAuthHeaderName() {
|
|
971
|
+
return cloudConfig.getAuthHeaderName();
|
|
972
|
+
}
|
|
973
|
+
/**
|
|
974
|
+
* Resolves the auth header value for a request to the configured Promptfoo
|
|
931
975
|
* Cloud origin, or `undefined` when the request is not cloud-bound or no API key is
|
|
932
976
|
* saved. Centralizing this keeps the live request (`monkeyPatchFetch`) and the cache
|
|
933
977
|
* key (`getHeadersForCacheKey` in cache.ts) in lockstep.
|
|
@@ -963,10 +1007,6 @@ function getCloudTaskTeamId(url) {
|
|
|
963
1007
|
function getEffectiveHeaders(url, headers) {
|
|
964
1008
|
return headers ?? (url instanceof Request ? url.headers : void 0);
|
|
965
1009
|
}
|
|
966
|
-
/** Case-insensitive check for a caller-supplied `Authorization` header (any `HeadersInit` shape). */
|
|
967
|
-
function hasAuthorizationHeader(headers) {
|
|
968
|
-
return new Headers(headers).has("authorization");
|
|
969
|
-
}
|
|
970
1010
|
function hasHeader(headers, name) {
|
|
971
1011
|
return new Headers(headers).has(name);
|
|
972
1012
|
}
|
|
@@ -1007,12 +1047,17 @@ async function monkeyPatchFetch(url, options) {
|
|
|
1007
1047
|
} catch (e) {
|
|
1008
1048
|
require_logger.logger.warn(`Failed to compress request body: ${e}`);
|
|
1009
1049
|
}
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1050
|
+
if (!options?.skipCloudAuthInjection) {
|
|
1051
|
+
const cloudAuth = getCloudBearerToken(url);
|
|
1052
|
+
if (cloudAuth) {
|
|
1053
|
+
const cloudAuthHeaderName = getCloudAuthHeaderName();
|
|
1054
|
+
const effectiveHeaders = getEffectiveHeaders(url, opts.headers);
|
|
1055
|
+
if (!hasHeader(effectiveHeaders, cloudAuthHeaderName)) opts.headers = setHeader(effectiveHeaders, cloudAuthHeaderName, cloudAuth);
|
|
1056
|
+
}
|
|
1057
|
+
const cloudTaskTeamId = getCloudTaskTeamId(url);
|
|
1058
|
+
const headersWithAuth = getEffectiveHeaders(url, opts.headers);
|
|
1059
|
+
if (cloudTaskTeamId && !hasHeader(headersWithAuth, "x-promptfoo-team-id")) opts.headers = setHeader(headersWithAuth, PROMPTFOO_TEAM_ID_HEADER, cloudTaskTeamId);
|
|
1060
|
+
}
|
|
1016
1061
|
try {
|
|
1017
1062
|
const response = await fetch(url, opts);
|
|
1018
1063
|
if (logEnabled) require_logger.logRequestResponse({
|
|
@@ -1686,6 +1731,12 @@ Object.defineProperty(exports, "formatRateLimitErrorMessage", {
|
|
|
1686
1731
|
return formatRateLimitErrorMessage;
|
|
1687
1732
|
}
|
|
1688
1733
|
});
|
|
1734
|
+
Object.defineProperty(exports, "getCloudAuthHeaderName", {
|
|
1735
|
+
enumerable: true,
|
|
1736
|
+
get: function() {
|
|
1737
|
+
return getCloudAuthHeaderName;
|
|
1738
|
+
}
|
|
1739
|
+
});
|
|
1689
1740
|
Object.defineProperty(exports, "getCloudBearerToken", {
|
|
1690
1741
|
enumerable: true,
|
|
1691
1742
|
get: function() {
|
|
@@ -1855,4 +1906,4 @@ Object.defineProperty(exports, "writeGlobalConfigPartial", {
|
|
|
1855
1906
|
}
|
|
1856
1907
|
});
|
|
1857
1908
|
|
|
1858
|
-
//# sourceMappingURL=fetch-
|
|
1909
|
+
//# sourceMappingURL=fetch-D54lzFcD.cjs.map
|
|
@@ -17,7 +17,7 @@ import { gzip } from "zlib";
|
|
|
17
17
|
* Application version from package.json.
|
|
18
18
|
* Injected at build time, or read from npm environment in development.
|
|
19
19
|
*/
|
|
20
|
-
const VERSION = "0.122.
|
|
20
|
+
const VERSION = "0.122.2";
|
|
21
21
|
/**
|
|
22
22
|
* PostHog analytics key.
|
|
23
23
|
* Only populated during production builds via PROMPTFOO_POSTHOG_KEY env var.
|
|
@@ -718,6 +718,7 @@ var CloudConfig = class {
|
|
|
718
718
|
appUrl: savedConfig.appUrl || "https://www.promptfoo.app",
|
|
719
719
|
apiHost: savedConfig.apiHost,
|
|
720
720
|
apiKey: savedConfig.apiKey,
|
|
721
|
+
authHeaderName: savedConfig.authHeaderName,
|
|
721
722
|
sharing: savedConfig.sharing,
|
|
722
723
|
currentOrganizationId: savedConfig.currentOrganizationId,
|
|
723
724
|
currentTeamId: savedConfig.currentTeamId,
|
|
@@ -745,6 +746,18 @@ var CloudConfig = class {
|
|
|
745
746
|
if (!this.config.apiHost && !process.env.PROMPTFOO_CLOUD_API_URL && process.env.API_HOST && this.resolveApiKey()) warnOnceAboutLegacyApiHost();
|
|
746
747
|
return host.replace(/\/+$/, "");
|
|
747
748
|
}
|
|
749
|
+
/**
|
|
750
|
+
* Returns the header name used to carry the Cloud API credential, from config file,
|
|
751
|
+
* PROMPTFOO_CLOUD_AUTH_HEADER environment variable, or the default `Authorization`.
|
|
752
|
+
* Config file takes precedence over environment variable, matching resolveApiHost().
|
|
753
|
+
*
|
|
754
|
+
* process.env is read directly (not getEnvString) for the same reason as
|
|
755
|
+
* PROMPTFOO_CLOUD_API_URL: an eval config's `env` block must never be able to
|
|
756
|
+
* influence Cloud auth routing.
|
|
757
|
+
*/
|
|
758
|
+
resolveAuthHeaderName() {
|
|
759
|
+
return this.config.authHeaderName || process.env.PROMPTFOO_CLOUD_AUTH_HEADER || "Authorization";
|
|
760
|
+
}
|
|
748
761
|
isEnabled() {
|
|
749
762
|
return !!this.resolveApiKey();
|
|
750
763
|
}
|
|
@@ -762,6 +775,24 @@ var CloudConfig = class {
|
|
|
762
775
|
getApiHost() {
|
|
763
776
|
return this.resolveApiHost();
|
|
764
777
|
}
|
|
778
|
+
setAuthHeaderName(authHeaderName) {
|
|
779
|
+
this.config.authHeaderName = authHeaderName;
|
|
780
|
+
this.saveConfig();
|
|
781
|
+
}
|
|
782
|
+
getAuthHeaderName() {
|
|
783
|
+
return this.resolveAuthHeaderName();
|
|
784
|
+
}
|
|
785
|
+
/**
|
|
786
|
+
* Returns the header(s) to attach to a Cloud API request for the current credential,
|
|
787
|
+
* or `undefined` when no API key is resolved. Callers should spread the result
|
|
788
|
+
* conditionally (`...(cloudConfig.getAuthHeaders() ?? {})`) rather than sending a
|
|
789
|
+
* header with a `Bearer undefined` value.
|
|
790
|
+
*/
|
|
791
|
+
getAuthHeaders() {
|
|
792
|
+
const token = this.getApiKey();
|
|
793
|
+
if (!token) return;
|
|
794
|
+
return { [this.getAuthHeaderName()]: `Bearer ${token}` };
|
|
795
|
+
}
|
|
765
796
|
setAppUrl(appUrl) {
|
|
766
797
|
this.config.appUrl = appUrl;
|
|
767
798
|
this.saveConfig();
|
|
@@ -792,10 +823,11 @@ var CloudConfig = class {
|
|
|
792
823
|
reload() {
|
|
793
824
|
this.config = this.readConfig();
|
|
794
825
|
}
|
|
795
|
-
saveValidatedApiToken(token, apiHost, user, app, hasActiveLicense) {
|
|
826
|
+
saveValidatedApiToken(token, apiHost, user, app, hasActiveLicense, authHeaderName) {
|
|
796
827
|
this.setApiKey(token);
|
|
797
828
|
this.setApiHost(apiHost);
|
|
798
829
|
this.setAppUrl(app.url);
|
|
830
|
+
if (authHeaderName) this.setAuthHeaderName(authHeaderName);
|
|
799
831
|
if (!(isPromptfooCloudHost(apiHost) || isPromptfooCloudHost(app.url))) this.setSharing(true);
|
|
800
832
|
else if (typeof hasActiveLicense === "boolean") {
|
|
801
833
|
const createdAt = user?.createdAt ? new Date(user.createdAt) : null;
|
|
@@ -803,10 +835,13 @@ var CloudConfig = class {
|
|
|
803
835
|
this.setSharing(hasActiveLicense || isGrandfathered);
|
|
804
836
|
}
|
|
805
837
|
}
|
|
806
|
-
async validateApiToken(token, apiHost) {
|
|
838
|
+
async validateApiToken(token, apiHost, authHeaderName) {
|
|
807
839
|
try {
|
|
808
840
|
const { fetchWithProxy } = await Promise.resolve().then(() => fetch_exports);
|
|
809
|
-
const response = await fetchWithProxy(`${apiHost}/api/v1/users/me`, {
|
|
841
|
+
const response = await fetchWithProxy(`${apiHost}/api/v1/users/me`, {
|
|
842
|
+
headers: { [authHeaderName || this.getAuthHeaderName()]: `Bearer ${token}` },
|
|
843
|
+
skipCloudAuthInjection: true
|
|
844
|
+
});
|
|
810
845
|
if (!response.ok) {
|
|
811
846
|
const errorMessage = await response.text();
|
|
812
847
|
logger.error(`[Cloud] Failed to validate API token: ${errorMessage}. HTTP Status: ${response.status} - ${response.statusText}.`);
|
|
@@ -828,8 +863,9 @@ var CloudConfig = class {
|
|
|
828
863
|
}
|
|
829
864
|
}
|
|
830
865
|
async validateAndSetApiToken(token, apiHost) {
|
|
831
|
-
const
|
|
832
|
-
this.
|
|
866
|
+
const authHeaderName = this.getAuthHeaderName();
|
|
867
|
+
const { user, organization, app, hasActiveLicense } = await this.validateApiToken(token, apiHost, authHeaderName);
|
|
868
|
+
this.saveValidatedApiToken(token, apiHost, user, app, hasActiveLicense, authHeaderName);
|
|
833
869
|
return {
|
|
834
870
|
user,
|
|
835
871
|
organization,
|
|
@@ -928,7 +964,15 @@ function isPromptfooCloudApiHost(url) {
|
|
|
928
964
|
}
|
|
929
965
|
}
|
|
930
966
|
/**
|
|
931
|
-
* Resolves the
|
|
967
|
+
* Resolves the header name used to carry the Cloud API credential (defaults to
|
|
968
|
+
* `Authorization`, but may be configured to a different name via
|
|
969
|
+
* `promptfoo auth login --auth-header-name` or `PROMPTFOO_CLOUD_AUTH_HEADER`).
|
|
970
|
+
*/
|
|
971
|
+
function getCloudAuthHeaderName() {
|
|
972
|
+
return cloudConfig.getAuthHeaderName();
|
|
973
|
+
}
|
|
974
|
+
/**
|
|
975
|
+
* Resolves the auth header value for a request to the configured Promptfoo
|
|
932
976
|
* Cloud origin, or `undefined` when the request is not cloud-bound or no API key is
|
|
933
977
|
* saved. Centralizing this keeps the live request (`monkeyPatchFetch`) and the cache
|
|
934
978
|
* key (`getHeadersForCacheKey` in cache.ts) in lockstep.
|
|
@@ -964,10 +1008,6 @@ function getCloudTaskTeamId(url) {
|
|
|
964
1008
|
function getEffectiveHeaders(url, headers) {
|
|
965
1009
|
return headers ?? (url instanceof Request ? url.headers : void 0);
|
|
966
1010
|
}
|
|
967
|
-
/** Case-insensitive check for a caller-supplied `Authorization` header (any `HeadersInit` shape). */
|
|
968
|
-
function hasAuthorizationHeader(headers) {
|
|
969
|
-
return new Headers(headers).has("authorization");
|
|
970
|
-
}
|
|
971
1011
|
function hasHeader(headers, name) {
|
|
972
1012
|
return new Headers(headers).has(name);
|
|
973
1013
|
}
|
|
@@ -1008,12 +1048,17 @@ async function monkeyPatchFetch(url, options) {
|
|
|
1008
1048
|
} catch (e) {
|
|
1009
1049
|
logger.warn(`Failed to compress request body: ${e}`);
|
|
1010
1050
|
}
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1051
|
+
if (!options?.skipCloudAuthInjection) {
|
|
1052
|
+
const cloudAuth = getCloudBearerToken(url);
|
|
1053
|
+
if (cloudAuth) {
|
|
1054
|
+
const cloudAuthHeaderName = getCloudAuthHeaderName();
|
|
1055
|
+
const effectiveHeaders = getEffectiveHeaders(url, opts.headers);
|
|
1056
|
+
if (!hasHeader(effectiveHeaders, cloudAuthHeaderName)) opts.headers = setHeader(effectiveHeaders, cloudAuthHeaderName, cloudAuth);
|
|
1057
|
+
}
|
|
1058
|
+
const cloudTaskTeamId = getCloudTaskTeamId(url);
|
|
1059
|
+
const headersWithAuth = getEffectiveHeaders(url, opts.headers);
|
|
1060
|
+
if (cloudTaskTeamId && !hasHeader(headersWithAuth, "x-promptfoo-team-id")) opts.headers = setHeader(headersWithAuth, PROMPTFOO_TEAM_ID_HEADER, cloudTaskTeamId);
|
|
1061
|
+
}
|
|
1017
1062
|
try {
|
|
1018
1063
|
const response = await fetch(url, opts);
|
|
1019
1064
|
if (logEnabled) logRequestResponse({
|
|
@@ -1561,6 +1606,6 @@ async function fetchWithRetries(url, options = {}, timeout, maxRetries) {
|
|
|
1561
1606
|
throw new Error(`Request failed after ${maxRetries} retries: ${lastErrorMessage}`);
|
|
1562
1607
|
}
|
|
1563
1608
|
//#endregion
|
|
1564
|
-
export {
|
|
1609
|
+
export { clampCachedTokens as A, transformTools as B, isHttpRateLimitError as C, parseRetryAfter as D, parseRateLimitHeaders as E, openaiToolChoiceToBedrock as F, TERMINAL_MAX_WIDTH as G, CONSENT_ENDPOINT as H, openaiToolsToBedrock as I, getShareApiBaseUrl as J, getDefaultPort as K, parseChatPrompt as L, isOpenAIToolArray as M, isOpenAIToolChoice as N, LONG_RUNNING_MODEL_TIMEOUT_MS as O, isPromptfooSampleTarget as P, toTitleCase as R, isAbortError as S, isTransientConnectionError as T, EVENTS_ENDPOINT as U, CLOUD_PROVIDER_PREFIX as V, R_ENDPOINT as W, POSTHOG_KEY as X, getShareViewBaseUrl as Y, VERSION as Z, writeGlobalConfigPartial as _, getFetchWithProxyHeaders as a, extractRateLimitErrorCode as b, PROMPTFOO_TEAM_ID_HEADER as c, getCloudTaskTeamId as d, getRequestUrlString as f, writeGlobalConfig as g, readGlobalConfig as h, fetch_exports as i, getRequestTimeoutMs as j, calculateCost as k, getCloudAuthHeaderName as l, cloudConfig as m, fetchWithRetries as n, stripDecompressionHeaders as o, CloudConfig as p, getDefaultShareViewBaseUrl as q, fetchWithTimeout as r, withFetchRetryContext as s, fetchWithProxy as t, getCloudBearerToken as u, HttpRateLimitError as v, isNonTransientHttpStatus as w, formatRateLimitErrorMessage as x, NON_TRANSIENT_HTTP_STATUSES as y, transformToolChoice as z };
|
|
1565
1610
|
|
|
1566
|
-
//# sourceMappingURL=fetch-
|
|
1611
|
+
//# sourceMappingURL=fetch-DnDg-Ics.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { r as fetchWithProxy } from "./fetch-
|
|
2
|
+
import { r as fetchWithProxy } from "./fetch-KD8O9oZZ.js";
|
|
3
3
|
//#region src/providers/fetch.ts
|
|
4
4
|
function fetchWithProviderProxy(url, options) {
|
|
5
5
|
return fetchWithProxy(url, options);
|
|
@@ -7,4 +7,4 @@ function fetchWithProviderProxy(url, options) {
|
|
|
7
7
|
//#endregion
|
|
8
8
|
export { fetchWithProviderProxy as t };
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=fetch-
|
|
10
|
+
//# sourceMappingURL=fetch-Dwv9LIL3.js.map
|