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/index.cjs
CHANGED
|
@@ -3,50 +3,50 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_rolldown_runtime = require("./rolldown-runtime-D_mwlA32.cjs");
|
|
6
|
-
const require_logger = require("./logger-
|
|
6
|
+
const require_logger = require("./logger-Cm0Nb8YX.cjs");
|
|
7
7
|
const require_invariant = require("./invariant-QtnLD03y.cjs");
|
|
8
8
|
const require_types = require("./types-CxJvaY2S.cjs");
|
|
9
|
-
const require_fetch = require("./fetch-
|
|
10
|
-
const require_version = require("./version-
|
|
9
|
+
const require_fetch = require("./fetch-B2HvaVUc.cjs");
|
|
10
|
+
const require_version = require("./version-XjGPawtU.cjs");
|
|
11
11
|
const require_fileExtensions = require("./fileExtensions-BhdwzYaD.cjs");
|
|
12
|
-
const require_accounts = require("./accounts-
|
|
13
|
-
const require_esm = require("./esm-
|
|
14
|
-
const require_render = require("./render-
|
|
15
|
-
const require_providerRegistry = require("./providerRegistry-
|
|
16
|
-
const require_remoteGeneration = require("./remoteGeneration-
|
|
17
|
-
const require_server = require("./server-
|
|
18
|
-
const require_storage = require("./storage-
|
|
19
|
-
const require_pythonUtils = require("./pythonUtils-
|
|
20
|
-
const require_util = require("./util-
|
|
12
|
+
const require_accounts = require("./accounts-DAcQXPwE.cjs");
|
|
13
|
+
const require_esm = require("./esm-vv4rR-Dp.cjs");
|
|
14
|
+
const require_render = require("./render-DJ4yipCD.cjs");
|
|
15
|
+
const require_providerRegistry = require("./providerRegistry-DKbi2EbP.cjs");
|
|
16
|
+
const require_remoteGeneration = require("./remoteGeneration-CD3c_rzc.cjs");
|
|
17
|
+
const require_server = require("./server-yHhoBx98.cjs");
|
|
18
|
+
const require_storage = require("./storage-Cv7QYUPO.cjs");
|
|
19
|
+
const require_pythonUtils = require("./pythonUtils-BjuymNdM.cjs");
|
|
20
|
+
const require_util = require("./util-BuYzkbEz.cjs");
|
|
21
21
|
const require_createHash = require("./createHash-CSiqnK5P.cjs");
|
|
22
|
-
const require_cache = require("./cache-
|
|
23
|
-
const require_chat = require("./chat-
|
|
24
|
-
const require_transform = require("./transform-
|
|
25
|
-
const require_util$1 = require("./util-
|
|
26
|
-
const require_providers = require("./providers-
|
|
22
|
+
const require_cache = require("./cache-WuIsgzMA.cjs");
|
|
23
|
+
const require_chat = require("./chat-DkitQHdt.cjs");
|
|
24
|
+
const require_transform = require("./transform-DKw2FNwg.cjs");
|
|
25
|
+
const require_util$1 = require("./util-Cs372i1_.cjs");
|
|
26
|
+
const require_providers = require("./providers-DP1CDgd5.cjs");
|
|
27
27
|
const require_tokenUsageUtils = require("./tokenUsageUtils-_B-P8IAi.cjs");
|
|
28
28
|
const require_text = require("./text-nywWsRBM.cjs");
|
|
29
|
-
const require_telemetry = require("./telemetry-
|
|
30
|
-
const require_tables = require("./tables-
|
|
31
|
-
const require_blobs = require("./blobs-
|
|
29
|
+
const require_telemetry = require("./telemetry-DvzmDrSM.cjs");
|
|
30
|
+
const require_tables = require("./tables-D_s2HMPP.cjs");
|
|
31
|
+
const require_blobs = require("./blobs-5wbW7TbH.cjs");
|
|
32
32
|
const require_processShim = require("./processShim-DSY9BV2T.cjs");
|
|
33
|
-
const require_packageParser = require("./packageParser-
|
|
34
|
-
const require_rubyUtils = require("./rubyUtils-
|
|
35
|
-
const require_inputVariables = require("./inputVariables-
|
|
36
|
-
const require_util$2 = require("./util-
|
|
37
|
-
const require_promptfoo = require("./promptfoo-
|
|
38
|
-
const require_graders = require("./graders-
|
|
39
|
-
const require_shared = require("./shared-
|
|
40
|
-
const require_utils = require("./utils-
|
|
41
|
-
const require_transform$1 = require("./transform-
|
|
42
|
-
const require_store = require("./store-
|
|
43
|
-
const require_extractor = require("./extractor-
|
|
44
|
-
const require_promptLength = require("./promptLength-
|
|
45
|
-
const require_indirectWebPwn = require("./indirectWebPwn-
|
|
33
|
+
const require_packageParser = require("./packageParser-DR054ceU.cjs");
|
|
34
|
+
const require_rubyUtils = require("./rubyUtils-BEqeZynS.cjs");
|
|
35
|
+
const require_inputVariables = require("./inputVariables-D5K2vTp4.cjs");
|
|
36
|
+
const require_util$2 = require("./util-3BRss2KA.cjs");
|
|
37
|
+
const require_promptfoo = require("./promptfoo-DAXBmrE6.cjs");
|
|
38
|
+
const require_graders = require("./graders-CQv1GT5Q.cjs");
|
|
39
|
+
const require_shared = require("./shared-DlmtkptR.cjs");
|
|
40
|
+
const require_utils = require("./utils-B_HCobst.cjs");
|
|
41
|
+
const require_transform$1 = require("./transform-0wnBYYaL2.cjs");
|
|
42
|
+
const require_store = require("./store-BKN4VD-m.cjs");
|
|
43
|
+
const require_extractor = require("./extractor-nyUwvU2U.cjs");
|
|
44
|
+
const require_promptLength = require("./promptLength-CAcg7BmO.cjs");
|
|
45
|
+
const require_indirectWebPwn = require("./indirectWebPwn-04ziKbly.cjs");
|
|
46
46
|
const require_toolAttributes = require("./toolAttributes-BAjwcBf0.cjs");
|
|
47
|
-
const require_evaluatorHelpers = require("./evaluatorHelpers-
|
|
48
|
-
const require_evalResult = require("./evalResult-
|
|
49
|
-
const require_strategies = require("./strategies-
|
|
47
|
+
const require_evaluatorHelpers = require("./evaluatorHelpers-2gpZ9Q_f.cjs");
|
|
48
|
+
const require_evalResult = require("./evalResult-BZld6I3I.cjs");
|
|
49
|
+
const require_strategies = require("./strategies-BD7US9WB.cjs");
|
|
50
50
|
let fs = require("fs");
|
|
51
51
|
fs = require_rolldown_runtime.__toESM(fs, 1);
|
|
52
52
|
let path = require("path");
|
|
@@ -820,7 +820,7 @@ async function startOtlpReceiverIfNeeded(testSuite) {
|
|
|
820
820
|
require_telemetry.telemetry.record("feature_used", { feature: "tracing" });
|
|
821
821
|
try {
|
|
822
822
|
require_logger.logger.debug("[EvaluatorTracing] Tracing configuration detected, starting OTLP receiver");
|
|
823
|
-
const { startOTLPReceiver } = await Promise.resolve().then(() => require("./otlpReceiver-
|
|
823
|
+
const { startOTLPReceiver } = await Promise.resolve().then(() => require("./otlpReceiver-DOl5S07u.cjs"));
|
|
824
824
|
const port = testSuite.tracing.otlp.http.port || 4318;
|
|
825
825
|
const host = testSuite.tracing.otlp.http.host || "127.0.0.1";
|
|
826
826
|
const acceptFormats = normalizeOtlpAcceptFormats(testSuite.tracing.otlp.http.acceptFormats);
|
|
@@ -844,7 +844,7 @@ async function startOtlpReceiverIfNeeded(testSuite) {
|
|
|
844
844
|
async function stopOtlpReceiverIfNeeded() {
|
|
845
845
|
if (otlpReceiverStarted) try {
|
|
846
846
|
require_logger.logger.debug("[EvaluatorTracing] Stopping OTLP receiver");
|
|
847
|
-
const { stopOTLPReceiver } = await Promise.resolve().then(() => require("./otlpReceiver-
|
|
847
|
+
const { stopOTLPReceiver } = await Promise.resolve().then(() => require("./otlpReceiver-DOl5S07u.cjs"));
|
|
848
848
|
await stopOTLPReceiver();
|
|
849
849
|
otlpReceiverStarted = false;
|
|
850
850
|
require_logger.logger.info("[EvaluatorTracing] OTLP receiver stopped successfully");
|
|
@@ -879,7 +879,7 @@ async function generateTraceContextIfNeeded(test, evaluateOptions, testIdx, prom
|
|
|
879
879
|
}
|
|
880
880
|
if (!tracingEnabled) return null;
|
|
881
881
|
require_logger.logger.debug("[EvaluatorTracing] Importing trace store");
|
|
882
|
-
const { getTraceStore } = await Promise.resolve().then(() => require("./store-
|
|
882
|
+
const { getTraceStore } = await Promise.resolve().then(() => require("./store-BKN4VD-m.cjs")).then((n) => n.store_exports);
|
|
883
883
|
const traceStore = getTraceStore();
|
|
884
884
|
const traceId = generateTraceId();
|
|
885
885
|
const spanId = generateSpanId();
|
|
@@ -3133,7 +3133,7 @@ async function loadWebSearchProvider(preferAnthropic = false) {
|
|
|
3133
3133
|
};
|
|
3134
3134
|
const loadOpenAIWebSearch = async () => {
|
|
3135
3135
|
try {
|
|
3136
|
-
return await require_providers.loadApiProvider("openai:responses:gpt-5.
|
|
3136
|
+
return await require_providers.loadApiProvider("openai:responses:gpt-5.5-2026-04-23", { options: { config: { tools: [{ type: "web_search_preview" }] } } });
|
|
3137
3137
|
} catch (err) {
|
|
3138
3138
|
require_logger.logger.debug(`Failed to load OpenAI web search provider: ${err}`);
|
|
3139
3139
|
return null;
|
|
@@ -4484,7 +4484,7 @@ async function runAssertion({ prompt, provider, assertion, test, vars, latencyMs
|
|
|
4484
4484
|
};
|
|
4485
4485
|
}
|
|
4486
4486
|
else if (filePath.endsWith(".rb")) try {
|
|
4487
|
-
const { runRuby } = await Promise.resolve().then(() => require("./rubyUtils-
|
|
4487
|
+
const { runRuby } = await Promise.resolve().then(() => require("./rubyUtils-BEqeZynS.cjs")).then((n) => n.rubyUtils_exports);
|
|
4488
4488
|
valueFromScript = await runRuby(filePath, functionName || "get_assert", [output, context]);
|
|
4489
4489
|
require_logger.logger.debug(`Ruby script ${filePath} output: ${valueFromScript}`);
|
|
4490
4490
|
} catch (error) {
|
|
@@ -6334,7 +6334,7 @@ async function resolveDefaultTestProvider(defaultTest, testCase) {
|
|
|
6334
6334
|
const defaultProvider = defaultTest.provider;
|
|
6335
6335
|
if (require_types.isApiProvider(defaultProvider)) return defaultProvider;
|
|
6336
6336
|
if (typeof defaultProvider === "object" && defaultProvider.id) {
|
|
6337
|
-
const { loadApiProvider } = await Promise.resolve().then(() => require("./providers-
|
|
6337
|
+
const { loadApiProvider } = await Promise.resolve().then(() => require("./providers-DP1CDgd5.cjs")).then((n) => n.providers_exports);
|
|
6338
6338
|
return loadApiProvider(typeof defaultProvider.id === "function" ? defaultProvider.id() : defaultProvider.id, { options: defaultProvider });
|
|
6339
6339
|
}
|
|
6340
6340
|
return defaultProvider;
|
|
@@ -6494,7 +6494,7 @@ function buildRepeatCacheContextByTestIdx(runEvalOptions) {
|
|
|
6494
6494
|
async function filterCompletedResumeSteps(runEvalOptions, evalRecord) {
|
|
6495
6495
|
if (!require_logger.state.resume || !evalRecord.persisted) return;
|
|
6496
6496
|
try {
|
|
6497
|
-
const { default: EvalResult } = await Promise.resolve().then(() => require("./evalResult-
|
|
6497
|
+
const { default: EvalResult } = await Promise.resolve().then(() => require("./evalResult-BZld6I3I.cjs")).then((n) => n.evalResult_exports);
|
|
6498
6498
|
const completedPairs = await EvalResult.getCompletedIndexPairs(evalRecord.id, { excludeErrors: require_logger.state.retryMode });
|
|
6499
6499
|
const originalCount = runEvalOptions.length;
|
|
6500
6500
|
for (let i = runEvalOptions.length - 1; i >= 0; i--) {
|
|
@@ -11076,7 +11076,7 @@ async function fetchRemoteGeneration(task, prompts) {
|
|
|
11076
11076
|
method: "POST",
|
|
11077
11077
|
headers: { "Content-Type": "application/json" },
|
|
11078
11078
|
body: JSON.stringify(body)
|
|
11079
|
-
}, require_fetch.
|
|
11079
|
+
}, require_fetch.getRequestTimeoutMs(), "json");
|
|
11080
11080
|
return RedTeamGenerationResponse.parse(response.data).result;
|
|
11081
11081
|
} catch (error) {
|
|
11082
11082
|
require_logger.logger.warn(`Error using remote generation for task '${task}': ${error}`);
|
|
@@ -11249,7 +11249,7 @@ const DATASET_URL$2 = `https://raw.githubusercontent.com/promptfoo/promptfoo/ref
|
|
|
11249
11249
|
const DATASET_URL_MULTILINGUAL = `https://raw.githubusercontent.com/promptfoo/promptfoo/refs/tags/${DATASET_VERSION}/examples/cyberseceval/prompt_injection_multilingual.json`;
|
|
11250
11250
|
async function fetchDataset$2(limit, isMultilingual) {
|
|
11251
11251
|
try {
|
|
11252
|
-
const response = await require_fetch.fetchWithTimeout(isMultilingual ? DATASET_URL_MULTILINGUAL : DATASET_URL$2, {}, require_fetch.
|
|
11252
|
+
const response = await require_fetch.fetchWithTimeout(isMultilingual ? DATASET_URL_MULTILINGUAL : DATASET_URL$2, {}, require_fetch.getRequestTimeoutMs());
|
|
11253
11253
|
if (!response.ok) throw new Error(`[CyberSecEval] HTTP status: ${response.status} ${response.statusText}`);
|
|
11254
11254
|
const data = await response.json();
|
|
11255
11255
|
if (!data || !Array.isArray(data)) throw new Error(`[CyberSecEval] Invalid response from ${DATASET_URL$2}`);
|
|
@@ -11317,7 +11317,7 @@ async function fetchDataset$1(limit) {
|
|
|
11317
11317
|
require_logger.logger.debug(`[DoNotAnswer] Fetching dataset from ${DATASET_URL$1}`);
|
|
11318
11318
|
let csvData;
|
|
11319
11319
|
if (DATASET_URL$1.startsWith("http")) {
|
|
11320
|
-
const response = await require_fetch.fetchWithTimeout(DATASET_URL$1, {}, require_fetch.
|
|
11320
|
+
const response = await require_fetch.fetchWithTimeout(DATASET_URL$1, {}, require_fetch.getRequestTimeoutMs());
|
|
11321
11321
|
if (!response.ok) throw new Error(`[DoNotAnswer] HTTP status: ${response.status} ${response.statusText}`);
|
|
11322
11322
|
csvData = await response.text();
|
|
11323
11323
|
} else try {
|
|
@@ -11852,7 +11852,7 @@ async function fetchDataset(limit) {
|
|
|
11852
11852
|
require_logger.logger.debug(`[XSTest] Fetching dataset from ${DATASET_URL}`);
|
|
11853
11853
|
let csvData;
|
|
11854
11854
|
if (DATASET_URL.startsWith("http")) {
|
|
11855
|
-
const response = await require_fetch.fetchWithTimeout(DATASET_URL, {}, require_fetch.
|
|
11855
|
+
const response = await require_fetch.fetchWithTimeout(DATASET_URL, {}, require_fetch.getRequestTimeoutMs());
|
|
11856
11856
|
if (!response.ok) throw new Error(`[XSTest] HTTP status: ${response.status} ${response.statusText}`);
|
|
11857
11857
|
csvData = await response.text();
|
|
11858
11858
|
} else try {
|
|
@@ -12130,11 +12130,12 @@ async function fetchRemoteTestCases(key, purpose, injectVar, n, config) {
|
|
|
12130
12130
|
method: "POST",
|
|
12131
12131
|
headers: { "Content-Type": "application/json" },
|
|
12132
12132
|
body
|
|
12133
|
-
}, require_fetch.
|
|
12133
|
+
}, require_fetch.getRequestTimeoutMs());
|
|
12134
12134
|
if (status !== 200 || !data || !data.result || !Array.isArray(data.result)) {
|
|
12135
12135
|
require_logger.logger.error(`Error generating test cases for ${key}: ${statusText} ${JSON.stringify(data)}`);
|
|
12136
12136
|
return [];
|
|
12137
12137
|
}
|
|
12138
|
+
if (require_promptfoo.requiresRemoteMaterialization(config?.inputs)) require_promptfoo.assertRemoteMaterializationHandled(data, `Remote plugin generation for ${key}`);
|
|
12138
12139
|
const ret = data.result;
|
|
12139
12140
|
require_logger.logger.debug(`Received remote generation for ${key}:\n${JSON.stringify(ret)}`);
|
|
12140
12141
|
return ret;
|
|
@@ -12143,31 +12144,6 @@ async function fetchRemoteTestCases(key, purpose, injectVar, n, config) {
|
|
|
12143
12144
|
return [];
|
|
12144
12145
|
}
|
|
12145
12146
|
}
|
|
12146
|
-
async function materializeRemoteTestCaseInputs({ config, injectVar, pluginId, provider, purpose, testCases }) {
|
|
12147
|
-
const inputs = config.inputs;
|
|
12148
|
-
if (!inputs || Object.keys(inputs).length === 0) return testCases;
|
|
12149
|
-
return Promise.all(testCases.map(async (testCase, materializationIndex) => {
|
|
12150
|
-
const inputVars = require_util$2.extractInputVarsFromPrompt(String(testCase.vars?.[injectVar] ?? ""), inputs);
|
|
12151
|
-
if (!inputVars) return testCase;
|
|
12152
|
-
const materializedVars = await require_inputVariables.materializeInputVariablesWithMetadata(inputVars, inputs, {
|
|
12153
|
-
materializationIndex,
|
|
12154
|
-
pluginId,
|
|
12155
|
-
provider,
|
|
12156
|
-
purpose
|
|
12157
|
-
});
|
|
12158
|
-
return {
|
|
12159
|
-
...testCase,
|
|
12160
|
-
vars: {
|
|
12161
|
-
...testCase.vars || {},
|
|
12162
|
-
...materializedVars.vars
|
|
12163
|
-
},
|
|
12164
|
-
metadata: {
|
|
12165
|
-
...testCase.metadata || {},
|
|
12166
|
-
...materializedVars.metadata ? { inputMaterialization: materializedVars.metadata } : {}
|
|
12167
|
-
}
|
|
12168
|
-
};
|
|
12169
|
-
}));
|
|
12170
|
-
}
|
|
12171
12147
|
function createPluginFactory(PluginClass, key, validate) {
|
|
12172
12148
|
return {
|
|
12173
12149
|
key,
|
|
@@ -12179,14 +12155,7 @@ function createPluginFactory(PluginClass, key, validate) {
|
|
|
12179
12155
|
return new PluginClass(provider, purpose, injectVar, configWithDefaults).generateTests(n, delayMs);
|
|
12180
12156
|
}
|
|
12181
12157
|
const pluginId = require_util$2.getShortPluginId(key);
|
|
12182
|
-
const testCases = await
|
|
12183
|
-
config: configWithDefaults ?? {},
|
|
12184
|
-
injectVar,
|
|
12185
|
-
pluginId,
|
|
12186
|
-
provider,
|
|
12187
|
-
purpose,
|
|
12188
|
-
testCases: await fetchRemoteTestCases(key, purpose, injectVar, n, configWithDefaults ?? {})
|
|
12189
|
-
});
|
|
12158
|
+
const testCases = await fetchRemoteTestCases(key, purpose, injectVar, n, configWithDefaults ?? {});
|
|
12190
12159
|
const computedModifiers = computeModifiersFromConfig(configWithDefaults);
|
|
12191
12160
|
return testCases.map((testCase) => ({
|
|
12192
12161
|
...testCase,
|
|
@@ -12273,14 +12242,7 @@ const piiPlugins = require_types.PII_PLUGINS.map((category) => ({
|
|
|
12273
12242
|
action: async (params) => {
|
|
12274
12243
|
if (require_remoteGeneration.shouldGenerateRemote()) {
|
|
12275
12244
|
const pluginId = require_util$2.getShortPluginId(category);
|
|
12276
|
-
const testCases = await
|
|
12277
|
-
config: params.config ?? {},
|
|
12278
|
-
injectVar: params.injectVar,
|
|
12279
|
-
pluginId,
|
|
12280
|
-
provider: params.provider,
|
|
12281
|
-
purpose: params.purpose,
|
|
12282
|
-
testCases: await fetchRemoteTestCases(category, params.purpose, params.injectVar, params.n, params.config ?? {})
|
|
12283
|
-
});
|
|
12245
|
+
const testCases = await fetchRemoteTestCases(category, params.purpose, params.injectVar, params.n, params.config ?? {});
|
|
12284
12246
|
const computedModifiers = computeModifiersFromConfig(params.config);
|
|
12285
12247
|
return testCases.map((testCase) => ({
|
|
12286
12248
|
...testCase,
|
|
@@ -12312,14 +12274,7 @@ const biasPlugins = require_types.BIAS_PLUGINS.map((category) => ({
|
|
|
12312
12274
|
return [];
|
|
12313
12275
|
}
|
|
12314
12276
|
const pluginId = require_util$2.getShortPluginId(category);
|
|
12315
|
-
const testCases = await
|
|
12316
|
-
config: params.config ?? {},
|
|
12317
|
-
injectVar: params.injectVar,
|
|
12318
|
-
pluginId,
|
|
12319
|
-
provider: params.provider,
|
|
12320
|
-
purpose: params.purpose,
|
|
12321
|
-
testCases: await fetchRemoteTestCases(category, params.purpose, params.injectVar, params.n, params.config ?? {})
|
|
12322
|
-
});
|
|
12277
|
+
const testCases = await fetchRemoteTestCases(category, params.purpose, params.injectVar, params.n, params.config ?? {});
|
|
12323
12278
|
const computedModifiers = computeModifiersFromConfig(params.config);
|
|
12324
12279
|
return testCases.map((testCase) => ({
|
|
12325
12280
|
...testCase,
|
|
@@ -12338,21 +12293,14 @@ function createRemotePlugin(key, validate) {
|
|
|
12338
12293
|
return {
|
|
12339
12294
|
key,
|
|
12340
12295
|
validate,
|
|
12341
|
-
action: async ({
|
|
12296
|
+
action: async ({ purpose, injectVar, n, config }) => {
|
|
12342
12297
|
const configWithDefaults = applyDefaultRemotePluginConfig(key, config);
|
|
12343
12298
|
if (require_remoteGeneration.neverGenerateRemote()) {
|
|
12344
12299
|
require_logger.logger.error(require_remoteGeneration.getRemoteGenerationExplicitlyDisabledError(`${key} plugin`));
|
|
12345
12300
|
return [];
|
|
12346
12301
|
}
|
|
12347
12302
|
const pluginId = require_util$2.getShortPluginId(key);
|
|
12348
|
-
const testCases = await
|
|
12349
|
-
config: configWithDefaults ?? {},
|
|
12350
|
-
injectVar,
|
|
12351
|
-
pluginId,
|
|
12352
|
-
provider,
|
|
12353
|
-
purpose,
|
|
12354
|
-
testCases: await fetchRemoteTestCases(key, purpose, injectVar, n, configWithDefaults ?? {})
|
|
12355
|
-
});
|
|
12303
|
+
const testCases = await fetchRemoteTestCases(key, purpose, injectVar, n, configWithDefaults ?? {});
|
|
12356
12304
|
const computedModifiers = computeModifiersFromConfig(configWithDefaults);
|
|
12357
12305
|
const testsWithMetadata = testCases.map((testCase) => ({
|
|
12358
12306
|
...testCase,
|
|
@@ -12419,6 +12367,15 @@ async function validateSharpDependency(strategies, plugins, checkSharp = isSharp
|
|
|
12419
12367
|
}
|
|
12420
12368
|
//#endregion
|
|
12421
12369
|
//#region src/redteam/index.ts
|
|
12370
|
+
const MATERIALIZED_MULTI_INPUT_PROMPT_METADATA_KEY = "__promptfooMaterializedMultiInputPrompt";
|
|
12371
|
+
function getMaterializedMultiInputPromptSnapshot(metadata) {
|
|
12372
|
+
const snapshot = metadata?.[MATERIALIZED_MULTI_INPUT_PROMPT_METADATA_KEY];
|
|
12373
|
+
return typeof snapshot === "string" ? snapshot : void 0;
|
|
12374
|
+
}
|
|
12375
|
+
function getMaterializedMultiInputPromptMetadata(vars) {
|
|
12376
|
+
const prompt = vars?.[require_types.MULTI_INPUT_VAR];
|
|
12377
|
+
return typeof prompt === "string" ? { [MATERIALIZED_MULTI_INPUT_PROMPT_METADATA_KEY]: prompt } : void 0;
|
|
12378
|
+
}
|
|
12422
12379
|
function getPolicyText(metadata) {
|
|
12423
12380
|
if (!metadata || metadata.policy === void 0 || metadata.policy === null) return;
|
|
12424
12381
|
const policyValue = metadata.policy;
|
|
@@ -12431,12 +12388,19 @@ function getPolicyText(metadata) {
|
|
|
12431
12388
|
async function rematerializeStrategyInputVars(testCase, injectVar, provider, purpose, materializationIndex) {
|
|
12432
12389
|
const inputs = testCase.metadata?.pluginConfig?.inputs;
|
|
12433
12390
|
const inputMaterialization = testCase.metadata?.inputMaterialization;
|
|
12434
|
-
|
|
12391
|
+
const materializedPromptSnapshot = getMaterializedMultiInputPromptSnapshot(testCase.metadata);
|
|
12392
|
+
const currentInjectVar = testCase.vars?.[injectVar];
|
|
12393
|
+
if (!inputs || Object.keys(inputs).length === 0 || !currentInjectVar) return {
|
|
12394
|
+
inputMaterialization,
|
|
12395
|
+
vars: testCase.vars
|
|
12396
|
+
};
|
|
12397
|
+
const promptChangedSinceMaterialization = typeof currentInjectVar === "string" && typeof materializedPromptSnapshot === "string" && currentInjectVar !== materializedPromptSnapshot;
|
|
12398
|
+
if (Boolean(inputMaterialization) && Object.keys(inputs).every((key) => Object.prototype.hasOwnProperty.call(testCase.vars ?? {}, key)) && !promptChangedSinceMaterialization) return {
|
|
12435
12399
|
inputMaterialization,
|
|
12436
12400
|
vars: testCase.vars
|
|
12437
12401
|
};
|
|
12438
12402
|
try {
|
|
12439
|
-
const materializedVars = await require_util$2.extractMaterializedVariablesFromJsonWithMetadata(JSON.parse(String(
|
|
12403
|
+
const materializedVars = await require_util$2.extractMaterializedVariablesFromJsonWithMetadata(JSON.parse(String(currentInjectVar)), inputs, {
|
|
12440
12404
|
materializationIndex,
|
|
12441
12405
|
pluginId: String(testCase.metadata?.pluginId || "unknown-plugin"),
|
|
12442
12406
|
provider,
|
|
@@ -12668,7 +12632,8 @@ function addLanguageToPluginMetadata(test, lang, plugin, maxCharsPerMessage, tes
|
|
|
12668
12632
|
...test.metadata?.modifiers,
|
|
12669
12633
|
...languageToAdd
|
|
12670
12634
|
},
|
|
12671
|
-
...languageToAdd
|
|
12635
|
+
...languageToAdd,
|
|
12636
|
+
...getMaterializedMultiInputPromptMetadata(test.vars)
|
|
12672
12637
|
}
|
|
12673
12638
|
};
|
|
12674
12639
|
}
|
|
@@ -12767,7 +12732,8 @@ async function applyStrategies(testCases, strategies, injectVar, provider, purpo
|
|
|
12767
12732
|
...t?.metadata?.pluginId && { pluginId: t.metadata.pluginId },
|
|
12768
12733
|
...t?.metadata?.pluginConfig && { pluginConfig: t.metadata.pluginConfig },
|
|
12769
12734
|
...inputMaterialization && { inputMaterialization },
|
|
12770
|
-
...Object.keys(strategyConfig).length > 0 && { strategyConfig }
|
|
12735
|
+
...Object.keys(strategyConfig).length > 0 && { strategyConfig },
|
|
12736
|
+
...getMaterializedMultiInputPromptMetadata(vars)
|
|
12771
12737
|
}
|
|
12772
12738
|
};
|
|
12773
12739
|
})));
|
|
@@ -13113,14 +13079,21 @@ async function synthesize({ abortSignal, delay, entities: entitiesOverride, inje
|
|
|
13113
13079
|
}
|
|
13114
13080
|
});
|
|
13115
13081
|
const languageResults = await Promise.allSettled(languagePromises);
|
|
13116
|
-
for (const result of languageResults) if (result.status === "fulfilled") {
|
|
13082
|
+
for (const [index, result] of languageResults.entries()) if (result.status === "fulfilled") {
|
|
13117
13083
|
const { lang, tests, requested, generated } = result.value;
|
|
13118
13084
|
allPluginTests.push(...tests);
|
|
13119
13085
|
resultsPerLanguage[lang || "default"] = {
|
|
13120
13086
|
requested,
|
|
13121
13087
|
generated
|
|
13122
13088
|
};
|
|
13123
|
-
} else
|
|
13089
|
+
} else {
|
|
13090
|
+
const lang = languages[index];
|
|
13091
|
+
require_logger.logger.warn(`[Language Processing] Error generating tests for ${plugin.id}: ${result.reason}`);
|
|
13092
|
+
resultsPerLanguage[lang || "default"] = {
|
|
13093
|
+
requested: plugin.numTests,
|
|
13094
|
+
generated: 0
|
|
13095
|
+
};
|
|
13096
|
+
}
|
|
13124
13097
|
require_logger.logger.debug(`[Language Processing] Total tests generated for ${plugin.id}: ${allPluginTests.length} (across ${languages.length} language(s))`);
|
|
13125
13098
|
if (!Array.isArray(allPluginTests) || allPluginTests.length === 0) require_logger.logger.warn(`Failed to generate tests for ${plugin.id}`);
|
|
13126
13099
|
else {
|
|
@@ -13154,35 +13127,51 @@ async function synthesize({ abortSignal, delay, entities: entitiesOverride, inje
|
|
|
13154
13127
|
generated: allPluginTests.length
|
|
13155
13128
|
};
|
|
13156
13129
|
} else if (plugin.id.startsWith("file://")) try {
|
|
13157
|
-
const
|
|
13158
|
-
const
|
|
13159
|
-
|
|
13160
|
-
|
|
13130
|
+
const languageConfig = plugin.config?.language ?? language;
|
|
13131
|
+
const languages = Array.isArray(languageConfig) ? languageConfig : languageConfig ? [languageConfig] : [void 0];
|
|
13132
|
+
const allCustomTests = [];
|
|
13133
|
+
const resultsPerLanguage = {};
|
|
13134
|
+
const languagePromises = languages.map(async (lang) => {
|
|
13135
|
+
const resolvedConfig = {
|
|
13161
13136
|
...resolvePluginConfigWithMaxChars(plugin.config, maxCharsPerMessage),
|
|
13162
|
-
...
|
|
13137
|
+
...lang ? { language: lang } : {},
|
|
13138
|
+
...hasMultipleInputs ? { inputs } : {}
|
|
13163
13139
|
};
|
|
13164
|
-
const
|
|
13165
|
-
...
|
|
13140
|
+
const customPluginConfig = {
|
|
13141
|
+
...resolvedConfig,
|
|
13142
|
+
modifiers: buildRedteamModifiers({
|
|
13166
13143
|
maxCharsPerMessage,
|
|
13167
|
-
pluginConfig:
|
|
13144
|
+
pluginConfig: resolvedConfig,
|
|
13168
13145
|
testGenerationInstructions
|
|
13169
|
-
})
|
|
13170
|
-
...t.metadata?.modifiers
|
|
13146
|
+
})
|
|
13171
13147
|
};
|
|
13148
|
+
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);
|
|
13172
13149
|
return {
|
|
13173
|
-
|
|
13174
|
-
|
|
13175
|
-
|
|
13176
|
-
|
|
13177
|
-
|
|
13178
|
-
|
|
13179
|
-
|
|
13180
|
-
|
|
13150
|
+
lang,
|
|
13151
|
+
tests: testCasesWithMetadata,
|
|
13152
|
+
requested: plugin.numTests,
|
|
13153
|
+
generated: testCasesWithMetadata.length
|
|
13154
|
+
};
|
|
13155
|
+
});
|
|
13156
|
+
const languageResults = await Promise.allSettled(languagePromises);
|
|
13157
|
+
for (const [index, result] of languageResults.entries()) if (result.status === "fulfilled") {
|
|
13158
|
+
const { lang, tests, requested, generated } = result.value;
|
|
13159
|
+
allCustomTests.push(...tests);
|
|
13160
|
+
resultsPerLanguage[lang || "default"] = {
|
|
13161
|
+
requested,
|
|
13162
|
+
generated
|
|
13181
13163
|
};
|
|
13182
|
-
}
|
|
13164
|
+
} else {
|
|
13165
|
+
const lang = languages[index];
|
|
13166
|
+
require_logger.logger.warn(`[Language Processing] Error generating tests for custom plugin ${plugin.id}: ${result.reason}`);
|
|
13167
|
+
resultsPerLanguage[lang || "default"] = {
|
|
13168
|
+
requested: plugin.numTests,
|
|
13169
|
+
generated: 0
|
|
13170
|
+
};
|
|
13171
|
+
}
|
|
13183
13172
|
if (needsGoalExtraction) {
|
|
13184
|
-
require_logger.logger.debug(`Extracting goal for ${
|
|
13185
|
-
for (const testCase of
|
|
13173
|
+
require_logger.logger.debug(`Extracting goal for ${allCustomTests.length} custom tests from ${plugin.id}...`);
|
|
13174
|
+
for (const testCase of allCustomTests) {
|
|
13186
13175
|
const promptVar = testCase.vars?.[injectVar];
|
|
13187
13176
|
const prompt = Array.isArray(promptVar) ? promptVar[0] : String(promptVar);
|
|
13188
13177
|
const policy = getPolicyText(testCase.metadata);
|
|
@@ -13190,13 +13179,21 @@ async function synthesize({ abortSignal, delay, entities: entitiesOverride, inje
|
|
|
13190
13179
|
testCase.metadata.goal = extractedGoal;
|
|
13191
13180
|
}
|
|
13192
13181
|
}
|
|
13193
|
-
testCases.push(...
|
|
13194
|
-
require_logger.logger.debug(`Added ${
|
|
13195
|
-
const
|
|
13196
|
-
|
|
13197
|
-
|
|
13198
|
-
|
|
13182
|
+
testCases.push(...allCustomTests);
|
|
13183
|
+
require_logger.logger.debug(`Added ${allCustomTests.length} custom test cases from ${plugin.id}`);
|
|
13184
|
+
const baseDisplayId = getPluginDisplayId(plugin);
|
|
13185
|
+
if (languages.filter((lang) => lang !== void 0).length > 1) for (const [langKey, result] of Object.entries(resultsPerLanguage)) {
|
|
13186
|
+
const displayId = langKey === "en" ? baseDisplayId : `(${langKey}) ${baseDisplayId}`;
|
|
13187
|
+
pluginResults[displayId] = {
|
|
13188
|
+
requested: result.requested,
|
|
13189
|
+
generated: result.generated
|
|
13190
|
+
};
|
|
13191
|
+
}
|
|
13192
|
+
else pluginResults[baseDisplayId] = {
|
|
13193
|
+
requested: plugin.numTests * languages.length,
|
|
13194
|
+
generated: allCustomTests.length
|
|
13199
13195
|
};
|
|
13196
|
+
progressBar?.increment(plugin.numTests * languages.length);
|
|
13200
13197
|
} catch (e) {
|
|
13201
13198
|
require_logger.logger.error(`Error generating tests for custom plugin ${plugin.id}: ${e}`);
|
|
13202
13199
|
const displayId = getPluginDisplayId(plugin);
|
|
@@ -14939,7 +14936,7 @@ async function doEval(cmdObj, defaultConfig, defaultConfigPath, evaluateOptions)
|
|
|
14939
14936
|
const passRate = successes / totalTests * 100;
|
|
14940
14937
|
if (cmdObj.table && require_logger.getLogLevel() !== "debug" && totalTests < 500) {
|
|
14941
14938
|
const table = await evalRecord.getTable();
|
|
14942
|
-
const outputTable = generateTable(table);
|
|
14939
|
+
const outputTable = generateTable(table, cmdObj.tableCellMaxLength ?? commandLineOptions?.tableCellMaxLength);
|
|
14943
14940
|
require_logger.logger.info("\n" + outputTable.toString());
|
|
14944
14941
|
if (table.body.length > 25) {
|
|
14945
14942
|
const rowsLeft = table.body.length - 25;
|
package/dist/src/index.d.cts
CHANGED
|
@@ -480,6 +480,15 @@ interface ProviderResponse {
|
|
|
480
480
|
cached?: boolean;
|
|
481
481
|
cost?: number;
|
|
482
482
|
error?: string;
|
|
483
|
+
/**
|
|
484
|
+
* Indicates that a remote Promptfoo server already materialized multi-input vars
|
|
485
|
+
* for this response. When true, callers must not re-materialize locally.
|
|
486
|
+
*/
|
|
487
|
+
materializationHandled?: boolean;
|
|
488
|
+
/**
|
|
489
|
+
* Materialized per-input vars returned by a remote Promptfoo server.
|
|
490
|
+
*/
|
|
491
|
+
materializedVars?: Record<string, string>;
|
|
483
492
|
/**
|
|
484
493
|
* Indicates that `output` contains base64-encoded binary data (often as JSON like OpenAI `b64_json`).
|
|
485
494
|
* Used to enable blob externalization and avoid token bloat in downstream grading/agentic strategies.
|
|
@@ -513,6 +522,10 @@ interface ProviderResponse {
|
|
|
513
522
|
prompt?: string | ChatMessage[];
|
|
514
523
|
raw?: string | any;
|
|
515
524
|
output?: string | any;
|
|
525
|
+
/**
|
|
526
|
+
* Input materialization metadata returned by a remote Promptfoo server.
|
|
527
|
+
*/
|
|
528
|
+
inputMaterialization?: Record<string, unknown>;
|
|
516
529
|
/**
|
|
517
530
|
* Output after provider-level transform. Used by contextTransform to ensure
|
|
518
531
|
* it operates on provider-normalized output, independent of test transforms.
|
package/dist/src/index.d.ts
CHANGED
|
@@ -481,6 +481,15 @@ interface ProviderResponse {
|
|
|
481
481
|
cached?: boolean;
|
|
482
482
|
cost?: number;
|
|
483
483
|
error?: string;
|
|
484
|
+
/**
|
|
485
|
+
* Indicates that a remote Promptfoo server already materialized multi-input vars
|
|
486
|
+
* for this response. When true, callers must not re-materialize locally.
|
|
487
|
+
*/
|
|
488
|
+
materializationHandled?: boolean;
|
|
489
|
+
/**
|
|
490
|
+
* Materialized per-input vars returned by a remote Promptfoo server.
|
|
491
|
+
*/
|
|
492
|
+
materializedVars?: Record<string, string>;
|
|
484
493
|
/**
|
|
485
494
|
* Indicates that `output` contains base64-encoded binary data (often as JSON like OpenAI `b64_json`).
|
|
486
495
|
* Used to enable blob externalization and avoid token bloat in downstream grading/agentic strategies.
|
|
@@ -514,6 +523,10 @@ interface ProviderResponse {
|
|
|
514
523
|
prompt?: string | ChatMessage[];
|
|
515
524
|
raw?: string | any;
|
|
516
525
|
output?: string | any;
|
|
526
|
+
/**
|
|
527
|
+
* Input materialization metadata returned by a remote Promptfoo server.
|
|
528
|
+
*/
|
|
529
|
+
inputMaterialization?: Record<string, unknown>;
|
|
517
530
|
/**
|
|
518
531
|
* Output after provider-level transform. Used by contextTransform to ensure
|
|
519
532
|
* it operates on provider-normalized output, independent of test transforms.
|