promptfoo 0.121.3 → 0.121.5

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 (394) hide show
  1. package/README.md +1 -1
  2. package/dist/src/{ListApp-Du7YVwj5.js → ListApp-BRUsT43Y.js} +1 -1
  3. package/dist/src/{accounts-BPyfpSeU.cjs → accounts-BIFntVWB.cjs} +5 -5
  4. package/dist/src/{accounts-CFLK3mnD.js → accounts-CLJHCDDb.js} +6 -6
  5. package/dist/src/{accounts-B2XmGjty.js → accounts-CaLNYnf7.js} +5 -5
  6. package/dist/src/{accounts-Xatc0RYb.js → accounts-bnyHT7Ju.js} +5 -5
  7. package/dist/src/{agentic-utils-36epdqwB.js → agentic-utils-B5krlibj.js} +3 -3
  8. package/dist/src/{agentic-utils-DIYAAYE7.js → agentic-utils-Ba67xmgs.js} +3 -3
  9. package/dist/src/{agentic-utils-D8yXo5Lm.js → agentic-utils-BclbiXiq.js} +4 -4
  10. package/dist/src/{agentic-utils-DAVsChuB.cjs → agentic-utils-D2x0wGhB.cjs} +3 -3
  11. package/dist/src/{agents-CLQ-P15P.js → agents-BGqaTDnr.js} +5 -7
  12. package/dist/src/{agents-wg3ohknq.js → agents-BV9yFpXX.js} +6 -7
  13. package/dist/src/{agents-CgBniSlI.js → agents-BYdMl1UE.js} +5 -9
  14. package/dist/src/{agents-Bqgfdokm.js → agents-DhxWMCtH.js} +35 -14
  15. package/dist/src/{agents-BBWxKSM0.cjs → agents-DiWmQYH9.cjs} +5 -7
  16. package/dist/src/{agents-CAYbM7qD.cjs → agents-WULPVjbH.cjs} +34 -12
  17. package/dist/src/{agents-DSSTV4bv.js → agents-emVcx3yh.js} +35 -13
  18. package/dist/src/{agents-BBVJCIYr.js → agents-n6vPqV3i.js} +35 -13
  19. package/dist/src/{aimlapi-BwGC1TtS.js → aimlapi-BxqK9HF_.js} +8 -14
  20. package/dist/src/{aimlapi-Bv8Fmc-b.cjs → aimlapi-BzLjZI_m.cjs} +8 -15
  21. package/dist/src/{aimlapi-MgSLdvy7.js → aimlapi-DR4pgeiC.js} +7 -14
  22. package/dist/src/{aimlapi-DaC3qZ-o.js → aimlapi-uPGp0Zdo.js} +7 -16
  23. package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -0
  24. package/dist/src/app/assets/Report-vjzrbgce.js +1 -0
  25. package/dist/src/app/assets/index-B3NQ8HTd.js +385 -0
  26. package/dist/src/app/assets/index-Cli2yAXv.css +1 -0
  27. package/dist/src/app/assets/rolldown-runtime-COnpUsM8.js +1 -0
  28. package/dist/src/app/assets/scroll-timeline-D9IT_e8Z.js +1 -0
  29. package/dist/src/app/assets/sync-IjzpWrOE.js +4 -0
  30. package/dist/src/app/assets/vendor-charts-BNdH8TCw.js +36 -0
  31. package/dist/src/app/assets/vendor-markdown-Ch00wnNI.js +29 -0
  32. package/dist/src/app/assets/vendor-react-CVvmk1UB.js +9 -0
  33. package/dist/src/app/assets/vendor-utils-BnEYbx2Q.js +37 -0
  34. package/dist/src/app/index.html +32 -7
  35. package/dist/src/{audio-Bn44pQxv.js → audio-BvpTOArF.js} +4 -4
  36. package/dist/src/{audio-DVFjQ67_.cjs → audio-C0vDeS0j.cjs} +4 -4
  37. package/dist/src/{audio-DjU9GswO.js → audio-CScmnmEB.js} +4 -5
  38. package/dist/src/{audio-DDA5WHdx.js → audio-Da8U9IS5.js} +4 -4
  39. package/dist/src/{base-CKjwebIH.js → base-BOMaNEes.js} +3 -3
  40. package/dist/src/{base-CqzQ4K8j.js → base-BTux96b1.js} +3 -3
  41. package/dist/src/{base-BboXIF_0.cjs → base-Tw6uhH8K.cjs} +3 -3
  42. package/dist/src/{base-Cz2ZC_iA.js → base-dYsl2hmL.js} +3 -3
  43. package/dist/src/{blobs-C6j0bvFz.cjs → blobs-B95F_7vE.cjs} +3 -3
  44. package/dist/src/{blobs-DXTl6J3H.js → blobs-BW4U31ue.js} +3 -3
  45. package/dist/src/{blobs-BUWmKWzo.js → blobs-D_gg8nbm.js} +4 -4
  46. package/dist/src/{blobs-B1JriOyi.js → blobs-DjLby-uP.js} +4 -4
  47. package/dist/src/cache-BI5BY7ey.js +280 -0
  48. package/dist/src/cache-BRkhlH3k.cjs +3 -0
  49. package/dist/src/cache-BlC6aeJ0.js +3 -0
  50. package/dist/src/cache-Bzttsk0X.js +310 -0
  51. package/dist/src/cache-Cr-qWIbP.js +310 -0
  52. package/dist/src/cache-DGg-yTZG.cjs +376 -0
  53. package/dist/src/{chat-BEwdgGEg.js → chat-BLOdH60v.js} +63 -37
  54. package/dist/src/{chat-B0iaWhoh.js → chat-Cx_LkwvZ.js} +63 -37
  55. package/dist/src/{chat-DK1U-eZ-.js → chat-D9nudO9b.js} +5 -14
  56. package/dist/src/{chat-pxmiVpWe.js → chat-DChSH_Es.js} +63 -37
  57. package/dist/src/{chat-B-52XYI1.js → chat-DG2LkwLq.js} +3 -13
  58. package/dist/src/{chat-BtIKkLKx.cjs → chat-DH97tVV9.cjs} +3 -13
  59. package/dist/src/{chat-BE0qTA8e.js → chat-aMQZw6R7.js} +4 -16
  60. package/dist/src/{chat-CM8qWR3_.cjs → chat-vYqqv1gP.cjs} +64 -38
  61. package/dist/src/{chatkit-_8eJqKcD.js → chatkit-B8X34dQc.js} +4 -4
  62. package/dist/src/{chatkit-BYGQlHlV.js → chatkit-BXu42Qwt.js} +4 -4
  63. package/dist/src/{chatkit-a2D6mY6s.js → chatkit-CbMRoeYw.js} +4 -4
  64. package/dist/src/{chatkit-Cx174XI3.cjs → chatkit-D44VyUyB.cjs} +4 -4
  65. package/dist/src/{claude-agent-sdk-8ddRp1L2.cjs → claude-agent-sdk-BRq0bbIK.cjs} +23 -18
  66. package/dist/src/{claude-agent-sdk-CMjh4LFH.js → claude-agent-sdk-BjriSVRZ.js} +20 -15
  67. package/dist/src/{claude-agent-sdk-HgbFioFw.js → claude-agent-sdk-BzNZeZ0N.js} +20 -15
  68. package/dist/src/{claude-agent-sdk-Bq5EArsX.js → claude-agent-sdk-DYv_AJ8u.js} +21 -17
  69. package/dist/src/cloud-CoD5OacT.js +3 -0
  70. package/dist/src/{cloud-z8KZpUoa.js → cloud-Da0bofJd.js} +25 -13
  71. package/dist/src/{cloudflare-ai-Bbp26N0L.js → cloudflare-ai-CXC4b1EU.js} +5 -14
  72. package/dist/src/{cloudflare-ai-BGyXlpXJ.js → cloudflare-ai-CyBoIs1Q.js} +7 -15
  73. package/dist/src/{cloudflare-ai-DdKP9TKT.js → cloudflare-ai-DGOwgexC.js} +6 -17
  74. package/dist/src/{cloudflare-ai-C62x6MQG.cjs → cloudflare-ai-DJv5qnyb.cjs} +6 -15
  75. package/dist/src/{cloudflare-gateway-DXhtXDRb.js → cloudflare-gateway-1sAoOyft.js} +6 -16
  76. package/dist/src/{cloudflare-gateway-D-e9i1Sn.js → cloudflare-gateway-D-dnkzCF.js} +5 -18
  77. package/dist/src/{cloudflare-gateway-Dx36ftqF.cjs → cloudflare-gateway-DKVjkDav.cjs} +4 -15
  78. package/dist/src/{cloudflare-gateway-BwAaUgeW.js → cloudflare-gateway-TJkVrZlB.js} +4 -15
  79. package/dist/src/codex-app-server-CCLjqCh9.js +1915 -0
  80. package/dist/src/codex-app-server-CCe0TiDc.js +1915 -0
  81. package/dist/src/codex-app-server-CPW1LFwh.js +1916 -0
  82. package/dist/src/codex-app-server-VMRnjZ68.cjs +1920 -0
  83. package/dist/src/codex-sdk-1jm_qPHf.js +3 -0
  84. package/dist/src/codex-sdk-Bd8UbO9q.cjs +1172 -0
  85. package/dist/src/codex-sdk-BgEFQ70r.js +1164 -0
  86. package/dist/src/codex-sdk-Bzb_TqX9.js +1165 -0
  87. package/dist/src/codex-sdk-Danroptg.cjs +2 -0
  88. package/dist/src/codex-sdk-DfvDTN33.js +1165 -0
  89. package/dist/src/{cometapi-BDyV-NNm.js → cometapi-B5ImDlSm.js} +9 -15
  90. package/dist/src/{cometapi-C3hOlM7-.cjs → cometapi-BgAkuYCw.cjs} +9 -16
  91. package/dist/src/{cometapi-hhL4TAh3.js → cometapi-CC7hWxmX.js} +8 -15
  92. package/dist/src/{cometapi-sp7sJpBD.js → cometapi-CCbpHkuF.js} +8 -17
  93. package/dist/src/{completion-DoYy49ti.js → completion-2iuYVxwi.js} +8 -57
  94. package/dist/src/{completion-BCimtq-h.js → completion-CrD6MQ93.js} +8 -57
  95. package/dist/src/{completion-DlXUhj5c.cjs → completion-DtQ72Bm3.cjs} +7 -62
  96. package/dist/src/{completion-DCjv7RZ3.js → completion-Vq_ad618.js} +8 -57
  97. package/dist/src/{createHash-CTQmL3G2.js → createHash-4gFQpDDv.js} +3 -3
  98. package/dist/src/{createHash-Da8fMwqB.js → createHash-DPpsZgFF.js} +3 -3
  99. package/dist/src/{createHash-DmPQkvBh.js → createHash-Un4Q_huE.js} +3 -3
  100. package/dist/src/{createHash-BYwImsYv.cjs → createHash-VvBIc-AW.cjs} +4 -4
  101. package/dist/src/{docker-CxCkwMzc.js → docker--3qzPa-6.js} +6 -14
  102. package/dist/src/{docker-Cqj2-QVi.cjs → docker-D3AY-5F5.cjs} +7 -15
  103. package/dist/src/{docker-FeBni2dw.js → docker-DCsCDvwM.js} +7 -14
  104. package/dist/src/{docker-DpguQj-w.js → docker-Dorv4_Dg.js} +6 -16
  105. package/dist/src/embedding-BXhN5lCH.cjs +63 -0
  106. package/dist/src/embedding-ChS1ivFS.js +58 -0
  107. package/dist/src/embedding-DNRvZwRN.js +59 -0
  108. package/dist/src/embedding-D_bI4NDq.js +58 -0
  109. package/dist/src/entrypoint.js +69 -6
  110. package/dist/src/{errors-P6ll7XSJ.js → errors-DFHe4L-n.js} +1 -1
  111. package/dist/src/{esm-SUNIX1x3.js → esm-B6whoAcf.js} +15 -6
  112. package/dist/src/{esm-CKWP3u_P.js → esm-BRkfNsYs.js} +16 -7
  113. package/dist/src/{esm-7UIl0pPM.js → esm-BX8fwlAO.js} +27 -18
  114. package/dist/src/{esm-CipptfDu.cjs → esm-B_rGuPTo.cjs} +15 -6
  115. package/dist/src/eval-BQPLBJbw.js +3 -0
  116. package/dist/src/{eval-BTqTn7lb.js → eval-DJ_4A-tr.js} +50 -21
  117. package/dist/src/evalResult-BBJAHAtw.cjs +2 -0
  118. package/dist/src/evalResult-BBK58h2B.js +3 -0
  119. package/dist/src/{evalResult-DpARzUCb.cjs → evalResult-Cx-8OWkb.cjs} +29 -11
  120. package/dist/src/{evalResult-DUDShQrm.js → evalResult-D6P5I5il.js} +29 -11
  121. package/dist/src/{evalResult-BkIhRdTe.js → evalResult-pSvGWFMo.js} +29 -11
  122. package/dist/src/evalResult-spPqh1G_.js +2 -0
  123. package/dist/src/{evaluator-BcvOGaam.js → evaluator-D-UIbbYq.js} +3975 -2152
  124. package/dist/src/evaluator-DgLKaZk8.js +3 -0
  125. package/dist/src/{extractor-D_wd8jxt.js → extractor-BM3jRERL.js} +6 -6
  126. package/dist/src/{extractor-DG3sSfXE.cjs → extractor-Dxr2J_wK.cjs} +6 -6
  127. package/dist/src/{extractor-CAZ2G3Kh.js → extractor-DxyiFhPk.js} +6 -6
  128. package/dist/src/{extractor-C8XwivI9.js → extractor-YlZbUMsL.js} +6 -6
  129. package/dist/src/fetch-8viavNv8.js +3 -0
  130. package/dist/src/{fetch-DoVRJZhJ.js → fetch-B6ch2nU2.js} +199 -60
  131. package/dist/src/{fetch-CVAtKnI3.js → fetch-D9xxyC1p.js} +404 -252
  132. package/dist/src/{fetch-BnR9wSnm.cjs → fetch-NuqXW1Xb.cjs} +415 -263
  133. package/dist/src/{fetch-BiYv2BZc.js → fetch-Y5qX_kST.js} +222 -70
  134. package/dist/src/{fileExtensions-LcDYkU4v.js → fileExtensions-8CjoL7vB.js} +1 -1
  135. package/dist/src/{fileExtensions-DnqA1y9x.js → fileExtensions-BGh-W-HT.js} +1 -1
  136. package/dist/src/{fileExtensions-bYh77CN8.cjs → fileExtensions-D9h-8Wxg.cjs} +1 -1
  137. package/dist/src/{fileExtensions-Ds-foDzt.js → fileExtensions-DysCsxNG.js} +1 -1
  138. package/dist/src/{formatDuration-DgBVMN65.js → formatDuration-Ch4A7G3o.js} +1 -1
  139. package/dist/src/{genaiTracer-BfxrvSUb.cjs → genaiTracer-BokHC-MW.cjs} +7 -3
  140. package/dist/src/{genaiTracer-C1rxGO8Q.js → genaiTracer-C3ZPQU60.js} +6 -2
  141. package/dist/src/{genaiTracer-70Z8BIuV.js → genaiTracer-CFny3gOy.js} +6 -2
  142. package/dist/src/{genaiTracer-D3fD9dNV.js → genaiTracer-DxODqT9e.js} +6 -2
  143. package/dist/src/golang/wrapper.go +1 -1
  144. package/dist/src/{graders-DG7mhg-b.js → graders-BoUqsCEm.js} +7402 -5699
  145. package/dist/src/{graders-BElhu9ZY.cjs → graders-Bw1wk_21.cjs} +5220 -3437
  146. package/dist/src/graders-C84JI-m5.js +2 -0
  147. package/dist/src/graders-CBbd0K0Q.cjs +2 -0
  148. package/dist/src/graders-CbQqpHSN.js +3 -0
  149. package/dist/src/{graders-RjHF8VfG.js → graders-CgPn32yp.js} +7400 -5697
  150. package/dist/src/{graders-BXAJ0sbS.js → graders-CwrbifOo.js} +6136 -4433
  151. package/dist/src/graders-DS42d3ZG.js +2 -0
  152. package/dist/src/{image-6WQXK8m8.js → image-BeWaInPF.js} +4 -4
  153. package/dist/src/{image-PoF6DN3x.js → image-BmilRNqO.js} +8 -8
  154. package/dist/src/{image--F58eEIn.cjs → image-CxJoa3aW.cjs} +8 -8
  155. package/dist/src/{image-fza3zuKs.cjs → image-D10dNAav.cjs} +4 -4
  156. package/dist/src/{image-DO0RYnjH.js → image-Dr_3I3nK.js} +4 -5
  157. package/dist/src/{image-B8b6f36E.js → image-DsGRlkh7.js} +8 -8
  158. package/dist/src/{image-CoxZp9PZ.js → image-a_SGUobh.js} +8 -8
  159. package/dist/src/{image-xNbw5ph2.js → image-qjO6FWPs.js} +4 -4
  160. package/dist/src/index.cjs +4835 -2582
  161. package/dist/src/index.d.cts +2782 -31
  162. package/dist/src/index.d.ts +2783 -32
  163. package/dist/src/index.js +4817 -2564
  164. package/dist/src/{interactiveCheck-BnMYOjMu.js → interactiveCheck-CCICw2cy.js} +2 -2
  165. package/dist/src/{invariant-BtWWVVhl.js → invariant-B2Rf6avk.js} +1 -1
  166. package/dist/src/{invariant-vgHWClmd.js → invariant-DIYf9sP1.js} +1 -1
  167. package/dist/src/{knowledgeBase-Bi7CmDbx.js → knowledgeBase-BBETc5-S.js} +6 -8
  168. package/dist/src/{knowledgeBase-DqrLX8fy.cjs → knowledgeBase-C8qOo26M.cjs} +6 -8
  169. package/dist/src/{knowledgeBase-DFRXPZl_.js → knowledgeBase-CzAi2rUI.js} +7 -8
  170. package/dist/src/{knowledgeBase-Ce3ofVan.js → knowledgeBase-Dr3Kib7F.js} +6 -10
  171. package/dist/src/{litellm-CKiAxnoM.js → litellm-BLSiANhk.js} +6 -14
  172. package/dist/src/{litellm-CnHI69aj.cjs → litellm-CaUmV7Mk.cjs} +6 -15
  173. package/dist/src/{litellm-Tc294Jhj.js → litellm-DQGo_juI.js} +5 -14
  174. package/dist/src/{litellm-Bo2gQXpo.js → litellm-DRc4qWfc.js} +5 -16
  175. package/dist/src/{logger-BcJBzSSA.js → logger-BbY6ypFL.js} +41 -12
  176. package/dist/src/{logger-D5iKBpu_.cjs → logger-COuQb2xB.cjs} +51 -10
  177. package/dist/src/{logger-DO8_zM18.js → logger-Ct2S6Yx-.js} +40 -11
  178. package/dist/src/{logger-BnkjG2jt.js → logger-KD8JjCRJ.js} +41 -12
  179. package/dist/src/{luma-ray-C9q8rdQe.js → luma-ray-B-tNZzqW.js} +6 -10
  180. package/dist/src/{luma-ray-DP0QA9qn.js → luma-ray-CtS3OlGq.js} +6 -10
  181. package/dist/src/{luma-ray-0ehMPt5N.js → luma-ray-PJJgUjOc.js} +6 -11
  182. package/dist/src/{luma-ray-m9Ku2meV.cjs → luma-ray-if-Ml4R9.cjs} +6 -10
  183. package/dist/src/main.d.ts +1 -26
  184. package/dist/src/main.js +1188 -679
  185. package/dist/src/messages-B9dSjrNf.js +544 -0
  186. package/dist/src/messages-BnsVHUnm.cjs +558 -0
  187. package/dist/src/messages-CI69Lasb.js +543 -0
  188. package/dist/src/messages-CewuNcNS.js +543 -0
  189. package/dist/src/{meteor-DLZZ3osF.cjs → meteor-BBGcGeCa.cjs} +1 -1
  190. package/dist/src/{meteor-DUiCJRC-.js → meteor-BKTM-7KS.js} +1 -1
  191. package/dist/src/{meteor-44VjEACX.js → meteor-CeGo0Lu2.js} +2 -2
  192. package/dist/src/{meteor-D-SotUw9.js → meteor-Wc_aUVvu.js} +2 -2
  193. package/dist/src/{modelslab-B5J-ZM5c.js → modelslab-BCLOtfek.js} +8 -10
  194. package/dist/src/{modelslab-IQbNg-r7.cjs → modelslab-BkapYJhh.cjs} +7 -10
  195. package/dist/src/{modelslab-BTOT8FUO.js → modelslab-D73OnKSx.js} +7 -10
  196. package/dist/src/{modelslab-BI458moT.js → modelslab-zpz9JcK0.js} +7 -12
  197. package/dist/src/{nova-reel-BZ9y-Y5s.js → nova-reel-B8F_TK5w.js} +7 -10
  198. package/dist/src/{nova-reel-Xw1SXLpg.js → nova-reel-Bx0NFV2f.js} +6 -10
  199. package/dist/src/{nova-reel-DEeQlnOJ.js → nova-reel-CNGJTLtG.js} +6 -12
  200. package/dist/src/{nova-reel-CE5etkv9.cjs → nova-reel-DkT7tnoB.cjs} +6 -10
  201. package/dist/src/{nova-sonic-Ogqf-csn.js → nova-sonic-BaXRN1cr.js} +5 -7
  202. package/dist/src/{nova-sonic-DXTLpi-r.js → nova-sonic-BeTRaFOh.js} +4 -7
  203. package/dist/src/{nova-sonic-DWswpN1E.js → nova-sonic-CL7Zqv0G.js} +4 -9
  204. package/dist/src/{nova-sonic-N0yCm0vb.cjs → nova-sonic-YT426juD.cjs} +4 -7
  205. package/dist/src/{openai-BcB5KlTk.js → openai-BMHD2Huo.js} +6 -3
  206. package/dist/src/{openai-BMcwgD5C.js → openai-BT-JvDse.js} +6 -3
  207. package/dist/src/{openai-CoxGAQwn.cjs → openai-Cy1XLs0c.cjs} +6 -3
  208. package/dist/src/{openai-D6wITiVn.js → openai-D4fxGvRx.js} +6 -3
  209. package/dist/src/openclaw-Bq7RVR3k.js +1200 -0
  210. package/dist/src/openclaw-DA8U4DsD.js +1201 -0
  211. package/dist/src/openclaw-DObVgpjC.js +1200 -0
  212. package/dist/src/openclaw-DUBZP3GL.cjs +1206 -0
  213. package/dist/src/{opencode-sdk-CHCs7dEb.js → opencode-sdk-BB40Wir1.js} +6 -8
  214. package/dist/src/{opencode-sdk-DDxj4QqH.js → opencode-sdk-BM1UAIv1.js} +6 -8
  215. package/dist/src/{opencode-sdk-WWJhnbKr.cjs → opencode-sdk-CeqiOcOU.cjs} +7 -9
  216. package/dist/src/{opencode-sdk-C71Z0ehR.js → opencode-sdk-ChdK7F7z.js} +6 -9
  217. package/dist/src/{otlpReceiver-CZL48YfC.js → otlpReceiver-C6thJRXi.js} +154 -98
  218. package/dist/src/{otlpReceiver-C9KlUtxh.js → otlpReceiver-CcdIikOu.js} +154 -98
  219. package/dist/src/{otlpReceiver-DHKqJlsz.cjs → otlpReceiver-DNSQj6bf.cjs} +154 -98
  220. package/dist/src/{otlpReceiver-CavGAA6k.js → otlpReceiver-UYMQx3sy.js} +154 -98
  221. package/dist/src/{providerRegistry-BkzVH5Ba.js → providerRegistry-1gB5vtzQ.js} +2 -2
  222. package/dist/src/{providerRegistry-BTDgfV5h.cjs → providerRegistry-BESeALrr.cjs} +2 -2
  223. package/dist/src/{providerRegistry-CUWki5mQ.js → providerRegistry-DoACwqhD.js} +2 -2
  224. package/dist/src/{providerRegistry-B9lh-_tx.js → providerRegistry-PMsleEzs.js} +2 -2
  225. package/dist/src/providers-BuyzKt7C.js +2 -0
  226. package/dist/src/providers-C7lNVBjX.cjs +3 -0
  227. package/dist/src/providers-CCE2COJi2.js +2 -0
  228. package/dist/src/{providers-Cn73d5sr.js → providers-CJh7iriU.js} +17180 -16823
  229. package/dist/src/providers-Ctcc592x.js +3 -0
  230. package/dist/src/{providers-DvddrgxL.js → providers-DRrerKra.js} +1052 -695
  231. package/dist/src/{providers-Ch6Mr0gn.js → providers-DT-GtF2t.js} +16716 -16359
  232. package/dist/src/{providers-CScd1wN6.cjs → providers-eDShy16E.cjs} +19893 -19506
  233. package/dist/src/python/persistent_wrapper.py +0 -5
  234. package/dist/src/{pythonUtils-Cpo0Ez1p.js → pythonUtils-C4tltmIn.js} +4 -4
  235. package/dist/src/{pythonUtils-dAVigVK-.cjs → pythonUtils-CoLaCwNY.cjs} +4 -4
  236. package/dist/src/{pythonUtils-Bzwbgpbg.js → pythonUtils-DMO68Jg7.js} +3 -3
  237. package/dist/src/{pythonUtils-wIqk7zAf.js → pythonUtils-DNqbnRdx.js} +3 -3
  238. package/dist/src/{quiverai-BeofbLVc.js → quiverai-BSS9a7wV.js} +4 -4
  239. package/dist/src/{quiverai-DVSEqJiq.js → quiverai-Bk1KrvL6.js} +4 -4
  240. package/dist/src/{quiverai-CcUhPIBg.cjs → quiverai-Bpx6MZ7T.cjs} +4 -4
  241. package/dist/src/{quiverai-CCQn73lq.js → quiverai-CPKhWgaT.js} +4 -5
  242. package/dist/src/render-7uNJ2V14.js +135 -0
  243. package/dist/src/render-DlscvAUJ.js +135 -0
  244. package/dist/src/render-eui5p5mL.js +136 -0
  245. package/dist/src/{render-BHl6QVq9.js → render-nj-UaPdn.js} +2 -3
  246. package/dist/src/render-tG6ir9_g.cjs +165 -0
  247. package/dist/src/{responses-CgNyTPsY.js → responses-1ztiVYsx.js} +56 -17
  248. package/dist/src/{responses-BKP_WYis.js → responses-B8haB-mD.js} +56 -17
  249. package/dist/src/{responses-CQb1Tj69.js → responses-BiaBguAu.js} +56 -17
  250. package/dist/src/{responses-mo0KQDbu.cjs → responses-CF-ayauu.cjs} +56 -17
  251. package/dist/src/rubyUtils-4hjGxvju.js +3 -0
  252. package/dist/src/{rubyUtils-DECSbsfY.js → rubyUtils-BI0p46eZ.js} +3 -3
  253. package/dist/src/{rubyUtils-CiVfln3g.js → rubyUtils-CIQFnVz4.js} +3 -3
  254. package/dist/src/rubyUtils-CO-tuszQ.cjs +2 -0
  255. package/dist/src/{rubyUtils-PgU-gHmx.js → rubyUtils-DGnoCYL2.js} +4 -4
  256. package/dist/src/{rubyUtils-CGeUtCfW.cjs → rubyUtils-DoifqkiA.cjs} +5 -4
  257. package/dist/src/{sagemaker-CqeASYE5.js → sagemaker-BDLeW29y.js} +14 -18
  258. package/dist/src/{sagemaker-MUbD5V3v.js → sagemaker-C5T60MKf.js} +14 -19
  259. package/dist/src/{sagemaker-CVv8W7so.js → sagemaker-ClS_NB07.js} +14 -18
  260. package/dist/src/{sagemaker-jiw1wQa-.cjs → sagemaker-ljtY12VM.cjs} +14 -18
  261. package/dist/src/{scanner-DVDeUz1r.js → scanner-nOCWNIXa.js} +130 -35
  262. package/dist/src/server/golang/wrapper.go +1 -1
  263. package/dist/src/server/index.js +4829 -2529
  264. package/dist/src/server/python/persistent_wrapper.py +0 -5
  265. package/dist/src/{server-BtoCXeXI.cjs → server-BEECpeGG.cjs} +140 -6
  266. package/dist/src/{server-DZ9MtCn0.js → server-ByiF3qlg.js} +129 -9
  267. package/dist/src/{server-Cns05F1j.js → server-ByxbqAcQ.js} +128 -8
  268. package/dist/src/server-C0XKRNB_.cjs +2 -0
  269. package/dist/src/server-C_15p79-.js +3 -0
  270. package/dist/src/{server-CP9qKM40.js → server-gyd6d4Hc.js} +126 -7
  271. package/dist/src/{signal-C3ZTsUgi.js → signal-DTtUuU3l.js} +3 -3
  272. package/dist/src/{slack-DCEV-vWP.js → slack-4zZX1OKP.js} +2 -2
  273. package/dist/src/{slack-94iG3T0s.cjs → slack-BLlsDpfG.cjs} +2 -2
  274. package/dist/src/{slack-BR0HtO3K.js → slack-BPYLQLgb.js} +2 -2
  275. package/dist/src/{slack-2sdpGzbt.js → slack-Bamy_7te.js} +2 -2
  276. package/dist/src/{store-CLyU7AtI.cjs → store-2K0kDi80.cjs} +3 -3
  277. package/dist/src/{store-VB0GP46K.js → store-2OXm_eBY.js} +3 -3
  278. package/dist/src/store-BELqNwvz.js +3 -0
  279. package/dist/src/{store-Cj258DgL.js → store-BPkzEyFM.js} +3 -3
  280. package/dist/src/{store-P8OKm19S.js → store-CPh25336.js} +3 -3
  281. package/dist/src/store-uQZ4AjPe.cjs +2 -0
  282. package/dist/src/{tables-BEIFz2tM.js → tables-BMSOS2Gg.js} +3 -3
  283. package/dist/src/{tables-BdZQEpRz.cjs → tables-CXbaZ9y1.cjs} +3 -3
  284. package/dist/src/{tables-DmzvLbeZ.js → tables-NlvH23ky.js} +3 -3
  285. package/dist/src/{tables-kC7R5kiK.js → tables-WgdUZ8Ck.js} +3 -3
  286. package/dist/src/{telemetry-DPXLd7UE.js → telemetry--iqaGyaS.js} +5 -4
  287. package/dist/src/{telemetry-re627Lre.cjs → telemetry-CEQxGnMZ.cjs} +8 -7
  288. package/dist/src/{telemetry-BugWqKiu.js → telemetry-CgdVGV8N.js} +5 -4
  289. package/dist/src/{telemetry-BnH5VJAU.js → telemetry-DWdGHvEf.js} +5 -4
  290. package/dist/src/telemetry-DjNoC_n3.cjs +2 -0
  291. package/dist/src/telemetry-ZdPZc0fm.js +3 -0
  292. package/dist/src/{text-CW1cyrwj.cjs → text-BiNME7QG.cjs} +1 -1
  293. package/dist/src/{text-Db-Wt2u2.js → text-D4lz-Jg_.js} +1 -1
  294. package/dist/src/{text-TIv0QYnd.js → text-DDQP0tuQ.js} +1 -1
  295. package/dist/src/{text-B_UCRPp2.js → text-NWvfMfkF.js} +1 -1
  296. package/dist/src/{tokenUsageUtils-DflFMjS0.js → tokenUsageUtils-2wIvAhB3.js} +7 -3
  297. package/dist/src/{tokenUsageUtils-BDGe-iyI.js → tokenUsageUtils-4c780gFd.js} +7 -3
  298. package/dist/src/{tokenUsageUtils-NYT-WKS6.js → tokenUsageUtils-BjVkdk18.js} +7 -3
  299. package/dist/src/{tokenUsageUtils-bVa1ga6f.cjs → tokenUsageUtils-C9odhsbW.cjs} +7 -3
  300. package/dist/src/{transcription-CaMivnjG.js → transcription-84t4ALo2.js} +7 -11
  301. package/dist/src/{transcription-Hb3VnC4M.js → transcription-Bm2emLmJ.js} +8 -11
  302. package/dist/src/{transcription-BvtsrzRG.cjs → transcription-CZ4LG5hQ.cjs} +9 -13
  303. package/dist/src/{transcription-DOMMTu01.js → transcription-D7Q0vJsh.js} +7 -13
  304. package/dist/src/{transform-DrleutM3.js → transform-B-b6Cq-q.js} +8 -6
  305. package/dist/src/transform-BQt0BeAW.js +3 -0
  306. package/dist/src/transform-Bq5oqC0s.cjs +2 -0
  307. package/dist/src/{transform-ZrG2dvlo.cjs → transform-C9izGX54.cjs} +5 -5
  308. package/dist/src/{transform-BzK09Q_9.js → transform-CwbAZ84V.js} +5 -5
  309. package/dist/src/{transform-0BwoBsvO.cjs → transform-Dg4LcO1Y.cjs} +18 -10
  310. package/dist/src/{transform-B2-jIv68.js → transform-DtooZqYY.js} +8 -6
  311. package/dist/src/{transform-ljLYHEPh.js → transform-DzCF-wqV.js} +5 -5
  312. package/dist/src/{transform-DyDAwEpE.js → transform-_DpNB4qp.js} +9 -7
  313. package/dist/src/{transform-BqPkNPYm.js → transform-eGiUAv86.js} +5 -5
  314. package/dist/src/{transformersAvailability-DKoRtQLy.cjs → transformersAvailability-B22swDxr.cjs} +1 -1
  315. package/dist/src/{transformersAvailability-BGkzavwb.js → transformersAvailability-lvCCvuPT.js} +1 -1
  316. package/dist/src/{transformersAvailability-D6c6ROpT.js → transformersAvailability-rJGPccjr.js} +1 -1
  317. package/dist/src/{types-Cd3ygw8W.js → types-BDjGOq4E.js} +354 -24
  318. package/dist/src/{types-CIhFeUC4.js → types-BVH9hjgW.js} +364 -23
  319. package/dist/src/{types-D8cGDZbL.cjs → types-CgG2rKiW.cjs} +534 -167
  320. package/dist/src/{types-q8GXGF65.js → types-DNRZVOue.js} +498 -167
  321. package/dist/src/{util-BLvy9qfE.js → util-3pBZZb_H.js} +151 -149
  322. package/dist/src/{util-CFj4YKIn.cjs → util-A5_ZsQUn.cjs} +66 -44
  323. package/dist/src/{util-BtoGs5Cb.js → util-B9CNhyac.js} +66 -44
  324. package/dist/src/{util-Bm3E9jpK.js → util-BQOCAHQC.js} +692 -690
  325. package/dist/src/{util-vNmDL5DT.js → util-BVXcTwXu.js} +138 -36
  326. package/dist/src/{util-CgDCK4KI.js → util-BlFVL0UF.js} +66 -44
  327. package/dist/src/{util-DM2rTn_6.js → util-C-kmRosx.js} +66 -44
  328. package/dist/src/{util-DbVG-yZU.js → util-DFPeFkiV.js} +138 -36
  329. package/dist/src/{util-DMFeUvLz.js → util-DN0-b81k.js} +138 -36
  330. package/dist/src/{util--9u9UVCt.cjs → util-Dpmm_dAI.cjs} +143 -35
  331. package/dist/src/{util-CMMkIxfU.js → util-Dub0f_ej.js} +693 -691
  332. package/dist/src/{util-CuLo2pMR.cjs → util-DvpHnLt0.cjs} +714 -719
  333. package/dist/src/{utils-DOjD4dTC.js → utils-BUMN8orw.js} +6 -4
  334. package/dist/src/{utils-DKw8mrgr.cjs → utils-DkVeShIB.cjs} +6 -4
  335. package/dist/src/{utils-DEuL4VNB.js → utils-kt7lv30R.js} +6 -4
  336. package/dist/src/{utils-CFxO9KGo.js → utils-o8S5huU2.js} +6 -4
  337. package/dist/src/version-0frU0UTr.js +16 -0
  338. package/dist/src/version-CbpiUINz.js +17 -0
  339. package/dist/src/version-CbuBKu2U.js +16 -0
  340. package/dist/src/version-D9zu9FWB.cjs +27 -0
  341. package/dist/tsconfig.tsbuildinfo +1 -1
  342. package/package.json +57 -46
  343. package/dist/src/app/assets/index-B6l9CVVb.js +0 -439
  344. package/dist/src/app/assets/index-DyZ0Ep37.css +0 -1
  345. package/dist/src/app/assets/scroll-timeline-BdJZVXlz.js +0 -1
  346. package/dist/src/app/assets/sync-CStkzc6u.js +0 -4
  347. package/dist/src/app/assets/vendor-charts-BnDWwBlI.js +0 -36
  348. package/dist/src/app/assets/vendor-markdown-Bz7N-ca6.js +0 -29
  349. package/dist/src/app/assets/vendor-react-AtKqiNEf.js +0 -4
  350. package/dist/src/app/assets/vendor-syntax-D06x6TQF.js +0 -2
  351. package/dist/src/app/assets/vendor-utils-BvMHZmO7.js +0 -37
  352. package/dist/src/cache-C5yFZ4gC.cjs +0 -816
  353. package/dist/src/cache-CaT5tPgo.js +0 -756
  354. package/dist/src/cache-CyCanoMu.js +0 -6
  355. package/dist/src/cache-DSqR6ezl.js +0 -726
  356. package/dist/src/cache-Df_QFDNu.cjs +0 -5
  357. package/dist/src/cache-HP0NP4k3.js +0 -756
  358. package/dist/src/cloud-DE3t1-ZI.js +0 -4
  359. package/dist/src/codex-sdk-BQEw16R_.js +0 -834
  360. package/dist/src/codex-sdk-C_07GuVS.js +0 -834
  361. package/dist/src/codex-sdk-DE5G18dx.js +0 -835
  362. package/dist/src/codex-sdk-ZLKfDjqP.cjs +0 -838
  363. package/dist/src/eval-7aEqoMs3.js +0 -15
  364. package/dist/src/evalResult-CYNHkk5A.js +0 -12
  365. package/dist/src/evalResult-CuvJeNiM.js +0 -10
  366. package/dist/src/evalResult-tGdilrWt.cjs +0 -10
  367. package/dist/src/evaluator-BBUqRhz1.js +0 -36
  368. package/dist/src/fetch-UWU706qb.js +0 -5
  369. package/dist/src/graders-BxfEguVY.js +0 -32
  370. package/dist/src/graders-CzVMbEnv.js +0 -34
  371. package/dist/src/graders-DjCXfj0l.cjs +0 -32
  372. package/dist/src/graders-kHzIWOKu.js +0 -32
  373. package/dist/src/messages-DJNo37Ko.js +0 -246
  374. package/dist/src/messages-Dy9QecMs.js +0 -245
  375. package/dist/src/messages-HJsyEh4o.cjs +0 -257
  376. package/dist/src/messages-biC_ex-p.js +0 -245
  377. package/dist/src/openclaw-0Sv7AK3O.js +0 -580
  378. package/dist/src/openclaw-CXxbKgDH.cjs +0 -586
  379. package/dist/src/openclaw-D1FSCps-.js +0 -580
  380. package/dist/src/openclaw-D2ENvu7a.js +0 -582
  381. package/dist/src/providers-BSLEaIQG.js +0 -32
  382. package/dist/src/providers-D-FnDg8k.cjs +0 -31
  383. package/dist/src/providers-DEYiFVAo.js +0 -30
  384. package/dist/src/providers-sS2WI8YD.js +0 -30
  385. package/dist/src/rubyUtils-B1HXG4ej.cjs +0 -4
  386. package/dist/src/rubyUtils-Rt6pKA96.js +0 -5
  387. package/dist/src/server-B0Xh1Gx-.js +0 -7
  388. package/dist/src/server-DJTKu9IR.cjs +0 -5
  389. package/dist/src/store-C5u6MgC8.js +0 -6
  390. package/dist/src/store-CNHk-De4.cjs +0 -5
  391. package/dist/src/telemetry-Yig0Tino.js +0 -7
  392. package/dist/src/telemetry-p8Pwqm1i.cjs +0 -5
  393. package/dist/src/transform-ChNIpHz7.js +0 -6
  394. package/dist/src/transform-PtQ6rAE3.cjs +0 -5
@@ -1,7 +1,14 @@
1
- import { m as calculateCost } from "./fetch-CVAtKnI3.js";
2
- import { C as parseDataUrl } from "./transform-DyDAwEpE.js";
1
+ import { d as calculateCost } from "./fetch-D9xxyC1p.js";
2
+ import { w as parseDataUrl } from "./transform-_DpNB4qp.js";
3
3
  //#region src/providers/anthropic/util.ts
4
4
  const ANTHROPIC_MODELS = [
5
+ ...["claude-mythos-preview"].map((model) => ({
6
+ id: model,
7
+ cost: {
8
+ input: 25 / 1e6,
9
+ output: 125 / 1e6
10
+ }
11
+ })),
5
12
  ...["claude-sonnet-4-6", "claude-sonnet-4-6-latest"].map((model) => ({
6
13
  id: model,
7
14
  cost: {
@@ -16,7 +23,11 @@ const ANTHROPIC_MODELS = [
16
23
  output: 25 / 1e6
17
24
  }
18
25
  })),
19
- ...["claude-opus-4-5-20251101", "claude-opus-4-5-latest"].map((model) => ({
26
+ ...[
27
+ "claude-opus-4-5",
28
+ "claude-opus-4-5-20251101",
29
+ "claude-opus-4-5-latest"
30
+ ].map((model) => ({
20
31
  id: model,
21
32
  cost: {
22
33
  input: 5 / 1e6,
@@ -24,6 +35,7 @@ const ANTHROPIC_MODELS = [
24
35
  }
25
36
  })),
26
37
  ...[
38
+ "claude-opus-4-1",
27
39
  "claude-opus-4-1-20250805",
28
40
  "claude-opus-4-20250514",
29
41
  "claude-opus-4-0",
@@ -36,6 +48,7 @@ const ANTHROPIC_MODELS = [
36
48
  }
37
49
  })),
38
50
  ...[
51
+ "claude-sonnet-4-5",
39
52
  "claude-sonnet-4-5-20250929",
40
53
  "claude-sonnet-4-5-latest",
41
54
  "claude-sonnet-4-20250514",
@@ -48,7 +61,11 @@ const ANTHROPIC_MODELS = [
48
61
  output: 15 / 1e6
49
62
  }
50
63
  })),
51
- ...["claude-haiku-4-5-20251001", "claude-haiku-4-5-latest"].map((model) => ({
64
+ ...[
65
+ "claude-haiku-4-5",
66
+ "claude-haiku-4-5-20251001",
67
+ "claude-haiku-4-5-latest"
68
+ ].map((model) => ({
52
69
  id: model,
53
70
  cost: {
54
71
  input: 1 / 1e6,
@@ -209,31 +226,72 @@ function parseMessages(messages) {
209
226
  thinking
210
227
  };
211
228
  }
212
- function calculateAnthropicCost(modelName, config, promptTokens, completionTokens) {
229
+ /**
230
+ * Compute input cost with Anthropic cache pricing applied.
231
+ * Anthropic docs: input_tokens is the non-cached portion; cache_read and cache_creation are additive.
232
+ * Cache reads cost 10% of base rate (90% discount), cache writes cost 125% of base rate (25% surcharge).
233
+ */
234
+ function calculateCacheInputCost(baseInputRate, uncachedInputTokens, cacheRead, cacheCreation) {
235
+ return uncachedInputTokens * baseInputRate + cacheRead * baseInputRate * .1 + cacheCreation * baseInputRate * 1.25;
236
+ }
237
+ function calculateAnthropicCost(modelName, config, promptTokens, completionTokens, cacheReadTokens, cacheCreationTokens) {
238
+ if (config.cost != null) return calculateCost(modelName, config, promptTokens, completionTokens, ANTHROPIC_MODELS);
239
+ if (!Number.isFinite(promptTokens) || !Number.isFinite(completionTokens) || typeof promptTokens === "undefined" || typeof completionTokens === "undefined") return calculateCost(modelName, config, promptTokens, completionTokens, ANTHROPIC_MODELS);
240
+ const cacheRead = cacheReadTokens ?? 0;
241
+ const cacheCreation = cacheCreationTokens ?? 0;
242
+ const effectiveInputTokens = promptTokens + cacheRead + cacheCreation;
213
243
  if ([
244
+ "claude-sonnet-4-5",
214
245
  "claude-sonnet-4-5-20250929",
215
246
  "claude-sonnet-4-5-latest",
216
247
  "claude-sonnet-4-6",
217
248
  "claude-sonnet-4-6-latest"
218
- ].includes(modelName) && Number.isFinite(promptTokens) && Number.isFinite(completionTokens) && typeof promptTokens !== "undefined" && typeof completionTokens !== "undefined") {
219
- const inputCost = config.cost ?? (promptTokens > 2e5 ? 6 / 1e6 : 3 / 1e6);
220
- const outputCost = config.cost ?? (promptTokens > 2e5 ? 22.5 / 1e6 : 15 / 1e6);
221
- return inputCost * promptTokens + outputCost * completionTokens;
249
+ ].includes(modelName)) {
250
+ const isLongContext = effectiveInputTokens > 2e5;
251
+ const baseInputRate = isLongContext ? 6 / 1e6 : 3 / 1e6;
252
+ const outputRate = isLongContext ? 22.5 / 1e6 : 15 / 1e6;
253
+ return calculateCacheInputCost(baseInputRate, promptTokens, cacheRead, cacheCreation) + completionTokens * outputRate;
254
+ }
255
+ if (cacheRead || cacheCreation) {
256
+ const modelInfo = ANTHROPIC_MODELS.find((m) => m.id === modelName);
257
+ if (modelInfo) return calculateCacheInputCost(modelInfo.cost.input, promptTokens, cacheRead, cacheCreation) + completionTokens * modelInfo.cost.output;
222
258
  }
223
259
  return calculateCost(modelName, config, promptTokens, completionTokens, ANTHROPIC_MODELS);
224
260
  }
261
+ /**
262
+ * Extract refusal details from the Anthropic stop_details field.
263
+ * Returns a human-readable string if the response was refused, or undefined otherwise.
264
+ */
265
+ function getRefusalDetails(data) {
266
+ if (data.stop_reason !== "refusal" || !data.stop_details) return;
267
+ const details = data.stop_details;
268
+ const parts = ["Content refused by Anthropic safety filters"];
269
+ if (details.category) parts.push(`category: ${details.category}`);
270
+ if (details.explanation) parts.push(`explanation: ${details.explanation}`);
271
+ return parts.join(" — ");
272
+ }
225
273
  function getTokenUsage(data, cached) {
226
274
  if (data.usage) {
227
- const total_tokens = data.usage.input_tokens + data.usage.output_tokens;
275
+ const cacheRead = data.usage.cache_read_input_tokens ?? 0;
276
+ const cacheCreation = data.usage.cache_creation_input_tokens ?? 0;
277
+ const allInputTokens = (data.usage.input_tokens ?? 0) + cacheRead + cacheCreation;
278
+ const total_tokens = allInputTokens + (data.usage.output_tokens ?? 0);
228
279
  if (cached) return {
229
280
  cached: total_tokens,
230
281
  total: total_tokens
231
282
  };
232
- else return {
233
- total: total_tokens,
234
- prompt: data.usage.input_tokens || 0,
235
- completion: data.usage.output_tokens || 0
236
- };
283
+ else {
284
+ const usage = {
285
+ total: total_tokens,
286
+ prompt: allInputTokens,
287
+ completion: data.usage.output_tokens ?? 0
288
+ };
289
+ if (data.usage.cache_read_input_tokens != null || data.usage.cache_creation_input_tokens != null) usage.completionDetails = {
290
+ cacheReadInputTokens: cacheRead,
291
+ cacheCreationInputTokens: cacheCreation
292
+ };
293
+ return usage;
294
+ }
237
295
  }
238
296
  return {};
239
297
  }
@@ -243,16 +301,20 @@ function getTokenUsage(data, cached) {
243
301
  function processAnthropicTools(tools = []) {
244
302
  const processedTools = [];
245
303
  const requiredBetaFeatures = [];
246
- for (const tool of tools) if ("type" in tool) if (tool.type === "web_fetch_20250910") {
247
- processedTools.push(transformWebFetchTool(tool));
248
- if (!requiredBetaFeatures.includes("web-fetch-2025-09-10")) requiredBetaFeatures.push("web-fetch-2025-09-10");
249
- } else if (tool.type === "web_search_20250305") processedTools.push(transformWebSearchTool(tool));
250
- else processedTools.push(tool);
251
- else {
252
- processedTools.push(tool);
253
- if ("strict" in tool && tool.strict === true) {
254
- if (!requiredBetaFeatures.includes("structured-outputs-2025-11-13")) requiredBetaFeatures.push("structured-outputs-2025-11-13");
255
- }
304
+ const addRequiredBetaFeature = (feature) => {
305
+ if (!requiredBetaFeatures.includes(feature)) requiredBetaFeatures.push(feature);
306
+ };
307
+ for (const tool of tools) {
308
+ if ("type" in tool) if (tool.type === "web_fetch_20250910") {
309
+ processedTools.push(transformWebFetchTool(tool));
310
+ addRequiredBetaFeature("web-fetch-2025-09-10");
311
+ } else if (tool.type === "web_fetch_20260209") processedTools.push(transformWebFetchTool20260209(tool));
312
+ else if (tool.type === "web_fetch_20260309") processedTools.push(transformWebFetchToolV2(tool));
313
+ else if (tool.type === "web_search_20250305") processedTools.push(transformWebSearchTool(tool));
314
+ else if (tool.type === "web_search_20260209") processedTools.push(transformWebSearchTool20260209(tool));
315
+ else processedTools.push(tool);
316
+ else processedTools.push(tool);
317
+ if ("strict" in tool && tool.strict === true) addRequiredBetaFeature("structured-outputs-2025-11-13");
256
318
  }
257
319
  return {
258
320
  processedTools,
@@ -260,21 +322,54 @@ function processAnthropicTools(tools = []) {
260
322
  };
261
323
  }
262
324
  /**
263
- * Transform web fetch tool config to Anthropic beta tool format
325
+ * Apply shared web fetch tool fields from config onto the SDK tool object.
264
326
  */
327
+ function applyWebFetchFields(tool, config) {
328
+ if (config.allowed_callers !== void 0) tool.allowed_callers = config.allowed_callers;
329
+ if (config.max_uses !== void 0) tool.max_uses = config.max_uses;
330
+ if (config.allowed_domains !== void 0) tool.allowed_domains = config.allowed_domains;
331
+ if (config.blocked_domains !== void 0) tool.blocked_domains = config.blocked_domains;
332
+ if (config.citations !== void 0) tool.citations = config.citations;
333
+ if (config.max_content_tokens !== void 0) tool.max_content_tokens = config.max_content_tokens;
334
+ if (config.cache_control !== void 0) tool.cache_control = config.cache_control;
335
+ if (config.defer_loading !== void 0) tool.defer_loading = config.defer_loading;
336
+ if (config.strict !== void 0) tool.strict = config.strict;
337
+ }
265
338
  function transformWebFetchTool(config) {
266
339
  const tool = {
267
340
  type: "web_fetch_20250910",
268
341
  name: "web_fetch"
269
342
  };
270
- if (config.max_uses !== void 0) tool.max_uses = config.max_uses;
271
- if (config.allowed_domains) tool.allowed_domains = config.allowed_domains;
272
- if (config.blocked_domains) tool.blocked_domains = config.blocked_domains;
273
- if (config.citations) tool.citations = config.citations;
274
- if (config.max_content_tokens !== void 0) tool.max_content_tokens = config.max_content_tokens;
275
- if (config.cache_control) tool.cache_control = config.cache_control;
343
+ applyWebFetchFields(tool, config);
344
+ return tool;
345
+ }
346
+ function transformWebFetchTool20260209(config) {
347
+ const tool = {
348
+ type: "web_fetch_20260209",
349
+ name: "web_fetch"
350
+ };
351
+ applyWebFetchFields(tool, config);
352
+ return tool;
353
+ }
354
+ function transformWebFetchToolV2(config) {
355
+ const tool = {
356
+ type: "web_fetch_20260309",
357
+ name: "web_fetch"
358
+ };
359
+ applyWebFetchFields(tool, config);
360
+ if (config.use_cache !== void 0) tool.use_cache = config.use_cache;
276
361
  return tool;
277
362
  }
363
+ function applyWebSearchFields(tool, config) {
364
+ if (config.allowed_callers !== void 0) tool.allowed_callers = config.allowed_callers;
365
+ if (config.allowed_domains !== void 0) tool.allowed_domains = config.allowed_domains;
366
+ if (config.blocked_domains !== void 0) tool.blocked_domains = config.blocked_domains;
367
+ if (config.cache_control !== void 0) tool.cache_control = config.cache_control;
368
+ if (config.defer_loading !== void 0) tool.defer_loading = config.defer_loading;
369
+ if (config.max_uses !== void 0) tool.max_uses = config.max_uses;
370
+ if (config.strict !== void 0) tool.strict = config.strict;
371
+ if (config.user_location !== void 0) tool.user_location = config.user_location;
372
+ }
278
373
  /**
279
374
  * Transform web search tool config to Anthropic beta tool format
280
375
  */
@@ -283,11 +378,18 @@ function transformWebSearchTool(config) {
283
378
  type: "web_search_20250305",
284
379
  name: "web_search"
285
380
  };
286
- if (config.max_uses !== void 0) tool.max_uses = config.max_uses;
287
- if (config.cache_control) tool.cache_control = config.cache_control;
381
+ applyWebSearchFields(tool, config);
382
+ return tool;
383
+ }
384
+ function transformWebSearchTool20260209(config) {
385
+ const tool = {
386
+ type: "web_search_20260209",
387
+ name: "web_search"
388
+ };
389
+ applyWebSearchFields(tool, config);
288
390
  return tool;
289
391
  }
290
392
  //#endregion
291
- export { parseMessages as a, outputFromMessage as i, calculateAnthropicCost as n, processAnthropicTools as o, getTokenUsage as r, ANTHROPIC_MODELS as t };
393
+ export { outputFromMessage as a, getTokenUsage as i, calculateAnthropicCost as n, parseMessages as o, getRefusalDetails as r, processAnthropicTools as s, ANTHROPIC_MODELS as t };
292
394
 
293
- //# sourceMappingURL=util-vNmDL5DT.js.map
395
+ //# sourceMappingURL=util-BVXcTwXu.js.map
@@ -1,18 +1,19 @@
1
- import { _ as safeJsonStringify, m as getAjv } from "./logger-DO8_zM18.js";
2
- import { l as maybeLoadFromExternalFileWithVars } from "./util-CMMkIxfU.js";
3
- import { m as calculateCost } from "./fetch-CVAtKnI3.js";
1
+ import { g as getAjv, y as safeJsonStringify } from "./logger-Ct2S6Yx-.js";
2
+ import { d as calculateCost } from "./fetch-D9xxyC1p.js";
3
+ import { E as maybeLoadFromExternalFileWithVars } from "./util-Dub0f_ej.js";
4
4
  import OpenAI from "openai";
5
5
  //#region src/providers/openai/util.ts
6
6
  const ajv = getAjv();
7
+ const GPT_5_4_LONG_CONTEXT_THRESHOLD = 272e3;
7
8
  const OPENAI_CHAT_MODELS = [
8
- {
9
- id: "gpt-4o-mini-tts",
9
+ ...["gpt-4o-mini-tts", "gpt-4o-mini-tts-2025-12-15"].map((model) => ({
10
+ id: model,
10
11
  cost: {
11
12
  input: .6 / 1e6,
12
13
  output: 0 / 1e6,
13
14
  audioOutput: 12 / 1e6
14
15
  }
15
- },
16
+ })),
16
17
  ...["gpt-4o-search-preview", "gpt-4o-search-preview-2025-03-11"].map((model) => ({
17
18
  id: model,
18
19
  cost: {
@@ -359,7 +360,12 @@ const OPENAI_CHAT_MODELS = [
359
360
  id: model,
360
361
  cost: {
361
362
  input: 2.5 / 1e6,
362
- output: 15 / 1e6
363
+ output: 15 / 1e6,
364
+ longContext: {
365
+ threshold: GPT_5_4_LONG_CONTEXT_THRESHOLD,
366
+ input: 5 / 1e6,
367
+ output: 22.5 / 1e6
368
+ }
363
369
  }
364
370
  })),
365
371
  ...["gpt-5.4-mini", "gpt-5.4-mini-2026-03-17"].map((model) => ({
@@ -376,13 +382,6 @@ const OPENAI_CHAT_MODELS = [
376
382
  output: 1.25 / 1e6
377
383
  }
378
384
  })),
379
- ...["gpt-5.4-pro", "gpt-5.4-pro-2026-03-05"].map((model) => ({
380
- id: model,
381
- cost: {
382
- input: 30 / 1e6,
383
- output: 180 / 1e6
384
- }
385
- })),
386
385
  ...["gpt-audio", "gpt-audio-2025-08-28"].map((model) => ({
387
386
  id: model,
388
387
  cost: {
@@ -392,7 +391,20 @@ const OPENAI_CHAT_MODELS = [
392
391
  audioOutput: 80 / 1e6
393
392
  }
394
393
  })),
395
- ...["gpt-audio-mini", "gpt-audio-mini-2025-10-06"].map((model) => ({
394
+ {
395
+ id: "gpt-audio-1.5",
396
+ cost: {
397
+ input: 2.5 / 1e6,
398
+ output: 10 / 1e6,
399
+ audioInput: 32 / 1e6,
400
+ audioOutput: 64 / 1e6
401
+ }
402
+ },
403
+ ...[
404
+ "gpt-audio-mini",
405
+ "gpt-audio-mini-2025-12-15",
406
+ "gpt-audio-mini-2025-10-06"
407
+ ].map((model) => ({
396
408
  id: model,
397
409
  cost: {
398
410
  input: .6 / 1e6,
@@ -402,6 +414,18 @@ const OPENAI_CHAT_MODELS = [
402
414
  }
403
415
  }))
404
416
  ];
417
+ const OPENAI_RESPONSES_ONLY_MODELS = [...["gpt-5.4-pro", "gpt-5.4-pro-2026-03-05"].map((model) => ({
418
+ id: model,
419
+ cost: {
420
+ input: 30 / 1e6,
421
+ output: 180 / 1e6,
422
+ longContext: {
423
+ threshold: GPT_5_4_LONG_CONTEXT_THRESHOLD,
424
+ input: 60 / 1e6,
425
+ output: 270 / 1e6
426
+ }
427
+ }
428
+ }))];
405
429
  const OPENAI_DEEP_RESEARCH_MODELS = [...["o3-deep-research", "o3-deep-research-2025-06-26"].map((model) => ({
406
430
  id: model,
407
431
  cost: {
@@ -427,26 +451,20 @@ const OPENAI_COMPLETION_MODELS = [
427
451
  { id: "text-babbage-002" }
428
452
  ];
429
453
  const OPENAI_REALTIME_MODELS = [
430
- {
431
- id: "gpt-realtime",
432
- type: "chat",
433
- cost: {
434
- input: 32 / 1e6,
435
- output: 64 / 1e6,
436
- audioInput: 32 / 1e6,
437
- audioOutput: 64 / 1e6
438
- }
439
- },
440
- {
441
- id: "gpt-realtime",
454
+ ...[
455
+ "gpt-realtime",
456
+ "gpt-realtime-2025-08-28",
457
+ "gpt-realtime-1.5"
458
+ ].map((model) => ({
459
+ id: model,
442
460
  type: "chat",
443
461
  cost: {
444
462
  input: 4 / 1e6,
445
463
  output: 16 / 1e6,
446
- audioInput: 40 / 1e6,
447
- audioOutput: 80 / 1e6
464
+ audioInput: 32 / 1e6,
465
+ audioOutput: 64 / 1e6
448
466
  }
449
- },
467
+ })),
450
468
  {
451
469
  id: "gpt-4o-realtime-preview",
452
470
  type: "chat",
@@ -497,18 +515,12 @@ const OPENAI_REALTIME_MODELS = [
497
515
  audioOutput: 20 / 1e6
498
516
  }
499
517
  },
500
- {
501
- id: "gpt-realtime-mini",
502
- type: "chat",
503
- cost: {
504
- input: .6 / 1e6,
505
- output: 2.4 / 1e6,
506
- audioInput: 10 / 1e6,
507
- audioOutput: 20 / 1e6
508
- }
509
- },
510
- {
511
- id: "gpt-realtime-mini-2025-10-06",
518
+ ...[
519
+ "gpt-realtime-mini",
520
+ "gpt-realtime-mini-2025-12-15",
521
+ "gpt-realtime-mini-2025-10-06"
522
+ ].map((model) => ({
523
+ id: model,
512
524
  type: "chat",
513
525
  cost: {
514
526
  input: .6 / 1e6,
@@ -516,7 +528,7 @@ const OPENAI_REALTIME_MODELS = [
516
528
  audioInput: 10 / 1e6,
517
529
  audioOutput: 20 / 1e6
518
530
  }
519
- }
531
+ }))
520
532
  ];
521
533
  const OPENAI_TRANSCRIPTION_MODELS = [
522
534
  {
@@ -527,10 +539,18 @@ const OPENAI_TRANSCRIPTION_MODELS = [
527
539
  id: "gpt-4o-mini-transcribe",
528
540
  cost: { perMinute: .003 }
529
541
  },
542
+ {
543
+ id: "gpt-4o-mini-transcribe-2025-12-15",
544
+ cost: { perMinute: .003 }
545
+ },
530
546
  {
531
547
  id: "gpt-4o-transcribe-diarize",
532
548
  cost: { perMinute: .006 }
533
549
  },
550
+ {
551
+ id: "gpt-4o-transcribe-diarize-2025-10-15",
552
+ cost: { perMinute: .006 }
553
+ },
534
554
  {
535
555
  id: "whisper-1",
536
556
  cost: { perMinute: .006 }
@@ -541,6 +561,7 @@ function calculateOpenAICost(modelName, config, promptTokens, completionTokens,
541
561
  ...OPENAI_CHAT_MODELS,
542
562
  ...OPENAI_COMPLETION_MODELS,
543
563
  ...OPENAI_REALTIME_MODELS,
564
+ ...OPENAI_RESPONSES_ONLY_MODELS,
544
565
  ...OPENAI_DEEP_RESEARCH_MODELS
545
566
  ]);
546
567
  if (!Number.isFinite(promptTokens) || !Number.isFinite(completionTokens) || !Number.isFinite(audioPromptTokens) || !Number.isFinite(audioCompletionTokens) || typeof promptTokens === "undefined" || typeof completionTokens === "undefined" || typeof audioPromptTokens === "undefined" || typeof audioCompletionTokens === "undefined") return;
@@ -548,6 +569,7 @@ function calculateOpenAICost(modelName, config, promptTokens, completionTokens,
548
569
  ...OPENAI_CHAT_MODELS,
549
570
  ...OPENAI_COMPLETION_MODELS,
550
571
  ...OPENAI_REALTIME_MODELS,
572
+ ...OPENAI_RESPONSES_ONLY_MODELS,
551
573
  ...OPENAI_DEEP_RESEARCH_MODELS
552
574
  ].find((m) => m.id === modelName);
553
575
  if (!model || !model.cost) return;
@@ -610,4 +632,4 @@ function formatOpenAiError(data) {
610
632
  //#endregion
611
633
  export { calculateOpenAICost as a, getTokenUsage as c, OPENAI_TRANSCRIPTION_MODELS as i, validateFunctionCall as l, OPENAI_COMPLETION_MODELS as n, failApiCall as o, OPENAI_REALTIME_MODELS as r, formatOpenAiError as s, OPENAI_CHAT_MODELS as t };
612
634
 
613
- //# sourceMappingURL=util-CgDCK4KI.js.map
635
+ //# sourceMappingURL=util-BlFVL0UF.js.map
@@ -1,19 +1,20 @@
1
1
  #!/usr/bin/env node
2
- import { g as getAjv, y as safeJsonStringify } from "./logger-BcJBzSSA.js";
3
- import { p as calculateCost } from "./fetch-DoVRJZhJ.js";
4
- import { m as maybeLoadFromExternalFileWithVars } from "./util-Bm3E9jpK.js";
2
+ import { v as getAjv, x as safeJsonStringify } from "./logger-BbY6ypFL.js";
3
+ import { h as calculateCost } from "./fetch-B6ch2nU2.js";
4
+ import { j as maybeLoadFromExternalFileWithVars } from "./util-BQOCAHQC.js";
5
5
  import OpenAI from "openai";
6
6
  //#region src/providers/openai/util.ts
7
7
  const ajv = getAjv();
8
+ const GPT_5_4_LONG_CONTEXT_THRESHOLD = 272e3;
8
9
  const OPENAI_CHAT_MODELS = [
9
- {
10
- id: "gpt-4o-mini-tts",
10
+ ...["gpt-4o-mini-tts", "gpt-4o-mini-tts-2025-12-15"].map((model) => ({
11
+ id: model,
11
12
  cost: {
12
13
  input: .6 / 1e6,
13
14
  output: 0 / 1e6,
14
15
  audioOutput: 12 / 1e6
15
16
  }
16
- },
17
+ })),
17
18
  ...["gpt-4o-search-preview", "gpt-4o-search-preview-2025-03-11"].map((model) => ({
18
19
  id: model,
19
20
  cost: {
@@ -360,7 +361,12 @@ const OPENAI_CHAT_MODELS = [
360
361
  id: model,
361
362
  cost: {
362
363
  input: 2.5 / 1e6,
363
- output: 15 / 1e6
364
+ output: 15 / 1e6,
365
+ longContext: {
366
+ threshold: GPT_5_4_LONG_CONTEXT_THRESHOLD,
367
+ input: 5 / 1e6,
368
+ output: 22.5 / 1e6
369
+ }
364
370
  }
365
371
  })),
366
372
  ...["gpt-5.4-mini", "gpt-5.4-mini-2026-03-17"].map((model) => ({
@@ -377,13 +383,6 @@ const OPENAI_CHAT_MODELS = [
377
383
  output: 1.25 / 1e6
378
384
  }
379
385
  })),
380
- ...["gpt-5.4-pro", "gpt-5.4-pro-2026-03-05"].map((model) => ({
381
- id: model,
382
- cost: {
383
- input: 30 / 1e6,
384
- output: 180 / 1e6
385
- }
386
- })),
387
386
  ...["gpt-audio", "gpt-audio-2025-08-28"].map((model) => ({
388
387
  id: model,
389
388
  cost: {
@@ -393,7 +392,20 @@ const OPENAI_CHAT_MODELS = [
393
392
  audioOutput: 80 / 1e6
394
393
  }
395
394
  })),
396
- ...["gpt-audio-mini", "gpt-audio-mini-2025-10-06"].map((model) => ({
395
+ {
396
+ id: "gpt-audio-1.5",
397
+ cost: {
398
+ input: 2.5 / 1e6,
399
+ output: 10 / 1e6,
400
+ audioInput: 32 / 1e6,
401
+ audioOutput: 64 / 1e6
402
+ }
403
+ },
404
+ ...[
405
+ "gpt-audio-mini",
406
+ "gpt-audio-mini-2025-12-15",
407
+ "gpt-audio-mini-2025-10-06"
408
+ ].map((model) => ({
397
409
  id: model,
398
410
  cost: {
399
411
  input: .6 / 1e6,
@@ -403,6 +415,18 @@ const OPENAI_CHAT_MODELS = [
403
415
  }
404
416
  }))
405
417
  ];
418
+ const OPENAI_RESPONSES_ONLY_MODELS = [...["gpt-5.4-pro", "gpt-5.4-pro-2026-03-05"].map((model) => ({
419
+ id: model,
420
+ cost: {
421
+ input: 30 / 1e6,
422
+ output: 180 / 1e6,
423
+ longContext: {
424
+ threshold: GPT_5_4_LONG_CONTEXT_THRESHOLD,
425
+ input: 60 / 1e6,
426
+ output: 270 / 1e6
427
+ }
428
+ }
429
+ }))];
406
430
  const OPENAI_DEEP_RESEARCH_MODELS = [...["o3-deep-research", "o3-deep-research-2025-06-26"].map((model) => ({
407
431
  id: model,
408
432
  cost: {
@@ -428,26 +452,20 @@ const OPENAI_COMPLETION_MODELS = [
428
452
  { id: "text-babbage-002" }
429
453
  ];
430
454
  const OPENAI_REALTIME_MODELS = [
431
- {
432
- id: "gpt-realtime",
433
- type: "chat",
434
- cost: {
435
- input: 32 / 1e6,
436
- output: 64 / 1e6,
437
- audioInput: 32 / 1e6,
438
- audioOutput: 64 / 1e6
439
- }
440
- },
441
- {
442
- id: "gpt-realtime",
455
+ ...[
456
+ "gpt-realtime",
457
+ "gpt-realtime-2025-08-28",
458
+ "gpt-realtime-1.5"
459
+ ].map((model) => ({
460
+ id: model,
443
461
  type: "chat",
444
462
  cost: {
445
463
  input: 4 / 1e6,
446
464
  output: 16 / 1e6,
447
- audioInput: 40 / 1e6,
448
- audioOutput: 80 / 1e6
465
+ audioInput: 32 / 1e6,
466
+ audioOutput: 64 / 1e6
449
467
  }
450
- },
468
+ })),
451
469
  {
452
470
  id: "gpt-4o-realtime-preview",
453
471
  type: "chat",
@@ -498,18 +516,12 @@ const OPENAI_REALTIME_MODELS = [
498
516
  audioOutput: 20 / 1e6
499
517
  }
500
518
  },
501
- {
502
- id: "gpt-realtime-mini",
503
- type: "chat",
504
- cost: {
505
- input: .6 / 1e6,
506
- output: 2.4 / 1e6,
507
- audioInput: 10 / 1e6,
508
- audioOutput: 20 / 1e6
509
- }
510
- },
511
- {
512
- id: "gpt-realtime-mini-2025-10-06",
519
+ ...[
520
+ "gpt-realtime-mini",
521
+ "gpt-realtime-mini-2025-12-15",
522
+ "gpt-realtime-mini-2025-10-06"
523
+ ].map((model) => ({
524
+ id: model,
513
525
  type: "chat",
514
526
  cost: {
515
527
  input: .6 / 1e6,
@@ -517,7 +529,7 @@ const OPENAI_REALTIME_MODELS = [
517
529
  audioInput: 10 / 1e6,
518
530
  audioOutput: 20 / 1e6
519
531
  }
520
- }
532
+ }))
521
533
  ];
522
534
  const OPENAI_TRANSCRIPTION_MODELS = [
523
535
  {
@@ -528,10 +540,18 @@ const OPENAI_TRANSCRIPTION_MODELS = [
528
540
  id: "gpt-4o-mini-transcribe",
529
541
  cost: { perMinute: .003 }
530
542
  },
543
+ {
544
+ id: "gpt-4o-mini-transcribe-2025-12-15",
545
+ cost: { perMinute: .003 }
546
+ },
531
547
  {
532
548
  id: "gpt-4o-transcribe-diarize",
533
549
  cost: { perMinute: .006 }
534
550
  },
551
+ {
552
+ id: "gpt-4o-transcribe-diarize-2025-10-15",
553
+ cost: { perMinute: .006 }
554
+ },
535
555
  {
536
556
  id: "whisper-1",
537
557
  cost: { perMinute: .006 }
@@ -542,6 +562,7 @@ function calculateOpenAICost(modelName, config, promptTokens, completionTokens,
542
562
  ...OPENAI_CHAT_MODELS,
543
563
  ...OPENAI_COMPLETION_MODELS,
544
564
  ...OPENAI_REALTIME_MODELS,
565
+ ...OPENAI_RESPONSES_ONLY_MODELS,
545
566
  ...OPENAI_DEEP_RESEARCH_MODELS
546
567
  ]);
547
568
  if (!Number.isFinite(promptTokens) || !Number.isFinite(completionTokens) || !Number.isFinite(audioPromptTokens) || !Number.isFinite(audioCompletionTokens) || typeof promptTokens === "undefined" || typeof completionTokens === "undefined" || typeof audioPromptTokens === "undefined" || typeof audioCompletionTokens === "undefined") return;
@@ -549,6 +570,7 @@ function calculateOpenAICost(modelName, config, promptTokens, completionTokens,
549
570
  ...OPENAI_CHAT_MODELS,
550
571
  ...OPENAI_COMPLETION_MODELS,
551
572
  ...OPENAI_REALTIME_MODELS,
573
+ ...OPENAI_RESPONSES_ONLY_MODELS,
552
574
  ...OPENAI_DEEP_RESEARCH_MODELS
553
575
  ].find((m) => m.id === modelName);
554
576
  if (!model || !model.cost) return;
@@ -611,4 +633,4 @@ function formatOpenAiError(data) {
611
633
  //#endregion
612
634
  export { calculateOpenAICost as a, getTokenUsage as c, OPENAI_TRANSCRIPTION_MODELS as i, validateFunctionCall as l, OPENAI_COMPLETION_MODELS as n, failApiCall as o, OPENAI_REALTIME_MODELS as r, formatOpenAiError as s, OPENAI_CHAT_MODELS as t };
613
635
 
614
- //# sourceMappingURL=util-DM2rTn_6.js.map
636
+ //# sourceMappingURL=util-C-kmRosx.js.map