promptfoo 0.120.21 → 0.120.22

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 (198) hide show
  1. package/dist/src/{accounts-uWRxEv-D.cjs → accounts-BGa3oLcq.cjs} +4 -4
  2. package/dist/src/{accounts-DYMHC4iY.js → accounts-BR9WiyfR.js} +4 -4
  3. package/dist/src/{accounts-CjU7QSnv.js → accounts-Ckp-8szu.js} +5 -5
  4. package/dist/src/{agentic-utils-BMbQVVd4.js → agentic-utils-BE3QlHKy.js} +2 -2
  5. package/dist/src/{agents-CzCD5974.cjs → agents-BhbWppc2.cjs} +6 -6
  6. package/dist/src/{agents-DGQULdoA.js → agents-BtgWQypw.js} +3 -3
  7. package/dist/src/{agents-CJ4BY_QU.js → agents-BxHVTa7v.js} +7 -7
  8. package/dist/src/{agents-DABC7ROH.js → agents-CMv_PdKa.js} +6 -6
  9. package/dist/src/{agents-BNSS1kSZ.js → agents-CTESpLg_.js} +2 -2
  10. package/dist/src/{agents-BJxm0Kcs.cjs → agents-CnjTsnFv.cjs} +2 -2
  11. package/dist/src/{aimlapi-B2qJXUsC.js → aimlapi-BDfWTIuB.js} +10 -10
  12. package/dist/src/{aimlapi-ABHUqmBg.cjs → aimlapi-B_JaNK7C.cjs} +9 -9
  13. package/dist/src/{aimlapi-CnBWjM7x.js → aimlapi-DzmOPVaB.js} +9 -9
  14. package/dist/src/app/assets/index-CbpQqvt4.css +1 -0
  15. package/dist/src/app/assets/{index-BVE859O5.js → index-gBlK8Ooo.js} +74 -74
  16. package/dist/src/app/index.html +2 -2
  17. package/dist/src/app/tsconfig.app.tsbuildinfo +1 -1
  18. package/dist/src/{audio-BT9aSeWg.js → audio-CLv1koN0.js} +4 -4
  19. package/dist/src/{audio-CSrI_LFf.js → audio-DCfFE8hp.js} +3 -3
  20. package/dist/src/{audio-DSV364HB.cjs → audio-UH7JqpeT.cjs} +3 -3
  21. package/dist/src/{base-d8hHSpEx.js → base-BMtzQZDN.js} +2 -2
  22. package/dist/src/{base-NFXflrMy.js → base-DGXF05vt.js} +2 -2
  23. package/dist/src/{base-CRrQ15eu.cjs → base-oCiJ630X.cjs} +2 -2
  24. package/dist/src/{blobs-Dznj-8xW.js → blobs-CNXTPz_3.js} +2 -2
  25. package/dist/src/{blobs-DC2sBLv8.js → blobs-eYQ1PJ-z.js} +2 -2
  26. package/dist/src/{blobs-D-Neij7m.cjs → blobs-h2nW1G8J.cjs} +2 -2
  27. package/dist/src/cache-BbrUrAzE.cjs +6 -0
  28. package/dist/src/{cache-aKR8pp5y.js → cache-CG_VUeq6.js} +2 -2
  29. package/dist/src/{cache-CMvgAnSi.js → cache-CkRahBA6.js} +2 -2
  30. package/dist/src/{cache-scuP1IRq.js → cache-CuMs-Ct_.js} +3 -3
  31. package/dist/src/{cache-DYJRe0Jt.cjs → cache-PWdK7nbt.cjs} +2 -2
  32. package/dist/src/{cache-xb4oZe27.js → cache-_erPRF2X.js} +2 -2
  33. package/dist/src/{chat-DyjTngG2.js → chat-4dCIDs0X.js} +8 -8
  34. package/dist/src/{chat-BbgGuvwu.js → chat-Bvvgb30H.js} +6 -6
  35. package/dist/src/{chat-CfJU9hHo.cjs → chat-CPZqlTJM.cjs} +8 -8
  36. package/dist/src/{chat-BH8Fxyap.js → chat-Cz8uiybK.js} +6 -6
  37. package/dist/src/{chat-Biz16BQv.cjs → chat-DKNIBnnw.cjs} +6 -6
  38. package/dist/src/{chat-Du_GyqZe.js → chat-Noh-ZAEA.js} +9 -9
  39. package/dist/src/{claude-agent-sdk-CdRG6b7t.js → claude-agent-sdk-C_1rEeQS.js} +8 -8
  40. package/dist/src/{claude-agent-sdk-BW-YEYQi.cjs → claude-agent-sdk-Cf9ilftQ.cjs} +8 -8
  41. package/dist/src/{claude-agent-sdk-CL5NzJEu.js → claude-agent-sdk-Duik96Pj.js} +9 -9
  42. package/dist/src/{cloud-UwfmA0Ne.js → cloud-CZHXB86j.js} +2 -2
  43. package/dist/src/{cloud-1cbcFXE9.js → cloud-Ckel3stH.js} +1 -1
  44. package/dist/src/{cloudflare-ai-BB77BUMD.js → cloudflare-ai-8EaAKyYe.js} +9 -9
  45. package/dist/src/{cloudflare-ai-D2Wlbus6.cjs → cloudflare-ai-CCHnFeAX.cjs} +9 -9
  46. package/dist/src/{cloudflare-ai-DXTxK3ou.js → cloudflare-ai-DM055RzH.js} +10 -10
  47. package/dist/src/{cloudflare-gateway-DeZRwitI.js → cloudflare-gateway-BMUSnpcR.js} +11 -11
  48. package/dist/src/{cloudflare-gateway-Tn2OEgYQ.js → cloudflare-gateway-Bcw05eOu.js} +10 -10
  49. package/dist/src/{cloudflare-gateway-D5IjGRjZ.cjs → cloudflare-gateway-DNxNiVNW.cjs} +10 -10
  50. package/dist/src/{cometapi-RP8h5O2f.cjs → cometapi-Bc95q8BF.cjs} +10 -10
  51. package/dist/src/{cometapi-CUq-lrPh.js → cometapi-CHlpzlEb.js} +11 -11
  52. package/dist/src/{cometapi-Bu_LOIac.js → cometapi-DWXoEmta.js} +10 -10
  53. package/dist/src/{completion-BTZ42lqL.js → completion-2IaHHyEe.js} +4 -4
  54. package/dist/src/{completion-H4ncr2bK.js → completion-D25ktKRj.js} +4 -4
  55. package/dist/src/{completion-Dw-9jqz1.cjs → completion-Xj-aJd1b.cjs} +4 -4
  56. package/dist/src/{docker-kvFgJqkg.js → docker-CJbB16zr.js} +10 -10
  57. package/dist/src/{docker-B8zxQ12-.js → docker-Cc26CxVP.js} +9 -9
  58. package/dist/src/{docker-NrVUpeWw.cjs → docker-jL9w9fA6.cjs} +9 -9
  59. package/dist/src/eval-D4RlVjjL.js +16 -0
  60. package/dist/src/{eval-TAOD_pvN.js → eval-nWuy1AG2.js} +25 -16
  61. package/dist/src/evalResult-BeU2oOzP.cjs +9 -0
  62. package/dist/src/{evalResult-CFSvp3Zh.cjs → evalResult-CPVLU2Np.cjs} +5 -5
  63. package/dist/src/evalResult-Cf2g8jAB.js +10 -0
  64. package/dist/src/{evalResult-CnAP64o9.js → evalResult-ChJlD0Kq.js} +5 -5
  65. package/dist/src/{evalResult-DnYa1RLp.js → evalResult-DIIXLdjz.js} +5 -5
  66. package/dist/src/evalResult-XDigzbtJ.js +9 -0
  67. package/dist/src/evaluator-8HYi1Fph.js +37 -0
  68. package/dist/src/{evaluator-q2_--POi.js → evaluator-GYXFbA_Y.js} +21 -21
  69. package/dist/src/{extractor-DjxI7POm.cjs → extractor-6TFoLBb3.cjs} +2 -2
  70. package/dist/src/{extractor-D_1s-Thr.js → extractor-BEtCUN8X.js} +2 -2
  71. package/dist/src/{extractor-B9uQA-6-.js → extractor-CjCWhyEf.js} +2 -2
  72. package/dist/src/{fetch-Cb-qQ7Hm.js → fetch-24MJ7lmX.js} +2 -2
  73. package/dist/src/fetch-BNRxuf6y.cjs +4 -0
  74. package/dist/src/{fetch-BIPrzD39.js → fetch-Cn7G4hKv.js} +3 -3
  75. package/dist/src/{fetch-TcCC0nEJ.js → fetch-CruohpfF.js} +3 -3
  76. package/dist/src/{fetch-MdGxb6Bv.cjs → fetch-E3xbPP9w.cjs} +3 -3
  77. package/dist/src/{fetch-Cbz8ESXD.js → fetch-YrlVkoyU.js} +1 -1
  78. package/dist/src/{graders-C9Ni3pNQ.cjs → graders-B6ThhLLt.cjs} +14 -14
  79. package/dist/src/{graders-CG50NgEB.js → graders-DcCxY5P5.js} +14 -14
  80. package/dist/src/{graders-DycNkUZ_.js → graders-DmOCxaH5.js} +14 -14
  81. package/dist/src/graders-R44KsWy_.js +35 -0
  82. package/dist/src/graders-femSFbBL.js +33 -0
  83. package/dist/src/graders-q--EyLqs.cjs +32 -0
  84. package/dist/src/{image-CPL1masV.cjs → image-C2ceOyBf.cjs} +3 -3
  85. package/dist/src/{image-CxD58J63.js → image-CKdRHN-J.js} +4 -4
  86. package/dist/src/{image-Dg-oq_2F.js → image-CQjDlt1F.js} +4 -4
  87. package/dist/src/{image-CpQ-fJt3.cjs → image-CVIQmm2j.cjs} +4 -4
  88. package/dist/src/{image-BmMQZgoF.js → image-KltLhC3X.js} +4 -4
  89. package/dist/src/{image-CHGpqpC6.js → image-KxTS2kF1.js} +3 -3
  90. package/dist/src/index.cjs +130 -85
  91. package/dist/src/index.js +130 -85
  92. package/dist/src/{knowledgeBase-Csr92Wc4.js → knowledgeBase--WN82LQi.js} +7 -7
  93. package/dist/src/{knowledgeBase-Dy1Ln178.cjs → knowledgeBase-BqWUVrpf.cjs} +6 -6
  94. package/dist/src/{knowledgeBase-BXvPbeXF.js → knowledgeBase-Cj6dsMqo.js} +6 -6
  95. package/dist/src/{litellm-CR8i8YRn.js → litellm-Cr4cLT5U.js} +10 -10
  96. package/dist/src/{litellm-Dcc3mt1B.js → litellm-LBVMdo0D.js} +9 -9
  97. package/dist/src/{litellm-QthJT0fA.cjs → litellm-fFlC5dSL.cjs} +9 -9
  98. package/dist/src/{luma-ray-vv5ggMvl.js → luma-ray-DIn2tYU5.js} +9 -9
  99. package/dist/src/{luma-ray-DbAhu9zC.js → luma-ray-DX0-i4oF.js} +8 -8
  100. package/dist/src/{luma-ray-DpAL4igs.cjs → luma-ray-Di9Jozxk.cjs} +8 -8
  101. package/dist/src/main.js +122 -85
  102. package/dist/src/{messages-DkV1dizA.js → messages-CrKRl5Pk.js} +8 -8
  103. package/dist/src/{messages-D4Cu-Nxe.cjs → messages-DR9VV_jC.cjs} +8 -8
  104. package/dist/src/{messages-9ik4NuJ_.js → messages-HEhixC8X.js} +8 -8
  105. package/dist/src/{nova-reel-mMroVw7W.js → nova-reel-B0gtacpW.js} +8 -8
  106. package/dist/src/{nova-reel-B1c4YdE8.js → nova-reel-Bq0thILx.js} +9 -9
  107. package/dist/src/{nova-reel-Bs903nib.cjs → nova-reel-DGvKrmSN.cjs} +8 -8
  108. package/dist/src/{nova-sonic-BLgglDkA.js → nova-sonic-CjysF4hQ.js} +5 -5
  109. package/dist/src/{nova-sonic-rZe65fKE.js → nova-sonic-D5qOssIP.js} +6 -6
  110. package/dist/src/{nova-sonic-BylXGNj-.cjs → nova-sonic-a0F7idWe.cjs} +5 -5
  111. package/dist/src/{opencode-sdk-G-dBq9xe.js → opencode-sdk-BJQlARp2.js} +4 -4
  112. package/dist/src/{opencode-sdk-lf_9VEhj.js → opencode-sdk-BsA1jKss.js} +5 -5
  113. package/dist/src/{opencode-sdk-B3o0jNxx.cjs → opencode-sdk-DLgVrMGX.cjs} +4 -4
  114. package/dist/src/{otlpReceiver-CO1TzzW1.js → otlpReceiver-14NR1X1K.js} +4 -4
  115. package/dist/src/{otlpReceiver-COmdVimi.cjs → otlpReceiver-BGH8dMy4.cjs} +4 -4
  116. package/dist/src/{otlpReceiver-CBZNmyZi.js → otlpReceiver-K8eh39vC.js} +4 -4
  117. package/dist/src/providers-BGK6Bn3A.cjs +31 -0
  118. package/dist/src/providers-BMWePlwX.js +31 -0
  119. package/dist/src/{providers-CHciOV4f.js → providers-C5LI9356.js} +51 -52
  120. package/dist/src/{providers-D8qKkVu_.js → providers-DbetV5MB.js} +52 -53
  121. package/dist/src/providers-EXgGEohn.js +33 -0
  122. package/dist/src/{providers-Bz0U4NGd.cjs → providers-lmV8J0jR.cjs} +51 -52
  123. package/dist/src/{quiverai-DnlaJG8H.js → quiverai-3Uc6za3c.js} +8 -8
  124. package/dist/src/{quiverai-BIveJ-Ql.cjs → quiverai-QLaorfoo.cjs} +8 -8
  125. package/dist/src/{quiverai-3rtm1glP.js → quiverai-h9NdOMN2.js} +9 -9
  126. package/dist/src/{sagemaker-B4hvJgkV.js → sagemaker-BghZ9VSg.js} +12 -12
  127. package/dist/src/{sagemaker-BsttQmAf.cjs → sagemaker-DIBiJ2A1.cjs} +11 -11
  128. package/dist/src/{sagemaker-BvwRP8TL.js → sagemaker-Dd4VJGu5.js} +11 -11
  129. package/dist/src/{scanner-CPosIITM.js → scanner-CMWzx1QH.js} +6 -6
  130. package/dist/src/server/index.js +108 -78
  131. package/dist/src/server-BrgtL_8J.js +8 -0
  132. package/dist/src/server-CJPqXqVd.js +6 -0
  133. package/dist/src/{server-BKdsd70B.js → server-DHV0r-FB.js} +3 -3
  134. package/dist/src/server-DZlHxFYI.cjs +6 -0
  135. package/dist/src/{server-Bb83s34G.js → server-JDwxLoXT.js} +4 -4
  136. package/dist/src/{server-ByLwfSDf.cjs → server-PndEy2Nj.cjs} +3 -3
  137. package/dist/src/{signal-B8hvvb8w.js → signal-V7dUBr64.js} +2 -2
  138. package/dist/src/{store-W4yZqv_e.js → store-BSsuF2Jj.js} +2 -2
  139. package/dist/src/store-BppHaTbi.cjs +6 -0
  140. package/dist/src/{store-CaNRmI5T.js → store-C7WtvRII.js} +2 -2
  141. package/dist/src/store-DyZAxX01.js +7 -0
  142. package/dist/src/{store-l9-mIRC-.cjs → store-j9IVHCUH.cjs} +2 -2
  143. package/dist/src/store-jXGyn3ME.js +6 -0
  144. package/dist/src/{tables-BCcp2r48.js → tables-0EDD8777.js} +2 -2
  145. package/dist/src/{tables-D_VmN-ui.cjs → tables-B5ootZ1x.cjs} +2 -2
  146. package/dist/src/{tables-DZWWveaJ.js → tables-DchWyfYe.js} +2 -2
  147. package/dist/src/{telemetry-CB8ltkOD.js → telemetry-Ar0--jvU.js} +3 -3
  148. package/dist/src/telemetry-D186sF_u.js +6 -0
  149. package/dist/src/{telemetry-DrSTNTH-.cjs → telemetry-DMNm_KFn.cjs} +3 -3
  150. package/dist/src/telemetry-DPa6sGTP.js +8 -0
  151. package/dist/src/{telemetry-CmGyDaxF.js → telemetry-J9g1ySRA.js} +3 -3
  152. package/dist/src/telemetry-XUPEBnrQ.cjs +6 -0
  153. package/dist/src/{transcription-BExRps8_.js → transcription-BhomPVy1.js} +6 -6
  154. package/dist/src/{transcription-CpuRKcIu.js → transcription-Dijlv9vZ.js} +7 -7
  155. package/dist/src/{transcription-B4GbFkhb.cjs → transcription-hPpt68W9.cjs} +6 -6
  156. package/dist/src/{transform-B5HUD86U.cjs → transform-Bow1252l.cjs} +3 -3
  157. package/dist/src/{transform-B-AYIQmM.js → transform-DFkyOjQ7.js} +3 -3
  158. package/dist/src/{transform-BwedQA8W.js → transform-yRqaT_HG.js} +3 -3
  159. package/dist/src/{types-n3ttAnOa.js → types-BjfZC_QB.js} +2 -17
  160. package/dist/src/{types-DAmPdu4_.cjs → types-Cixl-wRO.cjs} +1 -22
  161. package/dist/src/{types-BlspLqbN.js → types-l7snZgzv.js} +2 -17
  162. package/dist/src/{util-DX58t30T.js → util-07lmo96G.js} +3 -3
  163. package/dist/src/{util-Cd2vI7ii.js → util-4LvhctH4.js} +3 -3
  164. package/dist/src/{util-BnF-xRPi.js → util-7G7p_iRM.js} +3 -3
  165. package/dist/src/{util-KE6uFWHG.cjs → util-9SFCdUzk.cjs} +3 -3
  166. package/dist/src/{util-BXjq8vOq.js → util-CD-FiF5u.js} +3 -3
  167. package/dist/src/{util-B-Yo0qzc.cjs → util-CxWghxGa.cjs} +3 -3
  168. package/dist/src/{util-CyzW5ayt.js → util-DhvhJDlT.js} +3 -3
  169. package/dist/src/{util-BT0p5c9X.cjs → util-Dqg4mr2c.cjs} +3 -3
  170. package/dist/src/{util-CwsTKPXi.js → util-ImmJ_Dxe.js} +3 -3
  171. package/dist/src/{utils-BWOFfOel.js → utils-CF4fxllU.js} +2 -2
  172. package/dist/src/{utils-HdRSruG0.js → utils-D_6Jp7Sl.js} +2 -2
  173. package/dist/src/{utils-BSpcJB4B.cjs → utils-u1jU5_Iq.cjs} +2 -2
  174. package/dist/tsconfig.tsbuildinfo +1 -1
  175. package/package.json +10 -8
  176. package/dist/src/app/assets/index-CFq6nz43.css +0 -1
  177. package/dist/src/cache-BZYapLG-.cjs +0 -6
  178. package/dist/src/eval-g5SH3NBa.js +0 -16
  179. package/dist/src/evalResult-Bt2fmj0V.js +0 -9
  180. package/dist/src/evalResult-DRNH7Jui.js +0 -10
  181. package/dist/src/evalResult-DqLWyktN.cjs +0 -9
  182. package/dist/src/evaluator-DIenqH86.js +0 -37
  183. package/dist/src/fetch-gmneHrJc.cjs +0 -4
  184. package/dist/src/graders-BHcgLz2P.js +0 -35
  185. package/dist/src/graders-BjBhwJOb.cjs +0 -32
  186. package/dist/src/graders-DEjGX1uY.js +0 -33
  187. package/dist/src/providers-BBGwMMzj.js +0 -33
  188. package/dist/src/providers-BR5P_qep.cjs +0 -31
  189. package/dist/src/providers-CDib9hVp.js +0 -31
  190. package/dist/src/server-B5aIhzYk.cjs +0 -6
  191. package/dist/src/server-DJCw85s0.js +0 -8
  192. package/dist/src/server-DKj0QIm9.js +0 -6
  193. package/dist/src/store-Bo9FEBPO.js +0 -7
  194. package/dist/src/store-CqHttBql.js +0 -6
  195. package/dist/src/store-fsxOJl5O.cjs +0 -6
  196. package/dist/src/telemetry-B2uJOvMA.js +0 -8
  197. package/dist/src/telemetry-TZ0v6oGo.cjs +0 -6
  198. package/dist/src/telemetry-rP_n_bnZ.js +0 -6
@@ -3,9 +3,9 @@ import { b as getEnvString, i as logger_default, v as getEnvFloat, y as getEnvIn
3
3
  import "./esm-D40XsWlR.js";
4
4
  import "./pythonUtils-eNq6Wsfr.js";
5
5
  import { n as transform } from "./transform-DvQWeBSR.js";
6
- import "./fetch-BIPrzD39.js";
7
- import "./accounts-DYMHC4iY.js";
8
- import { n as telemetry_default } from "./telemetry-CmGyDaxF.js";
6
+ import "./fetch-Cn7G4hKv.js";
7
+ import "./accounts-BR9WiyfR.js";
8
+ import { n as telemetry_default } from "./telemetry-J9g1ySRA.js";
9
9
  import { z } from "zod";
10
10
  import crypto from "crypto";
11
11
 
@@ -409,7 +409,7 @@ var SageMakerCompletionProvider = class extends SageMakerGenericProvider {
409
409
  * Invoke SageMaker endpoint for text generation with caching, delay support, and transformations
410
410
  */
411
411
  async callApi(prompt, context, _options) {
412
- const { isCacheEnabled, getCache } = await import("./cache-aKR8pp5y.js");
412
+ const { isCacheEnabled, getCache } = await import("./cache-CG_VUeq6.js");
413
413
  const delayMs = context?.originalProvider?.delay || this.delay;
414
414
  const transformedPrompt = await this.applyTransformation(prompt, context);
415
415
  const isTransformed = transformedPrompt !== prompt;
@@ -421,7 +421,7 @@ var SageMakerCompletionProvider = class extends SageMakerGenericProvider {
421
421
  const bustCache = context?.bustCache ?? context?.debug === true;
422
422
  if (isCacheEnabled() && !bustCache) {
423
423
  const cacheKey = this.getCacheKey(transformedPrompt);
424
- const cachedResult = await (getCache ? getCache() : await import("./cache-aKR8pp5y.js").then((m) => m.getCache())).get(cacheKey);
424
+ const cachedResult = await (getCache ? getCache() : await import("./cache-CG_VUeq6.js").then((m) => m.getCache())).get(cacheKey);
425
425
  if (cachedResult) {
426
426
  logger_default.debug(`Using cached SageMaker response for ${this.getEndpointName()}`);
427
427
  try {
@@ -495,7 +495,7 @@ var SageMakerCompletionProvider = class extends SageMakerGenericProvider {
495
495
  };
496
496
  if (isCacheEnabled() && !bustCache && result.output && !result.error) {
497
497
  const cacheKey = this.getCacheKey(transformedPrompt);
498
- const cache = getCache ? getCache() : await import("./cache-aKR8pp5y.js").then((m) => m.getCache());
498
+ const cache = getCache ? getCache() : await import("./cache-CG_VUeq6.js").then((m) => m.getCache());
499
499
  const resultToCache = JSON.stringify(result);
500
500
  try {
501
501
  await cache.set(cacheKey, resultToCache);
@@ -540,7 +540,7 @@ var SageMakerEmbeddingProvider = class extends SageMakerGenericProvider {
540
540
  * Invoke SageMaker endpoint for embeddings with caching, delay support, and transformations
541
541
  */
542
542
  async callEmbeddingApi(text, context) {
543
- const { isCacheEnabled, getCache } = await import("./cache-aKR8pp5y.js");
543
+ const { isCacheEnabled, getCache } = await import("./cache-CG_VUeq6.js");
544
544
  const delayMs = context?.originalProvider?.delay || this.delay;
545
545
  const transformedText = await this.applyTransformation(text, context);
546
546
  const isTransformed = transformedText !== text;
@@ -552,7 +552,7 @@ var SageMakerEmbeddingProvider = class extends SageMakerGenericProvider {
552
552
  const bustCache = context?.debug === true;
553
553
  if (isCacheEnabled() && !bustCache) {
554
554
  const cacheKey = this.getCacheKey(transformedText);
555
- const cachedResult = await (await getCache ? await getCache() : await import("./cache-aKR8pp5y.js").then((m) => m.getCache())).get(cacheKey);
555
+ const cachedResult = await (await getCache ? await getCache() : await import("./cache-CG_VUeq6.js").then((m) => m.getCache())).get(cacheKey);
556
556
  if (cachedResult) {
557
557
  logger_default.debug(`Using cached SageMaker embedding response for ${this.getEndpointName()}`);
558
558
  try {
@@ -666,11 +666,11 @@ var SageMakerEmbeddingProvider = class extends SageMakerGenericProvider {
666
666
  * Helper method to cache embedding results
667
667
  */
668
668
  async cacheEmbeddingResult(result, text, context, isTransformed = false, originalText) {
669
- const { isCacheEnabled, getCache } = await import("./cache-aKR8pp5y.js");
669
+ const { isCacheEnabled, getCache } = await import("./cache-CG_VUeq6.js");
670
670
  const bustCache = context?.debug === true;
671
671
  if (isCacheEnabled() && !bustCache && result.embedding && !result.error) {
672
672
  const cacheKey = this.getCacheKey(text);
673
- const cache = await getCache ? await getCache() : await import("./cache-aKR8pp5y.js").then((m) => m.getCache());
673
+ const cache = await getCache ? await getCache() : await import("./cache-CG_VUeq6.js").then((m) => m.getCache());
674
674
  if (isTransformed && originalText && !result.metadata) result.metadata = {
675
675
  transformed: true,
676
676
  originalText
@@ -692,4 +692,4 @@ var SageMakerEmbeddingProvider = class extends SageMakerGenericProvider {
692
692
 
693
693
  //#endregion
694
694
  export { SageMakerCompletionProvider, SageMakerEmbeddingProvider };
695
- //# sourceMappingURL=sagemaker-BvwRP8TL.js.map
695
+ //# sourceMappingURL=sagemaker-Dd4VJGu5.js.map
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { O as cliState_default, n as getLogLevel, o as logger_default } from "./logger-Bzi5o47S.js";
3
- import { T as TERMINAL_MAX_WIDTH } from "./fetch-TcCC0nEJ.js";
4
- import "./cloud-UwfmA0Ne.js";
5
- import "./types-n3ttAnOa.js";
6
- import { t as printBorder } from "./util-CyzW5ayt.js";
3
+ import { T as TERMINAL_MAX_WIDTH } from "./fetch-CruohpfF.js";
4
+ import "./cloud-CZHXB86j.js";
5
+ import "./types-BjfZC_QB.js";
6
+ import { t as printBorder } from "./util-DhvhJDlT.js";
7
7
  import "./esm-Bwuh5HXW.js";
8
8
  import "./pythonUtils-mprm8p4h.js";
9
9
  import { t as formatDuration } from "./formatDuration-CGa0ZDQ8.js";
@@ -1128,7 +1128,7 @@ async function setupMcpBridge(socket, absoluteRepoPath, sessionId) {
1128
1128
  */
1129
1129
  let cloudConfig;
1130
1130
  try {
1131
- cloudConfig = (await import("./cloud-1cbcFXE9.js")).cloudConfig;
1131
+ cloudConfig = (await import("./cloud-Ckel3stH.js")).cloudConfig;
1132
1132
  } catch (_error) {}
1133
1133
  /**
1134
1134
  * Resolve authentication credentials using waterfall approach:
@@ -1637,4 +1637,4 @@ async function executeScan(repoPath, options) {
1637
1637
 
1638
1638
  //#endregion
1639
1639
  export { executeScan };
1640
- //# sourceMappingURL=scanner-CPosIITM.js.map
1640
+ //# sourceMappingURL=scanner-CMWzx1QH.js.map
@@ -202,7 +202,7 @@ const HUMAN_ASSERTION_TYPE = "human";
202
202
  * Application version from package.json.
203
203
  * Injected at build time, or read from npm environment in development.
204
204
  */
205
- const VERSION = "0.120.21";
205
+ const VERSION = "0.120.22";
206
206
  /**
207
207
  * PostHog analytics key.
208
208
  * Only populated during production builds via PROMPTFOO_POSTHOG_KEY env var.
@@ -4775,21 +4775,6 @@ const CONFIGURABLE_STRATEGIES = [
4775
4775
  ];
4776
4776
  const CONFIGURABLE_STRATEGIES_SET = new Set(CONFIGURABLE_STRATEGIES);
4777
4777
  /**
4778
- * Strategies that should not have language configuration applied to them.
4779
- */
4780
- const LANGUAGE_DISALLOWED_STRATEGIES = new Set([
4781
- "audio",
4782
- "video",
4783
- "image",
4784
- "math-prompt"
4785
- ]);
4786
- /**
4787
- * Determines if a strategy should not use language configuration
4788
- */
4789
- function isLanguageDisallowedStrategy(strategyId) {
4790
- return strategyId ? LANGUAGE_DISALLOWED_STRATEGIES.has(strategyId) : false;
4791
- }
4792
- /**
4793
4778
  * Default 'n' fan out for strategies that can add additional test cases during generation
4794
4779
  */
4795
4780
  const DEFAULT_N_FAN_OUT_BY_STRATEGY = {
@@ -6655,7 +6640,7 @@ function convertResultsToTable(eval_) {
6655
6640
  description: result.description || void 0,
6656
6641
  outputs: [],
6657
6642
  vars: result.vars ? Object.values(varsForHeader).map((varName) => {
6658
- const varValue = result.vars?.[varName] || "";
6643
+ const varValue = result.vars?.[varName] ?? "";
6659
6644
  if (typeof varValue === "string") return varValue;
6660
6645
  return JSON.stringify(varValue, null, 2);
6661
6646
  }).flat() : [],
@@ -6690,7 +6675,11 @@ function convertResultsToTable(eval_) {
6690
6675
  varValuesForRow.set(result.testIdx, result.vars);
6691
6676
  rowMap[result.testIdx] = row;
6692
6677
  let resultText;
6693
- const outputTextDisplay = typeof result.response?.output === "object" ? JSON.stringify(result.response.output) : result.response?.output || result.error || "";
6678
+ const rawOutput = result.response?.output;
6679
+ let outputTextDisplay;
6680
+ if (rawOutput !== null && typeof rawOutput === "object") outputTextDisplay = JSON.stringify(rawOutput);
6681
+ else if (rawOutput == null || rawOutput === "") outputTextDisplay = result.error || "";
6682
+ else outputTextDisplay = String(rawOutput);
6694
6683
  if (result.testCase.assert) if (result.success) resultText = `${outputTextDisplay || result.error || ""}`;
6695
6684
  else resultText = `${outputTextDisplay}`;
6696
6685
  else if (result.error) resultText = `${result.error}`;
@@ -6737,7 +6726,7 @@ function convertResultsToTable(eval_) {
6737
6726
  const rows = Object.values(rowMap);
6738
6727
  const sortedVars = [...varsForHeader].sort();
6739
6728
  for (const row of rows) row.vars = sortedVars.map((varName) => {
6740
- const varValue = varValuesForRow.get(row.testIdx)?.[varName] || "";
6729
+ const varValue = varValuesForRow.get(row.testIdx)?.[varName] ?? "";
6741
6730
  if (typeof varValue === "string") return varValue;
6742
6731
  return JSON.stringify(varValue, null, 2);
6743
6732
  });
@@ -6754,7 +6743,11 @@ function convertResultsToTable(eval_) {
6754
6743
  //#region src/util/exportToFile/index.ts
6755
6744
  function convertEvalResultToTableCell(result) {
6756
6745
  let resultText;
6757
- const outputTextDisplay = typeof result.response?.output === "object" ? JSON.stringify(result.response.output) : result.response?.output || result.error || "";
6746
+ const rawOutput = result.response?.output;
6747
+ let outputTextDisplay;
6748
+ if (rawOutput !== null && typeof rawOutput === "object") outputTextDisplay = JSON.stringify(rawOutput);
6749
+ else if (rawOutput == null || rawOutput === "") outputTextDisplay = result.error || "";
6750
+ else outputTextDisplay = String(rawOutput);
6758
6751
  if (result.testCase.assert) if (result.success) resultText = `${outputTextDisplay || result.error || ""}`;
6759
6752
  else resultText = `${outputTextDisplay}`;
6760
6753
  else if (result.error) resultText = `${result.error}`;
@@ -6800,11 +6793,12 @@ function convertTestResultsToTableRow(results, varsForHeader) {
6800
6793
  outputs: [],
6801
6794
  vars: Object.values(varsForHeader).map((varName) => {
6802
6795
  if (varName === "sessionId") {
6803
- const varValue = results[0].testCase.vars?.sessionId || results[0].metadata?.sessionId || "";
6796
+ const sessionId = results[0].testCase.vars?.sessionId;
6797
+ const varValue = sessionId == null || sessionId === "" ? results[0].metadata?.sessionId ?? "" : sessionId;
6804
6798
  if (typeof varValue === "string") return varValue;
6805
6799
  return JSON.stringify(varValue);
6806
6800
  }
6807
- const varValue = results[0].testCase.vars?.[varName] || "";
6801
+ const varValue = results[0].testCase.vars?.[varName] ?? "";
6808
6802
  if (typeof varValue === "string") return varValue;
6809
6803
  return JSON.stringify(varValue);
6810
6804
  }).flat(),
@@ -14189,7 +14183,7 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
14189
14183
  ...allTools.length > 0 ? { tools: allTools } : {},
14190
14184
  ...config.tool_choice ? { tool_choice: transformToolChoice(config.tool_choice, "anthropic") } : {},
14191
14185
  ...config.thinking || thinking ? { thinking: config.thinking || thinking } : {},
14192
- ...processedOutputFormat ? { output_format: processedOutputFormat } : {},
14186
+ ...processedOutputFormat ? { output_config: { format: processedOutputFormat } } : {},
14193
14187
  ...typeof config?.extra_body === "object" && config.extra_body ? config.extra_body : {}
14194
14188
  };
14195
14189
  logger_default.debug("Calling Anthropic Messages API", { params });
@@ -25041,7 +25035,6 @@ async function textToAudio(text, language = "en", options) {
25041
25035
  */
25042
25036
  async function addAudioToBase64(testCases, injectVar, config = {}) {
25043
25037
  const audioTestCases = [];
25044
- const language = config.language || "en";
25045
25038
  const evalId = config.evalId;
25046
25039
  let progressBar;
25047
25040
  if (logger_default.level !== "debug") {
@@ -25055,7 +25048,7 @@ async function addAudioToBase64(testCases, injectVar, config = {}) {
25055
25048
  for (const testCase of testCases) {
25056
25049
  invariant(testCase.vars, `Audio encoding: testCase.vars is required, but got ${JSON.stringify(testCase)}`);
25057
25050
  const originalText = String(testCase.vars[injectVar]);
25058
- const audioResult = await textToAudio(originalText, language, { evalId });
25051
+ const audioResult = await textToAudio(originalText, testCase.metadata?.language || testCase.metadata?.modifiers?.language || config.language || "en", { evalId });
25059
25052
  audioTestCases.push({
25060
25053
  ...testCase,
25061
25054
  assert: testCase.assert?.map((assertion) => ({
@@ -70733,11 +70726,6 @@ async function synthesize({ abortSignal, delay, entities: entitiesOverride, inje
70733
70726
  });
70734
70727
  await validateStrategies(strategies);
70735
70728
  await validateSharpDependency(strategies, plugins);
70736
- if (strategies.some((s) => isLanguageDisallowedStrategy(s.id)) && language) {
70737
- const originalLanguage = Array.isArray(language) ? language.join(", ") : language;
70738
- language = "en";
70739
- logger_default.info(`[Language Override] Detected language-disallowed strategy (audio/video/image/layer/math-prompt). Forcing language to 'en' (was: ${originalLanguage})`);
70740
- }
70741
70729
  const redteamProvider = await redteamProviderManager.getProvider({ provider });
70742
70730
  const { effectiveStrategyCount, includeBasicTests, totalPluginTests, totalTests } = calculateTotalTests(plugins, strategies, language);
70743
70731
  logger_default.info(`Synthesizing test cases for ${prompts.length} ${prompts.length === 1 ? "prompt" : "prompts"}...\nUsing plugins:\n\n${chalk.yellow(plugins.map((p) => {
@@ -71787,60 +71775,101 @@ async function deleteErrorResults(resultIds) {
71787
71775
  await getDb().delete(evalResultsTable).where(inArray(evalResultsTable.id, resultIds));
71788
71776
  logger_default.debug(`Deleted ${resultIds.length} error results from database`);
71789
71777
  }
71778
+ const RECALCULATE_BATCH_SIZE = 1e3;
71790
71779
  /**
71791
- * Recalculates prompt metrics based on current results after ERROR results have been deleted
71780
+ * Recalculates prompt metrics based on current results after ERROR results have been deleted.
71781
+ * Uses streaming batched iteration to avoid OOM with large evaluations (40K+ results).
71792
71782
  */
71793
71783
  async function recalculatePromptMetrics(evalRecord) {
71794
71784
  logger_default.debug("Recalculating prompt metrics after deleting ERROR results");
71795
- await evalRecord.loadResults();
71785
+ const startTime = Date.now();
71786
+ let batchNumber = 0;
71787
+ let totalProcessed = 0;
71796
71788
  const promptMetricsMap = /* @__PURE__ */ new Map();
71797
- for (const prompt of evalRecord.prompts) {
71798
- const promptIdx = evalRecord.prompts.indexOf(prompt);
71799
- promptMetricsMap.set(promptIdx, {
71800
- score: 0,
71801
- testPassCount: 0,
71802
- testFailCount: 0,
71803
- testErrorCount: 0,
71804
- assertPassCount: 0,
71805
- assertFailCount: 0,
71806
- totalLatencyMs: 0,
71807
- tokenUsage: createEmptyTokenUsage(),
71808
- namedScores: {},
71809
- namedScoresCount: {},
71810
- cost: 0
71811
- });
71812
- }
71813
- for (const result of evalRecord.results) {
71814
- const metrics = promptMetricsMap.get(result.promptIdx);
71815
- if (!metrics) continue;
71816
- if (result.success) metrics.testPassCount++;
71817
- else if (result.failureReason === ResultFailureReason.ERROR) metrics.testErrorCount++;
71818
- else metrics.testFailCount++;
71819
- metrics.score += result.score || 0;
71820
- metrics.totalLatencyMs += result.latencyMs || 0;
71821
- metrics.cost += result.cost || 0;
71822
- for (const [key, value] of Object.entries(result.namedScores || {})) {
71823
- metrics.namedScores[key] = (metrics.namedScores[key] || 0) + value;
71824
- const testVars = result.testCase?.vars || {};
71825
- let contributingAssertions = 0;
71826
- result.gradingResult?.componentResults?.forEach((componentResult) => {
71827
- if (renderMetricName(componentResult.assertion?.metric, testVars) === key) contributingAssertions++;
71828
- });
71829
- metrics.namedScoresCount[key] = (metrics.namedScoresCount[key] || 0) + (contributingAssertions || 1);
71830
- }
71831
- if (result.gradingResult?.componentResults) {
71832
- metrics.assertPassCount += result.gradingResult.componentResults.filter((r) => r.pass).length;
71833
- metrics.assertFailCount += result.gradingResult.componentResults.filter((r) => !r.pass).length;
71834
- }
71835
- if (result.response?.tokenUsage) accumulateResponseTokenUsage(metrics.tokenUsage, { tokenUsage: result.response.tokenUsage });
71836
- if (result.gradingResult?.tokensUsed) {
71837
- if (!metrics.tokenUsage.assertions) metrics.tokenUsage.assertions = createEmptyAssertions();
71838
- accumulateAssertionTokenUsage(metrics.tokenUsage.assertions, result.gradingResult.tokensUsed);
71789
+ for (const [promptIdx] of evalRecord.prompts.entries()) promptMetricsMap.set(promptIdx, {
71790
+ score: 0,
71791
+ testPassCount: 0,
71792
+ testFailCount: 0,
71793
+ testErrorCount: 0,
71794
+ assertPassCount: 0,
71795
+ assertFailCount: 0,
71796
+ totalLatencyMs: 0,
71797
+ tokenUsage: createEmptyTokenUsage(),
71798
+ namedScores: {},
71799
+ namedScoresCount: {},
71800
+ cost: 0
71801
+ });
71802
+ let currentResultId;
71803
+ try {
71804
+ for await (const batch of evalRecord.fetchResultsBatched(RECALCULATE_BATCH_SIZE)) {
71805
+ batchNumber++;
71806
+ logger_default.debug(`Processing batch ${batchNumber} with ${batch.length} results`);
71807
+ for (const result of batch) {
71808
+ currentResultId = result.id;
71809
+ const metrics = promptMetricsMap.get(result.promptIdx);
71810
+ if (!metrics) {
71811
+ logger_default.debug(`Skipping result with invalid promptIdx: ${result.promptIdx}`, {
71812
+ resultId: result.id,
71813
+ evalId: evalRecord.id
71814
+ });
71815
+ continue;
71816
+ }
71817
+ if (result.success) metrics.testPassCount++;
71818
+ else if (result.failureReason === ResultFailureReason.ERROR) metrics.testErrorCount++;
71819
+ else metrics.testFailCount++;
71820
+ metrics.score += result.score ?? 0;
71821
+ metrics.totalLatencyMs += result.latencyMs || 0;
71822
+ metrics.cost += result.cost || 0;
71823
+ for (const [key, value] of Object.entries(result.namedScores || {})) {
71824
+ metrics.namedScores[key] = (metrics.namedScores[key] || 0) + value;
71825
+ const testVars = result.testCase?.vars || {};
71826
+ let contributingAssertions = 0;
71827
+ result.gradingResult?.componentResults?.forEach((componentResult) => {
71828
+ if (renderMetricName(componentResult.assertion?.metric, testVars) === key) contributingAssertions++;
71829
+ });
71830
+ metrics.namedScoresCount[key] = (metrics.namedScoresCount[key] || 0) + (contributingAssertions || 1);
71831
+ }
71832
+ if (result.gradingResult?.componentResults) {
71833
+ metrics.assertPassCount += result.gradingResult.componentResults.filter((r) => r.pass).length;
71834
+ metrics.assertFailCount += result.gradingResult.componentResults.filter((r) => !r.pass).length;
71835
+ }
71836
+ if (result.response?.tokenUsage) accumulateResponseTokenUsage(metrics.tokenUsage, { tokenUsage: result.response.tokenUsage });
71837
+ if (result.gradingResult?.tokensUsed) {
71838
+ if (!metrics.tokenUsage.assertions) metrics.tokenUsage.assertions = createEmptyAssertions();
71839
+ accumulateAssertionTokenUsage(metrics.tokenUsage.assertions, result.gradingResult.tokensUsed);
71840
+ }
71841
+ }
71842
+ totalProcessed += batch.length;
71839
71843
  }
71844
+ } catch (error) {
71845
+ logger_default.error("Error during batched metrics recalculation", {
71846
+ phase: "calculation",
71847
+ batchNumber,
71848
+ totalProcessed,
71849
+ currentResultId,
71850
+ evalId: evalRecord.id,
71851
+ error
71852
+ });
71853
+ throw error;
71840
71854
  }
71841
71855
  for (const [promptIdx, newMetrics] of promptMetricsMap.entries()) if (promptIdx < evalRecord.prompts.length) evalRecord.prompts[promptIdx].metrics = newMetrics;
71842
- if (evalRecord.persisted) await evalRecord.addPrompts(evalRecord.prompts);
71843
- logger_default.debug("Prompt metrics recalculation completed");
71856
+ if (evalRecord.persisted) try {
71857
+ await evalRecord.addPrompts(evalRecord.prompts);
71858
+ } catch (error) {
71859
+ logger_default.error("Error saving recalculated prompt metrics", {
71860
+ phase: "save",
71861
+ evalId: evalRecord.id,
71862
+ promptCount: evalRecord.prompts.length,
71863
+ error
71864
+ });
71865
+ throw error;
71866
+ }
71867
+ const durationMs = Date.now() - startTime;
71868
+ logger_default.debug("Prompt metrics recalculation completed", {
71869
+ totalBatches: batchNumber,
71870
+ totalResults: totalProcessed,
71871
+ durationMs
71872
+ });
71844
71873
  }
71845
71874
 
71846
71875
  //#endregion
@@ -76827,14 +76856,15 @@ async function startServer(port = getDefaultPort(), browserBehavior = BrowserBeh
76827
76856
  const results = await updatedEval?.getResultsCount();
76828
76857
  if (results && results > 0) {
76829
76858
  logger_default.debug(`Emitting update for eval: ${updatedEval?.config?.description || updatedEval?.id || "unknown"}`);
76830
- io.emit("update", updatedEval);
76859
+ io.emit("update", { evalId: updatedEval?.id });
76831
76860
  allPrompts = null;
76832
76861
  }
76833
76862
  };
76834
76863
  handleSignalUpdate();
76835
76864
  });
76836
76865
  io.on("connection", async (socket) => {
76837
- socket.emit("init", await Eval.latest());
76866
+ const latestEval = await Eval.latest();
76867
+ socket.emit("init", latestEval ? { evalId: latestEval.id } : null);
76838
76868
  });
76839
76869
  return new Promise((resolve) => {
76840
76870
  httpServer.listen(port, () => {
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import "./logger-Bzi5o47S.js";
3
+ import "./fetch-CruohpfF.js";
4
+ import "./accounts-Ckp-8szu.js";
5
+ import "./cloud-CZHXB86j.js";
6
+ import { a as openAuthBrowser, i as checkServerRunning, n as BrowserBehaviorNames, o as openBrowser, r as checkServerFeatureSupport, t as BrowserBehavior } from "./server-JDwxLoXT.js";
7
+
8
+ export { checkServerFeatureSupport };
@@ -0,0 +1,6 @@
1
+ import "./logger-q5I8CByj.js";
2
+ import "./fetch-Cn7G4hKv.js";
3
+ import "./accounts-BR9WiyfR.js";
4
+ import { n as checkServerFeatureSupport, t as BrowserBehavior } from "./server-DHV0r-FB.js";
5
+
6
+ export { checkServerFeatureSupport };
@@ -1,6 +1,6 @@
1
1
  import { _ as getEnvBool, b as getEnvString, i as logger_default, w as cliState_default } from "./logger-q5I8CByj.js";
2
- import { s as CloudConfig, t as fetchWithProxy } from "./fetch-BIPrzD39.js";
3
- import { o as isLoggedIntoCloud } from "./accounts-DYMHC4iY.js";
2
+ import { s as CloudConfig, t as fetchWithProxy } from "./fetch-Cn7G4hKv.js";
3
+ import { o as isLoggedIntoCloud } from "./accounts-BR9WiyfR.js";
4
4
  import chalk from "chalk";
5
5
  import "opener";
6
6
  import readline from "readline";
@@ -191,4 +191,4 @@ async function checkServerFeatureSupport(featureName, requiredBuildDate) {
191
191
 
192
192
  //#endregion
193
193
  export { getRemoteGenerationUrlForUnaligned as a, neverGenerateRemoteForRegularEvals as c, getRemoteGenerationUrl as i, shouldGenerateRemote as l, checkServerFeatureSupport as n, getRemoteHealthUrl as o, promptYesNo as r, neverGenerateRemote as s, BrowserBehavior as t };
194
- //# sourceMappingURL=server-BKdsd70B.js.map
194
+ //# sourceMappingURL=server-DHV0r-FB.js.map
@@ -0,0 +1,6 @@
1
+ require('./logger-CMp-NS-e.cjs');
2
+ require('./fetch-E3xbPP9w.cjs');
3
+ require('./accounts-BGa3oLcq.cjs');
4
+ const require_server = require('./server-PndEy2Nj.cjs');
5
+
6
+ exports.checkServerFeatureSupport = require_server.checkServerFeatureSupport;
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { C as getEnvString, O as cliState_default, b as getEnvBool, o as logger_default } from "./logger-Bzi5o47S.js";
3
- import { E as getDefaultPort, j as VERSION, t as fetchWithProxy } from "./fetch-TcCC0nEJ.js";
4
- import { c as isLoggedIntoCloud } from "./accounts-CjU7QSnv.js";
5
- import { r as CloudConfig } from "./cloud-UwfmA0Ne.js";
3
+ import { E as getDefaultPort, j as VERSION, t as fetchWithProxy } from "./fetch-CruohpfF.js";
4
+ import { c as isLoggedIntoCloud } from "./accounts-Ckp-8szu.js";
5
+ import { r as CloudConfig } from "./cloud-CZHXB86j.js";
6
6
  import chalk from "chalk";
7
7
  import opener from "opener";
8
8
  import readline from "readline";
@@ -263,4 +263,4 @@ async function openAuthBrowser(authUrl, welcomeUrl, browserBehavior) {
263
263
 
264
264
  //#endregion
265
265
  export { openAuthBrowser as a, promptYesNo as c, getRemoteHealthUrl as d, neverGenerateRemote as f, 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 };
266
- //# sourceMappingURL=server-Bb83s34G.js.map
266
+ //# sourceMappingURL=server-JDwxLoXT.js.map
@@ -1,6 +1,6 @@
1
1
  const require_logger = require('./logger-CMp-NS-e.cjs');
2
- const require_fetch = require('./fetch-MdGxb6Bv.cjs');
3
- const require_accounts = require('./accounts-uWRxEv-D.cjs');
2
+ const require_fetch = require('./fetch-E3xbPP9w.cjs');
3
+ const require_accounts = require('./accounts-BGa3oLcq.cjs');
4
4
  let chalk = require("chalk");
5
5
  chalk = require_logger.__toESM(chalk);
6
6
  require("opener");
@@ -246,4 +246,4 @@ Object.defineProperty(exports, 'shouldGenerateRemote', {
246
246
  return shouldGenerateRemote;
247
247
  }
248
248
  });
249
- //# sourceMappingURL=server-ByLwfSDf.cjs.map
249
+ //# sourceMappingURL=server-PndEy2Nj.cjs.map
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { o as logger_default } from "./logger-Bzi5o47S.js";
3
- import { _ as getDbSignalPath } from "./tables-DZWWveaJ.js";
3
+ import { _ as getDbSignalPath } from "./tables-DchWyfYe.js";
4
4
  import fs from "fs";
5
5
  import debounce from "debounce";
6
6
 
@@ -115,4 +115,4 @@ function setupSignalWatcher(onChange) {
115
115
 
116
116
  //#endregion
117
117
  export { getActualPromptWithFallback as a, getActualPrompt as i, setupSignalWatcher as n, updateSignalFile as r, readSignalEvalId as t };
118
- //# sourceMappingURL=signal-B8hvvb8w.js.map
118
+ //# sourceMappingURL=signal-V7dUBr64.js.map
@@ -1,5 +1,5 @@
1
1
  import { i as logger_default } from "./logger-q5I8CByj.js";
2
- import { f as tracesTable, p as getDb, u as spansTable } from "./tables-BCcp2r48.js";
2
+ import { f as tracesTable, p as getDb, u as spansTable } from "./tables-0EDD8777.js";
3
3
  import { asc, eq, lt } from "drizzle-orm";
4
4
 
5
5
  //#region src/tracing/store.ts
@@ -221,4 +221,4 @@ function getTraceStore() {
221
221
 
222
222
  //#endregion
223
223
  export { getTraceStore as n, TraceStore as t };
224
- //# sourceMappingURL=store-W4yZqv_e.js.map
224
+ //# sourceMappingURL=store-BSsuF2Jj.js.map
@@ -0,0 +1,6 @@
1
+ require('./logger-CMp-NS-e.cjs');
2
+ require('./types-Cixl-wRO.cjs');
3
+ require('./tables-B5ootZ1x.cjs');
4
+ const require_store = require('./store-j9IVHCUH.cjs');
5
+
6
+ exports.getTraceStore = require_store.getTraceStore;
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { o as logger_default } from "./logger-Bzi5o47S.js";
3
- import { f as spansTable, g as getDb, m as tracesTable } from "./tables-DZWWveaJ.js";
3
+ import { f as spansTable, g as getDb, m as tracesTable } from "./tables-DchWyfYe.js";
4
4
  import { asc, eq, lt } from "drizzle-orm";
5
5
 
6
6
  //#region src/tracing/store.ts
@@ -222,4 +222,4 @@ function getTraceStore() {
222
222
 
223
223
  //#endregion
224
224
  export { getTraceStore as n, TraceStore as t };
225
- //# sourceMappingURL=store-CaNRmI5T.js.map
225
+ //# sourceMappingURL=store-C7WtvRII.js.map
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ import "./logger-Bzi5o47S.js";
3
+ import "./types-BjfZC_QB.js";
4
+ import "./tables-DchWyfYe.js";
5
+ import { n as getTraceStore, t as TraceStore } from "./store-C7WtvRII.js";
6
+
7
+ export { getTraceStore };
@@ -1,5 +1,5 @@
1
1
  const require_logger = require('./logger-CMp-NS-e.cjs');
2
- const require_tables = require('./tables-D_VmN-ui.cjs');
2
+ const require_tables = require('./tables-B5ootZ1x.cjs');
3
3
  let drizzle_orm = require("drizzle-orm");
4
4
 
5
5
  //#region src/tracing/store.ts
@@ -232,4 +232,4 @@ Object.defineProperty(exports, 'getTraceStore', {
232
232
  return getTraceStore;
233
233
  }
234
234
  });
235
- //# sourceMappingURL=store-l9-mIRC-.cjs.map
235
+ //# sourceMappingURL=store-j9IVHCUH.cjs.map
@@ -0,0 +1,6 @@
1
+ import "./logger-q5I8CByj.js";
2
+ import "./types-l7snZgzv.js";
3
+ import "./tables-0EDD8777.js";
4
+ import { n as getTraceStore, t as TraceStore } from "./store-BSsuF2Jj.js";
5
+
6
+ export { getTraceStore };
@@ -1,5 +1,5 @@
1
1
  import { _ as getEnvBool, g as getConfigDirectoryPath, i as logger_default } from "./logger-q5I8CByj.js";
2
- import { g as ResultFailureReason } from "./types-BlspLqbN.js";
2
+ import { g as ResultFailureReason } from "./types-l7snZgzv.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 @@ const spansRelations = relations(spansTable, ({ one }) => ({ trace: one(tracesTa
285
285
 
286
286
  //#endregion
287
287
  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 };
288
- //# sourceMappingURL=tables-BCcp2r48.js.map
288
+ //# sourceMappingURL=tables-0EDD8777.js.map
@@ -1,5 +1,5 @@
1
1
  const require_logger = require('./logger-CMp-NS-e.cjs');
2
- const require_types = require('./types-DAmPdu4_.cjs');
2
+ const require_types = require('./types-Cixl-wRO.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
  return tracesTable;
371
371
  }
372
372
  });
373
- //# sourceMappingURL=tables-D_VmN-ui.cjs.map
373
+ //# sourceMappingURL=tables-B5ootZ1x.cjs.map
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { b as getEnvBool, o as logger_default, v as getConfigDirectoryPath } from "./logger-Bzi5o47S.js";
3
- import { s as ResultFailureReason } from "./types-n3ttAnOa.js";
3
+ import { s as ResultFailureReason } from "./types-BjfZC_QB.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 @@ const spansRelations = relations(spansTable, ({ one }) => ({ trace: one(tracesTa
311
311
 
312
312
  //#endregion
313
313
  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 };
314
- //# sourceMappingURL=tables-DZWWveaJ.js.map
314
+ //# sourceMappingURL=tables-DchWyfYe.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { C as getEnvString, E as isCI, b as getEnvBool, o as logger_default } from "./logger-Bzi5o47S.js";
3
- import { A as POSTHOG_KEY, C as EVENTS_ENDPOINT, b as CONSENT_ENDPOINT, j as VERSION, r as fetchWithTimeout, t as fetchWithProxy, w as R_ENDPOINT } from "./fetch-TcCC0nEJ.js";
4
- import { c as isLoggedIntoCloud, i as getAuthMethod, o as getUserEmail, s as getUserId } from "./accounts-CjU7QSnv.js";
3
+ import { A as POSTHOG_KEY, C as EVENTS_ENDPOINT, b as CONSENT_ENDPOINT, j as VERSION, r as fetchWithTimeout, t as fetchWithProxy, w as R_ENDPOINT } from "./fetch-CruohpfF.js";
4
+ import { c as isLoggedIntoCloud, i as getAuthMethod, o as getUserEmail, s as getUserId } from "./accounts-Ckp-8szu.js";
5
5
  import { PostHog } from "posthog-node";
6
6
  import { z } from "zod";
7
7
 
@@ -164,4 +164,4 @@ var telemetry_default = telemetry;
164
164
 
165
165
  //#endregion
166
166
  export { TelemetryEventSchema as n, telemetry_default as r, Telemetry as t };
167
- //# sourceMappingURL=telemetry-CB8ltkOD.js.map
167
+ //# sourceMappingURL=telemetry-Ar0--jvU.js.map
@@ -0,0 +1,6 @@
1
+ import "./logger-q5I8CByj.js";
2
+ import "./fetch-Cn7G4hKv.js";
3
+ import "./accounts-BR9WiyfR.js";
4
+ import { n as telemetry_default, t as Telemetry } from "./telemetry-J9g1ySRA.js";
5
+
6
+ export { telemetry_default as default };
@@ -1,6 +1,6 @@
1
1
  const require_logger = require('./logger-CMp-NS-e.cjs');
2
- const require_fetch = require('./fetch-MdGxb6Bv.cjs');
3
- const require_accounts = require('./accounts-uWRxEv-D.cjs');
2
+ const require_fetch = require('./fetch-E3xbPP9w.cjs');
3
+ const require_accounts = require('./accounts-BGa3oLcq.cjs');
4
4
  let zod = require("zod");
5
5
  let posthog_node = require("posthog-node");
6
6
 
@@ -174,4 +174,4 @@ Object.defineProperty(exports, 'telemetry_default', {
174
174
  return telemetry_default;
175
175
  }
176
176
  });
177
- //# sourceMappingURL=telemetry-DrSTNTH-.cjs.map
177
+ //# sourceMappingURL=telemetry-DMNm_KFn.cjs.map