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,11 +1,9 @@
1
- const require_logger = require('./logger-B7sBeGa0.cjs');
2
- const require_fetch = require('./fetch-BmbD-v1L.cjs');
3
- const require_accounts = require('./accounts-Fl2J3_Fu.cjs');
1
+ const require_logger = require("./logger-Cp1GPUjj.cjs");
2
+ const require_fetch = require("./fetch-BPkYtG8K.cjs");
3
+ const require_accounts = require("./accounts-gtkH-5KX.cjs");
4
4
  let zod = require("zod");
5
5
  let posthog_node = require("posthog-node");
6
-
7
- //#region src/telemetry.ts
8
- const TelemetryEventSchema = zod.z.object({
6
+ zod.z.object({
9
7
  event: zod.z.enum([
10
8
  "assertion_used",
11
9
  "command_used",
@@ -36,7 +34,7 @@ let posthogClient = null;
36
34
  let isShuttingDown = false;
37
35
  function getPostHogClient() {
38
36
  if (require_logger.getEnvBool("PROMPTFOO_DISABLE_TELEMETRY") || require_logger.getEnvBool("IS_TESTING")) return null;
39
- if (posthogClient === null && require_fetch.POSTHOG_KEY) try {
37
+ if (posthogClient === null && "phc_E5n5uHnDo2eREJL1uqX1cIlbkoRby4yFWt3V94HqRRg") try {
40
38
  posthogClient = new posthog_node.PostHog(require_fetch.POSTHOG_KEY, {
41
39
  host: require_fetch.EVENTS_ENDPOINT,
42
40
  fetch: require_fetch.fetchWithProxy,
@@ -72,7 +70,7 @@ var Telemetry = class {
72
70
  });
73
71
  client.flush().catch(() => {});
74
72
  } catch (error) {
75
- require_logger.logger_default.debug(`PostHog identify error: ${error}`);
73
+ require_logger.logger.debug(`PostHog identify error: ${error}`);
76
74
  }
77
75
  }
78
76
  get disabled() {
@@ -103,7 +101,7 @@ var Telemetry = class {
103
101
  });
104
102
  client.flush().catch(() => {});
105
103
  } catch (error) {
106
- require_logger.logger_default.debug(`PostHog capture error: ${error}`);
104
+ require_logger.logger.debug(`PostHog capture error: ${error}`);
107
105
  }
108
106
  require_fetch.fetchWithProxy(require_fetch.R_ENDPOINT, {
109
107
  method: "POST",
@@ -127,7 +125,7 @@ var Telemetry = class {
127
125
  try {
128
126
  await client.shutdown();
129
127
  } catch (error) {
130
- require_logger.logger_default.debug(`PostHog shutdown error: ${error}`);
128
+ require_logger.logger.debug(`PostHog shutdown error: ${error}`);
131
129
  }
132
130
  }
133
131
  /**
@@ -145,7 +143,7 @@ var Telemetry = class {
145
143
  }, TELEMETRY_TIMEOUT_MS);
146
144
  if (!response.ok) throw new Error(`Failed to save consent: ${response.statusText}`);
147
145
  } catch (err) {
148
- require_logger.logger_default.debug(`Failed to save consent: ${err.message}`);
146
+ require_logger.logger.debug(`Failed to save consent: ${err.message}`);
149
147
  }
150
148
  }
151
149
  };
@@ -160,19 +158,18 @@ if (!process[SHUTDOWN_HANDLER_KEY]) {
160
158
  if (instance) instance.shutdown().catch(() => {});
161
159
  });
162
160
  }
163
- var telemetry_default = telemetry;
164
-
165
161
  //#endregion
166
- Object.defineProperty(exports, 'Telemetry', {
167
- enumerable: true,
168
- get: function () {
169
- return Telemetry;
170
- }
162
+ Object.defineProperty(exports, "Telemetry", {
163
+ enumerable: true,
164
+ get: function() {
165
+ return Telemetry;
166
+ }
171
167
  });
172
- Object.defineProperty(exports, 'telemetry_default', {
173
- enumerable: true,
174
- get: function () {
175
- return telemetry_default;
176
- }
168
+ Object.defineProperty(exports, "telemetry", {
169
+ enumerable: true,
170
+ get: function() {
171
+ return telemetry;
172
+ }
177
173
  });
178
- //# sourceMappingURL=telemetry-DQgVBCAb.cjs.map
174
+
175
+ //# sourceMappingURL=telemetry-DaX14Chu.cjs.map
@@ -1,11 +1,15 @@
1
- import { C as isCI, _ as getEnvBool, b as getEnvString, i as logger_default } from "./logger-CG1uZPbQ.js";
2
- import { A as EVENTS_ENDPOINT, D as CONSENT_ENDPOINT, I as POSTHOG_KEY, L as VERSION, j as R_ENDPOINT, r as fetchWithTimeout, t as fetchWithProxy } from "./fetch-D3OHf-lV.js";
3
- import { a as getUserId, i as getUserEmail, n as getAuthMethod, o as isLoggedIntoCloud } from "./accounts-CPDRAMND.js";
1
+ import { t as __exportAll } from "./chunk-DEq-mXcV.js";
2
+ import { C as isCI, _ as getEnvBool, b as getEnvString, i as logger } from "./logger-CT3IKMKA.js";
3
+ import { D as R_ENDPOINT, E as EVENTS_ENDPOINT, M as POSTHOG_KEY, N as VERSION, T as CONSENT_ENDPOINT, r as fetchWithTimeout, t as fetchWithProxy } from "./fetch-Cwxnd8zz.js";
4
+ import { a as getUserId, i as getUserEmail, n as getAuthMethod, o as isLoggedIntoCloud } from "./accounts-CiBLOnA7.js";
4
5
  import { z } from "zod";
5
6
  import { PostHog } from "posthog-node";
6
-
7
7
  //#region src/telemetry.ts
8
- const TelemetryEventSchema = z.object({
8
+ var telemetry_exports = /* @__PURE__ */ __exportAll({
9
+ Telemetry: () => Telemetry,
10
+ default: () => telemetry
11
+ });
12
+ z.object({
9
13
  event: z.enum([
10
14
  "assertion_used",
11
15
  "command_used",
@@ -36,7 +40,7 @@ let posthogClient = null;
36
40
  let isShuttingDown = false;
37
41
  function getPostHogClient() {
38
42
  if (getEnvBool("PROMPTFOO_DISABLE_TELEMETRY") || getEnvBool("IS_TESTING")) return null;
39
- if (posthogClient === null && POSTHOG_KEY) try {
43
+ if (posthogClient === null && "phc_E5n5uHnDo2eREJL1uqX1cIlbkoRby4yFWt3V94HqRRg") try {
40
44
  posthogClient = new PostHog(POSTHOG_KEY, {
41
45
  host: EVENTS_ENDPOINT,
42
46
  fetch: fetchWithProxy,
@@ -72,7 +76,7 @@ var Telemetry = class {
72
76
  });
73
77
  client.flush().catch(() => {});
74
78
  } catch (error) {
75
- logger_default.debug(`PostHog identify error: ${error}`);
79
+ logger.debug(`PostHog identify error: ${error}`);
76
80
  }
77
81
  }
78
82
  get disabled() {
@@ -103,7 +107,7 @@ var Telemetry = class {
103
107
  });
104
108
  client.flush().catch(() => {});
105
109
  } catch (error) {
106
- logger_default.debug(`PostHog capture error: ${error}`);
110
+ logger.debug(`PostHog capture error: ${error}`);
107
111
  }
108
112
  fetchWithProxy(R_ENDPOINT, {
109
113
  method: "POST",
@@ -127,7 +131,7 @@ var Telemetry = class {
127
131
  try {
128
132
  await client.shutdown();
129
133
  } catch (error) {
130
- logger_default.debug(`PostHog shutdown error: ${error}`);
134
+ logger.debug(`PostHog shutdown error: ${error}`);
131
135
  }
132
136
  }
133
137
  /**
@@ -145,7 +149,7 @@ var Telemetry = class {
145
149
  }, TELEMETRY_TIMEOUT_MS);
146
150
  if (!response.ok) throw new Error(`Failed to save consent: ${response.statusText}`);
147
151
  } catch (err) {
148
- logger_default.debug(`Failed to save consent: ${err.message}`);
152
+ logger.debug(`Failed to save consent: ${err.message}`);
149
153
  }
150
154
  }
151
155
  };
@@ -160,8 +164,7 @@ if (!process[SHUTDOWN_HANDLER_KEY]) {
160
164
  if (instance) instance.shutdown().catch(() => {});
161
165
  });
162
166
  }
163
- var telemetry_default = telemetry;
164
-
165
167
  //#endregion
166
- export { telemetry_default as n, Telemetry as t };
167
- //# sourceMappingURL=telemetry-BedSm-bZ.js.map
168
+ export { telemetry_exports as n, telemetry as t };
169
+
170
+ //# sourceMappingURL=telemetry-Dthj_BbD.js.map
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ import "./logger-KkObSCzq.js";
3
+ import "./fetch-Dxpd4_sr.js";
4
+ import "./accounts-Bm2D8Db9.js";
5
+ import "./cloud-C0dlstV_.js";
6
+ import { r as telemetry } from "./telemetry-CMrFgtPB.js";
7
+ export { telemetry as default };
@@ -16,7 +16,7 @@ function ellipsize(str, maxLen) {
16
16
  function escapeRegExp(str) {
17
17
  return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
18
18
  }
19
-
20
19
  //#endregion
21
20
  export { escapeRegExp as n, ellipsize as t };
22
- //# sourceMappingURL=text-oiSbwSOI.js.map
21
+
22
+ //# sourceMappingURL=text-B_UCRPp2.js.map
@@ -1,4 +1,3 @@
1
-
2
1
  //#region src/util/text.ts
3
2
  /**
4
3
  * Truncates a string to a maximum length, adding an ellipsis (...) if truncated.
@@ -17,18 +16,18 @@ function ellipsize(str, maxLen) {
17
16
  function escapeRegExp(str) {
18
17
  return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
19
18
  }
20
-
21
19
  //#endregion
22
- Object.defineProperty(exports, 'ellipsize', {
23
- enumerable: true,
24
- get: function () {
25
- return ellipsize;
26
- }
20
+ Object.defineProperty(exports, "ellipsize", {
21
+ enumerable: true,
22
+ get: function() {
23
+ return ellipsize;
24
+ }
27
25
  });
28
- Object.defineProperty(exports, 'escapeRegExp', {
29
- enumerable: true,
30
- get: function () {
31
- return escapeRegExp;
32
- }
26
+ Object.defineProperty(exports, "escapeRegExp", {
27
+ enumerable: true,
28
+ get: function() {
29
+ return escapeRegExp;
30
+ }
33
31
  });
34
- //# sourceMappingURL=text-oKzCBnK6.cjs.map
32
+
33
+ //# sourceMappingURL=text-CW1cyrwj.cjs.map
@@ -17,7 +17,7 @@ function ellipsize(str, maxLen) {
17
17
  function escapeRegExp(str) {
18
18
  return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
19
19
  }
20
-
21
20
  //#endregion
22
21
  export { escapeRegExp as n, ellipsize as t };
23
- //# sourceMappingURL=text-B_IrO4GZ.js.map
22
+
23
+ //# sourceMappingURL=text-Db-Wt2u2.js.map
@@ -0,0 +1,22 @@
1
+ //#region src/util/text.ts
2
+ /**
3
+ * Truncates a string to a maximum length, adding an ellipsis (...) if truncated.
4
+ * @param str The string to truncate
5
+ * @param maxLen The maximum length of the resulting string, including the ellipsis
6
+ * @returns The truncated string, with ellipsis if necessary
7
+ */
8
+ function ellipsize(str, maxLen) {
9
+ if (str.length > maxLen) return str.slice(0, maxLen - 3) + "...";
10
+ return str;
11
+ }
12
+ /**
13
+ * Escapes special regex characters in a string.
14
+ * Use this when building regex patterns from dynamic input to prevent ReDoS attacks.
15
+ */
16
+ function escapeRegExp(str) {
17
+ return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
18
+ }
19
+ //#endregion
20
+ export { escapeRegExp as n, ellipsize as t };
21
+
22
+ //# sourceMappingURL=text-TIv0QYnd.js.map
@@ -132,7 +132,7 @@ function normalizeTokenUsage(tokenUsage) {
132
132
  assertions: tokenUsage?.assertions || createEmptyAssertions()
133
133
  };
134
134
  }
135
-
136
135
  //#endregion
137
136
  export { createEmptyTokenUsage as a, createEmptyAssertions as i, accumulateResponseTokenUsage as n, normalizeTokenUsage as o, accumulateTokenUsage as r, accumulateAssertionTokenUsage as t };
138
- //# sourceMappingURL=tokenUsageUtils-FZd5O_4A.js.map
137
+
138
+ //# sourceMappingURL=tokenUsageUtils-BDGe-iyI.js.map
@@ -133,7 +133,7 @@ function normalizeTokenUsage(tokenUsage) {
133
133
  assertions: tokenUsage?.assertions || createEmptyAssertions()
134
134
  };
135
135
  }
136
-
137
136
  //#endregion
138
137
  export { createEmptyTokenUsage as a, createEmptyAssertions as i, accumulateResponseTokenUsage as n, normalizeTokenUsage as o, accumulateTokenUsage as r, accumulateAssertionTokenUsage as t };
139
- //# sourceMappingURL=tokenUsageUtils-DmZSD2eU.js.map
138
+
139
+ //# sourceMappingURL=tokenUsageUtils-DflFMjS0.js.map
@@ -0,0 +1,138 @@
1
+ //#region src/util/tokenUsageUtils.ts
2
+ /**
3
+ * Helper to create empty completion details
4
+ */
5
+ function createEmptyCompletionDetails() {
6
+ return {
7
+ reasoning: 0,
8
+ acceptedPrediction: 0,
9
+ rejectedPrediction: 0
10
+ };
11
+ }
12
+ /**
13
+ * Create an empty assertions token usage object.
14
+ */
15
+ function createEmptyAssertions() {
16
+ return {
17
+ total: 0,
18
+ prompt: 0,
19
+ completion: 0,
20
+ cached: 0,
21
+ numRequests: 0,
22
+ completionDetails: createEmptyCompletionDetails()
23
+ };
24
+ }
25
+ /**
26
+ * Create an empty token usage object with all fields initialized to zero.
27
+ */
28
+ function createEmptyTokenUsage() {
29
+ return {
30
+ prompt: 0,
31
+ completion: 0,
32
+ cached: 0,
33
+ total: 0,
34
+ numRequests: 0,
35
+ completionDetails: createEmptyCompletionDetails(),
36
+ assertions: createEmptyAssertions()
37
+ };
38
+ }
39
+ /**
40
+ * Helper to accumulate numeric values
41
+ */
42
+ function addNumbers(a, b) {
43
+ return (a ?? 0) + (b ?? 0);
44
+ }
45
+ /**
46
+ * Helper to accumulate completion details
47
+ */
48
+ function accumulateCompletionDetails(target, update) {
49
+ if (!update) return target;
50
+ return {
51
+ reasoning: addNumbers(target?.reasoning, update.reasoning),
52
+ acceptedPrediction: addNumbers(target?.acceptedPrediction, update.acceptedPrediction),
53
+ rejectedPrediction: addNumbers(target?.rejectedPrediction, update.rejectedPrediction)
54
+ };
55
+ }
56
+ /**
57
+ * Accumulate token usage into a target object. Mutates {@code target}.
58
+ * @param target Object to update
59
+ * @param update Usage to add
60
+ * @param incrementRequests Whether to increment numRequests when update is provided but doesn't specify numRequests
61
+ */
62
+ function accumulateTokenUsage(target, update, incrementRequests = false) {
63
+ if (!update) return;
64
+ target.prompt = addNumbers(target.prompt, update.prompt);
65
+ target.completion = addNumbers(target.completion, update.completion);
66
+ target.cached = addNumbers(target.cached, update.cached);
67
+ target.total = addNumbers(target.total, update.total);
68
+ if (update.numRequests !== void 0) target.numRequests = addNumbers(target.numRequests, update.numRequests);
69
+ else if (incrementRequests) target.numRequests = (target.numRequests ?? 0) + 1;
70
+ if (update.completionDetails) target.completionDetails = accumulateCompletionDetails(target.completionDetails, update.completionDetails);
71
+ if (update.assertions) {
72
+ if (!target.assertions) target.assertions = {
73
+ total: 0,
74
+ prompt: 0,
75
+ completion: 0,
76
+ cached: 0,
77
+ numRequests: 0
78
+ };
79
+ target.assertions.total = addNumbers(target.assertions.total, update.assertions.total);
80
+ target.assertions.prompt = addNumbers(target.assertions.prompt, update.assertions.prompt);
81
+ target.assertions.completion = addNumbers(target.assertions.completion, update.assertions.completion);
82
+ target.assertions.cached = addNumbers(target.assertions.cached, update.assertions.cached);
83
+ target.assertions.numRequests = addNumbers(target.assertions.numRequests, update.assertions.numRequests);
84
+ if (update.assertions.completionDetails) target.assertions.completionDetails = accumulateCompletionDetails(target.assertions.completionDetails, update.assertions.completionDetails);
85
+ }
86
+ }
87
+ /**
88
+ * Accumulate token usage specifically for assertions.
89
+ * This function operates directly on an assertions object rather than a full TokenUsage object.
90
+ * @param target Assertions object to update
91
+ * @param update Partial token usage that may contain assertion-related fields
92
+ */
93
+ function accumulateAssertionTokenUsage(target, update) {
94
+ if (!update) return;
95
+ target.total = addNumbers(target.total, update.total);
96
+ target.prompt = addNumbers(target.prompt, update.prompt);
97
+ target.completion = addNumbers(target.completion, update.completion);
98
+ target.cached = addNumbers(target.cached, update.cached);
99
+ if (update.completionDetails) target.completionDetails = accumulateCompletionDetails(target.completionDetails, update.completionDetails);
100
+ }
101
+ /**
102
+ * Accumulate token usage from a response, handling the common pattern of
103
+ * incrementing numRequests when no token usage is provided.
104
+ * @param target Object to update
105
+ * @param response Response that may contain token usage
106
+ */
107
+ function accumulateResponseTokenUsage(target, response, options) {
108
+ const countAsRequest = options?.countAsRequest ?? true;
109
+ if (response?.tokenUsage) if (countAsRequest) {
110
+ accumulateTokenUsage(target, response.tokenUsage);
111
+ if (response.tokenUsage.numRequests === void 0) target.numRequests = (target.numRequests ?? 0) + 1;
112
+ } else accumulateTokenUsage(target, {
113
+ ...response.tokenUsage,
114
+ numRequests: void 0
115
+ });
116
+ else if (response && countAsRequest) target.numRequests = (target.numRequests ?? 0) + 1;
117
+ }
118
+ /**
119
+ * Normalize token usage from a provider response into a standard TokenUsage object.
120
+ * Provides default values for all fields if not present in the response.
121
+ * @param tokenUsage Token usage from provider response (may be partial or undefined)
122
+ * @returns Fully populated TokenUsage object with defaults
123
+ */
124
+ function normalizeTokenUsage(tokenUsage) {
125
+ return {
126
+ total: tokenUsage?.total || 0,
127
+ prompt: tokenUsage?.prompt || 0,
128
+ completion: tokenUsage?.completion || 0,
129
+ cached: tokenUsage?.cached || 0,
130
+ numRequests: tokenUsage?.numRequests || 0,
131
+ completionDetails: tokenUsage?.completionDetails || createEmptyCompletionDetails(),
132
+ assertions: tokenUsage?.assertions || createEmptyAssertions()
133
+ };
134
+ }
135
+ //#endregion
136
+ export { createEmptyTokenUsage as a, createEmptyAssertions as i, accumulateResponseTokenUsage as n, normalizeTokenUsage as o, accumulateTokenUsage as r, accumulateAssertionTokenUsage as t };
137
+
138
+ //# sourceMappingURL=tokenUsageUtils-NYT-WKS6.js.map
@@ -1,4 +1,3 @@
1
-
2
1
  //#region src/util/tokenUsageUtils.ts
3
2
  /**
4
3
  * Helper to create empty completion details
@@ -133,42 +132,42 @@ function normalizeTokenUsage(tokenUsage) {
133
132
  assertions: tokenUsage?.assertions || createEmptyAssertions()
134
133
  };
135
134
  }
136
-
137
135
  //#endregion
138
- Object.defineProperty(exports, 'accumulateAssertionTokenUsage', {
139
- enumerable: true,
140
- get: function () {
141
- return accumulateAssertionTokenUsage;
142
- }
136
+ Object.defineProperty(exports, "accumulateAssertionTokenUsage", {
137
+ enumerable: true,
138
+ get: function() {
139
+ return accumulateAssertionTokenUsage;
140
+ }
143
141
  });
144
- Object.defineProperty(exports, 'accumulateResponseTokenUsage', {
145
- enumerable: true,
146
- get: function () {
147
- return accumulateResponseTokenUsage;
148
- }
142
+ Object.defineProperty(exports, "accumulateResponseTokenUsage", {
143
+ enumerable: true,
144
+ get: function() {
145
+ return accumulateResponseTokenUsage;
146
+ }
149
147
  });
150
- Object.defineProperty(exports, 'accumulateTokenUsage', {
151
- enumerable: true,
152
- get: function () {
153
- return accumulateTokenUsage;
154
- }
148
+ Object.defineProperty(exports, "accumulateTokenUsage", {
149
+ enumerable: true,
150
+ get: function() {
151
+ return accumulateTokenUsage;
152
+ }
155
153
  });
156
- Object.defineProperty(exports, 'createEmptyAssertions', {
157
- enumerable: true,
158
- get: function () {
159
- return createEmptyAssertions;
160
- }
154
+ Object.defineProperty(exports, "createEmptyAssertions", {
155
+ enumerable: true,
156
+ get: function() {
157
+ return createEmptyAssertions;
158
+ }
161
159
  });
162
- Object.defineProperty(exports, 'createEmptyTokenUsage', {
163
- enumerable: true,
164
- get: function () {
165
- return createEmptyTokenUsage;
166
- }
160
+ Object.defineProperty(exports, "createEmptyTokenUsage", {
161
+ enumerable: true,
162
+ get: function() {
163
+ return createEmptyTokenUsage;
164
+ }
167
165
  });
168
- Object.defineProperty(exports, 'normalizeTokenUsage', {
169
- enumerable: true,
170
- get: function () {
171
- return normalizeTokenUsage;
172
- }
166
+ Object.defineProperty(exports, "normalizeTokenUsage", {
167
+ enumerable: true,
168
+ get: function() {
169
+ return normalizeTokenUsage;
170
+ }
173
171
  });
174
- //# sourceMappingURL=tokenUsageUtils-CXhxVj72.cjs.map
172
+
173
+ //# sourceMappingURL=tokenUsageUtils-bVa1ga6f.cjs.map
@@ -1,13 +1,20 @@
1
- import { M as REQUEST_TIMEOUT_MS, P as logger_default, f as OPENAI_TRANSCRIPTION_MODELS, p as OpenAiGenericProvider, y as fetchWithCache } from "./server/index.js";
1
+ import { i as logger } from "./logger-DLcq4dWf.js";
2
+ import { p as REQUEST_TIMEOUT_MS } from "./fetch-HaqdX7U1.js";
3
+ import "./esm-CaIwzWR5.js";
4
+ import "./types-CzW2QFyi.js";
5
+ import { r as fetchWithCache } from "./cache-i1P6crbO.js";
6
+ import "./pythonUtils-D6fwaDSg.js";
7
+ import "./util-ZzmqNPlg.js";
8
+ import { t as OpenAiGenericProvider } from "./openai-j-sE2O7r.js";
9
+ import { i as OPENAI_TRANSCRIPTION_MODELS } from "./util-BV4XUC0n.js";
2
10
  import fs from "fs";
3
11
  import path from "path";
4
-
5
12
  //#region src/providers/openai/transcription.ts
6
13
  var OpenAiTranscriptionProvider = class OpenAiTranscriptionProvider extends OpenAiGenericProvider {
7
14
  static OPENAI_TRANSCRIPTION_MODEL_NAMES = OPENAI_TRANSCRIPTION_MODELS.map((model) => model.id);
8
15
  config;
9
16
  constructor(modelName, options = {}) {
10
- if (!OpenAiTranscriptionProvider.OPENAI_TRANSCRIPTION_MODEL_NAMES.includes(modelName)) logger_default.debug(`Using unknown transcription model: ${modelName}`);
17
+ if (!OpenAiTranscriptionProvider.OPENAI_TRANSCRIPTION_MODEL_NAMES.includes(modelName)) logger.debug(`Using unknown transcription model: ${modelName}`);
11
18
  super(modelName, options);
12
19
  this.config = options.config || {};
13
20
  }
@@ -63,7 +70,7 @@ var OpenAiTranscriptionProvider = class OpenAiTranscriptionProvider extends Open
63
70
  }, REQUEST_TIMEOUT_MS, "json", context?.bustCache ?? context?.debug));
64
71
  if (status < 200 || status >= 300) return { error: `API error: ${status} ${statusText}\n${typeof data === "string" ? data : JSON.stringify(data)}` };
65
72
  } catch (err) {
66
- logger_default.error("API call error", { error: err });
73
+ logger.error("API call error", { error: err });
67
74
  return { error: `API call error: ${String(err)}` };
68
75
  }
69
76
  if (data.error) return { error: typeof data.error === "string" ? data.error : JSON.stringify(data.error) };
@@ -108,12 +115,12 @@ var OpenAiTranscriptionProvider = class OpenAiTranscriptionProvider extends Open
108
115
  }
109
116
  };
110
117
  } catch (err) {
111
- logger_default.error("Transcription error", { error: err });
118
+ logger.error("Transcription error", { error: err });
112
119
  return { error: `Transcription error: ${String(err)}` };
113
120
  }
114
121
  }
115
122
  };
116
-
117
123
  //#endregion
118
124
  export { OpenAiTranscriptionProvider };
119
- //# sourceMappingURL=transcription-mYS9vd5v.js.map
125
+
126
+ //# sourceMappingURL=transcription-BNYURcXg.js.map
@@ -1,22 +1,20 @@
1
- import "./chunk-FhC4c-0y.js";
2
- import { i as logger_default } from "./logger-CG1uZPbQ.js";
3
- import "./esm-D2pZ87fL.js";
4
- import "./pythonUtils-hZ8LeQLv.js";
5
- import "./types-C5hEkb-x.js";
6
- import "./util-DQ984syk.js";
7
- import { h as REQUEST_TIMEOUT_MS } from "./fetch-D3OHf-lV.js";
8
- import { a as fetchWithCache } from "./cache-CIpsoBZR.js";
9
- import { t as OpenAiGenericProvider } from "./openai-PblZ3jUE.js";
10
- import { i as OPENAI_TRANSCRIPTION_MODELS } from "./util-D9eLdGfa.js";
1
+ import { i as logger } from "./logger-CT3IKMKA.js";
2
+ import "./esm-Cd1AjG1D.js";
3
+ import "./pythonUtils-D5nxkQ0P.js";
4
+ import "./types-DmyIJ-sR.js";
5
+ import "./util-BRYkYPTd.js";
6
+ import { p as REQUEST_TIMEOUT_MS } from "./fetch-Cwxnd8zz.js";
7
+ import { r as fetchWithCache } from "./cache-C4Nxf52C.js";
8
+ import { t as OpenAiGenericProvider } from "./openai-DElQ-fPX.js";
9
+ import { i as OPENAI_TRANSCRIPTION_MODELS } from "./util-Dnmk2mBQ.js";
11
10
  import fs from "fs";
12
11
  import path from "path";
13
-
14
12
  //#region src/providers/openai/transcription.ts
15
13
  var OpenAiTranscriptionProvider = class OpenAiTranscriptionProvider extends OpenAiGenericProvider {
16
14
  static OPENAI_TRANSCRIPTION_MODEL_NAMES = OPENAI_TRANSCRIPTION_MODELS.map((model) => model.id);
17
15
  config;
18
16
  constructor(modelName, options = {}) {
19
- if (!OpenAiTranscriptionProvider.OPENAI_TRANSCRIPTION_MODEL_NAMES.includes(modelName)) logger_default.debug(`Using unknown transcription model: ${modelName}`);
17
+ if (!OpenAiTranscriptionProvider.OPENAI_TRANSCRIPTION_MODEL_NAMES.includes(modelName)) logger.debug(`Using unknown transcription model: ${modelName}`);
20
18
  super(modelName, options);
21
19
  this.config = options.config || {};
22
20
  }
@@ -72,7 +70,7 @@ var OpenAiTranscriptionProvider = class OpenAiTranscriptionProvider extends Open
72
70
  }, REQUEST_TIMEOUT_MS, "json", context?.bustCache ?? context?.debug));
73
71
  if (status < 200 || status >= 300) return { error: `API error: ${status} ${statusText}\n${typeof data === "string" ? data : JSON.stringify(data)}` };
74
72
  } catch (err) {
75
- logger_default.error("API call error", { error: err });
73
+ logger.error("API call error", { error: err });
76
74
  return { error: `API call error: ${String(err)}` };
77
75
  }
78
76
  if (data.error) return { error: typeof data.error === "string" ? data.error : JSON.stringify(data.error) };
@@ -117,12 +115,12 @@ var OpenAiTranscriptionProvider = class OpenAiTranscriptionProvider extends Open
117
115
  }
118
116
  };
119
117
  } catch (err) {
120
- logger_default.error("Transcription error", { error: err });
118
+ logger.error("Transcription error", { error: err });
121
119
  return { error: `Transcription error: ${String(err)}` };
122
120
  }
123
121
  }
124
122
  };
125
-
126
123
  //#endregion
127
124
  export { OpenAiTranscriptionProvider };
128
- //# sourceMappingURL=transcription-X2-B4vkX.js.map
125
+
126
+ //# sourceMappingURL=transcription-B_OdaHp7.js.map