promptfoo 0.122.1 → 0.122.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/{accounts-Jug2Ciel.js → accounts-B8CVRmIl.js} +4 -4
- package/dist/src/{accounts-mch0qw47.js → accounts-BDud3p32.js} +4 -4
- package/dist/src/{accounts-CAjSMkuH.js → accounts-DApS8Gpe.js} +5 -5
- package/dist/src/{accounts-CZFxG3Og.cjs → accounts-DosZWKJy.cjs} +4 -4
- package/dist/src/{agentic-utils-CAL6OL48.js → agentic-utils-B94-_ExD.js} +12 -3
- package/dist/src/{agentic-utils-B3r4NpU-.cjs → agentic-utils-CMewaQ09.cjs} +13 -4
- package/dist/src/{agentic-utils-Cswmio9j.js → agentic-utils-DOMq4mqJ.js} +12 -3
- package/dist/src/{agentic-utils-CR5IyddC.js → agentic-utils-DneHhExJ.js} +12 -3
- package/dist/src/{agents-BYZQa11K.js → agents-99i09OkS.js} +4 -4
- package/dist/src/{agents-CfaaStfu.cjs → agents-BXDQ1xw_.cjs} +2 -2
- package/dist/src/{agents-CUSOo7ly.js → agents-BzOkbtWo.js} +2 -2
- package/dist/src/{agents-DgKZ1aMv.js → agents-CmgJALGp.js} +2 -2
- package/dist/src/{agents-CzaXVlpn.js → agents-CqqOAB9i.js} +4 -4
- package/dist/src/{agents-t29fGe9S.js → agents-CroOVBY1.js} +4 -4
- package/dist/src/{agents-CKOdC5bg.cjs → agents-DtmugJpS.cjs} +4 -4
- package/dist/src/{agents-B2aTR8k4.js → agents-mNkg-c-D.js} +2 -2
- package/dist/src/{ai.studio-DprNFGT7.js → ai.studio-4CqyrhMr.js} +7 -6
- package/dist/src/{ai.studio-BTbBobIe.js → ai.studio-Bw7HGWAy.js} +7 -6
- package/dist/src/{ai.studio-DdDttvQ_.js → ai.studio-BySqRQcL.js} +7 -6
- package/dist/src/{ai.studio-lJHgVtc3.js → ai.studio-CmQz4HRF.js} +1 -1
- package/dist/src/{ai.studio-Cfr1uqJd.cjs → ai.studio-CzWiW2J3.cjs} +11 -10
- package/dist/src/{aimlapi-agQErPC7.cjs → aimlapi-BPLx5bkN.cjs} +6 -6
- package/dist/src/{aimlapi-C7aw_Yci.js → aimlapi-CPHuwytR.js} +6 -6
- package/dist/src/{aimlapi-BbhgeGRG.js → aimlapi-CtFNhGfQ.js} +6 -6
- package/dist/src/{aimlapi-Cj1shS5g.js → aimlapi-DvORJAqy.js} +6 -6
- package/dist/src/{anthropicMessages-DM4fND86.cjs → anthropicMessages-CV6LTNAW.cjs} +2 -2
- package/dist/src/{anthropicMessages-B2lCmO9a.js → anthropicMessages-D7C1kjQD.js} +2 -2
- package/dist/src/{anthropicMessages-B3DWK3KH.js → anthropicMessages-Dnuashu8.js} +2 -2
- package/dist/src/{anthropicMessages-CIzwoHC7.js → anthropicMessages-HcZgERmB.js} +2 -2
- package/dist/src/app/assets/{index-A24J7UxV.css → index-4gjyvw3y.css} +1 -1
- package/dist/src/app/assets/{index-BSBYsw_6.js → index-nyJ_XC0u.js} +55 -55
- package/dist/src/app/index.html +2 -2
- package/dist/src/{audio-FK9OJM6x.js → audio-BdlJQepT.js} +3 -3
- package/dist/src/{audio-DJSX3nfH.cjs → audio-CT31dzi3.cjs} +3 -3
- package/dist/src/{audio-BLydpzg4.js → audio-CZ4800_-.js} +3 -3
- package/dist/src/{audio-BFL3WPG8.js → audio-CuAl9sNH.js} +3 -3
- package/dist/src/{authoritativeMarkupInjection-C79vhK3h.js → authoritativeMarkupInjection-Bk-2UAXm.js} +6 -6
- package/dist/src/{authoritativeMarkupInjection-DSEnwId_.cjs → authoritativeMarkupInjection-BkZvUL3M.cjs} +6 -6
- package/dist/src/{authoritativeMarkupInjection-D7PPkR2H.js → authoritativeMarkupInjection-CO3XuBsw.js} +6 -6
- package/dist/src/{authoritativeMarkupInjection-a2WZAWI8.js → authoritativeMarkupInjection-CsW2Rlxr.js} +6 -6
- package/dist/src/{aws-GuyZqnyf.js → aws-BatJ_yy7.js} +20 -20
- package/dist/src/{aws-BHmi7gOy.cjs → aws-DhQCXH3c.cjs} +20 -20
- package/dist/src/{aws-Bzt3WQU2.js → aws-VLbhCTiT.js} +20 -20
- package/dist/src/{aws-BS8qSHy8.js → aws-iSX9DyrD.js} +20 -20
- package/dist/src/{base-nbJrRpSV.js → base-C6jKTbCS.js} +7 -6
- package/dist/src/{base-CoTAT5vv.cjs → base-CJEf9k2O.cjs} +8 -7
- package/dist/src/{base-DEkuzxBW.js → base-CWyDTNcT.js} +2 -2
- package/dist/src/{base-mEWUSyIi.cjs → base-CeTzVZ7f.cjs} +2 -2
- package/dist/src/{base-CcYX8Sl7.js → base-CnzvtFbT.js} +2 -2
- package/dist/src/{base-BW_ro6TZ.js → base-Dd6PX7qL.js} +7 -6
- package/dist/src/{base-e2pL9Dg2.js → base-IFkEP-f1.js} +2 -2
- package/dist/src/{base-Bya3Xq-l.js → base-wuaktSuM.js} +7 -6
- package/dist/src/{bestOfN-6RYHfbeS.js → bestOfN-B99Kp3n1.js} +7 -7
- package/dist/src/{bestOfN-DsHy4gMF.cjs → bestOfN-BtBlH3Y1.cjs} +7 -7
- package/dist/src/{bestOfN-DDkIdZME.js → bestOfN-C7cPgSak.js} +7 -7
- package/dist/src/{bestOfN-Cbw8nnar.js → bestOfN-YNF3sLNc.js} +7 -7
- package/dist/src/{billing-nlGj2fi4.js → billing-BhTrP4CT.js} +2 -2
- package/dist/src/{billing-_izMSTD8.js → billing-D0eg28TA.js} +2 -2
- package/dist/src/{billing-K5i9I9vT.cjs → billing-Q1c9C5Or.cjs} +2 -2
- package/dist/src/{billing-CXk1T-EF.js → billing-eFe0xWZw.js} +2 -2
- package/dist/src/cache-Cjok8TBD.js +3 -0
- package/dist/src/{cache-Bwj_lNIo.js → cache-DTOVFNqA.js} +10 -4
- package/dist/src/{cache-C41JuZ74.js → cache-ePPAC5hy.js} +10 -4
- package/dist/src/{cache-DU82DyKI.cjs → cache-g3VTrtsd.cjs} +10 -4
- package/dist/src/{cache-NhFSRGTI.js → cache-xL5UULpy.js} +10 -5
- package/dist/src/{chat-Dt05zdU6.js → chat-1nt-gftw.js} +2 -2
- package/dist/src/{chat-Bh-Qkkm0.js → chat-64whAu1x.js} +2 -2
- package/dist/src/{chat-B43K4ZEW.cjs → chat-B5hzLi-1.cjs} +2 -2
- package/dist/src/{chat-6XCdGjXy.js → chat-BNY6oewj.js} +2 -2
- package/dist/src/{chat-Ds6f4gIO.js → chat-BPcmJMS6.js} +3 -3
- package/dist/src/{chat-CsmFtqbm.js → chat-BbVy4fHI.js} +2 -2
- package/dist/src/{chat-BPZNYAci.js → chat-BfWSvpJp.js} +3 -3
- package/dist/src/{chat-g28uolEO.cjs → chat-BuHuQ8dN.cjs} +13 -12
- package/dist/src/{chat-BUPwwei1.js → chat-C9Xi0123.js} +2 -2
- package/dist/src/{chat-D6SUUPHc.js → chat-CQkXljIT.js} +11 -10
- package/dist/src/{chat-BJT_S-0-.cjs → chat-DQfpTnnW.cjs} +2 -2
- package/dist/src/{chat-BjEpVBWz.js → chat-DQhTLvCt.js} +2 -2
- package/dist/src/{chat-b1tvD2yV.js → chat-Dn1Z6reC.js} +3 -3
- package/dist/src/{chat-DYIP7MZz.js → chat-DqUm2XRG.js} +11 -10
- package/dist/src/{chat-ByXWx4Jn.js → chat-WpIdBaCf.js} +11 -10
- package/dist/src/{chat-D9DdQU09.cjs → chat-psXx3S3c.cjs} +3 -3
- package/dist/src/{claude-agent-sdk-BOt139Ms.js → claude-agent-sdk-ByLXefcP.js} +4 -4
- package/dist/src/{claude-agent-sdk-BbO4g2C3.cjs → claude-agent-sdk-CXAxCt84.cjs} +4 -4
- package/dist/src/{claude-agent-sdk-ClB69ybZ.js → claude-agent-sdk-Ccqr4OHD.js} +4 -4
- package/dist/src/{claude-agent-sdk-DDgSb327.js → claude-agent-sdk-DFDGkJC4.js} +4 -4
- package/dist/src/{client-nl7Ghern.js → client-4bErwdpG.js} +3 -3
- package/dist/src/{client-DvRyvBRs.cjs → client-B8cIFzy1.cjs} +3 -3
- package/dist/src/{client-QLK1dAIt.js → client-Bz_qkOt7.js} +3 -3
- package/dist/src/{client-BpIjXLJ0.js → client-C8mYuoRi.js} +3 -3
- package/dist/src/cloud-BzpJioZO.js +3 -0
- package/dist/src/{cloud-D3FRkXX5.js → cloud-D9lRDzlx.js} +43 -7
- package/dist/src/{cloudflare-ai-CerptSv1.js → cloudflare-ai-BduG_WGt.js} +4 -4
- package/dist/src/{cloudflare-ai-BEu-xQ5J.cjs → cloudflare-ai-C0cr71_N.cjs} +4 -4
- package/dist/src/{cloudflare-ai-Cnaag2kZ.js → cloudflare-ai-DNNHsdi_.js} +4 -4
- package/dist/src/{cloudflare-ai-DpwGGVCv.js → cloudflare-ai-GiqeJOW2.js} +4 -4
- package/dist/src/{cloudflare-gateway-yWM6dZYR.js → cloudflare-gateway-BCd15euW.js} +3 -3
- package/dist/src/{cloudflare-gateway-D_M6cCM_.cjs → cloudflare-gateway-CNwgkjWa.cjs} +3 -3
- package/dist/src/{cloudflare-gateway-DC_kOGWf.js → cloudflare-gateway-D6gTnn0M.js} +3 -3
- package/dist/src/{cloudflare-gateway-BDO7Oy1M.js → cloudflare-gateway-j8ioV3mO.js} +3 -3
- package/dist/src/{codex-app-server-CwK6Xbfe.cjs → codex-app-server-CeT18Dkz.cjs} +6 -6
- package/dist/src/{codex-app-server-YZmDON1h.js → codex-app-server-CjOwEU74.js} +1 -1
- package/dist/src/{codex-app-server-Caz528S8.js → codex-app-server-DW77otWv.js} +5 -5
- package/dist/src/{codex-app-server-DK4HYKYU.js → codex-app-server-GlPHXwGV.js} +5 -5
- package/dist/src/{codex-app-server-DTZ30MNj.js → codex-app-server-krirlx9j.js} +5 -5
- package/dist/src/codex-runtime-BjmQ9rWv.js +5 -0
- package/dist/src/codex-runtime-DYQUgTW-.js +4 -0
- package/dist/src/codex-runtime-o7SyHeWu.js +4 -0
- package/dist/src/codex-runtime-sKhQvTow.cjs +3 -0
- package/dist/src/{codex-sdk-C5VGCVuq.js → codex-sdk-B3LZgJqW.js} +6 -5
- package/dist/src/{codex-sdk-Bxihv7gJ.cjs → codex-sdk-BrhzHGrr.cjs} +7 -6
- package/dist/src/{codex-sdk-BRCGs7KO.js → codex-sdk-DZ_mKG21.js} +6 -5
- package/dist/src/codex-sdk-DkbU2gJR.js +3 -0
- package/dist/src/{codex-sdk-AzoGV5xQ.js → codex-sdk-Gv0vgj5a.js} +6 -5
- package/dist/src/codex-security-71xcR7s3.js +382 -0
- package/dist/src/codex-security-A8dTt6Ov.cjs +386 -0
- package/dist/src/codex-security-DSYUnVdR.js +383 -0
- package/dist/src/codex-security-DqVPI2Th.js +382 -0
- package/dist/src/{cometapi-CFOBA79U.js → cometapi-BdmjhPSR.js} +7 -7
- package/dist/src/{cometapi-Dq70nB-i.js → cometapi-Bst9fl8W.js} +7 -7
- package/dist/src/{cometapi-DEVvRD5z.cjs → cometapi-CPjQpopA.cjs} +7 -7
- package/dist/src/{cometapi-C3SQRHPF.js → cometapi-Duei84Pe.js} +7 -7
- package/dist/src/{completion-Ci8l1pSN.js → completion-BwID-cTv.js} +5 -5
- package/dist/src/{completion-CcbYZDub.js → completion-D90cHpyH.js} +5 -5
- package/dist/src/{completion-wKp5JlDu.js → completion-DSVbiAms.js} +5 -5
- package/dist/src/{completion-Ch4qZHiN.cjs → completion-fjqwBQIQ.cjs} +5 -5
- package/dist/src/{crescendo-QA8kgoFA.cjs → crescendo-Cism3YAo.cjs} +18 -18
- package/dist/src/{crescendo-DXTA2eKd.js → crescendo-Cpj-F0iB.js} +13 -13
- package/dist/src/{crescendo-Dgco_cd5.js → crescendo-DJ3dxaZ8.js} +13 -13
- package/dist/src/{crescendo-By5ZfUli.js → crescendo-DiAK4mXf.js} +13 -13
- package/dist/src/{custom-fIO2MwcN.js → custom-BcSQF7OR.js} +11 -11
- package/dist/src/{custom-CobMcSKD.js → custom-CpA8_KgN.js} +11 -11
- package/dist/src/{custom-CPTsrJYI.js → custom-DfeRaakX.js} +11 -11
- package/dist/src/{custom-DQMMH6yL.cjs → custom-WyC-PH98.cjs} +14 -14
- package/dist/src/{docker-Bhb-hDqU.cjs → docker-5g1NcdAE.cjs} +5 -5
- package/dist/src/{docker-bXiMHPBm.js → docker-B97bdCFf.js} +5 -5
- package/dist/src/{docker-CdqlpwxU.js → docker-CgvCV_lT.js} +5 -5
- package/dist/src/{docker-CLatgAgj.js → docker-D2q5yAnA.js} +5 -5
- package/dist/src/{embedding-DMnl5l3W.js → embedding-B3RQXlr7.js} +5 -5
- package/dist/src/{embedding-cJ7sWqTp.cjs → embedding-C2BHs7bs.cjs} +5 -5
- package/dist/src/{embedding-DWeAJwIi.js → embedding-DgjYhcCm.js} +5 -5
- package/dist/src/{embedding-Kx2Jhb7b.js → embedding-qvISOYlD.js} +5 -5
- package/dist/src/{eval-XZjM8PtE.js → eval-BB4Rvl3w.js} +4 -4
- package/dist/src/{eval-yT4SKSzC.js → eval-BFqlPFXm.js} +1 -1
- package/dist/src/{evalResult-CmUmgA2I.js → evalResult-C9ntrv7r.js} +2 -2
- package/dist/src/{evaluator-BNYv5Xws.js → evaluator-BxDpurGf.js} +21 -20
- package/dist/src/evaluator-DxIVNCZm.js +3 -0
- package/dist/src/{evaluatorHelpers-D2ObFR8i.cjs → evaluatorHelpers-B2c1yYV4.cjs} +8 -7
- package/dist/src/{evaluatorHelpers-C60uhMf4.js → evaluatorHelpers-Bd8xun4J.js} +5 -4
- package/dist/src/{evaluatorHelpers-lNii4N30.js → evaluatorHelpers-CZ2p3rWG.js} +5 -4
- package/dist/src/{evaluatorHelpers-G6saWD9g.js → evaluatorHelpers-CgcFRjns.js} +5 -4
- package/dist/src/fetch-BO4sLtRp.js +3 -0
- package/dist/src/{fetch-BCrWkFgb.js → fetch-CKqW5dym.js} +2 -2
- package/dist/src/{fetch-DxQ9oCzS.cjs → fetch-CQfF18HC.cjs} +2 -2
- package/dist/src/{fetch-DDiGmyRM.js → fetch-Cm0VICza.js} +2 -2
- package/dist/src/{fetch-DTnUr1aF.cjs → fetch-D54lzFcD.cjs} +69 -18
- package/dist/src/{fetch-BdWQKDMj.js → fetch-DnDg-Ics.js} +64 -19
- package/dist/src/{fetch-JNQMF9vN.js → fetch-Dwv9LIL3.js} +2 -2
- package/dist/src/{fetch-Bnj1JCJi.js → fetch-KD8O9oZZ.js} +24 -15
- package/dist/src/{fetch-BjXG13jC.js → fetch-tOnj-VPG.js} +64 -19
- package/dist/src/{functionCallbackUtils-Ck1qbh7p.js → functionCallbackUtils-B-fNUZ4T.js} +3 -3
- package/dist/src/{functionCallbackUtils-BJ2I_9tt.js → functionCallbackUtils-B7KGl5xQ.js} +3 -3
- package/dist/src/{functionCallbackUtils-VbcI1Aub.cjs → functionCallbackUtils-BDroEgNs.cjs} +3 -3
- package/dist/src/{functionCallbackUtils-BGXXxhrC.js → functionCallbackUtils-EjWy67uz.js} +3 -3
- package/dist/src/{gemini-image-8YxPzaSx.js → gemini-image-B4vMqMOQ.js} +4 -4
- package/dist/src/{gemini-image-C5qQIQhS.js → gemini-image-B6ZTrDe5.js} +4 -4
- package/dist/src/{gemini-image-DxTRWDFj.cjs → gemini-image-DYd6vsTn.cjs} +4 -4
- package/dist/src/{gemini-image-CfkY7fEx.js → gemini-image-D_-_Yxtw.js} +4 -4
- package/dist/src/{goat-CR4LFL8E.js → goat-B80KUvGW.js} +14 -14
- package/dist/src/{goat-Dg7N-qgd.js → goat-BKhidS2l.js} +14 -14
- package/dist/src/{goat-D_thj1jf.cjs → goat-Dorh32Ub.cjs} +18 -18
- package/dist/src/{goat-BVp2yIw-.js → goat-jg8kFsKP.js} +14 -14
- package/dist/src/{goblin-4D8Nfpnl.cjs → goblin-B_rz0LjO.cjs} +2 -2
- package/dist/src/{goblin-CZAgIkjX.js → goblin-C8-aCrlP.js} +2 -2
- package/dist/src/{goblin-Dlox542E.js → goblin-CqLJeleh.js} +2 -2
- package/dist/src/{goblin-OrBEar64.js → goblin-CuznsHt0.js} +2 -2
- package/dist/src/{google-CC83MIsJ.cjs → google-8szBGwzV.cjs} +11 -11
- package/dist/src/{google-DRsee0nT.js → google-B1v8u6hy.js} +11 -11
- package/dist/src/{google-Dbpyq6la.js → google-B6p_pWxZ.js} +11 -11
- package/dist/src/{google-LtdcKmFu.js → google-DCn7b9au.js} +11 -11
- package/dist/src/graders-B8dB5kSQ.js +3 -0
- package/dist/src/{graders-vHzBsfHT.js → graders-BPmH2YVm.js} +20 -19
- package/dist/src/{graders-C77c5GiF.js → graders-BWtqxJ75.js} +20 -19
- package/dist/src/{graders-43jk_163.js → graders-CS8YkOd5.js} +21 -20
- package/dist/src/{graders-D7xtBg2s.cjs → graders-DpPGnz8u.cjs} +26 -25
- package/dist/src/{hydra-BBkVh274.js → hydra-CXR6iPRp.js} +12 -12
- package/dist/src/{hydra-CvGcOAZn.js → hydra-Cr1WleCi.js} +1 -1
- package/dist/src/{hydra-WACE_1Zb.js → hydra-DCp4JZxW.js} +12 -12
- package/dist/src/{hydra-DlPvPWLB.js → hydra-HgjWEGIf.js} +12 -12
- package/dist/src/{hydra-B0Aqb-zg.cjs → hydra-RlGwrC81.cjs} +12 -12
- package/dist/src/{image-B7HA9bRW.js → image-B4B444eV.js} +3 -3
- package/dist/src/{image-CLljmxcq.cjs → image-Bkns4wpz.cjs} +3 -3
- package/dist/src/{image-D_yzoOlU.js → image-BqF4qDz6.js} +5 -5
- package/dist/src/{image-RxcUfS9c.js → image-C1bIho6n.js} +4 -4
- package/dist/src/{image-BQf2QP3f.js → image-CFtq9j1u.js} +4 -4
- package/dist/src/{image-B-BLrwzM.js → image-CeAMtI2v.js} +5 -5
- package/dist/src/{image-DD9l6-Hi.cjs → image-ChCkFmER.cjs} +5 -5
- package/dist/src/{image-DQB7ft5H.js → image-Cy0nxgir.js} +3 -3
- package/dist/src/{image-HHqjkpmw.js → image-DDJ5HtyW.js} +3 -3
- package/dist/src/{image-N49IDbzx.cjs → image-DSLZ3_9_.cjs} +4 -4
- package/dist/src/{image-C1Tc1hrH.js → image-Dde5ywa6.js} +4 -4
- package/dist/src/{image-Dll064X0.js → image-G65m_Tkp.js} +5 -5
- package/dist/src/index.cjs +37 -35
- package/dist/src/index.d.cts +2 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.js +26 -24
- package/dist/src/{indirectWebPwn-g-F3__Gp.js → indirectWebPwn-BFdbbs6S.js} +5 -5
- package/dist/src/{indirectWebPwn-Dg4gS14o.js → indirectWebPwn-BeNTvIGX.js} +4 -4
- package/dist/src/{indirectWebPwn-BVsvAUZv.js → indirectWebPwn-BhuZ26Yd.js} +4 -4
- package/dist/src/{indirectWebPwn-DmNLSb0J.js → indirectWebPwn-C-pe6OEr.js} +5 -5
- package/dist/src/{indirectWebPwn-Ch0EQWKt.cjs → indirectWebPwn-CwSQCQGM.cjs} +4 -4
- package/dist/src/{indirectWebPwn-2HDLyS-4.js → indirectWebPwn-DahWlbTc.js} +4 -4
- package/dist/src/{indirectWebPwn-lUx8flGh.cjs → indirectWebPwn-Dcc2nw9e.cjs} +5 -5
- package/dist/src/{indirectWebPwn-P3GLMBT7.js → indirectWebPwn-Dcn8pufK.js} +5 -5
- package/dist/src/{interactions-CqITU8xN.js → interactions-BC_LipMV.js} +5 -5
- package/dist/src/{interactions-vSEfKNox.js → interactions-BUojcIo3.js} +5 -5
- package/dist/src/{interactions-BkHdiUV_.cjs → interactions-CBWiz1sE.cjs} +10 -10
- package/dist/src/{interactions-BwaVVpFQ.js → interactions-FdIt-wCm.js} +5 -5
- package/dist/src/{iterative-CJqvJcCg.cjs → iterative-C03QAXol.cjs} +17 -17
- package/dist/src/{iterative-CmzmX0Ud.js → iterative-C6PvGSZG.js} +13 -13
- package/dist/src/{iterative-BrCMcCPN.js → iterative-C6dOO1pV.js} +13 -13
- package/dist/src/{iterative-Ny9s9zYD.js → iterative-Dm9ed-k9.js} +13 -13
- package/dist/src/{iterativeImage-6UW4D5PR.js → iterativeImage-C1eEEQTU.js} +4 -4
- package/dist/src/{iterativeImage-MQuACdQM.js → iterativeImage-CPdjUydZ.js} +4 -4
- package/dist/src/{iterativeImage-C9ti-N0n.js → iterativeImage-Drxk9690.js} +4 -4
- package/dist/src/{iterativeImage-DrKM797g.cjs → iterativeImage-qpfLOoXo.cjs} +6 -6
- package/dist/src/{iterativeMeta-BFyT65qP.js → iterativeMeta-Bcfzi4sI.js} +12 -12
- package/dist/src/{iterativeMeta-0J6M1Vdv.js → iterativeMeta-CpW_wQO6.js} +12 -12
- package/dist/src/{iterativeMeta-GZVbjagU.cjs → iterativeMeta-DPgnNAss.cjs} +12 -12
- package/dist/src/{iterativeMeta-C1Dh7MxZ.js → iterativeMeta-weggsGV_.js} +12 -12
- package/dist/src/{iterativeTree-BrUcgg6W.js → iterativeTree-CKuB2Z6S.js} +12 -12
- package/dist/src/{iterativeTree-D3_N68uI.js → iterativeTree-Uw3DtvA4.js} +12 -12
- package/dist/src/{iterativeTree-CypPTiqZ.js → iterativeTree-Z5eESQAW.js} +12 -12
- package/dist/src/{iterativeTree-CZMTUJkt.cjs → iterativeTree-sq1SXe1H.cjs} +23 -23
- package/dist/src/{knowledgeBase-oPMm43ZU.js → knowledgeBase-2fh31P8U.js} +4 -4
- package/dist/src/{knowledgeBase-DSmUn4aP.js → knowledgeBase-CZwpvp9c.js} +4 -4
- package/dist/src/{knowledgeBase-BIZW29tN.js → knowledgeBase-Cfr9fuln.js} +4 -4
- package/dist/src/{knowledgeBase-dv8uETfk.cjs → knowledgeBase-Cy5S2dUm.cjs} +4 -4
- package/dist/src/{litellm-CCNfY67w.cjs → litellm-BX6YVwnT.cjs} +4 -4
- package/dist/src/{litellm-CPWGXO61.js → litellm-Bwskx_kf.js} +4 -4
- package/dist/src/{litellm-D2w4bj_z.js → litellm-DG8dC_1P.js} +4 -4
- package/dist/src/{litellm-DB7MRouZ.js → litellm-RtR3zWqA.js} +4 -4
- package/dist/src/{live-CDBvrFTF.cjs → live-BIYLKr6M.cjs} +4 -4
- package/dist/src/{live-BFul3lOj.js → live-BloWTLms.js} +4 -4
- package/dist/src/{live-A1fk8Tl-.js → live-C2hVmTZg.js} +4 -4
- package/dist/src/{live-CRIdbA0o.js → live-CCPXSaYj.js} +4 -4
- package/dist/src/{luma-ray-5CZM_02a.cjs → luma-ray-B3Mt-cN9.cjs} +2 -2
- package/dist/src/{luma-ray-D68mWNcj.js → luma-ray-BGYY3Y9D.js} +2 -2
- package/dist/src/{luma-ray-5Y_J9rjd.js → luma-ray-DTvqEeAb.js} +2 -2
- package/dist/src/{luma-ray-lD3WwDx2.js → luma-ray-Te_YbEBL.js} +2 -2
- package/dist/src/main.js +41 -38
- package/dist/src/{mantleChat-B9O0prU3.js → mantleChat-B7ZGnN3G.js} +2 -2
- package/dist/src/{mantleChat-BRtCbGNb.js → mantleChat-BEwZSACi.js} +2 -2
- package/dist/src/{mantleChat-BNYodgnM.cjs → mantleChat-DRHEiiq7.cjs} +2 -2
- package/dist/src/{mantleChat-aXRLgaar.js → mantleChat-bG3JUmId.js} +2 -2
- package/dist/src/{memoryPoisoning-BP8lqzRR.js → memoryPoisoning-CRCeE8o0.js} +5 -5
- package/dist/src/{memoryPoisoning-CXlBD_-Y.js → memoryPoisoning-DPz_mF21.js} +5 -5
- package/dist/src/{memoryPoisoning-B2dsdKye.cjs → memoryPoisoning-DRIrT0Zv.cjs} +5 -5
- package/dist/src/{memoryPoisoning-C2cyu0C-.js → memoryPoisoning-DUqPlY5F.js} +5 -5
- package/dist/src/{messages-B5cYbsZJ.cjs → messages-BDbtGaqI.cjs} +8 -8
- package/dist/src/{messages-C1diy8zs.js → messages-C306BIuu.js} +8 -8
- package/dist/src/{messages-C9rJcTgf.js → messages-Cqi4nZlY.js} +8 -8
- package/dist/src/{messages-C3_Aa793.js → messages-W898zuCm.js} +8 -8
- package/dist/src/{mischievousUser-BM8LRsDW.js → mischievousUser-4wlyqv76.js} +5 -5
- package/dist/src/{mischievousUser-SPu0AbcD.js → mischievousUser-B1-HU9CD.js} +5 -5
- package/dist/src/{mischievousUser-BVr9ULj0.js → mischievousUser-BJQRmmfP.js} +5 -5
- package/dist/src/{mischievousUser-BDv5f6eO.cjs → mischievousUser-CHIJi5vr.cjs} +5 -5
- package/dist/src/{modelslab-9k-zzEfW.cjs → modelslab-CLDbPmPX.cjs} +3 -3
- package/dist/src/{modelslab-VVi56eHt.js → modelslab-CZ03gaHC.js} +3 -3
- package/dist/src/{modelslab-SFmxkyC5.js → modelslab-Cj0cBlIy.js} +3 -3
- package/dist/src/{modelslab-CvNCpR5m.js → modelslab-DPG6v3Oa.js} +3 -3
- package/dist/src/{nova-reel-DvEcNfJd.js → nova-reel-B401inIg.js} +2 -2
- package/dist/src/{nova-reel-DZRncxke.cjs → nova-reel-D8AFHBH-.cjs} +2 -2
- package/dist/src/{nova-reel-Dtr84O_-.js → nova-reel-RFBr44SY.js} +2 -2
- package/dist/src/{nova-reel-C7RtmR9_.js → nova-reel-sCfu2U7B.js} +2 -2
- package/dist/src/{nova-sonic-B4wexztM.cjs → nova-sonic-B1QLKfJe.cjs} +2 -2
- package/dist/src/{nova-sonic-DXnFfrox.js → nova-sonic-D3CP2Y2f.js} +2 -2
- package/dist/src/{nova-sonic-KyVv4RyY.js → nova-sonic-DPbzYDKH.js} +2 -2
- package/dist/src/{nova-sonic-Doe7LDx_.js → nova-sonic-DlgK5oIa.js} +2 -2
- package/dist/src/{openaiResponses-C3Ml3xst.cjs → openaiResponses-Be2L8u1C.cjs} +2 -2
- package/dist/src/{openaiResponses-CE5BAFhg.js → openaiResponses-CDvzqtsT.js} +2 -2
- package/dist/src/{openaiResponses-CEPZVzZz.js → openaiResponses-CPVWxpRK.js} +2 -2
- package/dist/src/{openaiResponses-DhO4eHg0.js → openaiResponses-sdWTgYPz.js} +2 -2
- package/dist/src/{openclaw-DOZfTvJO.js → openclaw-CKvd8EzM.js} +5 -5
- package/dist/src/{openclaw-XMg8C92z.cjs → openclaw-CSWfAv7N.cjs} +5 -5
- package/dist/src/{openclaw-CbJpj7T8.js → openclaw-Cusi9mm2.js} +5 -5
- package/dist/src/{openclaw-Bugs4BPX.js → openclaw-SY4Ur74P.js} +5 -5
- package/dist/src/{opencode-sdk-CoCVfums.js → opencode-sdk-AGZbtWlq.js} +2 -2
- package/dist/src/{opencode-sdk-Cid8t6m7.cjs → opencode-sdk-B9Dcws4x.cjs} +2 -2
- package/dist/src/{opencode-sdk-CKbY24l_.js → opencode-sdk-ClpPufaf.js} +2 -2
- package/dist/src/{opencode-sdk-mkkCU9O6.js → opencode-sdk-CwBVY4H1.js} +2 -2
- package/dist/src/{openinterpreter-esp9h7Qu.js → openinterpreter-BF1BIP3x.js} +3 -3
- package/dist/src/{openinterpreter-B09Fvndf.js → openinterpreter-Ba9uEUB3.js} +3 -3
- package/dist/src/{openinterpreter-O-8L3wHT.js → openinterpreter-CjAfk7zr.js} +3 -3
- package/dist/src/{openinterpreter-DmCcocbX.cjs → openinterpreter-CjvjRmfR.cjs} +4 -4
- package/dist/src/{promptfoo-BzTq3CZR.cjs → promptfoo-B3EDkr9n.cjs} +4 -4
- package/dist/src/{promptfoo-BnRYCHWo.js → promptfoo-BeCm2WDJ.js} +4 -4
- package/dist/src/{promptfoo-DmLIq1Fg.js → promptfoo-ByMuyN2p.js} +4 -4
- package/dist/src/{promptfoo-DFE6FPtn.js → promptfoo-HD40ugrk.js} +4 -4
- package/dist/src/{providers-YJTtc38R.js → providers-BbgOo13t.js} +68 -48
- package/dist/src/{providers-Dbcg914T.js → providers-BmppqfDI.js} +70 -50
- package/dist/src/{providers-DbRpLhoc.js → providers-C75KcJPJ.js} +68 -48
- package/dist/src/{providers-ASKoKjG0.cjs → providers-CRCoPqQH.cjs} +116 -96
- package/dist/src/{providers-59LpYr3g.js → providers-DI6OXKnh.js} +1 -1
- package/dist/src/{quiverai-BsabGKm2.js → quiverai-8--n-u4s.js} +3 -3
- package/dist/src/{quiverai-dEV-iH9x.cjs → quiverai-CPa-eT-O.cjs} +3 -3
- package/dist/src/{quiverai-CfQpkyAP.js → quiverai-Cyt6JU4X.js} +3 -3
- package/dist/src/{quiverai-D4M0KkyD.js → quiverai-pbddNqGK.js} +3 -3
- package/dist/src/{registry-QpHnWcMr.cjs → registry-3k9Gai1o.cjs} +15 -15
- package/dist/src/{registry-C_cHVcat.js → registry-BdsjaDF0.js} +15 -15
- package/dist/src/{registry-BAiKTqod.js → registry-C63p_cTi.js} +15 -15
- package/dist/src/{registry-BnTKy_CX.js → registry-C842b92A.js} +15 -15
- package/dist/src/{remoteGeneration-PxK1EefI.cjs → remoteGeneration-C0Ev99MO.cjs} +4 -4
- package/dist/src/{remoteGeneration-B0eQSIHo.js → remoteGeneration-Cc78LDjQ.js} +4 -4
- package/dist/src/{remoteGeneration-CwQ0KBdC.js → remoteGeneration-DGJxSMYI.js} +4 -4
- package/dist/src/{remoteGeneration-CopIeiNI.js → remoteGeneration-DnSGqkoH.js} +4 -4
- package/dist/src/render-BRIaR8VG.js +348 -0
- package/dist/src/render-C1VJjFT2.cjs +383 -0
- package/dist/src/render-DIhuKgcQ.js +347 -0
- package/dist/src/render-zarxdXS7.js +347 -0
- package/dist/src/{responses-Cf45MBI8.js → responses-B72c3dpg.js} +8 -7
- package/dist/src/{responses-CB2IgICL.js → responses-DVF5R5Il.js} +8 -7
- package/dist/src/{responses-Doa5xhY1.cjs → responses-DiZCcd1S.cjs} +10 -9
- package/dist/src/{responses-Ci3OK0i0.js → responses-ykcvZ0oE.js} +8 -7
- package/dist/src/{runtimeTransform-BiANYoNE.cjs → runtimeTransform-6aaLbaUN.cjs} +2 -2
- package/dist/src/{runtimeTransform-DCRyBnI7.js → runtimeTransform-Bf5Aif-g.js} +2 -2
- package/dist/src/{runtimeTransform-Dvxqdevg.js → runtimeTransform-DVpy5lDj.js} +2 -2
- package/dist/src/{runtimeTransform-PGM7l51H.js → runtimeTransform-rEgJC2VZ.js} +2 -2
- package/dist/src/{sagemaker-D8O3f2bO.js → sagemaker-BzAkO4HL.js} +9 -9
- package/dist/src/{sagemaker-mlPtR7-q.js → sagemaker-C35al2QN.js} +9 -9
- package/dist/src/{sagemaker-2TZPOS4O.js → sagemaker-D8HnIjWK.js} +9 -9
- package/dist/src/{sagemaker-OlHR8fru.cjs → sagemaker-I0Ei2kNn.cjs} +9 -9
- package/dist/src/{scanner-Dt3oFdeb.js → scanner-De5yM_DC.js} +5 -5
- package/dist/src/server/index.js +31 -29
- package/dist/src/server-B5-TIxn2.js +3 -0
- package/dist/src/{server-MNuRsmJQ.js → server-BaM1Q5gD.js} +4 -4
- package/dist/src/{server-CkrRpgsu.cjs → server-BpmZ1EP0.cjs} +3 -3
- package/dist/src/{server-L884Wtbc.js → server-CqQtEkS_.js} +4 -4
- package/dist/src/{server-lm2H6tXC.js → server-DB1I8Xl3.js} +3 -3
- package/dist/src/{shared-D5rN2VlH.js → shared-BkcgE6vB.js} +14 -14
- package/dist/src/{shared-IP25vMkJ.cjs → shared-Bl84k1Oo.cjs} +14 -14
- package/dist/src/{shared-Dk1AVE9w.js → shared-CkERSpeg.js} +14 -14
- package/dist/src/{shared-yyb3qFQd.js → shared-jcnXW0lA.js} +16 -16
- package/dist/src/{simulatedUser-9Ru_f_dX.js → simulatedUser-BK0F6Lub.js} +5 -4
- package/dist/src/{simulatedUser-6ys8hxx_.js → simulatedUser-BTox0iZp.js} +5 -4
- package/dist/src/{simulatedUser-BQghw48z.cjs → simulatedUser-ByVb7gXp.cjs} +8 -7
- package/dist/src/{simulatedUser-BHmmQ4hb.js → simulatedUser-C8WconFg.js} +5 -4
- package/dist/src/{slack-C--lAIHY.js → slack-7DG3xMM4.js} +2 -2
- package/dist/src/{slack-CxCLWDSi.js → slack-BvWGK3kV.js} +2 -2
- package/dist/src/{slack-6c3iW1pP.cjs → slack-DqFNyAEf.cjs} +2 -2
- package/dist/src/{slack-D_QGURhP.js → slack-spSrgvZu.js} +2 -2
- package/dist/src/{storage-BFmq8CKG.cjs → storage-BX5ws4jD.cjs} +11 -11
- package/dist/src/{storage-J-nYoltq.js → storage-B_t-NiUa.js} +11 -11
- package/dist/src/{storage-BC3GVwPL.js → storage-CVVbTVYC.js} +11 -11
- package/dist/src/{storage-DGeXeJj0.js → storage-CrqPUKqY.js} +12 -12
- package/dist/src/{strategies-C6oBZHYF.js → strategies-CaqOj9gZ.js} +10 -10
- package/dist/src/{strategies-Bn1z2exW.cjs → strategies-DJfqHuoT.cjs} +10 -10
- package/dist/src/{strategies-BMxIs2Jx.js → strategies-DVRYSzm8.js} +10 -10
- package/dist/src/{strategies-cFTP9vSw.js → strategies-DpZ1ydwx.js} +11 -11
- package/dist/src/{telemetry-D64Cj0UR.js → telemetry-BD4xF9d_.js} +3 -3
- package/dist/src/{telemetry-Bqa8fxWp.js → telemetry-BQZTDom3.js} +3 -3
- package/dist/src/{telemetry-CIaL2pmn.js → telemetry-CJdYAcRk.js} +3 -3
- package/dist/src/telemetry-ClfmjQQj.js +3 -0
- package/dist/src/{telemetry-DVYPYBQH.cjs → telemetry-cZi2RTrN.cjs} +3 -3
- package/dist/src/{traceContext-CNp7smkn.js → traceContext-2sZXHY0h.js} +2 -2
- package/dist/src/{traceContext-D7liCnkq.js → traceContext-B3qWxoa7.js} +2 -2
- package/dist/src/{traceContext-BuXw2Yxu.cjs → traceContext-achbslCl.cjs} +2 -2
- package/dist/src/{traceContext-B4vypxe_.js → traceContext-jOhKJ5Ty.js} +2 -2
- package/dist/src/{transcription-SiDe8ogZ.js → transcription-1iEk_fG7.js} +4 -4
- package/dist/src/{transcription-Dq6gB3km.js → transcription-CtogIwZI.js} +4 -4
- package/dist/src/{transcription-BQg4-zD7.cjs → transcription-CuNQgPv9.cjs} +4 -4
- package/dist/src/{transcription-Zq-_5uca.js → transcription-RRwDmQBI.js} +4 -4
- package/dist/src/{transform-CdcZMCo-.js → transform-2ldksCeN.js} +3 -3
- package/dist/src/{transform-BfiH9c1w.js → transform-BesK7nGM.js} +3 -3
- package/dist/src/{transform-CCHDyuc8.cjs → transform-DS2y12jo.cjs} +3 -3
- package/dist/src/{transform-D0QSXU95.js → transform-ciU2euIH.js} +3 -3
- package/dist/src/{util-tlprLsf4.js → util-9K7THVcA2.js} +2 -2
- package/dist/src/{util-BoTwsVvn.js → util-BKfPcBQN.js} +4 -4
- package/dist/src/{util-L5T81aJ0.cjs → util-BPkxeLuk.cjs} +10 -387
- package/dist/src/{util-Ur5TGF_w.js → util-BPlSGvsQ.js} +4 -3
- package/dist/src/{util-uYYKYi7_.js → util-BPtpPW4O.js} +5 -346
- package/dist/src/{util-EBjz-RBV.js → util-BaGd-bCr.js} +2 -2
- package/dist/src/{util-BJ42x4mo.js → util-Bac0h5Sr.js} +2 -2
- package/dist/src/{util-ChbabPn9.cjs → util-Bd8_MhVm.cjs} +2 -2
- package/dist/src/{util-BxmNax2U.js → util-BdN7DdPq.js} +4 -3
- package/dist/src/{util-DdGIEAK_.js → util-BnytsHEr.js} +5 -346
- package/dist/src/{util-COyt9Xaf.cjs → util-BuKoPAn3.cjs} +4 -4
- package/dist/src/{util-BVDvJqrO.js → util-CEecmC3Y.js} +4 -4
- package/dist/src/{util-CZ9shpIL.js → util-CJi6Bgno.js} +3 -3
- package/dist/src/{util-BdAsuWmv.js → util-CZyLhvIk.js} +6 -347
- package/dist/src/{util-CeP1x2P-.cjs → util-Cadd9fGT.cjs} +3 -3
- package/dist/src/{util-DT7Jko3E.js → util-CzWbxb9R.js} +4 -3
- package/dist/src/{util-CVbeMrg1.js → util-DHtnWbEL.js} +3 -3
- package/dist/src/{util-BDDaDhsI.cjs → util-DSwbJPgL.cjs} +7 -6
- package/dist/src/{util-BNvjVvcH.cjs → util-DhtW6BNS.cjs} +5 -4
- package/dist/src/{util-CmRx53hM.js → util-DiVs2Kf-.js} +4 -3
- package/dist/src/{util-DxyypCZC.js → util-DlFpV1xV.js} +4 -4
- package/dist/src/{util-DtOvD10k.js → util-DlT2H1W5.js} +3 -3
- package/dist/src/{util-PX9qBGnk.js → util-InmFNqSw.js} +4 -3
- package/dist/src/{util-CwUz9jYN.js → util-Rbl6Om9L2.js} +4 -3
- package/dist/src/{vertex-BGBoge5t.js → vertex-BJYJC-Tr.js} +8 -7
- package/dist/src/{vertex-BKhWzpAp.js → vertex-CRMbWhh2.js} +8 -7
- package/dist/src/{vertex-BpaCFvPe.js → vertex-DWXywdFu.js} +8 -7
- package/dist/src/{vertex-FM6gcfuB.cjs → vertex-DXmhY_4R.cjs} +10 -9
- package/dist/src/{vertex-DPgy1bci.js → vertex-Xq6Hc4hv.js} +1 -1
- package/dist/src/{video-CLhmUJuz.js → video-1uQOdg9A.js} +3 -3
- package/dist/src/{video-C4hvGFWO.js → video-BMnt4dq9.js} +3 -3
- package/dist/src/{video-DV7VnFDb.js → video-CZ5He3fP.js} +3 -3
- package/dist/src/{video-CFJeZvvL.cjs → video-ChxZLKTs.cjs} +3 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -6
- package/dist/src/cache-Ca6QI7yz.js +0 -3
- package/dist/src/cloud-aeP705RD.js +0 -3
- package/dist/src/codex-sdk-CMTTOSVq.js +0 -3
- package/dist/src/evaluator-CRrA6xHS.js +0 -3
- package/dist/src/fetch-BYe9zZ94.js +0 -3
- package/dist/src/graders-fvvHDb5X.js +0 -3
- package/dist/src/server-DmrHjxNq.js +0 -3
- package/dist/src/telemetry-BvzHQKBp.js +0 -3
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
import { M as state, o as logger } from "./logger-D4ion89i.js";
|
|
2
|
+
import { i as resolvePackageEntryPoint, r as importModule, t as getDirectory } from "./esm-Cft3V56i.js";
|
|
3
|
+
import { t as providerRegistry } from "./providerRegistry-C2g0ODeW.js";
|
|
4
|
+
import { o as resolveAgenticWorkingDir } from "./agentic-utils-DneHhExJ.js";
|
|
5
|
+
import { n as renderVarsInObject } from "./render-DIhuKgcQ.js";
|
|
6
|
+
import "./codex-runtime-o7SyHeWu.js";
|
|
7
|
+
import path from "path";
|
|
8
|
+
import { z as z$1 } from "zod";
|
|
9
|
+
import dedent from "dedent";
|
|
10
|
+
import fs from "fs/promises";
|
|
11
|
+
import semverSatisfies from "semver/functions/satisfies.js";
|
|
12
|
+
//#region src/providers/openai/codex-security.ts
|
|
13
|
+
const CODEX_SECURITY_OPERATIONS = [
|
|
14
|
+
"security-scan",
|
|
15
|
+
"deep-security-scan",
|
|
16
|
+
"security-diff-scan",
|
|
17
|
+
"validation"
|
|
18
|
+
];
|
|
19
|
+
const MINIMUM_CODEX_SECURITY_SDK_VERSION = "0.1.18";
|
|
20
|
+
const ReasoningEffortSchema = z$1.enum([
|
|
21
|
+
"minimal",
|
|
22
|
+
"low",
|
|
23
|
+
"medium",
|
|
24
|
+
"high",
|
|
25
|
+
"xhigh",
|
|
26
|
+
"max",
|
|
27
|
+
"ultra"
|
|
28
|
+
]);
|
|
29
|
+
const CodexSecurityConfigSchema = z$1.object({
|
|
30
|
+
basePath: z$1.string().optional(),
|
|
31
|
+
prefix: z$1.string().optional(),
|
|
32
|
+
suffix: z$1.string().optional(),
|
|
33
|
+
provider: z$1.unknown().optional(),
|
|
34
|
+
linkedTargetId: z$1.string().optional(),
|
|
35
|
+
maxRetries: z$1.number().int().nonnegative().optional(),
|
|
36
|
+
operation: z$1.enum(CODEX_SECURITY_OPERATIONS).optional(),
|
|
37
|
+
model: z$1.string().min(1).optional(),
|
|
38
|
+
model_provider: z$1.string().min(1).optional(),
|
|
39
|
+
model_reasoning_effort: ReasoningEffortSchema.optional(),
|
|
40
|
+
reasoning_effort: ReasoningEffortSchema.optional(),
|
|
41
|
+
repository: z$1.string().min(1).optional(),
|
|
42
|
+
working_dir: z$1.string().min(1).optional(),
|
|
43
|
+
paths: z$1.array(z$1.string().min(1)).min(1).optional(),
|
|
44
|
+
base_ref: z$1.string().min(1).optional(),
|
|
45
|
+
head_ref: z$1.string().min(1).optional(),
|
|
46
|
+
working_tree: z$1.boolean().optional(),
|
|
47
|
+
output_dir: z$1.string().min(1).optional(),
|
|
48
|
+
archive_existing: z$1.boolean().optional(),
|
|
49
|
+
knowledge_base_paths: z$1.array(z$1.string().min(1)).optional(),
|
|
50
|
+
scan_prompt: z$1.string().optional(),
|
|
51
|
+
validation_prompt: z$1.string().optional(),
|
|
52
|
+
post_scan_prompt: z$1.string().optional(),
|
|
53
|
+
expected_plugin_version: z$1.string().optional(),
|
|
54
|
+
failure_severity: z$1.enum([
|
|
55
|
+
"low",
|
|
56
|
+
"medium",
|
|
57
|
+
"high",
|
|
58
|
+
"critical"
|
|
59
|
+
]).optional(),
|
|
60
|
+
max_cost_usd: z$1.number().positive().optional(),
|
|
61
|
+
workers: z$1.number().int().positive().optional(),
|
|
62
|
+
subagents: z$1.number().int().nonnegative().optional(),
|
|
63
|
+
stop_after_no_new: z$1.number().int().nonnegative().optional(),
|
|
64
|
+
max_discovery_runs: z$1.number().int().positive().optional(),
|
|
65
|
+
max_time_hours: z$1.number().positive().optional(),
|
|
66
|
+
auth: z$1.enum([
|
|
67
|
+
"auto",
|
|
68
|
+
"chatgpt",
|
|
69
|
+
"api-key"
|
|
70
|
+
]).optional(),
|
|
71
|
+
plugin_path: z$1.string().min(1).optional(),
|
|
72
|
+
python_path: z$1.string().min(1).optional(),
|
|
73
|
+
codex_overrides: z$1.record(z$1.string(), z$1.unknown()).optional(),
|
|
74
|
+
finding: z$1.union([z$1.string(), z$1.record(z$1.string(), z$1.unknown())]).optional(),
|
|
75
|
+
finding_file: z$1.string().min(1).optional()
|
|
76
|
+
}).strict().superRefine((config, context) => {
|
|
77
|
+
if (config.model_reasoning_effort && config.reasoning_effort && config.model_reasoning_effort !== config.reasoning_effort) context.addIssue({
|
|
78
|
+
code: "custom",
|
|
79
|
+
path: ["reasoning_effort"],
|
|
80
|
+
message: "reasoning_effort and model_reasoning_effort must match when both are set"
|
|
81
|
+
});
|
|
82
|
+
if (config.working_tree && config.head_ref) context.addIssue({
|
|
83
|
+
code: "custom",
|
|
84
|
+
path: ["head_ref"],
|
|
85
|
+
message: "head_ref cannot be combined with working_tree"
|
|
86
|
+
});
|
|
87
|
+
if (config.paths && (config.base_ref || config.head_ref || config.working_tree)) context.addIssue({
|
|
88
|
+
code: "custom",
|
|
89
|
+
path: ["paths"],
|
|
90
|
+
message: "paths cannot be combined with a diff target"
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
const CodexSecurityMergedPromptConfigSchema = CodexSecurityConfigSchema.strip();
|
|
94
|
+
function configError(error) {
|
|
95
|
+
const details = error.issues.map((issue) => `${issue.path.join(".") || "config"}: ${issue.message}`).join("; ");
|
|
96
|
+
return /* @__PURE__ */ new Error(`Invalid OpenAI Codex Security provider configuration: ${details}`);
|
|
97
|
+
}
|
|
98
|
+
function parseConfig(config = {}, options = {}) {
|
|
99
|
+
const parsed = (options.stripUnknownKeys ? CodexSecurityMergedPromptConfigSchema : CodexSecurityConfigSchema).safeParse(config);
|
|
100
|
+
if (!parsed.success) throw configError(parsed.error);
|
|
101
|
+
return parsed.data;
|
|
102
|
+
}
|
|
103
|
+
async function loadCodexSecurity() {
|
|
104
|
+
const basePaths = [path.resolve(getDirectory(), ".."), path.resolve(getDirectory(), "../..")];
|
|
105
|
+
const visitedEntryPoints = /* @__PURE__ */ new Set();
|
|
106
|
+
const incompatibleVersions = /* @__PURE__ */ new Set();
|
|
107
|
+
let importFailed = false;
|
|
108
|
+
for (const basePath of new Set(basePaths)) {
|
|
109
|
+
const entryPoint = resolvePackageEntryPoint("@openai/codex-security", basePath);
|
|
110
|
+
if (!entryPoint || visitedEntryPoints.has(entryPoint)) continue;
|
|
111
|
+
visitedEntryPoints.add(entryPoint);
|
|
112
|
+
try {
|
|
113
|
+
const module = await importModule(entryPoint);
|
|
114
|
+
const version = typeof module.VERSION === "string" ? module.VERSION : "unknown";
|
|
115
|
+
if (!semverSatisfies(version, `>=${MINIMUM_CODEX_SECURITY_SDK_VERSION}`)) {
|
|
116
|
+
incompatibleVersions.add(version);
|
|
117
|
+
logger.warn(`[CodexSecurity] Ignoring @openai/codex-security ${version}; version ${MINIMUM_CODEX_SECURITY_SDK_VERSION} or newer is required for complete security operations and deep-scan usage accounting.`);
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
return module;
|
|
121
|
+
} catch (error) {
|
|
122
|
+
logger.debug("[CodexSecurity] Failed to load SDK", { error });
|
|
123
|
+
importFailed = true;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (importFailed) throw new Error(dedent`Failed to load @openai/codex-security.
|
|
127
|
+
|
|
128
|
+
Promptfoo and the SDK require a supported even-numbered Node.js release: ^22.22.0, ^24.0.0, or ^26.0.0.
|
|
129
|
+
Reinstall them together with:
|
|
130
|
+
npm install promptfoo @openai/codex-security
|
|
131
|
+
|
|
132
|
+
See https://www.promptfoo.dev/docs/providers/openai-codex-security/`);
|
|
133
|
+
if (incompatibleVersions.size > 0) throw new Error(dedent`The installed @openai/codex-security package is incompatible (${Array.from(incompatibleVersions).join(", ")}).
|
|
134
|
+
|
|
135
|
+
Version ${MINIMUM_CODEX_SECURITY_SDK_VERSION} or newer is required for finding validation and accurate deep-worker cost tracking.
|
|
136
|
+
Install the compatible SDK alongside Promptfoo with:
|
|
137
|
+
npm install promptfoo @openai/codex-security@^${MINIMUM_CODEX_SECURITY_SDK_VERSION}
|
|
138
|
+
|
|
139
|
+
See https://www.promptfoo.dev/docs/providers/openai-codex-security/`);
|
|
140
|
+
throw new Error(dedent`The @openai/codex-security package is required but not installed.
|
|
141
|
+
|
|
142
|
+
Install it alongside Promptfoo with:
|
|
143
|
+
npm install promptfoo @openai/codex-security
|
|
144
|
+
|
|
145
|
+
Requires Node.js ^22.22.0, ^24.0.0, or ^26.0.0.
|
|
146
|
+
See https://www.promptfoo.dev/docs/providers/openai-codex-security/`);
|
|
147
|
+
}
|
|
148
|
+
function resolveConfigPath(value, configBasePath) {
|
|
149
|
+
return resolveAgenticWorkingDir(value, configBasePath ?? state.basePath);
|
|
150
|
+
}
|
|
151
|
+
function getTokenUsage(result, observedCost) {
|
|
152
|
+
const usage = result.turnResult.usage;
|
|
153
|
+
const values = usage && typeof usage === "object" ? usage : {};
|
|
154
|
+
const cost = result.cost ?? observedCost;
|
|
155
|
+
const inputTokens = cost?.inputTokens ?? (typeof values.input_tokens === "number" ? values.input_tokens : void 0);
|
|
156
|
+
const outputTokens = cost?.outputTokens ?? (typeof values.output_tokens === "number" ? values.output_tokens : void 0);
|
|
157
|
+
const cachedTokens = cost?.cachedInputTokens ?? (typeof values.cached_input_tokens === "number" ? values.cached_input_tokens : void 0);
|
|
158
|
+
const cacheWriteTokens = cost?.cacheWriteInputTokens ?? (typeof values.cache_write_input_tokens === "number" ? values.cache_write_input_tokens : void 0);
|
|
159
|
+
const reasoningTokens = typeof values.reasoning_output_tokens === "number" ? values.reasoning_output_tokens : void 0;
|
|
160
|
+
if (inputTokens === void 0 && outputTokens === void 0) return;
|
|
161
|
+
const completionDetails = {
|
|
162
|
+
...reasoningTokens === void 0 ? {} : { reasoning: reasoningTokens },
|
|
163
|
+
...cachedTokens === void 0 ? {} : { cacheReadInputTokens: cachedTokens },
|
|
164
|
+
...cacheWriteTokens === void 0 ? {} : { cacheCreationInputTokens: cacheWriteTokens }
|
|
165
|
+
};
|
|
166
|
+
return {
|
|
167
|
+
...inputTokens === void 0 ? {} : { prompt: inputTokens },
|
|
168
|
+
...outputTokens === void 0 ? {} : { completion: outputTokens },
|
|
169
|
+
...cachedTokens === void 0 ? {} : { cached: cachedTokens },
|
|
170
|
+
...inputTokens === void 0 || outputTokens === void 0 ? {} : { total: inputTokens + outputTokens },
|
|
171
|
+
...Object.keys(completionDetails).length > 0 ? { completionDetails } : {}
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
var OpenAICodexSecurityProvider = class {
|
|
175
|
+
config;
|
|
176
|
+
env;
|
|
177
|
+
providerId;
|
|
178
|
+
activeClients = /* @__PURE__ */ new Set();
|
|
179
|
+
constructor(options = {}) {
|
|
180
|
+
this.config = parseConfig(options.config);
|
|
181
|
+
this.env = options.env;
|
|
182
|
+
this.providerId = options.id ?? "openai:codex-security";
|
|
183
|
+
providerRegistry.register(this);
|
|
184
|
+
}
|
|
185
|
+
id() {
|
|
186
|
+
return this.providerId;
|
|
187
|
+
}
|
|
188
|
+
requiresApiKey() {
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
toString() {
|
|
192
|
+
return "[OpenAI Codex Security Provider]";
|
|
193
|
+
}
|
|
194
|
+
async cleanup() {
|
|
195
|
+
const clients = Array.from(this.activeClients);
|
|
196
|
+
this.activeClients.clear();
|
|
197
|
+
const results = await Promise.allSettled(clients.map((client) => client.close()));
|
|
198
|
+
for (const result of results) if (result.status === "rejected") logger.warn("[CodexSecurity] Error while closing SDK client", { error: result.reason });
|
|
199
|
+
}
|
|
200
|
+
async shutdown() {
|
|
201
|
+
try {
|
|
202
|
+
await this.cleanup();
|
|
203
|
+
} finally {
|
|
204
|
+
providerRegistry.unregister(this);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
async callApi(prompt, context, callOptions) {
|
|
208
|
+
try {
|
|
209
|
+
const mergedConfig = {
|
|
210
|
+
...this.config,
|
|
211
|
+
...context?.prompt?.config
|
|
212
|
+
};
|
|
213
|
+
delete mergedConfig.provider;
|
|
214
|
+
const config = parseConfig(renderVarsInObject(mergedConfig, context?.vars), { stripUnknownKeys: true });
|
|
215
|
+
const operation = config.operation ?? "security-scan";
|
|
216
|
+
const repositoryVariable = context?.vars?.repository;
|
|
217
|
+
const repository = resolveConfigPath(config.repository ?? config.working_dir ?? (typeof repositoryVariable === "string" ? repositoryVariable : void 0), config.basePath) ?? process.cwd();
|
|
218
|
+
if (callOptions?.abortSignal?.aborted) return { error: "Codex Security operation was aborted before it started." };
|
|
219
|
+
for (const key of ["OPENAI_API_KEY", "CODEX_API_KEY"]) if (this.env?.[key] && this.env[key] !== process.env[key]) return { error: `Codex Security does not support provider-scoped ${key}. Set ${key} in the Promptfoo process environment before running the evaluation.` };
|
|
220
|
+
const module = await loadCodexSecurity();
|
|
221
|
+
const effort = config.model_reasoning_effort ?? config.reasoning_effort;
|
|
222
|
+
const codexOverrides = {
|
|
223
|
+
...config.codex_overrides,
|
|
224
|
+
...config.model ? { model: config.model } : {},
|
|
225
|
+
...config.model_provider ? { model_provider: config.model_provider } : {},
|
|
226
|
+
...effort ? { model_reasoning_effort: effort } : {}
|
|
227
|
+
};
|
|
228
|
+
const client = new module.CodexSecurity({
|
|
229
|
+
...config.plugin_path ? { pluginPath: resolveConfigPath(config.plugin_path, config.basePath) } : {},
|
|
230
|
+
...config.python_path ? { pythonPath: resolveConfigPath(config.python_path, config.basePath) } : {},
|
|
231
|
+
...Object.keys(codexOverrides).length > 0 ? { codexOverrides } : {}
|
|
232
|
+
});
|
|
233
|
+
this.activeClients.add(client);
|
|
234
|
+
try {
|
|
235
|
+
if (operation === "validation") return await this.runValidation(client, prompt, repository, config, context, callOptions);
|
|
236
|
+
return await this.runScan(client, module, prompt, repository, operation, config, callOptions);
|
|
237
|
+
} finally {
|
|
238
|
+
this.activeClients.delete(client);
|
|
239
|
+
try {
|
|
240
|
+
await client.close();
|
|
241
|
+
} catch (error) {
|
|
242
|
+
logger.warn("[CodexSecurity] Error while closing SDK client", { error });
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
} catch (error) {
|
|
246
|
+
return { error: `Codex Security operation failed: ${error instanceof Error ? error.message : String(error)}` };
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
async runScan(client, module, prompt, repository, operation, config, callOptions) {
|
|
250
|
+
const mode = operation === "deep-security-scan" ? "deep" : "standard";
|
|
251
|
+
const targetResult = this.getScanTarget(module, operation, config);
|
|
252
|
+
if ("error" in targetResult) return targetResult;
|
|
253
|
+
const observers = { warnings: [] };
|
|
254
|
+
const options = this.buildScanOptions(prompt, mode, targetResult.target, config, observers, callOptions);
|
|
255
|
+
const result = await client.run(repository, options);
|
|
256
|
+
return this.buildScanResponse(result, module, repository, operation, mode, config, observers);
|
|
257
|
+
}
|
|
258
|
+
getScanTarget(module, operation, config) {
|
|
259
|
+
if (operation === "security-diff-scan") {
|
|
260
|
+
if (config.working_tree) return { target: module.DiffTarget.workingTree(config.base_ref ? { base: config.base_ref } : void 0) };
|
|
261
|
+
if (config.base_ref) return { target: module.DiffTarget.refs({
|
|
262
|
+
base: config.base_ref,
|
|
263
|
+
...config.head_ref ? { head: config.head_ref } : {}
|
|
264
|
+
}) };
|
|
265
|
+
return { error: "Codex Security security-diff-scan requires base_ref or working_tree: true." };
|
|
266
|
+
}
|
|
267
|
+
if (config.base_ref || config.head_ref || config.working_tree) return { error: "Git diff target options require operation: security-diff-scan." };
|
|
268
|
+
return { target: config.paths ?? "repository" };
|
|
269
|
+
}
|
|
270
|
+
buildScanOptions(prompt, mode, target, config, observers, callOptions) {
|
|
271
|
+
const scanPrompt = [config.scan_prompt, prompt].filter(Boolean).join("\n\n");
|
|
272
|
+
return {
|
|
273
|
+
mode,
|
|
274
|
+
target,
|
|
275
|
+
...scanPrompt ? { scanPrompt } : {},
|
|
276
|
+
...config.auth ? { auth: config.auth } : {},
|
|
277
|
+
...config.output_dir ? { outputDir: resolveConfigPath(config.output_dir, config.basePath) } : {},
|
|
278
|
+
...config.archive_existing === void 0 ? {} : { archiveExisting: config.archive_existing },
|
|
279
|
+
...config.knowledge_base_paths ? { knowledgeBasePaths: config.knowledge_base_paths.map((knowledgePath) => resolveConfigPath(knowledgePath, config.basePath)) } : {},
|
|
280
|
+
...config.validation_prompt ? { validationPrompt: config.validation_prompt } : {},
|
|
281
|
+
...config.post_scan_prompt ? { postScanPrompt: config.post_scan_prompt } : {},
|
|
282
|
+
...config.expected_plugin_version ? { expectedPluginVersion: config.expected_plugin_version } : {},
|
|
283
|
+
...config.failure_severity ? { failureSeverity: config.failure_severity } : {},
|
|
284
|
+
...config.max_cost_usd === void 0 ? {} : { maxCostUsd: config.max_cost_usd },
|
|
285
|
+
...this.buildDeepScanOptions(mode, config),
|
|
286
|
+
...callOptions?.abortSignal ? { signal: callOptions.abortSignal } : {},
|
|
287
|
+
onCost: (cost) => {
|
|
288
|
+
observers.cost = { ...cost };
|
|
289
|
+
},
|
|
290
|
+
onProgress: (progress) => {
|
|
291
|
+
observers.progress = progress;
|
|
292
|
+
},
|
|
293
|
+
onWarning: (warning) => {
|
|
294
|
+
observers.warnings.push(warning);
|
|
295
|
+
}
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
buildDeepScanOptions(mode, config) {
|
|
299
|
+
if (mode !== "deep") return {};
|
|
300
|
+
return {
|
|
301
|
+
...config.workers === void 0 ? {} : { workers: config.workers },
|
|
302
|
+
...config.subagents === void 0 ? {} : { subagents: config.subagents },
|
|
303
|
+
...config.stop_after_no_new === void 0 ? {} : { stopAfterNoNew: config.stop_after_no_new },
|
|
304
|
+
...config.max_discovery_runs === void 0 ? {} : { maxDiscoveryRuns: config.max_discovery_runs },
|
|
305
|
+
...config.max_time_hours === void 0 ? {} : { maxTimeHours: config.max_time_hours }
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
buildScanResponse(result, module, repository, operation, mode, config, observers) {
|
|
309
|
+
const cost = result.cost ?? observers.cost;
|
|
310
|
+
const tokenUsage = getTokenUsage(result, observers.cost);
|
|
311
|
+
const findings = Array.isArray(result.findings?.findings) ? result.findings.findings : [];
|
|
312
|
+
const model = result.turnResult.model ?? cost?.model ?? config.model;
|
|
313
|
+
return {
|
|
314
|
+
output: JSON.stringify(result.toJSON()),
|
|
315
|
+
format: "json",
|
|
316
|
+
raw: result.toJSON(),
|
|
317
|
+
cached: false,
|
|
318
|
+
sessionId: result.threadId,
|
|
319
|
+
...cost ? { cost: cost.estimatedUsd } : {},
|
|
320
|
+
...tokenUsage ? { tokenUsage } : {},
|
|
321
|
+
metadata: {
|
|
322
|
+
operation,
|
|
323
|
+
mode,
|
|
324
|
+
repository,
|
|
325
|
+
...model ? { model } : {},
|
|
326
|
+
...config.model_reasoning_effort || config.reasoning_effort ? { reasoningEffort: config.model_reasoning_effort ?? config.reasoning_effort } : {},
|
|
327
|
+
findingsCount: findings.length,
|
|
328
|
+
coverage: result.coverage,
|
|
329
|
+
scanDir: result.scanDir,
|
|
330
|
+
reportPath: result.reportPath,
|
|
331
|
+
findingsPath: result.findingsPath,
|
|
332
|
+
coveragePath: result.coveragePath,
|
|
333
|
+
...result.sarifPath ? { sarifPath: result.sarifPath } : {},
|
|
334
|
+
pluginVersion: result.pluginVersion,
|
|
335
|
+
sdkVersion: module.VERSION,
|
|
336
|
+
...observers.progress ? { progress: observers.progress } : {},
|
|
337
|
+
...observers.warnings.length > 0 ? { warnings: observers.warnings } : {},
|
|
338
|
+
skillCalls: [{ name: operation }]
|
|
339
|
+
}
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
async runValidation(client, prompt, repository, config, context, callOptions) {
|
|
343
|
+
const findingVariable = context?.vars?.finding;
|
|
344
|
+
const contextualFinding = typeof findingVariable === "string" || findingVariable !== null && typeof findingVariable === "object" && !Array.isArray(findingVariable) ? findingVariable : void 0;
|
|
345
|
+
let finding = config.finding ?? contextualFinding ?? prompt;
|
|
346
|
+
if (config.finding_file) {
|
|
347
|
+
const findingContents = await fs.readFile(resolveConfigPath(config.finding_file, config.basePath), "utf8");
|
|
348
|
+
try {
|
|
349
|
+
finding = JSON.parse(findingContents);
|
|
350
|
+
} catch {
|
|
351
|
+
finding = findingContents;
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
const options = {
|
|
355
|
+
repositoryPath: repository,
|
|
356
|
+
finding,
|
|
357
|
+
...config.auth ? { auth: config.auth } : {},
|
|
358
|
+
...config.output_dir ? { outputDir: resolveConfigPath(config.output_dir, config.basePath) } : {},
|
|
359
|
+
...callOptions?.abortSignal ? { signal: callOptions.abortSignal } : {}
|
|
360
|
+
};
|
|
361
|
+
const result = await client.validate(options);
|
|
362
|
+
return {
|
|
363
|
+
output: JSON.stringify(result),
|
|
364
|
+
format: "json",
|
|
365
|
+
raw: result,
|
|
366
|
+
cached: false,
|
|
367
|
+
...result.threadId ? { sessionId: result.threadId } : {},
|
|
368
|
+
metadata: {
|
|
369
|
+
operation: "validation",
|
|
370
|
+
repository,
|
|
371
|
+
disposition: result.disposition,
|
|
372
|
+
outputDir: result.outputDir,
|
|
373
|
+
...config.model ? { model: config.model } : {},
|
|
374
|
+
skillCalls: [{ name: "validation" }]
|
|
375
|
+
}
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
//#endregion
|
|
380
|
+
export { OpenAICodexSecurityProvider };
|
|
381
|
+
|
|
382
|
+
//# sourceMappingURL=codex-security-71xcR7s3.js.map
|