promptfoo 0.121.4 → 0.121.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/dist/src/{ListApp-DQkFNqE9.js → ListApp-BRUsT43Y.js} +1 -1
  2. package/dist/src/{accounts-Dy17bs4D.cjs → accounts-BIFntVWB.cjs} +4 -4
  3. package/dist/src/{accounts-F9d_5sMC.js → accounts-CLJHCDDb.js} +6 -6
  4. package/dist/src/{accounts-DhMYUUbu.js → accounts-CaLNYnf7.js} +4 -4
  5. package/dist/src/{accounts-DdJ2pHMI.js → accounts-bnyHT7Ju.js} +5 -5
  6. package/dist/src/{agentic-utils-w68v6_Dz.js → agentic-utils-B5krlibj.js} +3 -3
  7. package/dist/src/{agentic-utils-P172hM8B.js → agentic-utils-Ba67xmgs.js} +2 -2
  8. package/dist/src/{agentic-utils-qFlm6zes.js → agentic-utils-BclbiXiq.js} +3 -3
  9. package/dist/src/{agentic-utils-BpX5b23w.cjs → agentic-utils-D2x0wGhB.cjs} +2 -2
  10. package/dist/src/{agents-CgaMXvLM.js → agents-BGqaTDnr.js} +5 -5
  11. package/dist/src/{agents-8FDnTriG.js → agents-BV9yFpXX.js} +5 -5
  12. package/dist/src/{agents-aYPQLf8W.js → agents-BYdMl1UE.js} +4 -4
  13. package/dist/src/{agents-pQeBEXMm.js → agents-DhxWMCtH.js} +5 -5
  14. package/dist/src/{agents-D7-HGxUj.cjs → agents-DiWmQYH9.cjs} +4 -4
  15. package/dist/src/{agents-BahDpe5G.cjs → agents-WULPVjbH.cjs} +4 -4
  16. package/dist/src/{agents-DJ35I3Nt.js → agents-emVcx3yh.js} +5 -5
  17. package/dist/src/{agents-C-R_jfzI.js → agents-n6vPqV3i.js} +4 -4
  18. package/dist/src/{aimlapi-BCq3MHeL.js → aimlapi-BxqK9HF_.js} +7 -7
  19. package/dist/src/{aimlapi-qcK4OT55.cjs → aimlapi-BzLjZI_m.cjs} +6 -6
  20. package/dist/src/{aimlapi-BD6J9oKt.js → aimlapi-DR4pgeiC.js} +6 -6
  21. package/dist/src/{aimlapi-sgYnkE54.js → aimlapi-uPGp0Zdo.js} +7 -7
  22. package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -1
  23. package/dist/src/app/assets/Report-vjzrbgce.js +1 -0
  24. package/dist/src/app/assets/index-B3NQ8HTd.js +385 -0
  25. package/dist/src/app/assets/{index-BXGkeMwh.css → index-Cli2yAXv.css} +1 -1
  26. package/dist/src/app/index.html +27 -2
  27. package/dist/src/{audio-DcVKoInv.js → audio-BvpTOArF.js} +4 -4
  28. package/dist/src/{audio-BQtNuYBj.cjs → audio-C0vDeS0j.cjs} +3 -3
  29. package/dist/src/{audio-B7izf48x.js → audio-CScmnmEB.js} +4 -4
  30. package/dist/src/{audio-COrn8rM6.js → audio-Da8U9IS5.js} +3 -3
  31. package/dist/src/{base-fZ9wgg50.js → base-BOMaNEes.js} +3 -3
  32. package/dist/src/{base-PYJvBE1i.js → base-BTux96b1.js} +2 -2
  33. package/dist/src/{base-D-670DX8.cjs → base-Tw6uhH8K.cjs} +2 -2
  34. package/dist/src/{base-yrI1Yal4.js → base-dYsl2hmL.js} +3 -3
  35. package/dist/src/{blobs-D2FAd1Q5.cjs → blobs-B95F_7vE.cjs} +2 -2
  36. package/dist/src/{blobs-C-F78Kfn.js → blobs-BW4U31ue.js} +2 -2
  37. package/dist/src/{blobs-BCZavS8s.js → blobs-D_gg8nbm.js} +3 -3
  38. package/dist/src/{blobs-BQWqnnvL.js → blobs-DjLby-uP.js} +3 -3
  39. package/dist/src/{cache-mb7c8hbp.js → cache-BI5BY7ey.js} +4 -4
  40. package/dist/src/{cache-DbLsVWB2.cjs → cache-BRkhlH3k.cjs} +1 -1
  41. package/dist/src/cache-BlC6aeJ0.js +3 -0
  42. package/dist/src/{cache-D5NZmMiT.js → cache-Bzttsk0X.js} +2 -2
  43. package/dist/src/{cache-C4Xb-hNb.js → cache-Cr-qWIbP.js} +3 -3
  44. package/dist/src/{cache-BIyPcp5v.cjs → cache-DGg-yTZG.cjs} +2 -2
  45. package/dist/src/{chat-Dr3DUQ0D.js → chat-BLOdH60v.js} +12 -12
  46. package/dist/src/{chat-BfPaS15_.js → chat-Cx_LkwvZ.js} +12 -12
  47. package/dist/src/{chat-mW0ORo8G.js → chat-D9nudO9b.js} +4 -4
  48. package/dist/src/{chat-I9izLm49.js → chat-DChSH_Es.js} +12 -12
  49. package/dist/src/{chat-MKxMnZJZ.js → chat-DG2LkwLq.js} +2 -2
  50. package/dist/src/{chat-BPXSW8Bv.cjs → chat-DH97tVV9.cjs} +2 -2
  51. package/dist/src/{chat-0bwXjVP0.js → chat-aMQZw6R7.js} +4 -4
  52. package/dist/src/{chat-CclRbxGf.cjs → chat-vYqqv1gP.cjs} +11 -11
  53. package/dist/src/{chatkit-zUIVoDos.js → chatkit-B8X34dQc.js} +4 -4
  54. package/dist/src/{chatkit-Cv6AhukM.js → chatkit-BXu42Qwt.js} +3 -3
  55. package/dist/src/{chatkit-CJnHRRMM.js → chatkit-CbMRoeYw.js} +4 -4
  56. package/dist/src/{chatkit-BoWoSgXl.cjs → chatkit-D44VyUyB.cjs} +3 -3
  57. package/dist/src/{claude-agent-sdk-CPJo3dBQ.cjs → claude-agent-sdk-BRq0bbIK.cjs} +8 -8
  58. package/dist/src/{claude-agent-sdk-BQNuLaAK.js → claude-agent-sdk-BjriSVRZ.js} +7 -7
  59. package/dist/src/{claude-agent-sdk-Dtq_L-Sc.js → claude-agent-sdk-BzNZeZ0N.js} +7 -7
  60. package/dist/src/{claude-agent-sdk-nfAIcxNf.js → claude-agent-sdk-DYv_AJ8u.js} +7 -7
  61. package/dist/src/cloud-CoD5OacT.js +3 -0
  62. package/dist/src/{cloud-DQZ5sVjW.js → cloud-Da0bofJd.js} +3 -3
  63. package/dist/src/{cloudflare-ai-BIB567w6.js → cloudflare-ai-CXC4b1EU.js} +4 -4
  64. package/dist/src/{cloudflare-ai-DlKr0rY7.js → cloudflare-ai-CyBoIs1Q.js} +6 -6
  65. package/dist/src/{cloudflare-ai-DGLte7Py.js → cloudflare-ai-DGOwgexC.js} +6 -6
  66. package/dist/src/{cloudflare-ai-Dl3N9OVD.cjs → cloudflare-ai-DJv5qnyb.cjs} +4 -4
  67. package/dist/src/{cloudflare-gateway-BDZrYydE.js → cloudflare-gateway-1sAoOyft.js} +5 -5
  68. package/dist/src/{cloudflare-gateway-CiIZHU0Q.js → cloudflare-gateway-D-dnkzCF.js} +5 -5
  69. package/dist/src/{cloudflare-gateway-BYDp495F.cjs → cloudflare-gateway-DKVjkDav.cjs} +3 -3
  70. package/dist/src/{cloudflare-gateway-DI1HNP5F.js → cloudflare-gateway-TJkVrZlB.js} +3 -3
  71. package/dist/src/codex-app-server-CCLjqCh9.js +1915 -0
  72. package/dist/src/codex-app-server-CCe0TiDc.js +1915 -0
  73. package/dist/src/codex-app-server-CPW1LFwh.js +1916 -0
  74. package/dist/src/codex-app-server-VMRnjZ68.cjs +1920 -0
  75. package/dist/src/codex-sdk-1jm_qPHf.js +3 -0
  76. package/dist/src/{codex-sdk-C2_M2pl_.cjs → codex-sdk-Bd8UbO9q.cjs} +5 -5
  77. package/dist/src/{codex-sdk-CpqiOqDO.js → codex-sdk-BgEFQ70r.js} +6 -6
  78. package/dist/src/{codex-sdk-Rtky3M4I.js → codex-sdk-Bzb_TqX9.js} +6 -6
  79. package/dist/src/{codex-sdk-CWEnH70W.cjs → codex-sdk-Danroptg.cjs} +1 -1
  80. package/dist/src/{codex-sdk-CErXn7qh.js → codex-sdk-DfvDTN33.js} +5 -5
  81. package/dist/src/{cometapi-CtJ-mS8R.js → cometapi-B5ImDlSm.js} +8 -8
  82. package/dist/src/{cometapi-UVOryo4W.cjs → cometapi-BgAkuYCw.cjs} +7 -7
  83. package/dist/src/{cometapi-BUlt_ELa.js → cometapi-CC7hWxmX.js} +8 -8
  84. package/dist/src/{cometapi-DT-jlVCB.js → cometapi-CCbpHkuF.js} +7 -7
  85. package/dist/src/{completion-x0a_c2y1.js → completion-2iuYVxwi.js} +6 -6
  86. package/dist/src/{completion-Dnxn7E-j.js → completion-CrD6MQ93.js} +5 -5
  87. package/dist/src/{completion-BozdoXba.cjs → completion-DtQ72Bm3.cjs} +5 -5
  88. package/dist/src/{completion-HUe8wDhZ.js → completion-Vq_ad618.js} +6 -6
  89. package/dist/src/{createHash-ChI45QR1.js → createHash-DPpsZgFF.js} +1 -1
  90. package/dist/src/{createHash-CwDVU5xr.js → createHash-Un4Q_huE.js} +1 -1
  91. package/dist/src/{createHash-B7KvgoOD.cjs → createHash-VvBIc-AW.cjs} +1 -1
  92. package/dist/src/{docker-DCgsveLD.js → docker--3qzPa-6.js} +6 -6
  93. package/dist/src/{docker-DS4_Osau.cjs → docker-D3AY-5F5.cjs} +5 -5
  94. package/dist/src/{docker-CQmlA2NU.js → docker-DCsCDvwM.js} +6 -6
  95. package/dist/src/{docker-ClnmCf1Z.js → docker-Dorv4_Dg.js} +5 -5
  96. package/dist/src/{embedding-I45KG3o7.cjs → embedding-BXhN5lCH.cjs} +5 -5
  97. package/dist/src/{embedding-nFbumxcv.js → embedding-ChS1ivFS.js} +5 -5
  98. package/dist/src/{embedding-D3xTseo7.js → embedding-DNRvZwRN.js} +6 -6
  99. package/dist/src/{embedding-DD9wa3ae.js → embedding-D_bI4NDq.js} +6 -6
  100. package/dist/src/{errors-Cw810C93.js → errors-DFHe4L-n.js} +1 -1
  101. package/dist/src/{esm-Dh4dOLlt.js → esm-B6whoAcf.js} +2 -2
  102. package/dist/src/{esm-C7PnfdF8.js → esm-BRkfNsYs.js} +1 -1
  103. package/dist/src/{esm-tVgYPY-f.js → esm-BX8fwlAO.js} +2 -2
  104. package/dist/src/{esm-CtEPLdAj.cjs → esm-B_rGuPTo.cjs} +1 -1
  105. package/dist/src/{eval-CzJFfFO9.js → eval-BQPLBJbw.js} +1 -1
  106. package/dist/src/{eval-u4UVafl6.js → eval-DJ_4A-tr.js} +14 -14
  107. package/dist/src/evalResult-BBJAHAtw.cjs +2 -0
  108. package/dist/src/evalResult-BBK58h2B.js +3 -0
  109. package/dist/src/{evalResult-KZqXl4XP.cjs → evalResult-Cx-8OWkb.cjs} +28 -10
  110. package/dist/src/{evalResult-D3hVYFis.js → evalResult-D6P5I5il.js} +29 -11
  111. package/dist/src/{evalResult-Bgm9ZH31.js → evalResult-pSvGWFMo.js} +29 -11
  112. package/dist/src/{evaluator-IvuDYSvQ.js → evaluator-D-UIbbYq.js} +845 -98
  113. package/dist/src/evaluator-DgLKaZk8.js +3 -0
  114. package/dist/src/{extractor-Dk6bRWkv.js → extractor-BM3jRERL.js} +5 -5
  115. package/dist/src/{extractor-WVPOrH43.cjs → extractor-Dxr2J_wK.cjs} +5 -5
  116. package/dist/src/{extractor-DNSeBVOJ.js → extractor-DxyiFhPk.js} +6 -6
  117. package/dist/src/{extractor-CAfTSraf.js → extractor-YlZbUMsL.js} +6 -6
  118. package/dist/src/fetch-8viavNv8.js +3 -0
  119. package/dist/src/{fetch-BEWnXrrG.js → fetch-B6ch2nU2.js} +9 -20
  120. package/dist/src/{fetch-Di00EQrc.js → fetch-D9xxyC1p.js} +221 -232
  121. package/dist/src/{fetch-CJU5ELPa.cjs → fetch-NuqXW1Xb.cjs} +221 -244
  122. package/dist/src/{fetch-B0Z3Oe4k.js → fetch-Y5qX_kST.js} +8 -19
  123. package/dist/src/{fileExtensions-BArZuxsI.js → fileExtensions-8CjoL7vB.js} +1 -1
  124. package/dist/src/{fileExtensions-DnqA1y9x.js → fileExtensions-BGh-W-HT.js} +1 -1
  125. package/dist/src/{fileExtensions-bYh77CN8.cjs → fileExtensions-D9h-8Wxg.cjs} +1 -1
  126. package/dist/src/{fileExtensions-AWa2ZML4.js → fileExtensions-DysCsxNG.js} +1 -1
  127. package/dist/src/{formatDuration-DZzPsexs.js → formatDuration-Ch4A7G3o.js} +1 -1
  128. package/dist/src/{genaiTracer-yRuxj9-L.cjs → genaiTracer-BokHC-MW.cjs} +1 -1
  129. package/dist/src/{genaiTracer-DWdZ28hY.js → genaiTracer-C3ZPQU60.js} +1 -1
  130. package/dist/src/{genaiTracer-XnrcgDCe.js → genaiTracer-CFny3gOy.js} +1 -1
  131. package/dist/src/{genaiTracer-COYDi-tC.js → genaiTracer-DxODqT9e.js} +1 -1
  132. package/dist/src/{graders-Zy3x0zqX.js → graders-BoUqsCEm.js} +1303 -2044
  133. package/dist/src/{graders--zknU_uk.cjs → graders-Bw1wk_21.cjs} +1553 -2240
  134. package/dist/src/graders-C84JI-m5.js +2 -0
  135. package/dist/src/graders-CBbd0K0Q.cjs +2 -0
  136. package/dist/src/graders-CbQqpHSN.js +3 -0
  137. package/dist/src/{graders-eIHhRqoC.js → graders-CgPn32yp.js} +1300 -2041
  138. package/dist/src/{graders-pvbReLLn.js → graders-CwrbifOo.js} +747 -1488
  139. package/dist/src/graders-DS42d3ZG.js +2 -0
  140. package/dist/src/{image-9302QVqR.js → image-BeWaInPF.js} +3 -3
  141. package/dist/src/{image-DVz2RiMF.js → image-BmilRNqO.js} +7 -7
  142. package/dist/src/{image-x6KqLQl4.cjs → image-CxJoa3aW.cjs} +6 -6
  143. package/dist/src/{image-De2FBmYV.cjs → image-D10dNAav.cjs} +3 -3
  144. package/dist/src/{image-dnoUgPrC.js → image-Dr_3I3nK.js} +4 -4
  145. package/dist/src/{image-B5Mv-Z3h.js → image-DsGRlkh7.js} +7 -7
  146. package/dist/src/{image-qUpPvmNZ.js → image-a_SGUobh.js} +6 -6
  147. package/dist/src/{image-u7-rKnYU.js → image-qjO6FWPs.js} +4 -4
  148. package/dist/src/index.cjs +1052 -296
  149. package/dist/src/index.d.cts +124 -13
  150. package/dist/src/index.d.ts +125 -14
  151. package/dist/src/index.js +1018 -262
  152. package/dist/src/{interactiveCheck-CLERUB0c.js → interactiveCheck-CCICw2cy.js} +2 -2
  153. package/dist/src/{invariant-BtWWVVhl.js → invariant-B2Rf6avk.js} +1 -1
  154. package/dist/src/{invariant-vgHWClmd.js → invariant-DIYf9sP1.js} +1 -1
  155. package/dist/src/{knowledgeBase-RhFPGWDc.js → knowledgeBase-BBETc5-S.js} +6 -6
  156. package/dist/src/{knowledgeBase-Bpoe_nLu.cjs → knowledgeBase-C8qOo26M.cjs} +5 -5
  157. package/dist/src/{knowledgeBase-lm9RXSAm.js → knowledgeBase-CzAi2rUI.js} +6 -6
  158. package/dist/src/{knowledgeBase-Dgc7CBWF.js → knowledgeBase-Dr3Kib7F.js} +5 -5
  159. package/dist/src/{litellm-C2kqjxqp.js → litellm-BLSiANhk.js} +5 -5
  160. package/dist/src/{litellm-CoyI4IAl.cjs → litellm-CaUmV7Mk.cjs} +4 -4
  161. package/dist/src/{litellm-p37R1dzQ.js → litellm-DQGo_juI.js} +4 -4
  162. package/dist/src/{litellm-DRjpcSa7.js → litellm-DRc4qWfc.js} +5 -5
  163. package/dist/src/{logger-DksKw1Qc.js → logger-BbY6ypFL.js} +2 -2
  164. package/dist/src/{logger-B88EkIn6.js → logger-KD8JjCRJ.js} +2 -2
  165. package/dist/src/{luma-ray-KgTCXrZC.js → luma-ray-B-tNZzqW.js} +6 -6
  166. package/dist/src/{luma-ray-B863CmuZ.js → luma-ray-CtS3OlGq.js} +5 -5
  167. package/dist/src/{luma-ray-BTTLtqQ8.js → luma-ray-PJJgUjOc.js} +6 -6
  168. package/dist/src/{luma-ray-BxVKaW2a.cjs → luma-ray-if-Ml4R9.cjs} +5 -5
  169. package/dist/src/main.js +242 -198
  170. package/dist/src/{messages-zWbkLLHz.js → messages-B9dSjrNf.js} +264 -16
  171. package/dist/src/{messages-811uVVW5.cjs → messages-BnsVHUnm.cjs} +266 -15
  172. package/dist/src/{messages-MYTQ2TWp.js → messages-CI69Lasb.js} +264 -16
  173. package/dist/src/{messages-BTQz42fn.js → messages-CewuNcNS.js} +264 -16
  174. package/dist/src/{meteor-Co1VQ1u5.cjs → meteor-BBGcGeCa.cjs} +1 -1
  175. package/dist/src/{meteor-DuAFv6gF.js → meteor-BKTM-7KS.js} +1 -1
  176. package/dist/src/{meteor-DHdzY1Ss.js → meteor-CeGo0Lu2.js} +2 -2
  177. package/dist/src/{meteor-CU5UAE-H.js → meteor-Wc_aUVvu.js} +2 -2
  178. package/dist/src/{modelslab-wu9yi5GE.js → modelslab-BCLOtfek.js} +7 -7
  179. package/dist/src/{modelslab-Dk1JAtVo.cjs → modelslab-BkapYJhh.cjs} +6 -6
  180. package/dist/src/{modelslab-DIq-6y7x.js → modelslab-D73OnKSx.js} +6 -6
  181. package/dist/src/{modelslab-D0erNWKe.js → modelslab-zpz9JcK0.js} +7 -7
  182. package/dist/src/{nova-reel-CCFRfeRb.js → nova-reel-B8F_TK5w.js} +6 -6
  183. package/dist/src/{nova-reel-DQrm74ng.js → nova-reel-Bx0NFV2f.js} +5 -5
  184. package/dist/src/{nova-reel-gr11WG7f.js → nova-reel-CNGJTLtG.js} +6 -6
  185. package/dist/src/{nova-reel-CrLXVKQf.cjs → nova-reel-DkT7tnoB.cjs} +5 -5
  186. package/dist/src/{nova-sonic-BYdp-QLs.js → nova-sonic-BaXRN1cr.js} +4 -4
  187. package/dist/src/{nova-sonic-TDgrlTk7.js → nova-sonic-BeTRaFOh.js} +4 -4
  188. package/dist/src/{nova-sonic-B_ZXcUJB.js → nova-sonic-CL7Zqv0G.js} +3 -3
  189. package/dist/src/{nova-sonic-i5tUvXKn.cjs → nova-sonic-YT426juD.cjs} +3 -3
  190. package/dist/src/{openai-DhVEmgeZ.js → openai-BMHD2Huo.js} +2 -2
  191. package/dist/src/{openai-Qsvz25mV.js → openai-BT-JvDse.js} +2 -2
  192. package/dist/src/{openai-URNyItar.cjs → openai-Cy1XLs0c.cjs} +1 -1
  193. package/dist/src/{openai-iYtrXzOX.js → openai-D4fxGvRx.js} +1 -1
  194. package/dist/src/{openclaw-CwzlQSQX.js → openclaw-Bq7RVR3k.js} +7 -6
  195. package/dist/src/{openclaw-CLWrW03k.js → openclaw-DA8U4DsD.js} +8 -7
  196. package/dist/src/{openclaw-CnQ363Wi.js → openclaw-DObVgpjC.js} +8 -7
  197. package/dist/src/{openclaw-wX9rtfke.cjs → openclaw-DUBZP3GL.cjs} +8 -7
  198. package/dist/src/{opencode-sdk-BUu5Nevv.js → opencode-sdk-BB40Wir1.js} +4 -4
  199. package/dist/src/{opencode-sdk-GI2KaAXq.js → opencode-sdk-BM1UAIv1.js} +3 -3
  200. package/dist/src/{opencode-sdk-BZ2idgYA.cjs → opencode-sdk-CeqiOcOU.cjs} +4 -4
  201. package/dist/src/{opencode-sdk-BxD8vXp_.js → opencode-sdk-ChdK7F7z.js} +4 -4
  202. package/dist/src/{otlpReceiver-DmVulbhC.js → otlpReceiver-C6thJRXi.js} +4 -4
  203. package/dist/src/{otlpReceiver-B2z58l4e.js → otlpReceiver-CcdIikOu.js} +3 -3
  204. package/dist/src/{otlpReceiver-BfcVq2Nq.cjs → otlpReceiver-DNSQj6bf.cjs} +3 -3
  205. package/dist/src/{otlpReceiver-BntK801g.js → otlpReceiver-UYMQx3sy.js} +4 -4
  206. package/dist/src/{providerRegistry-CPQ_CmVO.js → providerRegistry-1gB5vtzQ.js} +2 -2
  207. package/dist/src/{providerRegistry-CQMdTmHP.cjs → providerRegistry-BESeALrr.cjs} +1 -1
  208. package/dist/src/{providerRegistry-Bvh8mv85.js → providerRegistry-DoACwqhD.js} +1 -1
  209. package/dist/src/{providerRegistry-CWoPjKFZ.js → providerRegistry-PMsleEzs.js} +2 -2
  210. package/dist/src/{providers-Bp4S-FvO.js → providers-BuyzKt7C.js} +1 -1
  211. package/dist/src/{providers-DV3ax9e_.cjs → providers-C7lNVBjX.cjs} +1 -1
  212. package/dist/src/{providers-u9Enmfok.js → providers-CCE2COJi2.js} +1 -1
  213. package/dist/src/{providers-DruaQfwu.js → providers-CJh7iriU.js} +18103 -17952
  214. package/dist/src/{providers-iUt5fbAN.js → providers-Ctcc592x.js} +1 -1
  215. package/dist/src/{providers-Domz_llv.js → providers-DRrerKra.js} +432 -281
  216. package/dist/src/{providers-BV_KMZje.js → providers-DT-GtF2t.js} +19094 -18943
  217. package/dist/src/{providers-1eKkXBKp.cjs → providers-eDShy16E.cjs} +17946 -17795
  218. package/dist/src/{pythonUtils-Cldx7huE.js → pythonUtils-C4tltmIn.js} +3 -3
  219. package/dist/src/{pythonUtils-tAJvvpS-.cjs → pythonUtils-CoLaCwNY.cjs} +3 -3
  220. package/dist/src/{pythonUtils-C2UQ30Rz.js → pythonUtils-DMO68Jg7.js} +3 -3
  221. package/dist/src/{pythonUtils-CnndUbW-.js → pythonUtils-DNqbnRdx.js} +3 -3
  222. package/dist/src/{quiverai-DR0SnIQV.js → quiverai-BSS9a7wV.js} +3 -3
  223. package/dist/src/{quiverai-CtWi6x_g.js → quiverai-Bk1KrvL6.js} +4 -4
  224. package/dist/src/{quiverai-DFotyafY.cjs → quiverai-Bpx6MZ7T.cjs} +3 -3
  225. package/dist/src/{quiverai-aPPvXOgn.js → quiverai-CPKhWgaT.js} +4 -4
  226. package/dist/src/{render-DHIZ6_k8.js → render-7uNJ2V14.js} +2 -2
  227. package/dist/src/{render-CH-62LbA.js → render-DlscvAUJ.js} +1 -1
  228. package/dist/src/{render-CMEpfLaO.js → render-eui5p5mL.js} +2 -2
  229. package/dist/src/{render-CgVDrJmM.js → render-nj-UaPdn.js} +2 -2
  230. package/dist/src/{render-DfQSFxGE.cjs → render-tG6ir9_g.cjs} +1 -1
  231. package/dist/src/{responses--OsX2aYW.js → responses-1ztiVYsx.js} +49 -15
  232. package/dist/src/{responses-DL9m8CyY.js → responses-B8haB-mD.js} +49 -15
  233. package/dist/src/{responses-C-flexAY.js → responses-BiaBguAu.js} +49 -15
  234. package/dist/src/{responses-Bi9vBuW_.cjs → responses-CF-ayauu.cjs} +48 -14
  235. package/dist/src/rubyUtils-4hjGxvju.js +3 -0
  236. package/dist/src/{rubyUtils-DVLeA2jg.js → rubyUtils-BI0p46eZ.js} +3 -3
  237. package/dist/src/{rubyUtils-DsGrTx8R.js → rubyUtils-CIQFnVz4.js} +3 -3
  238. package/dist/src/rubyUtils-CO-tuszQ.cjs +2 -0
  239. package/dist/src/{rubyUtils-CYSQEG4a.js → rubyUtils-DGnoCYL2.js} +3 -3
  240. package/dist/src/{rubyUtils-B6eljPuh.cjs → rubyUtils-DoifqkiA.cjs} +4 -3
  241. package/dist/src/{sagemaker-BveBvuxm.js → sagemaker-BDLeW29y.js} +12 -12
  242. package/dist/src/{sagemaker-D67yzMzs.js → sagemaker-C5T60MKf.js} +13 -13
  243. package/dist/src/{sagemaker-BVkaG2-l.js → sagemaker-ClS_NB07.js} +13 -13
  244. package/dist/src/{sagemaker-XnfhheQv.cjs → sagemaker-ljtY12VM.cjs} +12 -12
  245. package/dist/src/{scanner-1DqWi1Ej.js → scanner-nOCWNIXa.js} +7 -7
  246. package/dist/src/server/index.js +1067 -265
  247. package/dist/src/{server-Dx2TyCH2.cjs → server-BEECpeGG.cjs} +5 -5
  248. package/dist/src/{server-BNYztJkh.js → server-ByiF3qlg.js} +9 -8
  249. package/dist/src/{server-BSB45Nt9.js → server-ByxbqAcQ.js} +8 -7
  250. package/dist/src/{server-DaA2eR26.cjs → server-C0XKRNB_.cjs} +1 -1
  251. package/dist/src/server-C_15p79-.js +3 -0
  252. package/dist/src/{server-D6Il2Sob.js → server-gyd6d4Hc.js} +5 -5
  253. package/dist/src/{signal-CE5G3a7x.js → signal-DTtUuU3l.js} +3 -3
  254. package/dist/src/{slack-acRb0IqQ.js → slack-4zZX1OKP.js} +1 -1
  255. package/dist/src/{slack-1Rhq0EoV.cjs → slack-BLlsDpfG.cjs} +1 -1
  256. package/dist/src/{slack-D5Wpy8LM.js → slack-BPYLQLgb.js} +2 -2
  257. package/dist/src/{slack-DDUe-5MC.js → slack-Bamy_7te.js} +2 -2
  258. package/dist/src/{store-DAAyxcy6.cjs → store-2K0kDi80.cjs} +2 -2
  259. package/dist/src/{store-Dn9HUkdW.js → store-2OXm_eBY.js} +3 -3
  260. package/dist/src/store-BELqNwvz.js +3 -0
  261. package/dist/src/{store-M0b1WfYb.js → store-BPkzEyFM.js} +2 -2
  262. package/dist/src/{store-CYEy5J2D.js → store-CPh25336.js} +3 -3
  263. package/dist/src/store-uQZ4AjPe.cjs +2 -0
  264. package/dist/src/{tables-CsWou1Bx.js → tables-BMSOS2Gg.js} +3 -3
  265. package/dist/src/{tables-DUfh1F7Z.cjs → tables-CXbaZ9y1.cjs} +2 -2
  266. package/dist/src/{tables-C4CH3zRr.js → tables-NlvH23ky.js} +3 -3
  267. package/dist/src/{tables-DQ4WU5tX.js → tables-WgdUZ8Ck.js} +2 -2
  268. package/dist/src/{telemetry-dbaJ0E98.js → telemetry--iqaGyaS.js} +5 -4
  269. package/dist/src/{telemetry-Dsw_faFj.cjs → telemetry-CEQxGnMZ.cjs} +7 -6
  270. package/dist/src/{telemetry-Dvqxv3YC.js → telemetry-CgdVGV8N.js} +4 -3
  271. package/dist/src/{telemetry-CQPez_Jp.js → telemetry-DWdGHvEf.js} +5 -4
  272. package/dist/src/telemetry-DjNoC_n3.cjs +2 -0
  273. package/dist/src/telemetry-ZdPZc0fm.js +3 -0
  274. package/dist/src/{text-BVi-cLPJ.cjs → text-BiNME7QG.cjs} +1 -1
  275. package/dist/src/{text-KvuD2Iko.js → text-D4lz-Jg_.js} +1 -1
  276. package/dist/src/{text-DHxdyQqT.js → text-DDQP0tuQ.js} +1 -1
  277. package/dist/src/{text-CZr46tp_.js → text-NWvfMfkF.js} +1 -1
  278. package/dist/src/{tokenUsageUtils-CXrvO-wA.js → tokenUsageUtils-2wIvAhB3.js} +1 -1
  279. package/dist/src/{tokenUsageUtils-C-bmyHoE.js → tokenUsageUtils-4c780gFd.js} +1 -1
  280. package/dist/src/tokenUsageUtils-BjVkdk18.js +142 -0
  281. package/dist/src/{tokenUsageUtils-Bb7DkZPz.cjs → tokenUsageUtils-C9odhsbW.cjs} +1 -1
  282. package/dist/src/{transcription-DuWDupG7.js → transcription-84t4ALo2.js} +5 -5
  283. package/dist/src/{transcription-CJspiD2c.js → transcription-Bm2emLmJ.js} +6 -6
  284. package/dist/src/{transcription-BvjmiYB1.cjs → transcription-CZ4LG5hQ.cjs} +5 -5
  285. package/dist/src/{transcription-V2HaAmy2.js → transcription-D7Q0vJsh.js} +6 -6
  286. package/dist/src/{transform-zDhMmzwX.js → transform-B-b6Cq-q.js} +5 -5
  287. package/dist/src/transform-BQt0BeAW.js +3 -0
  288. package/dist/src/{transform-DgKlRr73.cjs → transform-Bq5oqC0s.cjs} +1 -1
  289. package/dist/src/{transform-CUnzlsbn.cjs → transform-C9izGX54.cjs} +4 -4
  290. package/dist/src/{transform-DYX1_Xnh.js → transform-CwbAZ84V.js} +5 -5
  291. package/dist/src/{transform-CTeuTR3S.cjs → transform-Dg4LcO1Y.cjs} +6 -6
  292. package/dist/src/{transform-CG0ehZNG.js → transform-DtooZqYY.js} +6 -6
  293. package/dist/src/{transform-UN5UGu8U.js → transform-DzCF-wqV.js} +5 -5
  294. package/dist/src/{transform-lQrDE1BQ.js → transform-_DpNB4qp.js} +5 -5
  295. package/dist/src/{transform-Bbg6A8Jk.js → transform-eGiUAv86.js} +4 -4
  296. package/dist/src/{transformersAvailability-Cju9mHgR.cjs → transformersAvailability-B22swDxr.cjs} +1 -1
  297. package/dist/src/{transformersAvailability-CcHusyhw.js → transformersAvailability-lvCCvuPT.js} +1 -1
  298. package/dist/src/{transformersAvailability-DLlROWhg.js → transformersAvailability-rJGPccjr.js} +1 -1
  299. package/dist/src/{types-Bgh5SOn6.js → types-BDjGOq4E.js} +4 -2
  300. package/dist/src/{types-Dm9JM6Vb.js → types-BVH9hjgW.js} +4 -2
  301. package/dist/src/{types-CeaeaZdP.cjs → types-CgG2rKiW.cjs} +151 -149
  302. package/dist/src/{types-BGQDAP8i.js → types-DNRZVOue.js} +152 -150
  303. package/dist/src/{util-C8e5uydV.js → util-3pBZZb_H.js} +142 -17
  304. package/dist/src/{util-CN3SrLT4.cjs → util-A5_ZsQUn.cjs} +65 -43
  305. package/dist/src/{util-D3q0WQ-0.js → util-B9CNhyac.js} +66 -44
  306. package/dist/src/{util-DxWpWjhc.js → util-BQOCAHQC.js} +700 -575
  307. package/dist/src/{util-BYvQUPp7.js → util-BVXcTwXu.js} +3 -3
  308. package/dist/src/{util-D9TisOyk.js → util-BlFVL0UF.js} +65 -43
  309. package/dist/src/{util-C9J8ahRn.js → util-C-kmRosx.js} +66 -44
  310. package/dist/src/{util-DvU2Pw8c.js → util-DFPeFkiV.js} +3 -3
  311. package/dist/src/{util-DDs-7g6-.js → util-DN0-b81k.js} +3 -3
  312. package/dist/src/{util-olYL5C6N.cjs → util-Dpmm_dAI.cjs} +3 -3
  313. package/dist/src/{util-oGMLA7vc.js → util-Dub0f_ej.js} +700 -575
  314. package/dist/src/{util-Bxn8emtE.cjs → util-DvpHnLt0.cjs} +718 -570
  315. package/dist/src/{utils-DJfvjyMj.js → utils-BUMN8orw.js} +3 -3
  316. package/dist/src/{utils-B05gLxER.cjs → utils-DkVeShIB.cjs} +2 -2
  317. package/dist/src/{utils-BLJKfv0y.js → utils-kt7lv30R.js} +3 -3
  318. package/dist/src/{utils-hXtCYanr.js → utils-o8S5huU2.js} +2 -2
  319. package/dist/src/version-0frU0UTr.js +16 -0
  320. package/dist/src/version-CbpiUINz.js +17 -0
  321. package/dist/src/version-CbuBKu2U.js +16 -0
  322. package/dist/src/version-D9zu9FWB.cjs +27 -0
  323. package/dist/tsconfig.tsbuildinfo +1 -1
  324. package/package.json +22 -20
  325. package/dist/src/app/assets/Report-CQYFezYu.js +0 -1
  326. package/dist/src/app/assets/index-BzJt18Jz.js +0 -385
  327. package/dist/src/cache-Cr9oLMUa.js +0 -3
  328. package/dist/src/cloud-Hphvo8kr.js +0 -3
  329. package/dist/src/codex-sdk-BAmYE7qy.js +0 -3
  330. package/dist/src/evalResult-D8MT9p0s.js +0 -3
  331. package/dist/src/evalResult-Dvc-iucu.cjs +0 -2
  332. package/dist/src/evaluator-CVessDWe.js +0 -3
  333. package/dist/src/fetch-C7bGKDlQ.js +0 -3
  334. package/dist/src/graders-BOAzQEUe.cjs +0 -2
  335. package/dist/src/graders-D4BTsZdG2.js +0 -3
  336. package/dist/src/graders-DOJK1XpV.js +0 -2
  337. package/dist/src/graders-NAv9LcBn.js +0 -2
  338. package/dist/src/rubyUtils-D1L2d3jb.js +0 -3
  339. package/dist/src/rubyUtils-DUbq4tff.cjs +0 -2
  340. package/dist/src/server-DCtHUqlp.js +0 -3
  341. package/dist/src/store-CWOSz6D_.cjs +0 -2
  342. package/dist/src/store-DCDBhv7B.js +0 -3
  343. package/dist/src/telemetry-C1IqxcdW.js +0 -3
  344. package/dist/src/telemetry-C4ZEa_es.cjs +0 -2
  345. package/dist/src/transform-M6ITAESf.js +0 -3
  346. /package/dist/src/{evalResult-DElBuddX.js → evalResult-spPqh1G_.js} +0 -0
@@ -1,8 +1,8 @@
1
1
  const require_logger = require("./logger-COuQb2xB.cjs");
2
- const require_esm = require("./esm-CtEPLdAj.cjs");
3
- const require_fetch = require("./fetch-CJU5ELPa.cjs");
4
- const require_codex_sdk = require("./codex-sdk-C2_M2pl_.cjs");
5
- const require_accounts = require("./accounts-Dy17bs4D.cjs");
2
+ const require_fetch = require("./fetch-NuqXW1Xb.cjs");
3
+ const require_accounts = require("./accounts-BIFntVWB.cjs");
4
+ const require_esm = require("./esm-B_rGuPTo.cjs");
5
+ const require_codex_sdk = require("./codex-sdk-Bd8UbO9q.cjs");
6
6
  let fs = require("fs");
7
7
  fs = require_logger.__toESM(fs);
8
8
  let path = require("path");
@@ -372,4 +372,4 @@ Object.defineProperty(exports, "shouldGenerateRemote", {
372
372
  }
373
373
  });
374
374
 
375
- //# sourceMappingURL=server-Dx2TyCH2.cjs.map
375
+ //# sourceMappingURL=server-BEECpeGG.cjs.map
@@ -1,10 +1,11 @@
1
1
  #!/usr/bin/env node
2
- import { N as state, O as getEnvString, T as getEnvBool, s as logger } from "./logger-DksKw1Qc.js";
3
- import { A as getDefaultPort, n as fetchWithProxy } from "./fetch-BEWnXrrG.js";
4
- import { c as isLoggedIntoCloud } from "./accounts-F9d_5sMC.js";
5
- import { r as CloudConfig } from "./cloud-DQZ5sVjW.js";
6
- import { i as resolvePackageEntryPoint, t as getDirectory } from "./esm-tVgYPY-f.js";
7
- import { t as OpenAICodexSDKProvider } from "./codex-sdk-CpqiOqDO.js";
2
+ import { N as state, O as getEnvString, T as getEnvBool, s as logger } from "./logger-BbY6ypFL.js";
3
+ import { A as getDefaultPort, n as fetchWithProxy } from "./fetch-B6ch2nU2.js";
4
+ import "./version-CbpiUINz.js";
5
+ import { c as isLoggedIntoCloud } from "./accounts-CLJHCDDb.js";
6
+ import { r as CloudConfig } from "./cloud-Da0bofJd.js";
7
+ import { i as resolvePackageEntryPoint, t as getDirectory } from "./esm-BX8fwlAO.js";
8
+ import { t as OpenAICodexSDKProvider } from "./codex-sdk-BgEFQ70r.js";
8
9
  import chalk from "chalk";
9
10
  import fs from "fs";
10
11
  import path from "path";
@@ -312,7 +313,7 @@ async function checkServerRunning(port = getDefaultPort()) {
312
313
  logger.debug(`Checking for existing server on port ${port}...`);
313
314
  try {
314
315
  const data = await (await fetchWithProxy(`http://localhost:${port}/health`, { headers: { "x-promptfoo-silent": "true" } })).json();
315
- return data.status === "OK" && data.version === "0.121.4";
316
+ return data.status === "OK" && data.version === "0.121.5";
316
317
  } catch (err) {
317
318
  logger.debug(`No existing server found - this is expected on first startup. ${String(err)}`);
318
319
  return false;
@@ -382,4 +383,4 @@ async function openAuthBrowser(authUrl, welcomeUrl, browserBehavior) {
382
383
  //#endregion
383
384
  export { openAuthBrowser as a, promptYesNo as c, getRemoteHealthUrl as d, neverGenerateRemote as f, hasCodexDefaultCredentials as g, getCodexDefaultProviders as h, checkServerRunning as i, getRemoteGenerationUrl as l, shouldGenerateRemote as m, BrowserBehaviorNames as n, openBrowser as o, neverGenerateRemoteForRegularEvals as p, checkServerFeatureSupport as r, promptUser as s, BrowserBehavior as t, getRemoteGenerationUrlForUnaligned as u };
384
385
 
385
- //# sourceMappingURL=server-BNYztJkh.js.map
386
+ //# sourceMappingURL=server-ByiF3qlg.js.map
@@ -1,9 +1,10 @@
1
1
  import { t as __exportAll } from "./chunk-DEq-mXcV.js";
2
- import { S as getEnvBool, T as getEnvString, a as logger, k as state } from "./logger-B88EkIn6.js";
3
- import { a as CloudConfig, j as getDefaultPort, t as fetchWithProxy } from "./fetch-B0Z3Oe4k.js";
4
- import { c as isLoggedIntoCloud } from "./accounts-DdJ2pHMI.js";
5
- import { i as resolvePackageEntryPoint, t as getDirectory } from "./esm-Dh4dOLlt.js";
6
- import { t as OpenAICodexSDKProvider } from "./codex-sdk-Rtky3M4I.js";
2
+ import { S as getEnvBool, T as getEnvString, a as logger, k as state } from "./logger-KD8JjCRJ.js";
3
+ import { a as CloudConfig, j as getDefaultPort, t as fetchWithProxy } from "./fetch-Y5qX_kST.js";
4
+ import "./version-0frU0UTr.js";
5
+ import { c as isLoggedIntoCloud } from "./accounts-bnyHT7Ju.js";
6
+ import { i as resolvePackageEntryPoint, t as getDirectory } from "./esm-B6whoAcf.js";
7
+ import { t as OpenAICodexSDKProvider } from "./codex-sdk-Bzb_TqX9.js";
7
8
  import fs from "fs";
8
9
  import path from "path";
9
10
  import "chalk";
@@ -318,7 +319,7 @@ async function checkServerRunning(port = getDefaultPort()) {
318
319
  logger.debug(`Checking for existing server on port ${port}...`);
319
320
  try {
320
321
  const data = await (await fetchWithProxy(`http://localhost:${port}/health`, { headers: { "x-promptfoo-silent": "true" } })).json();
321
- return data.status === "OK" && data.version === "0.121.4";
322
+ return data.status === "OK" && data.version === "0.121.5";
322
323
  } catch (err) {
323
324
  logger.debug(`No existing server found - this is expected on first startup. ${String(err)}`);
324
325
  return false;
@@ -345,4 +346,4 @@ async function openBrowser(browserBehavior, port = getDefaultPort()) {
345
346
  //#endregion
346
347
  export { openBrowser as a, getRemoteGenerationUrl as c, neverGenerateRemote as d, neverGenerateRemoteForRegularEvals as f, hasCodexDefaultCredentials as h, checkServerRunning as i, getRemoteGenerationUrlForUnaligned as l, getCodexDefaultProviders as m, BrowserBehaviorNames as n, server_exports as o, shouldGenerateRemote as p, checkServerFeatureSupport as r, promptYesNo as s, BrowserBehavior as t, getRemoteHealthUrl as u };
347
348
 
348
- //# sourceMappingURL=server-BSB45Nt9.js.map
349
+ //# sourceMappingURL=server-ByxbqAcQ.js.map
@@ -1,2 +1,2 @@
1
- const require_server = require("./server-Dx2TyCH2.cjs");
1
+ const require_server = require("./server-BEECpeGG.cjs");
2
2
  exports.checkServerFeatureSupport = require_server.checkServerFeatureSupport;
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { r as checkServerFeatureSupport } from "./server-ByiF3qlg.js";
3
+ export { checkServerFeatureSupport };
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./chunk-DEq-mXcV.js";
2
2
  import { S as getEnvBool, T as getEnvString, a as logger, k as state } from "./logger-Ct2S6Yx-.js";
3
- import { i as resolvePackageEntryPoint, t as getDirectory } from "./esm-C7PnfdF8.js";
4
- import { a as CloudConfig, t as fetchWithProxy } from "./fetch-Di00EQrc.js";
5
- import { t as OpenAICodexSDKProvider } from "./codex-sdk-CErXn7qh.js";
6
- import { o as isLoggedIntoCloud } from "./accounts-DhMYUUbu.js";
3
+ import { t as fetchWithProxy, x as CloudConfig } from "./fetch-D9xxyC1p.js";
4
+ import { o as isLoggedIntoCloud } from "./accounts-CaLNYnf7.js";
5
+ import { i as resolvePackageEntryPoint, t as getDirectory } from "./esm-BRkfNsYs.js";
6
+ import { t as OpenAICodexSDKProvider } from "./codex-sdk-DfvDTN33.js";
7
7
  import fs from "fs";
8
8
  import path from "path";
9
9
  import "chalk";
@@ -307,4 +307,4 @@ async function checkServerFeatureSupport(featureName, requiredBuildDate) {
307
307
  //#endregion
308
308
  export { getRemoteGenerationUrlForUnaligned as a, neverGenerateRemoteForRegularEvals as c, hasCodexDefaultCredentials as d, getRemoteGenerationUrl as i, shouldGenerateRemote as l, server_exports as n, getRemoteHealthUrl as o, promptYesNo as r, neverGenerateRemote as s, checkServerFeatureSupport as t, getCodexDefaultProviders as u };
309
309
 
310
- //# sourceMappingURL=server-D6Il2Sob.js.map
310
+ //# sourceMappingURL=server-gyd6d4Hc.js.map
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { s as logger } from "./logger-DksKw1Qc.js";
3
- import { _ as getDbSignalPath } from "./tables-C4CH3zRr.js";
2
+ import { s as logger } from "./logger-BbY6ypFL.js";
3
+ import { _ as getDbSignalPath } from "./tables-NlvH23ky.js";
4
4
  import fs from "fs";
5
5
  import debounce from "debounce";
6
6
  //#region src/util/providerResponse.ts
@@ -113,4 +113,4 @@ function setupSignalWatcher(onChange) {
113
113
  //#endregion
114
114
  export { getActualPromptWithFallback as a, getActualPrompt as i, setupSignalWatcher as n, updateSignalFile as r, readSignalEvalId as t };
115
115
 
116
- //# sourceMappingURL=signal-CE5G3a7x.js.map
116
+ //# sourceMappingURL=signal-DTtUuU3l.js.map
@@ -132,4 +132,4 @@ var SlackProvider = class {
132
132
  //#endregion
133
133
  export { SlackProvider };
134
134
 
135
- //# sourceMappingURL=slack-acRb0IqQ.js.map
135
+ //# sourceMappingURL=slack-4zZX1OKP.js.map
@@ -132,4 +132,4 @@ var SlackProvider = class {
132
132
  //#endregion
133
133
  exports.SlackProvider = SlackProvider;
134
134
 
135
- //# sourceMappingURL=slack-1Rhq0EoV.cjs.map
135
+ //# sourceMappingURL=slack-BLlsDpfG.cjs.map
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { s as logger } from "./logger-DksKw1Qc.js";
2
+ import { s as logger } from "./logger-BbY6ypFL.js";
3
3
  import { WebClient } from "@slack/web-api";
4
4
  //#region src/providers/slack.ts
5
5
  var SlackProvider = class {
@@ -133,4 +133,4 @@ var SlackProvider = class {
133
133
  //#endregion
134
134
  export { SlackProvider };
135
135
 
136
- //# sourceMappingURL=slack-D5Wpy8LM.js.map
136
+ //# sourceMappingURL=slack-BPYLQLgb.js.map
@@ -1,4 +1,4 @@
1
- import { a as logger } from "./logger-B88EkIn6.js";
1
+ import { a as logger } from "./logger-KD8JjCRJ.js";
2
2
  import { WebClient } from "@slack/web-api";
3
3
  //#region src/providers/slack.ts
4
4
  var SlackProvider = class {
@@ -132,4 +132,4 @@ var SlackProvider = class {
132
132
  //#endregion
133
133
  export { SlackProvider };
134
134
 
135
- //# sourceMappingURL=slack-DDUe-5MC.js.map
135
+ //# sourceMappingURL=slack-Bamy_7te.js.map
@@ -1,5 +1,5 @@
1
1
  const require_logger = require("./logger-COuQb2xB.cjs");
2
- const require_tables = require("./tables-DUfh1F7Z.cjs");
2
+ const require_tables = require("./tables-CXbaZ9y1.cjs");
3
3
  let drizzle_orm = require("drizzle-orm");
4
4
  //#region src/tracing/store.ts
5
5
  const SENSITIVE_ATTRIBUTE_KEYS = [
@@ -243,4 +243,4 @@ Object.defineProperty(exports, "getTraceStore", {
243
243
  }
244
244
  });
245
245
 
246
- //# sourceMappingURL=store-DAAyxcy6.cjs.map
246
+ //# sourceMappingURL=store-2K0kDi80.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./chunk-DEq-mXcV.js";
2
- import { a as logger } from "./logger-B88EkIn6.js";
3
- import { f as spansTable, h as getDb, m as tracesTable } from "./tables-CsWou1Bx.js";
2
+ import { a as logger } from "./logger-KD8JjCRJ.js";
3
+ import { f as spansTable, h as getDb, m as tracesTable } from "./tables-BMSOS2Gg.js";
4
4
  import { asc, eq, lt } from "drizzle-orm";
5
5
  //#region src/tracing/store.ts
6
6
  var store_exports = /* @__PURE__ */ __exportAll({
@@ -237,4 +237,4 @@ function getTraceStore() {
237
237
  //#endregion
238
238
  export { store_exports as n, getTraceStore as t };
239
239
 
240
- //# sourceMappingURL=store-Dn9HUkdW.js.map
240
+ //# sourceMappingURL=store-2OXm_eBY.js.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { n as getTraceStore } from "./store-CPh25336.js";
3
+ export { getTraceStore };
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./chunk-DEq-mXcV.js";
2
2
  import { a as logger } from "./logger-Ct2S6Yx-.js";
3
- import { f as tracesTable, p as getDb, u as spansTable } from "./tables-DQ4WU5tX.js";
3
+ import { f as tracesTable, p as getDb, u as spansTable } from "./tables-WgdUZ8Ck.js";
4
4
  import { asc, eq, lt } from "drizzle-orm";
5
5
  //#region src/tracing/store.ts
6
6
  var store_exports = /* @__PURE__ */ __exportAll({
@@ -237,4 +237,4 @@ function getTraceStore() {
237
237
  //#endregion
238
238
  export { store_exports as n, getTraceStore as t };
239
239
 
240
- //# sourceMappingURL=store-M0b1WfYb.js.map
240
+ //# sourceMappingURL=store-BPkzEyFM.js.map
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { s as logger } from "./logger-DksKw1Qc.js";
3
- import { f as spansTable, g as getDb, m as tracesTable } from "./tables-C4CH3zRr.js";
2
+ import { s as logger } from "./logger-BbY6ypFL.js";
3
+ import { f as spansTable, g as getDb, m as tracesTable } from "./tables-NlvH23ky.js";
4
4
  import { asc, eq, lt } from "drizzle-orm";
5
5
  //#region src/tracing/store.ts
6
6
  const SENSITIVE_ATTRIBUTE_KEYS = [
@@ -233,4 +233,4 @@ function getTraceStore() {
233
233
  //#endregion
234
234
  export { getTraceStore as n, TraceStore as t };
235
235
 
236
- //# sourceMappingURL=store-CYEy5J2D.js.map
236
+ //# sourceMappingURL=store-CPh25336.js.map
@@ -0,0 +1,2 @@
1
+ const require_store = require("./store-2K0kDi80.cjs");
2
+ exports.getTraceStore = require_store.getTraceStore;
@@ -1,5 +1,5 @@
1
- import { S as getEnvBool, a as logger, x as getConfigDirectoryPath } from "./logger-B88EkIn6.js";
2
- import { s as ResultFailureReason } from "./types-Bgh5SOn6.js";
1
+ import { S as getEnvBool, a as logger, x as getConfigDirectoryPath } from "./logger-KD8JjCRJ.js";
2
+ import { s as ResultFailureReason } from "./types-BDjGOq4E.js";
3
3
  import * as path$1 from "path";
4
4
  import Database from "better-sqlite3";
5
5
  import { drizzle } from "drizzle-orm/better-sqlite3";
@@ -285,4 +285,4 @@ relations(spansTable, ({ one }) => ({ trace: one(tracesTable, {
285
285
  //#endregion
286
286
  export { evalResultsTable as a, evalsToPromptsTable as c, promptsTable as d, spansTable as f, getDbSignalPath as g, getDb as h, datasetsTable as i, evalsToTagsTable as l, tracesTable as m, blobReferencesTable as n, evalsTable as o, tagsTable as p, configsTable as r, evalsToDatasetsTable as s, blobAssetsTable as t, modelAuditsTable as u };
287
287
 
288
- //# sourceMappingURL=tables-CsWou1Bx.js.map
288
+ //# sourceMappingURL=tables-BMSOS2Gg.js.map
@@ -1,5 +1,5 @@
1
1
  const require_logger = require("./logger-COuQb2xB.cjs");
2
- const require_types = require("./types-CeaeaZdP.cjs");
2
+ const require_types = require("./types-CgG2rKiW.cjs");
3
3
  let path = require("path");
4
4
  path = require_logger.__toESM(path);
5
5
  let drizzle_orm = require("drizzle-orm");
@@ -370,4 +370,4 @@ Object.defineProperty(exports, "tracesTable", {
370
370
  }
371
371
  });
372
372
 
373
- //# sourceMappingURL=tables-DUfh1F7Z.cjs.map
373
+ //# sourceMappingURL=tables-CXbaZ9y1.cjs.map
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { C as getConfigDirectoryPath, T as getEnvBool, s as logger } from "./logger-DksKw1Qc.js";
3
- import { s as ResultFailureReason } from "./types-Dm9JM6Vb.js";
2
+ import { C as getConfigDirectoryPath, T as getEnvBool, s as logger } from "./logger-BbY6ypFL.js";
3
+ import { s as ResultFailureReason } from "./types-BVH9hjgW.js";
4
4
  import * as path$1 from "path";
5
5
  import { relations, sql } from "drizzle-orm";
6
6
  import Database from "better-sqlite3";
@@ -311,4 +311,4 @@ relations(spansTable, ({ one }) => ({ trace: one(tracesTable, {
311
311
  //#endregion
312
312
  export { getDbSignalPath as _, evalResultsTable as a, evalsToPromptsTable as c, promptsTable as d, spansTable as f, getDb as g, closeDbIfOpen as h, datasetsTable as i, evalsToTagsTable as l, tracesTable as m, blobReferencesTable as n, evalsTable as o, tagsTable as p, configsTable as r, evalsToDatasetsTable as s, blobAssetsTable as t, modelAuditsTable as u };
313
313
 
314
- //# sourceMappingURL=tables-C4CH3zRr.js.map
314
+ //# sourceMappingURL=tables-NlvH23ky.js.map
@@ -1,5 +1,5 @@
1
1
  import { S as getEnvBool, a as logger, x as getConfigDirectoryPath } from "./logger-Ct2S6Yx-.js";
2
- import { g as ResultFailureReason } from "./types-BGQDAP8i.js";
2
+ import { g as ResultFailureReason } from "./types-DNRZVOue.js";
3
3
  import * as path$1 from "path";
4
4
  import { relations, sql } from "drizzle-orm";
5
5
  import Database from "better-sqlite3";
@@ -285,4 +285,4 @@ relations(spansTable, ({ one }) => ({ trace: one(tracesTable, {
285
285
  //#endregion
286
286
  export { evalsTable as a, evalsToTagsTable as c, tagsTable as d, tracesTable as f, evalResultsTable as i, promptsTable as l, getDbSignalPath as m, blobReferencesTable as n, evalsToDatasetsTable as o, getDb as p, datasetsTable as r, evalsToPromptsTable as s, blobAssetsTable as t, spansTable as u };
287
287
 
288
- //# sourceMappingURL=tables-DQ4WU5tX.js.map
288
+ //# sourceMappingURL=tables-WgdUZ8Ck.js.map
@@ -1,7 +1,8 @@
1
1
  import { t as __exportAll } from "./chunk-DEq-mXcV.js";
2
- import { O as isCI, S as getEnvBool, T as getEnvString, a as logger } from "./logger-B88EkIn6.js";
3
- import { D as CONSENT_ENDPOINT, F as POSTHOG_KEY, I as VERSION, O as EVENTS_ENDPOINT, k as R_ENDPOINT, r as fetchWithTimeout, t as fetchWithProxy } from "./fetch-B0Z3Oe4k.js";
4
- import { c as isLoggedIntoCloud, i as getAuthMethod, o as getUserEmail, s as getUserId } from "./accounts-DdJ2pHMI.js";
2
+ import { O as isCI, S as getEnvBool, T as getEnvString, a as logger } from "./logger-KD8JjCRJ.js";
3
+ import { D as CONSENT_ENDPOINT, O as EVENTS_ENDPOINT, k as R_ENDPOINT, r as fetchWithTimeout, t as fetchWithProxy } from "./fetch-Y5qX_kST.js";
4
+ import { n as VERSION, t as POSTHOG_KEY } from "./version-0frU0UTr.js";
5
+ import { c as isLoggedIntoCloud, i as getAuthMethod, o as getUserEmail, s as getUserId } from "./accounts-bnyHT7Ju.js";
5
6
  import { z } from "zod";
6
7
  import { PostHog } from "posthog-node";
7
8
  //#region src/telemetry.ts
@@ -168,4 +169,4 @@ if (!process[SHUTDOWN_HANDLER_KEY]) {
168
169
  //#endregion
169
170
  export { telemetry as n, telemetry_exports as r, TelemetryEventSchema as t };
170
171
 
171
- //# sourceMappingURL=telemetry-dbaJ0E98.js.map
172
+ //# sourceMappingURL=telemetry--iqaGyaS.js.map
@@ -1,6 +1,7 @@
1
1
  const require_logger = require("./logger-COuQb2xB.cjs");
2
- const require_fetch = require("./fetch-CJU5ELPa.cjs");
3
- const require_accounts = require("./accounts-Dy17bs4D.cjs");
2
+ const require_fetch = require("./fetch-NuqXW1Xb.cjs");
3
+ const require_version = require("./version-D9zu9FWB.cjs");
4
+ const require_accounts = require("./accounts-BIFntVWB.cjs");
4
5
  let zod = require("zod");
5
6
  let posthog_node = require("posthog-node");
6
7
  zod.z.object({
@@ -22,7 +23,7 @@ zod.z.object({
22
23
  "webui_api",
23
24
  "webui_page_view"
24
25
  ]),
25
- packageVersion: zod.z.string().optional().prefault(require_fetch.VERSION),
26
+ packageVersion: zod.z.string().optional().prefault(require_version.VERSION),
26
27
  properties: zod.z.record(zod.z.string(), zod.z.union([
27
28
  zod.z.string(),
28
29
  zod.z.number(),
@@ -35,7 +36,7 @@ let isShuttingDown = false;
35
36
  function getPostHogClient() {
36
37
  if (require_logger.getEnvBool("PROMPTFOO_DISABLE_TELEMETRY") || require_logger.getEnvBool("IS_TESTING")) return null;
37
38
  if (posthogClient === null && "phc_E5n5uHnDo2eREJL1uqX1cIlbkoRby4yFWt3V94HqRRg") try {
38
- posthogClient = new posthog_node.PostHog(require_fetch.POSTHOG_KEY, {
39
+ posthogClient = new posthog_node.PostHog(require_version.POSTHOG_KEY, {
39
40
  host: require_fetch.EVENTS_ENDPOINT,
40
41
  fetch: require_fetch.fetchWithProxy,
41
42
  flushInterval: 0
@@ -89,7 +90,7 @@ var Telemetry = class {
89
90
  sendEvent(eventName, properties) {
90
91
  const propertiesWithMetadata = {
91
92
  ...properties,
92
- packageVersion: require_fetch.VERSION,
93
+ packageVersion: require_version.VERSION,
93
94
  isRunningInCi: require_logger.isCI()
94
95
  };
95
96
  const client = getPostHogClient();
@@ -172,4 +173,4 @@ Object.defineProperty(exports, "telemetry", {
172
173
  }
173
174
  });
174
175
 
175
- //# sourceMappingURL=telemetry-Dsw_faFj.cjs.map
176
+ //# sourceMappingURL=telemetry-CEQxGnMZ.cjs.map
@@ -1,7 +1,8 @@
1
1
  import { t as __exportAll } from "./chunk-DEq-mXcV.js";
2
2
  import { O as isCI, S as getEnvBool, T as getEnvString, a as logger } from "./logger-Ct2S6Yx-.js";
3
- import { D as CONSENT_ENDPOINT, F as VERSION, O as EVENTS_ENDPOINT, P as POSTHOG_KEY, k as R_ENDPOINT, r as fetchWithTimeout, t as fetchWithProxy } from "./fetch-Di00EQrc.js";
4
- import { a as getUserId, i as getUserEmail, n as getAuthMethod, o as isLoggedIntoCloud } from "./accounts-DhMYUUbu.js";
3
+ import { D as CONSENT_ENDPOINT, O as EVENTS_ENDPOINT, k as R_ENDPOINT, r as fetchWithTimeout, t as fetchWithProxy } from "./fetch-D9xxyC1p.js";
4
+ import { n as VERSION, t as POSTHOG_KEY } from "./version-CbuBKu2U.js";
5
+ import { a as getUserId, i as getUserEmail, n as getAuthMethod, o as isLoggedIntoCloud } from "./accounts-CaLNYnf7.js";
5
6
  import { z } from "zod";
6
7
  import { PostHog } from "posthog-node";
7
8
  //#region src/telemetry.ts
@@ -167,4 +168,4 @@ if (!process[SHUTDOWN_HANDLER_KEY]) {
167
168
  //#endregion
168
169
  export { telemetry_exports as n, telemetry as t };
169
170
 
170
- //# sourceMappingURL=telemetry-Dvqxv3YC.js.map
171
+ //# sourceMappingURL=telemetry-CgdVGV8N.js.map
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env node
2
- import { O as getEnvString, T as getEnvBool, j as isCI, s as logger } from "./logger-DksKw1Qc.js";
3
- import { D as EVENTS_ENDPOINT, E as CONSENT_ENDPOINT, F as VERSION, O as R_ENDPOINT, P as POSTHOG_KEY, i as fetchWithTimeout, n as fetchWithProxy } from "./fetch-BEWnXrrG.js";
4
- import { c as isLoggedIntoCloud, i as getAuthMethod, o as getUserEmail, s as getUserId } from "./accounts-F9d_5sMC.js";
2
+ import { O as getEnvString, T as getEnvBool, j as isCI, s as logger } from "./logger-BbY6ypFL.js";
3
+ import { D as EVENTS_ENDPOINT, E as CONSENT_ENDPOINT, O as R_ENDPOINT, i as fetchWithTimeout, n as fetchWithProxy } from "./fetch-B6ch2nU2.js";
4
+ import { n as VERSION, t as POSTHOG_KEY } from "./version-CbpiUINz.js";
5
+ import { c as isLoggedIntoCloud, i as getAuthMethod, o as getUserEmail, s as getUserId } from "./accounts-CLJHCDDb.js";
5
6
  import { PostHog } from "posthog-node";
6
7
  import { z } from "zod";
7
8
  //#region src/telemetry.ts
@@ -163,4 +164,4 @@ if (!process[SHUTDOWN_HANDLER_KEY]) {
163
164
  //#endregion
164
165
  export { TelemetryEventSchema as n, telemetry as r, Telemetry as t };
165
166
 
166
- //# sourceMappingURL=telemetry-CQPez_Jp.js.map
167
+ //# sourceMappingURL=telemetry-DWdGHvEf.js.map
@@ -0,0 +1,2 @@
1
+ const require_telemetry = require("./telemetry-CEQxGnMZ.cjs");
2
+ exports.default = require_telemetry.telemetry;
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { r as telemetry } from "./telemetry-DWdGHvEf.js";
3
+ export { telemetry as default };
@@ -30,4 +30,4 @@ Object.defineProperty(exports, "escapeRegExp", {
30
30
  }
31
31
  });
32
32
 
33
- //# sourceMappingURL=text-BVi-cLPJ.cjs.map
33
+ //# sourceMappingURL=text-BiNME7QG.cjs.map
@@ -20,4 +20,4 @@ function escapeRegExp(str) {
20
20
  //#endregion
21
21
  export { escapeRegExp as n, ellipsize as t };
22
22
 
23
- //# sourceMappingURL=text-KvuD2Iko.js.map
23
+ //# sourceMappingURL=text-D4lz-Jg_.js.map
@@ -19,4 +19,4 @@ function escapeRegExp(str) {
19
19
  //#endregion
20
20
  export { escapeRegExp as n, ellipsize as t };
21
21
 
22
- //# sourceMappingURL=text-DHxdyQqT.js.map
22
+ //# sourceMappingURL=text-DDQP0tuQ.js.map
@@ -19,4 +19,4 @@ function escapeRegExp(str) {
19
19
  //#endregion
20
20
  export { escapeRegExp as n, ellipsize as t };
21
21
 
22
- //# sourceMappingURL=text-CZr46tp_.js.map
22
+ //# sourceMappingURL=text-NWvfMfkF.js.map
@@ -140,4 +140,4 @@ function normalizeTokenUsage(tokenUsage) {
140
140
  //#endregion
141
141
  export { createEmptyTokenUsage as a, createEmptyAssertions as i, accumulateResponseTokenUsage as n, normalizeTokenUsage as o, accumulateTokenUsage as r, accumulateAssertionTokenUsage as t };
142
142
 
143
- //# sourceMappingURL=tokenUsageUtils-CXrvO-wA.js.map
143
+ //# sourceMappingURL=tokenUsageUtils-2wIvAhB3.js.map
@@ -139,4 +139,4 @@ function normalizeTokenUsage(tokenUsage) {
139
139
  //#endregion
140
140
  export { createEmptyTokenUsage as a, createEmptyAssertions as i, accumulateResponseTokenUsage as n, normalizeTokenUsage as o, accumulateTokenUsage as r, accumulateAssertionTokenUsage as t };
141
141
 
142
- //# sourceMappingURL=tokenUsageUtils-C-bmyHoE.js.map
142
+ //# sourceMappingURL=tokenUsageUtils-4c780gFd.js.map
@@ -0,0 +1,142 @@
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
+ cacheReadInputTokens: 0,
11
+ cacheCreationInputTokens: 0
12
+ };
13
+ }
14
+ /**
15
+ * Create an empty assertions token usage object.
16
+ */
17
+ function createEmptyAssertions() {
18
+ return {
19
+ total: 0,
20
+ prompt: 0,
21
+ completion: 0,
22
+ cached: 0,
23
+ numRequests: 0,
24
+ completionDetails: createEmptyCompletionDetails()
25
+ };
26
+ }
27
+ /**
28
+ * Create an empty token usage object with all fields initialized to zero.
29
+ */
30
+ function createEmptyTokenUsage() {
31
+ return {
32
+ prompt: 0,
33
+ completion: 0,
34
+ cached: 0,
35
+ total: 0,
36
+ numRequests: 0,
37
+ completionDetails: createEmptyCompletionDetails(),
38
+ assertions: createEmptyAssertions()
39
+ };
40
+ }
41
+ /**
42
+ * Helper to accumulate numeric values
43
+ */
44
+ function addNumbers(a, b) {
45
+ return (a ?? 0) + (b ?? 0);
46
+ }
47
+ /**
48
+ * Helper to accumulate completion details
49
+ */
50
+ function accumulateCompletionDetails(target, update) {
51
+ if (!update) return target;
52
+ return {
53
+ reasoning: addNumbers(target?.reasoning, update.reasoning),
54
+ acceptedPrediction: addNumbers(target?.acceptedPrediction, update.acceptedPrediction),
55
+ rejectedPrediction: addNumbers(target?.rejectedPrediction, update.rejectedPrediction),
56
+ cacheReadInputTokens: addNumbers(target?.cacheReadInputTokens, update.cacheReadInputTokens),
57
+ cacheCreationInputTokens: addNumbers(target?.cacheCreationInputTokens, update.cacheCreationInputTokens)
58
+ };
59
+ }
60
+ /**
61
+ * Accumulate token usage into a target object. Mutates {@code target}.
62
+ * @param target Object to update
63
+ * @param update Usage to add
64
+ * @param incrementRequests Whether to increment numRequests when update is provided but doesn't specify numRequests
65
+ */
66
+ function accumulateTokenUsage(target, update, incrementRequests = false) {
67
+ if (!update) return;
68
+ target.prompt = addNumbers(target.prompt, update.prompt);
69
+ target.completion = addNumbers(target.completion, update.completion);
70
+ target.cached = addNumbers(target.cached, update.cached);
71
+ target.total = addNumbers(target.total, update.total);
72
+ if (update.numRequests !== void 0) target.numRequests = addNumbers(target.numRequests, update.numRequests);
73
+ else if (incrementRequests) target.numRequests = (target.numRequests ?? 0) + 1;
74
+ if (update.completionDetails) target.completionDetails = accumulateCompletionDetails(target.completionDetails, update.completionDetails);
75
+ if (update.assertions) {
76
+ if (!target.assertions) target.assertions = {
77
+ total: 0,
78
+ prompt: 0,
79
+ completion: 0,
80
+ cached: 0,
81
+ numRequests: 0
82
+ };
83
+ target.assertions.total = addNumbers(target.assertions.total, update.assertions.total);
84
+ target.assertions.prompt = addNumbers(target.assertions.prompt, update.assertions.prompt);
85
+ target.assertions.completion = addNumbers(target.assertions.completion, update.assertions.completion);
86
+ target.assertions.cached = addNumbers(target.assertions.cached, update.assertions.cached);
87
+ target.assertions.numRequests = addNumbers(target.assertions.numRequests, update.assertions.numRequests);
88
+ if (update.assertions.completionDetails) target.assertions.completionDetails = accumulateCompletionDetails(target.assertions.completionDetails, update.assertions.completionDetails);
89
+ }
90
+ }
91
+ /**
92
+ * Accumulate token usage specifically for assertions.
93
+ * This function operates directly on an assertions object rather than a full TokenUsage object.
94
+ * @param target Assertions object to update
95
+ * @param update Partial token usage that may contain assertion-related fields
96
+ */
97
+ function accumulateAssertionTokenUsage(target, update) {
98
+ if (!update) return;
99
+ target.total = addNumbers(target.total, update.total);
100
+ target.prompt = addNumbers(target.prompt, update.prompt);
101
+ target.completion = addNumbers(target.completion, update.completion);
102
+ target.cached = addNumbers(target.cached, update.cached);
103
+ if (update.completionDetails) target.completionDetails = accumulateCompletionDetails(target.completionDetails, update.completionDetails);
104
+ }
105
+ /**
106
+ * Accumulate token usage from a response, handling the common pattern of
107
+ * incrementing numRequests when no token usage is provided.
108
+ * @param target Object to update
109
+ * @param response Response that may contain token usage
110
+ */
111
+ function accumulateResponseTokenUsage(target, response, options) {
112
+ const countAsRequest = options?.countAsRequest ?? true;
113
+ if (response?.tokenUsage) if (countAsRequest) {
114
+ accumulateTokenUsage(target, response.tokenUsage);
115
+ if (response.tokenUsage.numRequests === void 0) target.numRequests = (target.numRequests ?? 0) + 1;
116
+ } else accumulateTokenUsage(target, {
117
+ ...response.tokenUsage,
118
+ numRequests: void 0
119
+ });
120
+ else if (response && countAsRequest) target.numRequests = (target.numRequests ?? 0) + 1;
121
+ }
122
+ /**
123
+ * Normalize token usage from a provider response into a standard TokenUsage object.
124
+ * Provides default values for all fields if not present in the response.
125
+ * @param tokenUsage Token usage from provider response (may be partial or undefined)
126
+ * @returns Fully populated TokenUsage object with defaults
127
+ */
128
+ function normalizeTokenUsage(tokenUsage) {
129
+ return {
130
+ total: tokenUsage?.total || 0,
131
+ prompt: tokenUsage?.prompt || 0,
132
+ completion: tokenUsage?.completion || 0,
133
+ cached: tokenUsage?.cached || 0,
134
+ numRequests: tokenUsage?.numRequests || 0,
135
+ completionDetails: tokenUsage?.completionDetails || createEmptyCompletionDetails(),
136
+ assertions: tokenUsage?.assertions || createEmptyAssertions()
137
+ };
138
+ }
139
+ //#endregion
140
+ export { createEmptyTokenUsage as a, createEmptyAssertions as i, accumulateResponseTokenUsage as n, normalizeTokenUsage as o, accumulateTokenUsage as r, accumulateAssertionTokenUsage as t };
141
+
142
+ //# sourceMappingURL=tokenUsageUtils-BjVkdk18.js.map
@@ -174,4 +174,4 @@ Object.defineProperty(exports, "normalizeTokenUsage", {
174
174
  }
175
175
  });
176
176
 
177
- //# sourceMappingURL=tokenUsageUtils-Bb7DkZPz.cjs.map
177
+ //# sourceMappingURL=tokenUsageUtils-C9odhsbW.cjs.map
@@ -1,8 +1,8 @@
1
1
  import { a as logger } from "./logger-Ct2S6Yx-.js";
2
- import { h as REQUEST_TIMEOUT_MS } from "./fetch-Di00EQrc.js";
3
- import { r as fetchWithCache } from "./cache-D5NZmMiT.js";
4
- import { t as OpenAiGenericProvider } from "./openai-iYtrXzOX.js";
5
- import { i as OPENAI_TRANSCRIPTION_MODELS } from "./util-D9TisOyk.js";
2
+ import { u as REQUEST_TIMEOUT_MS } from "./fetch-D9xxyC1p.js";
3
+ import { r as fetchWithCache } from "./cache-Bzttsk0X.js";
4
+ import { t as OpenAiGenericProvider } from "./openai-D4fxGvRx.js";
5
+ import { i as OPENAI_TRANSCRIPTION_MODELS } from "./util-BlFVL0UF.js";
6
6
  import fs from "fs";
7
7
  import path from "path";
8
8
  //#region src/providers/openai/transcription.ts
@@ -119,4 +119,4 @@ var OpenAiTranscriptionProvider = class OpenAiTranscriptionProvider extends Open
119
119
  //#endregion
120
120
  export { OpenAiTranscriptionProvider };
121
121
 
122
- //# sourceMappingURL=transcription-DuWDupG7.js.map
122
+ //# sourceMappingURL=transcription-84t4ALo2.js.map