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