promptfoo 0.120.27 → 0.121.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/README.md +1 -1
  2. package/dist/src/{ListApp-8WOe2nT6.js → ListApp-Du7YVwj5.js} +2 -4
  3. package/dist/src/accounts-B0pgC1oV.js +206 -0
  4. package/dist/src/{accounts-DVINui-2.js → accounts-Bm2D8Db9.js} +39 -34
  5. package/dist/src/{accounts-CPDRAMND.js → accounts-CiBLOnA7.js} +38 -33
  6. package/dist/src/{accounts-Fl2J3_Fu.cjs → accounts-gtkH-5KX.cjs} +77 -78
  7. package/dist/src/{agentic-utils-D922n6mm.js → agentic-utils-DS1g3GLF.js} +9 -10
  8. package/dist/src/{agents-BcsN_BgB.js → agents-9qiOy0ho.js} +16 -12
  9. package/dist/src/{agents-BXLmVsxR.js → agents-CBr9A01V.js} +37 -37
  10. package/dist/src/{agents-pMfppv9Z.js → agents-CmvBq8LV.js} +16 -18
  11. package/dist/src/{agents-hqgSV-3o.js → agents-D__IdAlg.js} +39 -40
  12. package/dist/src/{agents-BO2n8Z0d.cjs → agents-DbRtpYxR.cjs} +37 -40
  13. package/dist/src/{agents-BdUTAwi-.js → agents-DgF2zDag.js} +37 -42
  14. package/dist/src/{agents-DgJf2-ez.cjs → agents-Di9DKPzn.cjs} +16 -17
  15. package/dist/src/{agents-DNvSH78i.js → agents-cLXA8a_8.js} +17 -19
  16. package/dist/src/{aimlapi-DtgPI0nE.js → aimlapi-B4rcnZgv.js} +15 -17
  17. package/dist/src/{aimlapi-BE_Tg9Fl.cjs → aimlapi-BvlNH0gr.cjs} +15 -16
  18. package/dist/src/{aimlapi-DOib86oE.js → aimlapi-CnkC2HqE.js} +16 -18
  19. package/dist/src/{aimlapi-DTPACCB1.js → aimlapi-DHJU_kcV.js} +15 -4
  20. package/dist/src/app/assets/index-4LKxG2CG.js +439 -0
  21. package/dist/src/app/assets/{index-NCn4eVBv.css → index-C3zcsZFQ.css} +1 -1
  22. package/dist/src/app/assets/vendor-charts-BnDWwBlI.js +36 -0
  23. package/dist/src/app/index.html +3 -3
  24. package/dist/src/app/tsconfig.app.tsbuildinfo +1 -1
  25. package/dist/src/{audio-BnRUGAm_.js → audio-Bkv46et0.js} +6 -5
  26. package/dist/src/{audio-Cwo68yZS.cjs → audio-CGMyULza.cjs} +6 -7
  27. package/dist/src/{audio-MSRki4JU.js → audio-ClI_AFre.js} +6 -8
  28. package/dist/src/{audio-BRYU0BFo.js → audio-Dz3z7s3J.js} +7 -9
  29. package/dist/src/{base-pGVmXNl4.cjs → base-CGrhspbK.cjs} +36 -38
  30. package/dist/src/{base-h961VXYk.js → base-CpjcHe4e.js} +11 -13
  31. package/dist/src/base-DLKtKMFh.js +193 -0
  32. package/dist/src/{base-XB2tDJrB.js → base-Dy1V8--Z.js} +11 -13
  33. package/dist/src/blobs-BDbfYdrJ.js +236 -0
  34. package/dist/src/{blobs-CR5C4Ihh.js → blobs-CBO20krR.js} +9 -12
  35. package/dist/src/{blobs-BM_e6hCa.js → blobs-CMHN0Qcz.js} +9 -12
  36. package/dist/src/{blobs-B-KQAFhX.cjs → blobs-D23XLin-.cjs} +34 -37
  37. package/dist/src/{cache-jsiwsAJv.js → cache-BVeDlD87.js} +132 -117
  38. package/dist/src/{cache-CIpsoBZR.js → cache-C4Nxf52C.js} +132 -118
  39. package/dist/src/cache-CeUpFm3M.cjs +5 -0
  40. package/dist/src/{cache-BTVYfbka.cjs → cache-Dh5WtQps.cjs} +182 -168
  41. package/dist/src/cache-i1P6crbO.js +756 -0
  42. package/dist/src/cache-n-RCJ-hL.js +6 -0
  43. package/dist/src/{chat-BcPjZXIp.js → chat-BiKyneZl.js} +45 -46
  44. package/dist/src/{chat-D31K7C4u.cjs → chat-C1Qst7jL.cjs} +20 -21
  45. package/dist/src/{chat-B84t99NW.js → chat-C2jrdPMx.js} +20 -9
  46. package/dist/src/{chat-BE44YOc6.cjs → chat-CgF-J-Jj.cjs} +65 -66
  47. package/dist/src/{chat-DwWifjxi.js → chat-CzkrVDfz.js} +20 -22
  48. package/dist/src/chat-DJIw17u0.js +766 -0
  49. package/dist/src/{chat-CcUCysjU.js → chat-DqxYYtWA.js} +45 -46
  50. package/dist/src/{chat-DZM2GUHO.js → chat-qmatte1u.js} +21 -23
  51. package/dist/src/{chatkit-D67HS_0b.js → chatkit-65VXf5SR.js} +58 -58
  52. package/dist/src/{chatkit-DAB_qfzI.js → chatkit-Be-Q-a9F.js} +58 -60
  53. package/dist/src/{chatkit-Biqb_wsD.js → chatkit-BxFvW8KY.js} +58 -60
  54. package/dist/src/{chatkit-PGG4ZYIn.cjs → chatkit-DKyPi1Gs.cjs} +58 -60
  55. package/dist/src/chunk-DEq-mXcV.js +15 -0
  56. package/dist/src/chunk-DRamLcfz.js +16 -0
  57. package/dist/src/{claude-agent-sdk-SVM6AdBu.js → claude-agent-sdk-Apiy0iaz.js} +31 -31
  58. package/dist/src/{claude-agent-sdk-C-IOTPfo.js → claude-agent-sdk-D2bJee9S.js} +31 -29
  59. package/dist/src/{claude-agent-sdk-C9SiaQub.cjs → claude-agent-sdk-D9Z5Pr9X.cjs} +31 -28
  60. package/dist/src/{claude-agent-sdk-CiluSyW1.js → claude-agent-sdk-DfCoW0E6.js} +33 -20
  61. package/dist/src/cloud-BBh91EUK.js +4 -0
  62. package/dist/src/{cloud-CZ-q9Ier.js → cloud-C0dlstV_.js} +7 -9
  63. package/dist/src/{cloudflare-ai-BahKHyhh.js → cloudflare-ai-8TDxHR0x.js} +16 -18
  64. package/dist/src/{cloudflare-ai-v_qZD6_q.js → cloudflare-ai-BxAGvfju.js} +17 -19
  65. package/dist/src/{cloudflare-ai-Dfahv5SY.cjs → cloudflare-ai-CknbZ5LJ.cjs} +16 -17
  66. package/dist/src/{cloudflare-ai-Dxyt50Nl.js → cloudflare-ai-g7PB6VHR.js} +16 -4
  67. package/dist/src/{cloudflare-gateway-Bi_FpOFy.js → cloudflare-gateway-B9HWA5wf.js} +23 -23
  68. package/dist/src/{cloudflare-gateway-BPWoZIzJ.cjs → cloudflare-gateway-BSnDmHYo.cjs} +21 -22
  69. package/dist/src/{cloudflare-gateway-C0guUNwk.js → cloudflare-gateway-CKDb4dJ8.js} +26 -14
  70. package/dist/src/{cloudflare-gateway-btS7h1OZ.js → cloudflare-gateway-CP9QEWYS.js} +21 -25
  71. package/dist/src/{codex-sdk-DSxAnbfT.js → codex-sdk-C6UMlxwV.js} +28 -29
  72. package/dist/src/{codex-sdk-IYVi9fuM.js → codex-sdk-DUwKWezN.js} +28 -27
  73. package/dist/src/{codex-sdk-DulY0ZRq.js → codex-sdk-GGAw0qbD.js} +28 -29
  74. package/dist/src/{codex-sdk-DFKMtAyf.cjs → codex-sdk-fAO0c3yA.cjs} +28 -29
  75. package/dist/src/{cometapi-DzrR3SR_.js → cometapi-BL9yvj_f.js} +16 -4
  76. package/dist/src/{cometapi-DIO64tf4.cjs → cometapi-C4xSqeID.cjs} +21 -22
  77. package/dist/src/{cometapi-C9EEpJzT.js → cometapi-CUQq3H_a.js} +21 -24
  78. package/dist/src/{cometapi-DkNBMk0G.js → cometapi-DFNiKmSz.js} +17 -19
  79. package/dist/src/{completion-CG29bfKX.js → completion-5MzrpJxT.js} +11 -13
  80. package/dist/src/{completion-CCRT4kX1.cjs → completion-CM6oK8PS.cjs} +21 -23
  81. package/dist/src/{completion-Bgf1VJoq.js → completion-DZ083F31.js} +11 -13
  82. package/dist/src/completion-qRoZAYRB.js +120 -0
  83. package/dist/src/{createHash-Dw_iLu31.js → createHash-CTQmL3G2.js} +2 -3
  84. package/dist/src/{createHash-CYQy4YeL.cjs → createHash-CfZSc0b4.cjs} +13 -14
  85. package/dist/src/{createHash-CJcfskIZ.js → createHash-Da8fMwqB.js} +2 -3
  86. package/dist/src/createHash-DmPQkvBh.js +15 -0
  87. package/dist/src/{docker-D-ayp2FW.js → docker-Bb5dcxr8.js} +18 -20
  88. package/dist/src/{docker-B81N0t4e.js → docker-BvfL2BrW.js} +19 -21
  89. package/dist/src/{docker-DNcLR4Ig.cjs → docker-DcF2pRrj.cjs} +18 -19
  90. package/dist/src/{docker-egERKxCF.js → docker-ExVyLp0S.js} +18 -7
  91. package/dist/src/entrypoint.js +2 -3
  92. package/dist/src/{errors-DnGCbnx8.js → errors-P6ll7XSJ.js} +2 -2
  93. package/dist/src/{esm-B9dPm_BF.js → esm-C03C-mv3.js} +17 -20
  94. package/dist/src/{esm-D2pZ87fL.js → esm-CaIwzWR5.js} +18 -21
  95. package/dist/src/esm-Cd1AjG1D.js +379 -0
  96. package/dist/src/{esm-Ct-Joyue.cjs → esm-CnNt7sI4.cjs} +47 -49
  97. package/dist/src/eval-B3r2CVXr.js +15 -0
  98. package/dist/src/{eval-C-Nr6wX_.js → eval-Dg2nG4v2.js} +47 -54
  99. package/dist/src/evalResult-5xwYnECe.js +12 -0
  100. package/dist/src/evalResult-71lY93Kj.cjs +10 -0
  101. package/dist/src/{evalResult-DXMWJ3sx.js → evalResult-BBRNtX4I.js} +10 -11
  102. package/dist/src/{evalResult-4BzI2tmj.js → evalResult-BDMqrapS.js} +16 -12
  103. package/dist/src/evalResult-Dx5P5cIv.js +10 -0
  104. package/dist/src/{evalResult-CX8wQecI.cjs → evalResult-fuaI8HkH.cjs} +20 -21
  105. package/dist/src/{evaluator-8aGyV12L.js → evaluator-BhoWwp5b.js} +211 -235
  106. package/dist/src/evaluator-Jx6bRZV6.js +36 -0
  107. package/dist/src/{extractor-V5x_m1i0.js → extractor-C0EVHewb.js} +22 -24
  108. package/dist/src/extractor-D25qpmGX.js +374 -0
  109. package/dist/src/{extractor-CD5yKL-G.js → extractor-DReVID0K.js} +22 -24
  110. package/dist/src/{extractor-C031XmTA.cjs → extractor-pYLLi3wS.cjs} +37 -39
  111. package/dist/src/{fetch-BmbD-v1L.cjs → fetch-BPkYtG8K.cjs} +244 -277
  112. package/dist/src/fetch-BxNb_Lp3.js +5 -0
  113. package/dist/src/{fetch-D3OHf-lV.js → fetch-Cwxnd8zz.js} +36 -44
  114. package/dist/src/{fetch-CXZI9RRr.js → fetch-Dxpd4_sr.js} +23 -35
  115. package/dist/src/fetch-HaqdX7U1.js +780 -0
  116. package/dist/src/{fileExtensions-ePDqouxn.js → fileExtensions-DnqA1y9x.js} +2 -2
  117. package/dist/src/{fileExtensions-BpuMmaFL.js → fileExtensions-Ds-foDzt.js} +2 -2
  118. package/dist/src/fileExtensions-LcDYkU4v.js +85 -0
  119. package/dist/src/{fileExtensions-DkJYkWUy.cjs → fileExtensions-bYh77CN8.cjs} +27 -28
  120. package/dist/src/{formatDuration-CdevI3An.js → formatDuration-DgBVMN65.js} +2 -2
  121. package/dist/src/{genaiTracer-Ce19n68P.js → genaiTracer-70Z8BIuV.js} +2 -3
  122. package/dist/src/{genaiTracer-CqNnnXrE.js → genaiTracer-C1rxGO8Q.js} +2 -3
  123. package/dist/src/genaiTracer-D3fD9dNV.js +256 -0
  124. package/dist/src/{genaiTracer-Dres3qrN.cjs → genaiTracer-DN4dQywX.cjs} +13 -14
  125. package/dist/src/{graders--1y2u9HO.js → graders-BTeBGqjJ.js} +349 -397
  126. package/dist/src/graders-B_pgMLS2.js +34 -0
  127. package/dist/src/{graders-DTeBrzWp.js → graders-Bj_Odv7c.js} +349 -397
  128. package/dist/src/graders-DErokPDO.cjs +32 -0
  129. package/dist/src/graders-DP7KFFo-.js +13466 -0
  130. package/dist/src/graders-DR_uNe54.js +32 -0
  131. package/dist/src/{graders-DohM2dir.cjs → graders-DU49_J8Y.cjs} +684 -732
  132. package/dist/src/graders-w3176Wz-.js +32 -0
  133. package/dist/src/{image-B0U4Hqll.js → image-B02ogr_b.js} +7 -9
  134. package/dist/src/{image-DmE-niFE.js → image-B0h9VEMc.js} +6 -5
  135. package/dist/src/{image-CuKHuccK.cjs → image-BLmROtN3.cjs} +29 -30
  136. package/dist/src/{image-DNEIf_aI.js → image-Bb4vWQLM.js} +6 -8
  137. package/dist/src/{image-DpKl2F15.cjs → image-C1madmKh.cjs} +6 -7
  138. package/dist/src/{image-C3wHC9_h.js → image-CHfWvljl.js} +9 -10
  139. package/dist/src/{image-O1u4bCFg.js → image-DS-o-0ph.js} +9 -10
  140. package/dist/src/image-Dpxa1Jt6.js +257 -0
  141. package/dist/src/index.cjs +615 -695
  142. package/dist/src/index.d.cts +271 -7
  143. package/dist/src/index.d.ts +271 -3
  144. package/dist/src/index.js +580 -664
  145. package/dist/src/{interactiveCheck-Bxj1Swex.js → interactiveCheck-BgLZUIt3.js} +7 -8
  146. package/dist/src/{invariant-DT20jrBd.js → invariant-BtWWVVhl.js} +2 -2
  147. package/dist/src/{invariant-1pAf2CD1.js → invariant-Ddh24eXh.js} +2 -2
  148. package/dist/src/{invariant-CKcJAQ6M.cjs → invariant-kfQ8Bu82.cjs} +7 -8
  149. package/dist/src/invariant-vgHWClmd.js +25 -0
  150. package/dist/src/{knowledgeBase-CEzQobWX.js → knowledgeBase-B3OoKIej.js} +14 -9
  151. package/dist/src/{knowledgeBase-Be_zyW4L.js → knowledgeBase-CYTLHOt1.js} +16 -16
  152. package/dist/src/{knowledgeBase-BZ41IFwq.js → knowledgeBase-D33Ty2l6.js} +14 -18
  153. package/dist/src/{knowledgeBase-D-5BMXlr.cjs → knowledgeBase-DOO_BM9b.cjs} +14 -15
  154. package/dist/src/{litellm-DnbRJ2if.js → litellm-AaeZcZQF.js} +18 -19
  155. package/dist/src/{litellm-hUSNM_M2.cjs → litellm-I_hbp_dc.cjs} +17 -17
  156. package/dist/src/{litellm-CRDqPhNI.js → litellm-NbjknEh6.js} +17 -18
  157. package/dist/src/{litellm-9vR8zpfU.js → litellm-TrljxD9G.js} +17 -5
  158. package/dist/src/{logger-CG1uZPbQ.js → logger-CT3IKMKA.js} +10 -29
  159. package/dist/src/{logger-B7sBeGa0.cjs → logger-Cp1GPUjj.cjs} +152 -180
  160. package/dist/src/logger-DLcq4dWf.js +713 -0
  161. package/dist/src/{logger-LSBxlt7a.js → logger-KkObSCzq.js} +13 -31
  162. package/dist/src/{luma-ray-4blv9iZ2.js → luma-ray-BS2_tY8L.js} +22 -21
  163. package/dist/src/{luma-ray-drvgdpP9.js → luma-ray-DDsjcgZZ.js} +20 -13
  164. package/dist/src/{luma-ray-Hm3d6VJE.cjs → luma-ray-Due0n7di.cjs} +20 -21
  165. package/dist/src/{luma-ray-B2__8lYH.js → luma-ray-f6I2fft-.js} +20 -23
  166. package/dist/src/main.js +1170 -1321
  167. package/dist/src/{messages-Uee41Mj5.js → messages-BS17jdMx.js} +22 -24
  168. package/dist/src/{messages-XhiwCbi4.cjs → messages-Bs1kC7P4.cjs} +32 -34
  169. package/dist/src/{messages-CGPPidQr.js → messages-D0lx5qK7.js} +22 -24
  170. package/dist/src/messages-ZJk778GH.js +240 -0
  171. package/dist/src/{meteor-BYykdXrV.js → meteor-44VjEACX.js} +3 -4
  172. package/dist/src/{meteor-CsopaHrH.js → meteor-D-SotUw9.js} +3 -4
  173. package/dist/src/{meteor-e-E-2vVl.cjs → meteor-DLZZ3osF.cjs} +3 -4
  174. package/dist/src/{meteor-C8lGP6P4.js → meteor-DUiCJRC-.js} +3 -4
  175. package/dist/src/{modelslab-yKz-ZNB4.js → modelslab-Bmni6skY.js} +17 -10
  176. package/dist/src/{modelslab-E9gO-bYd.js → modelslab-Bx9IrZfS.js} +18 -20
  177. package/dist/src/{modelslab-lUVW0cmB.cjs → modelslab-CoUX6Jc_.cjs} +17 -18
  178. package/dist/src/{modelslab-ClBkr8_9.js → modelslab-DRb74SP4.js} +17 -19
  179. package/dist/src/{nova-reel-Dk8jNpId.js → nova-reel-BfPq-0Yk.js} +20 -13
  180. package/dist/src/{nova-reel-D8CuO6QH.cjs → nova-reel-C_QM18Xn.cjs} +20 -21
  181. package/dist/src/{nova-reel-u2eF2Cxm.js → nova-reel-D_W1tjMH.js} +22 -21
  182. package/dist/src/{nova-reel-P9bwvtYX.js → nova-reel-bgjxilYW.js} +20 -23
  183. package/dist/src/{nova-sonic-CK2rAiKi.js → nova-sonic-CFb5GYhg.js} +30 -26
  184. package/dist/src/{nova-sonic-BaqWlkds.js → nova-sonic-DIGQNR07.js} +30 -31
  185. package/dist/src/{nova-sonic-yZapPLv7.js → nova-sonic-De1HW5fD.js} +31 -32
  186. package/dist/src/{nova-sonic-Ds1C-dpm.cjs → nova-sonic-zfcljeRp.cjs} +30 -31
  187. package/dist/src/{openai-DUFopMrH.cjs → openai-Cuif0GEt.cjs} +8 -9
  188. package/dist/src/{openai-PblZ3jUE.js → openai-DElQ-fPX.js} +3 -4
  189. package/dist/src/{openai-CcN1B8Sb.js → openai-DhbB7eWK.js} +3 -4
  190. package/dist/src/openai-j-sE2O7r.js +44 -0
  191. package/dist/src/{openclaw-B6qqDr_u.cjs → openclaw-CSugPYAr.cjs} +188 -130
  192. package/dist/src/{openclaw-A-3_loM7.js → openclaw-DiSz3I5L.js} +180 -109
  193. package/dist/src/{openclaw-a3lylB-V.js → openclaw-DuvJKEW5.js} +178 -124
  194. package/dist/src/{openclaw-COn6QzDi.js → openclaw-tiVYRtr-.js} +178 -122
  195. package/dist/src/opencode-sdk-0j6rTWNb.js +562 -0
  196. package/dist/src/opencode-sdk-B3CWY9h_.js +560 -0
  197. package/dist/src/opencode-sdk-BL764Jdi.cjs +564 -0
  198. package/dist/src/opencode-sdk-C2y6UkP2.js +560 -0
  199. package/dist/src/{otlpReceiver-oyf5wLGC.js → otlpReceiver-C99PPb48.js} +53 -51
  200. package/dist/src/{otlpReceiver-lXsYVbpj.cjs → otlpReceiver-CGq6LspY.cjs} +53 -55
  201. package/dist/src/{otlpReceiver-94URx7UW.js → otlpReceiver-CdNBdbsk.js} +53 -55
  202. package/dist/src/{otlpReceiver-BmmTiMjA.js → otlpReceiver-D89fR-rC.js} +53 -55
  203. package/dist/src/{providerRegistry-Cq_JK_CJ.js → providerRegistry-B0RUOLI_.js} +7 -8
  204. package/dist/src/{providerRegistry-DSSHjMKf.js → providerRegistry-CD8MEar9.js} +7 -8
  205. package/dist/src/{providerRegistry-CvHEVJad.cjs → providerRegistry-Civky8Ar.cjs} +12 -13
  206. package/dist/src/providerRegistry-DM8rZYol.js +45 -0
  207. package/dist/src/providers-B7V0njNs.js +32 -0
  208. package/dist/src/providers-BEwbhv0X.js +30 -0
  209. package/dist/src/{providers-Iil64vk9.js → providers-BlqUifFg.js} +1543 -1676
  210. package/dist/src/providers-CH3C7zf7.js +30 -0
  211. package/dist/src/{providers-DHbjzW2e.cjs → providers-CgKOSgTR.cjs} +1896 -2029
  212. package/dist/src/providers-D8lF1sqW.js +33246 -0
  213. package/dist/src/{providers-BnFpbY_s.js → providers-Dk_6ocUX.js} +1536 -1669
  214. package/dist/src/providers-zyB6k_38.cjs +31 -0
  215. package/dist/src/{pythonUtils-CcT5LH1M.js → pythonUtils-C3py6GC1.js} +18 -19
  216. package/dist/src/{pythonUtils-DBbuI3QJ.cjs → pythonUtils-CTU3Y3lw.cjs} +42 -43
  217. package/dist/src/{pythonUtils-hZ8LeQLv.js → pythonUtils-D5nxkQ0P.js} +18 -19
  218. package/dist/src/pythonUtils-D6fwaDSg.js +249 -0
  219. package/dist/src/{quiverai-BuI0tE39.js → quiverai-BbOUOn2L.js} +8 -7
  220. package/dist/src/{quiverai-DCGSZt4U.js → quiverai-CIaELU_m.js} +8 -10
  221. package/dist/src/{quiverai-DiMVJQDz.cjs → quiverai-PdShCPox.cjs} +8 -9
  222. package/dist/src/{quiverai-fQNkExW4.js → quiverai-uH-dcTIr.js} +9 -11
  223. package/dist/src/{render-Dj1smHEb.js → render-Drod8m7K.js} +4 -5
  224. package/dist/src/responses-CB2jwoAr.js +660 -0
  225. package/dist/src/{responses-ghR3IOfy.cjs → responses-D8SBTL64.cjs} +39 -42
  226. package/dist/src/{responses-DOAFFENS.js → responses-DIR9Ud3j.js} +24 -27
  227. package/dist/src/{responses-CxzoQoBe.js → responses-WNGNYe3K.js} +24 -27
  228. package/dist/src/rubyUtils-BUHu6PhO.js +5 -0
  229. package/dist/src/{rubyUtils-CwbGmgYN.js → rubyUtils-BUVePouc.js} +27 -20
  230. package/dist/src/rubyUtils-BcuGX77l.js +222 -0
  231. package/dist/src/{rubyUtils-DudlFZed.js → rubyUtils-Boc4HZzX.js} +18 -19
  232. package/dist/src/rubyUtils-CP42kMvq.cjs +4 -0
  233. package/dist/src/{rubyUtils-C8MhKGHb.cjs → rubyUtils-DhCAlxZr.cjs} +48 -50
  234. package/dist/src/{sagemaker-gmskuyre.js → sagemaker-CNBxx5CJ.js} +75 -70
  235. package/dist/src/{sagemaker-CcxhlOAR.js → sagemaker-CemTFp2h.js} +75 -79
  236. package/dist/src/{sagemaker-77zbJ2Q2.cjs → sagemaker-Cl28mZU2.cjs} +75 -76
  237. package/dist/src/{sagemaker-DuM71dVU.js → sagemaker-YSyBXQQh.js} +77 -77
  238. package/dist/src/{scanner-DJYiSXQj.js → scanner-BsBlNXNn.js} +100 -121
  239. package/dist/src/server/index.js +5520 -67427
  240. package/dist/src/{server-B5v33lvE.cjs → server-C_7Ax-hA.cjs} +57 -67
  241. package/dist/src/{server-BJ4m4f1D.js → server-CqzrVGpF.js} +26 -29
  242. package/dist/src/server-CuxBbeSY.js +229 -0
  243. package/dist/src/server-DA4Cyrrq.js +7 -0
  244. package/dist/src/server-Dulb-4-K.cjs +5 -0
  245. package/dist/src/{server-RV_i_YX5.js → server-VWgWb00X.js} +19 -24
  246. package/dist/src/{signal-BW33JuId.js → signal-4U3mfRvL.js} +9 -11
  247. package/dist/src/{slack-DEURelTy.cjs → slack-BmVAVGaK.cjs} +7 -8
  248. package/dist/src/{slack-BQYeW9L3.js → slack-DCUPTzS2.js} +8 -8
  249. package/dist/src/{slack-BB6yuZzp.js → slack-DOdy_kyv.js} +7 -8
  250. package/dist/src/{slack-2pRrhhgJ.js → slack-DXMKtA-f.js} +7 -9
  251. package/dist/src/store-CXGFv4aR.js +228 -0
  252. package/dist/src/store-CXS-Q_91.js +6 -0
  253. package/dist/src/{store-D7CgQzAR.cjs → store-DLlFCC4h.cjs} +44 -45
  254. package/dist/src/{store-DJNsD1iC.js → store-DXilxTl-.js} +40 -36
  255. package/dist/src/{store-s3SftUwF.js → store-Dim__MDd.js} +34 -35
  256. package/dist/src/store-eYkaKMwq.cjs +5 -0
  257. package/dist/src/{tables-DfTsNN7X.js → tables-6YKwjN9-.js} +19 -21
  258. package/dist/src/tables-DLJPUdUE.js +288 -0
  259. package/dist/src/{tables-BKTmd6u7.cjs → tables-DPi7wKeM.cjs} +89 -91
  260. package/dist/src/{tables-DMegD0Xf.js → tables-gftXzE9I.js} +21 -23
  261. package/dist/src/telemetry-BpMfhthR.cjs +5 -0
  262. package/dist/src/{telemetry--WAdAfVi.js → telemetry-CMrFgtPB.js} +11 -13
  263. package/dist/src/telemetry-Cps3mIU-.js +171 -0
  264. package/dist/src/{telemetry-DQgVBCAb.cjs → telemetry-DaX14Chu.cjs} +21 -24
  265. package/dist/src/{telemetry-BedSm-bZ.js → telemetry-Dthj_BbD.js} +17 -14
  266. package/dist/src/telemetry-Dw38hanS.js +7 -0
  267. package/dist/src/{text-oiSbwSOI.js → text-B_UCRPp2.js} +2 -2
  268. package/dist/src/{text-oKzCBnK6.cjs → text-CW1cyrwj.cjs} +12 -13
  269. package/dist/src/{text-B_IrO4GZ.js → text-Db-Wt2u2.js} +2 -2
  270. package/dist/src/text-TIv0QYnd.js +22 -0
  271. package/dist/src/{tokenUsageUtils-FZd5O_4A.js → tokenUsageUtils-BDGe-iyI.js} +2 -2
  272. package/dist/src/{tokenUsageUtils-DmZSD2eU.js → tokenUsageUtils-DflFMjS0.js} +2 -2
  273. package/dist/src/tokenUsageUtils-NYT-WKS6.js +138 -0
  274. package/dist/src/{tokenUsageUtils-CXhxVj72.cjs → tokenUsageUtils-bVa1ga6f.cjs} +32 -33
  275. package/dist/src/{transcription-mYS9vd5v.js → transcription-BNYURcXg.js} +14 -7
  276. package/dist/src/{transcription-X2-B4vkX.js → transcription-B_OdaHp7.js} +14 -16
  277. package/dist/src/{transcription-BO1AHegO.cjs → transcription-NLVG9MT1.cjs} +14 -15
  278. package/dist/src/{transcription-lzBLiTFJ.js → transcription-s6A-bNrZ.js} +15 -17
  279. package/dist/src/{transform-B1Hi5lWS.cjs → transform-CzK1Q0zl.cjs} +24 -26
  280. package/dist/src/{transform-DeGlxb0D.js → transform-D5HsjduX.js} +39 -47
  281. package/dist/src/{transform-CYDILYDe.js → transform-DECvGmzp.js} +15 -13
  282. package/dist/src/transform-DTGDnAzW.js +6 -0
  283. package/dist/src/{transform-BEgStbHK.js → transform-DilY9wbS.js} +10 -12
  284. package/dist/src/{transform-D5PjiWiZ.cjs → transform-DuHvhZpj.cjs} +179 -187
  285. package/dist/src/transform-aa6tmVpZ.js +216 -0
  286. package/dist/src/transform-m3qNw4KP.cjs +5 -0
  287. package/dist/src/transform-uAytVuyX.js +1506 -0
  288. package/dist/src/{transform-Dfl89yi4.js → transform-vNucnNr0.js} +39 -47
  289. package/dist/src/{transformersAvailability-SZnTS3pJ.js → transformersAvailability-CEVM2GNQ.js} +2 -2
  290. package/dist/src/{transformersAvailability-D-glmEy7.cjs → transformersAvailability-CwayUSlh.cjs} +2 -3
  291. package/dist/src/{transformersAvailability-CjeFXhuJ.js → transformersAvailability-D6c6ROpT.js} +2 -2
  292. package/dist/src/{types-DWNf48sT.cjs → types-C_7nyzr1.cjs} +538 -574
  293. package/dist/src/{types-CXQduE9o.js → types-Cbd8uOMq.js} +68 -100
  294. package/dist/src/types-CzW2QFyi.js +3288 -0
  295. package/dist/src/{types-C5hEkb-x.js → types-DmyIJ-sR.js} +63 -99
  296. package/dist/src/{util-CoQjmE3u.js → util-B3xGByQh.js} +4 -5
  297. package/dist/src/{util-aLhtl3fe.cjs → util-B9vlHIIh.cjs} +208 -223
  298. package/dist/src/{util-Du96oyYS.js → util-BHGHw5G1.js} +4 -5
  299. package/dist/src/{util-DQ984syk.js → util-BRYkYPTd.js} +36 -51
  300. package/dist/src/{util-D9eLdGfa.js → util-BV4XUC0n.js} +5 -6
  301. package/dist/src/util-Bv6uGDfH.js +293 -0
  302. package/dist/src/{util-1wWM599Z.cjs → util-BzMcevZc.cjs} +50 -51
  303. package/dist/src/{util-_h4pVqrz.js → util-C1CeHl-P.js} +36 -51
  304. package/dist/src/{util-Bm_-UMD_.js → util-CMy69ZgQ.js} +5 -6
  305. package/dist/src/{util-CyUdMzV0.cjs → util-DGNOS1db.cjs} +34 -35
  306. package/dist/src/util-Dnmk2mBQ.js +599 -0
  307. package/dist/src/util-ZzmqNPlg.js +1426 -0
  308. package/dist/src/{utils-BjLy-Q72.cjs → utils-Cz9qXqII.cjs} +29 -32
  309. package/dist/src/{utils-CFMn2yHW.js → utils-XiOAgly5.js} +4 -7
  310. package/dist/src/utils-dLokC-eR.js +94 -0
  311. package/dist/src/{utils-DvWMzuMx.js → utils-f2-Moju7.js} +4 -7
  312. package/dist/tsconfig.tsbuildinfo +1 -1
  313. package/package.json +38 -38
  314. package/dist/src/app/assets/index-B2D0bCSI.js +0 -439
  315. package/dist/src/app/assets/vendor-charts-CCl15Imd.js +0 -36
  316. package/dist/src/cache-ChPcurj7.js +0 -6
  317. package/dist/src/cache-VVu_W-yg.js +0 -8
  318. package/dist/src/cache-YLNCFEM2.cjs +0 -6
  319. package/dist/src/chunk-DHDDz29n.js +0 -22
  320. package/dist/src/chunk-FhC4c-0y.js +0 -21
  321. package/dist/src/cloud-BndfXy4H.js +0 -5
  322. package/dist/src/eval-BhHvMY82.js +0 -17
  323. package/dist/src/evalResult-Dq2gFNQY.js +0 -12
  324. package/dist/src/evalResult-nmcP5VKH.cjs +0 -12
  325. package/dist/src/evalResult-trqZjVYh.js +0 -14
  326. package/dist/src/evaluator-CnfPstzT.js +0 -39
  327. package/dist/src/fetch-IDPDue6F.cjs +0 -4
  328. package/dist/src/fetch-hKJ-It8q.js +0 -6
  329. package/dist/src/fetch-ouKnrWK-.js +0 -4
  330. package/dist/src/graders-CQn7WUsd.cjs +0 -34
  331. package/dist/src/graders-DC6QAbpW.js +0 -35
  332. package/dist/src/graders-DUWz3Y7j.js +0 -37
  333. package/dist/src/opencode-sdk-4bL9n-Gk.js +0 -382
  334. package/dist/src/opencode-sdk-BfC2zWcR.js +0 -376
  335. package/dist/src/opencode-sdk-DMJyuwMg.js +0 -380
  336. package/dist/src/opencode-sdk-Da-9adza.cjs +0 -383
  337. package/dist/src/providers-CsXB2Ix-.js +0 -35
  338. package/dist/src/providers-DO8ltjLC.js +0 -33
  339. package/dist/src/providers-Dtq-xnXd.cjs +0 -33
  340. package/dist/src/rubyUtils-BUbcND2f.js +0 -6
  341. package/dist/src/rubyUtils-Cr55X_KE.js +0 -5
  342. package/dist/src/rubyUtils-DlIiqoYo.cjs +0 -5
  343. package/dist/src/server-C2eQH4Gu.js +0 -6
  344. package/dist/src/server-CXWycu7H.cjs +0 -6
  345. package/dist/src/server-Q6OGlxxT.js +0 -8
  346. package/dist/src/store-B3EDO9Q3.js +0 -7
  347. package/dist/src/store-Dl9F8aw5.js +0 -6
  348. package/dist/src/store-SnrGrlt9.cjs +0 -6
  349. package/dist/src/telemetry-BGhiPZtl.js +0 -8
  350. package/dist/src/telemetry-CFfiYan6.cjs +0 -6
  351. package/dist/src/telemetry-DHzEduxX.js +0 -6
  352. package/dist/src/transform-C1x1ZlMQ.cjs +0 -6
  353. package/dist/src/transform-DYHjFmQu.js +0 -8
  354. package/dist/src/transform-rmwJT5JQ.js +0 -7
  355. package/dist/src/transformersAvailability-eJooj0gX.js +0 -35
@@ -1,14 +1,13 @@
1
- import { b as getEnvString, i as logger_default, v as getEnvFloat, y as getEnvInt } from "./logger-CG1uZPbQ.js";
2
- import { d as maybeLoadToolsFromExternalFile, u as maybeLoadResponseFormatFromExternalFile } from "./util-DQ984syk.js";
3
- import { T as transformTools, w as transformToolChoice } from "./fetch-D3OHf-lV.js";
4
- import { o as getCache, s as isCacheEnabled } from "./cache-CIpsoBZR.js";
5
- import { n as withGenAISpan } from "./genaiTracer-Ce19n68P.js";
6
- import { i as normalizeFinishReason, n as MCPClient } from "./chat-CcUCysjU.js";
7
- import { a as createEmptyTokenUsage } from "./tokenUsageUtils-FZd5O_4A.js";
8
- import { n as transformMCPToolsToAnthropic } from "./transform-Dfl89yi4.js";
9
- import { a as parseMessages, i as outputFromMessage, n as calculateAnthropicCost, o as processAnthropicTools, r as getTokenUsage, t as ANTHROPIC_MODELS } from "./util-Du96oyYS.js";
1
+ import { b as getEnvString, i as logger, v as getEnvFloat, y as getEnvInt } from "./logger-CT3IKMKA.js";
2
+ import { d as maybeLoadToolsFromExternalFile, u as maybeLoadResponseFormatFromExternalFile } from "./util-BRYkYPTd.js";
3
+ import { C as transformTools, S as transformToolChoice } from "./fetch-Cwxnd8zz.js";
4
+ import { a as isCacheEnabled, i as getCache } from "./cache-C4Nxf52C.js";
5
+ import { n as withGenAISpan } from "./genaiTracer-D3fD9dNV.js";
6
+ import { i as normalizeFinishReason, n as MCPClient } from "./chat-DqxYYtWA.js";
7
+ import { a as createEmptyTokenUsage } from "./tokenUsageUtils-NYT-WKS6.js";
8
+ import { n as transformMCPToolsToAnthropic } from "./transform-vNucnNr0.js";
9
+ import { a as parseMessages, i as outputFromMessage, n as calculateAnthropicCost, o as processAnthropicTools, r as getTokenUsage, t as ANTHROPIC_MODELS } from "./util-BHGHw5G1.js";
10
10
  import Anthropic, { APIError } from "@anthropic-ai/sdk";
11
-
12
11
  //#region src/providers/anthropic/generic.ts
13
12
  /**
14
13
  * Generic provider class for Anthropic APIs
@@ -54,7 +53,6 @@ var AnthropicGenericProvider = class {
54
53
  throw new Error("Not implemented: callApi must be implemented by subclasses");
55
54
  }
56
55
  };
57
-
58
56
  //#endregion
59
57
  //#region src/providers/anthropic/messages.ts
60
58
  var AnthropicMessagesProvider = class AnthropicMessagesProvider extends AnthropicGenericProvider {
@@ -63,7 +61,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
63
61
  static ANTHROPIC_MODELS = ANTHROPIC_MODELS;
64
62
  static ANTHROPIC_MODELS_NAMES = ANTHROPIC_MODELS.map((model) => model.id);
65
63
  constructor(modelName, options = {}) {
66
- if (!AnthropicMessagesProvider.ANTHROPIC_MODELS_NAMES.includes(modelName)) logger_default.warn(`Using unknown Anthropic model: ${modelName}`);
64
+ if (!AnthropicMessagesProvider.ANTHROPIC_MODELS_NAMES.includes(modelName)) logger.warn(`Using unknown Anthropic model: ${modelName}`);
67
65
  super(modelName, options);
68
66
  const { id } = options;
69
67
  this.id = id ? () => id : this.id;
@@ -146,7 +144,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
146
144
  } } : {},
147
145
  ...typeof config?.extra_body === "object" && config.extra_body ? config.extra_body : {}
148
146
  };
149
- logger_default.debug("Calling Anthropic Messages API", { params });
147
+ logger.debug("Calling Anthropic Messages API", { params });
150
148
  const headers = { ...config.headers || {} };
151
149
  let allBetaFeatures = [...config.beta || [], ...requiredBetaFeatures];
152
150
  if (processedOutputFormat && !allBetaFeatures.includes("structured-outputs-2025-11-13")) allBetaFeatures.push("structured-outputs-2025-11-13");
@@ -157,7 +155,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
157
155
  if (isCacheEnabled()) {
158
156
  const cachedResponse = await cache.get(cacheKey);
159
157
  if (cachedResponse) {
160
- logger_default.debug(`Returning cached response for ${prompt}: ${cachedResponse}`);
158
+ logger.debug(`Returning cached response for ${prompt}: ${cachedResponse}`);
161
159
  try {
162
160
  const parsedCachedResponse = JSON.parse(cachedResponse);
163
161
  const finishReason = normalizeFinishReason(parsedCachedResponse.stop_reason);
@@ -165,7 +163,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
165
163
  if (processedOutputFormat?.type === "json_schema" && typeof output === "string") try {
166
164
  output = JSON.parse(output);
167
165
  } catch (error) {
168
- logger_default.error(`Failed to parse JSON output from structured outputs: ${error}`);
166
+ logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
169
167
  }
170
168
  return {
171
169
  output,
@@ -185,18 +183,18 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
185
183
  try {
186
184
  if (shouldStream) {
187
185
  const finalMessage = await (await this.anthropic.messages.stream(params, { ...typeof headers === "object" && Object.keys(headers).length > 0 ? { headers } : {} })).finalMessage();
188
- logger_default.debug(`Anthropic Messages API streaming complete`, { finalMessage });
186
+ logger.debug(`Anthropic Messages API streaming complete`, { finalMessage });
189
187
  if (isCacheEnabled()) try {
190
188
  await cache.set(cacheKey, JSON.stringify(finalMessage));
191
189
  } catch (err) {
192
- logger_default.error(`Failed to cache response: ${String(err)}`);
190
+ logger.error(`Failed to cache response: ${String(err)}`);
193
191
  }
194
192
  const finishReason = normalizeFinishReason(finalMessage.stop_reason);
195
193
  let output = outputFromMessage(finalMessage, config.showThinking ?? true);
196
194
  if (processedOutputFormat?.type === "json_schema" && typeof output === "string") try {
197
195
  output = JSON.parse(output);
198
196
  } catch (error) {
199
- logger_default.error(`Failed to parse JSON output from structured outputs: ${error}`);
197
+ logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
200
198
  }
201
199
  return {
202
200
  output,
@@ -206,18 +204,18 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
206
204
  };
207
205
  } else {
208
206
  const response = await this.anthropic.messages.create(params, { ...typeof headers === "object" && Object.keys(headers).length > 0 ? { headers } : {} });
209
- logger_default.debug(`Anthropic Messages API response`, { response });
207
+ logger.debug(`Anthropic Messages API response`, { response });
210
208
  if (isCacheEnabled()) try {
211
209
  await cache.set(cacheKey, JSON.stringify(response));
212
210
  } catch (err) {
213
- logger_default.error(`Failed to cache response: ${String(err)}`);
211
+ logger.error(`Failed to cache response: ${String(err)}`);
214
212
  }
215
213
  const finishReason = normalizeFinishReason(response.stop_reason);
216
214
  let output = outputFromMessage(response, config.showThinking ?? true);
217
215
  if (processedOutputFormat?.type === "json_schema" && typeof output === "string") try {
218
216
  output = JSON.parse(output);
219
217
  } catch (error) {
220
- logger_default.error(`Failed to parse JSON output from structured outputs: ${error}`);
218
+ logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
221
219
  }
222
220
  return {
223
221
  output,
@@ -227,7 +225,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
227
225
  };
228
226
  }
229
227
  } catch (err) {
230
- logger_default.error(`Anthropic Messages API call error: ${err instanceof Error ? err.message : String(err)}`);
228
+ logger.error(`Anthropic Messages API call error: ${err instanceof Error ? err.message : String(err)}`);
231
229
  if (err instanceof APIError && err.error) {
232
230
  const errorDetails = err.error;
233
231
  return { error: `API call error: ${errorDetails.error.message}, status ${err.status}, type ${errorDetails.error.type}` };
@@ -236,7 +234,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
236
234
  }
237
235
  }
238
236
  };
239
-
240
237
  //#endregion
241
238
  export { AnthropicGenericProvider as n, AnthropicMessagesProvider as t };
242
- //# sourceMappingURL=messages-Uee41Mj5.js.map
239
+
240
+ //# sourceMappingURL=messages-BS17jdMx.js.map
@@ -1,15 +1,14 @@
1
- const require_logger = require('./logger-B7sBeGa0.cjs');
2
- const require_util = require('./util-aLhtl3fe.cjs');
3
- const require_fetch = require('./fetch-BmbD-v1L.cjs');
4
- const require_cache = require('./cache-BTVYfbka.cjs');
5
- const require_genaiTracer = require('./genaiTracer-Dres3qrN.cjs');
6
- const require_chat = require('./chat-BE44YOc6.cjs');
7
- const require_tokenUsageUtils = require('./tokenUsageUtils-CXhxVj72.cjs');
8
- const require_transform = require('./transform-D5PjiWiZ.cjs');
9
- const require_util$1 = require('./util-CyUdMzV0.cjs');
1
+ const require_logger = require("./logger-Cp1GPUjj.cjs");
2
+ const require_util = require("./util-B9vlHIIh.cjs");
3
+ const require_fetch = require("./fetch-BPkYtG8K.cjs");
4
+ const require_cache = require("./cache-Dh5WtQps.cjs");
5
+ const require_genaiTracer = require("./genaiTracer-DN4dQywX.cjs");
6
+ const require_chat = require("./chat-CgF-J-Jj.cjs");
7
+ const require_tokenUsageUtils = require("./tokenUsageUtils-bVa1ga6f.cjs");
8
+ const require_transform = require("./transform-DuHvhZpj.cjs");
9
+ const require_util$1 = require("./util-DGNOS1db.cjs");
10
10
  let _anthropic_ai_sdk = require("@anthropic-ai/sdk");
11
11
  _anthropic_ai_sdk = require_logger.__toESM(_anthropic_ai_sdk);
12
-
13
12
  //#region src/providers/anthropic/generic.ts
14
13
  /**
15
14
  * Generic provider class for Anthropic APIs
@@ -55,7 +54,6 @@ var AnthropicGenericProvider = class {
55
54
  throw new Error("Not implemented: callApi must be implemented by subclasses");
56
55
  }
57
56
  };
58
-
59
57
  //#endregion
60
58
  //#region src/providers/anthropic/messages.ts
61
59
  var AnthropicMessagesProvider = class AnthropicMessagesProvider extends AnthropicGenericProvider {
@@ -64,7 +62,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
64
62
  static ANTHROPIC_MODELS = require_util$1.ANTHROPIC_MODELS;
65
63
  static ANTHROPIC_MODELS_NAMES = require_util$1.ANTHROPIC_MODELS.map((model) => model.id);
66
64
  constructor(modelName, options = {}) {
67
- if (!AnthropicMessagesProvider.ANTHROPIC_MODELS_NAMES.includes(modelName)) require_logger.logger_default.warn(`Using unknown Anthropic model: ${modelName}`);
65
+ if (!AnthropicMessagesProvider.ANTHROPIC_MODELS_NAMES.includes(modelName)) require_logger.logger.warn(`Using unknown Anthropic model: ${modelName}`);
68
66
  super(modelName, options);
69
67
  const { id } = options;
70
68
  this.id = id ? () => id : this.id;
@@ -147,7 +145,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
147
145
  } } : {},
148
146
  ...typeof config?.extra_body === "object" && config.extra_body ? config.extra_body : {}
149
147
  };
150
- require_logger.logger_default.debug("Calling Anthropic Messages API", { params });
148
+ require_logger.logger.debug("Calling Anthropic Messages API", { params });
151
149
  const headers = { ...config.headers || {} };
152
150
  let allBetaFeatures = [...config.beta || [], ...requiredBetaFeatures];
153
151
  if (processedOutputFormat && !allBetaFeatures.includes("structured-outputs-2025-11-13")) allBetaFeatures.push("structured-outputs-2025-11-13");
@@ -158,7 +156,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
158
156
  if (require_cache.isCacheEnabled()) {
159
157
  const cachedResponse = await cache.get(cacheKey);
160
158
  if (cachedResponse) {
161
- require_logger.logger_default.debug(`Returning cached response for ${prompt}: ${cachedResponse}`);
159
+ require_logger.logger.debug(`Returning cached response for ${prompt}: ${cachedResponse}`);
162
160
  try {
163
161
  const parsedCachedResponse = JSON.parse(cachedResponse);
164
162
  const finishReason = require_chat.normalizeFinishReason(parsedCachedResponse.stop_reason);
@@ -166,7 +164,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
166
164
  if (processedOutputFormat?.type === "json_schema" && typeof output === "string") try {
167
165
  output = JSON.parse(output);
168
166
  } catch (error) {
169
- require_logger.logger_default.error(`Failed to parse JSON output from structured outputs: ${error}`);
167
+ require_logger.logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
170
168
  }
171
169
  return {
172
170
  output,
@@ -186,18 +184,18 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
186
184
  try {
187
185
  if (shouldStream) {
188
186
  const finalMessage = await (await this.anthropic.messages.stream(params, { ...typeof headers === "object" && Object.keys(headers).length > 0 ? { headers } : {} })).finalMessage();
189
- require_logger.logger_default.debug(`Anthropic Messages API streaming complete`, { finalMessage });
187
+ require_logger.logger.debug(`Anthropic Messages API streaming complete`, { finalMessage });
190
188
  if (require_cache.isCacheEnabled()) try {
191
189
  await cache.set(cacheKey, JSON.stringify(finalMessage));
192
190
  } catch (err) {
193
- require_logger.logger_default.error(`Failed to cache response: ${String(err)}`);
191
+ require_logger.logger.error(`Failed to cache response: ${String(err)}`);
194
192
  }
195
193
  const finishReason = require_chat.normalizeFinishReason(finalMessage.stop_reason);
196
194
  let output = require_util$1.outputFromMessage(finalMessage, config.showThinking ?? true);
197
195
  if (processedOutputFormat?.type === "json_schema" && typeof output === "string") try {
198
196
  output = JSON.parse(output);
199
197
  } catch (error) {
200
- require_logger.logger_default.error(`Failed to parse JSON output from structured outputs: ${error}`);
198
+ require_logger.logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
201
199
  }
202
200
  return {
203
201
  output,
@@ -207,18 +205,18 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
207
205
  };
208
206
  } else {
209
207
  const response = await this.anthropic.messages.create(params, { ...typeof headers === "object" && Object.keys(headers).length > 0 ? { headers } : {} });
210
- require_logger.logger_default.debug(`Anthropic Messages API response`, { response });
208
+ require_logger.logger.debug(`Anthropic Messages API response`, { response });
211
209
  if (require_cache.isCacheEnabled()) try {
212
210
  await cache.set(cacheKey, JSON.stringify(response));
213
211
  } catch (err) {
214
- require_logger.logger_default.error(`Failed to cache response: ${String(err)}`);
212
+ require_logger.logger.error(`Failed to cache response: ${String(err)}`);
215
213
  }
216
214
  const finishReason = require_chat.normalizeFinishReason(response.stop_reason);
217
215
  let output = require_util$1.outputFromMessage(response, config.showThinking ?? true);
218
216
  if (processedOutputFormat?.type === "json_schema" && typeof output === "string") try {
219
217
  output = JSON.parse(output);
220
218
  } catch (error) {
221
- require_logger.logger_default.error(`Failed to parse JSON output from structured outputs: ${error}`);
219
+ require_logger.logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
222
220
  }
223
221
  return {
224
222
  output,
@@ -228,7 +226,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
228
226
  };
229
227
  }
230
228
  } catch (err) {
231
- require_logger.logger_default.error(`Anthropic Messages API call error: ${err instanceof Error ? err.message : String(err)}`);
229
+ require_logger.logger.error(`Anthropic Messages API call error: ${err instanceof Error ? err.message : String(err)}`);
232
230
  if (err instanceof _anthropic_ai_sdk.APIError && err.error) {
233
231
  const errorDetails = err.error;
234
232
  return { error: `API call error: ${errorDetails.error.message}, status ${err.status}, type ${errorDetails.error.type}` };
@@ -237,18 +235,18 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
237
235
  }
238
236
  }
239
237
  };
240
-
241
238
  //#endregion
242
- Object.defineProperty(exports, 'AnthropicGenericProvider', {
243
- enumerable: true,
244
- get: function () {
245
- return AnthropicGenericProvider;
246
- }
239
+ Object.defineProperty(exports, "AnthropicGenericProvider", {
240
+ enumerable: true,
241
+ get: function() {
242
+ return AnthropicGenericProvider;
243
+ }
247
244
  });
248
- Object.defineProperty(exports, 'AnthropicMessagesProvider', {
249
- enumerable: true,
250
- get: function () {
251
- return AnthropicMessagesProvider;
252
- }
245
+ Object.defineProperty(exports, "AnthropicMessagesProvider", {
246
+ enumerable: true,
247
+ get: function() {
248
+ return AnthropicMessagesProvider;
249
+ }
253
250
  });
254
- //# sourceMappingURL=messages-XhiwCbi4.cjs.map
251
+
252
+ //# sourceMappingURL=messages-Bs1kC7P4.cjs.map
@@ -1,15 +1,14 @@
1
1
  #!/usr/bin/env node
2
- import { C as getEnvString, S as getEnvInt, o as logger_default, x as getEnvFloat } from "./logger-LSBxlt7a.js";
3
- import { S as transformTools, x as transformToolChoice } from "./fetch-CXZI9RRr.js";
4
- import { o as getCache, s as isCacheEnabled } from "./cache-jsiwsAJv.js";
5
- import { g as maybeLoadToolsFromExternalFile, h as maybeLoadResponseFormatFromExternalFile } from "./util-_h4pVqrz.js";
6
- import { n as withGenAISpan } from "./genaiTracer-CqNnnXrE.js";
7
- import { i as normalizeFinishReason, n as MCPClient } from "./chat-BcPjZXIp.js";
8
- import { a as createEmptyTokenUsage } from "./tokenUsageUtils-DmZSD2eU.js";
9
- import { n as transformMCPToolsToAnthropic } from "./transform-DeGlxb0D.js";
10
- import { a as parseMessages, i as outputFromMessage, n as calculateAnthropicCost, o as processAnthropicTools, r as getTokenUsage, t as ANTHROPIC_MODELS } from "./util-CoQjmE3u.js";
2
+ import { C as getEnvString, S as getEnvInt, o as logger, x as getEnvFloat } from "./logger-KkObSCzq.js";
3
+ import { S as transformTools, x as transformToolChoice } from "./fetch-Dxpd4_sr.js";
4
+ import { o as getCache, s as isCacheEnabled } from "./cache-BVeDlD87.js";
5
+ import { g as maybeLoadToolsFromExternalFile, h as maybeLoadResponseFormatFromExternalFile } from "./util-C1CeHl-P.js";
6
+ import { n as withGenAISpan } from "./genaiTracer-C1rxGO8Q.js";
7
+ import { i as normalizeFinishReason, n as MCPClient } from "./chat-BiKyneZl.js";
8
+ import { a as createEmptyTokenUsage } from "./tokenUsageUtils-DflFMjS0.js";
9
+ import { n as transformMCPToolsToAnthropic } from "./transform-D5HsjduX.js";
10
+ import { a as parseMessages, i as outputFromMessage, n as calculateAnthropicCost, o as processAnthropicTools, r as getTokenUsage, t as ANTHROPIC_MODELS } from "./util-B3xGByQh.js";
11
11
  import Anthropic, { APIError } from "@anthropic-ai/sdk";
12
-
13
12
  //#region src/providers/anthropic/generic.ts
14
13
  /**
15
14
  * Generic provider class for Anthropic APIs
@@ -55,7 +54,6 @@ var AnthropicGenericProvider = class {
55
54
  throw new Error("Not implemented: callApi must be implemented by subclasses");
56
55
  }
57
56
  };
58
-
59
57
  //#endregion
60
58
  //#region src/providers/anthropic/messages.ts
61
59
  var AnthropicMessagesProvider = class AnthropicMessagesProvider extends AnthropicGenericProvider {
@@ -64,7 +62,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
64
62
  static ANTHROPIC_MODELS = ANTHROPIC_MODELS;
65
63
  static ANTHROPIC_MODELS_NAMES = ANTHROPIC_MODELS.map((model) => model.id);
66
64
  constructor(modelName, options = {}) {
67
- if (!AnthropicMessagesProvider.ANTHROPIC_MODELS_NAMES.includes(modelName)) logger_default.warn(`Using unknown Anthropic model: ${modelName}`);
65
+ if (!AnthropicMessagesProvider.ANTHROPIC_MODELS_NAMES.includes(modelName)) logger.warn(`Using unknown Anthropic model: ${modelName}`);
68
66
  super(modelName, options);
69
67
  const { id } = options;
70
68
  this.id = id ? () => id : this.id;
@@ -147,7 +145,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
147
145
  } } : {},
148
146
  ...typeof config?.extra_body === "object" && config.extra_body ? config.extra_body : {}
149
147
  };
150
- logger_default.debug("Calling Anthropic Messages API", { params });
148
+ logger.debug("Calling Anthropic Messages API", { params });
151
149
  const headers = { ...config.headers || {} };
152
150
  let allBetaFeatures = [...config.beta || [], ...requiredBetaFeatures];
153
151
  if (processedOutputFormat && !allBetaFeatures.includes("structured-outputs-2025-11-13")) allBetaFeatures.push("structured-outputs-2025-11-13");
@@ -158,7 +156,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
158
156
  if (isCacheEnabled()) {
159
157
  const cachedResponse = await cache.get(cacheKey);
160
158
  if (cachedResponse) {
161
- logger_default.debug(`Returning cached response for ${prompt}: ${cachedResponse}`);
159
+ logger.debug(`Returning cached response for ${prompt}: ${cachedResponse}`);
162
160
  try {
163
161
  const parsedCachedResponse = JSON.parse(cachedResponse);
164
162
  const finishReason = normalizeFinishReason(parsedCachedResponse.stop_reason);
@@ -166,7 +164,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
166
164
  if (processedOutputFormat?.type === "json_schema" && typeof output === "string") try {
167
165
  output = JSON.parse(output);
168
166
  } catch (error) {
169
- logger_default.error(`Failed to parse JSON output from structured outputs: ${error}`);
167
+ logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
170
168
  }
171
169
  return {
172
170
  output,
@@ -186,18 +184,18 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
186
184
  try {
187
185
  if (shouldStream) {
188
186
  const finalMessage = await (await this.anthropic.messages.stream(params, { ...typeof headers === "object" && Object.keys(headers).length > 0 ? { headers } : {} })).finalMessage();
189
- logger_default.debug(`Anthropic Messages API streaming complete`, { finalMessage });
187
+ logger.debug(`Anthropic Messages API streaming complete`, { finalMessage });
190
188
  if (isCacheEnabled()) try {
191
189
  await cache.set(cacheKey, JSON.stringify(finalMessage));
192
190
  } catch (err) {
193
- logger_default.error(`Failed to cache response: ${String(err)}`);
191
+ logger.error(`Failed to cache response: ${String(err)}`);
194
192
  }
195
193
  const finishReason = normalizeFinishReason(finalMessage.stop_reason);
196
194
  let output = outputFromMessage(finalMessage, config.showThinking ?? true);
197
195
  if (processedOutputFormat?.type === "json_schema" && typeof output === "string") try {
198
196
  output = JSON.parse(output);
199
197
  } catch (error) {
200
- logger_default.error(`Failed to parse JSON output from structured outputs: ${error}`);
198
+ logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
201
199
  }
202
200
  return {
203
201
  output,
@@ -207,18 +205,18 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
207
205
  };
208
206
  } else {
209
207
  const response = await this.anthropic.messages.create(params, { ...typeof headers === "object" && Object.keys(headers).length > 0 ? { headers } : {} });
210
- logger_default.debug(`Anthropic Messages API response`, { response });
208
+ logger.debug(`Anthropic Messages API response`, { response });
211
209
  if (isCacheEnabled()) try {
212
210
  await cache.set(cacheKey, JSON.stringify(response));
213
211
  } catch (err) {
214
- logger_default.error(`Failed to cache response: ${String(err)}`);
212
+ logger.error(`Failed to cache response: ${String(err)}`);
215
213
  }
216
214
  const finishReason = normalizeFinishReason(response.stop_reason);
217
215
  let output = outputFromMessage(response, config.showThinking ?? true);
218
216
  if (processedOutputFormat?.type === "json_schema" && typeof output === "string") try {
219
217
  output = JSON.parse(output);
220
218
  } catch (error) {
221
- logger_default.error(`Failed to parse JSON output from structured outputs: ${error}`);
219
+ logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
222
220
  }
223
221
  return {
224
222
  output,
@@ -228,7 +226,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
228
226
  };
229
227
  }
230
228
  } catch (err) {
231
- logger_default.error(`Anthropic Messages API call error: ${err instanceof Error ? err.message : String(err)}`);
229
+ logger.error(`Anthropic Messages API call error: ${err instanceof Error ? err.message : String(err)}`);
232
230
  if (err instanceof APIError && err.error) {
233
231
  const errorDetails = err.error;
234
232
  return { error: `API call error: ${errorDetails.error.message}, status ${err.status}, type ${errorDetails.error.type}` };
@@ -237,7 +235,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
237
235
  }
238
236
  }
239
237
  };
240
-
241
238
  //#endregion
242
239
  export { AnthropicGenericProvider as n, AnthropicMessagesProvider as t };
243
- //# sourceMappingURL=messages-CGPPidQr.js.map
240
+
241
+ //# sourceMappingURL=messages-D0lx5qK7.js.map
@@ -0,0 +1,240 @@
1
+ import { b as getEnvString, i as logger, v as getEnvFloat, y as getEnvInt } from "./logger-DLcq4dWf.js";
2
+ import { C as transformTools, S as transformToolChoice } from "./fetch-HaqdX7U1.js";
3
+ import { a as isCacheEnabled, i as getCache } from "./cache-i1P6crbO.js";
4
+ import { a as createEmptyTokenUsage } from "./tokenUsageUtils-BDGe-iyI.js";
5
+ import { n as withGenAISpan } from "./genaiTracer-70Z8BIuV.js";
6
+ import { D as maybeLoadResponseFormatFromExternalFile, O as maybeLoadToolsFromExternalFile } from "./util-ZzmqNPlg.js";
7
+ import { i as normalizeFinishReason, n as MCPClient } from "./chat-DJIw17u0.js";
8
+ import { n as transformMCPToolsToAnthropic } from "./transform-uAytVuyX.js";
9
+ import { a as parseMessages, i as outputFromMessage, n as calculateAnthropicCost, o as processAnthropicTools, r as getTokenUsage, t as ANTHROPIC_MODELS } from "./util-Bv6uGDfH.js";
10
+ import Anthropic, { APIError } from "@anthropic-ai/sdk";
11
+ //#region src/providers/anthropic/generic.ts
12
+ /**
13
+ * Generic provider class for Anthropic APIs
14
+ * Serves as a base class with shared functionality for all Anthropic providers
15
+ */
16
+ var AnthropicGenericProvider = class {
17
+ modelName;
18
+ config;
19
+ env;
20
+ apiKey;
21
+ anthropic;
22
+ constructor(modelName, options = {}) {
23
+ const { config, id, env } = options;
24
+ this.env = env;
25
+ this.modelName = modelName;
26
+ this.config = config || {};
27
+ this.apiKey = this.getApiKey();
28
+ this.anthropic = new Anthropic({
29
+ apiKey: this.apiKey,
30
+ baseURL: this.getApiBaseUrl()
31
+ });
32
+ this.id = id ? () => id : this.id;
33
+ }
34
+ id() {
35
+ return `anthropic:${this.modelName}`;
36
+ }
37
+ toString() {
38
+ return `[Anthropic Provider ${this.modelName}]`;
39
+ }
40
+ requiresApiKey() {
41
+ return true;
42
+ }
43
+ getApiKey() {
44
+ return this.config?.apiKey || this.env?.ANTHROPIC_API_KEY || getEnvString("ANTHROPIC_API_KEY");
45
+ }
46
+ getApiBaseUrl() {
47
+ return this.config?.apiBaseUrl || this.env?.ANTHROPIC_BASE_URL || getEnvString("ANTHROPIC_BASE_URL");
48
+ }
49
+ /**
50
+ * Base implementation - should be overridden by specific provider implementations
51
+ */
52
+ async callApi(_prompt, _context) {
53
+ throw new Error("Not implemented: callApi must be implemented by subclasses");
54
+ }
55
+ };
56
+ //#endregion
57
+ //#region src/providers/anthropic/messages.ts
58
+ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends AnthropicGenericProvider {
59
+ mcpClient = null;
60
+ initializationPromise = null;
61
+ static ANTHROPIC_MODELS = ANTHROPIC_MODELS;
62
+ static ANTHROPIC_MODELS_NAMES = ANTHROPIC_MODELS.map((model) => model.id);
63
+ constructor(modelName, options = {}) {
64
+ if (!AnthropicMessagesProvider.ANTHROPIC_MODELS_NAMES.includes(modelName)) logger.warn(`Using unknown Anthropic model: ${modelName}`);
65
+ super(modelName, options);
66
+ const { id } = options;
67
+ this.id = id ? () => id : this.id;
68
+ if (this.config.mcp?.enabled) this.initializationPromise = this.initializeMCP();
69
+ }
70
+ async initializeMCP() {
71
+ this.mcpClient = new MCPClient(this.config.mcp);
72
+ await this.mcpClient.initialize();
73
+ }
74
+ async cleanup() {
75
+ if (this.mcpClient) {
76
+ await this.initializationPromise;
77
+ await this.mcpClient.cleanup();
78
+ this.mcpClient = null;
79
+ }
80
+ }
81
+ toString() {
82
+ if (!this.modelName) throw new Error("Anthropic model name is not set. Please provide a valid model name.");
83
+ return `[Anthropic Messages Provider ${this.modelName}]`;
84
+ }
85
+ async callApi(prompt, context) {
86
+ if (this.initializationPromise != null) await this.initializationPromise;
87
+ if (!this.apiKey) throw new Error("Anthropic API key is not set. Set the ANTHROPIC_API_KEY environment variable or add `apiKey` to the provider config.");
88
+ if (!this.modelName) throw new Error("Anthropic model name is not set. Please provide a valid model name.");
89
+ const spanContext = {
90
+ system: "anthropic",
91
+ operationName: "chat",
92
+ model: this.modelName,
93
+ providerId: this.id(),
94
+ maxTokens: this.config.max_tokens,
95
+ temperature: this.config.temperature,
96
+ testIndex: context?.test?.vars?.__testIdx,
97
+ promptLabel: context?.prompt?.label,
98
+ traceparent: context?.traceparent,
99
+ requestBody: prompt
100
+ };
101
+ const resultExtractor = (response) => {
102
+ const result = {};
103
+ if (response.tokenUsage) result.tokenUsage = {
104
+ prompt: response.tokenUsage.prompt,
105
+ completion: response.tokenUsage.completion,
106
+ total: response.tokenUsage.total,
107
+ cached: response.tokenUsage.cached
108
+ };
109
+ if (response.finishReason) result.finishReasons = [response.finishReason];
110
+ if (response.cached !== void 0) result.cacheHit = response.cached;
111
+ if (response.output !== void 0) result.responseBody = typeof response.output === "string" ? response.output : JSON.stringify(response.output);
112
+ return result;
113
+ };
114
+ return withGenAISpan(spanContext, () => this.callApiInternal(prompt, context), resultExtractor);
115
+ }
116
+ /**
117
+ * Internal implementation of callApi without tracing wrapper.
118
+ */
119
+ async callApiInternal(prompt, context) {
120
+ const config = {
121
+ ...this.config,
122
+ ...context?.prompt?.config
123
+ };
124
+ const { system, extractedMessages, thinking } = parseMessages(prompt);
125
+ let mcpTools = [];
126
+ if (this.mcpClient) mcpTools = transformMCPToolsToAnthropic(this.mcpClient.getAllTools());
127
+ const { processedTools: processedConfigTools, requiredBetaFeatures } = processAnthropicTools(transformTools(await maybeLoadToolsFromExternalFile(config.tools, context?.vars) || [], "anthropic"));
128
+ const allTools = [...mcpTools, ...processedConfigTools];
129
+ const processedOutputFormat = maybeLoadResponseFormatFromExternalFile(config.output_format, context?.vars);
130
+ const shouldStream = config.stream ?? false;
131
+ const params = {
132
+ model: this.modelName,
133
+ ...system ? { system } : {},
134
+ max_tokens: config?.max_tokens || getEnvInt("ANTHROPIC_MAX_TOKENS", config.thinking || thinking ? 2048 : 1024),
135
+ messages: extractedMessages,
136
+ stream: shouldStream,
137
+ temperature: config.thinking || thinking ? config.temperature : config.temperature || getEnvFloat("ANTHROPIC_TEMPERATURE", 0),
138
+ ...allTools.length > 0 ? { tools: allTools } : {},
139
+ ...config.tool_choice ? { tool_choice: transformToolChoice(config.tool_choice, "anthropic") } : {},
140
+ ...config.thinking || thinking ? { thinking: config.thinking || thinking } : {},
141
+ ...processedOutputFormat || config.effort ? { output_config: {
142
+ ...processedOutputFormat ? { format: processedOutputFormat } : {},
143
+ ...config.effort ? { effort: config.effort } : {}
144
+ } } : {},
145
+ ...typeof config?.extra_body === "object" && config.extra_body ? config.extra_body : {}
146
+ };
147
+ logger.debug("Calling Anthropic Messages API", { params });
148
+ const headers = { ...config.headers || {} };
149
+ let allBetaFeatures = [...config.beta || [], ...requiredBetaFeatures];
150
+ if (processedOutputFormat && !allBetaFeatures.includes("structured-outputs-2025-11-13")) allBetaFeatures.push("structured-outputs-2025-11-13");
151
+ allBetaFeatures = [...new Set(allBetaFeatures)];
152
+ if (allBetaFeatures.length > 0) headers["anthropic-beta"] = allBetaFeatures.join(",");
153
+ const cache = await getCache();
154
+ const cacheKey = `anthropic:${JSON.stringify(params)}`;
155
+ if (isCacheEnabled()) {
156
+ const cachedResponse = await cache.get(cacheKey);
157
+ if (cachedResponse) {
158
+ logger.debug(`Returning cached response for ${prompt}: ${cachedResponse}`);
159
+ try {
160
+ const parsedCachedResponse = JSON.parse(cachedResponse);
161
+ const finishReason = normalizeFinishReason(parsedCachedResponse.stop_reason);
162
+ let output = outputFromMessage(parsedCachedResponse, config.showThinking ?? true);
163
+ if (processedOutputFormat?.type === "json_schema" && typeof output === "string") try {
164
+ output = JSON.parse(output);
165
+ } catch (error) {
166
+ logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
167
+ }
168
+ return {
169
+ output,
170
+ tokenUsage: getTokenUsage(parsedCachedResponse, true),
171
+ ...finishReason && { finishReason },
172
+ cost: calculateAnthropicCost(this.modelName, config, parsedCachedResponse.usage?.input_tokens, parsedCachedResponse.usage?.output_tokens),
173
+ cached: true
174
+ };
175
+ } catch {
176
+ return {
177
+ output: cachedResponse,
178
+ tokenUsage: createEmptyTokenUsage()
179
+ };
180
+ }
181
+ }
182
+ }
183
+ try {
184
+ if (shouldStream) {
185
+ const finalMessage = await (await this.anthropic.messages.stream(params, { ...typeof headers === "object" && Object.keys(headers).length > 0 ? { headers } : {} })).finalMessage();
186
+ logger.debug(`Anthropic Messages API streaming complete`, { finalMessage });
187
+ if (isCacheEnabled()) try {
188
+ await cache.set(cacheKey, JSON.stringify(finalMessage));
189
+ } catch (err) {
190
+ logger.error(`Failed to cache response: ${String(err)}`);
191
+ }
192
+ const finishReason = normalizeFinishReason(finalMessage.stop_reason);
193
+ let output = outputFromMessage(finalMessage, config.showThinking ?? true);
194
+ if (processedOutputFormat?.type === "json_schema" && typeof output === "string") try {
195
+ output = JSON.parse(output);
196
+ } catch (error) {
197
+ logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
198
+ }
199
+ return {
200
+ output,
201
+ tokenUsage: getTokenUsage(finalMessage, false),
202
+ ...finishReason && { finishReason },
203
+ cost: calculateAnthropicCost(this.modelName, config, finalMessage.usage?.input_tokens, finalMessage.usage?.output_tokens)
204
+ };
205
+ } else {
206
+ const response = await this.anthropic.messages.create(params, { ...typeof headers === "object" && Object.keys(headers).length > 0 ? { headers } : {} });
207
+ logger.debug(`Anthropic Messages API response`, { response });
208
+ if (isCacheEnabled()) try {
209
+ await cache.set(cacheKey, JSON.stringify(response));
210
+ } catch (err) {
211
+ logger.error(`Failed to cache response: ${String(err)}`);
212
+ }
213
+ const finishReason = normalizeFinishReason(response.stop_reason);
214
+ let output = outputFromMessage(response, config.showThinking ?? true);
215
+ if (processedOutputFormat?.type === "json_schema" && typeof output === "string") try {
216
+ output = JSON.parse(output);
217
+ } catch (error) {
218
+ logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
219
+ }
220
+ return {
221
+ output,
222
+ tokenUsage: getTokenUsage(response, false),
223
+ ...finishReason && { finishReason },
224
+ cost: calculateAnthropicCost(this.modelName, config, response.usage?.input_tokens, response.usage?.output_tokens)
225
+ };
226
+ }
227
+ } catch (err) {
228
+ logger.error(`Anthropic Messages API call error: ${err instanceof Error ? err.message : String(err)}`);
229
+ if (err instanceof APIError && err.error) {
230
+ const errorDetails = err.error;
231
+ return { error: `API call error: ${errorDetails.error.message}, status ${err.status}, type ${errorDetails.error.type}` };
232
+ }
233
+ return { error: `API call error: ${err instanceof Error ? err.message : String(err)}` };
234
+ }
235
+ }
236
+ };
237
+ //#endregion
238
+ export { AnthropicGenericProvider as n, AnthropicMessagesProvider as t };
239
+
240
+ //# sourceMappingURL=messages-ZJk778GH.js.map