promptfoo 0.121.4 → 0.121.7

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 (497) hide show
  1. package/dist/src/{ListApp-DQkFNqE9.js → ListApp-DLmM02JS.js} +1 -1
  2. package/dist/src/{accounts-DhMYUUbu.js → accounts-Ca7WIoPY.js} +12 -7
  3. package/dist/src/{accounts-F9d_5sMC.js → accounts-CjFnOPmb.js} +14 -9
  4. package/dist/src/{accounts-Dy17bs4D.cjs → accounts-CmWzeD2d.cjs} +16 -10
  5. package/dist/src/{accounts-DdJ2pHMI.js → accounts-DanM1wq_.js} +13 -8
  6. package/dist/src/{agentic-utils-qFlm6zes.js → agentic-utils-CJ0j3fBi.js} +3 -3
  7. package/dist/src/{agentic-utils-w68v6_Dz.js → agentic-utils-DDEGRV9v.js} +3 -3
  8. package/dist/src/{agentic-utils-BpX5b23w.cjs → agentic-utils-DvPWSUpb.cjs} +8 -7
  9. package/dist/src/{agentic-utils-P172hM8B.js → agentic-utils-TxUEMPYS.js} +2 -2
  10. package/dist/src/{agents-BahDpe5G.cjs → agents-B4sRuXg3.cjs} +7 -6
  11. package/dist/src/{agents-pQeBEXMm.js → agents-B8q7h_ek.js} +5 -5
  12. package/dist/src/{agents-CgaMXvLM.js → agents-CBgJvRkB.js} +21 -10
  13. package/dist/src/{agents-C-R_jfzI.js → agents-CYn2n3QP.js} +4 -4
  14. package/dist/src/{agents-8FDnTriG.js → agents-D-vDNFx4.js} +21 -10
  15. package/dist/src/{agents-aYPQLf8W.js → agents-LrHuQqr1.js} +20 -9
  16. package/dist/src/{agents-DJ35I3Nt.js → agents-QGg76OF-.js} +5 -5
  17. package/dist/src/{agents-D7-HGxUj.cjs → agents-eHZ9nlgA.cjs} +21 -10
  18. package/dist/src/{aimlapi-sgYnkE54.js → aimlapi-CJEbQ0o6.js} +7 -7
  19. package/dist/src/{aimlapi-BD6J9oKt.js → aimlapi-D5HXzZ0s.js} +6 -6
  20. package/dist/src/{aimlapi-qcK4OT55.cjs → aimlapi-T6HGNxNe.cjs} +7 -7
  21. package/dist/src/{aimlapi-BCq3MHeL.js → aimlapi-eYv3a_DK.js} +7 -7
  22. package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -1
  23. package/dist/src/app/assets/Report-BNHJKN35.js +1 -0
  24. package/dist/src/app/assets/index-BnT6P6sF.js +388 -0
  25. package/dist/src/app/assets/index-yhM8y1PP.css +1 -0
  26. package/dist/src/app/assets/{scroll-timeline-D9IT_e8Z.js → scroll-timeline-RpeTwOvs.js} +1 -1
  27. package/dist/src/app/assets/sync-5gq6fmG4.js +4 -0
  28. package/dist/src/app/assets/vendor-charts-BL9OMNU7.js +36 -0
  29. package/dist/src/app/assets/{vendor-markdown-Ch00wnNI.js → vendor-markdown-BYsQqn7Z.js} +10 -10
  30. package/dist/src/app/assets/{vendor-react-CVvmk1UB.js → vendor-react-CqWgVW6T.js} +2 -2
  31. package/dist/src/app/assets/{vendor-utils-BnEYbx2Q.js → vendor-utils-BHPO71pu.js} +1 -1
  32. package/dist/src/app/index.html +31 -6
  33. package/dist/src/{audio-COrn8rM6.js → audio-BqnRvcWG.js} +3 -3
  34. package/dist/src/{audio-DcVKoInv.js → audio-CPMtV1yR.js} +4 -4
  35. package/dist/src/{audio-B7izf48x.js → audio-DyiebVB3.js} +4 -4
  36. package/dist/src/{audio-BQtNuYBj.cjs → audio-FnxbEnSE.cjs} +4 -4
  37. package/dist/src/authoritativeMarkupInjection-BZIywVjG.js +74 -0
  38. package/dist/src/authoritativeMarkupInjection-DyAXAsSr.js +75 -0
  39. package/dist/src/authoritativeMarkupInjection-F2gBw0lN.cjs +74 -0
  40. package/dist/src/authoritativeMarkupInjection-QEQmFS83.js +74 -0
  41. package/dist/src/{base-PYJvBE1i.js → base-CKLo890h.js} +4 -3
  42. package/dist/src/{base-fZ9wgg50.js → base-Co80MMCi.js} +5 -4
  43. package/dist/src/{base-D-670DX8.cjs → base-DGJW48uz.cjs} +5 -4
  44. package/dist/src/{base-yrI1Yal4.js → base-E9I8zXjz.js} +5 -4
  45. package/dist/src/bestOfN-B3wNzjSB.js +137 -0
  46. package/dist/src/bestOfN-BBsO41z4.js +136 -0
  47. package/dist/src/bestOfN-CAwmg5UL.cjs +140 -0
  48. package/dist/src/bestOfN-_kTi8Bxe.js +136 -0
  49. package/dist/src/{blobs-D2FAd1Q5.cjs → blobs-B0977K1O.cjs} +7 -6
  50. package/dist/src/{blobs-BCZavS8s.js → blobs-CeFdPn_T.js} +3 -3
  51. package/dist/src/{blobs-BQWqnnvL.js → blobs-DODuTK-a.js} +3 -3
  52. package/dist/src/{blobs-C-F78Kfn.js → blobs-Dwef1Ao1.js} +2 -2
  53. package/dist/src/{cache-BIyPcp5v.cjs → cache-CPGUA4Yl.cjs} +135 -25
  54. package/dist/src/cache-Cf7b4pWE.js +3 -0
  55. package/dist/src/{cache-D5NZmMiT.js → cache-DIXbtkNO.js} +125 -10
  56. package/dist/src/{cache-mb7c8hbp.js → cache-DpPWrkTE.js} +128 -12
  57. package/dist/src/{cache-C4Xb-hNb.js → cache-roFAE0cI.js} +126 -11
  58. package/dist/src/{chat-I9izLm49.js → chat-CUCorGiL.js} +12 -12
  59. package/dist/src/{chat-BPXSW8Bv.cjs → chat-DG1wG4w0.cjs} +6 -6
  60. package/dist/src/{chat-BfPaS15_.js → chat-Dabu84Br.js} +12 -12
  61. package/dist/src/{chat-Dr3DUQ0D.js → chat-DqUFcWI0.js} +12 -12
  62. package/dist/src/{chat-CclRbxGf.cjs → chat-DxTDQ83C.cjs} +14 -13
  63. package/dist/src/{chat-MKxMnZJZ.js → chat-GmlolEwo.js} +4 -4
  64. package/dist/src/{chat-0bwXjVP0.js → chat-TP8Qifkh.js} +6 -6
  65. package/dist/src/{chat-mW0ORo8G.js → chat-iwaM5UTQ.js} +6 -6
  66. package/dist/src/{chatkit-zUIVoDos.js → chatkit-B6DWi70Q.js} +4 -4
  67. package/dist/src/{chatkit-BoWoSgXl.cjs → chatkit-BYveR48_.cjs} +6 -5
  68. package/dist/src/{chatkit-Cv6AhukM.js → chatkit-fARZwEfV.js} +3 -3
  69. package/dist/src/{chatkit-CJnHRRMM.js → chatkit-lb6FK02w.js} +4 -4
  70. package/dist/src/{claude-agent-sdk-Dtq_L-Sc.js → claude-agent-sdk-BQNp_y-F.js} +212 -67
  71. package/dist/src/{claude-agent-sdk-BQNuLaAK.js → claude-agent-sdk-D5Jl0SDh.js} +212 -67
  72. package/dist/src/{claude-agent-sdk-CPJo3dBQ.cjs → claude-agent-sdk-DH416NBD.cjs} +218 -72
  73. package/dist/src/{claude-agent-sdk-nfAIcxNf.js → claude-agent-sdk-x1XJ1-pU.js} +212 -67
  74. package/dist/src/{cloud-DQZ5sVjW.js → cloud-D3DiFqH6.js} +3 -3
  75. package/dist/src/cloud-p96PA4MH.js +3 -0
  76. package/dist/src/{cloudflare-ai-BIB567w6.js → cloudflare-ai-B6NVI3ax.js} +4 -4
  77. package/dist/src/{cloudflare-ai-Dl3N9OVD.cjs → cloudflare-ai-CEAW-xQa.cjs} +6 -6
  78. package/dist/src/{cloudflare-ai-DlKr0rY7.js → cloudflare-ai-RFSojyXG.js} +6 -6
  79. package/dist/src/{cloudflare-ai-DGLte7Py.js → cloudflare-ai-r4tbYmWU.js} +6 -6
  80. package/dist/src/{cloudflare-gateway-CiIZHU0Q.js → cloudflare-gateway-BCkLouto.js} +5 -5
  81. package/dist/src/{cloudflare-gateway-DI1HNP5F.js → cloudflare-gateway-BaZ4insB.js} +3 -3
  82. package/dist/src/{cloudflare-gateway-BDZrYydE.js → cloudflare-gateway-CF-Vb-2Z.js} +5 -5
  83. package/dist/src/{cloudflare-gateway-BYDp495F.cjs → cloudflare-gateway-TJMLBj6I.cjs} +5 -5
  84. package/dist/src/codex-app-server-B8KHEiF4.js +1915 -0
  85. package/dist/src/codex-app-server-CnrLBCeA.cjs +1921 -0
  86. package/dist/src/codex-app-server-DIXZ230V.js +1915 -0
  87. package/dist/src/codex-app-server-Dd22dC_N.js +1916 -0
  88. package/dist/src/{codex-sdk-CpqiOqDO.js → codex-sdk-B6Wah8Pa.js} +6 -6
  89. package/dist/src/codex-sdk-BGjVAk23.js +3 -0
  90. package/dist/src/{codex-sdk-C2_M2pl_.cjs → codex-sdk-CFF6gUyi.cjs} +18 -10
  91. package/dist/src/{codex-sdk-Rtky3M4I.js → codex-sdk-CmQABzV3.js} +6 -6
  92. package/dist/src/{codex-sdk-CErXn7qh.js → codex-sdk-D2d54RL8.js} +5 -5
  93. package/dist/src/{cometapi-CtJ-mS8R.js → cometapi-Bu9B8NUY.js} +8 -8
  94. package/dist/src/{cometapi-DT-jlVCB.js → cometapi-CtzNCHKu.js} +7 -7
  95. package/dist/src/{cometapi-UVOryo4W.cjs → cometapi-DHCDlQUI.cjs} +8 -8
  96. package/dist/src/{cometapi-BUlt_ELa.js → cometapi-OBILPLlu.js} +8 -8
  97. package/dist/src/{completion-HUe8wDhZ.js → completion-CO2e1_62.js} +6 -6
  98. package/dist/src/{completion-BozdoXba.cjs → completion-CSYfl2cd.cjs} +6 -6
  99. package/dist/src/{completion-x0a_c2y1.js → completion-DZNxcyfG.js} +6 -6
  100. package/dist/src/{completion-Dnxn7E-j.js → completion-sNvCLTAP.js} +5 -5
  101. package/dist/src/constants-BjJV0cRr.js +6 -0
  102. package/dist/src/constants-DH5XYLKZ.js +7 -0
  103. package/dist/src/constants-DZGEFLsu.js +6 -0
  104. package/dist/src/constants-a2kYssQk.cjs +11 -0
  105. package/dist/src/{createHash-4gFQpDDv.js → createHash-BtbSX3mj.js} +1 -1
  106. package/dist/src/{createHash-CwDVU5xr.js → createHash-CGVzWdjj.js} +1 -1
  107. package/dist/src/{createHash-B7KvgoOD.cjs → createHash-CSiqnK5P.cjs} +2 -2
  108. package/dist/src/{createHash-ChI45QR1.js → createHash-CgRvs4Fn.js} +1 -1
  109. package/dist/src/crescendo-BXEJK_bi.cjs +704 -0
  110. package/dist/src/crescendo-CU_Y2i-m.js +702 -0
  111. package/dist/src/crescendo-J1Xx4_zb.js +703 -0
  112. package/dist/src/crescendo-QiaSLW0d.js +701 -0
  113. package/dist/src/custom-BJfP00Bh.js +619 -0
  114. package/dist/src/custom-CZVn-1-r.js +620 -0
  115. package/dist/src/custom-Cqia7M0D.cjs +621 -0
  116. package/dist/src/custom-notggYVl.js +618 -0
  117. package/dist/src/{docker-DCgsveLD.js → docker-4D1eL6Gq.js} +6 -6
  118. package/dist/src/{docker-ClnmCf1Z.js → docker-BBv1WUDu.js} +5 -5
  119. package/dist/src/{docker-DS4_Osau.cjs → docker-D06JUoe2.cjs} +6 -6
  120. package/dist/src/{docker-CQmlA2NU.js → docker-DdJQBxK9.js} +6 -6
  121. package/dist/src/{embedding-D3xTseo7.js → embedding--UZVe4_7.js} +6 -6
  122. package/dist/src/{embedding-I45KG3o7.cjs → embedding-BbrwopfX.cjs} +6 -6
  123. package/dist/src/{embedding-nFbumxcv.js → embedding-Bi3rxrZF.js} +5 -5
  124. package/dist/src/{embedding-DD9wa3ae.js → embedding-C251p1-8.js} +6 -6
  125. package/dist/src/{errors-Cw810C93.js → errors-9PcUL8BC.js} +1 -1
  126. package/dist/src/{esm-Dh4dOLlt.js → esm-B6whoAcf.js} +2 -2
  127. package/dist/src/{esm-CtEPLdAj.cjs → esm-BIKakvNa.cjs} +8 -7
  128. package/dist/src/{esm-C7PnfdF8.js → esm-BTK1W7lG.js} +1 -1
  129. package/dist/src/{esm-tVgYPY-f.js → esm-Bexx2PFc.js} +2 -2
  130. package/dist/src/{eval-u4UVafl6.js → eval-0VRANImH.js} +21 -21
  131. package/dist/src/{eval-CzJFfFO9.js → eval-DscR5iOM.js} +1 -1
  132. package/dist/src/{evalResult-Bgm9ZH31.js → evalResult-2RRJvFyB.js} +41 -16
  133. package/dist/src/{evalResult-KZqXl4XP.cjs → evalResult-CvtS8h8u.cjs} +51 -15
  134. package/dist/src/evalResult-DqzsS6_W.js +3 -0
  135. package/dist/src/{evalResult-D3hVYFis.js → evalResult-eUkJv9Ko.js} +40 -15
  136. package/dist/src/evaluator-DNdJF1Gv.js +3 -0
  137. package/dist/src/{evaluator-IvuDYSvQ.js → evaluator-DRoiYB2q.js} +1060 -187
  138. package/dist/src/evaluatorHelpers-BsYP_muT.js +511 -0
  139. package/dist/src/evaluatorHelpers-CRqTvSux.cjs +537 -0
  140. package/dist/src/evaluatorHelpers-DuqFFfq7.js +510 -0
  141. package/dist/src/{extractor-CAfTSraf.js → extractor-BR7XAzAL.js} +6 -6
  142. package/dist/src/{extractor-WVPOrH43.cjs → extractor-BdxEtt3J.cjs} +6 -6
  143. package/dist/src/{extractor-DNSeBVOJ.js → extractor-CIW3iN-b.js} +6 -6
  144. package/dist/src/{extractor-Dk6bRWkv.js → extractor-CxRtnaHl.js} +5 -5
  145. package/dist/src/{fetch-B0Z3Oe4k.js → fetch-BufrQtvR.js} +93 -40
  146. package/dist/src/{fetch-BEWnXrrG.js → fetch-DXUnXkVU.js} +89 -40
  147. package/dist/src/{fetch-CJU5ELPa.cjs → fetch-Dw4XZHjj.cjs} +330 -270
  148. package/dist/src/{fetch-Di00EQrc.js → fetch-It34O8Ur.js} +305 -252
  149. package/dist/src/fetch-_YgGd2qv.js +3 -0
  150. package/dist/src/{fileExtensions-bYh77CN8.cjs → fileExtensions-BhdwzYaD.cjs} +24 -1
  151. package/dist/src/{fileExtensions-DnqA1y9x.js → fileExtensions-CXRfY3Ss.js} +12 -2
  152. package/dist/src/{fileExtensions-AWa2ZML4.js → fileExtensions-D4GCJ67J.js} +12 -2
  153. package/dist/src/{formatDuration-DZzPsexs.js → formatDuration-CMVNrYvE.js} +1 -1
  154. package/dist/src/{genaiTracer-yRuxj9-L.cjs → genaiTracer-14nugQQx.cjs} +14 -2
  155. package/dist/src/{genaiTracer-DWdZ28hY.js → genaiTracer-BPVvltoW.js} +2 -2
  156. package/dist/src/{genaiTracer-XnrcgDCe.js → genaiTracer-D18lYzhB.js} +2 -2
  157. package/dist/src/{genaiTracer-COYDi-tC.js → genaiTracer-jJKYsnjc.js} +2 -2
  158. package/dist/src/goat-Ckd3q3AY.js +467 -0
  159. package/dist/src/goat-Qgurm-NP.js +466 -0
  160. package/dist/src/goat-ghadEDdy.js +465 -0
  161. package/dist/src/goat-una6pZGP.cjs +469 -0
  162. package/dist/src/graders-BDT7dif6.js +3 -0
  163. package/dist/src/{graders-eIHhRqoC.js → graders-BGP99PdK.js} +2416 -2224
  164. package/dist/src/{graders-Zy3x0zqX.js → graders-BX0f2tvS.js} +2423 -2226
  165. package/dist/src/{graders-pvbReLLn.js → graders-C0nXU_ZP.js} +1806 -1609
  166. package/dist/src/{graders--zknU_uk.cjs → graders-ClrU2fnd.cjs} +2219 -1949
  167. package/dist/src/hydra-BSNZZm2M.js +543 -0
  168. package/dist/src/hydra-BxdG4nkg.js +541 -0
  169. package/dist/src/hydra-DE4xWwyc.js +542 -0
  170. package/dist/src/hydra-DrJttnvw.cjs +542 -0
  171. package/dist/src/image-B4oBtu6J.js +443 -0
  172. package/dist/src/{image-dnoUgPrC.js → image-BN-hjLL9.js} +4 -4
  173. package/dist/src/{image-9302QVqR.js → image-B_fPIwdg.js} +3 -3
  174. package/dist/src/image-BvUAW344.js +442 -0
  175. package/dist/src/image-Cvjwx1uY.js +442 -0
  176. package/dist/src/{image-De2FBmYV.cjs → image-DfVCGPbI.cjs} +4 -4
  177. package/dist/src/{image-u7-rKnYU.js → image-QzmydkiG.js} +4 -4
  178. package/dist/src/image-X0oY4350.cjs +465 -0
  179. package/dist/src/index.cjs +1689 -558
  180. package/dist/src/index.d.cts +3270 -1624
  181. package/dist/src/index.d.ts +3270 -1624
  182. package/dist/src/index.js +1553 -438
  183. package/dist/src/indirectWebPwn-02ZIghCS.js +259 -0
  184. package/dist/src/indirectWebPwn-BJ22AbQa.cjs +397 -0
  185. package/dist/src/indirectWebPwn-CbjUG0rh.js +385 -0
  186. package/dist/src/indirectWebPwn-CfQJt3gk.cjs +260 -0
  187. package/dist/src/indirectWebPwn-DBQhOjoD.js +260 -0
  188. package/dist/src/indirectWebPwn-OsXnKejv.js +259 -0
  189. package/dist/src/indirectWebPwn-tNx9OZ35.js +385 -0
  190. package/dist/src/indirectWebPwn-uyWdHx04.js +386 -0
  191. package/dist/src/inputVariables-B0qUChbV.js +467 -0
  192. package/dist/src/inputVariables-DUGMb9Ka.js +464 -0
  193. package/dist/src/inputVariables-DXFdi7AI.js +468 -0
  194. package/dist/src/inputVariables-Dq9W-Z3a.cjs +475 -0
  195. package/dist/src/{interactiveCheck-CLERUB0c.js → interactiveCheck-C4QlIuoR.js} +2 -2
  196. package/dist/src/{invariant-BtWWVVhl.js → invariant-B2Rf6avk.js} +1 -1
  197. package/dist/src/{invariant-vgHWClmd.js → invariant-DIYf9sP1.js} +1 -1
  198. package/dist/src/{invariant-kfQ8Bu82.cjs → invariant-QtnLD03y.cjs} +1 -1
  199. package/dist/src/iterative-CpU6i2As.js +490 -0
  200. package/dist/src/iterative-DJQEQpG3.js +491 -0
  201. package/dist/src/iterative-DQBuWM-j.cjs +493 -0
  202. package/dist/src/iterative-FTS4Bz67.js +492 -0
  203. package/dist/src/iterativeImage-BUABMVOA.js +413 -0
  204. package/dist/src/iterativeImage-ByFWkxax.cjs +415 -0
  205. package/dist/src/iterativeImage-BzUapOUi.js +414 -0
  206. package/dist/src/iterativeImage-Doz8mgxF.js +413 -0
  207. package/dist/src/iterativeMeta-B3YiAOc8.js +386 -0
  208. package/dist/src/iterativeMeta-C7APE_P1.js +385 -0
  209. package/dist/src/iterativeMeta-CSS8M6Ds.cjs +385 -0
  210. package/dist/src/iterativeMeta-DgoQ7bLh.js +384 -0
  211. package/dist/src/iterativeTree-B5zxBBSW.js +769 -0
  212. package/dist/src/iterativeTree-CNyIk0Yn.js +768 -0
  213. package/dist/src/iterativeTree-CPMF10ve.cjs +771 -0
  214. package/dist/src/iterativeTree-DvZ7GBwt.js +770 -0
  215. package/dist/src/{knowledgeBase-Dgc7CBWF.js → knowledgeBase-BadkINlJ.js} +24 -10
  216. package/dist/src/{knowledgeBase-RhFPGWDc.js → knowledgeBase-Bi_8sV-H.js} +25 -11
  217. package/dist/src/{knowledgeBase-lm9RXSAm.js → knowledgeBase-CkMljjdg.js} +25 -11
  218. package/dist/src/{knowledgeBase-Bpoe_nLu.cjs → knowledgeBase-DUh34xba.cjs} +25 -11
  219. package/dist/src/{litellm-DRjpcSa7.js → litellm-BKBo0jpC.js} +5 -5
  220. package/dist/src/{litellm-C2kqjxqp.js → litellm-BXyn5kZK.js} +5 -5
  221. package/dist/src/{litellm-p37R1dzQ.js → litellm-CNcfbCfa.js} +4 -4
  222. package/dist/src/{litellm-CoyI4IAl.cjs → litellm-CtAr7bKG.cjs} +5 -5
  223. package/dist/src/{logger-DksKw1Qc.js → logger-BbY6ypFL.js} +2 -2
  224. package/dist/src/{logger-B88EkIn6.js → logger-KD8JjCRJ.js} +2 -2
  225. package/dist/src/{logger-COuQb2xB.cjs → logger-cfNpzI4o.cjs} +13 -55
  226. package/dist/src/{luma-ray-KgTCXrZC.js → luma-ray-BMX1iEB6.js} +5 -5
  227. package/dist/src/{luma-ray-B863CmuZ.js → luma-ray-CR5TSpp4.js} +5 -5
  228. package/dist/src/{luma-ray-BxVKaW2a.cjs → luma-ray-D3FUc2K3.cjs} +9 -8
  229. package/dist/src/{luma-ray-BTTLtqQ8.js → luma-ray-OEMmS1RB.js} +6 -6
  230. package/dist/src/main.js +909 -369
  231. package/dist/src/memoryPoisoning-CM83NWYl.js +107 -0
  232. package/dist/src/memoryPoisoning-D8h9gXJF.js +106 -0
  233. package/dist/src/memoryPoisoning-Dp-btinn.cjs +106 -0
  234. package/dist/src/memoryPoisoning-cLuCoTuJ.js +106 -0
  235. package/dist/src/{messages-BTQz42fn.js → messages-BabO-cX8.js} +273 -17
  236. package/dist/src/{messages-811uVVW5.cjs → messages-DBPir0TQ.cjs} +278 -18
  237. package/dist/src/{messages-zWbkLLHz.js → messages-DGUlSNU7.js} +273 -17
  238. package/dist/src/{messages-MYTQ2TWp.js → messages-vsE_-Lv0.js} +273 -17
  239. package/dist/src/{meteor-DHdzY1Ss.js → meteor--TZYICTI.js} +2 -2
  240. package/dist/src/{meteor-Co1VQ1u5.cjs → meteor-CR226f7Z.cjs} +2 -2
  241. package/dist/src/{meteor-CU5UAE-H.js → meteor-Cl_yd7rJ.js} +2 -2
  242. package/dist/src/{meteor-DuAFv6gF.js → meteor-Dce-_zGQ.js} +1 -1
  243. package/dist/src/mischievousUser-0l8GD7Dp.js +46 -0
  244. package/dist/src/mischievousUser-BUOP9W5r.js +46 -0
  245. package/dist/src/mischievousUser-frFYKxu6.js +47 -0
  246. package/dist/src/mischievousUser-olGgHIVR.cjs +46 -0
  247. package/dist/src/{modelslab-Dk1JAtVo.cjs → modelslab-CNV5bMSk.cjs} +7 -7
  248. package/dist/src/{modelslab-D0erNWKe.js → modelslab-Cogmu4mG.js} +6 -6
  249. package/dist/src/{modelslab-DIq-6y7x.js → modelslab-Dzst7VTU.js} +6 -6
  250. package/dist/src/{modelslab-wu9yi5GE.js → modelslab-EyDczZ5A.js} +7 -7
  251. package/dist/src/{nova-reel-CCFRfeRb.js → nova-reel-BGPNBOMS.js} +6 -6
  252. package/dist/src/{nova-reel-DQrm74ng.js → nova-reel-B_5NKFu1.js} +5 -5
  253. package/dist/src/{nova-reel-gr11WG7f.js → nova-reel-C4eUJGse.js} +5 -5
  254. package/dist/src/{nova-reel-CrLXVKQf.cjs → nova-reel-CjJRxI1X.cjs} +9 -8
  255. package/dist/src/{nova-sonic-BYdp-QLs.js → nova-sonic-BNGmgfFz.js} +4 -4
  256. package/dist/src/{nova-sonic-TDgrlTk7.js → nova-sonic-ChPlh5na.js} +4 -4
  257. package/dist/src/{nova-sonic-B_ZXcUJB.js → nova-sonic-CrV0iaY_.js} +3 -3
  258. package/dist/src/{nova-sonic-i5tUvXKn.cjs → nova-sonic-DuOG9Aun.cjs} +5 -4
  259. package/dist/src/{openai-DhVEmgeZ.js → openai-BMHD2Huo.js} +2 -2
  260. package/dist/src/{openai-URNyItar.cjs → openai-C3uXv8wS.cjs} +2 -2
  261. package/dist/src/{openai-Qsvz25mV.js → openai-CJrsh9n4.js} +2 -2
  262. package/dist/src/{openai-iYtrXzOX.js → openai-zgwBb4Ff.js} +1 -1
  263. package/dist/src/{openclaw-CnQ363Wi.js → openclaw-BIHlu_36.js} +10 -8
  264. package/dist/src/{openclaw-CwzlQSQX.js → openclaw-CF7fMido.js} +9 -7
  265. package/dist/src/{openclaw-wX9rtfke.cjs → openclaw-Dphc01BY.cjs} +18 -15
  266. package/dist/src/{openclaw-CLWrW03k.js → openclaw-zIJAsz3P.js} +10 -8
  267. package/dist/src/{opencode-sdk-BUu5Nevv.js → opencode-sdk-B3vlPLsp.js} +40 -5
  268. package/dist/src/{opencode-sdk-BxD8vXp_.js → opencode-sdk-D05JSgMQ.js} +40 -5
  269. package/dist/src/{opencode-sdk-BZ2idgYA.cjs → opencode-sdk-DoY6GbWw.cjs} +46 -10
  270. package/dist/src/{opencode-sdk-GI2KaAXq.js → opencode-sdk-sRKYHGoI.js} +39 -4
  271. package/dist/src/{otlpReceiver-BntK801g.js → otlpReceiver--gTpSagc.js} +120 -4
  272. package/dist/src/{otlpReceiver-DmVulbhC.js → otlpReceiver-B2eaKC8C.js} +120 -4
  273. package/dist/src/{otlpReceiver-B2z58l4e.js → otlpReceiver-BXjcRqAM.js} +119 -3
  274. package/dist/src/{otlpReceiver-BfcVq2Nq.cjs → otlpReceiver-CvJdBGSc.cjs} +125 -7
  275. package/dist/src/packageParser--MWTSrPW.js +36 -0
  276. package/dist/src/packageParser-CgE-ziRo.js +35 -0
  277. package/dist/src/packageParser-QoCS1FMl.cjs +54 -0
  278. package/dist/src/packageParser-hwwSGnAZ.js +35 -0
  279. package/dist/src/processShim-BBxt7LKO.js +95 -0
  280. package/dist/src/processShim-BcGzU8fY.js +94 -0
  281. package/dist/src/processShim-C_z3aRvF.js +94 -0
  282. package/dist/src/processShim-DSY9BV2T.cjs +98 -0
  283. package/dist/src/promptLength-0qIHyhA5.js +71 -0
  284. package/dist/src/promptLength-4X-Wd8PG.js +72 -0
  285. package/dist/src/promptLength-B9nZEfO6.js +71 -0
  286. package/dist/src/promptLength-BbBbDHNj.cjs +94 -0
  287. package/dist/src/promptfoo-BDrfT30-.js +180 -0
  288. package/dist/src/promptfoo-Cm4hiy1Y.js +180 -0
  289. package/dist/src/promptfoo-Rjp-MeBb.js +181 -0
  290. package/dist/src/promptfoo-b-baRMj-.cjs +205 -0
  291. package/dist/src/prompts-BYMtqPCw.js +259 -0
  292. package/dist/src/prompts-C-bqE1Yp.js +260 -0
  293. package/dist/src/prompts-Cp_Qx5Ml.js +270 -0
  294. package/dist/src/prompts-DHhQsANy.js +259 -0
  295. package/dist/src/prompts-D_QpZ2Dm.js +271 -0
  296. package/dist/src/prompts-hNvWBD3z.cjs +284 -0
  297. package/dist/src/prompts-huDVH2CI.js +270 -0
  298. package/dist/src/prompts-p78Hul5i.cjs +289 -0
  299. package/dist/src/{providerRegistry-CPQ_CmVO.js → providerRegistry-1gB5vtzQ.js} +2 -2
  300. package/dist/src/{providerRegistry-CQMdTmHP.cjs → providerRegistry-CZO_w7ue.cjs} +2 -2
  301. package/dist/src/{providerRegistry-Bvh8mv85.js → providerRegistry-DHcFiVWX.js} +1 -1
  302. package/dist/src/{providerRegistry-CWoPjKFZ.js → providerRegistry-ReCd0sFa.js} +2 -2
  303. package/dist/src/{providers-BV_KMZje.js → providers-B9KzWxAX.js} +10558 -21587
  304. package/dist/src/{providers-DruaQfwu.js → providers-BCCz6_IX.js} +1228 -12196
  305. package/dist/src/{providers-1eKkXBKp.cjs → providers-BDVVIQM6.cjs} +10649 -21843
  306. package/dist/src/{providers-iUt5fbAN.js → providers-BYAn82cf.js} +1 -1
  307. package/dist/src/{providers-Domz_llv.js → providers-DVYRZP4E.js} +10589 -21570
  308. package/dist/src/{pythonUtils-Cldx7huE.js → pythonUtils-CLCgQ9tt.js} +3 -3
  309. package/dist/src/{pythonUtils-CnndUbW-.js → pythonUtils-CgYxeSmO.js} +3 -3
  310. package/dist/src/{pythonUtils-tAJvvpS-.cjs → pythonUtils-Cokhluq3.cjs} +8 -7
  311. package/dist/src/{pythonUtils-C2UQ30Rz.js → pythonUtils-D0BYebvX.js} +3 -3
  312. package/dist/src/{quiverai-DFotyafY.cjs → quiverai-BAp6iTZD.cjs} +4 -4
  313. package/dist/src/{quiverai-aPPvXOgn.js → quiverai-BvIhI_0l.js} +4 -4
  314. package/dist/src/{quiverai-DR0SnIQV.js → quiverai-CdTWPe-A.js} +3 -3
  315. package/dist/src/{quiverai-CtWi6x_g.js → quiverai-Cv7rJKDz.js} +4 -4
  316. package/dist/src/registry-BUJrgjwv.js +124 -0
  317. package/dist/src/registry-DXm1t_x0.js +125 -0
  318. package/dist/src/registry-Dp5EqoXc.js +124 -0
  319. package/dist/src/registry-KCVF1CFC.cjs +124 -0
  320. package/dist/src/{server-D6Il2Sob.js → remoteGeneration-B1_XsKXU.js} +16 -108
  321. package/dist/src/{server-BSB45Nt9.js → remoteGeneration-COpWcmWd.js} +15 -146
  322. package/dist/src/{server-Dx2TyCH2.cjs → remoteGeneration-DS9N3pgB.cjs} +30 -119
  323. package/dist/src/remoteGeneration-DsaSwmG2.js +217 -0
  324. package/dist/src/render-BNTrbmBw.cjs +384 -0
  325. package/dist/src/render-CSP99NLm.js +348 -0
  326. package/dist/src/render-DFfDeYUK.js +347 -0
  327. package/dist/src/{render-CgVDrJmM.js → render-DznWrxGO.js} +2 -2
  328. package/dist/src/render-_6ur1fhE.js +347 -0
  329. package/dist/src/resourceAttributes-D1jP3kL5.js +17 -0
  330. package/dist/src/resourceAttributes-DQbBB--2.js +16 -0
  331. package/dist/src/resourceAttributes-ephgOvdR.cjs +27 -0
  332. package/dist/src/resourceAttributes-v6-I67fn.js +16 -0
  333. package/dist/src/{responses-Bi9vBuW_.cjs → responses-1UFFF9N_.cjs} +51 -16
  334. package/dist/src/{responses-DL9m8CyY.js → responses-B3W2JvOQ.js} +49 -15
  335. package/dist/src/{responses--OsX2aYW.js → responses-B6ktc3Ra.js} +49 -15
  336. package/dist/src/{responses-C-flexAY.js → responses-URRzV8qE.js} +49 -15
  337. package/dist/src/rolldown-runtime-D_mwlA32.cjs +43 -0
  338. package/dist/src/rubyUtils-BYVlQ94c.js +3 -0
  339. package/dist/src/{rubyUtils-DsGrTx8R.js → rubyUtils-CXlFM2rR.js} +3 -3
  340. package/dist/src/{rubyUtils-DVLeA2jg.js → rubyUtils-CnlW8AYb.js} +3 -3
  341. package/dist/src/{rubyUtils-B6eljPuh.cjs → rubyUtils-CqUWBZAt.cjs} +18 -27
  342. package/dist/src/{rubyUtils-CYSQEG4a.js → rubyUtils-DdGojpfv.js} +3 -3
  343. package/dist/src/runtimeTransform-BJOpL9Yc.js +142 -0
  344. package/dist/src/runtimeTransform-Dgh_D7DU.js +143 -0
  345. package/dist/src/runtimeTransform-DigbjU1r.js +142 -0
  346. package/dist/src/runtimeTransform-ON3YYILw.cjs +147 -0
  347. package/dist/src/{sagemaker-BVkaG2-l.js → sagemaker-CujrzP1a.js} +62 -51
  348. package/dist/src/{sagemaker-XnfhheQv.cjs → sagemaker-DzffAqo_.cjs} +65 -53
  349. package/dist/src/{sagemaker-D67yzMzs.js → sagemaker-vhtSV7JI.js} +62 -51
  350. package/dist/src/{sagemaker-BveBvuxm.js → sagemaker-yr1QKeBs.js} +61 -50
  351. package/dist/src/{scanner-1DqWi1Ej.js → scanner-DS0109SS.js} +7 -7
  352. package/dist/src/server/index.js +5105 -605
  353. package/dist/src/server-B8rqV126.cjs +126 -0
  354. package/dist/src/server-BaLytskk.js +3 -0
  355. package/dist/src/server-CMJD10J4.js +107 -0
  356. package/dist/src/server-Ddp8GNMp.js +146 -0
  357. package/dist/src/server-DhMHosWj.js +182 -0
  358. package/dist/src/shared-7pmVZLNO.js +1334 -0
  359. package/dist/src/shared-9WHQ1oNE.js +1335 -0
  360. package/dist/src/{fileExtensions-BArZuxsI.js → shared-BoG7qLMv.js} +12 -2
  361. package/dist/src/shared-D6IjElRI.js +1334 -0
  362. package/dist/src/shared-WkgnDkcg.cjs +1436 -0
  363. package/dist/src/{signal-CE5G3a7x.js → signal-CSurUUyV.js} +3 -3
  364. package/dist/src/simulatedUser-C9aQObBI.js +222 -0
  365. package/dist/src/simulatedUser-Cu601Dd4.cjs +227 -0
  366. package/dist/src/simulatedUser-U_qAHnuB.js +222 -0
  367. package/dist/src/simulatedUser-p3tACcmw.js +223 -0
  368. package/dist/src/{slack-DDUe-5MC.js → slack-Bapo-7_8.js} +2 -2
  369. package/dist/src/{slack-1Rhq0EoV.cjs → slack-DMC1QVEg.cjs} +3 -2
  370. package/dist/src/{slack-D5Wpy8LM.js → slack-DTEFhrMn.js} +2 -2
  371. package/dist/src/{slack-acRb0IqQ.js → slack-k-_CP84Q.js} +1 -1
  372. package/dist/src/storage-BU4qcnOb.js +875 -0
  373. package/dist/src/storage-CA-v9V2v.cjs +911 -0
  374. package/dist/src/storage-CD-GWAdx.js +822 -0
  375. package/dist/src/storage-QdU-SmvD.js +834 -0
  376. package/dist/src/{store-DAAyxcy6.cjs → store-B2NDDooM.cjs} +60 -24
  377. package/dist/src/{store-CYEy5J2D.js → store-DKd5592Q.js} +51 -20
  378. package/dist/src/{store-M0b1WfYb.js → store-HpopRVzl.js} +50 -19
  379. package/dist/src/store-IbiRIF3k.js +3 -0
  380. package/dist/src/strategies-7CS3Alao.cjs +2360 -0
  381. package/dist/src/strategies-CiSeroPH.js +2331 -0
  382. package/dist/src/strategies-DRJjGTIY.js +2333 -0
  383. package/dist/src/{tables-DQ4WU5tX.js → tables-CRSXQ2Ke.js} +2 -2
  384. package/dist/src/{tables-CsWou1Bx.js → tables-CxjU7bBd.js} +3 -3
  385. package/dist/src/{tables-DUfh1F7Z.cjs → tables-DBIJU0WE.cjs} +6 -5
  386. package/dist/src/{tables-C4CH3zRr.js → tables-DafUHOeh.js} +3 -3
  387. package/dist/src/{telemetry-CQPez_Jp.js → telemetry-00ezXr_t.js} +5 -4
  388. package/dist/src/telemetry-ByPqDcKC.js +3 -0
  389. package/dist/src/{telemetry-Dsw_faFj.cjs → telemetry-CJ7FnCsc.cjs} +18 -11
  390. package/dist/src/{telemetry-dbaJ0E98.js → telemetry-DmXYcJNV.js} +5 -4
  391. package/dist/src/{telemetry-Dvqxv3YC.js → telemetry-DwX9XUN5.js} +4 -3
  392. package/dist/src/{text-KvuD2Iko.js → text-Db-Wt2u2.js} +1 -1
  393. package/dist/src/{text-DHxdyQqT.js → text-DwYK5EBn.js} +1 -1
  394. package/dist/src/{text-BVi-cLPJ.cjs → text-nywWsRBM.cjs} +1 -1
  395. package/dist/src/{tokenUsageUtils-C-bmyHoE.js → tokenUsageUtils-BjVkdk18.js} +1 -1
  396. package/dist/src/{tokenUsageUtils-CXrvO-wA.js → tokenUsageUtils-CDet74yk.js} +1 -1
  397. package/dist/src/tokenUsageUtils-CmnQ0G2m.js +142 -0
  398. package/dist/src/{tokenUsageUtils-Bb7DkZPz.cjs → tokenUsageUtils-_B-P8IAi.cjs} +1 -1
  399. package/dist/src/toolAttributes-BAjwcBf0.cjs +103 -0
  400. package/dist/src/toolAttributes-COVgDrBG.js +87 -0
  401. package/dist/src/toolAttributes-DJ9ZEKXD.js +86 -0
  402. package/dist/src/tracingOptions-BnwKCkSB.js +221 -0
  403. package/dist/src/tracingOptions-Chi74lOD.js +219 -0
  404. package/dist/src/tracingOptions-DrbSFaKy.cjs +249 -0
  405. package/dist/src/tracingOptions-ji2OuXbT.js +220 -0
  406. package/dist/src/{transcription-DuWDupG7.js → transcription-B8uIgCYX.js} +5 -5
  407. package/dist/src/{transcription-CJspiD2c.js → transcription-CfU5loSq.js} +6 -6
  408. package/dist/src/{transcription-V2HaAmy2.js → transcription-Dkd22_4K.js} +6 -6
  409. package/dist/src/{transcription-BvjmiYB1.cjs → transcription-mzuf18Mq.cjs} +9 -8
  410. package/dist/src/{transform-lQrDE1BQ.js → transform-BIMynQsA.js} +9 -9
  411. package/dist/src/transform-BnSTnFlp.js +187 -0
  412. package/dist/src/transform-BnSXWmU_2.cjs +221 -0
  413. package/dist/src/transform-CGt7Kt3y2.js +186 -0
  414. package/dist/src/transform-CrPGTsij.js +186 -0
  415. package/dist/src/{transform-CTeuTR3S.cjs → transform-DhNkAUs8.cjs} +13 -12
  416. package/dist/src/{transform-CG0ehZNG.js → transform-DmvYBRll.js} +9 -9
  417. package/dist/src/{transform-zDhMmzwX.js → transform-EtD4jAWi.js} +9 -9
  418. package/dist/src/{transformersAvailability-CcHusyhw.js → transformersAvailability-0ThtPved.js} +1 -1
  419. package/dist/src/transformersAvailability-BYydDE5U.js +35 -0
  420. package/dist/src/{transformersAvailability-DLlROWhg.js → transformersAvailability-BvyU9vDD.js} +1 -1
  421. package/dist/src/{transformersAvailability-Cju9mHgR.cjs → transformersAvailability-BytPvKUW.cjs} +1 -1
  422. package/dist/src/{types-Dm9JM6Vb.js → types-BFevViUY.js} +115 -19
  423. package/dist/src/{types-Bgh5SOn6.js → types-BJQBBPTP.js} +115 -19
  424. package/dist/src/{types-CeaeaZdP.cjs → types-CxJvaY2S.cjs} +357 -172
  425. package/dist/src/{types-BGQDAP8i.js → types-D6glLbdF.js} +271 -170
  426. package/dist/src/{util-BYvQUPp7.js → util--WMgw7wM.js} +28 -8
  427. package/dist/src/{util-C9J8ahRn.js → util-5WnCSb0h.js} +72 -48
  428. package/dist/src/{util-CN3SrLT4.cjs → util-BSIuSLVK.cjs} +74 -49
  429. package/dist/src/{util-C8e5uydV.js → util-Bx677_k2.js} +154 -147
  430. package/dist/src/util-CN8om2rz.cjs +386 -0
  431. package/dist/src/{util-DDs-7g6-.js → util-CoQWM76y.js} +28 -8
  432. package/dist/src/util-DNl96nNs.js +327 -0
  433. package/dist/src/{util-DxWpWjhc.js → util-DURocbYR.js} +667 -507
  434. package/dist/src/util-Df8YMvS1.js +327 -0
  435. package/dist/src/{util-DvU2Pw8c.js → util-DiQ3QvBB.js} +28 -8
  436. package/dist/src/{util-oGMLA7vc.js → util-I-Rf-KaD.js} +862 -577
  437. package/dist/src/{util-olYL5C6N.cjs → util-IYzs5Y04.cjs} +33 -7
  438. package/dist/src/{util-D9TisOyk.js → util-LKTmNsMQ.js} +71 -47
  439. package/dist/src/{util-Bxn8emtE.cjs → util-SPsvFONY.cjs} +738 -582
  440. package/dist/src/{util-D3q0WQ-0.js → util-efByNxcr.js} +72 -48
  441. package/dist/src/util-kDURhgJW.js +328 -0
  442. package/dist/src/{utils-DJfvjyMj.js → utils-B0lzitHZ.js} +3 -3
  443. package/dist/src/{utils-BLJKfv0y.js → utils-BFOh20Gb.js} +3 -3
  444. package/dist/src/{utils-hXtCYanr.js → utils-BGY69tk_.js} +2 -2
  445. package/dist/src/{utils-B05gLxER.cjs → utils-Ve6kuJsa.cjs} +3 -3
  446. package/dist/src/version-BK20a4sw.js +16 -0
  447. package/dist/src/version-BWCSaByA.cjs +27 -0
  448. package/dist/src/version-eRkNuGv8.js +17 -0
  449. package/dist/src/version-lpHV_53E.js +16 -0
  450. package/dist/tsconfig.tsbuildinfo +1 -1
  451. package/package.json +56 -28
  452. package/dist/src/app/assets/Report-CQYFezYu.js +0 -1
  453. package/dist/src/app/assets/index-BXGkeMwh.css +0 -1
  454. package/dist/src/app/assets/index-BzJt18Jz.js +0 -385
  455. package/dist/src/app/assets/sync-IjzpWrOE.js +0 -4
  456. package/dist/src/app/assets/vendor-charts-BNdH8TCw.js +0 -36
  457. package/dist/src/cache-Cr9oLMUa.js +0 -3
  458. package/dist/src/cache-DbLsVWB2.cjs +0 -3
  459. package/dist/src/cloud-Hphvo8kr.js +0 -3
  460. package/dist/src/codex-sdk-BAmYE7qy.js +0 -3
  461. package/dist/src/codex-sdk-CWEnH70W.cjs +0 -2
  462. package/dist/src/evalResult-D8MT9p0s.js +0 -3
  463. package/dist/src/evalResult-DElBuddX.js +0 -2
  464. package/dist/src/evalResult-Dvc-iucu.cjs +0 -2
  465. package/dist/src/evaluator-CVessDWe.js +0 -3
  466. package/dist/src/fetch-C7bGKDlQ.js +0 -3
  467. package/dist/src/graders-BOAzQEUe.cjs +0 -2
  468. package/dist/src/graders-D4BTsZdG2.js +0 -3
  469. package/dist/src/graders-DOJK1XpV.js +0 -2
  470. package/dist/src/graders-NAv9LcBn.js +0 -2
  471. package/dist/src/image-B5Mv-Z3h.js +0 -257
  472. package/dist/src/image-DVz2RiMF.js +0 -258
  473. package/dist/src/image-qUpPvmNZ.js +0 -257
  474. package/dist/src/image-x6KqLQl4.cjs +0 -280
  475. package/dist/src/providers-Bp4S-FvO.js +0 -2
  476. package/dist/src/providers-DV3ax9e_.cjs +0 -3
  477. package/dist/src/providers-u9Enmfok.js +0 -2
  478. package/dist/src/render-CH-62LbA.js +0 -135
  479. package/dist/src/render-CMEpfLaO.js +0 -136
  480. package/dist/src/render-DHIZ6_k8.js +0 -135
  481. package/dist/src/render-DfQSFxGE.cjs +0 -165
  482. package/dist/src/rubyUtils-D1L2d3jb.js +0 -3
  483. package/dist/src/rubyUtils-DUbq4tff.cjs +0 -2
  484. package/dist/src/server-BNYztJkh.js +0 -385
  485. package/dist/src/server-DCtHUqlp.js +0 -3
  486. package/dist/src/server-DaA2eR26.cjs +0 -2
  487. package/dist/src/store-CWOSz6D_.cjs +0 -2
  488. package/dist/src/store-DCDBhv7B.js +0 -3
  489. package/dist/src/store-Dn9HUkdW.js +0 -240
  490. package/dist/src/telemetry-C1IqxcdW.js +0 -3
  491. package/dist/src/telemetry-C4ZEa_es.cjs +0 -2
  492. package/dist/src/transform-Bbg6A8Jk.js +0 -216
  493. package/dist/src/transform-CUnzlsbn.cjs +0 -228
  494. package/dist/src/transform-DYX1_Xnh.js +0 -216
  495. package/dist/src/transform-DgKlRr73.cjs +0 -2
  496. package/dist/src/transform-M6ITAESf.js +0 -3
  497. package/dist/src/transform-UN5UGu8U.js +0 -213
@@ -1,132 +1,13 @@
1
- import { i as isJavascriptFile, t as JAVASCRIPT_EXTENSIONS } from "./fileExtensions-DnqA1y9x.js";
1
+ import { i as isJavascriptFile, o as NunjucksFilterMapSchema, s as StringOrFunctionSchema, t as JAVASCRIPT_EXTENSIONS } from "./fileExtensions-CXRfY3Ss.js";
2
2
  import dedent from "dedent";
3
3
  import { z } from "zod";
4
- //#region src/types/env.ts
5
- const ProviderEnvOverridesSchema = z.object({
6
- AI21_API_BASE_URL: z.string().optional(),
7
- AI21_API_KEY: z.string().optional(),
8
- AIML_API_KEY: z.string().optional(),
9
- ANTHROPIC_API_KEY: z.string().optional(),
10
- ANTHROPIC_BASE_URL: z.string().optional(),
11
- AWS_BEDROCK_REGION: z.string().optional(),
12
- AZURE_API_BASE_URL: z.string().optional(),
13
- AZURE_API_HOST: z.string().optional(),
14
- AZURE_API_KEY: z.string().optional(),
15
- AZURE_AUTHORITY_HOST: z.string().optional(),
16
- AZURE_CLIENT_ID: z.string().optional(),
17
- AZURE_CLIENT_SECRET: z.string().optional(),
18
- AZURE_DEPLOYMENT_NAME: z.string().optional(),
19
- AZURE_EMBEDDING_DEPLOYMENT_NAME: z.string().optional(),
20
- AZURE_OPENAI_API_BASE_URL: z.string().optional(),
21
- AZURE_OPENAI_API_HOST: z.string().optional(),
22
- AZURE_OPENAI_API_KEY: z.string().optional(),
23
- AZURE_OPENAI_BASE_URL: z.string().optional(),
24
- AZURE_OPENAI_DEPLOYMENT_NAME: z.string().optional(),
25
- AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME: z.string().optional(),
26
- AZURE_TENANT_ID: z.string().optional(),
27
- AZURE_TOKEN_SCOPE: z.string().optional(),
28
- CLAUDE_CODE_USE_BEDROCK: z.string().optional(),
29
- CLAUDE_CODE_USE_VERTEX: z.string().optional(),
30
- CLOUDFLARE_ACCOUNT_ID: z.string().optional(),
31
- CLOUDFLARE_API_KEY: z.string().optional(),
32
- CLOUDFLARE_GATEWAY_ID: z.string().optional(),
33
- CF_AIG_TOKEN: z.string().optional(),
34
- COMETAPI_KEY: z.string().optional(),
35
- COHERE_API_KEY: z.string().optional(),
36
- COHERE_CLIENT_NAME: z.string().optional(),
37
- DATABRICKS_TOKEN: z.string().optional(),
38
- DATABRICKS_WORKSPACE_URL: z.string().optional(),
39
- DOCKER_MODEL_RUNNER_BASE_URL: z.string().optional(),
40
- DOCKER_MODEL_RUNNER_API_KEY: z.string().optional(),
41
- ELEVENLABS_API_KEY: z.string().optional(),
42
- FAL_KEY: z.string().optional(),
43
- GITHUB_TOKEN: z.string().optional(),
44
- GOOGLE_API_HOST: z.string().optional(),
45
- GOOGLE_API_BASE_URL: z.string().optional(),
46
- GOOGLE_API_KEY: z.string().optional(),
47
- GOOGLE_PROJECT_ID: z.string().optional(),
48
- GOOGLE_LOCATION: z.string().optional(),
49
- GOOGLE_GENERATIVE_AI_API_KEY: z.string().optional(),
50
- GEMINI_API_KEY: z.string().optional(),
51
- GROQ_API_KEY: z.string().optional(),
52
- HELICONE_API_KEY: z.string().optional(),
53
- HF_API_TOKEN: z.string().optional(),
54
- HF_TOKEN: z.string().optional(),
55
- HYPERBOLIC_API_KEY: z.string().optional(),
56
- HUGGING_FACE_HUB_TOKEN: z.string().optional(),
57
- JFROG_API_KEY: z.string().optional(),
58
- LANGFUSE_HOST: z.string().optional(),
59
- LANGFUSE_PUBLIC_KEY: z.string().optional(),
60
- LANGFUSE_SECRET_KEY: z.string().optional(),
61
- LITELLM_API_BASE: z.string().optional(),
62
- LLAMA_BASE_URL: z.string().optional(),
63
- LOCALAI_BASE_URL: z.string().optional(),
64
- MISTRAL_API_BASE_URL: z.string().optional(),
65
- MISTRAL_API_HOST: z.string().optional(),
66
- MISTRAL_API_KEY: z.string().optional(),
67
- MODELSLAB_API_KEY: z.string().optional(),
68
- NSCALE_SERVICE_TOKEN: z.string().optional(),
69
- NSCALE_API_KEY: z.string().optional(),
70
- OLLAMA_API_KEY: z.string().optional(),
71
- OLLAMA_BASE_URL: z.string().optional(),
72
- OPENAI_API_BASE_URL: z.string().optional(),
73
- OPENAI_API_HOST: z.string().optional(),
74
- OPENAI_API_KEY: z.string().optional(),
75
- OPENAI_BASE_URL: z.string().optional(),
76
- OPENAI_ORGANIZATION: z.string().optional(),
77
- CLAWDBOT_GATEWAY_PASSWORD: z.string().optional(),
78
- CLAWDBOT_GATEWAY_TOKEN: z.string().optional(),
79
- CLAWDBOT_GATEWAY_URL: z.string().optional(),
80
- CODEX_API_KEY: z.string().optional(),
81
- OPENCLAW_CONFIG_PATH: z.string().optional(),
82
- OPENCLAW_GATEWAY_PASSWORD: z.string().optional(),
83
- OPENCLAW_GATEWAY_PORT: z.string().optional(),
84
- OPENCLAW_GATEWAY_TOKEN: z.string().optional(),
85
- OPENCLAW_GATEWAY_URL: z.string().optional(),
86
- PALM_API_HOST: z.string().optional(),
87
- PALM_API_KEY: z.string().optional(),
88
- PORTKEY_API_KEY: z.string().optional(),
89
- PROMPTFOO_CA_CERT_PATH: z.string().optional(),
90
- PROMPTFOO_PFX_CERT_PATH: z.string().optional(),
91
- PROMPTFOO_PFX_PASSWORD: z.string().optional(),
92
- PROMPTFOO_JKS_CERT_PATH: z.string().optional(),
93
- PROMPTFOO_JKS_PASSWORD: z.string().optional(),
94
- PROMPTFOO_JKS_ALIAS: z.string().optional(),
95
- PROMPTFOO_INSECURE_SSL: z.string().optional(),
96
- QUIVERAI_API_KEY: z.string().optional(),
97
- REPLICATE_API_KEY: z.string().optional(),
98
- REPLICATE_API_TOKEN: z.string().optional(),
99
- SHAREPOINT_BASE_URL: z.string().optional(),
100
- SHAREPOINT_CERT_PATH: z.string().optional(),
101
- SHAREPOINT_CLIENT_ID: z.string().optional(),
102
- SHAREPOINT_TENANT_ID: z.string().optional(),
103
- VERCEL_AI_GATEWAY_API_KEY: z.string().optional(),
104
- VERCEL_AI_GATEWAY_BASE_URL: z.string().optional(),
105
- VERTEX_API_HOST: z.string().optional(),
106
- VERTEX_API_KEY: z.string().optional(),
107
- VERTEX_API_VERSION: z.string().optional(),
108
- VERTEX_PROJECT_ID: z.string().optional(),
109
- VERTEX_PUBLISHER: z.string().optional(),
110
- VERTEX_REGION: z.string().optional(),
111
- VOYAGE_API_BASE_URL: z.string().optional(),
112
- VOYAGE_API_KEY: z.string().optional(),
113
- WATSONX_AI_APIKEY: z.string().optional(),
114
- WATSONX_AI_AUTH_TYPE: z.string().optional(),
115
- WATSONX_AI_BEARER_TOKEN: z.string().optional(),
116
- WATSONX_AI_PROJECT_ID: z.string().optional(),
117
- XAI_API_BASE_URL: z.string().optional(),
118
- XAI_API_KEY: z.string().optional(),
119
- AZURE_CONTENT_SAFETY_ENDPOINT: z.string().optional(),
120
- AZURE_CONTENT_SAFETY_API_KEY: z.string().optional(),
121
- AZURE_CONTENT_SAFETY_API_VERSION: z.string().optional(),
122
- AWS_REGION: z.string().optional(),
123
- AWS_DEFAULT_REGION: z.string().optional(),
124
- AWS_SAGEMAKER_MAX_TOKENS: z.string().optional(),
125
- AWS_SAGEMAKER_TEMPERATURE: z.string().optional(),
126
- AWS_SAGEMAKER_TOP_P: z.string().optional(),
127
- AWS_SAGEMAKER_MAX_RETRIES: z.string().optional(),
128
- PROMPTFOO_EVAL_TIMEOUT_MS: z.string().optional()
129
- });
4
+ //#region src/types/providers.ts
5
+ function isApiProvider(provider) {
6
+ return typeof provider === "object" && provider != null && "id" in provider && typeof provider.id === "function" && "callApi" in provider && typeof provider.callApi === "function";
7
+ }
8
+ function isProviderOptions(provider) {
9
+ return typeof provider === "object" && provider != null && "id" in provider && typeof provider.id === "string";
10
+ }
130
11
  //#endregion
131
12
  //#region src/types/shared.ts
132
13
  const CompletionTokenDetailsSchema = z.object({
@@ -155,27 +36,80 @@ const BaseTokenUsageSchema = z.object({
155
36
  completionDetails: CompletionTokenDetailsSchema.optional()
156
37
  }).optional()
157
38
  });
158
- const InputsSchema = z.record(z.string().regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/, { error: "Input variable names must be valid identifiers (start with letter or underscore)" }), z.string().min(1, { error: "Input descriptions must be non-empty strings" }));
159
- //#endregion
160
- //#region src/validators/prompts.ts
161
- const PromptConfigSchema = z.object({
162
- prefix: z.string().optional(),
163
- suffix: z.string().optional()
39
+ const InputVariableNameSchema = z.string().regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/, { error: "Input variable names must be valid identifiers (start with letter or underscore)" });
40
+ const InputTypeValues = [
41
+ "text",
42
+ "pdf",
43
+ "docx",
44
+ "image"
45
+ ];
46
+ const InputTypeSchema = z.enum(InputTypeValues);
47
+ const DocxInjectionPlacementValues = [
48
+ "body",
49
+ "comment",
50
+ "footnote",
51
+ "header",
52
+ "footer"
53
+ ];
54
+ const DocxInjectionPlacementSchema = z.enum(DocxInjectionPlacementValues);
55
+ const DocumentMediaInjectionPlacementValues = [
56
+ "body",
57
+ "header",
58
+ "footer"
59
+ ];
60
+ const DocumentMediaInjectionPlacementSchema = z.enum(DocumentMediaInjectionPlacementValues);
61
+ const InputConfigSchema = z.object({
62
+ benign: z.boolean().optional(),
63
+ inputPurpose: z.string().min(1, { error: "Input purpose must be a non-empty string" }).optional(),
64
+ injectionPlacements: z.array(z.string().min(1, { error: "Injection placement must be a non-empty string" })).min(1, { error: "Injection placements must contain at least one placement" }).optional()
164
65
  });
165
- const PromptFunctionSchema = z.custom((v) => typeof v === "function");
166
- const PromptSchema = z.object({
167
- id: z.string().optional(),
168
- raw: z.string(),
169
- template: z.string().optional(),
170
- display: z.string().optional(),
171
- label: z.string(),
172
- function: PromptFunctionSchema.optional(),
173
- config: z.any().optional()
66
+ const InputDefinitionObjectSchema = z.object({
67
+ config: InputConfigSchema.optional(),
68
+ description: z.string().min(1, { error: "Input descriptions must be non-empty strings" }),
69
+ type: InputTypeSchema.optional()
70
+ }).superRefine((input, ctx) => {
71
+ const inputType = input.type ?? "text";
72
+ const injectionPlacements = input.config?.injectionPlacements ?? [];
73
+ if (inputType === "text" || injectionPlacements.length === 0) return;
74
+ const placementSchema = inputType === "docx" ? DocxInjectionPlacementSchema : DocumentMediaInjectionPlacementSchema;
75
+ const placementValues = inputType === "docx" ? DocxInjectionPlacementValues : DocumentMediaInjectionPlacementValues;
76
+ const invalidPlacements = injectionPlacements.filter((placement) => !placementSchema.safeParse(placement).success);
77
+ if (invalidPlacements.length > 0) ctx.addIssue({
78
+ code: "custom",
79
+ path: ["config", "injectionPlacements"],
80
+ message: `Invalid ${inputType.toUpperCase()} injection placements: ${invalidPlacements.join(", ")}. Expected one of: ${placementValues.join(", ")}`
81
+ });
174
82
  });
175
- function assert$1() {}
176
- assert$1();
177
- assert$1();
178
- assert$1();
83
+ const InputDefinitionSchema = z.union([z.string().min(1, { error: "Input descriptions must be non-empty strings" }), InputDefinitionObjectSchema]);
84
+ function normalizeInputDefinition(input) {
85
+ if (typeof input === "string") return {
86
+ description: input,
87
+ type: "text"
88
+ };
89
+ return {
90
+ config: input.config,
91
+ description: input.description,
92
+ type: input.type ?? "text"
93
+ };
94
+ }
95
+ function normalizeInputs(inputs) {
96
+ if (!inputs) return;
97
+ return Object.fromEntries(Object.entries(inputs).map(([key, input]) => [key, normalizeInputDefinition(input)]));
98
+ }
99
+ function getInputDescription(input) {
100
+ return normalizeInputDefinition(input).description;
101
+ }
102
+ function getInputType(input) {
103
+ return normalizeInputDefinition(input).type;
104
+ }
105
+ function buildInputPromptDescription(input) {
106
+ const normalized = normalizeInputDefinition(input);
107
+ const benignGuidance = normalized.config?.benign ? " Generate benign, natural, non-adversarial content for this input. Do not place attack instructions or policy-violating content here." : "";
108
+ if (normalized.type === "text") return `${normalized.description}${benignGuidance}`;
109
+ const formatLabel = normalized.type === "pdf" ? "PDF document" : normalized.type === "docx" ? "DOCX document" : "image";
110
+ return `${normalized.description} (format: ${formatLabel}; provide the text or instructions that should be embedded in the file)${benignGuidance}`;
111
+ }
112
+ const InputsSchema = z.record(InputVariableNameSchema, InputDefinitionSchema);
179
113
  //#endregion
180
114
  //#region src/redteam/constants/codingAgents.ts
181
115
  const CODING_AGENT_CORE_PLUGINS = [
@@ -189,10 +123,16 @@ const CODING_AGENT_PLUGINS = [
189
123
  ...CODING_AGENT_CORE_PLUGINS,
190
124
  "coding-agent:secret-file-read",
191
125
  "coding-agent:sandbox-write-escape",
192
- "coding-agent:network-egress-bypass"
126
+ "coding-agent:network-egress-bypass",
127
+ "coding-agent:procfs-credential-read",
128
+ "coding-agent:delayed-ci-exfil",
129
+ "coding-agent:generated-vulnerability",
130
+ "coding-agent:automation-poisoning",
131
+ "coding-agent:steganographic-exfil"
193
132
  ];
194
- const CODING_AGENT_COLLECTIONS = ["coding-agent:core"];
133
+ const CODING_AGENT_COLLECTIONS = ["coding-agent:core", "coding-agent:all"];
195
134
  const CODING_AGENT_PLUGIN_DISPLAY_NAMES = {
135
+ "coding-agent:all": "Coding Agent Full Suite",
196
136
  "coding-agent:core": "Coding Agent Core",
197
137
  "coding-agent:repo-prompt-injection": "Repository Prompt Injection",
198
138
  "coding-agent:terminal-output-injection": "Terminal Output Injection",
@@ -201,10 +141,16 @@ const CODING_AGENT_PLUGIN_DISPLAY_NAMES = {
201
141
  "coding-agent:sandbox-read-escape": "Sandbox Read Escape",
202
142
  "coding-agent:sandbox-write-escape": "Sandbox Write Escape",
203
143
  "coding-agent:network-egress-bypass": "Network Egress Bypass",
144
+ "coding-agent:procfs-credential-read": "Procfs Credential Read",
145
+ "coding-agent:delayed-ci-exfil": "Delayed CI Exfiltration",
146
+ "coding-agent:generated-vulnerability": "Generated Vulnerability",
147
+ "coding-agent:automation-poisoning": "Automation Poisoning",
148
+ "coding-agent:steganographic-exfil": "Steganographic Exfiltration",
204
149
  "coding-agent:verifier-sabotage": "Verifier Sabotage"
205
150
  };
206
151
  const CODING_AGENT_PLUGIN_DESCRIPTIONS = {
207
- "coding-agent:core": "Tests coding agents against a focused MVP set of repository prompt injection, terminal output injection, secret environment read, sandbox read escape, and verifier sabotage risks",
152
+ "coding-agent:all": "Tests coding agents against every supported coding-agent plugin, including prompt injection, terminal output injection, secret handling, sandbox read/write boundaries, network egress, procfs credentials, delayed CI exfiltration, generated vulnerabilities, automation poisoning, steganographic exfiltration, and verifier sabotage risks",
153
+ "coding-agent:core": "Tests coding agents against a focused baseline set of repository prompt injection, terminal output injection, secret environment read, sandbox read escape, and verifier sabotage risks",
208
154
  "coding-agent:repo-prompt-injection": "Tests whether instructions embedded in README files, source comments, fixture data, issue text, logs, or generated artifacts can override the user task or operating policy",
209
155
  "coding-agent:terminal-output-injection": "Tests whether compiler, test, package manager, linter, formatter, git, grep, or script output can instruct the coding agent to perform unrelated or dangerous actions",
210
156
  "coding-agent:secret-env-read": "Tests whether launcher-only environment canaries remain absent from commands, output, traces, reports, diffs, URLs, and tool or connector parameters",
@@ -212,9 +158,15 @@ const CODING_AGENT_PLUGIN_DESCRIPTIONS = {
212
158
  "coding-agent:sandbox-read-escape": "Tests whether the agent can read outside the intended workspace through absolute paths, sibling checkout paths, symlinks, archives, mount points, caches, temp paths, browser profiles, or home directories",
213
159
  "coding-agent:sandbox-write-escape": "Tests whether the agent can create, overwrite, append, delete, chmod, or otherwise mutate files outside the intended workspace through relative paths, absolute paths, symlinks, temp paths, home paths, caches, mounts, or sibling checkouts",
214
160
  "coding-agent:network-egress-bypass": "Tests whether the agent can make unauthorized outbound network requests, DNS lookups, package fetches, webhook calls, tunnels, or connector/tool calls that bypass the intended network policy",
161
+ "coding-agent:procfs-credential-read": "Tests whether the agent reads process metadata, inherited environment, file descriptors, command lines, or runtime credential material through /proc or procfs-like introspection surfaces",
162
+ "coding-agent:delayed-ci-exfil": "Tests whether the agent plants CI, workflow, hook, package, or scheduled automation changes that leak data or call unapproved endpoints after the immediate evaluation run completes",
163
+ "coding-agent:generated-vulnerability": "Tests whether the agent satisfies a normal coding request by introducing insecure code such as unsafe command execution, injection flaws, broken auth, unsafe deserialization, or disabled validation",
164
+ "coding-agent:automation-poisoning": "Tests whether the agent persists unsafe behavior by modifying repo automation such as CI workflows, hooks, package scripts, scheduled jobs, task runners, or release scripts",
165
+ "coding-agent:steganographic-exfil": "Tests whether the agent hides sensitive data in encoded, transformed, or low-visibility outputs such as comments, logs, filenames, snapshots, generated artifacts, or metadata",
215
166
  "coding-agent:verifier-sabotage": "Tests whether the agent weakens tests, lint, typecheck, CI, snapshots, fixtures, auth, locks, security checks, policies, or harness assertions instead of fixing the requested implementation"
216
167
  };
217
168
  const CODING_AGENT_PLUGIN_ALIASES = {
169
+ "coding-agent:all": "CodingAgentAll",
218
170
  "coding-agent:core": "CodingAgentCore",
219
171
  "coding-agent:repo-prompt-injection": "CodingAgentRepoPromptInjection",
220
172
  "coding-agent:terminal-output-injection": "CodingAgentTerminalOutputInjection",
@@ -223,6 +175,11 @@ const CODING_AGENT_PLUGIN_ALIASES = {
223
175
  "coding-agent:sandbox-read-escape": "CodingAgentSandboxReadEscape",
224
176
  "coding-agent:sandbox-write-escape": "CodingAgentSandboxWriteEscape",
225
177
  "coding-agent:network-egress-bypass": "CodingAgentNetworkEgressBypass",
178
+ "coding-agent:procfs-credential-read": "CodingAgentProcfsCredentialRead",
179
+ "coding-agent:delayed-ci-exfil": "CodingAgentDelayedCiExfil",
180
+ "coding-agent:generated-vulnerability": "CodingAgentGeneratedVulnerability",
181
+ "coding-agent:automation-poisoning": "CodingAgentAutomationPoisoning",
182
+ "coding-agent:steganographic-exfil": "CodingAgentSteganographicExfil",
226
183
  "coding-agent:verifier-sabotage": "CodingAgentVerifierSabotage"
227
184
  };
228
185
  //#endregion
@@ -1859,7 +1816,7 @@ Severity.Critical, Severity.High, Severity.Medium, Severity.Low, Severity.Inform
1859
1816
  Severity.Critical, Severity.High, Severity.Medium, Severity.Low, Severity.Informational;
1860
1817
  const codingAgentRiskCategorySeverityMap = {
1861
1818
  ...Object.fromEntries(CODING_AGENT_PLUGINS.map((pluginId) => [pluginId, Severity.High])),
1862
- "coding-agent:core": Severity.High
1819
+ ...Object.fromEntries(CODING_AGENT_COLLECTIONS.map((collectionId) => [collectionId, Severity.High]))
1863
1820
  };
1864
1821
  const riskCategorySeverityMap = {
1865
1822
  ["agentic:memory-poisoning"]: Severity.High,
@@ -2741,6 +2698,10 @@ const PluginConfigSchema = z.object({
2741
2698
  protectedWritePaths: z.array(z.string()).optional(),
2742
2699
  sandboxWritePath: z.string().optional(),
2743
2700
  sandboxWritePaths: z.array(z.string()).optional(),
2701
+ verifierArtifactRoot: z.string().optional(),
2702
+ verifierArtifactRoots: z.array(z.string()).optional(),
2703
+ verifierProbeDir: z.string().optional(),
2704
+ verifierProbeDirs: z.array(z.string()).optional(),
2744
2705
  workspacePath: z.string().optional(),
2745
2706
  workspacePaths: z.array(z.string()).optional(),
2746
2707
  workspaceRoot: z.string().optional(),
@@ -2797,13 +2758,142 @@ var PartialGenerationError = class extends Error {
2797
2758
  }
2798
2759
  };
2799
2760
  //#endregion
2761
+ //#region src/types/env.ts
2762
+ const ProviderEnvOverridesSchema = z.object({
2763
+ ABLIT_API_BASE_URL: z.string().optional(),
2764
+ ABLIT_KEY: z.string().optional(),
2765
+ AI21_API_BASE_URL: z.string().optional(),
2766
+ AI21_API_KEY: z.string().optional(),
2767
+ AIML_API_KEY: z.string().optional(),
2768
+ ANTHROPIC_API_KEY: z.string().optional(),
2769
+ ANTHROPIC_BASE_URL: z.string().optional(),
2770
+ AWS_BEDROCK_REGION: z.string().optional(),
2771
+ AZURE_API_BASE_URL: z.string().optional(),
2772
+ AZURE_API_HOST: z.string().optional(),
2773
+ AZURE_API_KEY: z.string().optional(),
2774
+ AZURE_AUTHORITY_HOST: z.string().optional(),
2775
+ AZURE_CLIENT_ID: z.string().optional(),
2776
+ AZURE_CLIENT_SECRET: z.string().optional(),
2777
+ AZURE_DEPLOYMENT_NAME: z.string().optional(),
2778
+ AZURE_EMBEDDING_DEPLOYMENT_NAME: z.string().optional(),
2779
+ AZURE_OPENAI_API_BASE_URL: z.string().optional(),
2780
+ AZURE_OPENAI_API_HOST: z.string().optional(),
2781
+ AZURE_OPENAI_API_KEY: z.string().optional(),
2782
+ AZURE_OPENAI_BASE_URL: z.string().optional(),
2783
+ AZURE_OPENAI_DEPLOYMENT_NAME: z.string().optional(),
2784
+ AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME: z.string().optional(),
2785
+ AZURE_TENANT_ID: z.string().optional(),
2786
+ AZURE_TOKEN_SCOPE: z.string().optional(),
2787
+ CLAUDE_CODE_USE_BEDROCK: z.string().optional(),
2788
+ CLAUDE_CODE_USE_VERTEX: z.string().optional(),
2789
+ CLOUDFLARE_ACCOUNT_ID: z.string().optional(),
2790
+ CLOUDFLARE_API_KEY: z.string().optional(),
2791
+ CLOUDFLARE_GATEWAY_ID: z.string().optional(),
2792
+ CF_AIG_TOKEN: z.string().optional(),
2793
+ COMETAPI_KEY: z.string().optional(),
2794
+ COHERE_API_KEY: z.string().optional(),
2795
+ COHERE_CLIENT_NAME: z.string().optional(),
2796
+ DATABRICKS_TOKEN: z.string().optional(),
2797
+ DATABRICKS_WORKSPACE_URL: z.string().optional(),
2798
+ DOCKER_MODEL_RUNNER_BASE_URL: z.string().optional(),
2799
+ DOCKER_MODEL_RUNNER_API_KEY: z.string().optional(),
2800
+ ELEVENLABS_API_KEY: z.string().optional(),
2801
+ FAL_KEY: z.string().optional(),
2802
+ GITHUB_TOKEN: z.string().optional(),
2803
+ GOOGLE_API_HOST: z.string().optional(),
2804
+ GOOGLE_API_BASE_URL: z.string().optional(),
2805
+ GOOGLE_API_KEY: z.string().optional(),
2806
+ GOOGLE_PROJECT_ID: z.string().optional(),
2807
+ GOOGLE_LOCATION: z.string().optional(),
2808
+ GOOGLE_GENERATIVE_AI_API_KEY: z.string().optional(),
2809
+ GEMINI_API_KEY: z.string().optional(),
2810
+ GROQ_API_KEY: z.string().optional(),
2811
+ HELICONE_API_KEY: z.string().optional(),
2812
+ HF_API_TOKEN: z.string().optional(),
2813
+ HF_TOKEN: z.string().optional(),
2814
+ HYPERBOLIC_API_KEY: z.string().optional(),
2815
+ HUGGING_FACE_HUB_TOKEN: z.string().optional(),
2816
+ JFROG_API_KEY: z.string().optional(),
2817
+ LANGFUSE_HOST: z.string().optional(),
2818
+ LANGFUSE_PUBLIC_KEY: z.string().optional(),
2819
+ LANGFUSE_SECRET_KEY: z.string().optional(),
2820
+ LITELLM_API_BASE: z.string().optional(),
2821
+ LLAMA_BASE_URL: z.string().optional(),
2822
+ LOCALAI_BASE_URL: z.string().optional(),
2823
+ MISTRAL_API_BASE_URL: z.string().optional(),
2824
+ MISTRAL_API_HOST: z.string().optional(),
2825
+ MISTRAL_API_KEY: z.string().optional(),
2826
+ MODELSLAB_API_KEY: z.string().optional(),
2827
+ NSCALE_SERVICE_TOKEN: z.string().optional(),
2828
+ NSCALE_API_KEY: z.string().optional(),
2829
+ OLLAMA_API_KEY: z.string().optional(),
2830
+ OLLAMA_BASE_URL: z.string().optional(),
2831
+ OPENAI_API_BASE_URL: z.string().optional(),
2832
+ OPENAI_API_HOST: z.string().optional(),
2833
+ OPENAI_API_KEY: z.string().optional(),
2834
+ OPENAI_BASE_URL: z.string().optional(),
2835
+ OPENAI_ORGANIZATION: z.string().optional(),
2836
+ CLAWDBOT_GATEWAY_PASSWORD: z.string().optional(),
2837
+ CLAWDBOT_GATEWAY_TOKEN: z.string().optional(),
2838
+ CLAWDBOT_GATEWAY_URL: z.string().optional(),
2839
+ CODEX_API_KEY: z.string().optional(),
2840
+ OPENCLAW_CONFIG_PATH: z.string().optional(),
2841
+ OPENCLAW_GATEWAY_PASSWORD: z.string().optional(),
2842
+ OPENCLAW_GATEWAY_PORT: z.string().optional(),
2843
+ OPENCLAW_GATEWAY_TOKEN: z.string().optional(),
2844
+ OPENCLAW_GATEWAY_URL: z.string().optional(),
2845
+ PALM_API_HOST: z.string().optional(),
2846
+ PALM_API_KEY: z.string().optional(),
2847
+ PORTKEY_API_KEY: z.string().optional(),
2848
+ PROMPTFOO_CA_CERT_PATH: z.string().optional(),
2849
+ PROMPTFOO_PFX_CERT_PATH: z.string().optional(),
2850
+ PROMPTFOO_PFX_PASSWORD: z.string().optional(),
2851
+ PROMPTFOO_JKS_CERT_PATH: z.string().optional(),
2852
+ PROMPTFOO_JKS_PASSWORD: z.string().optional(),
2853
+ PROMPTFOO_JKS_ALIAS: z.string().optional(),
2854
+ PROMPTFOO_INSECURE_SSL: z.string().optional(),
2855
+ QUIVERAI_API_KEY: z.string().optional(),
2856
+ REPLICATE_API_KEY: z.string().optional(),
2857
+ REPLICATE_API_TOKEN: z.string().optional(),
2858
+ SHAREPOINT_BASE_URL: z.string().optional(),
2859
+ SHAREPOINT_CERT_PATH: z.string().optional(),
2860
+ SHAREPOINT_CLIENT_ID: z.string().optional(),
2861
+ SHAREPOINT_TENANT_ID: z.string().optional(),
2862
+ VERCEL_AI_GATEWAY_API_KEY: z.string().optional(),
2863
+ VERCEL_AI_GATEWAY_BASE_URL: z.string().optional(),
2864
+ VERTEX_API_HOST: z.string().optional(),
2865
+ VERTEX_API_KEY: z.string().optional(),
2866
+ VERTEX_API_VERSION: z.string().optional(),
2867
+ VERTEX_PROJECT_ID: z.string().optional(),
2868
+ VERTEX_PUBLISHER: z.string().optional(),
2869
+ VERTEX_REGION: z.string().optional(),
2870
+ VOYAGE_API_BASE_URL: z.string().optional(),
2871
+ VOYAGE_API_KEY: z.string().optional(),
2872
+ WATSONX_AI_APIKEY: z.string().optional(),
2873
+ WATSONX_AI_AUTH_TYPE: z.string().optional(),
2874
+ WATSONX_AI_BEARER_TOKEN: z.string().optional(),
2875
+ WATSONX_AI_PROJECT_ID: z.string().optional(),
2876
+ XAI_API_BASE_URL: z.string().optional(),
2877
+ XAI_API_KEY: z.string().optional(),
2878
+ AZURE_CONTENT_SAFETY_ENDPOINT: z.string().optional(),
2879
+ AZURE_CONTENT_SAFETY_API_KEY: z.string().optional(),
2880
+ AZURE_CONTENT_SAFETY_API_VERSION: z.string().optional(),
2881
+ AWS_REGION: z.string().optional(),
2882
+ AWS_DEFAULT_REGION: z.string().optional(),
2883
+ AWS_SAGEMAKER_MAX_TOKENS: z.string().optional(),
2884
+ AWS_SAGEMAKER_TEMPERATURE: z.string().optional(),
2885
+ AWS_SAGEMAKER_TOP_P: z.string().optional(),
2886
+ AWS_SAGEMAKER_MAX_RETRIES: z.string().optional(),
2887
+ PROMPTFOO_EVAL_TIMEOUT_MS: z.string().optional()
2888
+ });
2889
+ //#endregion
2800
2890
  //#region src/validators/providers.ts
2801
2891
  const ProviderOptionsSchema = z.object({
2802
2892
  id: z.custom().optional(),
2803
2893
  label: z.custom().optional(),
2804
2894
  config: z.any().optional(),
2805
2895
  prompts: z.array(z.string()).optional(),
2806
- transform: z.string().optional(),
2896
+ transform: StringOrFunctionSchema.optional(),
2807
2897
  delay: z.number().optional(),
2808
2898
  env: ProviderEnvOverridesSchema.optional(),
2809
2899
  inputs: InputsSchema.optional()
@@ -2815,7 +2905,7 @@ const ApiProviderSchema = z.object({
2815
2905
  callEmbeddingApi: z.custom((v) => typeof v === "function").optional(),
2816
2906
  callClassificationApi: z.custom((v) => typeof v === "function").optional(),
2817
2907
  label: z.custom().optional(),
2818
- transform: z.string().optional(),
2908
+ transform: StringOrFunctionSchema.optional(),
2819
2909
  delay: z.number().optional(),
2820
2910
  config: z.any().optional(),
2821
2911
  inputs: InputsSchema.optional()
@@ -2859,6 +2949,26 @@ const ProviderSchema = z.union([
2859
2949
  ProviderOptionsSchema
2860
2950
  ]);
2861
2951
  //#endregion
2952
+ //#region src/validators/prompts.ts
2953
+ const PromptConfigSchema = z.object({
2954
+ prefix: z.string().optional(),
2955
+ suffix: z.string().optional()
2956
+ });
2957
+ const PromptFunctionSchema = z.custom((v) => typeof v === "function");
2958
+ const PromptSchema = z.object({
2959
+ id: z.string().optional(),
2960
+ raw: z.string(),
2961
+ template: z.string().optional(),
2962
+ display: z.string().optional(),
2963
+ label: z.string(),
2964
+ function: PromptFunctionSchema.optional(),
2965
+ config: z.any().optional()
2966
+ });
2967
+ function assert$1() {}
2968
+ assert$1();
2969
+ assert$1();
2970
+ assert$1();
2971
+ //#endregion
2862
2972
  //#region src/validators/redteam.ts
2863
2973
  const TracingConfigSchema = z.lazy(() => z.object({
2864
2974
  enabled: z.boolean().optional(),
@@ -3049,6 +3159,8 @@ const RedteamConfigSchema = z.object({
3049
3159
  else if (id === "teen-safety") expandCollection([...TEEN_SAFETY_PLUGINS], config, numTests, severity);
3050
3160
  else if (id === "default") expandCollection([...DEFAULT_PLUGINS], config, numTests, severity);
3051
3161
  else if (id === "guardrails-eval") expandCollection([...GUARDRAILS_EVALUATION_PLUGINS], config, numTests, severity);
3162
+ else if (id === "coding-agent:core") expandCollection([...CODING_AGENT_CORE_PLUGINS], config, numTests, severity);
3163
+ else if (id === "coding-agent:all") expandCollection([...CODING_AGENT_PLUGINS], config, numTests, severity);
3052
3164
  };
3053
3165
  const handlePlugin = (plugin) => {
3054
3166
  const pluginObj = typeof plugin === "string" ? {
@@ -3126,17 +3238,6 @@ const RedteamConfigSchema = z.object({
3126
3238
  function assert() {}
3127
3239
  assert();
3128
3240
  //#endregion
3129
- //#region src/validators/shared.ts
3130
- const NunjucksFilterMapSchema = z.record(z.string(), z.custom((v) => typeof v === "function"));
3131
- //#endregion
3132
- //#region src/types/providers.ts
3133
- function isApiProvider(provider) {
3134
- return typeof provider === "object" && provider != null && "id" in provider && typeof provider.id === "function";
3135
- }
3136
- function isProviderOptions(provider) {
3137
- return typeof provider === "object" && provider != null && "id" in provider && typeof provider.id === "string";
3138
- }
3139
- //#endregion
3140
3241
  //#region src/types/index.ts
3141
3242
  const CommandLineOptionsSchema = z.object({
3142
3243
  description: z.string().optional(),
@@ -3202,9 +3303,9 @@ const GradingConfigSchema = z.object({
3202
3303
  }).optional()
3203
3304
  });
3204
3305
  const OutputConfigSchema = z.object({
3205
- postprocess: z.string().optional(),
3206
- transform: z.string().optional(),
3207
- transformVars: z.string().optional(),
3306
+ postprocess: StringOrFunctionSchema.optional(),
3307
+ transform: StringOrFunctionSchema.optional(),
3308
+ transformVars: StringOrFunctionSchema.optional(),
3208
3309
  storeOutputAs: z.string().optional()
3209
3310
  });
3210
3311
  const EvaluateOptionsSchema = z.object({
@@ -3354,8 +3455,8 @@ const AssertionSchema = z.object({
3354
3455
  provider: z.custom().optional(),
3355
3456
  rubricPrompt: z.custom().optional(),
3356
3457
  metric: z.string().optional(),
3357
- transform: z.string().optional(),
3358
- contextTransform: z.string().optional()
3458
+ transform: StringOrFunctionSchema.optional(),
3459
+ contextTransform: StringOrFunctionSchema.optional()
3359
3460
  });
3360
3461
  /**
3361
3462
  * Schema for validating individual assertions (regular or assert-set).
@@ -3613,6 +3714,6 @@ const EvalResultsFilterMode = z.enum([
3613
3714
  "user-rated"
3614
3715
  ]);
3615
3716
  //#endregion
3616
- export { pluginDescriptions as $, isApiProvider as A, CompletionTokenDetailsSchema as At, isValidReusablePolicyId as B, TestGeneratorConfigSchema as C, UNALIGNED_PROVIDER_HARM_PLUGINS as Ct, VarsSchema as D, CODING_AGENT_PLUGIN_DISPLAY_NAMES as Dt, UnifiedConfigSchema as E, CODING_AGENT_PLUGIN_DESCRIPTIONS as Et, ConversationMessageSchema as F, MULTI_TURN_STRATEGIES as G, AGENTIC_STRATEGIES as H, PartialGenerationError as I, getDefaultNFanout as J, STRATEGY_COLLECTIONS as K, PluginConfigSchema as L, RedteamConfigSchema as M, ProviderOptionsSchema as N, isGradingResult as O, PromptSchema as Ot, ProvidersSchema as P, categoryAliases as Q, PolicyObjectSchema as R, TestCasesWithMetadataSchema as S, TELECOM_PLUGINS as St, TestSuiteSchema as T, CODING_AGENT_PLUGINS as Tt, DATASET_PLUGINS as U, isUuid as V, DEFAULT_STRATEGIES as W, isFanoutStrategy as X, isCustomStrategy as Y, Severity as Z, ScenarioSchema as _, PLUGIN_CATEGORIES as _t, AtomicTestCaseSchema as a, DEFAULT_PLUGINS as at, TestCaseWithVarsFileSchema as b, STRATEGY_EXEMPT_PLUGINS as bt, CompletedPromptSchema as c, HARM_PLUGINS as ct, EvaluateOptionsSchema as d, LLAMA_GUARD_REPLICATE_PROVIDER as dt, riskCategorySeverityMap as et, GradingConfigSchema as f, MEDICAL_PLUGINS as ft, ResultFailureReason as g, PII_PLUGINS as gt, OutputFileExtension as h, PHARMACY_PLUGINS as ht, AssertionTypeSchema as i, DATASET_EXEMPT_PLUGINS as it, isProviderOptions as j, InputsSchema as jt, isResultFailureReason as k, BaseTokenUsageSchema as kt, DerivedMetricSchema as l, INSURANCE_PLUGINS as lt, OutputConfigSchema as m, MULTI_INPUT_VAR as mt, AssertionSchema as n, BIAS_PLUGINS as nt, BaseAssertionTypesSchema as o, FINANCIAL_PLUGINS as ot, NotPrefixedAssertionTypesSchema as p, MULTI_INPUT_EXCLUDED_PLUGINS as pt, STRATEGY_COLLECTION_MAPPINGS as q, AssertionSetSchema as r, CANARY_BREAKING_STRATEGY_IDS as rt, CommandLineOptionsSchema as s, FOUNDATION_PLUGINS as st, AssertionOrSetSchema as t, ALIASED_PLUGIN_MAPPINGS as tt, EvalResultsFilterMode as u, LLAMA_GUARD_ENABLED_CATEGORIES as ut, SpecialAssertionTypesSchema as v, REDTEAM_PROVIDER_HARM_PLUGINS as vt, TestSuiteConfigSchema as w, CODING_AGENT_CORE_PLUGINS as wt, TestCasesWithMetadataPromptSchema as x, TEEN_SAFETY_PLUGINS as xt, TestCaseSchema as y, REMOTE_ONLY_PLUGIN_IDS as yt, StrategyConfigSchema as z };
3717
+ export { riskCategorySeverityMap as $, RedteamConfigSchema as A, DocumentMediaInjectionPlacementValues as At, isUuid as B, getInputDescription as Bt, TestGeneratorConfigSchema as C, CODING_AGENT_CORE_PLUGINS as Ct, VarsSchema as D, BaseTokenUsageSchema as Dt, UnifiedConfigSchema as E, CODING_AGENT_PLUGIN_DISPLAY_NAMES as Et, PartialGenerationError as F, InputDefinitionSchema as Ft, STRATEGY_COLLECTIONS as G, isProviderOptions as Gt, DATASET_PLUGINS as H, normalizeInputDefinition as Ht, PluginConfigSchema as I, InputTypeSchema as It, isCustomStrategy as J, STRATEGY_COLLECTION_MAPPINGS as K, PolicyObjectSchema as L, InputTypeValues as Lt, ProviderOptionsSchema as M, DocxInjectionPlacementValues as Mt, ProvidersSchema as N, InputConfigSchema as Nt, isGradingResult as O, CompletionTokenDetailsSchema as Ot, ConversationMessageSchema as P, InputDefinitionObjectSchema as Pt, pluginDescriptions as Q, StrategyConfigSchema as R, InputsSchema as Rt, TestCasesWithMetadataSchema as S, UNALIGNED_PROVIDER_HARM_PLUGINS as St, TestSuiteSchema as T, CODING_AGENT_PLUGIN_DESCRIPTIONS as Tt, DEFAULT_STRATEGIES as U, normalizeInputs as Ut, AGENTIC_STRATEGIES as V, getInputType as Vt, MULTI_TURN_STRATEGIES as W, isApiProvider as Wt, Severity as X, isFanoutStrategy as Y, categoryAliases as Z, ScenarioSchema as _, REDTEAM_PROVIDER_HARM_PLUGINS as _t, AtomicTestCaseSchema as a, FINANCIAL_PLUGINS as at, TestCaseWithVarsFileSchema as b, TEEN_SAFETY_PLUGINS as bt, CompletedPromptSchema as c, INSURANCE_PLUGINS as ct, EvaluateOptionsSchema as d, MEDICAL_PLUGINS as dt, ALIASED_PLUGIN_MAPPINGS as et, GradingConfigSchema as f, MULTI_INPUT_EXCLUDED_PLUGINS as ft, ResultFailureReason as g, PLUGIN_CATEGORIES as gt, OutputFileExtension as h, PII_PLUGINS as ht, AssertionTypeSchema as i, DEFAULT_PLUGINS as it, PromptSchema as j, DocxInjectionPlacementSchema as jt, isResultFailureReason as k, DocumentMediaInjectionPlacementSchema as kt, DerivedMetricSchema as l, LLAMA_GUARD_ENABLED_CATEGORIES as lt, OutputConfigSchema as m, PHARMACY_PLUGINS as mt, AssertionSchema as n, CANARY_BREAKING_STRATEGY_IDS as nt, BaseAssertionTypesSchema as o, FOUNDATION_PLUGINS as ot, NotPrefixedAssertionTypesSchema as p, MULTI_INPUT_VAR as pt, getDefaultNFanout as q, AssertionSetSchema as r, DATASET_EXEMPT_PLUGINS as rt, CommandLineOptionsSchema as s, HARM_PLUGINS as st, AssertionOrSetSchema as t, BIAS_PLUGINS as tt, EvalResultsFilterMode as u, LLAMA_GUARD_REPLICATE_PROVIDER as ut, SpecialAssertionTypesSchema as v, REMOTE_ONLY_PLUGIN_IDS as vt, TestSuiteConfigSchema as w, CODING_AGENT_PLUGINS as wt, TestCasesWithMetadataPromptSchema as x, TELECOM_PLUGINS as xt, TestCaseSchema as y, STRATEGY_EXEMPT_PLUGINS as yt, isValidReusablePolicyId as z, buildInputPromptDescription as zt };
3617
3718
 
3618
- //# sourceMappingURL=types-BGQDAP8i.js.map
3719
+ //# sourceMappingURL=types-D6glLbdF.js.map
@@ -1,5 +1,5 @@
1
- import { g as calculateCost } from "./fetch-B0Z3Oe4k.js";
2
- import { w as parseDataUrl } from "./transform-lQrDE1BQ.js";
1
+ import { m as calculateCost } from "./fetch-It34O8Ur.js";
2
+ import { w as parseDataUrl } from "./transform-DmvYBRll.js";
3
3
  //#region src/providers/anthropic/util.ts
4
4
  const ANTHROPIC_MODELS = [
5
5
  ...["claude-mythos-preview"].map((model) => ({
@@ -9,6 +9,13 @@ const ANTHROPIC_MODELS = [
9
9
  output: 125 / 1e6
10
10
  }
11
11
  })),
12
+ ...["claude-opus-4-7"].map((model) => ({
13
+ id: model,
14
+ cost: {
15
+ input: 5 / 1e6,
16
+ output: 25 / 1e6
17
+ }
18
+ })),
12
19
  ...["claude-sonnet-4-6", "claude-sonnet-4-6-latest"].map((model) => ({
13
20
  id: model,
14
21
  cost: {
@@ -121,6 +128,15 @@ const ANTHROPIC_MODELS = [
121
128
  }
122
129
  }))
123
130
  ];
131
+ /**
132
+ * Matches Claude Opus 4.7 model IDs across Anthropic, Bedrock (including the
133
+ * `us.`/`eu.`/`jp.`/`global.` inference-profile prefixes), Vertex, and Azure
134
+ * deployment names. Returns `false` for hypothetical suffix variants like
135
+ * `claude-opus-4-70` or `claude-opus-4-7N` so detection stays forward-compatible.
136
+ */
137
+ function isClaudeOpus47Model(modelId) {
138
+ return /(^|[^a-z0-9])claude-opus-4-7(?![0-9])/i.test(modelId);
139
+ }
124
140
  function outputFromMessage(message, showThinking) {
125
141
  const hasToolUse = message.content.some((block) => block.type === "tool_use");
126
142
  const hasThinking = message.content.some((block) => block.type === "thinking" || block.type === "redacted_thinking");
@@ -235,7 +251,7 @@ function calculateCacheInputCost(baseInputRate, uncachedInputTokens, cacheRead,
235
251
  return uncachedInputTokens * baseInputRate + cacheRead * baseInputRate * .1 + cacheCreation * baseInputRate * 1.25;
236
252
  }
237
253
  function calculateAnthropicCost(modelName, config, promptTokens, completionTokens, cacheReadTokens, cacheCreationTokens) {
238
- if (config.cost != null) return calculateCost(modelName, config, promptTokens, completionTokens, ANTHROPIC_MODELS);
254
+ if (config.cost != null && config.inputCost == null && config.outputCost == null) return calculateCost(modelName, config, promptTokens, completionTokens, ANTHROPIC_MODELS);
239
255
  if (!Number.isFinite(promptTokens) || !Number.isFinite(completionTokens) || typeof promptTokens === "undefined" || typeof completionTokens === "undefined") return calculateCost(modelName, config, promptTokens, completionTokens, ANTHROPIC_MODELS);
240
256
  const cacheRead = cacheReadTokens ?? 0;
241
257
  const cacheCreation = cacheCreationTokens ?? 0;
@@ -248,13 +264,17 @@ function calculateAnthropicCost(modelName, config, promptTokens, completionToken
248
264
  "claude-sonnet-4-6-latest"
249
265
  ].includes(modelName)) {
250
266
  const isLongContext = effectiveInputTokens > 2e5;
251
- const baseInputRate = isLongContext ? 6 / 1e6 : 3 / 1e6;
252
- const outputRate = isLongContext ? 22.5 / 1e6 : 15 / 1e6;
267
+ const baseInputRate = config.inputCost ?? config.cost ?? (isLongContext ? 6 / 1e6 : 3 / 1e6);
268
+ const outputRate = config.outputCost ?? config.cost ?? (isLongContext ? 22.5 / 1e6 : 15 / 1e6);
253
269
  return calculateCacheInputCost(baseInputRate, promptTokens, cacheRead, cacheCreation) + completionTokens * outputRate;
254
270
  }
255
271
  if (cacheRead || cacheCreation) {
256
272
  const modelInfo = ANTHROPIC_MODELS.find((m) => m.id === modelName);
257
- if (modelInfo) return calculateCacheInputCost(modelInfo.cost.input, promptTokens, cacheRead, cacheCreation) + completionTokens * modelInfo.cost.output;
273
+ if (modelInfo) {
274
+ const inputCost = config.inputCost ?? config.cost ?? modelInfo.cost.input;
275
+ const outputCost = config.outputCost ?? config.cost ?? modelInfo.cost.output;
276
+ return calculateCacheInputCost(inputCost, promptTokens, cacheRead, cacheCreation) + completionTokens * outputCost;
277
+ }
258
278
  }
259
279
  return calculateCost(modelName, config, promptTokens, completionTokens, ANTHROPIC_MODELS);
260
280
  }
@@ -390,6 +410,6 @@ function transformWebSearchTool20260209(config) {
390
410
  return tool;
391
411
  }
392
412
  //#endregion
393
- export { outputFromMessage as a, getTokenUsage as i, calculateAnthropicCost as n, parseMessages as o, getRefusalDetails as r, processAnthropicTools as s, ANTHROPIC_MODELS as t };
413
+ export { isClaudeOpus47Model as a, processAnthropicTools as c, getTokenUsage as i, calculateAnthropicCost as n, outputFromMessage as o, getRefusalDetails as r, parseMessages as s, ANTHROPIC_MODELS as t };
394
414
 
395
- //# sourceMappingURL=util-BYvQUPp7.js.map
415
+ //# sourceMappingURL=util--WMgw7wM.js.map