promptfoo 0.120.26 → 0.121.1

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 (366) hide show
  1. package/README.md +1 -1
  2. package/dist/drizzle/0023_wooden_mandrill.sql +2 -0
  3. package/dist/drizzle/meta/0023_snapshot.json +1496 -0
  4. package/dist/drizzle/meta/_journal.json +7 -0
  5. package/dist/src/{ListApp-D3DG0F8h.js → ListApp-Du7YVwj5.js} +2 -4
  6. package/dist/src/accounts-BgNJDBE6.js +206 -0
  7. package/dist/src/{accounts-BzEY8H3v.cjs → accounts-Bx-x3bmW.cjs} +99 -80
  8. package/dist/src/{accounts-DHHiXsy6.js → accounts-CMqkzrVf.js} +61 -36
  9. package/dist/src/{accounts-R3gfCR_g.js → accounts-xrUGFA6n.js} +60 -35
  10. package/dist/src/{agentic-utils-D6_gzOUF.js → agentic-utils-BKIN5PKu.js} +9 -10
  11. package/dist/src/{agents-CwM7re15.cjs → agents-B0f4HICh.cjs} +37 -40
  12. package/dist/src/{agents-Cnph5GLD.js → agents-C-dDThPK.js} +37 -37
  13. package/dist/src/{agents-C7BiinFI.cjs → agents-CErsqg5U.cjs} +19 -27
  14. package/dist/src/{agents-v4cW_ZgC.js → agents-CVIn-Utx.js} +19 -22
  15. package/dist/src/{agents-GiUianme.js → agents-CXknwsFX.js} +37 -40
  16. package/dist/src/{agents-DETIQHqF.js → agents-DeH4Gu94.js} +21 -28
  17. package/dist/src/{agents-DYIT-hQy.js → agents-Dy2YpZpa.js} +38 -41
  18. package/dist/src/{agents-Cao4i7AX.js → agents-aF4-T121.js} +19 -30
  19. package/dist/src/{aimlapi-DMF6v_vb.js → aimlapi-BAGZDo5G.js} +16 -18
  20. package/dist/src/{aimlapi-CMJpKK-B.js → aimlapi-BNfTBexL.js} +15 -17
  21. package/dist/src/{aimlapi-DtSf1ykJ.js → aimlapi-DHRKlBEA.js} +15 -4
  22. package/dist/src/{aimlapi-DoGLcQW_.cjs → aimlapi-tg0Gkcvr.cjs} +15 -16
  23. package/dist/src/app/assets/index-BFCZg7hQ.js +439 -0
  24. package/dist/src/app/assets/index-NCn4eVBv.css +1 -0
  25. package/dist/src/app/assets/{vendor-charts-CYyo8R8v.js → vendor-charts-CCl15Imd.js} +1 -1
  26. package/dist/src/app/assets/{vendor-markdown-DSmzq4Jh.js → vendor-markdown-0tekx3KX.js} +1 -1
  27. package/dist/src/app/index.html +4 -34
  28. package/dist/src/{audio-DUH4q0Xq.js → audio-BRODU0UK.js} +7 -9
  29. package/dist/src/{audio-BWjyvHn9.cjs → audio-BWeaWovU.cjs} +6 -7
  30. package/dist/src/{audio-U580w8jM.js → audio-CHQ4r-RV.js} +6 -5
  31. package/dist/src/{audio-BrJBFN2b.js → audio-tf_NBjlC.js} +6 -8
  32. package/dist/src/base-B0tcrnq_.js +193 -0
  33. package/dist/src/base-B4QJRyFS.js +194 -0
  34. package/dist/src/base-DBtwl2FR.cjs +222 -0
  35. package/dist/src/base-fEDN28WM.js +193 -0
  36. package/dist/src/{blobs-kt8v3UyH.js → blobs-BAU-dXan.js} +9 -12
  37. package/dist/src/{blobs-C9J2mVgo.js → blobs-Bpg5rH6i.js} +9 -12
  38. package/dist/src/{blobs-673H0jCl.cjs → blobs-DvS-O6be.cjs} +34 -37
  39. package/dist/src/blobs-qTYm-1PY.js +236 -0
  40. package/dist/src/{cache-BLLayYEN.js → cache-8XhNqPKW.js} +64 -67
  41. package/dist/src/cache-Bbn1Nyrd.cjs +5 -0
  42. package/dist/src/cache-BwsMSda7.js +6 -0
  43. package/dist/src/{cache-mIszOnuz.js → cache-CG0SlR1d.js} +64 -66
  44. package/dist/src/{cache-7xULbvt3.cjs → cache-COish3-W.cjs} +114 -117
  45. package/dist/src/cache-D3eqDYGU.js +739 -0
  46. package/dist/src/{chat-Fl6TZJRS.cjs → chat-2K608PeQ.cjs} +20 -21
  47. package/dist/src/chat-BKm79wib.js +764 -0
  48. package/dist/src/{chat-XPN9YHhr.js → chat-CM_kyI8B.js} +20 -9
  49. package/dist/src/{chat-DIywASPG.js → chat-CRWNNq73.js} +49 -49
  50. package/dist/src/{chat-C8Ei4f87.js → chat-CznLWr_D.js} +49 -49
  51. package/dist/src/{chat-CgyGj2hC.js → chat-DHMH-N64.js} +20 -22
  52. package/dist/src/{chat-C4zqjObh.cjs → chat-DaqekjFr.cjs} +69 -69
  53. package/dist/src/{chat-Cpz3O-Xl.js → chat-DxysjBvt.js} +21 -23
  54. package/dist/src/{chatkit-Dpxrq4eD.js → chatkit-65VXf5SR.js} +58 -58
  55. package/dist/src/{chatkit-DIrJX8xk.js → chatkit-Be-Q-a9F.js} +58 -60
  56. package/dist/src/{chatkit-DEls11hE.js → chatkit-BxFvW8KY.js} +58 -60
  57. package/dist/src/{chatkit-e25Ziu17.cjs → chatkit-DKyPi1Gs.cjs} +58 -60
  58. package/dist/src/chunk-DEq-mXcV.js +15 -0
  59. package/dist/src/chunk-DRamLcfz.js +16 -0
  60. package/dist/src/{claude-agent-sdk-6-xTaLwM.js → claude-agent-sdk-BLTu0WBO.js} +45 -31
  61. package/dist/src/{claude-agent-sdk-BzxF6NIJ.cjs → claude-agent-sdk-CJH22shf.cjs} +44 -29
  62. package/dist/src/{claude-agent-sdk-CmkTnKGH.js → claude-agent-sdk-D6_k9FKA.js} +45 -33
  63. package/dist/src/{claude-agent-sdk-rXCBLK_o.js → claude-agent-sdk-Dy5lT-Tx.js} +46 -21
  64. package/dist/src/{cloud-BMbRVJFw.js → cloud-Bc9526yV.js} +32 -12
  65. package/dist/src/cloud-DmE0EwsY.js +4 -0
  66. package/dist/src/{cloudflare-ai-CUg4BTcj.js → cloudflare-ai-C9r2sRhw.js} +16 -18
  67. package/dist/src/{cloudflare-ai-Z9X219gp.js → cloudflare-ai-CWWJCRim.js} +16 -4
  68. package/dist/src/{cloudflare-ai-BAQ0u_dg.cjs → cloudflare-ai-ClWSdor4.cjs} +16 -17
  69. package/dist/src/{cloudflare-ai-CobxMTR4.js → cloudflare-ai-ICsOuD-z.js} +17 -19
  70. package/dist/src/{cloudflare-gateway-C0sgfr_z.cjs → cloudflare-gateway-C2_-KG5o.cjs} +21 -22
  71. package/dist/src/{cloudflare-gateway-_itGuXry.js → cloudflare-gateway-D6O7AlYb.js} +23 -23
  72. package/dist/src/{cloudflare-gateway-D2_yi-Fh.js → cloudflare-gateway-D6xFc5pa.js} +21 -25
  73. package/dist/src/{cloudflare-gateway-Djf3F3_H.js → cloudflare-gateway-pXGHxJ47.js} +26 -14
  74. package/dist/src/{codex-sdk-ibXwdglL.js → codex-sdk-C6UMlxwV.js} +49 -32
  75. package/dist/src/{codex-sdk-BASDNkIl.js → codex-sdk-DUwKWezN.js} +49 -30
  76. package/dist/src/{codex-sdk-dSnGdgIp.js → codex-sdk-GGAw0qbD.js} +49 -32
  77. package/dist/src/{codex-sdk-wTEpMM_X.cjs → codex-sdk-fAO0c3yA.cjs} +49 -32
  78. package/dist/src/{cometapi-B01btbfb.js → cometapi-BasUi7-_.js} +17 -19
  79. package/dist/src/{cometapi-DHUAH6nK.js → cometapi-Bbjp5V4x.js} +16 -4
  80. package/dist/src/{cometapi-ChAaRjg5.js → cometapi-DkXrKi5z.js} +21 -24
  81. package/dist/src/{cometapi-JbvOJSCO.cjs → cometapi-vY6aDZgo.cjs} +21 -22
  82. package/dist/src/{completion-D9_MDlnd.js → completion-6Mx_iXxK.js} +11 -13
  83. package/dist/src/{completion-BBJ6zmG3.js → completion-C5rtR_9P.js} +11 -13
  84. package/dist/src/{completion-DDyL3Cb2.cjs → completion-CDOouNzq.cjs} +21 -23
  85. package/dist/src/completion-C_P3ypkJ.js +120 -0
  86. package/dist/src/createHash-CTQmL3G2.js +15 -0
  87. package/dist/src/createHash-CfZSc0b4.cjs +27 -0
  88. package/dist/src/createHash-Da8fMwqB.js +16 -0
  89. package/dist/src/createHash-DmPQkvBh.js +15 -0
  90. package/dist/src/{docker-JAAubMw3.js → docker-5KcG-_86.js} +18 -20
  91. package/dist/src/{docker-Ckw-j7Rr.cjs → docker-BwsKwxFs.cjs} +18 -19
  92. package/dist/src/{docker-vnOg96gi.js → docker-CZnqU1XV.js} +18 -7
  93. package/dist/src/{docker-BuButc4D.js → docker-DzxyDPIj.js} +19 -21
  94. package/dist/src/entrypoint.js +2 -3
  95. package/dist/src/{errors-DnGCbnx8.js → errors-P6ll7XSJ.js} +2 -2
  96. package/dist/src/{esm-CYhseqj4.js → esm-C03C-mv3.js} +17 -20
  97. package/dist/src/{esm-rDtG_2rg.js → esm-CaIwzWR5.js} +18 -21
  98. package/dist/src/esm-Cd1AjG1D.js +379 -0
  99. package/dist/src/{esm-BQkx5roy.cjs → esm-CnNt7sI4.cjs} +47 -49
  100. package/dist/src/eval-17JizQIv.js +15 -0
  101. package/dist/src/{eval-CYrbG57o.js → eval-DmFyWU7i.js} +49 -55
  102. package/dist/src/{evalResult-COsVttMA.js → evalResult-CDQiuUuf.js} +16 -12
  103. package/dist/src/{evalResult-6JaUIStC.js → evalResult-CTG2AHOS.js} +10 -11
  104. package/dist/src/evalResult-Cqj8pldJ.js +12 -0
  105. package/dist/src/{evalResult-DlRfu_Rq.cjs → evalResult-Dap2CekP.cjs} +20 -21
  106. package/dist/src/evalResult-DvcJAWJU.cjs +10 -0
  107. package/dist/src/evalResult-Hftn-S_i.js +10 -0
  108. package/dist/src/evaluator-B2CFNt-P.js +36 -0
  109. package/dist/src/{evaluator-3EJCMTs0.js → evaluator-DPFRbFIL.js} +210 -232
  110. package/dist/src/{extractor-LSYjrhK0.js → extractor-CFG6bcWJ.js} +23 -38
  111. package/dist/src/{extractor-DbhlYEeo.cjs → extractor-DX36oYEv.cjs} +37 -64
  112. package/dist/src/{extractor-Hs7la_19.js → extractor-M67RUtg6.js} +23 -38
  113. package/dist/src/extractor-YMU_Gvt8.js +374 -0
  114. package/dist/src/fetch-4M3YRaqL.js +780 -0
  115. package/dist/src/{fetch-18MuNu9i.js → fetch-60Gzydls.js} +60 -46
  116. package/dist/src/{fetch-SRsE6Ctl.js → fetch-BMv0O527.js} +41 -35
  117. package/dist/src/{fetch-ZMn_oemb.cjs → fetch-BxUk8odA.cjs} +268 -279
  118. package/dist/src/fetch-KV5kNASw.js +5 -0
  119. package/dist/src/{fileExtensions-ePDqouxn.js → fileExtensions-DnqA1y9x.js} +2 -2
  120. package/dist/src/{fileExtensions-BpuMmaFL.js → fileExtensions-Ds-foDzt.js} +2 -2
  121. package/dist/src/fileExtensions-LcDYkU4v.js +85 -0
  122. package/dist/src/{fileExtensions-DkJYkWUy.cjs → fileExtensions-bYh77CN8.cjs} +27 -28
  123. package/dist/src/{formatDuration-Doo0xq-z.js → formatDuration-DgBVMN65.js} +2 -2
  124. package/dist/src/{genaiTracer-Ce19n68P.js → genaiTracer-70Z8BIuV.js} +2 -3
  125. package/dist/src/{genaiTracer-CqNnnXrE.js → genaiTracer-C1rxGO8Q.js} +2 -3
  126. package/dist/src/genaiTracer-D3fD9dNV.js +256 -0
  127. package/dist/src/{genaiTracer-CQlpZkrp.cjs → genaiTracer-DN4dQywX.cjs} +13 -14
  128. package/dist/src/graders-Bu0H9nXi.js +32 -0
  129. package/dist/src/{graders-BaMCwIKp.js → graders-CHO8EPM4.js} +385 -417
  130. package/dist/src/graders-Cfhkvx-e.js +34 -0
  131. package/dist/src/{graders-QsALpIdy.js → graders-CpdqD9PI.js} +385 -417
  132. package/dist/src/graders-DClJVpGP.cjs +32 -0
  133. package/dist/src/{graders-DzUUnUjC.cjs → graders-DOXycdlG.cjs} +721 -753
  134. package/dist/src/graders-DcnJsrMO.js +32 -0
  135. package/dist/src/graders-R9rYUM0d.js +13466 -0
  136. package/dist/src/{image-BiEVdpdP.js → image-BmEZqVmk.js} +57 -18
  137. package/dist/src/{image-mhAGP07h.js → image-CBBVXWuT.js} +57 -18
  138. package/dist/src/{image-D10zEe1f.cjs → image-CDLQOcqT.cjs} +6 -7
  139. package/dist/src/{image-COCWy5dX.js → image-DJEvKveK.js} +6 -5
  140. package/dist/src/{image-C3BjJUAU.cjs → image-DTedmQPg.cjs} +77 -32
  141. package/dist/src/{image-DB4sHxdJ.js → image-gvmivTEe.js} +7 -9
  142. package/dist/src/image-pAX56tPG.js +257 -0
  143. package/dist/src/{image-BXt_7u0v.js → image-tL5hIOFh.js} +6 -8
  144. package/dist/src/index.cjs +696 -693
  145. package/dist/src/index.d.cts +113 -10
  146. package/dist/src/index.d.ts +113 -6
  147. package/dist/src/index.js +657 -658
  148. package/dist/src/{interactiveCheck-DU-MAhp5.js → interactiveCheck-BgLZUIt3.js} +7 -8
  149. package/dist/src/{invariant-DT20jrBd.js → invariant-BtWWVVhl.js} +2 -2
  150. package/dist/src/{invariant-1pAf2CD1.js → invariant-Ddh24eXh.js} +2 -2
  151. package/dist/src/{invariant-CKcJAQ6M.cjs → invariant-kfQ8Bu82.cjs} +7 -8
  152. package/dist/src/invariant-vgHWClmd.js +25 -0
  153. package/dist/src/{knowledgeBase-DotRBzUE.js → knowledgeBase-CLJybhnF.js} +19 -34
  154. package/dist/src/{knowledgeBase-XJQ0Qyez.js → knowledgeBase-CoU-UQBg.js} +17 -41
  155. package/dist/src/{knowledgeBase-CMvMlLZR.js → knowledgeBase-DjWPVqSb.js} +17 -43
  156. package/dist/src/{knowledgeBase-Bnb00xKs.cjs → knowledgeBase-wkxuRFhA.cjs} +17 -40
  157. package/dist/src/{litellm-CHrRmPAe.js → litellm-B9Hysuri.js} +16 -18
  158. package/dist/src/{litellm-CrLJrPIm.js → litellm-CTfa0hqi.js} +15 -17
  159. package/dist/src/{litellm-BrnZhMcL.cjs → litellm-NYpQ8RQu.cjs} +15 -16
  160. package/dist/src/{litellm-BECdjOTx.js → litellm-ePxtr9F1.js} +15 -4
  161. package/dist/src/{logger-w8Ozp0Td.js → logger-CT3IKMKA.js} +24 -41
  162. package/dist/src/{logger-BdZ-IqBc.cjs → logger-Cp1GPUjj.cjs} +166 -192
  163. package/dist/src/logger-DLcq4dWf.js +713 -0
  164. package/dist/src/{logger-BotXmWKW.js → logger-KkObSCzq.js} +27 -43
  165. package/dist/src/{luma-ray-C0RkI3lt.cjs → luma-ray-B0GGNRc1.cjs} +20 -21
  166. package/dist/src/{luma-ray-C-w6EsJm.js → luma-ray-BE2mOt6N.js} +20 -13
  167. package/dist/src/{luma-ray-BOeX-h0M.js → luma-ray-BW9IRGIc.js} +22 -21
  168. package/dist/src/{luma-ray-DgKLS0BF.js → luma-ray-Cm1KZBhs.js} +20 -23
  169. package/dist/src/main.js +1985 -2055
  170. package/dist/src/{messages-DXV3Qh8_.cjs → messages-1JrJs91T.cjs} +35 -34
  171. package/dist/src/{messages-D61tPFQo.js → messages-1x9atZmP.js} +25 -24
  172. package/dist/src/{messages-CDZYGNlS.js → messages-BLbWdsyt.js} +25 -24
  173. package/dist/src/messages-D8EA0oDc.js +240 -0
  174. package/dist/src/{meteor-P2rUE-Uz.js → meteor-44VjEACX.js} +3 -4
  175. package/dist/src/{meteor-SLNTgmXm.js → meteor-D-SotUw9.js} +3 -4
  176. package/dist/src/{meteor-odmwVbyG.cjs → meteor-DLZZ3osF.cjs} +3 -4
  177. package/dist/src/{meteor-Dj8cTkU_.js → meteor-DUiCJRC-.js} +3 -4
  178. package/dist/src/modelslab-C1OLRmVX.js +166 -0
  179. package/dist/src/modelslab-CqXBy3U8.js +168 -0
  180. package/dist/src/modelslab-DcOSFwKh.cjs +166 -0
  181. package/dist/src/modelslab-X5-4LroM.js +166 -0
  182. package/dist/src/{nova-reel-C2LFfVTf.js → nova-reel-BgS1ZWuK.js} +20 -13
  183. package/dist/src/{nova-reel-DtCjbD5O.js → nova-reel-D2ZkOSyr.js} +22 -21
  184. package/dist/src/{nova-reel-D9FXq3Mt.cjs → nova-reel-D9xfaMBs.cjs} +20 -21
  185. package/dist/src/{nova-reel-Bk5npr2q.js → nova-reel-DihqLeol.js} +20 -23
  186. package/dist/src/{nova-sonic-BoRSY_U6.cjs → nova-sonic-DVu3mMIy.cjs} +30 -31
  187. package/dist/src/{nova-sonic-D_qERM-K.js → nova-sonic-DezhVUYT.js} +30 -26
  188. package/dist/src/{nova-sonic-CgaWLDM1.js → nova-sonic-P-CdUMlV.js} +30 -31
  189. package/dist/src/{nova-sonic-BXRfQyF-.js → nova-sonic-Q3BOJeig.js} +31 -32
  190. package/dist/src/{openai-Bigwjgo1.cjs → openai-Cuif0GEt.cjs} +8 -9
  191. package/dist/src/{openai-Dz3surb_.js → openai-DElQ-fPX.js} +3 -4
  192. package/dist/src/{openai-CT5fwbve.js → openai-DhbB7eWK.js} +3 -4
  193. package/dist/src/openai-j-sE2O7r.js +44 -0
  194. package/dist/src/{openclaw-dHLcXUWZ.js → openclaw-BiSZPL7J.js} +20 -14
  195. package/dist/src/{openclaw-CpPrXwf6.js → openclaw-Bv1DINsX.js} +20 -27
  196. package/dist/src/{openclaw-B6XY2kUf.js → openclaw-D1D_ej1z.js} +21 -28
  197. package/dist/src/{openclaw-DDSfq5fp.cjs → openclaw-DAfWQn-o.cjs} +33 -39
  198. package/dist/src/opencode-sdk-C7m-wRfI.js +560 -0
  199. package/dist/src/opencode-sdk-CfaLN8PY.cjs +564 -0
  200. package/dist/src/opencode-sdk-D95s6SnR.js +562 -0
  201. package/dist/src/opencode-sdk-DxUPkLT7.js +560 -0
  202. package/dist/src/{otlpReceiver-DmRb0NBj.js → otlpReceiver--AIRW_S4.js} +53 -51
  203. package/dist/src/{otlpReceiver-Dg817agV.js → otlpReceiver-Bn5wGB1v.js} +53 -55
  204. package/dist/src/{otlpReceiver-B6Xo4KZM.cjs → otlpReceiver-Diec4cln.cjs} +53 -55
  205. package/dist/src/{otlpReceiver-BO0rbDzh.js → otlpReceiver-g3ByGaXs.js} +53 -55
  206. package/dist/src/{providerRegistry-Xf0qdqGQ.js → providerRegistry-B0RUOLI_.js} +7 -8
  207. package/dist/src/{providerRegistry-wCWd7sKQ.js → providerRegistry-CD8MEar9.js} +7 -8
  208. package/dist/src/{providerRegistry-lc7a7utN.cjs → providerRegistry-Civky8Ar.cjs} +12 -13
  209. package/dist/src/providerRegistry-DM8rZYol.js +45 -0
  210. package/dist/src/providers-B3HvufyI.js +33246 -0
  211. package/dist/src/{providers-BiNq_Iyc.js → providers-BKRJTjBz.js} +1743 -1795
  212. package/dist/src/providers-C1rOSHiR.js +32 -0
  213. package/dist/src/{providers-BlEhY5mi.js → providers-CFLy1_ji.js} +1750 -1802
  214. package/dist/src/{providers-BNKVY53V.cjs → providers-CFu-TZl-.cjs} +2111 -2163
  215. package/dist/src/providers-CxmDwEFf.cjs +31 -0
  216. package/dist/src/providers-Dodakqr0.js +30 -0
  217. package/dist/src/providers-GIQ2TcsA.js +30 -0
  218. package/dist/src/{pythonUtils-r1uBuA0n.js → pythonUtils-C3py6GC1.js} +18 -19
  219. package/dist/src/{pythonUtils-DZ6EbdY4.cjs → pythonUtils-CTU3Y3lw.cjs} +42 -43
  220. package/dist/src/{pythonUtils-vMlk9Qp5.js → pythonUtils-D5nxkQ0P.js} +18 -19
  221. package/dist/src/pythonUtils-D6fwaDSg.js +249 -0
  222. package/dist/src/quiverai-C2jVwbH1.js +213 -0
  223. package/dist/src/quiverai-CI6gYJVI.js +213 -0
  224. package/dist/src/quiverai-CLkWkyZc.cjs +213 -0
  225. package/dist/src/quiverai-MHSxbmmZ.js +215 -0
  226. package/dist/src/{render-CAZvKKkB.js → render-Drod8m7K.js} +4 -5
  227. package/dist/src/{responses-DLLjADw5.js → responses-BKqJmhhc.js} +34 -27
  228. package/dist/src/{responses-TsdODUpm.js → responses-CGw0DCzh.js} +34 -27
  229. package/dist/src/responses-jxdehPkC.js +660 -0
  230. package/dist/src/{responses-zOtKtnY_.cjs → responses-tD4Bd4dc.cjs} +49 -42
  231. package/dist/src/rubyUtils-BUHu6PhO.js +5 -0
  232. package/dist/src/{rubyUtils-Cs35SDYa.js → rubyUtils-BUVePouc.js} +27 -20
  233. package/dist/src/rubyUtils-BcuGX77l.js +222 -0
  234. package/dist/src/{rubyUtils-BtjlqyXt.js → rubyUtils-Boc4HZzX.js} +18 -19
  235. package/dist/src/rubyUtils-CP42kMvq.cjs +4 -0
  236. package/dist/src/{rubyUtils-DCVaJ3mc.cjs → rubyUtils-DhCAlxZr.cjs} +48 -50
  237. package/dist/src/{sagemaker-Du4LIR97.js → sagemaker-BK4Zb993.js} +75 -70
  238. package/dist/src/{sagemaker-CLdUAv5z.js → sagemaker-BfiWTmvn.js} +77 -77
  239. package/dist/src/{sagemaker-DwNnEVYt.cjs → sagemaker-CcQHM1jV.cjs} +75 -76
  240. package/dist/src/{sagemaker-BcgLu0U4.js → sagemaker-D2Q1c-sD.js} +75 -79
  241. package/dist/src/{scanner-Dyw21Wg_.js → scanner-J8CA3LsV.js} +149 -122
  242. package/dist/src/server/index.js +5620 -67302
  243. package/dist/src/{server-CgUQ25qW.cjs → server-B0PPuDw-.cjs} +57 -67
  244. package/dist/src/server-B1vi21hA.js +7 -0
  245. package/dist/src/{server-CbMTRQkg.js → server-BC7XJFgr.js} +19 -24
  246. package/dist/src/server-Cm9Kai_h.cjs +5 -0
  247. package/dist/src/{server-DWmZLfCy.js → server-DbFphssR.js} +26 -29
  248. package/dist/src/server-OAs3nBRT.js +229 -0
  249. package/dist/src/{signal-Bl32q42d.js → signal-BOTbd53Z.js} +9 -11
  250. package/dist/src/{slack-BtMkB6xP.cjs → slack-BmVAVGaK.cjs} +7 -8
  251. package/dist/src/{slack-OZYxoVON.js → slack-DCUPTzS2.js} +8 -8
  252. package/dist/src/{slack-DPqj42Ts.js → slack-DOdy_kyv.js} +7 -8
  253. package/dist/src/{slack-BfdBx2tO.js → slack-DXMKtA-f.js} +7 -9
  254. package/dist/src/store-BNmZ1KAz.cjs +5 -0
  255. package/dist/src/{store-BqwfFEyF.cjs → store-BSc-TF2w.cjs} +44 -45
  256. package/dist/src/store-BltJg2cd.js +6 -0
  257. package/dist/src/{store-D4gdn9ih.js → store-D1tv90v3.js} +34 -35
  258. package/dist/src/{store-2ocbYY9D.js → store-DQLEjuEO.js} +40 -36
  259. package/dist/src/store-Ub2vaGJ1.js +228 -0
  260. package/dist/src/{tables-D-NSwNIb.js → tables-5EvT_Bwn.js} +23 -23
  261. package/dist/src/{tables-B9E1kRp-.cjs → tables-C7K-XKWp.cjs} +93 -93
  262. package/dist/src/{tables-C7TT2XVn.js → tables-D36WTqKX.js} +25 -25
  263. package/dist/src/tables-xKANLRBD.js +288 -0
  264. package/dist/src/telemetry-5BCRNBbe.cjs +5 -0
  265. package/dist/src/{telemetry-DZ_7PaVq.js → telemetry-C15ziL8u.js} +17 -14
  266. package/dist/src/{telemetry-BXyVqyAg.js → telemetry-C2YDkUQH.js} +11 -13
  267. package/dist/src/{telemetry-D0_yFdtU.cjs → telemetry-CbrnxHp_.cjs} +21 -24
  268. package/dist/src/telemetry-D4W5hboe.js +7 -0
  269. package/dist/src/telemetry-DMb2Mpfm.js +171 -0
  270. package/dist/src/{text-Dm78AVGG.js → text-B_UCRPp2.js} +2 -2
  271. package/dist/src/{text-DF2hMKdg.cjs → text-CW1cyrwj.cjs} +12 -13
  272. package/dist/src/{text-DgMr_tiM.js → text-Db-Wt2u2.js} +2 -2
  273. package/dist/src/text-TIv0QYnd.js +22 -0
  274. package/dist/src/{tokenUsageUtils-FZd5O_4A.js → tokenUsageUtils-BDGe-iyI.js} +2 -2
  275. package/dist/src/{tokenUsageUtils-DmZSD2eU.js → tokenUsageUtils-DflFMjS0.js} +2 -2
  276. package/dist/src/tokenUsageUtils-NYT-WKS6.js +138 -0
  277. package/dist/src/{tokenUsageUtils-CXhxVj72.cjs → tokenUsageUtils-bVa1ga6f.cjs} +32 -33
  278. package/dist/src/{transcription-FNIz3YOe.cjs → transcription-CL78qbOU.cjs} +14 -15
  279. package/dist/src/{transcription-C-M81iDA.js → transcription-DAtxHhAM.js} +14 -7
  280. package/dist/src/{transcription-CYuY5sFO.js → transcription-LNZTNUUL.js} +14 -16
  281. package/dist/src/{transcription-Ch7S-LWw.js → transcription-QHh3AH6Z.js} +15 -17
  282. package/dist/src/{transform-CoP2bJ7P.js → transform-Cgi24fJ7.js} +94 -66
  283. package/dist/src/{transform-Kd6u-oNm.cjs → transform-CzK1Q0zl.cjs} +24 -26
  284. package/dist/src/{transform-D8dILpfZ.js → transform-DECvGmzp.js} +15 -13
  285. package/dist/src/{transform-DMaxQwDx.js → transform-DGLazrMm.js} +94 -66
  286. package/dist/src/transform-DGxXocjk.js +1506 -0
  287. package/dist/src/{transform-ivxEY4f7.cjs → transform-DOcQeLld.cjs} +234 -206
  288. package/dist/src/transform-DTGDnAzW.js +6 -0
  289. package/dist/src/{transform-CqTFr7KR.js → transform-DilY9wbS.js} +10 -12
  290. package/dist/src/transform-aa6tmVpZ.js +216 -0
  291. package/dist/src/transform-m3qNw4KP.cjs +5 -0
  292. package/dist/src/{transformersAvailability-DEU2naS1.js → transformersAvailability-CEVM2GNQ.js} +2 -2
  293. package/dist/src/{transformersAvailability-Bkep3ka7.cjs → transformersAvailability-CwayUSlh.cjs} +2 -3
  294. package/dist/src/{transformersAvailability-DwmezkVe.js → transformersAvailability-D6c6ROpT.js} +2 -2
  295. package/dist/src/{types-t52w-XsS.js → types-CH3Ge2sE.js} +103 -92
  296. package/dist/src/{types-DMVjYLpx.js → types-CLKiCBW3.js} +98 -91
  297. package/dist/src/types-CN_TZ2GJ.js +3260 -0
  298. package/dist/src/{types-BIfttHrT.cjs → types-LJ0r3wbR.cjs} +573 -566
  299. package/dist/src/util-5cB-L7U3.js +1430 -0
  300. package/dist/src/util-6-GqIvzS.js +599 -0
  301. package/dist/src/{util-vjscpUzy.js → util-B7T3SiBS.js} +5 -6
  302. package/dist/src/{util-Cl0zfT3V.js → util-Betm42rL.js} +44 -17
  303. package/dist/src/{util-CUEt0Vum.js → util-C-PPYSMq.js} +44 -17
  304. package/dist/src/{util-DkFTvieG.cjs → util-CchiqXh_.cjs} +35 -36
  305. package/dist/src/{util-mJ58qbbw.js → util-DaWTWKBK.js} +5 -6
  306. package/dist/src/{util-C08Kns6-.cjs → util-Db0a0AFH.cjs} +89 -62
  307. package/dist/src/{util-DiCePfDu.js → util-Dlz_Wvgm.js} +102 -53
  308. package/dist/src/{util-BSh4a_Q8.js → util-YT5HPZaS.js} +102 -53
  309. package/dist/src/{util-DUYOvxAy.cjs → util-Yz-1aEhW.cjs} +274 -219
  310. package/dist/src/util-ZZH-3QZz.js +293 -0
  311. package/dist/src/{utils-DFaZa6Rf.cjs → utils-Cz9qXqII.cjs} +32 -35
  312. package/dist/src/{utils-CVzb4YiI.js → utils-XiOAgly5.js} +4 -7
  313. package/dist/src/utils-dLokC-eR.js +94 -0
  314. package/dist/src/{utils-JaY9veb5.js → utils-f2-Moju7.js} +4 -7
  315. package/dist/tsconfig.tsbuildinfo +1 -1
  316. package/package.json +59 -53
  317. package/dist/src/app/assets/index-BOgkICuY.css +0 -1
  318. package/dist/src/app/assets/index-CSgqn_Vd.js +0 -428
  319. package/dist/src/app/tsconfig.app.tsbuildinfo +0 -1
  320. package/dist/src/base-BaXmtXYp.js +0 -107
  321. package/dist/src/base-Dtp8b4_N.js +0 -106
  322. package/dist/src/base-f71xxWai.cjs +0 -111
  323. package/dist/src/cache-BUPcq0Ad.js +0 -6
  324. package/dist/src/cache-CVfRb-HD.cjs +0 -6
  325. package/dist/src/cache-O4EuX2JV.js +0 -8
  326. package/dist/src/chunk-DHDDz29n.js +0 -22
  327. package/dist/src/chunk-FhC4c-0y.js +0 -21
  328. package/dist/src/cloud-CZ4hytdm.js +0 -5
  329. package/dist/src/eval-CKHWqG9f.js +0 -16
  330. package/dist/src/evalResult-CxTP-LMm.cjs +0 -11
  331. package/dist/src/evalResult-CzLURDcP.js +0 -13
  332. package/dist/src/evalResult-DyttNQ_G.js +0 -11
  333. package/dist/src/evaluator-0PvfeBYh.js +0 -38
  334. package/dist/src/fetch-Bi0o-fdp.js +0 -4
  335. package/dist/src/fetch-CMptBDVg.cjs +0 -4
  336. package/dist/src/fetch-DAZkv3gV.js +0 -6
  337. package/dist/src/graders-BCytzXrb.js +0 -34
  338. package/dist/src/graders-CGZQShfJ.cjs +0 -33
  339. package/dist/src/graders-spkuVC-E.js +0 -36
  340. package/dist/src/opencode-sdk-CImWVqy9.js +0 -382
  341. package/dist/src/opencode-sdk-CuCztr4P.js +0 -380
  342. package/dist/src/opencode-sdk-DhcfRbBH.js +0 -376
  343. package/dist/src/opencode-sdk-mqF-Oj3f.cjs +0 -383
  344. package/dist/src/providers-BMZZmPBJ.cjs +0 -32
  345. package/dist/src/providers-CQQrNaJk.js +0 -32
  346. package/dist/src/providers-Ck8HyrC-.js +0 -34
  347. package/dist/src/quiverai-BNfIwKCO.cjs +0 -54
  348. package/dist/src/quiverai-BQigKdIH.js +0 -57
  349. package/dist/src/quiverai-Bfy2WnE2.js +0 -55
  350. package/dist/src/quiverai-CedIP0PJ.js +0 -43
  351. package/dist/src/rubyUtils-D7--T12C.js +0 -6
  352. package/dist/src/rubyUtils-DRRiMFV2.js +0 -5
  353. package/dist/src/rubyUtils-vb8OYFC-.cjs +0 -5
  354. package/dist/src/server-BUbS0Qfh.js +0 -6
  355. package/dist/src/server-XpGXFHkS.cjs +0 -6
  356. package/dist/src/server-gfOx5Zrk.js +0 -8
  357. package/dist/src/store-5u2yriTV.js +0 -7
  358. package/dist/src/store-D_lq_8oQ.js +0 -6
  359. package/dist/src/store-m5KT6Ly7.cjs +0 -6
  360. package/dist/src/telemetry-5RHFoCJh.js +0 -6
  361. package/dist/src/telemetry-Do8wMnA-.js +0 -8
  362. package/dist/src/telemetry-LojxPoFq.cjs +0 -6
  363. package/dist/src/transform-8eGmaH-7.js +0 -7
  364. package/dist/src/transform-BRVvWaG4.cjs +0 -6
  365. package/dist/src/transform-GybT0X0u.js +0 -8
  366. package/dist/src/transformersAvailability-DkAWaK5B.js +0 -35
@@ -1,10 +1,9 @@
1
- import { b as getEnvString, d as getAjv, i as logger_default } from "./logger-w8Ozp0Td.js";
2
- import { c as maybeLoadFromExternalFile, g as renderVarsInObject, y as getNunjucksEngine } from "./util-DiCePfDu.js";
3
- import { S as parseChatPrompt, g as calculateCost, t as fetchWithProxy } from "./fetch-18MuNu9i.js";
1
+ import { b as getEnvString, d as getAjv, i as logger } from "./logger-CT3IKMKA.js";
2
+ import { c as maybeLoadFromExternalFile, g as renderVarsInObject, y as getNunjucksEngine } from "./util-Dlz_Wvgm.js";
3
+ import { b as parseChatPrompt, m as calculateCost, t as fetchWithProxy } from "./fetch-60Gzydls.js";
4
4
  import Clone from "rfdc";
5
5
  import { z } from "zod";
6
6
  import crypto from "crypto";
7
-
8
7
  //#region src/util/oauth.ts
9
8
  /**
10
9
  * Buffer time before token expiry to trigger proactive refresh (60 seconds)
@@ -19,7 +18,7 @@ const TOKEN_REFRESH_BUFFER_MS = 6e4;
19
18
  */
20
19
  async function fetchOAuthToken(config) {
21
20
  const now = Date.now();
22
- logger_default.debug("[OAuth] Fetching new token");
21
+ logger.debug("[OAuth] Fetching new token");
23
22
  const tokenRequestBody = new URLSearchParams();
24
23
  tokenRequestBody.append("grant_type", config.grantType);
25
24
  if (config.clientId) tokenRequestBody.append("client_id", config.clientId);
@@ -41,13 +40,12 @@ async function fetchOAuthToken(config) {
41
40
  const tokenData = await response.json();
42
41
  if (!tokenData.access_token) throw new Error("OAuth token response missing access_token");
43
42
  const expiresAt = now + (tokenData.expires_in || 3600) * 1e3;
44
- logger_default.debug("[OAuth] Successfully fetched token");
43
+ logger.debug("[OAuth] Successfully fetched token");
45
44
  return {
46
45
  accessToken: tokenData.access_token,
47
46
  expiresAt
48
47
  };
49
48
  }
50
-
51
49
  //#endregion
52
50
  //#region src/providers/mcp/util.ts
53
51
  /**
@@ -78,7 +76,7 @@ const tokenEndpointCache = /* @__PURE__ */ new Map();
78
76
  async function discoverTokenEndpoint(serverUrl) {
79
77
  const cached = tokenEndpointCache.get(serverUrl);
80
78
  if (cached) {
81
- logger_default.debug(`[MCP Auth] Using cached token endpoint for ${serverUrl}`);
79
+ logger.debug(`[MCP Auth] Using cached token endpoint for ${serverUrl}`);
82
80
  return cached;
83
81
  }
84
82
  const url = new URL(serverUrl);
@@ -90,21 +88,21 @@ async function discoverTokenEndpoint(serverUrl) {
90
88
  }
91
89
  discoveryUrls.push(`${baseUrl}/.well-known/oauth-authorization-server`);
92
90
  for (const discoveryUrl of discoveryUrls) try {
93
- logger_default.debug(`[MCP Auth] Trying OAuth discovery at ${discoveryUrl}`);
91
+ logger.debug(`[MCP Auth] Trying OAuth discovery at ${discoveryUrl}`);
94
92
  const response = await fetchWithProxy(discoveryUrl);
95
93
  if (!response.ok) {
96
- logger_default.debug(`[MCP Auth] Discovery failed at ${discoveryUrl}: ${response.status}`);
94
+ logger.debug(`[MCP Auth] Discovery failed at ${discoveryUrl}: ${response.status}`);
97
95
  continue;
98
96
  }
99
97
  const metadata = await response.json();
100
98
  if (metadata.token_endpoint) {
101
- logger_default.debug(`[MCP Auth] Discovered token endpoint: ${metadata.token_endpoint}`);
99
+ logger.debug(`[MCP Auth] Discovered token endpoint: ${metadata.token_endpoint}`);
102
100
  tokenEndpointCache.set(serverUrl, metadata.token_endpoint);
103
101
  return metadata.token_endpoint;
104
102
  }
105
- logger_default.debug(`[MCP Auth] No token_endpoint in metadata from ${discoveryUrl}`);
103
+ logger.debug(`[MCP Auth] No token_endpoint in metadata from ${discoveryUrl}`);
106
104
  } catch (error) {
107
- logger_default.debug(`[MCP Auth] Error fetching ${discoveryUrl}: ${error}`);
105
+ logger.debug(`[MCP Auth] Error fetching ${discoveryUrl}: ${error}`);
108
106
  }
109
107
  throw new Error(`Failed to discover OAuth token endpoint for ${serverUrl}. Please configure tokenUrl explicitly in the auth config.`);
110
108
  }
@@ -121,8 +119,8 @@ async function getOAuthTokenWithExpiry(auth, serverUrl) {
121
119
  }
122
120
  const cacheKey = getOAuthCacheKey(auth);
123
121
  const cached = oauthTokenCache.get(cacheKey);
124
- if (cached && Date.now() + TOKEN_REFRESH_BUFFER_MS < cached.expiresAt) {
125
- logger_default.debug("[MCP Auth] Using cached OAuth token");
122
+ if (cached && Date.now() + 6e4 < cached.expiresAt) {
123
+ logger.debug("[MCP Auth] Using cached OAuth token");
126
124
  return {
127
125
  accessToken: cached.accessToken,
128
126
  expiresAt: cached.expiresAt
@@ -141,7 +139,7 @@ async function getOAuthTokenWithExpiry(auth, serverUrl) {
141
139
  accessToken: result.accessToken,
142
140
  expiresAt: result.expiresAt
143
141
  });
144
- logger_default.debug("[MCP Auth] Cached OAuth token");
142
+ logger.debug("[MCP Auth] Cached OAuth token");
145
143
  return result;
146
144
  }
147
145
  /**
@@ -173,7 +171,7 @@ function getAuthHeaders(server, oauthToken) {
173
171
  }
174
172
  case "oauth":
175
173
  if (oauthToken) return { Authorization: `Bearer ${oauthToken}` };
176
- logger_default.warn("[MCP Auth] OAuth auth configured but no token provided");
174
+ logger.warn("[MCP Auth] OAuth auth configured but no token provided");
177
175
  return {};
178
176
  default: return {};
179
177
  }
@@ -205,7 +203,6 @@ function applyQueryParams(url, params) {
205
203
  function requiresAsyncAuth(server) {
206
204
  return server.auth?.type === "oauth";
207
205
  }
208
-
209
206
  //#endregion
210
207
  //#region src/util/dataUrl.ts
211
208
  /**
@@ -281,7 +278,6 @@ function extractBase64FromDataUrl(value) {
281
278
  function toDataUri(mimeType, base64Data) {
282
279
  return `data:${mimeType};base64,${base64Data}`;
283
280
  }
284
-
285
281
  //#endregion
286
282
  //#region src/providers/google/auth.ts
287
283
  /**
@@ -306,6 +302,8 @@ function toDataUri(mimeType, base64Data) {
306
302
  * - Conflict detection and warnings
307
303
  */
308
304
  var GoogleAuthManager = class {
305
+ static cachedHasDefaultCredentials;
306
+ static pendingHasDefaultCredentials;
309
307
  /**
310
308
  * Get API key with proper priority order.
311
309
  *
@@ -329,7 +327,7 @@ var GoogleAuthManager = class {
329
327
  if (isVertexMode) {
330
328
  const vertexKey = env?.VERTEX_API_KEY || getEnvString("VERTEX_API_KEY");
331
329
  if (vertexKey) {
332
- logger_default.warn("[Google] VERTEX_API_KEY is not a standard SDK env var. Use GOOGLE_API_KEY instead.");
330
+ logger.warn("[Google] VERTEX_API_KEY is not a standard SDK env var. Use GOOGLE_API_KEY instead.");
333
331
  return {
334
332
  apiKey: vertexKey,
335
333
  source: "VERTEX_API_KEY"
@@ -339,20 +337,20 @@ var GoogleAuthManager = class {
339
337
  const googleKey = env?.GOOGLE_API_KEY || getEnvString("GOOGLE_API_KEY");
340
338
  const geminiKey = env?.GEMINI_API_KEY || getEnvString("GEMINI_API_KEY");
341
339
  const palmKey = isVertexMode ? void 0 : env?.PALM_API_KEY || getEnvString("PALM_API_KEY");
342
- if (googleKey && geminiKey) logger_default.debug("[Google] Both GOOGLE_API_KEY and GEMINI_API_KEY are set. Using GOOGLE_API_KEY.");
340
+ if (googleKey && geminiKey) logger.debug("[Google] Both GOOGLE_API_KEY and GEMINI_API_KEY are set. Using GOOGLE_API_KEY.");
343
341
  if (googleKey) return {
344
342
  apiKey: googleKey,
345
343
  source: "GOOGLE_API_KEY"
346
344
  };
347
345
  if (geminiKey) {
348
- logger_default.debug("[Google] GEMINI_API_KEY is not a standard SDK env var. Consider using GOOGLE_API_KEY.");
346
+ logger.debug("[Google] GEMINI_API_KEY is not a standard SDK env var. Consider using GOOGLE_API_KEY.");
349
347
  return {
350
348
  apiKey: geminiKey,
351
349
  source: "GEMINI_API_KEY"
352
350
  };
353
351
  }
354
352
  if (palmKey) {
355
- logger_default.warn("[Google] PALM_API_KEY is deprecated. Use GOOGLE_API_KEY instead.");
353
+ logger.warn("[Google] PALM_API_KEY is deprecated. Use GOOGLE_API_KEY instead.");
356
354
  return {
357
355
  apiKey: palmKey,
358
356
  source: "PALM_API_KEY"
@@ -378,13 +376,13 @@ var GoogleAuthManager = class {
378
376
  if ((projectId || region) && apiKey) {
379
377
  const message = "[Google] Project/location and API key are mutually exclusive in the client initializer. Use either apiKey for express mode OR projectId/region for OAuth mode, not both.";
380
378
  if (isStrict) throw new Error(message);
381
- else logger_default.warn(message);
379
+ else logger.warn(message);
382
380
  }
383
- if (useVertexEnv && vertexai === false) logger_default.warn("[Google] GOOGLE_GENAI_USE_VERTEXAI is set but vertexai: false was specified in config. Config takes precedence.");
384
- if (cloudProject && projectId && cloudProject !== projectId) logger_default.warn("[Google] Both GOOGLE_CLOUD_PROJECT and config.projectId are set with different values. Using config.projectId.");
385
- if (apiKey && credentials) logger_default.debug("[Google] Both apiKey and credentials are set. Using API key (express mode). Set expressMode: false to use OAuth/ADC instead.");
381
+ if (useVertexEnv && vertexai === false) logger.warn("[Google] GOOGLE_GENAI_USE_VERTEXAI is set but vertexai: false was specified in config. Config takes precedence.");
382
+ if (cloudProject && projectId && cloudProject !== projectId) logger.warn("[Google] Both GOOGLE_CLOUD_PROJECT and config.projectId are set with different values. Using config.projectId.");
383
+ if (apiKey && credentials) logger.debug("[Google] Both apiKey and credentials are set. Using API key (express mode). Set expressMode: false to use OAuth/ADC instead.");
386
384
  if (vertexai && !apiKey && !projectId && !cloudProject && !credentials) {
387
- if (!Boolean(env?.GOOGLE_APPLICATION_CREDENTIALS || process.env.GOOGLE_APPLICATION_CREDENTIALS)) logger_default.debug("[Google] Vertex AI mode enabled but no projectId, credentials, or ADC detected. Authentication may fail.");
385
+ if (!Boolean(env?.GOOGLE_APPLICATION_CREDENTIALS || process.env.GOOGLE_APPLICATION_CREDENTIALS)) logger.debug("[Google] Vertex AI mode enabled but no projectId, credentials, or ADC detected. Authentication may fail.");
388
386
  }
389
387
  }
390
388
  /**
@@ -404,14 +402,14 @@ var GoogleAuthManager = class {
404
402
  if (config.vertexai !== void 0) return config.vertexai;
405
403
  const useVertexEnv = getEnvString("GOOGLE_GENAI_USE_VERTEXAI");
406
404
  if (useVertexEnv === "true" || useVertexEnv === "1") {
407
- logger_default.debug("[Google] Vertex AI mode enabled via GOOGLE_GENAI_USE_VERTEXAI");
405
+ logger.debug("[Google] Vertex AI mode enabled via GOOGLE_GENAI_USE_VERTEXAI");
408
406
  return true;
409
407
  }
410
408
  if (useVertexEnv === "false" || useVertexEnv === "0") return false;
411
409
  const hasProjectId = Boolean(config.projectId || env?.VERTEX_PROJECT_ID || getEnvString("VERTEX_PROJECT_ID") || env?.GOOGLE_PROJECT_ID || getEnvString("GOOGLE_PROJECT_ID") || getEnvString("GOOGLE_CLOUD_PROJECT"));
412
410
  const hasCredentials = Boolean(config.credentials);
413
411
  if (hasProjectId || hasCredentials) {
414
- logger_default.debug("[Google] Auto-detected Vertex AI mode from projectId/credentials. Set vertexai: true/false explicitly to suppress this message.");
412
+ logger.debug("[Google] Auto-detected Vertex AI mode from projectId/credentials. Set vertexai: true/false explicitly to suppress this message.");
415
413
  return true;
416
414
  }
417
415
  return false;
@@ -477,7 +475,7 @@ var GoogleAuthManager = class {
477
475
  client = await auth.fromJSON(parsedCredentials);
478
476
  } catch (error) {
479
477
  const errorMsg = error instanceof Error ? error.message : String(error);
480
- logger_default.error(`[Google] Could not load credentials: ${errorMsg}`);
478
+ logger.error(`[Google] Could not load credentials: ${errorMsg}`);
481
479
  throw new Error(`[Google] Could not load credentials: ${errorMsg}`);
482
480
  }
483
481
  } else client = await auth.getClient();
@@ -516,8 +514,8 @@ var GoogleAuthManager = class {
516
514
  const vertexProjectId = env?.VERTEX_PROJECT_ID || getEnvString("VERTEX_PROJECT_ID");
517
515
  const googleProjectId = env?.GOOGLE_PROJECT_ID || getEnvString("GOOGLE_PROJECT_ID");
518
516
  const cloudProject = getEnvString("GOOGLE_CLOUD_PROJECT");
519
- if (vertexProjectId && !config.projectId) logger_default.debug("[Google] VERTEX_PROJECT_ID is not a standard SDK env var. Consider using GOOGLE_CLOUD_PROJECT.");
520
- if (googleProjectId && !config.projectId && !vertexProjectId) logger_default.debug("[Google] GOOGLE_PROJECT_ID is not a standard SDK env var. Consider using GOOGLE_CLOUD_PROJECT.");
517
+ if (vertexProjectId && !config.projectId) logger.debug("[Google] VERTEX_PROJECT_ID is not a standard SDK env var. Consider using GOOGLE_CLOUD_PROJECT.");
518
+ if (googleProjectId && !config.projectId && !vertexProjectId) logger.debug("[Google] GOOGLE_PROJECT_ID is not a standard SDK env var. Consider using GOOGLE_CLOUD_PROJECT.");
521
519
  return config.projectId || vertexProjectId || googleProjectId || cloudProject || authProjectId || "";
522
520
  }
523
521
  /**
@@ -537,7 +535,7 @@ var GoogleAuthManager = class {
537
535
  static resolveRegion(config, env, hasApiKey) {
538
536
  const vertexRegion = env?.VERTEX_REGION || getEnvString("VERTEX_REGION");
539
537
  const cloudLocation = getEnvString("GOOGLE_CLOUD_LOCATION");
540
- if (vertexRegion && !config.region) logger_default.debug("[Google] VERTEX_REGION is not a standard SDK env var. Consider using GOOGLE_CLOUD_LOCATION.");
538
+ if (vertexRegion && !config.region) logger.debug("[Google] VERTEX_REGION is not a standard SDK env var. Consider using GOOGLE_CLOUD_LOCATION.");
541
539
  const configuredRegion = config.region || vertexRegion || cloudLocation;
542
540
  if (configuredRegion) return configuredRegion;
543
541
  if (hasApiKey === false) return "global";
@@ -549,25 +547,39 @@ var GoogleAuthManager = class {
549
547
  * @returns True if ADC is available
550
548
  */
551
549
  static async hasDefaultCredentials() {
552
- try {
553
- await this.getOAuthClient();
554
- return true;
555
- } catch {
556
- return false;
550
+ if (this.cachedHasDefaultCredentials !== void 0) return this.cachedHasDefaultCredentials;
551
+ if (!this.pendingHasDefaultCredentials) {
552
+ const probe = (async () => {
553
+ try {
554
+ await this.getOAuthClient();
555
+ return true;
556
+ } catch {
557
+ return false;
558
+ }
559
+ })();
560
+ this.pendingHasDefaultCredentials = probe;
561
+ probe.then((result) => {
562
+ if (this.pendingHasDefaultCredentials === probe) this.cachedHasDefaultCredentials = result;
563
+ return result;
564
+ }).finally(() => {
565
+ if (this.pendingHasDefaultCredentials === probe) this.pendingHasDefaultCredentials = void 0;
566
+ });
557
567
  }
568
+ return this.pendingHasDefaultCredentials;
558
569
  }
559
570
  /**
560
- * Clear the cached auth client (useful for testing).
561
- * @deprecated No longer uses instance-level caching; Google's auth library handles token caching internally.
571
+ * Clear internal auth detection caches (useful for testing).
562
572
  */
563
- static clearCache() {}
573
+ static clearCache() {
574
+ this.cachedHasDefaultCredentials = void 0;
575
+ this.pendingHasDefaultCredentials = void 0;
576
+ }
564
577
  };
565
578
  const loadCredentials = GoogleAuthManager.loadCredentials.bind(GoogleAuthManager);
566
579
  const getGoogleClient = GoogleAuthManager.getOAuthClient.bind(GoogleAuthManager);
567
580
  const resolveProjectId = GoogleAuthManager.resolveProjectId.bind(GoogleAuthManager);
568
581
  const hasGoogleDefaultCredentials = GoogleAuthManager.hasDefaultCredentials.bind(GoogleAuthManager);
569
- const clearCachedAuth = GoogleAuthManager.clearCache.bind(GoogleAuthManager);
570
-
582
+ GoogleAuthManager.clearCache.bind(GoogleAuthManager);
571
583
  //#endregion
572
584
  //#region src/providers/google/shared.ts
573
585
  /**
@@ -647,7 +659,8 @@ const GOOGLE_MODELS = [
647
659
  ...[
648
660
  "gemini-2.5-flash",
649
661
  "gemini-2.5-flash-preview-04-17",
650
- "gemini-2.5-flash-preview-05-20"
662
+ "gemini-2.5-flash-preview-05-20",
663
+ "gemini-2.5-flash-preview-09-2025"
651
664
  ].map((id) => ({
652
665
  id,
653
666
  cost: {
@@ -662,13 +675,6 @@ const GOOGLE_MODELS = [
662
675
  output: .4 / 1e6
663
676
  }
664
677
  })),
665
- {
666
- id: "gemini-2.5-flash-preview-09-2025",
667
- cost: {
668
- input: .3 / 1e6,
669
- output: 2.5 / 1e6
670
- }
671
- },
672
678
  ...[
673
679
  "gemini-2.0-flash",
674
680
  "gemini-2.0-flash-001",
@@ -678,6 +684,10 @@ const GOOGLE_MODELS = [
678
684
  cost: {
679
685
  input: .1 / 1e6,
680
686
  output: .4 / 1e6
687
+ },
688
+ vertexCost: {
689
+ input: .15 / 1e6,
690
+ output: .6 / 1e6
681
691
  }
682
692
  })),
683
693
  ...[
@@ -816,6 +826,20 @@ const GOOGLE_MODELS = [
816
826
  output: 1.5 / 1e6
817
827
  }
818
828
  },
829
+ {
830
+ id: "gemini-robotics-er-1.5-preview",
831
+ cost: {
832
+ input: .3 / 1e6,
833
+ output: 2.5 / 1e6
834
+ }
835
+ },
836
+ {
837
+ id: "gemini-embedding-001",
838
+ cost: {
839
+ input: .15 / 1e6,
840
+ output: 0
841
+ }
842
+ },
819
843
  { id: "aqa" },
820
844
  { id: "chat-bison" },
821
845
  { id: "chat-bison-32k" },
@@ -841,7 +865,6 @@ const GOOGLE_MODELS = [
841
865
  * Used for model validation in ai.studio.ts.
842
866
  */
843
867
  const CHAT_MODELS = GOOGLE_MODELS.map((m) => m.id);
844
-
845
868
  //#endregion
846
869
  //#region src/providers/google/types.ts
847
870
  const VALID_SCHEMA_TYPES = [
@@ -853,7 +876,6 @@ const VALID_SCHEMA_TYPES = [
853
876
  "ARRAY",
854
877
  "OBJECT"
855
878
  ];
856
-
857
879
  //#endregion
858
880
  //#region src/providers/google/util.ts
859
881
  /**
@@ -868,25 +890,32 @@ function normalizeSafetySettings(safetySettings) {
868
890
  }));
869
891
  }
870
892
  /**
871
- * Calculates the cost for a Google AI Studio API call.
893
+ * Calculates the cost for a Google API call.
872
894
  *
873
895
  * Handles tiered pricing for models where cost varies by prompt size.
874
896
  * For example, Gemini Pro models have higher rates for prompts >200k tokens.
897
+ * Some models (e.g. Gemini 2.0 Flash) have different pricing on Vertex AI.
875
898
  *
876
899
  * @param modelName - The name of the model used
877
900
  * @param config - Provider configuration (may contain custom cost override)
878
901
  * @param promptTokens - Number of tokens in the prompt
879
902
  * @param completionTokens - Number of tokens in the completion
903
+ * @param isVertexMode - Whether the call was made via Vertex AI (uses Vertex pricing when available)
880
904
  * @returns The calculated cost in dollars, or undefined if it cannot be calculated
881
905
  */
882
- function calculateGoogleCost(modelName, config, promptTokens, completionTokens) {
906
+ function calculateGoogleCost(modelName, config, promptTokens, completionTokens, isVertexMode) {
907
+ const model = GOOGLE_MODELS.find((m) => m.id === modelName);
883
908
  if (promptTokens != null && completionTokens != null) {
884
- const model = GOOGLE_MODELS.find((m) => m.id === modelName);
885
909
  if (model?.tieredCost && promptTokens > model.tieredCost.threshold) {
886
910
  const inputCost = config.cost ?? model.tieredCost.above.input;
887
911
  const outputCost = config.cost ?? model.tieredCost.above.output;
888
912
  return inputCost * promptTokens + outputCost * completionTokens;
889
913
  }
914
+ if (isVertexMode && model?.vertexCost) {
915
+ const inputCost = config.cost ?? model.vertexCost.input;
916
+ const outputCost = config.cost ?? model.vertexCost.output;
917
+ return inputCost * promptTokens + outputCost * completionTokens;
918
+ }
890
919
  }
891
920
  return calculateCost(modelName, config, promptTokens, completionTokens, GOOGLE_MODELS);
892
921
  }
@@ -968,7 +997,7 @@ function maybeCoerceToGeminiFormat(contents, options) {
968
997
  coercedContents = [contents];
969
998
  coerced = true;
970
999
  } else {
971
- logger_default.warn(`Unknown format for Gemini: ${JSON.stringify(contents)}`);
1000
+ logger.warn(`Unknown format for Gemini: ${JSON.stringify(contents)}`);
972
1001
  return {
973
1002
  contents: Array.isArray(contents) ? contents : [],
974
1003
  coerced: false,
@@ -1026,7 +1055,7 @@ async function getGoogleAccessToken(credentials) {
1026
1055
  else client = await cachedGenerativeLanguageAuth.getClient();
1027
1056
  return (await client.getAccessToken()).token || void 0;
1028
1057
  } catch (error) {
1029
- logger_default.debug("[GoogleAuth] Could not get access token", { error: error instanceof Error ? error.message : String(error) });
1058
+ logger.debug("[GoogleAuth] Could not get access token", { error: error instanceof Error ? error.message : String(error) });
1030
1059
  return;
1031
1060
  }
1032
1061
  }
@@ -1046,7 +1075,7 @@ function getCandidate(data) {
1046
1075
  errorDetails += `\n\nGot response: ${JSON.stringify(data)}`;
1047
1076
  throw new Error(errorDetails);
1048
1077
  }
1049
- if (data.candidates.length > 1) logger_default.debug(`Expected one candidate in AI Studio API response, but got ${data.candidates.length}: ${JSON.stringify(data)}`);
1078
+ if (data.candidates.length > 1) logger.debug(`Expected one candidate in AI Studio API response, but got ${data.candidates.length}: ${JSON.stringify(data)}`);
1050
1079
  return data.candidates[0];
1051
1080
  }
1052
1081
  function formatCandidateContents(candidate) {
@@ -1108,7 +1137,7 @@ function loadFile(config_var, context_vars) {
1108
1137
  const parsedContents = JSON.parse(fileContents);
1109
1138
  return Array.isArray(parsedContents) ? normalizeTools(parsedContents) : parsedContents;
1110
1139
  } catch (err) {
1111
- logger_default.debug(`ERROR: failed to convert file contents to JSON:\n${JSON.stringify(err)}`);
1140
+ logger.debug(`ERROR: failed to convert file contents to JSON:\n${JSON.stringify(err)}`);
1112
1141
  return fileContents;
1113
1142
  }
1114
1143
  if (Array.isArray(fileContents)) return normalizeTools(fileContents);
@@ -1140,7 +1169,7 @@ function getMimeTypeFromBase64(base64DataOrUrl) {
1140
1169
  function processImagesInContents(contents, contextVars) {
1141
1170
  if (!contextVars) return contents;
1142
1171
  if (!Array.isArray(contents)) {
1143
- logger_default.warn("[Google] contents is not an array in processImagesInContents", {
1172
+ logger.warn("[Google] contents is not an array in processImagesInContents", {
1144
1173
  contentsType: typeof contents,
1145
1174
  contentsValue: contents
1146
1175
  });
@@ -1217,7 +1246,7 @@ function geminiFormatAndSystemInstructions(prompt, contextVars, configSystemInst
1217
1246
  }]);
1218
1247
  const { contents: updatedContents, coerced, systemInstruction: parsedSystemInstruction } = maybeCoerceToGeminiFormat(contents, options);
1219
1248
  if (coerced) {
1220
- logger_default.debug(`Coerced JSON prompt to Gemini format: ${JSON.stringify(contents)}`);
1249
+ logger.debug(`Coerced JSON prompt to Gemini format: ${JSON.stringify(contents)}`);
1221
1250
  contents = updatedContents;
1222
1251
  }
1223
1252
  let systemInstruction = parsedSystemInstruction;
@@ -1372,7 +1401,6 @@ function createAuthCacheDiscriminator(headers) {
1372
1401
  if (authValues.length === 0) return "";
1373
1402
  return crypto.createHash("sha256").update(authValues.join("|")).digest("hex").substring(0, 16);
1374
1403
  }
1375
-
1376
1404
  //#endregion
1377
1405
  //#region src/providers/mcp/transform.ts
1378
1406
  function transformMCPToolsToOpenAi(tools) {
@@ -1472,7 +1500,7 @@ async function transformMCPServerConfigToClaudeCode(config) {
1472
1500
  else throw new Error("MCP configuration cannot be converted to Claude Agent SDK MCP server config");
1473
1501
  return [key, out];
1474
1502
  }
1475
-
1476
1503
  //#endregion
1477
1504
  export { applyQueryParams as C, renderAuthVars as D, getOAuthTokenWithExpiry as E, TOKEN_REFRESH_BUFFER_MS as O, toDataUri as S, getAuthQueryParams as T, getGoogleClient as _, calculateGoogleCost as a, resolveProjectId as b, geminiFormatAndSystemInstructions as c, mergeParts as d, normalizeSafetySettings as f, GoogleAuthManager as g, CHAT_MODELS as h, transformMCPToolsToOpenAi as i, getCandidate as l, validateFunctionCall as m, transformMCPToolsToAnthropic as n, createAuthCacheDiscriminator as o, normalizeTools as p, transformMCPToolsToGoogle as r, formatCandidateContents as s, transformMCPConfigToClaudeCode as t, getGoogleAccessToken as u, hasGoogleDefaultCredentials as v, getAuthHeaders as w, parseDataUrl as x, loadCredentials as y };
1478
- //# sourceMappingURL=transform-DMaxQwDx.js.map
1505
+
1506
+ //# sourceMappingURL=transform-DGLazrMm.js.map