promptfoo 0.121.7 → 0.121.9
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-Ca7WIoPY.js → accounts-4Xa5fcHy.js} +17 -18
- package/dist/src/{accounts-DanM1wq_.js → accounts-BAajbKSh.js} +17 -18
- package/dist/src/{accounts-CjFnOPmb.js → accounts-Bw2qPqE-.js} +18 -19
- package/dist/src/{accounts-CmWzeD2d.cjs → accounts-DAcQXPwE.cjs} +20 -21
- package/dist/src/{agentic-utils-DvPWSUpb.cjs → agentic-utils-C8eEgGG-.cjs} +3 -3
- package/dist/src/{agentic-utils-TxUEMPYS.js → agentic-utils-CP1IXFz3.js} +3 -3
- package/dist/src/{agentic-utils-DDEGRV9v.js → agentic-utils-CUwa3AE9.js} +3 -3
- package/dist/src/{agentic-utils-CJ0j3fBi.js → agentic-utils-DYr-aM6d.js} +3 -3
- package/dist/src/{agents-CBgJvRkB.js → agents-Bb00M6i5.js} +5 -5
- package/dist/src/{agents-D-vDNFx4.js → agents-CASf5zRj.js} +5 -5
- package/dist/src/{agents-B4sRuXg3.cjs → agents-CD1wH9bm.cjs} +5 -5
- package/dist/src/{agents-CYn2n3QP.js → agents-CZOHU7Q8.js} +5 -5
- package/dist/src/{agents-LrHuQqr1.js → agents-D539zhHr.js} +5 -5
- package/dist/src/{agents-B8q7h_ek.js → agents-DpRJdGBZ.js} +5 -5
- package/dist/src/{agents-QGg76OF-.js → agents-gZTW-8nu.js} +5 -5
- package/dist/src/{agents-eHZ9nlgA.cjs → agents-hix6c0Sh.cjs} +5 -5
- package/dist/src/{aimlapi-eYv3a_DK.js → aimlapi-DRQSL-Z4.js} +7 -7
- package/dist/src/{aimlapi-CJEbQ0o6.js → aimlapi-Dc3LW5zI.js} +7 -7
- package/dist/src/{aimlapi-D5HXzZ0s.js → aimlapi-KNYnjjU6.js} +7 -7
- package/dist/src/{aimlapi-T6HGNxNe.cjs → aimlapi-gnrgd_Ej.cjs} +7 -7
- package/dist/src/app/assets/Report-Clw_YCp-.js +1 -0
- package/dist/src/app/assets/index-BQHaquKk.css +1 -0
- package/dist/src/app/assets/{index-BnT6P6sF.js → index-CW3XcQK7.js} +6 -6
- package/dist/src/app/index.html +2 -2
- package/dist/src/{audio-FnxbEnSE.cjs → audio-BgFTqfMO.cjs} +5 -5
- package/dist/src/{audio-CPMtV1yR.js → audio-Cslbgd4l.js} +5 -5
- package/dist/src/{audio-DyiebVB3.js → audio-DOI8kth4.js} +5 -5
- package/dist/src/{audio-BqnRvcWG.js → audio-hewMOCUU.js} +5 -5
- package/dist/src/{authoritativeMarkupInjection-DyAXAsSr.js → authoritativeMarkupInjection-DgE4u_Rl.js} +8 -8
- package/dist/src/{authoritativeMarkupInjection-QEQmFS83.js → authoritativeMarkupInjection-gpm2K-Rp.js} +8 -8
- package/dist/src/{authoritativeMarkupInjection-BZIywVjG.js → authoritativeMarkupInjection-nrC4mSPQ.js} +7 -7
- package/dist/src/{authoritativeMarkupInjection-F2gBw0lN.cjs → authoritativeMarkupInjection-wG4x0yP2.cjs} +8 -8
- package/dist/src/{base-CKLo890h.js → base-0yya4DsM.js} +3 -3
- package/dist/src/{base-Co80MMCi.js → base-BARAIJmp.js} +3 -3
- package/dist/src/{base-DGJW48uz.cjs → base-BE_pY-r5.cjs} +3 -3
- package/dist/src/{base-E9I8zXjz.js → base-CTWzNAH9.js} +3 -3
- package/dist/src/{bestOfN-BBsO41z4.js → bestOfN-CV7ZKPw2.js} +8 -8
- package/dist/src/{bestOfN-_kTi8Bxe.js → bestOfN-DeucA4QS.js} +9 -9
- package/dist/src/{bestOfN-CAwmg5UL.cjs → bestOfN-DxcpVUvj.cjs} +9 -9
- package/dist/src/{bestOfN-B3wNzjSB.js → bestOfN-Ilxc2hMv.js} +9 -9
- package/dist/src/{blobs-B0977K1O.cjs → blobs-5wbW7TbH.cjs} +3 -3
- package/dist/src/{blobs-Dwef1Ao1.js → blobs-BfIMflt0.js} +3 -3
- package/dist/src/{blobs-DODuTK-a.js → blobs-CA4gXarv.js} +3 -3
- package/dist/src/{blobs-CeFdPn_T.js → blobs-ikh75MtF.js} +3 -3
- package/dist/src/{cache-DpPWrkTE.js → cache-BuudGL4I.js} +5 -5
- package/dist/src/{cache-DIXbtkNO.js → cache-CT5D7d_A.js} +4 -4
- package/dist/src/cache-CrL5EYgi.js +3 -0
- package/dist/src/{cache-CPGUA4Yl.cjs → cache-WuIsgzMA.cjs} +4 -4
- package/dist/src/{cache-roFAE0cI.js → cache-x9llZxbx.js} +5 -5
- package/dist/src/{chat-GmlolEwo.js → chat-B5NqvkS_.js} +3 -3
- package/dist/src/{chat-DqUFcWI0.js → chat-B8lsx0A0.js} +11 -11
- package/dist/src/{chat-DG1wG4w0.cjs → chat-BBlR1h8c.cjs} +3 -3
- package/dist/src/{chat-Dabu84Br.js → chat-CCtIXezK.js} +11 -11
- package/dist/src/{chat-TP8Qifkh.js → chat-CZOhFlzV.js} +3 -3
- package/dist/src/{chat-CUCorGiL.js → chat-CvQMD-mp.js} +11 -11
- package/dist/src/{chat-iwaM5UTQ.js → chat-Dh6mb5OL.js} +3 -3
- package/dist/src/{chat-DxTDQ83C.cjs → chat-DkitQHdt.cjs} +11 -11
- package/dist/src/{chatkit-fARZwEfV.js → chatkit-55cAEQb2.js} +4 -4
- package/dist/src/{chatkit-lb6FK02w.js → chatkit-B-uz3x63.js} +4 -4
- package/dist/src/{chatkit-B6DWi70Q.js → chatkit-Dxp6KO70.js} +4 -4
- package/dist/src/{chatkit-BYveR48_.cjs → chatkit-jEtokOVZ.cjs} +4 -4
- package/dist/src/{claude-agent-sdk-D5Jl0SDh.js → claude-agent-sdk-BVfdeahc.js} +9 -7
- package/dist/src/{claude-agent-sdk-DH416NBD.cjs → claude-agent-sdk-C0p-RhcW.cjs} +9 -7
- package/dist/src/{claude-agent-sdk-x1XJ1-pU.js → claude-agent-sdk-DB99Npst.js} +9 -7
- package/dist/src/{claude-agent-sdk-BQNp_y-F.js → claude-agent-sdk-DHyrhDUu.js} +9 -7
- package/dist/src/cloud-BA4aLhk0.js +3 -0
- package/dist/src/{cloud-D3DiFqH6.js → cloud-BbAl8dyj.js} +3 -3
- package/dist/src/{cloudflare-ai-RFSojyXG.js → cloudflare-ai-ChBxkojW.js} +5 -5
- package/dist/src/{cloudflare-ai-r4tbYmWU.js → cloudflare-ai-DDmTDys_.js} +5 -5
- package/dist/src/{cloudflare-ai-CEAW-xQa.cjs → cloudflare-ai-DPlNiC6I.cjs} +5 -5
- package/dist/src/{cloudflare-ai-B6NVI3ax.js → cloudflare-ai-UsZe6ndv.js} +5 -5
- package/dist/src/{cloudflare-gateway-TJMLBj6I.cjs → cloudflare-gateway-7b-lEtrb.cjs} +4 -4
- package/dist/src/{cloudflare-gateway-BaZ4insB.js → cloudflare-gateway-Bq5cqiV8.js} +4 -4
- package/dist/src/{cloudflare-gateway-CF-Vb-2Z.js → cloudflare-gateway-C0N-5s62.js} +4 -4
- package/dist/src/{cloudflare-gateway-BCkLouto.js → cloudflare-gateway-D5fm-QvC.js} +4 -4
- package/dist/src/{codex-app-server-DIXZ230V.js → codex-app-server-BG5Aphvl.js} +20 -5
- package/dist/src/{codex-app-server-B8KHEiF4.js → codex-app-server-BnPMlcjl.js} +20 -5
- package/dist/src/{codex-app-server-Dd22dC_N.js → codex-app-server-D6gbvJFw.js} +20 -5
- package/dist/src/{codex-app-server-CnrLBCeA.cjs → codex-app-server-Dl6BLKJn.cjs} +20 -5
- package/dist/src/{codex-sdk-B6Wah8Pa.js → codex-sdk-BnRTWAhS.js} +20 -8
- package/dist/src/codex-sdk-CChw5CYU.js +3 -0
- package/dist/src/{codex-sdk-CFF6gUyi.cjs → codex-sdk-Cy1pEjsQ.cjs} +20 -8
- package/dist/src/{codex-sdk-CmQABzV3.js → codex-sdk-D86dT4XV.js} +20 -8
- package/dist/src/{codex-sdk-D2d54RL8.js → codex-sdk-mgUqOG2C.js} +20 -8
- package/dist/src/{cometapi-CtzNCHKu.js → cometapi-CkOfr271.js} +8 -8
- package/dist/src/{cometapi-DHCDlQUI.cjs → cometapi-EB-Is7jj.cjs} +8 -8
- package/dist/src/{cometapi-OBILPLlu.js → cometapi-gvPhrXNM.js} +8 -8
- package/dist/src/{cometapi-Bu9B8NUY.js → cometapi-sBbQmdfk.js} +8 -8
- package/dist/src/{completion-DZNxcyfG.js → completion-BoWiFP-D.js} +7 -7
- package/dist/src/{completion-CO2e1_62.js → completion-C99GFqQE.js} +7 -7
- package/dist/src/{completion-sNvCLTAP.js → completion-CUtdijfr.js} +7 -7
- package/dist/src/{completion-CSYfl2cd.cjs → completion-CkRVjadz.cjs} +7 -7
- package/dist/src/{crescendo-QiaSLW0d.js → crescendo-B4EiUJ-M.js} +43 -22
- package/dist/src/{crescendo-BXEJK_bi.cjs → crescendo-BAN6NuWV.cjs} +45 -24
- package/dist/src/{crescendo-CU_Y2i-m.js → crescendo-CYzxmaSJ.js} +45 -24
- package/dist/src/{crescendo-J1Xx4_zb.js → crescendo-CrsXyaL0.js} +45 -24
- package/dist/src/{custom-BJfP00Bh.js → custom-C5K9QFs1.js} +13 -13
- package/dist/src/{custom-Cqia7M0D.cjs → custom-D1UjT5I5.cjs} +13 -13
- package/dist/src/{custom-CZVn-1-r.js → custom-DnMZvgB6.js} +13 -13
- package/dist/src/{custom-notggYVl.js → custom-EWterxkb.js} +11 -11
- package/dist/src/{docker-DdJQBxK9.js → docker-BFQc9ccU.js} +6 -6
- package/dist/src/{docker-D06JUoe2.cjs → docker-BMfsGXyn.cjs} +6 -6
- package/dist/src/{docker-4D1eL6Gq.js → docker-ChD4-eri.js} +6 -6
- package/dist/src/{docker-BBv1WUDu.js → docker-mZF5j6cW.js} +6 -6
- package/dist/src/{embedding-BbrwopfX.cjs → embedding-BMqFDnLI.cjs} +7 -7
- package/dist/src/{embedding--UZVe4_7.js → embedding-BQBXSWgy.js} +7 -7
- package/dist/src/{embedding-Bi3rxrZF.js → embedding-BwTB3YDt.js} +7 -7
- package/dist/src/{embedding-C251p1-8.js → embedding-cd5oPBkX.js} +7 -7
- package/dist/src/{esm-B6whoAcf.js → esm-CGER3lko.js} +2 -2
- package/dist/src/{esm-Bexx2PFc.js → esm-CYMWMaSj.js} +2 -2
- package/dist/src/{esm-BTK1W7lG.js → esm-C_yrt93A.js} +2 -2
- package/dist/src/{esm-BIKakvNa.cjs → esm-vv4rR-Dp.cjs} +2 -2
- package/dist/src/{eval-0VRANImH.js → eval-DmGWplIN.js} +10 -10
- package/dist/src/{eval-DscR5iOM.js → eval-N_VV5NZg.js} +1 -1
- package/dist/src/{evalResult-CvtS8h8u.cjs → evalResult-BZld6I3I.cjs} +6 -6
- package/dist/src/{evalResult-eUkJv9Ko.js → evalResult-ByGP9zuP.js} +7 -7
- package/dist/src/evalResult-CPPINYHK.js +3 -0
- package/dist/src/{evalResult-2RRJvFyB.js → evalResult-gEmQRANj.js} +6 -6
- package/dist/src/evaluator-B01pCdUY.js +3 -0
- package/dist/src/{evaluator-DRoiYB2q.js → evaluator-BpaUYhLY.js} +37 -37
- package/dist/src/{evaluatorHelpers-CRqTvSux.cjs → evaluatorHelpers-2gpZ9Q_f.cjs} +10 -10
- package/dist/src/{evaluatorHelpers-DuqFFfq7.js → evaluatorHelpers-C8C8WQTv.js} +10 -10
- package/dist/src/{evaluatorHelpers-BsYP_muT.js → evaluatorHelpers-DDG44JeI.js} +10 -10
- package/dist/src/{extractor-CxRtnaHl.js → extractor-Bjz9sdTQ.js} +6 -6
- package/dist/src/{extractor-CIW3iN-b.js → extractor-CtadTcJm.js} +6 -6
- package/dist/src/{extractor-BR7XAzAL.js → extractor-DAnauX2V.js} +6 -6
- package/dist/src/{extractor-BdxEtt3J.cjs → extractor-nyUwvU2U.cjs} +6 -6
- package/dist/src/{fetch-Dw4XZHjj.cjs → fetch-B2HvaVUc.cjs} +14 -12
- package/dist/src/{fetch-DXUnXkVU.js → fetch-C59QM4cf.js} +10 -8
- package/dist/src/{fetch-BufrQtvR.js → fetch-CBe8pU8Q.js} +10 -8
- package/dist/src/{fetch-It34O8Ur.js → fetch-CHJu2KON.js} +9 -7
- package/dist/src/fetch-D_XnRfBV.js +3 -0
- package/dist/src/{goat-Ckd3q3AY.js → goat-0HwO0EB2.js} +22 -21
- package/dist/src/{goat-una6pZGP.cjs → goat-7wQgRcT4.cjs} +22 -21
- package/dist/src/{goat-ghadEDdy.js → goat-BNX0lOFx.js} +20 -19
- package/dist/src/{goat-Qgurm-NP.js → goat-BOVnOl5S.js} +22 -21
- package/dist/src/{graders-BGP99PdK.js → graders-BnO-xoa-.js} +30 -30
- package/dist/src/{graders-ClrU2fnd.cjs → graders-CQv1GT5Q.cjs} +29 -29
- package/dist/src/graders-D4vc1PFi.js +3 -0
- package/dist/src/{graders-BX0f2tvS.js → graders-GNRQ1357.js} +29 -29
- package/dist/src/{graders-C0nXU_ZP.js → graders-k8qmhrPu.js} +31 -31
- package/dist/src/{hydra-BSNZZm2M.js → hydra-BrgGALmB.js} +38 -20
- package/dist/src/{hydra-BxdG4nkg.js → hydra-C38LOovb.js} +36 -18
- package/dist/src/{hydra-DE4xWwyc.js → hydra-CXc0p63W.js} +38 -20
- package/dist/src/{hydra-DrJttnvw.cjs → hydra-Hdj65j0k.cjs} +38 -20
- package/dist/src/{image-B_fPIwdg.js → image-6u3WZ_7H.js} +5 -5
- package/dist/src/{image-BN-hjLL9.js → image-B6hCz0z3.js} +5 -5
- package/dist/src/{image-BvUAW344.js → image-CgmaPlV_.js} +7 -7
- package/dist/src/{image-QzmydkiG.js → image-DXbwwL-r.js} +5 -5
- package/dist/src/{image-X0oY4350.cjs → image-Daa_X_YB.cjs} +7 -7
- package/dist/src/{image-Cvjwx1uY.js → image-DmC5qwQx.js} +7 -7
- package/dist/src/{image-DfVCGPbI.cjs → image-TY6FsHmn.cjs} +5 -5
- package/dist/src/{image-B4oBtu6J.js → image-V0-pYiBI.js} +7 -7
- package/dist/src/index.cjs +137 -140
- package/dist/src/index.d.cts +13 -0
- package/dist/src/index.d.ts +13 -0
- package/dist/src/index.js +137 -140
- package/dist/src/{indirectWebPwn-BJ22AbQa.cjs → indirectWebPwn-04ziKbly.cjs} +5 -5
- package/dist/src/{indirectWebPwn-tNx9OZ35.js → indirectWebPwn-1gHqaL91.js} +5 -5
- package/dist/src/{indirectWebPwn-DBQhOjoD.js → indirectWebPwn-B0CAtvZJ.js} +6 -6
- package/dist/src/{indirectWebPwn-uyWdHx04.js → indirectWebPwn-BXUoJl4I.js} +5 -5
- package/dist/src/{indirectWebPwn-02ZIghCS.js → indirectWebPwn-Biy9I52D.js} +6 -6
- package/dist/src/{indirectWebPwn-OsXnKejv.js → indirectWebPwn-BoPqjm9W.js} +6 -6
- package/dist/src/{indirectWebPwn-CbjUG0rh.js → indirectWebPwn-DRYpRTx6.js} +5 -5
- package/dist/src/{indirectWebPwn-CfQJt3gk.cjs → indirectWebPwn-MiCFTfzI.cjs} +6 -6
- package/dist/src/{inputVariables-DUGMb9Ka.js → inputVariables-B7cylqzM.js} +2 -2
- package/dist/src/{inputVariables-Dq9W-Z3a.cjs → inputVariables-D5K2vTp4.cjs} +2 -2
- package/dist/src/{inputVariables-B0qUChbV.js → inputVariables-DpOsOnzU.js} +3 -3
- package/dist/src/{inputVariables-DXFdi7AI.js → inputVariables-qJmuSN5i.js} +3 -3
- package/dist/src/{interactiveCheck-C4QlIuoR.js → interactiveCheck-BLnDrfjg.js} +2 -2
- package/dist/src/{iterative-FTS4Bz67.js → iterative-BDRx_noa.js} +29 -19
- package/dist/src/{iterative-CpU6i2As.js → iterative-BZxrxnoh.js} +27 -17
- package/dist/src/{iterative-DQBuWM-j.cjs → iterative-KSovqu_j.cjs} +29 -19
- package/dist/src/{iterative-DJQEQpG3.js → iterative-vxBU1IPs.js} +29 -19
- package/dist/src/{iterativeImage-Doz8mgxF.js → iterativeImage-BZuMd4x3.js} +7 -7
- package/dist/src/{iterativeImage-BUABMVOA.js → iterativeImage-DUWLmyVM.js} +6 -6
- package/dist/src/{iterativeImage-ByFWkxax.cjs → iterativeImage-DqNKoaIl.cjs} +7 -7
- package/dist/src/{iterativeImage-BzUapOUi.js → iterativeImage-DwIp1WGB.js} +7 -7
- package/dist/src/{iterativeMeta-CSS8M6Ds.cjs → iterativeMeta-9gsvnsl1.cjs} +39 -19
- package/dist/src/{iterativeMeta-B3YiAOc8.js → iterativeMeta-AgI6UEh6.js} +39 -19
- package/dist/src/{iterativeMeta-C7APE_P1.js → iterativeMeta-BbcVN5nQ.js} +39 -19
- package/dist/src/{iterativeMeta-DgoQ7bLh.js → iterativeMeta-BcF8LsFk.js} +37 -17
- package/dist/src/{iterativeTree-B5zxBBSW.js → iterativeTree-5TLHU9Kx.js} +81 -31
- package/dist/src/{iterativeTree-CPMF10ve.cjs → iterativeTree-7XyY_zdo.cjs} +81 -31
- package/dist/src/{iterativeTree-DvZ7GBwt.js → iterativeTree-CnHx_kPu.js} +81 -31
- package/dist/src/{iterativeTree-CNyIk0Yn.js → iterativeTree-D9I3UJ0P.js} +79 -29
- package/dist/src/{knowledgeBase-CkMljjdg.js → knowledgeBase-BGbDBwr5.js} +5 -5
- package/dist/src/{knowledgeBase-Bi_8sV-H.js → knowledgeBase-BzfBwPyQ.js} +5 -5
- package/dist/src/{knowledgeBase-BadkINlJ.js → knowledgeBase-C_MSTwDt.js} +5 -5
- package/dist/src/{knowledgeBase-DUh34xba.cjs → knowledgeBase-DSVK_YTi.cjs} +5 -5
- package/dist/src/{litellm-BXyn5kZK.js → litellm-CRTmskqC.js} +5 -5
- package/dist/src/{litellm-BKBo0jpC.js → litellm-Ch4E-r4b.js} +5 -5
- package/dist/src/{litellm-CNcfbCfa.js → litellm-DNnk7802.js} +5 -5
- package/dist/src/{litellm-CtAr7bKG.cjs → litellm-jA4_p8mv.cjs} +5 -5
- package/dist/src/{logger-KD8JjCRJ.js → logger-BjYLHvGm.js} +56 -25
- package/dist/src/{logger-cfNpzI4o.cjs → logger-Cm0Nb8YX.cjs} +34 -3
- package/dist/src/{logger-Ct2S6Yx-.js → logger-Cs0I2v_y.js} +34 -3
- package/dist/src/{logger-BbY6ypFL.js → logger-h-eiS4iv.js} +34 -3
- package/dist/src/{luma-ray-D3FUc2K3.cjs → luma-ray-BCkN79tz.cjs} +5 -5
- package/dist/src/{luma-ray-CR5TSpp4.js → luma-ray-BqVizUQY.js} +5 -5
- package/dist/src/{luma-ray-BMX1iEB6.js → luma-ray-CD7rd6KW.js} +5 -5
- package/dist/src/{luma-ray-OEMmS1RB.js → luma-ray-DLWLjDCa.js} +5 -5
- package/dist/src/main.js +143 -146
- package/dist/src/{memoryPoisoning-Dp-btinn.cjs → memoryPoisoning-BXDi4XCK.cjs} +8 -8
- package/dist/src/{memoryPoisoning-CM83NWYl.js → memoryPoisoning-D-V4yXjj.js} +8 -8
- package/dist/src/{memoryPoisoning-D8h9gXJF.js → memoryPoisoning-PrsT7Zh2.js} +8 -8
- package/dist/src/{memoryPoisoning-cLuCoTuJ.js → memoryPoisoning-ZUwCLvEn.js} +8 -8
- package/dist/src/{messages-DBPir0TQ.cjs → messages-BSFLFXIO.cjs} +8 -8
- package/dist/src/{messages-BabO-cX8.js → messages-C5qBfONg.js} +8 -8
- package/dist/src/{messages-DGUlSNU7.js → messages-CQoK4jHx.js} +8 -8
- package/dist/src/{messages-vsE_-Lv0.js → messages-Dy5vvc3H.js} +8 -8
- package/dist/src/{mischievousUser-olGgHIVR.cjs → mischievousUser-B4_YRWqu.cjs} +5 -5
- package/dist/src/{mischievousUser-frFYKxu6.js → mischievousUser-BoZy3Fry.js} +5 -5
- package/dist/src/{mischievousUser-BUOP9W5r.js → mischievousUser-CjJ9ZEuw.js} +5 -5
- package/dist/src/{mischievousUser-0l8GD7Dp.js → mischievousUser-CrMXlOUj.js} +5 -5
- package/dist/src/{modelslab-EyDczZ5A.js → modelslab-B72XbAlR.js} +8 -8
- package/dist/src/{modelslab-Dzst7VTU.js → modelslab-Bw-46LmW.js} +8 -8
- package/dist/src/{modelslab-Cogmu4mG.js → modelslab-CJ0zQdDH.js} +8 -8
- package/dist/src/{modelslab-CNV5bMSk.cjs → modelslab-LXFLCD-O.cjs} +8 -8
- package/dist/src/{nova-reel-CjJRxI1X.cjs → nova-reel-D0k0-k8Y.cjs} +5 -5
- package/dist/src/{nova-reel-C4eUJGse.js → nova-reel-DItvBa6z.js} +5 -5
- package/dist/src/{nova-reel-BGPNBOMS.js → nova-reel-DN7gTJzd.js} +5 -5
- package/dist/src/{nova-reel-B_5NKFu1.js → nova-reel-DRLvlFOH.js} +5 -5
- package/dist/src/{nova-sonic-BNGmgfFz.js → nova-sonic-BeAjEzkG.js} +3 -3
- package/dist/src/{nova-sonic-CrV0iaY_.js → nova-sonic-DB7LzcCY.js} +3 -3
- package/dist/src/{nova-sonic-DuOG9Aun.cjs → nova-sonic-DfLkPbkF.cjs} +3 -3
- package/dist/src/{nova-sonic-ChPlh5na.js → nova-sonic-kzIVxZDb.js} +3 -3
- package/dist/src/{openai-BMHD2Huo.js → openai-Bfbg6L4c.js} +2 -2
- package/dist/src/{openai-C3uXv8wS.cjs → openai-CCaz18I4.cjs} +2 -2
- package/dist/src/{openai-CJrsh9n4.js → openai-CJOpg_dA.js} +2 -2
- package/dist/src/{openai-zgwBb4Ff.js → openai-uRacy72N.js} +2 -2
- package/dist/src/{openclaw-zIJAsz3P.js → openclaw-2Y9Ukt9Y.js} +9 -9
- package/dist/src/{openclaw-CF7fMido.js → openclaw-BdnuiqBG.js} +9 -9
- package/dist/src/{openclaw-Dphc01BY.cjs → openclaw-D54hA9Fe.cjs} +9 -9
- package/dist/src/{openclaw-BIHlu_36.js → openclaw-DRjsDCSS.js} +9 -9
- package/dist/src/{opencode-sdk-B3vlPLsp.js → opencode-sdk-2su-bzyz.js} +38 -9
- package/dist/src/{opencode-sdk-DoY6GbWw.cjs → opencode-sdk-BRkqgOOQ.cjs} +38 -9
- package/dist/src/{opencode-sdk-D05JSgMQ.js → opencode-sdk-CFY-1bkH.js} +38 -9
- package/dist/src/{opencode-sdk-sRKYHGoI.js → opencode-sdk-D-tRQJ9s.js} +38 -9
- package/dist/src/{otlpReceiver-B2eaKC8C.js → otlpReceiver-BkB7tsTT.js} +3 -3
- package/dist/src/{otlpReceiver--gTpSagc.js → otlpReceiver-BqJYGC-M.js} +4 -4
- package/dist/src/{otlpReceiver-BXjcRqAM.js → otlpReceiver-CRwU2egH.js} +4 -4
- package/dist/src/{otlpReceiver-CvJdBGSc.cjs → otlpReceiver-DOl5S07u.cjs} +4 -4
- package/dist/src/{packageParser--MWTSrPW.js → packageParser-B3bpKHK4.js} +2 -2
- package/dist/src/{packageParser-hwwSGnAZ.js → packageParser-CZdMKLBh.js} +2 -2
- package/dist/src/{packageParser-CgE-ziRo.js → packageParser-D7YWfcSe.js} +2 -2
- package/dist/src/{packageParser-QoCS1FMl.cjs → packageParser-DR054ceU.cjs} +2 -2
- package/dist/src/{promptLength-B9nZEfO6.js → promptLength-5B4_P93z.js} +2 -2
- package/dist/src/{promptLength-BbBbDHNj.cjs → promptLength-CAcg7BmO.cjs} +2 -2
- package/dist/src/{promptLength-4X-Wd8PG.js → promptLength-PkjlYFx0.js} +2 -2
- package/dist/src/{promptLength-0qIHyhA5.js → promptLength-ho3wbst6.js} +2 -2
- package/dist/src/{promptfoo-BDrfT30-.js → promptfoo-CEsoPlBa.js} +67 -10
- package/dist/src/{promptfoo-b-baRMj-.cjs → promptfoo-DAXBmrE6.cjs} +96 -9
- package/dist/src/{promptfoo-Cm4hiy1Y.js → promptfoo-DVKqidd8.js} +67 -10
- package/dist/src/{promptfoo-Rjp-MeBb.js → promptfoo-wxe28-q9.js} +67 -10
- package/dist/src/{providerRegistry-DHcFiVWX.js → providerRegistry-Bf4tRLgu.js} +2 -2
- package/dist/src/{providerRegistry-CZO_w7ue.cjs → providerRegistry-DKbi2EbP.cjs} +2 -2
- package/dist/src/{providerRegistry-ReCd0sFa.js → providerRegistry-DLeG-xXn.js} +2 -2
- package/dist/src/{providerRegistry-1gB5vtzQ.js → providerRegistry-v8Wa3f9z.js} +2 -2
- package/dist/src/{providers-B9KzWxAX.js → providers-CYBHjFEg.js} +178 -126
- package/dist/src/{providers-BCCz6_IX.js → providers-DDLQc0tl.js} +177 -125
- package/dist/src/{providers-BDVVIQM6.cjs → providers-DP1CDgd5.cjs} +176 -124
- package/dist/src/{providers-DVYRZP4E.js → providers-DTPwadhk.js} +176 -124
- package/dist/src/{providers-BYAn82cf.js → providers-DvBFcsXi.js} +1 -1
- package/dist/src/{pythonUtils-Cokhluq3.cjs → pythonUtils-BjuymNdM.cjs} +3 -3
- package/dist/src/{pythonUtils-D0BYebvX.js → pythonUtils-C4Wnz6Q7.js} +3 -3
- package/dist/src/{pythonUtils-CLCgQ9tt.js → pythonUtils-CBe7VV6f.js} +3 -3
- package/dist/src/{pythonUtils-CgYxeSmO.js → pythonUtils-CLAoc6jg.js} +3 -3
- package/dist/src/{quiverai-CdTWPe-A.js → quiverai-B6ebiUKf.js} +6 -6
- package/dist/src/{quiverai-Cv7rJKDz.js → quiverai-BG7dvOQc.js} +6 -6
- package/dist/src/{quiverai-BAp6iTZD.cjs → quiverai-DH6SMaxD.cjs} +6 -6
- package/dist/src/{quiverai-BvIhI_0l.js → quiverai-DHNIAUfS.js} +6 -6
- package/dist/src/{registry-BUJrgjwv.js → registry-BKlwRYvr.js} +14 -14
- package/dist/src/{registry-KCVF1CFC.cjs → registry-CQHRTGYs.cjs} +14 -14
- package/dist/src/{registry-Dp5EqoXc.js → registry-Eiv-QeUm.js} +14 -14
- package/dist/src/{registry-DXm1t_x0.js → registry-qNoxbVEb.js} +14 -14
- package/dist/src/{remoteGeneration-DS9N3pgB.cjs → remoteGeneration-CD3c_rzc.cjs} +6 -6
- package/dist/src/{remoteGeneration-DsaSwmG2.js → remoteGeneration-CoxtxLvB.js} +6 -6
- package/dist/src/{remoteGeneration-B1_XsKXU.js → remoteGeneration-DW6mPZnO.js} +6 -6
- package/dist/src/{remoteGeneration-COpWcmWd.js → remoteGeneration-DvWEm3yi.js} +6 -6
- package/dist/src/{render-_6ur1fhE.js → render-BoxrvB84.js} +2 -2
- package/dist/src/{render-DFfDeYUK.js → render-CTZQAINJ.js} +2 -2
- package/dist/src/{render-BNTrbmBw.cjs → render-DJ4yipCD.cjs} +2 -2
- package/dist/src/{render-DznWrxGO.js → render-MiyTvDY4.js} +2 -2
- package/dist/src/{render-CSP99NLm.js → render-jE6RKVgk.js} +2 -2
- package/dist/src/{responses-1UFFF9N_.cjs → responses-Bs2_3zyr.cjs} +14 -10
- package/dist/src/{responses-B3W2JvOQ.js → responses-C0yU3fO6.js} +14 -10
- package/dist/src/{responses-URRzV8qE.js → responses-C2vhwf8F.js} +14 -10
- package/dist/src/{responses-B6ktc3Ra.js → responses-pvlY3oYx.js} +14 -10
- package/dist/src/{rubyUtils-CnlW8AYb.js → rubyUtils-AvgsD_QH.js} +3 -3
- package/dist/src/{rubyUtils-CqUWBZAt.cjs → rubyUtils-BEqeZynS.cjs} +3 -3
- package/dist/src/{rubyUtils-CXlFM2rR.js → rubyUtils-C-sxXgGT.js} +3 -3
- package/dist/src/{rubyUtils-DdGojpfv.js → rubyUtils-DFzPvVD4.js} +3 -3
- package/dist/src/rubyUtils-DfYaGbxe.js +3 -0
- package/dist/src/{runtimeTransform-DigbjU1r.js → runtimeTransform-BmhEztlx.js} +2 -2
- package/dist/src/{runtimeTransform-BJOpL9Yc.js → runtimeTransform-Bw9Tttpp.js} +2 -2
- package/dist/src/{runtimeTransform-ON3YYILw.cjs → runtimeTransform-DJEknTZQ.cjs} +2 -2
- package/dist/src/{runtimeTransform-Dgh_D7DU.js → runtimeTransform-s14J7yxm.js} +2 -2
- package/dist/src/{sagemaker-yr1QKeBs.js → sagemaker-C8NJAT8D.js} +11 -11
- package/dist/src/{sagemaker-vhtSV7JI.js → sagemaker-DlajLLgJ.js} +11 -11
- package/dist/src/{sagemaker-CujrzP1a.js → sagemaker-PgIzjxMt.js} +11 -11
- package/dist/src/{sagemaker-DzffAqo_.cjs → sagemaker-hwPXLGI4.cjs} +11 -11
- package/dist/src/{scanner-DS0109SS.js → scanner-B3DPvw5u.js} +6 -6
- package/dist/src/server/index.js +145 -148
- package/dist/src/{server-DhMHosWj.js → server-4wx571OM.js} +6 -6
- package/dist/src/{server-Ddp8GNMp.js → server-8in_Vrrf.js} +6 -6
- package/dist/src/server-BHd6SQYX.js +3 -0
- package/dist/src/{server-CMJD10J4.js → server-pMTgWs3M.js} +4 -4
- package/dist/src/{server-B8rqV126.cjs → server-yHhoBx98.cjs} +4 -4
- package/dist/src/{shared-D6IjElRI.js → shared-BF25a7ms.js} +12 -12
- package/dist/src/{shared-WkgnDkcg.cjs → shared-DlmtkptR.cjs} +12 -12
- package/dist/src/{shared-9WHQ1oNE.js → shared-DsbObxvy.js} +12 -12
- package/dist/src/{shared-7pmVZLNO.js → shared-yBQATkD5.js} +13 -13
- package/dist/src/{signal-CSurUUyV.js → signal-CRrWj2xI.js} +3 -3
- package/dist/src/{simulatedUser-Cu601Dd4.cjs → simulatedUser-9A3YPDh2.cjs} +7 -7
- package/dist/src/{simulatedUser-C9aQObBI.js → simulatedUser-CbZZV7UQ.js} +7 -7
- package/dist/src/{simulatedUser-U_qAHnuB.js → simulatedUser-DdcsTBuS.js} +7 -7
- package/dist/src/{simulatedUser-p3tACcmw.js → simulatedUser-LKk31Iov.js} +7 -7
- package/dist/src/{slack-Bapo-7_8.js → slack-CWxUAo6N.js} +2 -2
- package/dist/src/{slack-DMC1QVEg.cjs → slack-CtMQnlyy.cjs} +2 -2
- package/dist/src/{slack-DTEFhrMn.js → slack-DrcMAkvd.js} +2 -2
- package/dist/src/{slack-k-_CP84Q.js → slack-chzmaYU3.js} +2 -2
- package/dist/src/{storage-BU4qcnOb.js → storage-B9lg2RCL.js} +6 -6
- package/dist/src/{storage-QdU-SmvD.js → storage-BC9TzmHh.js} +5 -5
- package/dist/src/{storage-CA-v9V2v.cjs → storage-Cv7QYUPO.cjs} +4 -4
- package/dist/src/{storage-CD-GWAdx.js → storage-fbHNSuZ9.js} +4 -4
- package/dist/src/{store-B2NDDooM.cjs → store-BKN4VD-m.cjs} +3 -3
- package/dist/src/{store-HpopRVzl.js → store-C4eo8Kyv.js} +3 -3
- package/dist/src/store-mJpYYA7W.js +3 -0
- package/dist/src/{store-DKd5592Q.js → store-u1XNK3e8.js} +3 -3
- package/dist/src/{strategies-CiSeroPH.js → strategies-4Nnr_9xt.js} +18 -18
- package/dist/src/{strategies-7CS3Alao.cjs → strategies-BD7US9WB.cjs} +18 -18
- package/dist/src/{strategies-DRJjGTIY.js → strategies-Ptz_P4P4.js} +20 -20
- package/dist/src/{tables-CRSXQ2Ke.js → tables-Bn3_8sxV.js} +2 -2
- package/dist/src/{tables-DafUHOeh.js → tables-D_ZGKiGc.js} +3 -3
- package/dist/src/{tables-DBIJU0WE.cjs → tables-D_s2HMPP.cjs} +2 -2
- package/dist/src/{tables-CxjU7bBd.js → tables-PWOqfbI_.js} +3 -3
- package/dist/src/{telemetry-DwX9XUN5.js → telemetry-BTIhfopq.js} +21 -16
- package/dist/src/{telemetry-00ezXr_t.js → telemetry-BU80NveV.js} +21 -16
- package/dist/src/telemetry-CVHVhMOI.js +3 -0
- package/dist/src/{telemetry-DmXYcJNV.js → telemetry-D3yQCekN.js} +21 -16
- package/dist/src/{telemetry-CJ7FnCsc.cjs → telemetry-DvzmDrSM.cjs} +21 -16
- package/dist/src/{tracingOptions-BnwKCkSB.js → tracingOptions-D2F0D7es.js} +4 -4
- package/dist/src/{tracingOptions-Chi74lOD.js → tracingOptions-PLePpCmo.js} +3 -3
- package/dist/src/{tracingOptions-ji2OuXbT.js → tracingOptions-WpE9IqC8.js} +4 -4
- package/dist/src/{tracingOptions-DrbSFaKy.cjs → tracingOptions-eqmq5sA2.cjs} +4 -4
- package/dist/src/{transcription-mzuf18Mq.cjs → transcription-CKLxdMxm.cjs} +7 -7
- package/dist/src/{transcription-B8uIgCYX.js → transcription-CmlDorqD.js} +7 -7
- package/dist/src/{transcription-CfU5loSq.js → transcription-Cupf4JNw.js} +7 -7
- package/dist/src/{transcription-Dkd22_4K.js → transcription-sOgdGxM6.js} +7 -7
- package/dist/src/{transform-BnSXWmU_2.cjs → transform-0wnBYYaL2.cjs} +4 -4
- package/dist/src/{transform-EtD4jAWi.js → transform-AfC8gqCB.js} +5 -5
- package/dist/src/{transform-CGt7Kt3y2.js → transform-BDSnWRNv2.js} +4 -4
- package/dist/src/{transform-BnSTnFlp.js → transform-C5pxvKUV.js} +4 -4
- package/dist/src/{transform-CrPGTsij.js → transform-C5rpIuDz.js} +4 -4
- package/dist/src/{transform-DmvYBRll.js → transform-D7QlmswG.js} +5 -5
- package/dist/src/{transform-DhNkAUs8.cjs → transform-DKw2FNwg.cjs} +5 -5
- package/dist/src/{transform-BIMynQsA.js → transform-R1PnNdLv.js} +5 -5
- package/dist/src/{types-BFevViUY.js → types-C_e_SykX.js} +2 -2
- package/dist/src/{types-BJQBBPTP.js → types-uLCKnRiK.js} +2 -2
- package/dist/src/{util-CN8om2rz.cjs → util-3BRss2KA.cjs} +7 -7
- package/dist/src/{util-efByNxcr.js → util-B2Nt2Oy7.js} +25 -7
- package/dist/src/{util-I-Rf-KaD.js → util-BGfk7zh7.js} +8 -8
- package/dist/src/{util-5WnCSb0h.js → util-BLSQ_7Ky.js} +25 -7
- package/dist/src/{util-IYzs5Y04.cjs → util-BSZPCmvm.cjs} +4 -3
- package/dist/src/{util-SPsvFONY.cjs → util-BuYzkbEz.cjs} +7 -7
- package/dist/src/{util-LKTmNsMQ.js → util-C6d3eV0A.js} +25 -7
- package/dist/src/{util-DURocbYR.js → util-CES4qWd7.js} +8 -8
- package/dist/src/{util-Df8YMvS1.js → util-CKZReNsz.js} +8 -8
- package/dist/src/{util-BSIuSLVK.cjs → util-Cs372i1_.cjs} +25 -7
- package/dist/src/{util-CoQWM76y.js → util-Cw9nJJWm.js} +4 -3
- package/dist/src/{util-DNl96nNs.js → util-D1NKMz55.js} +7 -7
- package/dist/src/{util-kDURhgJW.js → util-D9grslJP.js} +8 -8
- package/dist/src/{util--WMgw7wM.js → util-SNUDkWJ8.js} +4 -3
- package/dist/src/{util-Bx677_k2.js → util-vaCPFatZ.js} +7 -7
- package/dist/src/{util-DiQ3QvBB.js → util-weQgMdSy.js} +4 -3
- package/dist/src/{utils-Ve6kuJsa.cjs → utils-B_HCobst.cjs} +2 -2
- package/dist/src/{utils-BGY69tk_.js → utils-C3qMBhJT.js} +2 -2
- package/dist/src/{utils-BFOh20Gb.js → utils-Cdx3ZJr7.js} +2 -2
- package/dist/src/{utils-B0lzitHZ.js → utils-DMWnIu_V.js} +2 -2
- package/dist/src/{version-BK20a4sw.js → version-BGiEZvX0.js} +2 -2
- package/dist/src/{version-lpHV_53E.js → version-BNhpIb2U.js} +2 -2
- package/dist/src/{version-eRkNuGv8.js → version-CnYqmWbz.js} +2 -2
- package/dist/src/{version-BWCSaByA.cjs → version-XjGPawtU.cjs} +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +17 -17
- package/dist/src/app/assets/Report-BNHJKN35.js +0 -1
- package/dist/src/app/assets/index-yhM8y1PP.css +0 -1
- package/dist/src/cache-Cf7b4pWE.js +0 -3
- package/dist/src/cloud-p96PA4MH.js +0 -3
- package/dist/src/codex-sdk-BGjVAk23.js +0 -3
- package/dist/src/evalResult-DqzsS6_W.js +0 -3
- package/dist/src/evaluator-DNdJF1Gv.js +0 -3
- package/dist/src/fetch-_YgGd2qv.js +0 -3
- package/dist/src/graders-BDT7dif6.js +0 -3
- package/dist/src/rubyUtils-BYVlQ94c.js +0 -3
- package/dist/src/server-BaLytskk.js +0 -3
- package/dist/src/store-IbiRIF3k.js +0 -3
- package/dist/src/telemetry-ByPqDcKC.js +0 -3
package/dist/src/main.js
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { C as getConfigDirectoryPath, D as getEnvInt, E as getEnvFloat, M as isNonInteractive, N as state, O as getEnvString, T as getEnvBool, _ as extractJsonObjects, a as isDebugEnabled, b as orderKeys, c as setLogCallback, g as extractFirstJsonObject, i as initializeRunLogging, j as isCI, l as setLogLevel, m as sanitizeObject, n as getLogLevel, s as logger, t as closeLogger, w as setConfigDirectoryPath } from "./logger-
|
|
3
|
-
import { F as getShareApiBaseUrl, I as getShareViewBaseUrl, M as TERMINAL_MAX_WIDTH, N as getDefaultPort, O as CLOUD_PROVIDER_PREFIX, P as getDefaultShareViewBaseUrl, R as HUMAN_ASSERTION_TYPE,
|
|
4
|
-
import { n as VERSION } from "./version-
|
|
2
|
+
import { C as getConfigDirectoryPath, D as getEnvInt, E as getEnvFloat, M as isNonInteractive, N as state, O as getEnvString, T as getEnvBool, _ as extractJsonObjects, a as isDebugEnabled, b as orderKeys, c as setLogCallback, g as extractFirstJsonObject, i as initializeRunLogging, j as isCI, l as setLogLevel, m as sanitizeObject, n as getLogLevel, s as logger, t as closeLogger, w as setConfigDirectoryPath } from "./logger-h-eiS4iv.js";
|
|
3
|
+
import { F as getShareApiBaseUrl, I as getShareViewBaseUrl, M as TERMINAL_MAX_WIDTH, N as getDefaultPort, O as CLOUD_PROVIDER_PREFIX, P as getDefaultShareViewBaseUrl, R as HUMAN_ASSERTION_TYPE, f as sleep, i as fetchWithTimeout, n as fetchWithProxy, r as fetchWithRetries, t as clearAgentCache, v as getRequestTimeoutMs, x as isPromptfooSampleTarget } from "./fetch-C59QM4cf.js";
|
|
4
|
+
import { n as VERSION } from "./version-CnYqmWbz.js";
|
|
5
5
|
import { t as invariant } from "./invariant-B2Rf6avk.js";
|
|
6
|
-
import {
|
|
7
|
-
import { a as cloudConfig, c as writeGlobalConfigPartial, o as readGlobalConfig, r as CloudConfig } from "./cloud-
|
|
8
|
-
import { n as TelemetryEventSchema, r as telemetry } from "./telemetry-
|
|
9
|
-
import { $ as HARM_PLUGINS, B as categoryAliases, D as ADDITIONAL_STRATEGIES, E as isUuid, F as getDefaultNFanout, G as ADDITIONAL_PLUGINS, H as riskCategorySeverityMap, J as CANARY_BREAKING_STRATEGY_IDS, K as ALL_PLUGINS, L as isFanoutStrategy, N as STRATEGY_COLLECTIONS, P as STRATEGY_COLLECTION_MAPPINGS, Q as FOUNDATION_PLUGINS, R as isMultiTurnStrategy, S as PluginConfigSchema, U as subCategoryDescriptions, W as ALIASED_PLUGIN_MAPPINGS, X as DEFAULT_PLUGINS, Y as DATASET_EXEMPT_PLUGINS, Z as FINANCIAL_PLUGINS, _ as PromptSchema, _t as CODING_AGENT_PLUGINS, a as EvaluateOptionsSchema, at as MULTI_INPUT_VAR, b as ConversationMessageSchema, c as TestSuiteConfigSchema, dt as REMOTE_ONLY_PLUGIN_IDS, et as INSURANCE_PLUGINS, g as RedteamGenerateOptionsSchema, gt as CODING_AGENT_CORE_PLUGINS, h as RedteamConfigSchema, ht as UNALIGNED_PROVIDER_HARM_PLUGINS, i as EvalResultsFilterMode, it as MULTI_INPUT_EXCLUDED_PLUGINS, j as DEFAULT_STRATEGIES, k as ALL_STRATEGIES, l as TestSuiteSchema, lt as REDTEAM_MODEL, mt as TELECOM_PLUGINS, n as BaseAssertionTypesSchema, nt as LLAMA_GUARD_REPLICATE_PROVIDER, o as OutputFileExtension, ot as PHARMACY_PLUGINS, p as isApiProvider, pt as TEEN_SAFETY_PLUGINS, q as BIAS_PLUGINS, r as CommandLineOptionsSchema, rt as MEDICAL_PLUGINS, s as ResultFailureReason, st as PII_PLUGINS, t as AssertionOrSetSchema, tt as LLAMA_GUARD_ENABLED_CATEGORIES, u as UnifiedConfigSchema, ut as REDTEAM_PROVIDER_HARM_PLUGINS, v as ProviderOptionsSchema, w as StrategyConfigSchema, x as PartialGenerationError, y as ProvidersSchema, z as Severity } from "./types-
|
|
6
|
+
import { c as isLoggedIntoCloud, i as getAuthor, l as promptForEmailUnverified, n as checkEmailStatusAndMaybeExit, o as getUserEmail, r as clearUserEmail, s as getUserId, t as checkEmailStatus, u as setUserEmail } from "./accounts-Bw2qPqE-.js";
|
|
7
|
+
import { a as cloudConfig, c as writeGlobalConfigPartial, o as readGlobalConfig, r as CloudConfig } from "./cloud-BbAl8dyj.js";
|
|
8
|
+
import { n as TelemetryEventSchema, r as telemetry } from "./telemetry-BU80NveV.js";
|
|
9
|
+
import { $ as HARM_PLUGINS, B as categoryAliases, D as ADDITIONAL_STRATEGIES, E as isUuid, F as getDefaultNFanout, G as ADDITIONAL_PLUGINS, H as riskCategorySeverityMap, J as CANARY_BREAKING_STRATEGY_IDS, K as ALL_PLUGINS, L as isFanoutStrategy, N as STRATEGY_COLLECTIONS, P as STRATEGY_COLLECTION_MAPPINGS, Q as FOUNDATION_PLUGINS, R as isMultiTurnStrategy, S as PluginConfigSchema, U as subCategoryDescriptions, W as ALIASED_PLUGIN_MAPPINGS, X as DEFAULT_PLUGINS, Y as DATASET_EXEMPT_PLUGINS, Z as FINANCIAL_PLUGINS, _ as PromptSchema, _t as CODING_AGENT_PLUGINS, a as EvaluateOptionsSchema, at as MULTI_INPUT_VAR, b as ConversationMessageSchema, c as TestSuiteConfigSchema, dt as REMOTE_ONLY_PLUGIN_IDS, et as INSURANCE_PLUGINS, g as RedteamGenerateOptionsSchema, gt as CODING_AGENT_CORE_PLUGINS, h as RedteamConfigSchema, ht as UNALIGNED_PROVIDER_HARM_PLUGINS, i as EvalResultsFilterMode, it as MULTI_INPUT_EXCLUDED_PLUGINS, j as DEFAULT_STRATEGIES, k as ALL_STRATEGIES, l as TestSuiteSchema, lt as REDTEAM_MODEL, mt as TELECOM_PLUGINS, n as BaseAssertionTypesSchema, nt as LLAMA_GUARD_REPLICATE_PROVIDER, o as OutputFileExtension, ot as PHARMACY_PLUGINS, p as isApiProvider, pt as TEEN_SAFETY_PLUGINS, q as BIAS_PLUGINS, r as CommandLineOptionsSchema, rt as MEDICAL_PLUGINS, s as ResultFailureReason, st as PII_PLUGINS, t as AssertionOrSetSchema, tt as LLAMA_GUARD_ENABLED_CATEGORIES, u as UnifiedConfigSchema, ut as REDTEAM_PROVIDER_HARM_PLUGINS, v as ProviderOptionsSchema, w as StrategyConfigSchema, x as PartialGenerationError, y as ProvidersSchema, z as Severity } from "./types-C_e_SykX.js";
|
|
10
10
|
import { i as isJavascriptFile } from "./fileExtensions-D4GCJ67J.js";
|
|
11
|
-
import { r as importModule, t as getDirectory } from "./esm-
|
|
12
|
-
import { a as extractVariablesFromTemplates, i as extractVariablesFromTemplate, o as getNunjucksEngine, t as renderEnvOnlyInObject } from "./render-
|
|
13
|
-
import { a as getRemoteHealthUrl, l as shouldGenerateRemote, n as getRemoteGenerationExplicitlyDisabledError, r as getRemoteGenerationUrl, s as neverGenerateRemote } from "./remoteGeneration-
|
|
14
|
-
import { a as openAuthBrowser, i as checkServerRunning, n as BrowserBehaviorNames, o as openBrowser, s as promptUser, t as BrowserBehavior } from "./server-
|
|
15
|
-
import { _ as makeRequest$1, c as getCloudDatabaseId, d as getOrgContext, f as getPluginSeverityOverridesFromCloud, g as isCloudProvider, h as getUserTeams, i as retrieveMedia, l as getConfigFromCloud, m as getProviderFromCloud, o as canCreateTargets, r as mediaExists, s as checkCloudPermissions, t as getMediaStorage, u as getEvalConfigFromCloud, v as resolveTeamFromIdentifier, y as resolveTeamId } from "./storage-
|
|
11
|
+
import { r as importModule, t as getDirectory } from "./esm-CYMWMaSj.js";
|
|
12
|
+
import { a as extractVariablesFromTemplates, i as extractVariablesFromTemplate, o as getNunjucksEngine, t as renderEnvOnlyInObject } from "./render-jE6RKVgk.js";
|
|
13
|
+
import { a as getRemoteHealthUrl, l as shouldGenerateRemote, n as getRemoteGenerationExplicitlyDisabledError, r as getRemoteGenerationUrl, s as neverGenerateRemote } from "./remoteGeneration-DW6mPZnO.js";
|
|
14
|
+
import { a as openAuthBrowser, i as checkServerRunning, n as BrowserBehaviorNames, o as openBrowser, s as promptUser, t as BrowserBehavior } from "./server-4wx571OM.js";
|
|
15
|
+
import { _ as makeRequest$1, c as getCloudDatabaseId, d as getOrgContext, f as getPluginSeverityOverridesFromCloud, g as isCloudProvider, h as getUserTeams, i as retrieveMedia, l as getConfigFromCloud, m as getProviderFromCloud, o as canCreateTargets, r as mediaExists, s as checkCloudPermissions, t as getMediaStorage, u as getEvalConfigFromCloud, v as resolveTeamFromIdentifier, y as resolveTeamId } from "./storage-B9lg2RCL.js";
|
|
16
16
|
import { n as sha256, t as randomSequence } from "./createHash-CgRvs4Fn.js";
|
|
17
|
-
import { a as fetchWithCache, n as clearCache, r as disableCache, t as cache_exports } from "./cache-
|
|
18
|
-
import { r as runPython } from "./pythonUtils-
|
|
19
|
-
import { D as normalizeProviderRef, L as readFilters, M as maybeLoadFromExternalFile, R as readOutput, _ as resultIsForTestCase, a as ComparisonEvalNotFoundError, b as getProviderDescription, c as getEvalTableOutputPromptLocationsBySize, d as fetchCsvFromGoogleSheet, f as setupEnv, g as getTestCaseDeduplicationKey, h as filterRuntimeVars, i as writeOutput, j as maybeLoadConfigFromExternalFile, l as getEvalTablePromptStrippedPayload, m as extractRuntimeVars, n as createOutputMetadata, o as evalTableToJson, p as deduplicateTestCases, r as writeMultipleOutputs, s as generateEvalCsv, t as printBorder, u as mergeComparisonTables, v as checkProviderApiKeys, y as doesProviderRefMatch } from "./util-
|
|
20
|
-
import { a as resolveProviderConfigs, d as MCPProvider, f as HttpProvider, i as resolveProvider, m as createTransformResponse, n as loadApiProvider, p as createTransformRequest, r as loadApiProviders, t as getProviderIds } from "./providers-
|
|
17
|
+
import { a as fetchWithCache, n as clearCache, r as disableCache, t as cache_exports } from "./cache-BuudGL4I.js";
|
|
18
|
+
import { r as runPython } from "./pythonUtils-CLAoc6jg.js";
|
|
19
|
+
import { D as normalizeProviderRef, L as readFilters, M as maybeLoadFromExternalFile, R as readOutput, _ as resultIsForTestCase, a as ComparisonEvalNotFoundError, b as getProviderDescription, c as getEvalTableOutputPromptLocationsBySize, d as fetchCsvFromGoogleSheet, f as setupEnv, g as getTestCaseDeduplicationKey, h as filterRuntimeVars, i as writeOutput, j as maybeLoadConfigFromExternalFile, l as getEvalTablePromptStrippedPayload, m as extractRuntimeVars, n as createOutputMetadata, o as evalTableToJson, p as deduplicateTestCases, r as writeMultipleOutputs, s as generateEvalCsv, t as printBorder, u as mergeComparisonTables, v as checkProviderApiKeys, y as doesProviderRefMatch } from "./util-CES4qWd7.js";
|
|
20
|
+
import { a as resolveProviderConfigs, d as MCPProvider, f as HttpProvider, i as resolveProvider, m as createTransformResponse, n as loadApiProvider, p as createTransformRequest, r as loadApiProviders, t as getProviderIds } from "./providers-CYBHjFEg.js";
|
|
21
21
|
import { a as createEmptyTokenUsage, i as createEmptyAssertions, n as accumulateResponseTokenUsage, r as accumulateTokenUsage, t as accumulateAssertionTokenUsage } from "./tokenUsageUtils-CDet74yk.js";
|
|
22
22
|
import { n as escapeRegExp, t as ellipsize } from "./text-Db-Wt2u2.js";
|
|
23
|
-
import { a as evalResultsTable, c as evalsToPromptsTable, d as promptsTable, g as getDb, h as closeDbIfOpen, i as datasetsTable, l as evalsToTagsTable, n as blobReferencesTable, o as evalsTable, p as tagsTable, r as configsTable, s as evalsToDatasetsTable, t as blobAssetsTable, u as modelAuditsTable } from "./tables-
|
|
24
|
-
import { n as getBlobUrl, t as getBlobByHash } from "./blobs-
|
|
25
|
-
import { n as createPlaceholderInputValue,
|
|
26
|
-
import { a as extractPromptFromTags, i as extractMaterializedVariablesFromJsonWithMetadata, n as extractGoalFromPrompt,
|
|
27
|
-
import { n as PromptfooHarmfulCompletionProvider } from "./promptfoo-
|
|
28
|
-
import { A as DivergentRepetitionPlugin, B as sampleArray, C as getPiiLeakTestsForCategory, Ct as getDefaultProviders, D as HarmbenchPlugin, E as ImitationPlugin, F as AegisPlugin, I as RedteamGraderBase, L as RedteamPluginBase, M as CrossSessionLeakPlugin, N as ContractPlugin, O as HallucinationPlugin, P as BeavertailsPlugin, Q as readProviderPromptMap, R as getCustomPolicies, S as PlinyPlugin, T as IntentPlugin, V as fetchHuggingFaceDataset, X as processPrompts, Y as doRemoteGrading, Z as readPrompts, _ as PoliticsPlugin, a as UnverifiableClaimsPlugin, b as isValidPolicyObject, c as ToolDiscoveryPlugin, d as TeenSafetyDangerousContentPlugin, f as TeenSafetyAgeRestrictedGoodsAndServicesPlugin, g as PromptExtractionPlugin, h as RbacPlugin, i as VLGuardPlugin, j as DebugAccessPlugin, k as ExcessiveAgencyPlugin, l as TeenSafetyHarmfulBodyIdealsPlugin, m as ShellInjectionPlugin, o as UnsafeBenchPlugin, p as SqlInjectionPlugin, r as VLSUPlugin, s as ToxicChatPlugin, t as GRADERS, u as TeenSafetyDangerousRoleplayPlugin, v as PolicyPlugin, w as OverreliancePlugin, x as makeInlinePolicyIdSync, y as determinePolicyTypeFromId, z as retryWithDeduplication } from "./graders-
|
|
29
|
-
import { f as redteamProviderManager, m as TokenUsageTracker } from "./shared-
|
|
30
|
-
import { c as assertions_default, l as readAssertions, n as evaluate$1, o as accumulateNamedMetric, s as doesPromptRefMatch, u as runAssertions } from "./evaluator-
|
|
31
|
-
import { i as generateIdFromPrompt } from "./utils-
|
|
32
|
-
import { n as TRANSFORM_KEYS, t as INLINE_FUNCTION_LABEL } from "./transform-
|
|
33
|
-
import { n as getTraceStore } from "./store-
|
|
34
|
-
import { n as setupSignalWatcher, t as readSignalEvalId } from "./signal-
|
|
35
|
-
import { n as isBlobStorageEnabled } from "./extractor-
|
|
36
|
-
import { n as getGeneratedPromptOverLimit, r as getMaxCharsPerMessageModifierValue, t as MAX_CHARS_PER_MESSAGE_MODIFIER_KEY } from "./promptLength-
|
|
37
|
-
import { a as createEvalId, n as EvalQueries, s as getEvalSummaries, t as Eval } from "./eval-
|
|
38
|
-
import { n as sanitizeProvider, t as EvalResult } from "./evalResult-
|
|
39
|
-
import { n as renderPrompt } from "./evaluatorHelpers-
|
|
23
|
+
import { a as evalResultsTable, c as evalsToPromptsTable, d as promptsTable, g as getDb, h as closeDbIfOpen, i as datasetsTable, l as evalsToTagsTable, n as blobReferencesTable, o as evalsTable, p as tagsTable, r as configsTable, s as evalsToDatasetsTable, t as blobAssetsTable, u as modelAuditsTable } from "./tables-D_ZGKiGc.js";
|
|
24
|
+
import { n as getBlobUrl, t as getBlobByHash } from "./blobs-CA4gXarv.js";
|
|
25
|
+
import { n as createPlaceholderInputValue, t as buildPromptInputDescriptions } from "./inputVariables-qJmuSN5i.js";
|
|
26
|
+
import { a as extractPromptFromTags, i as extractMaterializedVariablesFromJsonWithMetadata, n as extractGoalFromPrompt, s as getShortPluginId } from "./util-D9grslJP.js";
|
|
27
|
+
import { a as assertRemoteMaterializationHandled, l as requiresRemoteMaterialization, n as PromptfooHarmfulCompletionProvider } from "./promptfoo-wxe28-q9.js";
|
|
28
|
+
import { A as DivergentRepetitionPlugin, B as sampleArray, C as getPiiLeakTestsForCategory, Ct as getDefaultProviders, D as HarmbenchPlugin, E as ImitationPlugin, F as AegisPlugin, I as RedteamGraderBase, L as RedteamPluginBase, M as CrossSessionLeakPlugin, N as ContractPlugin, O as HallucinationPlugin, P as BeavertailsPlugin, Q as readProviderPromptMap, R as getCustomPolicies, S as PlinyPlugin, T as IntentPlugin, V as fetchHuggingFaceDataset, X as processPrompts, Y as doRemoteGrading, Z as readPrompts, _ as PoliticsPlugin, a as UnverifiableClaimsPlugin, b as isValidPolicyObject, c as ToolDiscoveryPlugin, d as TeenSafetyDangerousContentPlugin, f as TeenSafetyAgeRestrictedGoodsAndServicesPlugin, g as PromptExtractionPlugin, h as RbacPlugin, i as VLGuardPlugin, j as DebugAccessPlugin, k as ExcessiveAgencyPlugin, l as TeenSafetyHarmfulBodyIdealsPlugin, m as ShellInjectionPlugin, o as UnsafeBenchPlugin, p as SqlInjectionPlugin, r as VLSUPlugin, s as ToxicChatPlugin, t as GRADERS, u as TeenSafetyDangerousRoleplayPlugin, v as PolicyPlugin, w as OverreliancePlugin, x as makeInlinePolicyIdSync, y as determinePolicyTypeFromId, z as retryWithDeduplication } from "./graders-BnO-xoa-.js";
|
|
29
|
+
import { f as redteamProviderManager, m as TokenUsageTracker } from "./shared-DsbObxvy.js";
|
|
30
|
+
import { c as assertions_default, l as readAssertions, n as evaluate$1, o as accumulateNamedMetric, s as doesPromptRefMatch, u as runAssertions } from "./evaluator-BpaUYhLY.js";
|
|
31
|
+
import { i as generateIdFromPrompt } from "./utils-Cdx3ZJr7.js";
|
|
32
|
+
import { n as TRANSFORM_KEYS, t as INLINE_FUNCTION_LABEL } from "./transform-C5pxvKUV.js";
|
|
33
|
+
import { n as getTraceStore } from "./store-u1XNK3e8.js";
|
|
34
|
+
import { n as setupSignalWatcher, t as readSignalEvalId } from "./signal-CRrWj2xI.js";
|
|
35
|
+
import { n as isBlobStorageEnabled } from "./extractor-CtadTcJm.js";
|
|
36
|
+
import { n as getGeneratedPromptOverLimit, r as getMaxCharsPerMessageModifierValue, t as MAX_CHARS_PER_MESSAGE_MODIFIER_KEY } from "./promptLength-PkjlYFx0.js";
|
|
37
|
+
import { a as createEvalId, n as EvalQueries, s as getEvalSummaries, t as Eval } from "./eval-DmGWplIN.js";
|
|
38
|
+
import { n as sanitizeProvider, t as EvalResult } from "./evalResult-ByGP9zuP.js";
|
|
39
|
+
import { n as renderPrompt } from "./evaluatorHelpers-DDG44JeI.js";
|
|
40
40
|
import { t as formatDuration } from "./formatDuration-CMVNrYvE.js";
|
|
41
|
-
import { i as pluginMatchesStrategyTargets, n as loadStrategy, r as validateStrategies, t as Strategies } from "./strategies-
|
|
42
|
-
import { n as shouldUseInkUI } from "./interactiveCheck-
|
|
41
|
+
import { i as pluginMatchesStrategyTargets, n as loadStrategy, r as validateStrategies, t as Strategies } from "./strategies-Ptz_P4P4.js";
|
|
42
|
+
import { n as shouldUseInkUI } from "./interactiveCheck-BLnDrfjg.js";
|
|
43
43
|
import { fileURLToPath } from "node:url";
|
|
44
44
|
import { Command, InvalidArgumentError } from "commander";
|
|
45
45
|
import { z } from "zod";
|
|
@@ -111,7 +111,7 @@ function runCommand(program) {
|
|
|
111
111
|
hasGithubPr: !!cmdObj.githubPr,
|
|
112
112
|
hasGuidance: !!(cmdObj.guidance || cmdObj.guidanceFile)
|
|
113
113
|
});
|
|
114
|
-
const { executeScan } = await import("./scanner-
|
|
114
|
+
const { executeScan } = await import("./scanner-B3DPvw5u.js");
|
|
115
115
|
await executeScan(repoPath, cmdObj);
|
|
116
116
|
});
|
|
117
117
|
}
|
|
@@ -4389,7 +4389,7 @@ async function doEval(cmdObj, defaultConfig, defaultConfigPath, evaluateOptions)
|
|
|
4389
4389
|
const passRate = successes / totalTests * 100;
|
|
4390
4390
|
if (cmdObj.table && getLogLevel() !== "debug" && totalTests < 500) {
|
|
4391
4391
|
const table = await evalRecord.getTable();
|
|
4392
|
-
const outputTable = generateTable(table);
|
|
4392
|
+
const outputTable = generateTable(table, cmdObj.tableCellMaxLength ?? commandLineOptions?.tableCellMaxLength);
|
|
4393
4393
|
logger.info("\n" + outputTable.toString());
|
|
4394
4394
|
if (table.body.length > 25) {
|
|
4395
4395
|
const rowsLeft = table.body.length - 25;
|
|
@@ -4546,7 +4546,7 @@ function evalCommand(program, defaultConfig, defaultConfigPath) {
|
|
|
4546
4546
|
};
|
|
4547
4547
|
}, {}).option("-j, --max-concurrency <number>", `Maximum number of concurrent API calls (default: 4)`).option("--repeat <number>", "Number of times to run each test (default: 1)").option("--delay <number>", "Delay between each test (in milliseconds) (default: 0)").option("--no-cache", "Do not read or write results to disk cache", defaultConfig?.commandLineOptions?.cache ?? defaultConfig?.evaluateOptions?.cache).option("--remote", "Force remote inference wherever possible (used for red teams)", false).option("-n, --filter-first-n <number>", "Only run the first N tests").option("--filter-pattern <pattern>", "Only run tests whose description matches the regular expression pattern").option("--filter-prompts <pattern>", "Only run tests with prompts whose id or label matches the regex pattern").option("--filter-providers, --filter-targets <providers>", "Only run tests with these providers (regex match)").option("--filter-sample <number>", "Only run a random sample of N tests").option("--filter-failing <path or id>", "Path to json output file or eval ID to filter non-passing tests from (failures + errors)").option("--filter-failing-only <path or id>", "Path to json output file or eval ID to filter assertion failures from (excludes errors)").option("--filter-errors-only <path or id>", "Path to json output file or eval ID to filter error tests from").option("--filter-metadata <key=value>", "Only run tests whose metadata matches the key=value pair. Can be specified multiple times for AND logic (e.g. --filter-metadata type=unit --filter-metadata env=prod)", (value, previous) => {
|
|
4548
4548
|
return previous ? [...previous, value] : [value];
|
|
4549
|
-
}).option("-o, --output <paths...>", "Path to output file (csv, txt, json, yaml, yml, html), default is no output file").option("--table", "Output table in CLI", defaultConfig?.commandLineOptions?.table ?? true).option("--no-table", "Do not output table in CLI", defaultConfig?.commandLineOptions?.table).option("--table-cell-max-length <number>", "Truncate console table cells to this length"
|
|
4549
|
+
}).option("-o, --output <paths...>", "Path to output file (csv, txt, json, yaml, yml, html), default is no output file").option("--table", "Output table in CLI", defaultConfig?.commandLineOptions?.table ?? true).option("--no-table", "Do not output table in CLI", defaultConfig?.commandLineOptions?.table).option("--table-cell-max-length <number>", "Truncate console table cells to this length").option("--share", "Create a shareable URL", defaultConfig?.commandLineOptions?.share).option("--no-share", "Do not share, this overrides the config file").option("--resume [evalId]", "Resume a paused/incomplete evaluation. Defaults to latest when omitted").option("--retry-errors", "Retry all ERROR results from the latest evaluation").option("--no-write", "Do not write results to promptfoo directory", defaultConfig?.commandLineOptions?.write).option("--grader <provider>", "Model that will grade outputs", defaultConfig?.commandLineOptions?.grader).option("--suggest-prompts <number>", "Generate N new prompts and append them to the prompt list").option("-w, --watch", "Watch for changes in config and re-run").option("-x, --extension <paths...>", "Extension hooks to run (e.g., file://handler.js:afterAll)").option("--description <description>", "Description of the eval run").option("--no-progress-bar", "Do not show progress bar").action(async (opts, command) => {
|
|
4550
4550
|
let validatedOpts;
|
|
4551
4551
|
try {
|
|
4552
4552
|
validatedOpts = EvalCommandSchema.parse(opts);
|
|
@@ -5590,7 +5590,7 @@ async function fetchRemoteGeneration(task, prompts) {
|
|
|
5590
5590
|
method: "POST",
|
|
5591
5591
|
headers: { "Content-Type": "application/json" },
|
|
5592
5592
|
body: JSON.stringify(body)
|
|
5593
|
-
},
|
|
5593
|
+
}, getRequestTimeoutMs(), "json");
|
|
5594
5594
|
return RedTeamGenerationResponse.parse(response.data).result;
|
|
5595
5595
|
} catch (error) {
|
|
5596
5596
|
logger.warn(`Error using remote generation for task '${task}': ${error}`);
|
|
@@ -5763,7 +5763,7 @@ const DATASET_URL$2 = `https://raw.githubusercontent.com/promptfoo/promptfoo/ref
|
|
|
5763
5763
|
const DATASET_URL_MULTILINGUAL = `https://raw.githubusercontent.com/promptfoo/promptfoo/refs/tags/${DATASET_VERSION}/examples/cyberseceval/prompt_injection_multilingual.json`;
|
|
5764
5764
|
async function fetchDataset$2(limit, isMultilingual) {
|
|
5765
5765
|
try {
|
|
5766
|
-
const response = await fetchWithTimeout(isMultilingual ? DATASET_URL_MULTILINGUAL : DATASET_URL$2, {},
|
|
5766
|
+
const response = await fetchWithTimeout(isMultilingual ? DATASET_URL_MULTILINGUAL : DATASET_URL$2, {}, getRequestTimeoutMs());
|
|
5767
5767
|
if (!response.ok) throw new Error(`[CyberSecEval] HTTP status: ${response.status} ${response.statusText}`);
|
|
5768
5768
|
const data = await response.json();
|
|
5769
5769
|
if (!data || !Array.isArray(data)) throw new Error(`[CyberSecEval] Invalid response from ${DATASET_URL$2}`);
|
|
@@ -5831,7 +5831,7 @@ async function fetchDataset$1(limit) {
|
|
|
5831
5831
|
logger.debug(`[DoNotAnswer] Fetching dataset from ${DATASET_URL$1}`);
|
|
5832
5832
|
let csvData;
|
|
5833
5833
|
if (DATASET_URL$1.startsWith("http")) {
|
|
5834
|
-
const response = await fetchWithTimeout(DATASET_URL$1, {},
|
|
5834
|
+
const response = await fetchWithTimeout(DATASET_URL$1, {}, getRequestTimeoutMs());
|
|
5835
5835
|
if (!response.ok) throw new Error(`[DoNotAnswer] HTTP status: ${response.status} ${response.statusText}`);
|
|
5836
5836
|
csvData = await response.text();
|
|
5837
5837
|
} else try {
|
|
@@ -6366,7 +6366,7 @@ async function fetchDataset(limit) {
|
|
|
6366
6366
|
logger.debug(`[XSTest] Fetching dataset from ${DATASET_URL}`);
|
|
6367
6367
|
let csvData;
|
|
6368
6368
|
if (DATASET_URL.startsWith("http")) {
|
|
6369
|
-
const response = await fetchWithTimeout(DATASET_URL, {},
|
|
6369
|
+
const response = await fetchWithTimeout(DATASET_URL, {}, getRequestTimeoutMs());
|
|
6370
6370
|
if (!response.ok) throw new Error(`[XSTest] HTTP status: ${response.status} ${response.statusText}`);
|
|
6371
6371
|
csvData = await response.text();
|
|
6372
6372
|
} else try {
|
|
@@ -6644,11 +6644,12 @@ async function fetchRemoteTestCases(key, purpose, injectVar, n, config) {
|
|
|
6644
6644
|
method: "POST",
|
|
6645
6645
|
headers: { "Content-Type": "application/json" },
|
|
6646
6646
|
body
|
|
6647
|
-
},
|
|
6647
|
+
}, getRequestTimeoutMs());
|
|
6648
6648
|
if (status !== 200 || !data || !data.result || !Array.isArray(data.result)) {
|
|
6649
6649
|
logger.error(`Error generating test cases for ${key}: ${statusText} ${JSON.stringify(data)}`);
|
|
6650
6650
|
return [];
|
|
6651
6651
|
}
|
|
6652
|
+
if (requiresRemoteMaterialization(config?.inputs)) assertRemoteMaterializationHandled(data, `Remote plugin generation for ${key}`);
|
|
6652
6653
|
const ret = data.result;
|
|
6653
6654
|
logger.debug(`Received remote generation for ${key}:\n${JSON.stringify(ret)}`);
|
|
6654
6655
|
return ret;
|
|
@@ -6657,31 +6658,6 @@ async function fetchRemoteTestCases(key, purpose, injectVar, n, config) {
|
|
|
6657
6658
|
return [];
|
|
6658
6659
|
}
|
|
6659
6660
|
}
|
|
6660
|
-
async function materializeRemoteTestCaseInputs({ config, injectVar, pluginId, provider, purpose, testCases }) {
|
|
6661
|
-
const inputs = config.inputs;
|
|
6662
|
-
if (!inputs || Object.keys(inputs).length === 0) return testCases;
|
|
6663
|
-
return Promise.all(testCases.map(async (testCase, materializationIndex) => {
|
|
6664
|
-
const inputVars = extractInputVarsFromPrompt(String(testCase.vars?.[injectVar] ?? ""), inputs);
|
|
6665
|
-
if (!inputVars) return testCase;
|
|
6666
|
-
const materializedVars = await materializeInputVariablesWithMetadata(inputVars, inputs, {
|
|
6667
|
-
materializationIndex,
|
|
6668
|
-
pluginId,
|
|
6669
|
-
provider,
|
|
6670
|
-
purpose
|
|
6671
|
-
});
|
|
6672
|
-
return {
|
|
6673
|
-
...testCase,
|
|
6674
|
-
vars: {
|
|
6675
|
-
...testCase.vars || {},
|
|
6676
|
-
...materializedVars.vars
|
|
6677
|
-
},
|
|
6678
|
-
metadata: {
|
|
6679
|
-
...testCase.metadata || {},
|
|
6680
|
-
...materializedVars.metadata ? { inputMaterialization: materializedVars.metadata } : {}
|
|
6681
|
-
}
|
|
6682
|
-
};
|
|
6683
|
-
}));
|
|
6684
|
-
}
|
|
6685
6661
|
function createPluginFactory(PluginClass, key, validate) {
|
|
6686
6662
|
return {
|
|
6687
6663
|
key,
|
|
@@ -6693,14 +6669,7 @@ function createPluginFactory(PluginClass, key, validate) {
|
|
|
6693
6669
|
return new PluginClass(provider, purpose, injectVar, configWithDefaults).generateTests(n, delayMs);
|
|
6694
6670
|
}
|
|
6695
6671
|
const pluginId = getShortPluginId(key);
|
|
6696
|
-
const testCases = await
|
|
6697
|
-
config: configWithDefaults ?? {},
|
|
6698
|
-
injectVar,
|
|
6699
|
-
pluginId,
|
|
6700
|
-
provider,
|
|
6701
|
-
purpose,
|
|
6702
|
-
testCases: await fetchRemoteTestCases(key, purpose, injectVar, n, configWithDefaults ?? {})
|
|
6703
|
-
});
|
|
6672
|
+
const testCases = await fetchRemoteTestCases(key, purpose, injectVar, n, configWithDefaults ?? {});
|
|
6704
6673
|
const computedModifiers = computeModifiersFromConfig(configWithDefaults);
|
|
6705
6674
|
return testCases.map((testCase) => ({
|
|
6706
6675
|
...testCase,
|
|
@@ -6787,14 +6756,7 @@ const piiPlugins = PII_PLUGINS.map((category) => ({
|
|
|
6787
6756
|
action: async (params) => {
|
|
6788
6757
|
if (shouldGenerateRemote()) {
|
|
6789
6758
|
const pluginId = getShortPluginId(category);
|
|
6790
|
-
const testCases = await
|
|
6791
|
-
config: params.config ?? {},
|
|
6792
|
-
injectVar: params.injectVar,
|
|
6793
|
-
pluginId,
|
|
6794
|
-
provider: params.provider,
|
|
6795
|
-
purpose: params.purpose,
|
|
6796
|
-
testCases: await fetchRemoteTestCases(category, params.purpose, params.injectVar, params.n, params.config ?? {})
|
|
6797
|
-
});
|
|
6759
|
+
const testCases = await fetchRemoteTestCases(category, params.purpose, params.injectVar, params.n, params.config ?? {});
|
|
6798
6760
|
const computedModifiers = computeModifiersFromConfig(params.config);
|
|
6799
6761
|
return testCases.map((testCase) => ({
|
|
6800
6762
|
...testCase,
|
|
@@ -6826,14 +6788,7 @@ const biasPlugins = BIAS_PLUGINS.map((category) => ({
|
|
|
6826
6788
|
return [];
|
|
6827
6789
|
}
|
|
6828
6790
|
const pluginId = getShortPluginId(category);
|
|
6829
|
-
const testCases = await
|
|
6830
|
-
config: params.config ?? {},
|
|
6831
|
-
injectVar: params.injectVar,
|
|
6832
|
-
pluginId,
|
|
6833
|
-
provider: params.provider,
|
|
6834
|
-
purpose: params.purpose,
|
|
6835
|
-
testCases: await fetchRemoteTestCases(category, params.purpose, params.injectVar, params.n, params.config ?? {})
|
|
6836
|
-
});
|
|
6791
|
+
const testCases = await fetchRemoteTestCases(category, params.purpose, params.injectVar, params.n, params.config ?? {});
|
|
6837
6792
|
const computedModifiers = computeModifiersFromConfig(params.config);
|
|
6838
6793
|
return testCases.map((testCase) => ({
|
|
6839
6794
|
...testCase,
|
|
@@ -6852,21 +6807,14 @@ function createRemotePlugin(key, validate) {
|
|
|
6852
6807
|
return {
|
|
6853
6808
|
key,
|
|
6854
6809
|
validate,
|
|
6855
|
-
action: async ({
|
|
6810
|
+
action: async ({ purpose, injectVar, n, config }) => {
|
|
6856
6811
|
const configWithDefaults = applyDefaultRemotePluginConfig(key, config);
|
|
6857
6812
|
if (neverGenerateRemote()) {
|
|
6858
6813
|
logger.error(getRemoteGenerationExplicitlyDisabledError(`${key} plugin`));
|
|
6859
6814
|
return [];
|
|
6860
6815
|
}
|
|
6861
6816
|
const pluginId = getShortPluginId(key);
|
|
6862
|
-
const testCases = await
|
|
6863
|
-
config: configWithDefaults ?? {},
|
|
6864
|
-
injectVar,
|
|
6865
|
-
pluginId,
|
|
6866
|
-
provider,
|
|
6867
|
-
purpose,
|
|
6868
|
-
testCases: await fetchRemoteTestCases(key, purpose, injectVar, n, configWithDefaults ?? {})
|
|
6869
|
-
});
|
|
6817
|
+
const testCases = await fetchRemoteTestCases(key, purpose, injectVar, n, configWithDefaults ?? {});
|
|
6870
6818
|
const computedModifiers = computeModifiersFromConfig(configWithDefaults);
|
|
6871
6819
|
const testsWithMetadata = testCases.map((testCase) => ({
|
|
6872
6820
|
...testCase,
|
|
@@ -6933,6 +6881,15 @@ async function validateSharpDependency(strategies, plugins, checkSharp = isSharp
|
|
|
6933
6881
|
}
|
|
6934
6882
|
//#endregion
|
|
6935
6883
|
//#region src/redteam/index.ts
|
|
6884
|
+
const MATERIALIZED_MULTI_INPUT_PROMPT_METADATA_KEY = "__promptfooMaterializedMultiInputPrompt";
|
|
6885
|
+
function getMaterializedMultiInputPromptSnapshot(metadata) {
|
|
6886
|
+
const snapshot = metadata?.[MATERIALIZED_MULTI_INPUT_PROMPT_METADATA_KEY];
|
|
6887
|
+
return typeof snapshot === "string" ? snapshot : void 0;
|
|
6888
|
+
}
|
|
6889
|
+
function getMaterializedMultiInputPromptMetadata(vars) {
|
|
6890
|
+
const prompt = vars?.[MULTI_INPUT_VAR];
|
|
6891
|
+
return typeof prompt === "string" ? { [MATERIALIZED_MULTI_INPUT_PROMPT_METADATA_KEY]: prompt } : void 0;
|
|
6892
|
+
}
|
|
6936
6893
|
function getPolicyText(metadata) {
|
|
6937
6894
|
if (!metadata || metadata.policy === void 0 || metadata.policy === null) return;
|
|
6938
6895
|
const policyValue = metadata.policy;
|
|
@@ -6945,12 +6902,19 @@ function getPolicyText(metadata) {
|
|
|
6945
6902
|
async function rematerializeStrategyInputVars(testCase, injectVar, provider, purpose, materializationIndex) {
|
|
6946
6903
|
const inputs = testCase.metadata?.pluginConfig?.inputs;
|
|
6947
6904
|
const inputMaterialization = testCase.metadata?.inputMaterialization;
|
|
6948
|
-
|
|
6905
|
+
const materializedPromptSnapshot = getMaterializedMultiInputPromptSnapshot(testCase.metadata);
|
|
6906
|
+
const currentInjectVar = testCase.vars?.[injectVar];
|
|
6907
|
+
if (!inputs || Object.keys(inputs).length === 0 || !currentInjectVar) return {
|
|
6908
|
+
inputMaterialization,
|
|
6909
|
+
vars: testCase.vars
|
|
6910
|
+
};
|
|
6911
|
+
const promptChangedSinceMaterialization = typeof currentInjectVar === "string" && typeof materializedPromptSnapshot === "string" && currentInjectVar !== materializedPromptSnapshot;
|
|
6912
|
+
if (Boolean(inputMaterialization) && Object.keys(inputs).every((key) => Object.prototype.hasOwnProperty.call(testCase.vars ?? {}, key)) && !promptChangedSinceMaterialization) return {
|
|
6949
6913
|
inputMaterialization,
|
|
6950
6914
|
vars: testCase.vars
|
|
6951
6915
|
};
|
|
6952
6916
|
try {
|
|
6953
|
-
const materializedVars = await extractMaterializedVariablesFromJsonWithMetadata(JSON.parse(String(
|
|
6917
|
+
const materializedVars = await extractMaterializedVariablesFromJsonWithMetadata(JSON.parse(String(currentInjectVar)), inputs, {
|
|
6954
6918
|
materializationIndex,
|
|
6955
6919
|
pluginId: String(testCase.metadata?.pluginId || "unknown-plugin"),
|
|
6956
6920
|
provider,
|
|
@@ -7182,7 +7146,8 @@ function addLanguageToPluginMetadata(test, lang, plugin, maxCharsPerMessage, tes
|
|
|
7182
7146
|
...test.metadata?.modifiers,
|
|
7183
7147
|
...languageToAdd
|
|
7184
7148
|
},
|
|
7185
|
-
...languageToAdd
|
|
7149
|
+
...languageToAdd,
|
|
7150
|
+
...getMaterializedMultiInputPromptMetadata(test.vars)
|
|
7186
7151
|
}
|
|
7187
7152
|
};
|
|
7188
7153
|
}
|
|
@@ -7281,7 +7246,8 @@ async function applyStrategies(testCases, strategies, injectVar, provider, purpo
|
|
|
7281
7246
|
...t?.metadata?.pluginId && { pluginId: t.metadata.pluginId },
|
|
7282
7247
|
...t?.metadata?.pluginConfig && { pluginConfig: t.metadata.pluginConfig },
|
|
7283
7248
|
...inputMaterialization && { inputMaterialization },
|
|
7284
|
-
...Object.keys(strategyConfig).length > 0 && { strategyConfig }
|
|
7249
|
+
...Object.keys(strategyConfig).length > 0 && { strategyConfig },
|
|
7250
|
+
...getMaterializedMultiInputPromptMetadata(vars)
|
|
7285
7251
|
}
|
|
7286
7252
|
};
|
|
7287
7253
|
})));
|
|
@@ -7627,14 +7593,21 @@ async function synthesize$1({ abortSignal, delay, entities: entitiesOverride, in
|
|
|
7627
7593
|
}
|
|
7628
7594
|
});
|
|
7629
7595
|
const languageResults = await Promise.allSettled(languagePromises);
|
|
7630
|
-
for (const result of languageResults) if (result.status === "fulfilled") {
|
|
7596
|
+
for (const [index, result] of languageResults.entries()) if (result.status === "fulfilled") {
|
|
7631
7597
|
const { lang, tests, requested, generated } = result.value;
|
|
7632
7598
|
allPluginTests.push(...tests);
|
|
7633
7599
|
resultsPerLanguage[lang || "default"] = {
|
|
7634
7600
|
requested,
|
|
7635
7601
|
generated
|
|
7636
7602
|
};
|
|
7637
|
-
} else
|
|
7603
|
+
} else {
|
|
7604
|
+
const lang = languages[index];
|
|
7605
|
+
logger.warn(`[Language Processing] Error generating tests for ${plugin.id}: ${result.reason}`);
|
|
7606
|
+
resultsPerLanguage[lang || "default"] = {
|
|
7607
|
+
requested: plugin.numTests,
|
|
7608
|
+
generated: 0
|
|
7609
|
+
};
|
|
7610
|
+
}
|
|
7638
7611
|
logger.debug(`[Language Processing] Total tests generated for ${plugin.id}: ${allPluginTests.length} (across ${languages.length} language(s))`);
|
|
7639
7612
|
if (!Array.isArray(allPluginTests) || allPluginTests.length === 0) logger.warn(`Failed to generate tests for ${plugin.id}`);
|
|
7640
7613
|
else {
|
|
@@ -7668,35 +7641,51 @@ async function synthesize$1({ abortSignal, delay, entities: entitiesOverride, in
|
|
|
7668
7641
|
generated: allPluginTests.length
|
|
7669
7642
|
};
|
|
7670
7643
|
} else if (plugin.id.startsWith("file://")) try {
|
|
7671
|
-
const
|
|
7672
|
-
const
|
|
7673
|
-
|
|
7674
|
-
|
|
7644
|
+
const languageConfig = plugin.config?.language ?? language;
|
|
7645
|
+
const languages = Array.isArray(languageConfig) ? languageConfig : languageConfig ? [languageConfig] : [void 0];
|
|
7646
|
+
const allCustomTests = [];
|
|
7647
|
+
const resultsPerLanguage = {};
|
|
7648
|
+
const languagePromises = languages.map(async (lang) => {
|
|
7649
|
+
const resolvedConfig = {
|
|
7675
7650
|
...resolvePluginConfigWithMaxChars(plugin.config, maxCharsPerMessage),
|
|
7676
|
-
...
|
|
7651
|
+
...lang ? { language: lang } : {},
|
|
7652
|
+
...hasMultipleInputs ? { inputs } : {}
|
|
7677
7653
|
};
|
|
7678
|
-
const
|
|
7679
|
-
...
|
|
7654
|
+
const customPluginConfig = {
|
|
7655
|
+
...resolvedConfig,
|
|
7656
|
+
modifiers: buildRedteamModifiers({
|
|
7680
7657
|
maxCharsPerMessage,
|
|
7681
|
-
pluginConfig:
|
|
7658
|
+
pluginConfig: resolvedConfig,
|
|
7682
7659
|
testGenerationInstructions
|
|
7683
|
-
})
|
|
7684
|
-
...t.metadata?.modifiers
|
|
7660
|
+
})
|
|
7685
7661
|
};
|
|
7662
|
+
const testCasesWithMetadata = filterOversizedTestCases((await new CustomPlugin(redteamProvider, purpose, injectVar, plugin.id, customPluginConfig).generateTests(plugin.numTests, delay)).map((t) => addLanguageToPluginMetadata(t, lang, plugin, maxCharsPerMessage, testGenerationInstructions)), injectVar, `Custom plugin ${plugin.id}`, maxCharsPerMessage);
|
|
7686
7663
|
return {
|
|
7687
|
-
|
|
7688
|
-
|
|
7689
|
-
|
|
7690
|
-
|
|
7691
|
-
|
|
7692
|
-
|
|
7693
|
-
|
|
7694
|
-
|
|
7664
|
+
lang,
|
|
7665
|
+
tests: testCasesWithMetadata,
|
|
7666
|
+
requested: plugin.numTests,
|
|
7667
|
+
generated: testCasesWithMetadata.length
|
|
7668
|
+
};
|
|
7669
|
+
});
|
|
7670
|
+
const languageResults = await Promise.allSettled(languagePromises);
|
|
7671
|
+
for (const [index, result] of languageResults.entries()) if (result.status === "fulfilled") {
|
|
7672
|
+
const { lang, tests, requested, generated } = result.value;
|
|
7673
|
+
allCustomTests.push(...tests);
|
|
7674
|
+
resultsPerLanguage[lang || "default"] = {
|
|
7675
|
+
requested,
|
|
7676
|
+
generated
|
|
7677
|
+
};
|
|
7678
|
+
} else {
|
|
7679
|
+
const lang = languages[index];
|
|
7680
|
+
logger.warn(`[Language Processing] Error generating tests for custom plugin ${plugin.id}: ${result.reason}`);
|
|
7681
|
+
resultsPerLanguage[lang || "default"] = {
|
|
7682
|
+
requested: plugin.numTests,
|
|
7683
|
+
generated: 0
|
|
7695
7684
|
};
|
|
7696
|
-
}
|
|
7685
|
+
}
|
|
7697
7686
|
if (needsGoalExtraction) {
|
|
7698
|
-
logger.debug(`Extracting goal for ${
|
|
7699
|
-
for (const testCase of
|
|
7687
|
+
logger.debug(`Extracting goal for ${allCustomTests.length} custom tests from ${plugin.id}...`);
|
|
7688
|
+
for (const testCase of allCustomTests) {
|
|
7700
7689
|
const promptVar = testCase.vars?.[injectVar];
|
|
7701
7690
|
const prompt = Array.isArray(promptVar) ? promptVar[0] : String(promptVar);
|
|
7702
7691
|
const policy = getPolicyText(testCase.metadata);
|
|
@@ -7704,13 +7693,21 @@ async function synthesize$1({ abortSignal, delay, entities: entitiesOverride, in
|
|
|
7704
7693
|
testCase.metadata.goal = extractedGoal;
|
|
7705
7694
|
}
|
|
7706
7695
|
}
|
|
7707
|
-
testCases.push(...
|
|
7708
|
-
logger.debug(`Added ${
|
|
7709
|
-
const
|
|
7710
|
-
|
|
7711
|
-
|
|
7712
|
-
|
|
7696
|
+
testCases.push(...allCustomTests);
|
|
7697
|
+
logger.debug(`Added ${allCustomTests.length} custom test cases from ${plugin.id}`);
|
|
7698
|
+
const baseDisplayId = getPluginDisplayId(plugin);
|
|
7699
|
+
if (languages.filter((lang) => lang !== void 0).length > 1) for (const [langKey, result] of Object.entries(resultsPerLanguage)) {
|
|
7700
|
+
const displayId = langKey === "en" ? baseDisplayId : `(${langKey}) ${baseDisplayId}`;
|
|
7701
|
+
pluginResults[displayId] = {
|
|
7702
|
+
requested: result.requested,
|
|
7703
|
+
generated: result.generated
|
|
7704
|
+
};
|
|
7705
|
+
}
|
|
7706
|
+
else pluginResults[baseDisplayId] = {
|
|
7707
|
+
requested: plugin.numTests * languages.length,
|
|
7708
|
+
generated: allCustomTests.length
|
|
7713
7709
|
};
|
|
7710
|
+
progressBar?.increment(plugin.numTests * languages.length);
|
|
7714
7711
|
} catch (e) {
|
|
7715
7712
|
logger.error(`Error generating tests for custom plugin ${plugin.id}: ${e}`);
|
|
7716
7713
|
const displayId = getPluginDisplayId(plugin);
|
|
@@ -9671,7 +9668,7 @@ async function checkForUpdates() {
|
|
|
9671
9668
|
} catch {
|
|
9672
9669
|
return false;
|
|
9673
9670
|
}
|
|
9674
|
-
if (semverGt(latestVersion, "0.121.
|
|
9671
|
+
if (semverGt(latestVersion, "0.121.9")) {
|
|
9675
9672
|
const border = "=".repeat(TERMINAL_MAX_WIDTH);
|
|
9676
9673
|
logger.info(`\n${border}
|
|
9677
9674
|
${chalk.yellow("⚠️")} The current version of promptfoo ${chalk.yellow(VERSION)} is lower than the latest available version ${chalk.green(latestVersion)}.
|
|
@@ -12487,7 +12484,7 @@ async function handleGoatStrategy(ctx) {
|
|
|
12487
12484
|
method: "POST",
|
|
12488
12485
|
headers: { "Content-Type": "application/json" },
|
|
12489
12486
|
body: JSON.stringify(goatBody)
|
|
12490
|
-
},
|
|
12487
|
+
}, getRequestTimeoutMs());
|
|
12491
12488
|
if (!response.ok) throw new Error(`GOAT task failed with status ${response.status}: ${await response.text()}`);
|
|
12492
12489
|
const data = await response.json();
|
|
12493
12490
|
const attackerMessage = data?.message;
|
|
@@ -12518,7 +12515,7 @@ async function handleMischievousUserStrategy(ctx) {
|
|
|
12518
12515
|
method: "POST",
|
|
12519
12516
|
headers: { "Content-Type": "application/json" },
|
|
12520
12517
|
body: JSON.stringify(mischievousBody)
|
|
12521
|
-
},
|
|
12518
|
+
}, getRequestTimeoutMs());
|
|
12522
12519
|
if (!response.ok) throw new Error(`Mischievous User task failed with status ${response.status}: ${await response.text()}`);
|
|
12523
12520
|
const data = await response.json();
|
|
12524
12521
|
const result = data?.result;
|
|
@@ -12575,7 +12572,7 @@ async function handleHydraStrategy(ctx) {
|
|
|
12575
12572
|
method: "POST",
|
|
12576
12573
|
headers: { "Content-Type": "application/json" },
|
|
12577
12574
|
body: JSON.stringify(hydraBody)
|
|
12578
|
-
},
|
|
12575
|
+
}, getRequestTimeoutMs());
|
|
12579
12576
|
if (!response.ok) throw new Error(`Hydra task failed with status ${response.status}: ${await response.text()}`);
|
|
12580
12577
|
const data = await response.json();
|
|
12581
12578
|
const rawResult = data?.result;
|
|
@@ -12626,7 +12623,7 @@ async function handleCrescendoLikeStrategy(ctx) {
|
|
|
12626
12623
|
method: "POST",
|
|
12627
12624
|
headers: { "Content-Type": "application/json" },
|
|
12628
12625
|
body: JSON.stringify(providerRequest)
|
|
12629
|
-
},
|
|
12626
|
+
}, getRequestTimeoutMs());
|
|
12630
12627
|
if (!response.ok) throw new Error(`Crescendo task failed with status ${response.status}: ${await response.text()}`);
|
|
12631
12628
|
const data = await response.json();
|
|
12632
12629
|
const rawResult = data?.result;
|
|
@@ -13274,7 +13271,7 @@ router.get("/", async (_req, res) => {
|
|
|
13274
13271
|
};
|
|
13275
13272
|
} catch (error) {
|
|
13276
13273
|
logger.debug(`Failed to fetch latest version: ${error}`);
|
|
13277
|
-
latestVersion = versionCache.latestVersion ?? "0.121.
|
|
13274
|
+
latestVersion = versionCache.latestVersion ?? "0.121.9";
|
|
13278
13275
|
}
|
|
13279
13276
|
}
|
|
13280
13277
|
const selfHosted = getEnvBool("PROMPTFOO_SELF_HOSTED");
|
|
@@ -13283,7 +13280,7 @@ router.get("/", async (_req, res) => {
|
|
|
13283
13280
|
selfHosted,
|
|
13284
13281
|
isNpx
|
|
13285
13282
|
});
|
|
13286
|
-
const resolvedLatestVersion = latestVersion ?? "0.121.
|
|
13283
|
+
const resolvedLatestVersion = latestVersion ?? "0.121.9";
|
|
13287
13284
|
const response = {
|
|
13288
13285
|
currentVersion: VERSION,
|
|
13289
13286
|
latestVersion: resolvedLatestVersion,
|
|
@@ -16134,7 +16131,7 @@ function shouldUseInkList() {
|
|
|
16134
16131
|
async function runInkList(options) {
|
|
16135
16132
|
const [React, { renderInteractive }, { ListApp }] = await Promise.all([
|
|
16136
16133
|
import("react"),
|
|
16137
|
-
import("./render-
|
|
16134
|
+
import("./render-MiyTvDY4.js"),
|
|
16138
16135
|
import("./ListApp-DLmM02JS.js")
|
|
16139
16136
|
]);
|
|
16140
16137
|
let result = { cancelled: false };
|
|
@@ -17848,7 +17845,7 @@ function registerRedteamGenerateTool(server) {
|
|
|
17848
17845
|
maxConcurrency,
|
|
17849
17846
|
delay,
|
|
17850
17847
|
language,
|
|
17851
|
-
provider: provider || "openai:chat:gpt-5.
|
|
17848
|
+
provider: provider || "openai:chat:gpt-5.5-2026-04-23",
|
|
17852
17849
|
force,
|
|
17853
17850
|
write,
|
|
17854
17851
|
remote
|
|
@@ -17874,7 +17871,7 @@ function registerRedteamGenerateTool(server) {
|
|
|
17874
17871
|
entities: result.defaultTest && typeof result.defaultTest === "object" && "metadata" in result.defaultTest ? result.defaultTest.metadata?.entities || [] : [],
|
|
17875
17872
|
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
17876
17873
|
language,
|
|
17877
|
-
provider: provider || "openai:chat:gpt-5.
|
|
17874
|
+
provider: provider || "openai:chat:gpt-5.5-2026-04-23"
|
|
17878
17875
|
},
|
|
17879
17876
|
nextSteps: {
|
|
17880
17877
|
runEvaluation: write ? "Run \"redteam_run\" to execute the generated tests" : `Run "redteam_run" with output: "${output || "redteam.yaml"}" to execute the tests`,
|
|
@@ -18443,8 +18440,8 @@ function registerRunEvaluationTool(server) {
|
|
|
18443
18440
|
}
|
|
18444
18441
|
filteredTestSuite.tests = filteredTests;
|
|
18445
18442
|
}
|
|
18446
|
-
const { evaluate } = await import("./evaluator-
|
|
18447
|
-
const evalRecord = await (await import("./eval-
|
|
18443
|
+
const { evaluate } = await import("./evaluator-B01pCdUY.js");
|
|
18444
|
+
const evalRecord = await (await import("./eval-N_VV5NZg.js")).default.create(config, filteredTestSuite.prompts, { id: `mcp-eval-${Date.now()}` });
|
|
18448
18445
|
logger.debug(`Running filtered eval with ${filteredTestSuite.tests?.length || 0} test cases, ${filteredTestSuite.prompts.length} prompts, ${filteredTestSuite.providers.length} providers`);
|
|
18449
18446
|
const startTime = Date.now();
|
|
18450
18447
|
const result = await evaluate(filteredTestSuite, evalRecord, {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
const require_logger = require("./logger-
|
|
1
|
+
const require_logger = require("./logger-Cm0Nb8YX.cjs");
|
|
2
2
|
const require_invariant = require("./invariant-QtnLD03y.cjs");
|
|
3
|
-
const require_fetch = require("./fetch-
|
|
4
|
-
const require_version = require("./version-
|
|
5
|
-
const require_accounts = require("./accounts-
|
|
6
|
-
const require_remoteGeneration = require("./remoteGeneration-
|
|
3
|
+
const require_fetch = require("./fetch-B2HvaVUc.cjs");
|
|
4
|
+
const require_version = require("./version-XjGPawtU.cjs");
|
|
5
|
+
const require_accounts = require("./accounts-DAcQXPwE.cjs");
|
|
6
|
+
const require_remoteGeneration = require("./remoteGeneration-CD3c_rzc.cjs");
|
|
7
7
|
const require_tokenUsageUtils = require("./tokenUsageUtils-_B-P8IAi.cjs");
|
|
8
|
-
const require_shared = require("./shared-
|
|
9
|
-
const require_promptLength = require("./promptLength-
|
|
8
|
+
const require_shared = require("./shared-DlmtkptR.cjs");
|
|
9
|
+
const require_promptLength = require("./promptLength-CAcg7BmO.cjs");
|
|
10
10
|
const require_constants = require("./constants-a2kYssQk.cjs");
|
|
11
11
|
//#region src/redteam/providers/agentic/memoryPoisoning.ts
|
|
12
12
|
var MemoryPoisoningProvider = class {
|
|
@@ -103,4 +103,4 @@ var MemoryPoisoningProvider = class {
|
|
|
103
103
|
//#endregion
|
|
104
104
|
exports.MemoryPoisoningProvider = MemoryPoisoningProvider;
|
|
105
105
|
|
|
106
|
-
//# sourceMappingURL=memoryPoisoning-
|
|
106
|
+
//# sourceMappingURL=memoryPoisoning-BXDi4XCK.cjs.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { s as logger } from "./logger-
|
|
3
|
-
import { n as fetchWithProxy } from "./fetch-
|
|
4
|
-
import { n as VERSION } from "./version-
|
|
2
|
+
import { s as logger } from "./logger-h-eiS4iv.js";
|
|
3
|
+
import { n as fetchWithProxy } from "./fetch-C59QM4cf.js";
|
|
4
|
+
import { n as VERSION } from "./version-CnYqmWbz.js";
|
|
5
5
|
import { t as invariant } from "./invariant-B2Rf6avk.js";
|
|
6
|
-
import { o as getUserEmail } from "./accounts-
|
|
7
|
-
import { r as getRemoteGenerationUrl } from "./remoteGeneration-
|
|
6
|
+
import { o as getUserEmail } from "./accounts-Bw2qPqE-.js";
|
|
7
|
+
import { r as getRemoteGenerationUrl } from "./remoteGeneration-DW6mPZnO.js";
|
|
8
8
|
import { a as createEmptyTokenUsage, n as accumulateResponseTokenUsage } from "./tokenUsageUtils-CDet74yk.js";
|
|
9
|
-
import { d as messagesToRedteamHistory } from "./shared-
|
|
10
|
-
import { i as throwIfTargetPromptExceedsMaxChars } from "./promptLength-
|
|
9
|
+
import { d as messagesToRedteamHistory } from "./shared-DsbObxvy.js";
|
|
10
|
+
import { i as throwIfTargetPromptExceedsMaxChars } from "./promptLength-PkjlYFx0.js";
|
|
11
11
|
import { t as REDTEAM_MEMORY_POISONING_PLUGIN_ID } from "./constants-DH5XYLKZ.js";
|
|
12
12
|
//#region src/redteam/providers/agentic/memoryPoisoning.ts
|
|
13
13
|
var MemoryPoisoningProvider = class {
|
|
@@ -104,4 +104,4 @@ var MemoryPoisoningProvider = class {
|
|
|
104
104
|
//#endregion
|
|
105
105
|
export { MemoryPoisoningProvider };
|
|
106
106
|
|
|
107
|
-
//# sourceMappingURL=memoryPoisoning-
|
|
107
|
+
//# sourceMappingURL=memoryPoisoning-D-V4yXjj.js.map
|