promptfoo 0.121.4 → 0.121.7

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 (497) hide show
  1. package/dist/src/{ListApp-DQkFNqE9.js → ListApp-DLmM02JS.js} +1 -1
  2. package/dist/src/{accounts-DhMYUUbu.js → accounts-Ca7WIoPY.js} +12 -7
  3. package/dist/src/{accounts-F9d_5sMC.js → accounts-CjFnOPmb.js} +14 -9
  4. package/dist/src/{accounts-Dy17bs4D.cjs → accounts-CmWzeD2d.cjs} +16 -10
  5. package/dist/src/{accounts-DdJ2pHMI.js → accounts-DanM1wq_.js} +13 -8
  6. package/dist/src/{agentic-utils-qFlm6zes.js → agentic-utils-CJ0j3fBi.js} +3 -3
  7. package/dist/src/{agentic-utils-w68v6_Dz.js → agentic-utils-DDEGRV9v.js} +3 -3
  8. package/dist/src/{agentic-utils-BpX5b23w.cjs → agentic-utils-DvPWSUpb.cjs} +8 -7
  9. package/dist/src/{agentic-utils-P172hM8B.js → agentic-utils-TxUEMPYS.js} +2 -2
  10. package/dist/src/{agents-BahDpe5G.cjs → agents-B4sRuXg3.cjs} +7 -6
  11. package/dist/src/{agents-pQeBEXMm.js → agents-B8q7h_ek.js} +5 -5
  12. package/dist/src/{agents-CgaMXvLM.js → agents-CBgJvRkB.js} +21 -10
  13. package/dist/src/{agents-C-R_jfzI.js → agents-CYn2n3QP.js} +4 -4
  14. package/dist/src/{agents-8FDnTriG.js → agents-D-vDNFx4.js} +21 -10
  15. package/dist/src/{agents-aYPQLf8W.js → agents-LrHuQqr1.js} +20 -9
  16. package/dist/src/{agents-DJ35I3Nt.js → agents-QGg76OF-.js} +5 -5
  17. package/dist/src/{agents-D7-HGxUj.cjs → agents-eHZ9nlgA.cjs} +21 -10
  18. package/dist/src/{aimlapi-sgYnkE54.js → aimlapi-CJEbQ0o6.js} +7 -7
  19. package/dist/src/{aimlapi-BD6J9oKt.js → aimlapi-D5HXzZ0s.js} +6 -6
  20. package/dist/src/{aimlapi-qcK4OT55.cjs → aimlapi-T6HGNxNe.cjs} +7 -7
  21. package/dist/src/{aimlapi-BCq3MHeL.js → aimlapi-eYv3a_DK.js} +7 -7
  22. package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -1
  23. package/dist/src/app/assets/Report-BNHJKN35.js +1 -0
  24. package/dist/src/app/assets/index-BnT6P6sF.js +388 -0
  25. package/dist/src/app/assets/index-yhM8y1PP.css +1 -0
  26. package/dist/src/app/assets/{scroll-timeline-D9IT_e8Z.js → scroll-timeline-RpeTwOvs.js} +1 -1
  27. package/dist/src/app/assets/sync-5gq6fmG4.js +4 -0
  28. package/dist/src/app/assets/vendor-charts-BL9OMNU7.js +36 -0
  29. package/dist/src/app/assets/{vendor-markdown-Ch00wnNI.js → vendor-markdown-BYsQqn7Z.js} +10 -10
  30. package/dist/src/app/assets/{vendor-react-CVvmk1UB.js → vendor-react-CqWgVW6T.js} +2 -2
  31. package/dist/src/app/assets/{vendor-utils-BnEYbx2Q.js → vendor-utils-BHPO71pu.js} +1 -1
  32. package/dist/src/app/index.html +31 -6
  33. package/dist/src/{audio-COrn8rM6.js → audio-BqnRvcWG.js} +3 -3
  34. package/dist/src/{audio-DcVKoInv.js → audio-CPMtV1yR.js} +4 -4
  35. package/dist/src/{audio-B7izf48x.js → audio-DyiebVB3.js} +4 -4
  36. package/dist/src/{audio-BQtNuYBj.cjs → audio-FnxbEnSE.cjs} +4 -4
  37. package/dist/src/authoritativeMarkupInjection-BZIywVjG.js +74 -0
  38. package/dist/src/authoritativeMarkupInjection-DyAXAsSr.js +75 -0
  39. package/dist/src/authoritativeMarkupInjection-F2gBw0lN.cjs +74 -0
  40. package/dist/src/authoritativeMarkupInjection-QEQmFS83.js +74 -0
  41. package/dist/src/{base-PYJvBE1i.js → base-CKLo890h.js} +4 -3
  42. package/dist/src/{base-fZ9wgg50.js → base-Co80MMCi.js} +5 -4
  43. package/dist/src/{base-D-670DX8.cjs → base-DGJW48uz.cjs} +5 -4
  44. package/dist/src/{base-yrI1Yal4.js → base-E9I8zXjz.js} +5 -4
  45. package/dist/src/bestOfN-B3wNzjSB.js +137 -0
  46. package/dist/src/bestOfN-BBsO41z4.js +136 -0
  47. package/dist/src/bestOfN-CAwmg5UL.cjs +140 -0
  48. package/dist/src/bestOfN-_kTi8Bxe.js +136 -0
  49. package/dist/src/{blobs-D2FAd1Q5.cjs → blobs-B0977K1O.cjs} +7 -6
  50. package/dist/src/{blobs-BCZavS8s.js → blobs-CeFdPn_T.js} +3 -3
  51. package/dist/src/{blobs-BQWqnnvL.js → blobs-DODuTK-a.js} +3 -3
  52. package/dist/src/{blobs-C-F78Kfn.js → blobs-Dwef1Ao1.js} +2 -2
  53. package/dist/src/{cache-BIyPcp5v.cjs → cache-CPGUA4Yl.cjs} +135 -25
  54. package/dist/src/cache-Cf7b4pWE.js +3 -0
  55. package/dist/src/{cache-D5NZmMiT.js → cache-DIXbtkNO.js} +125 -10
  56. package/dist/src/{cache-mb7c8hbp.js → cache-DpPWrkTE.js} +128 -12
  57. package/dist/src/{cache-C4Xb-hNb.js → cache-roFAE0cI.js} +126 -11
  58. package/dist/src/{chat-I9izLm49.js → chat-CUCorGiL.js} +12 -12
  59. package/dist/src/{chat-BPXSW8Bv.cjs → chat-DG1wG4w0.cjs} +6 -6
  60. package/dist/src/{chat-BfPaS15_.js → chat-Dabu84Br.js} +12 -12
  61. package/dist/src/{chat-Dr3DUQ0D.js → chat-DqUFcWI0.js} +12 -12
  62. package/dist/src/{chat-CclRbxGf.cjs → chat-DxTDQ83C.cjs} +14 -13
  63. package/dist/src/{chat-MKxMnZJZ.js → chat-GmlolEwo.js} +4 -4
  64. package/dist/src/{chat-0bwXjVP0.js → chat-TP8Qifkh.js} +6 -6
  65. package/dist/src/{chat-mW0ORo8G.js → chat-iwaM5UTQ.js} +6 -6
  66. package/dist/src/{chatkit-zUIVoDos.js → chatkit-B6DWi70Q.js} +4 -4
  67. package/dist/src/{chatkit-BoWoSgXl.cjs → chatkit-BYveR48_.cjs} +6 -5
  68. package/dist/src/{chatkit-Cv6AhukM.js → chatkit-fARZwEfV.js} +3 -3
  69. package/dist/src/{chatkit-CJnHRRMM.js → chatkit-lb6FK02w.js} +4 -4
  70. package/dist/src/{claude-agent-sdk-Dtq_L-Sc.js → claude-agent-sdk-BQNp_y-F.js} +212 -67
  71. package/dist/src/{claude-agent-sdk-BQNuLaAK.js → claude-agent-sdk-D5Jl0SDh.js} +212 -67
  72. package/dist/src/{claude-agent-sdk-CPJo3dBQ.cjs → claude-agent-sdk-DH416NBD.cjs} +218 -72
  73. package/dist/src/{claude-agent-sdk-nfAIcxNf.js → claude-agent-sdk-x1XJ1-pU.js} +212 -67
  74. package/dist/src/{cloud-DQZ5sVjW.js → cloud-D3DiFqH6.js} +3 -3
  75. package/dist/src/cloud-p96PA4MH.js +3 -0
  76. package/dist/src/{cloudflare-ai-BIB567w6.js → cloudflare-ai-B6NVI3ax.js} +4 -4
  77. package/dist/src/{cloudflare-ai-Dl3N9OVD.cjs → cloudflare-ai-CEAW-xQa.cjs} +6 -6
  78. package/dist/src/{cloudflare-ai-DlKr0rY7.js → cloudflare-ai-RFSojyXG.js} +6 -6
  79. package/dist/src/{cloudflare-ai-DGLte7Py.js → cloudflare-ai-r4tbYmWU.js} +6 -6
  80. package/dist/src/{cloudflare-gateway-CiIZHU0Q.js → cloudflare-gateway-BCkLouto.js} +5 -5
  81. package/dist/src/{cloudflare-gateway-DI1HNP5F.js → cloudflare-gateway-BaZ4insB.js} +3 -3
  82. package/dist/src/{cloudflare-gateway-BDZrYydE.js → cloudflare-gateway-CF-Vb-2Z.js} +5 -5
  83. package/dist/src/{cloudflare-gateway-BYDp495F.cjs → cloudflare-gateway-TJMLBj6I.cjs} +5 -5
  84. package/dist/src/codex-app-server-B8KHEiF4.js +1915 -0
  85. package/dist/src/codex-app-server-CnrLBCeA.cjs +1921 -0
  86. package/dist/src/codex-app-server-DIXZ230V.js +1915 -0
  87. package/dist/src/codex-app-server-Dd22dC_N.js +1916 -0
  88. package/dist/src/{codex-sdk-CpqiOqDO.js → codex-sdk-B6Wah8Pa.js} +6 -6
  89. package/dist/src/codex-sdk-BGjVAk23.js +3 -0
  90. package/dist/src/{codex-sdk-C2_M2pl_.cjs → codex-sdk-CFF6gUyi.cjs} +18 -10
  91. package/dist/src/{codex-sdk-Rtky3M4I.js → codex-sdk-CmQABzV3.js} +6 -6
  92. package/dist/src/{codex-sdk-CErXn7qh.js → codex-sdk-D2d54RL8.js} +5 -5
  93. package/dist/src/{cometapi-CtJ-mS8R.js → cometapi-Bu9B8NUY.js} +8 -8
  94. package/dist/src/{cometapi-DT-jlVCB.js → cometapi-CtzNCHKu.js} +7 -7
  95. package/dist/src/{cometapi-UVOryo4W.cjs → cometapi-DHCDlQUI.cjs} +8 -8
  96. package/dist/src/{cometapi-BUlt_ELa.js → cometapi-OBILPLlu.js} +8 -8
  97. package/dist/src/{completion-HUe8wDhZ.js → completion-CO2e1_62.js} +6 -6
  98. package/dist/src/{completion-BozdoXba.cjs → completion-CSYfl2cd.cjs} +6 -6
  99. package/dist/src/{completion-x0a_c2y1.js → completion-DZNxcyfG.js} +6 -6
  100. package/dist/src/{completion-Dnxn7E-j.js → completion-sNvCLTAP.js} +5 -5
  101. package/dist/src/constants-BjJV0cRr.js +6 -0
  102. package/dist/src/constants-DH5XYLKZ.js +7 -0
  103. package/dist/src/constants-DZGEFLsu.js +6 -0
  104. package/dist/src/constants-a2kYssQk.cjs +11 -0
  105. package/dist/src/{createHash-4gFQpDDv.js → createHash-BtbSX3mj.js} +1 -1
  106. package/dist/src/{createHash-CwDVU5xr.js → createHash-CGVzWdjj.js} +1 -1
  107. package/dist/src/{createHash-B7KvgoOD.cjs → createHash-CSiqnK5P.cjs} +2 -2
  108. package/dist/src/{createHash-ChI45QR1.js → createHash-CgRvs4Fn.js} +1 -1
  109. package/dist/src/crescendo-BXEJK_bi.cjs +704 -0
  110. package/dist/src/crescendo-CU_Y2i-m.js +702 -0
  111. package/dist/src/crescendo-J1Xx4_zb.js +703 -0
  112. package/dist/src/crescendo-QiaSLW0d.js +701 -0
  113. package/dist/src/custom-BJfP00Bh.js +619 -0
  114. package/dist/src/custom-CZVn-1-r.js +620 -0
  115. package/dist/src/custom-Cqia7M0D.cjs +621 -0
  116. package/dist/src/custom-notggYVl.js +618 -0
  117. package/dist/src/{docker-DCgsveLD.js → docker-4D1eL6Gq.js} +6 -6
  118. package/dist/src/{docker-ClnmCf1Z.js → docker-BBv1WUDu.js} +5 -5
  119. package/dist/src/{docker-DS4_Osau.cjs → docker-D06JUoe2.cjs} +6 -6
  120. package/dist/src/{docker-CQmlA2NU.js → docker-DdJQBxK9.js} +6 -6
  121. package/dist/src/{embedding-D3xTseo7.js → embedding--UZVe4_7.js} +6 -6
  122. package/dist/src/{embedding-I45KG3o7.cjs → embedding-BbrwopfX.cjs} +6 -6
  123. package/dist/src/{embedding-nFbumxcv.js → embedding-Bi3rxrZF.js} +5 -5
  124. package/dist/src/{embedding-DD9wa3ae.js → embedding-C251p1-8.js} +6 -6
  125. package/dist/src/{errors-Cw810C93.js → errors-9PcUL8BC.js} +1 -1
  126. package/dist/src/{esm-Dh4dOLlt.js → esm-B6whoAcf.js} +2 -2
  127. package/dist/src/{esm-CtEPLdAj.cjs → esm-BIKakvNa.cjs} +8 -7
  128. package/dist/src/{esm-C7PnfdF8.js → esm-BTK1W7lG.js} +1 -1
  129. package/dist/src/{esm-tVgYPY-f.js → esm-Bexx2PFc.js} +2 -2
  130. package/dist/src/{eval-u4UVafl6.js → eval-0VRANImH.js} +21 -21
  131. package/dist/src/{eval-CzJFfFO9.js → eval-DscR5iOM.js} +1 -1
  132. package/dist/src/{evalResult-Bgm9ZH31.js → evalResult-2RRJvFyB.js} +41 -16
  133. package/dist/src/{evalResult-KZqXl4XP.cjs → evalResult-CvtS8h8u.cjs} +51 -15
  134. package/dist/src/evalResult-DqzsS6_W.js +3 -0
  135. package/dist/src/{evalResult-D3hVYFis.js → evalResult-eUkJv9Ko.js} +40 -15
  136. package/dist/src/evaluator-DNdJF1Gv.js +3 -0
  137. package/dist/src/{evaluator-IvuDYSvQ.js → evaluator-DRoiYB2q.js} +1060 -187
  138. package/dist/src/evaluatorHelpers-BsYP_muT.js +511 -0
  139. package/dist/src/evaluatorHelpers-CRqTvSux.cjs +537 -0
  140. package/dist/src/evaluatorHelpers-DuqFFfq7.js +510 -0
  141. package/dist/src/{extractor-CAfTSraf.js → extractor-BR7XAzAL.js} +6 -6
  142. package/dist/src/{extractor-WVPOrH43.cjs → extractor-BdxEtt3J.cjs} +6 -6
  143. package/dist/src/{extractor-DNSeBVOJ.js → extractor-CIW3iN-b.js} +6 -6
  144. package/dist/src/{extractor-Dk6bRWkv.js → extractor-CxRtnaHl.js} +5 -5
  145. package/dist/src/{fetch-B0Z3Oe4k.js → fetch-BufrQtvR.js} +93 -40
  146. package/dist/src/{fetch-BEWnXrrG.js → fetch-DXUnXkVU.js} +89 -40
  147. package/dist/src/{fetch-CJU5ELPa.cjs → fetch-Dw4XZHjj.cjs} +330 -270
  148. package/dist/src/{fetch-Di00EQrc.js → fetch-It34O8Ur.js} +305 -252
  149. package/dist/src/fetch-_YgGd2qv.js +3 -0
  150. package/dist/src/{fileExtensions-bYh77CN8.cjs → fileExtensions-BhdwzYaD.cjs} +24 -1
  151. package/dist/src/{fileExtensions-DnqA1y9x.js → fileExtensions-CXRfY3Ss.js} +12 -2
  152. package/dist/src/{fileExtensions-AWa2ZML4.js → fileExtensions-D4GCJ67J.js} +12 -2
  153. package/dist/src/{formatDuration-DZzPsexs.js → formatDuration-CMVNrYvE.js} +1 -1
  154. package/dist/src/{genaiTracer-yRuxj9-L.cjs → genaiTracer-14nugQQx.cjs} +14 -2
  155. package/dist/src/{genaiTracer-DWdZ28hY.js → genaiTracer-BPVvltoW.js} +2 -2
  156. package/dist/src/{genaiTracer-XnrcgDCe.js → genaiTracer-D18lYzhB.js} +2 -2
  157. package/dist/src/{genaiTracer-COYDi-tC.js → genaiTracer-jJKYsnjc.js} +2 -2
  158. package/dist/src/goat-Ckd3q3AY.js +467 -0
  159. package/dist/src/goat-Qgurm-NP.js +466 -0
  160. package/dist/src/goat-ghadEDdy.js +465 -0
  161. package/dist/src/goat-una6pZGP.cjs +469 -0
  162. package/dist/src/graders-BDT7dif6.js +3 -0
  163. package/dist/src/{graders-eIHhRqoC.js → graders-BGP99PdK.js} +2416 -2224
  164. package/dist/src/{graders-Zy3x0zqX.js → graders-BX0f2tvS.js} +2423 -2226
  165. package/dist/src/{graders-pvbReLLn.js → graders-C0nXU_ZP.js} +1806 -1609
  166. package/dist/src/{graders--zknU_uk.cjs → graders-ClrU2fnd.cjs} +2219 -1949
  167. package/dist/src/hydra-BSNZZm2M.js +543 -0
  168. package/dist/src/hydra-BxdG4nkg.js +541 -0
  169. package/dist/src/hydra-DE4xWwyc.js +542 -0
  170. package/dist/src/hydra-DrJttnvw.cjs +542 -0
  171. package/dist/src/image-B4oBtu6J.js +443 -0
  172. package/dist/src/{image-dnoUgPrC.js → image-BN-hjLL9.js} +4 -4
  173. package/dist/src/{image-9302QVqR.js → image-B_fPIwdg.js} +3 -3
  174. package/dist/src/image-BvUAW344.js +442 -0
  175. package/dist/src/image-Cvjwx1uY.js +442 -0
  176. package/dist/src/{image-De2FBmYV.cjs → image-DfVCGPbI.cjs} +4 -4
  177. package/dist/src/{image-u7-rKnYU.js → image-QzmydkiG.js} +4 -4
  178. package/dist/src/image-X0oY4350.cjs +465 -0
  179. package/dist/src/index.cjs +1689 -558
  180. package/dist/src/index.d.cts +3270 -1624
  181. package/dist/src/index.d.ts +3270 -1624
  182. package/dist/src/index.js +1553 -438
  183. package/dist/src/indirectWebPwn-02ZIghCS.js +259 -0
  184. package/dist/src/indirectWebPwn-BJ22AbQa.cjs +397 -0
  185. package/dist/src/indirectWebPwn-CbjUG0rh.js +385 -0
  186. package/dist/src/indirectWebPwn-CfQJt3gk.cjs +260 -0
  187. package/dist/src/indirectWebPwn-DBQhOjoD.js +260 -0
  188. package/dist/src/indirectWebPwn-OsXnKejv.js +259 -0
  189. package/dist/src/indirectWebPwn-tNx9OZ35.js +385 -0
  190. package/dist/src/indirectWebPwn-uyWdHx04.js +386 -0
  191. package/dist/src/inputVariables-B0qUChbV.js +467 -0
  192. package/dist/src/inputVariables-DUGMb9Ka.js +464 -0
  193. package/dist/src/inputVariables-DXFdi7AI.js +468 -0
  194. package/dist/src/inputVariables-Dq9W-Z3a.cjs +475 -0
  195. package/dist/src/{interactiveCheck-CLERUB0c.js → interactiveCheck-C4QlIuoR.js} +2 -2
  196. package/dist/src/{invariant-BtWWVVhl.js → invariant-B2Rf6avk.js} +1 -1
  197. package/dist/src/{invariant-vgHWClmd.js → invariant-DIYf9sP1.js} +1 -1
  198. package/dist/src/{invariant-kfQ8Bu82.cjs → invariant-QtnLD03y.cjs} +1 -1
  199. package/dist/src/iterative-CpU6i2As.js +490 -0
  200. package/dist/src/iterative-DJQEQpG3.js +491 -0
  201. package/dist/src/iterative-DQBuWM-j.cjs +493 -0
  202. package/dist/src/iterative-FTS4Bz67.js +492 -0
  203. package/dist/src/iterativeImage-BUABMVOA.js +413 -0
  204. package/dist/src/iterativeImage-ByFWkxax.cjs +415 -0
  205. package/dist/src/iterativeImage-BzUapOUi.js +414 -0
  206. package/dist/src/iterativeImage-Doz8mgxF.js +413 -0
  207. package/dist/src/iterativeMeta-B3YiAOc8.js +386 -0
  208. package/dist/src/iterativeMeta-C7APE_P1.js +385 -0
  209. package/dist/src/iterativeMeta-CSS8M6Ds.cjs +385 -0
  210. package/dist/src/iterativeMeta-DgoQ7bLh.js +384 -0
  211. package/dist/src/iterativeTree-B5zxBBSW.js +769 -0
  212. package/dist/src/iterativeTree-CNyIk0Yn.js +768 -0
  213. package/dist/src/iterativeTree-CPMF10ve.cjs +771 -0
  214. package/dist/src/iterativeTree-DvZ7GBwt.js +770 -0
  215. package/dist/src/{knowledgeBase-Dgc7CBWF.js → knowledgeBase-BadkINlJ.js} +24 -10
  216. package/dist/src/{knowledgeBase-RhFPGWDc.js → knowledgeBase-Bi_8sV-H.js} +25 -11
  217. package/dist/src/{knowledgeBase-lm9RXSAm.js → knowledgeBase-CkMljjdg.js} +25 -11
  218. package/dist/src/{knowledgeBase-Bpoe_nLu.cjs → knowledgeBase-DUh34xba.cjs} +25 -11
  219. package/dist/src/{litellm-DRjpcSa7.js → litellm-BKBo0jpC.js} +5 -5
  220. package/dist/src/{litellm-C2kqjxqp.js → litellm-BXyn5kZK.js} +5 -5
  221. package/dist/src/{litellm-p37R1dzQ.js → litellm-CNcfbCfa.js} +4 -4
  222. package/dist/src/{litellm-CoyI4IAl.cjs → litellm-CtAr7bKG.cjs} +5 -5
  223. package/dist/src/{logger-DksKw1Qc.js → logger-BbY6ypFL.js} +2 -2
  224. package/dist/src/{logger-B88EkIn6.js → logger-KD8JjCRJ.js} +2 -2
  225. package/dist/src/{logger-COuQb2xB.cjs → logger-cfNpzI4o.cjs} +13 -55
  226. package/dist/src/{luma-ray-KgTCXrZC.js → luma-ray-BMX1iEB6.js} +5 -5
  227. package/dist/src/{luma-ray-B863CmuZ.js → luma-ray-CR5TSpp4.js} +5 -5
  228. package/dist/src/{luma-ray-BxVKaW2a.cjs → luma-ray-D3FUc2K3.cjs} +9 -8
  229. package/dist/src/{luma-ray-BTTLtqQ8.js → luma-ray-OEMmS1RB.js} +6 -6
  230. package/dist/src/main.js +909 -369
  231. package/dist/src/memoryPoisoning-CM83NWYl.js +107 -0
  232. package/dist/src/memoryPoisoning-D8h9gXJF.js +106 -0
  233. package/dist/src/memoryPoisoning-Dp-btinn.cjs +106 -0
  234. package/dist/src/memoryPoisoning-cLuCoTuJ.js +106 -0
  235. package/dist/src/{messages-BTQz42fn.js → messages-BabO-cX8.js} +273 -17
  236. package/dist/src/{messages-811uVVW5.cjs → messages-DBPir0TQ.cjs} +278 -18
  237. package/dist/src/{messages-zWbkLLHz.js → messages-DGUlSNU7.js} +273 -17
  238. package/dist/src/{messages-MYTQ2TWp.js → messages-vsE_-Lv0.js} +273 -17
  239. package/dist/src/{meteor-DHdzY1Ss.js → meteor--TZYICTI.js} +2 -2
  240. package/dist/src/{meteor-Co1VQ1u5.cjs → meteor-CR226f7Z.cjs} +2 -2
  241. package/dist/src/{meteor-CU5UAE-H.js → meteor-Cl_yd7rJ.js} +2 -2
  242. package/dist/src/{meteor-DuAFv6gF.js → meteor-Dce-_zGQ.js} +1 -1
  243. package/dist/src/mischievousUser-0l8GD7Dp.js +46 -0
  244. package/dist/src/mischievousUser-BUOP9W5r.js +46 -0
  245. package/dist/src/mischievousUser-frFYKxu6.js +47 -0
  246. package/dist/src/mischievousUser-olGgHIVR.cjs +46 -0
  247. package/dist/src/{modelslab-Dk1JAtVo.cjs → modelslab-CNV5bMSk.cjs} +7 -7
  248. package/dist/src/{modelslab-D0erNWKe.js → modelslab-Cogmu4mG.js} +6 -6
  249. package/dist/src/{modelslab-DIq-6y7x.js → modelslab-Dzst7VTU.js} +6 -6
  250. package/dist/src/{modelslab-wu9yi5GE.js → modelslab-EyDczZ5A.js} +7 -7
  251. package/dist/src/{nova-reel-CCFRfeRb.js → nova-reel-BGPNBOMS.js} +6 -6
  252. package/dist/src/{nova-reel-DQrm74ng.js → nova-reel-B_5NKFu1.js} +5 -5
  253. package/dist/src/{nova-reel-gr11WG7f.js → nova-reel-C4eUJGse.js} +5 -5
  254. package/dist/src/{nova-reel-CrLXVKQf.cjs → nova-reel-CjJRxI1X.cjs} +9 -8
  255. package/dist/src/{nova-sonic-BYdp-QLs.js → nova-sonic-BNGmgfFz.js} +4 -4
  256. package/dist/src/{nova-sonic-TDgrlTk7.js → nova-sonic-ChPlh5na.js} +4 -4
  257. package/dist/src/{nova-sonic-B_ZXcUJB.js → nova-sonic-CrV0iaY_.js} +3 -3
  258. package/dist/src/{nova-sonic-i5tUvXKn.cjs → nova-sonic-DuOG9Aun.cjs} +5 -4
  259. package/dist/src/{openai-DhVEmgeZ.js → openai-BMHD2Huo.js} +2 -2
  260. package/dist/src/{openai-URNyItar.cjs → openai-C3uXv8wS.cjs} +2 -2
  261. package/dist/src/{openai-Qsvz25mV.js → openai-CJrsh9n4.js} +2 -2
  262. package/dist/src/{openai-iYtrXzOX.js → openai-zgwBb4Ff.js} +1 -1
  263. package/dist/src/{openclaw-CnQ363Wi.js → openclaw-BIHlu_36.js} +10 -8
  264. package/dist/src/{openclaw-CwzlQSQX.js → openclaw-CF7fMido.js} +9 -7
  265. package/dist/src/{openclaw-wX9rtfke.cjs → openclaw-Dphc01BY.cjs} +18 -15
  266. package/dist/src/{openclaw-CLWrW03k.js → openclaw-zIJAsz3P.js} +10 -8
  267. package/dist/src/{opencode-sdk-BUu5Nevv.js → opencode-sdk-B3vlPLsp.js} +40 -5
  268. package/dist/src/{opencode-sdk-BxD8vXp_.js → opencode-sdk-D05JSgMQ.js} +40 -5
  269. package/dist/src/{opencode-sdk-BZ2idgYA.cjs → opencode-sdk-DoY6GbWw.cjs} +46 -10
  270. package/dist/src/{opencode-sdk-GI2KaAXq.js → opencode-sdk-sRKYHGoI.js} +39 -4
  271. package/dist/src/{otlpReceiver-BntK801g.js → otlpReceiver--gTpSagc.js} +120 -4
  272. package/dist/src/{otlpReceiver-DmVulbhC.js → otlpReceiver-B2eaKC8C.js} +120 -4
  273. package/dist/src/{otlpReceiver-B2z58l4e.js → otlpReceiver-BXjcRqAM.js} +119 -3
  274. package/dist/src/{otlpReceiver-BfcVq2Nq.cjs → otlpReceiver-CvJdBGSc.cjs} +125 -7
  275. package/dist/src/packageParser--MWTSrPW.js +36 -0
  276. package/dist/src/packageParser-CgE-ziRo.js +35 -0
  277. package/dist/src/packageParser-QoCS1FMl.cjs +54 -0
  278. package/dist/src/packageParser-hwwSGnAZ.js +35 -0
  279. package/dist/src/processShim-BBxt7LKO.js +95 -0
  280. package/dist/src/processShim-BcGzU8fY.js +94 -0
  281. package/dist/src/processShim-C_z3aRvF.js +94 -0
  282. package/dist/src/processShim-DSY9BV2T.cjs +98 -0
  283. package/dist/src/promptLength-0qIHyhA5.js +71 -0
  284. package/dist/src/promptLength-4X-Wd8PG.js +72 -0
  285. package/dist/src/promptLength-B9nZEfO6.js +71 -0
  286. package/dist/src/promptLength-BbBbDHNj.cjs +94 -0
  287. package/dist/src/promptfoo-BDrfT30-.js +180 -0
  288. package/dist/src/promptfoo-Cm4hiy1Y.js +180 -0
  289. package/dist/src/promptfoo-Rjp-MeBb.js +181 -0
  290. package/dist/src/promptfoo-b-baRMj-.cjs +205 -0
  291. package/dist/src/prompts-BYMtqPCw.js +259 -0
  292. package/dist/src/prompts-C-bqE1Yp.js +260 -0
  293. package/dist/src/prompts-Cp_Qx5Ml.js +270 -0
  294. package/dist/src/prompts-DHhQsANy.js +259 -0
  295. package/dist/src/prompts-D_QpZ2Dm.js +271 -0
  296. package/dist/src/prompts-hNvWBD3z.cjs +284 -0
  297. package/dist/src/prompts-huDVH2CI.js +270 -0
  298. package/dist/src/prompts-p78Hul5i.cjs +289 -0
  299. package/dist/src/{providerRegistry-CPQ_CmVO.js → providerRegistry-1gB5vtzQ.js} +2 -2
  300. package/dist/src/{providerRegistry-CQMdTmHP.cjs → providerRegistry-CZO_w7ue.cjs} +2 -2
  301. package/dist/src/{providerRegistry-Bvh8mv85.js → providerRegistry-DHcFiVWX.js} +1 -1
  302. package/dist/src/{providerRegistry-CWoPjKFZ.js → providerRegistry-ReCd0sFa.js} +2 -2
  303. package/dist/src/{providers-BV_KMZje.js → providers-B9KzWxAX.js} +10558 -21587
  304. package/dist/src/{providers-DruaQfwu.js → providers-BCCz6_IX.js} +1228 -12196
  305. package/dist/src/{providers-1eKkXBKp.cjs → providers-BDVVIQM6.cjs} +10649 -21843
  306. package/dist/src/{providers-iUt5fbAN.js → providers-BYAn82cf.js} +1 -1
  307. package/dist/src/{providers-Domz_llv.js → providers-DVYRZP4E.js} +10589 -21570
  308. package/dist/src/{pythonUtils-Cldx7huE.js → pythonUtils-CLCgQ9tt.js} +3 -3
  309. package/dist/src/{pythonUtils-CnndUbW-.js → pythonUtils-CgYxeSmO.js} +3 -3
  310. package/dist/src/{pythonUtils-tAJvvpS-.cjs → pythonUtils-Cokhluq3.cjs} +8 -7
  311. package/dist/src/{pythonUtils-C2UQ30Rz.js → pythonUtils-D0BYebvX.js} +3 -3
  312. package/dist/src/{quiverai-DFotyafY.cjs → quiverai-BAp6iTZD.cjs} +4 -4
  313. package/dist/src/{quiverai-aPPvXOgn.js → quiverai-BvIhI_0l.js} +4 -4
  314. package/dist/src/{quiverai-DR0SnIQV.js → quiverai-CdTWPe-A.js} +3 -3
  315. package/dist/src/{quiverai-CtWi6x_g.js → quiverai-Cv7rJKDz.js} +4 -4
  316. package/dist/src/registry-BUJrgjwv.js +124 -0
  317. package/dist/src/registry-DXm1t_x0.js +125 -0
  318. package/dist/src/registry-Dp5EqoXc.js +124 -0
  319. package/dist/src/registry-KCVF1CFC.cjs +124 -0
  320. package/dist/src/{server-D6Il2Sob.js → remoteGeneration-B1_XsKXU.js} +16 -108
  321. package/dist/src/{server-BSB45Nt9.js → remoteGeneration-COpWcmWd.js} +15 -146
  322. package/dist/src/{server-Dx2TyCH2.cjs → remoteGeneration-DS9N3pgB.cjs} +30 -119
  323. package/dist/src/remoteGeneration-DsaSwmG2.js +217 -0
  324. package/dist/src/render-BNTrbmBw.cjs +384 -0
  325. package/dist/src/render-CSP99NLm.js +348 -0
  326. package/dist/src/render-DFfDeYUK.js +347 -0
  327. package/dist/src/{render-CgVDrJmM.js → render-DznWrxGO.js} +2 -2
  328. package/dist/src/render-_6ur1fhE.js +347 -0
  329. package/dist/src/resourceAttributes-D1jP3kL5.js +17 -0
  330. package/dist/src/resourceAttributes-DQbBB--2.js +16 -0
  331. package/dist/src/resourceAttributes-ephgOvdR.cjs +27 -0
  332. package/dist/src/resourceAttributes-v6-I67fn.js +16 -0
  333. package/dist/src/{responses-Bi9vBuW_.cjs → responses-1UFFF9N_.cjs} +51 -16
  334. package/dist/src/{responses-DL9m8CyY.js → responses-B3W2JvOQ.js} +49 -15
  335. package/dist/src/{responses--OsX2aYW.js → responses-B6ktc3Ra.js} +49 -15
  336. package/dist/src/{responses-C-flexAY.js → responses-URRzV8qE.js} +49 -15
  337. package/dist/src/rolldown-runtime-D_mwlA32.cjs +43 -0
  338. package/dist/src/rubyUtils-BYVlQ94c.js +3 -0
  339. package/dist/src/{rubyUtils-DsGrTx8R.js → rubyUtils-CXlFM2rR.js} +3 -3
  340. package/dist/src/{rubyUtils-DVLeA2jg.js → rubyUtils-CnlW8AYb.js} +3 -3
  341. package/dist/src/{rubyUtils-B6eljPuh.cjs → rubyUtils-CqUWBZAt.cjs} +18 -27
  342. package/dist/src/{rubyUtils-CYSQEG4a.js → rubyUtils-DdGojpfv.js} +3 -3
  343. package/dist/src/runtimeTransform-BJOpL9Yc.js +142 -0
  344. package/dist/src/runtimeTransform-Dgh_D7DU.js +143 -0
  345. package/dist/src/runtimeTransform-DigbjU1r.js +142 -0
  346. package/dist/src/runtimeTransform-ON3YYILw.cjs +147 -0
  347. package/dist/src/{sagemaker-BVkaG2-l.js → sagemaker-CujrzP1a.js} +62 -51
  348. package/dist/src/{sagemaker-XnfhheQv.cjs → sagemaker-DzffAqo_.cjs} +65 -53
  349. package/dist/src/{sagemaker-D67yzMzs.js → sagemaker-vhtSV7JI.js} +62 -51
  350. package/dist/src/{sagemaker-BveBvuxm.js → sagemaker-yr1QKeBs.js} +61 -50
  351. package/dist/src/{scanner-1DqWi1Ej.js → scanner-DS0109SS.js} +7 -7
  352. package/dist/src/server/index.js +5105 -605
  353. package/dist/src/server-B8rqV126.cjs +126 -0
  354. package/dist/src/server-BaLytskk.js +3 -0
  355. package/dist/src/server-CMJD10J4.js +107 -0
  356. package/dist/src/server-Ddp8GNMp.js +146 -0
  357. package/dist/src/server-DhMHosWj.js +182 -0
  358. package/dist/src/shared-7pmVZLNO.js +1334 -0
  359. package/dist/src/shared-9WHQ1oNE.js +1335 -0
  360. package/dist/src/{fileExtensions-BArZuxsI.js → shared-BoG7qLMv.js} +12 -2
  361. package/dist/src/shared-D6IjElRI.js +1334 -0
  362. package/dist/src/shared-WkgnDkcg.cjs +1436 -0
  363. package/dist/src/{signal-CE5G3a7x.js → signal-CSurUUyV.js} +3 -3
  364. package/dist/src/simulatedUser-C9aQObBI.js +222 -0
  365. package/dist/src/simulatedUser-Cu601Dd4.cjs +227 -0
  366. package/dist/src/simulatedUser-U_qAHnuB.js +222 -0
  367. package/dist/src/simulatedUser-p3tACcmw.js +223 -0
  368. package/dist/src/{slack-DDUe-5MC.js → slack-Bapo-7_8.js} +2 -2
  369. package/dist/src/{slack-1Rhq0EoV.cjs → slack-DMC1QVEg.cjs} +3 -2
  370. package/dist/src/{slack-D5Wpy8LM.js → slack-DTEFhrMn.js} +2 -2
  371. package/dist/src/{slack-acRb0IqQ.js → slack-k-_CP84Q.js} +1 -1
  372. package/dist/src/storage-BU4qcnOb.js +875 -0
  373. package/dist/src/storage-CA-v9V2v.cjs +911 -0
  374. package/dist/src/storage-CD-GWAdx.js +822 -0
  375. package/dist/src/storage-QdU-SmvD.js +834 -0
  376. package/dist/src/{store-DAAyxcy6.cjs → store-B2NDDooM.cjs} +60 -24
  377. package/dist/src/{store-CYEy5J2D.js → store-DKd5592Q.js} +51 -20
  378. package/dist/src/{store-M0b1WfYb.js → store-HpopRVzl.js} +50 -19
  379. package/dist/src/store-IbiRIF3k.js +3 -0
  380. package/dist/src/strategies-7CS3Alao.cjs +2360 -0
  381. package/dist/src/strategies-CiSeroPH.js +2331 -0
  382. package/dist/src/strategies-DRJjGTIY.js +2333 -0
  383. package/dist/src/{tables-DQ4WU5tX.js → tables-CRSXQ2Ke.js} +2 -2
  384. package/dist/src/{tables-CsWou1Bx.js → tables-CxjU7bBd.js} +3 -3
  385. package/dist/src/{tables-DUfh1F7Z.cjs → tables-DBIJU0WE.cjs} +6 -5
  386. package/dist/src/{tables-C4CH3zRr.js → tables-DafUHOeh.js} +3 -3
  387. package/dist/src/{telemetry-CQPez_Jp.js → telemetry-00ezXr_t.js} +5 -4
  388. package/dist/src/telemetry-ByPqDcKC.js +3 -0
  389. package/dist/src/{telemetry-Dsw_faFj.cjs → telemetry-CJ7FnCsc.cjs} +18 -11
  390. package/dist/src/{telemetry-dbaJ0E98.js → telemetry-DmXYcJNV.js} +5 -4
  391. package/dist/src/{telemetry-Dvqxv3YC.js → telemetry-DwX9XUN5.js} +4 -3
  392. package/dist/src/{text-KvuD2Iko.js → text-Db-Wt2u2.js} +1 -1
  393. package/dist/src/{text-DHxdyQqT.js → text-DwYK5EBn.js} +1 -1
  394. package/dist/src/{text-BVi-cLPJ.cjs → text-nywWsRBM.cjs} +1 -1
  395. package/dist/src/{tokenUsageUtils-C-bmyHoE.js → tokenUsageUtils-BjVkdk18.js} +1 -1
  396. package/dist/src/{tokenUsageUtils-CXrvO-wA.js → tokenUsageUtils-CDet74yk.js} +1 -1
  397. package/dist/src/tokenUsageUtils-CmnQ0G2m.js +142 -0
  398. package/dist/src/{tokenUsageUtils-Bb7DkZPz.cjs → tokenUsageUtils-_B-P8IAi.cjs} +1 -1
  399. package/dist/src/toolAttributes-BAjwcBf0.cjs +103 -0
  400. package/dist/src/toolAttributes-COVgDrBG.js +87 -0
  401. package/dist/src/toolAttributes-DJ9ZEKXD.js +86 -0
  402. package/dist/src/tracingOptions-BnwKCkSB.js +221 -0
  403. package/dist/src/tracingOptions-Chi74lOD.js +219 -0
  404. package/dist/src/tracingOptions-DrbSFaKy.cjs +249 -0
  405. package/dist/src/tracingOptions-ji2OuXbT.js +220 -0
  406. package/dist/src/{transcription-DuWDupG7.js → transcription-B8uIgCYX.js} +5 -5
  407. package/dist/src/{transcription-CJspiD2c.js → transcription-CfU5loSq.js} +6 -6
  408. package/dist/src/{transcription-V2HaAmy2.js → transcription-Dkd22_4K.js} +6 -6
  409. package/dist/src/{transcription-BvjmiYB1.cjs → transcription-mzuf18Mq.cjs} +9 -8
  410. package/dist/src/{transform-lQrDE1BQ.js → transform-BIMynQsA.js} +9 -9
  411. package/dist/src/transform-BnSTnFlp.js +187 -0
  412. package/dist/src/transform-BnSXWmU_2.cjs +221 -0
  413. package/dist/src/transform-CGt7Kt3y2.js +186 -0
  414. package/dist/src/transform-CrPGTsij.js +186 -0
  415. package/dist/src/{transform-CTeuTR3S.cjs → transform-DhNkAUs8.cjs} +13 -12
  416. package/dist/src/{transform-CG0ehZNG.js → transform-DmvYBRll.js} +9 -9
  417. package/dist/src/{transform-zDhMmzwX.js → transform-EtD4jAWi.js} +9 -9
  418. package/dist/src/{transformersAvailability-CcHusyhw.js → transformersAvailability-0ThtPved.js} +1 -1
  419. package/dist/src/transformersAvailability-BYydDE5U.js +35 -0
  420. package/dist/src/{transformersAvailability-DLlROWhg.js → transformersAvailability-BvyU9vDD.js} +1 -1
  421. package/dist/src/{transformersAvailability-Cju9mHgR.cjs → transformersAvailability-BytPvKUW.cjs} +1 -1
  422. package/dist/src/{types-Dm9JM6Vb.js → types-BFevViUY.js} +115 -19
  423. package/dist/src/{types-Bgh5SOn6.js → types-BJQBBPTP.js} +115 -19
  424. package/dist/src/{types-CeaeaZdP.cjs → types-CxJvaY2S.cjs} +357 -172
  425. package/dist/src/{types-BGQDAP8i.js → types-D6glLbdF.js} +271 -170
  426. package/dist/src/{util-BYvQUPp7.js → util--WMgw7wM.js} +28 -8
  427. package/dist/src/{util-C9J8ahRn.js → util-5WnCSb0h.js} +72 -48
  428. package/dist/src/{util-CN3SrLT4.cjs → util-BSIuSLVK.cjs} +74 -49
  429. package/dist/src/{util-C8e5uydV.js → util-Bx677_k2.js} +154 -147
  430. package/dist/src/util-CN8om2rz.cjs +386 -0
  431. package/dist/src/{util-DDs-7g6-.js → util-CoQWM76y.js} +28 -8
  432. package/dist/src/util-DNl96nNs.js +327 -0
  433. package/dist/src/{util-DxWpWjhc.js → util-DURocbYR.js} +667 -507
  434. package/dist/src/util-Df8YMvS1.js +327 -0
  435. package/dist/src/{util-DvU2Pw8c.js → util-DiQ3QvBB.js} +28 -8
  436. package/dist/src/{util-oGMLA7vc.js → util-I-Rf-KaD.js} +862 -577
  437. package/dist/src/{util-olYL5C6N.cjs → util-IYzs5Y04.cjs} +33 -7
  438. package/dist/src/{util-D9TisOyk.js → util-LKTmNsMQ.js} +71 -47
  439. package/dist/src/{util-Bxn8emtE.cjs → util-SPsvFONY.cjs} +738 -582
  440. package/dist/src/{util-D3q0WQ-0.js → util-efByNxcr.js} +72 -48
  441. package/dist/src/util-kDURhgJW.js +328 -0
  442. package/dist/src/{utils-DJfvjyMj.js → utils-B0lzitHZ.js} +3 -3
  443. package/dist/src/{utils-BLJKfv0y.js → utils-BFOh20Gb.js} +3 -3
  444. package/dist/src/{utils-hXtCYanr.js → utils-BGY69tk_.js} +2 -2
  445. package/dist/src/{utils-B05gLxER.cjs → utils-Ve6kuJsa.cjs} +3 -3
  446. package/dist/src/version-BK20a4sw.js +16 -0
  447. package/dist/src/version-BWCSaByA.cjs +27 -0
  448. package/dist/src/version-eRkNuGv8.js +17 -0
  449. package/dist/src/version-lpHV_53E.js +16 -0
  450. package/dist/tsconfig.tsbuildinfo +1 -1
  451. package/package.json +56 -28
  452. package/dist/src/app/assets/Report-CQYFezYu.js +0 -1
  453. package/dist/src/app/assets/index-BXGkeMwh.css +0 -1
  454. package/dist/src/app/assets/index-BzJt18Jz.js +0 -385
  455. package/dist/src/app/assets/sync-IjzpWrOE.js +0 -4
  456. package/dist/src/app/assets/vendor-charts-BNdH8TCw.js +0 -36
  457. package/dist/src/cache-Cr9oLMUa.js +0 -3
  458. package/dist/src/cache-DbLsVWB2.cjs +0 -3
  459. package/dist/src/cloud-Hphvo8kr.js +0 -3
  460. package/dist/src/codex-sdk-BAmYE7qy.js +0 -3
  461. package/dist/src/codex-sdk-CWEnH70W.cjs +0 -2
  462. package/dist/src/evalResult-D8MT9p0s.js +0 -3
  463. package/dist/src/evalResult-DElBuddX.js +0 -2
  464. package/dist/src/evalResult-Dvc-iucu.cjs +0 -2
  465. package/dist/src/evaluator-CVessDWe.js +0 -3
  466. package/dist/src/fetch-C7bGKDlQ.js +0 -3
  467. package/dist/src/graders-BOAzQEUe.cjs +0 -2
  468. package/dist/src/graders-D4BTsZdG2.js +0 -3
  469. package/dist/src/graders-DOJK1XpV.js +0 -2
  470. package/dist/src/graders-NAv9LcBn.js +0 -2
  471. package/dist/src/image-B5Mv-Z3h.js +0 -257
  472. package/dist/src/image-DVz2RiMF.js +0 -258
  473. package/dist/src/image-qUpPvmNZ.js +0 -257
  474. package/dist/src/image-x6KqLQl4.cjs +0 -280
  475. package/dist/src/providers-Bp4S-FvO.js +0 -2
  476. package/dist/src/providers-DV3ax9e_.cjs +0 -3
  477. package/dist/src/providers-u9Enmfok.js +0 -2
  478. package/dist/src/render-CH-62LbA.js +0 -135
  479. package/dist/src/render-CMEpfLaO.js +0 -136
  480. package/dist/src/render-DHIZ6_k8.js +0 -135
  481. package/dist/src/render-DfQSFxGE.cjs +0 -165
  482. package/dist/src/rubyUtils-D1L2d3jb.js +0 -3
  483. package/dist/src/rubyUtils-DUbq4tff.cjs +0 -2
  484. package/dist/src/server-BNYztJkh.js +0 -385
  485. package/dist/src/server-DCtHUqlp.js +0 -3
  486. package/dist/src/server-DaA2eR26.cjs +0 -2
  487. package/dist/src/store-CWOSz6D_.cjs +0 -2
  488. package/dist/src/store-DCDBhv7B.js +0 -3
  489. package/dist/src/store-Dn9HUkdW.js +0 -240
  490. package/dist/src/telemetry-C1IqxcdW.js +0 -3
  491. package/dist/src/telemetry-C4ZEa_es.cjs +0 -2
  492. package/dist/src/transform-Bbg6A8Jk.js +0 -216
  493. package/dist/src/transform-CUnzlsbn.cjs +0 -228
  494. package/dist/src/transform-DYX1_Xnh.js +0 -216
  495. package/dist/src/transform-DgKlRr73.cjs +0 -2
  496. package/dist/src/transform-M6ITAESf.js +0 -3
  497. package/dist/src/transform-UN5UGu8U.js +0 -213
@@ -1,12 +1,16 @@
1
- const require_logger = require("./logger-COuQb2xB.cjs");
2
- const require_esm = require("./esm-CtEPLdAj.cjs");
3
- const require_store = require("./store-DAAyxcy6.cjs");
1
+ const require_rolldown_runtime = require("./rolldown-runtime-D_mwlA32.cjs");
2
+ const require_logger = require("./logger-cfNpzI4o.cjs");
3
+ const require_esm = require("./esm-BIKakvNa.cjs");
4
+ const require_store = require("./store-B2NDDooM.cjs");
5
+ const require_resourceAttributes = require("./resourceAttributes-ephgOvdR.cjs");
4
6
  let path = require("path");
5
- path = require_logger.__toESM(path);
7
+ path = require_rolldown_runtime.__toESM(path, 1);
8
+ let node_crypto = require("node:crypto");
9
+ node_crypto = require_rolldown_runtime.__toESM(node_crypto, 1);
6
10
  let express = require("express");
7
- express = require_logger.__toESM(express);
11
+ express = require_rolldown_runtime.__toESM(express, 1);
8
12
  let protobufjs = require("protobufjs");
9
- protobufjs = require_logger.__toESM(protobufjs);
13
+ protobufjs = require_rolldown_runtime.__toESM(protobufjs, 1);
10
14
  //#region src/tracing/protobuf.ts
11
15
  /**
12
16
  * OTLP Protobuf decoder for trace data
@@ -85,6 +89,33 @@ async function decodeExportTraceServiceRequest(data) {
85
89
  }
86
90
  //#endregion
87
91
  //#region src/tracing/otlpReceiver.ts
92
+ const LOG_EVENT_NAME_DENYLIST = new Set(["claude_code.tracing"]);
93
+ const LOG_SPAN_DURATION_MS = 1;
94
+ const MAX_BODY_AS_NAME_LENGTH = 128;
95
+ const SEVERITY_NUMBER_ERROR = 17;
96
+ const MAX_LOG_BODY_ATTR_LENGTH = 8192;
97
+ function truncateLogBody(value) {
98
+ if (typeof value !== "string") return value;
99
+ if (value.length <= MAX_LOG_BODY_ATTR_LENGTH) return value;
100
+ return `${value.slice(0, MAX_LOG_BODY_ATTR_LENGTH - 15)}... [truncated]`;
101
+ }
102
+ const BASE64_ZERO_SPAN_ID = /^A{11,12}=?$/;
103
+ function isZeroSpanId(id) {
104
+ return /^0+$/.test(id) || BASE64_ZERO_SPAN_ID.test(id);
105
+ }
106
+ function randomSpanId() {
107
+ return node_crypto.default.randomBytes(8).toString("hex");
108
+ }
109
+ function getStringAttribute(attributes, key) {
110
+ const value = attributes[key];
111
+ return typeof value === "string" ? value : void 0;
112
+ }
113
+ function resolveLogSpanName(attributes, bodyValue) {
114
+ const eventName = attributes["event.name"] ?? attributes["claude_code.event.name"];
115
+ if (typeof eventName === "string" && eventName.length > 0) return eventName;
116
+ if (typeof bodyValue === "string" && bodyValue.length > 0 && bodyValue.length <= MAX_BODY_AS_NAME_LENGTH) return bodyValue;
117
+ return "otel.log";
118
+ }
88
119
  const SPAN_KIND_MAP = {
89
120
  0: "unspecified",
90
121
  1: "internal",
@@ -143,6 +174,21 @@ var OTLPReceiver = class {
143
174
  limit: "10mb",
144
175
  type: (req) => this.acceptFormats.includes("protobuf") && getRequestFormat(req.headers["content-type"]) === "protobuf"
145
176
  }));
177
+ this.app.use("/v1/logs", (req, res, next) => {
178
+ if (req.method !== "POST") {
179
+ next();
180
+ return;
181
+ }
182
+ if (getRequestFormat(req.headers["content-type"]) !== "json") {
183
+ res.status(415).json({ error: "Only application/json is supported for /v1/logs" });
184
+ return;
185
+ }
186
+ next();
187
+ });
188
+ this.app.use("/v1/logs", express.default.json({
189
+ limit: "10mb",
190
+ type: (req) => getRequestFormat(req.headers["content-type"]) === "json"
191
+ }));
146
192
  require_logger.logger.debug("[OtlpReceiver] Middleware configured for accepted OTLP formats");
147
193
  }
148
194
  setupRoutes() {
@@ -166,6 +212,17 @@ var OTLPReceiver = class {
166
212
  this.handleProcessingError(error, res);
167
213
  }
168
214
  });
215
+ this.app.post("/v1/logs", async (req, res) => {
216
+ require_logger.logger.debug("[OtlpReceiver] Received logs request");
217
+ try {
218
+ const traces = this.parseOTLPLogsJSONRequest(req.body);
219
+ require_logger.logger.debug(`[OtlpReceiver] Parsed ${traces.length} logs into span records`);
220
+ if (traces.length > 0) await this.persistTraces(this.groupTraces(traces));
221
+ res.status(200).json({ partialSuccess: {} });
222
+ } catch (error) {
223
+ this.handleProcessingError(error, res);
224
+ }
225
+ });
169
226
  this.app.get("/health", (_req, res) => {
170
227
  require_logger.logger.debug("[OtlpReceiver] Health check requested");
171
228
  res.status(200).json({ status: "ok" });
@@ -297,6 +354,67 @@ var OTLPReceiver = class {
297
354
  }
298
355
  return traces;
299
356
  }
357
+ parseOTLPLogsJSONRequest(body) {
358
+ const traces = [];
359
+ const resourceLogs = body?.resourceLogs ?? [];
360
+ require_logger.logger.debug(`[OtlpReceiver] Parsing logs request with ${resourceLogs.length} resource logs`);
361
+ for (const resourceLog of resourceLogs) {
362
+ const resourceAttributes = this.parseAttributes(resourceLog.resource?.attributes);
363
+ for (const scopeLog of resourceLog.scopeLogs ?? []) for (const log of scopeLog.logRecords ?? []) try {
364
+ const parsed = this.logRecordToParsedTrace(log, scopeLog, resourceAttributes);
365
+ if (parsed) traces.push(parsed);
366
+ } catch (err) {
367
+ require_logger.logger.warn(`[OtlpReceiver] Skipping malformed log record in scope ${scopeLog.scope?.name ?? "(unknown)"}: ${err}`);
368
+ }
369
+ }
370
+ return traces;
371
+ }
372
+ logRecordToParsedTrace(log, scopeLog, resourceAttributes) {
373
+ const rawTraceId = log.traceId ?? getStringAttribute(resourceAttributes, "promptfoo.trace_id");
374
+ if (!rawTraceId) {
375
+ require_logger.logger.debug(`[OtlpReceiver] Dropping log: no traceId and no ${require_resourceAttributes.PROMPTFOO_RESOURCE_ATTR_TRACE_ID} resource attribute (scope=${scopeLog.scope?.name ?? "unknown"}). Ensure TRACEPARENT is propagated or OTEL_RESOURCE_ATTRIBUTES is set by the provider.`);
376
+ return null;
377
+ }
378
+ const traceId = this.convertId(rawTraceId, 32);
379
+ if (traceId.length !== 32 || !/^[0-9a-f]+$/.test(traceId)) {
380
+ require_logger.logger.debug(`[OtlpReceiver] Dropping log: invalid trace_id shape '${rawTraceId}'`);
381
+ return null;
382
+ }
383
+ const attributes = {
384
+ ...resourceAttributes,
385
+ ...this.parseAttributes(log.attributes),
386
+ "otel.scope.name": scopeLog.scope?.name,
387
+ "otel.scope.version": scopeLog.scope?.version,
388
+ "otel.log.severity_number": log.severityNumber,
389
+ "otel.log.severity_text": log.severityText
390
+ };
391
+ const bodyValue = log.body ? this.parseAttributeValue(log.body) : void 0;
392
+ const name = resolveLogSpanName(attributes, bodyValue);
393
+ if (LOG_EVENT_NAME_DENYLIST.has(name)) {
394
+ require_logger.logger.debug(`[OtlpReceiver] Dropping log: event '${name}' is in the denylist`);
395
+ return null;
396
+ }
397
+ if (bodyValue !== void 0) attributes["otel.log.body"] = truncateLogBody(bodyValue);
398
+ const timeNano = log.timeUnixNano ?? log.observedTimeUnixNano;
399
+ const startTime = timeNano ? Number(timeNano) / 1e6 : Date.now();
400
+ const endTime = startTime + LOG_SPAN_DURATION_MS;
401
+ const rawParentSpanId = !!log.spanId && !isZeroSpanId(log.spanId) ? log.spanId : getStringAttribute(resourceAttributes, require_resourceAttributes.PROMPTFOO_RESOURCE_ATTR_PARENT_SPAN_ID);
402
+ const parentSpanId = rawParentSpanId ? this.convertId(rawParentSpanId, 16) : void 0;
403
+ const severityIsError = typeof log.severityNumber === "number" && log.severityNumber >= SEVERITY_NUMBER_ERROR;
404
+ return {
405
+ traceId,
406
+ span: {
407
+ spanId: randomSpanId(),
408
+ parentSpanId,
409
+ name,
410
+ startTime,
411
+ endTime,
412
+ attributes,
413
+ statusCode: 1,
414
+ statusMessage: severityIsError ? log.severityText : void 0
415
+ }
416
+ };
417
+ }
300
418
  async parseOTLPProtobufRequest(body) {
301
419
  const decoded = await decodeExportTraceServiceRequest(body);
302
420
  require_logger.logger.debug(`[OtlpReceiver] Parsing protobuf request with ${decoded.resourceSpans?.length || 0} resource spans`);
@@ -466,4 +584,4 @@ async function stopOTLPReceiver() {
466
584
  exports.startOTLPReceiver = startOTLPReceiver;
467
585
  exports.stopOTLPReceiver = stopOTLPReceiver;
468
586
 
469
- //# sourceMappingURL=otlpReceiver-BfcVq2Nq.cjs.map
587
+ //# sourceMappingURL=otlpReceiver-CvJdBGSc.cjs.map
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env node
2
+ import { i as resolvePackageEntryPoint, r as importModule } from "./esm-Bexx2PFc.js";
3
+ import path from "path";
4
+ //#region src/providers/packageParser.ts
5
+ function getValue(obj, path) {
6
+ return path.split(".").reduce((acc, key) => {
7
+ return acc && acc[key] !== void 0 ? acc[key] : void 0;
8
+ }, obj);
9
+ }
10
+ function isPackagePath(path) {
11
+ return typeof path === "string" && path.startsWith("package:");
12
+ }
13
+ async function loadFromPackage(packageInstancePath, basePath) {
14
+ const [, packageName, entityName] = packageInstancePath.split(":");
15
+ if (!packageName || !entityName) throw new Error(`Invalid package format: ${packageInstancePath}. Expected format: package:packageName:exportedClassOrFunction`);
16
+ const filePath = resolvePackageEntryPoint(packageName, path.resolve(basePath));
17
+ if (!filePath) throw new Error(`Package not found: ${packageName}. Make sure it's installed in ${basePath}`);
18
+ let module;
19
+ try {
20
+ module = await importModule(filePath);
21
+ } catch (error) {
22
+ throw new Error(`Failed to import module: ${packageName}. Error: ${error}`);
23
+ }
24
+ const entity = getValue(module, entityName);
25
+ if (entity === void 0) throw new Error(`Could not find entity: ${entityName} in module: ${filePath}. Make sure the entity is exported from the package.`);
26
+ return entity;
27
+ }
28
+ async function parsePackageProvider(providerPath, basePath, options) {
29
+ const Provider = await loadFromPackage(providerPath, basePath);
30
+ if (typeof Provider !== "function") throw new Error(`Provider malformed: ${providerPath} must export a provider constructor. Received: ${typeof Provider}`);
31
+ return new Provider(options);
32
+ }
33
+ //#endregion
34
+ export { loadFromPackage as n, parsePackageProvider as r, isPackagePath as t };
35
+
36
+ //# sourceMappingURL=packageParser--MWTSrPW.js.map
@@ -0,0 +1,35 @@
1
+ import { i as resolvePackageEntryPoint, r as importModule } from "./esm-BTK1W7lG.js";
2
+ import path from "path";
3
+ //#region src/providers/packageParser.ts
4
+ function getValue(obj, path) {
5
+ return path.split(".").reduce((acc, key) => {
6
+ return acc && acc[key] !== void 0 ? acc[key] : void 0;
7
+ }, obj);
8
+ }
9
+ function isPackagePath(path) {
10
+ return typeof path === "string" && path.startsWith("package:");
11
+ }
12
+ async function loadFromPackage(packageInstancePath, basePath) {
13
+ const [, packageName, entityName] = packageInstancePath.split(":");
14
+ if (!packageName || !entityName) throw new Error(`Invalid package format: ${packageInstancePath}. Expected format: package:packageName:exportedClassOrFunction`);
15
+ const filePath = resolvePackageEntryPoint(packageName, path.resolve(basePath));
16
+ if (!filePath) throw new Error(`Package not found: ${packageName}. Make sure it's installed in ${basePath}`);
17
+ let module;
18
+ try {
19
+ module = await importModule(filePath);
20
+ } catch (error) {
21
+ throw new Error(`Failed to import module: ${packageName}. Error: ${error}`);
22
+ }
23
+ const entity = getValue(module, entityName);
24
+ if (entity === void 0) throw new Error(`Could not find entity: ${entityName} in module: ${filePath}. Make sure the entity is exported from the package.`);
25
+ return entity;
26
+ }
27
+ async function parsePackageProvider(providerPath, basePath, options) {
28
+ const Provider = await loadFromPackage(providerPath, basePath);
29
+ if (typeof Provider !== "function") throw new Error(`Provider malformed: ${providerPath} must export a provider constructor. Received: ${typeof Provider}`);
30
+ return new Provider(options);
31
+ }
32
+ //#endregion
33
+ export { loadFromPackage as n, parsePackageProvider as r, isPackagePath as t };
34
+
35
+ //# sourceMappingURL=packageParser-CgE-ziRo.js.map
@@ -0,0 +1,54 @@
1
+ const require_rolldown_runtime = require("./rolldown-runtime-D_mwlA32.cjs");
2
+ const require_esm = require("./esm-BIKakvNa.cjs");
3
+ let path = require("path");
4
+ path = require_rolldown_runtime.__toESM(path, 1);
5
+ //#region src/providers/packageParser.ts
6
+ function getValue(obj, path$2) {
7
+ return path$2.split(".").reduce((acc, key) => {
8
+ return acc && acc[key] !== void 0 ? acc[key] : void 0;
9
+ }, obj);
10
+ }
11
+ function isPackagePath(path$3) {
12
+ return typeof path$3 === "string" && path$3.startsWith("package:");
13
+ }
14
+ async function loadFromPackage(packageInstancePath, basePath) {
15
+ const [, packageName, entityName] = packageInstancePath.split(":");
16
+ if (!packageName || !entityName) throw new Error(`Invalid package format: ${packageInstancePath}. Expected format: package:packageName:exportedClassOrFunction`);
17
+ const filePath = require_esm.resolvePackageEntryPoint(packageName, path.default.resolve(basePath));
18
+ if (!filePath) throw new Error(`Package not found: ${packageName}. Make sure it's installed in ${basePath}`);
19
+ let module;
20
+ try {
21
+ module = await require_esm.importModule(filePath);
22
+ } catch (error) {
23
+ throw new Error(`Failed to import module: ${packageName}. Error: ${error}`);
24
+ }
25
+ const entity = getValue(module, entityName);
26
+ if (entity === void 0) throw new Error(`Could not find entity: ${entityName} in module: ${filePath}. Make sure the entity is exported from the package.`);
27
+ return entity;
28
+ }
29
+ async function parsePackageProvider(providerPath, basePath, options) {
30
+ const Provider = await loadFromPackage(providerPath, basePath);
31
+ if (typeof Provider !== "function") throw new Error(`Provider malformed: ${providerPath} must export a provider constructor. Received: ${typeof Provider}`);
32
+ return new Provider(options);
33
+ }
34
+ //#endregion
35
+ Object.defineProperty(exports, "isPackagePath", {
36
+ enumerable: true,
37
+ get: function() {
38
+ return isPackagePath;
39
+ }
40
+ });
41
+ Object.defineProperty(exports, "loadFromPackage", {
42
+ enumerable: true,
43
+ get: function() {
44
+ return loadFromPackage;
45
+ }
46
+ });
47
+ Object.defineProperty(exports, "parsePackageProvider", {
48
+ enumerable: true,
49
+ get: function() {
50
+ return parsePackageProvider;
51
+ }
52
+ });
53
+
54
+ //# sourceMappingURL=packageParser-QoCS1FMl.cjs.map
@@ -0,0 +1,35 @@
1
+ import { i as resolvePackageEntryPoint, r as importModule } from "./esm-B6whoAcf.js";
2
+ import path from "path";
3
+ //#region src/providers/packageParser.ts
4
+ function getValue(obj, path) {
5
+ return path.split(".").reduce((acc, key) => {
6
+ return acc && acc[key] !== void 0 ? acc[key] : void 0;
7
+ }, obj);
8
+ }
9
+ function isPackagePath(path) {
10
+ return typeof path === "string" && path.startsWith("package:");
11
+ }
12
+ async function loadFromPackage(packageInstancePath, basePath) {
13
+ const [, packageName, entityName] = packageInstancePath.split(":");
14
+ if (!packageName || !entityName) throw new Error(`Invalid package format: ${packageInstancePath}. Expected format: package:packageName:exportedClassOrFunction`);
15
+ const filePath = resolvePackageEntryPoint(packageName, path.resolve(basePath));
16
+ if (!filePath) throw new Error(`Package not found: ${packageName}. Make sure it's installed in ${basePath}`);
17
+ let module;
18
+ try {
19
+ module = await importModule(filePath);
20
+ } catch (error) {
21
+ throw new Error(`Failed to import module: ${packageName}. Error: ${error}`);
22
+ }
23
+ const entity = getValue(module, entityName);
24
+ if (entity === void 0) throw new Error(`Could not find entity: ${entityName} in module: ${filePath}. Make sure the entity is exported from the package.`);
25
+ return entity;
26
+ }
27
+ async function parsePackageProvider(providerPath, basePath, options) {
28
+ const Provider = await loadFromPackage(providerPath, basePath);
29
+ if (typeof Provider !== "function") throw new Error(`Provider malformed: ${providerPath} must export a provider constructor. Received: ${typeof Provider}`);
30
+ return new Provider(options);
31
+ }
32
+ //#endregion
33
+ export { loadFromPackage as n, parsePackageProvider as r, isPackagePath as t };
34
+
35
+ //# sourceMappingURL=packageParser-hwwSGnAZ.js.map
@@ -0,0 +1,95 @@
1
+ #!/usr/bin/env node
2
+ import { n as __require } from "./chunk-DRamLcfz.js";
3
+ //#region src/util/processShim.ts
4
+ /**
5
+ * Browser-safe process shim module.
6
+ *
7
+ * This module provides a shimmed process object that works in both Node.js and browser
8
+ * environments. In Node.js, it provides full functionality including process.mainModule.require.
9
+ * In browsers, it returns a minimal shim that throws helpful errors when Node.js-specific
10
+ * features are accessed.
11
+ *
12
+ * This separation is necessary because:
13
+ * 1. The promptfoo webui imports httpTransforms.ts which needs getProcessShim()
14
+ * 2. httpTransforms.ts is designed to be frontend-importable for testing transforms in the UI
15
+ * 3. The Node.js implementation uses createRequire from 'node:module' which doesn't exist in browsers
16
+ *
17
+ * By using runtime environment detection and dynamic imports, we can:
18
+ * - Avoid top-level imports of Node.js-only modules that would break browser bundling
19
+ * - Provide appropriate functionality for each environment
20
+ */
21
+ /**
22
+ * Detects if the current environment is a browser or web worker.
23
+ * Handles test environments (jsdom/happy-dom) that define window in Node.js.
24
+ */
25
+ function isBrowserEnvironment() {
26
+ if (typeof process !== "undefined" && typeof process.versions?.node === "string") return false;
27
+ return typeof window !== "undefined" || typeof self !== "undefined" && typeof self.importScripts === "function";
28
+ }
29
+ /**
30
+ * Creates a minimal process shim for browser environments.
31
+ * This shim provides helpful error messages when Node.js-specific features are accessed.
32
+ */
33
+ function createBrowserProcessShim() {
34
+ return {
35
+ env: {},
36
+ mainModule: {
37
+ require: () => {
38
+ throw new Error("require() is not available in browser transforms. Use standard JavaScript instead.");
39
+ },
40
+ exports: {},
41
+ id: ".",
42
+ filename: "",
43
+ loaded: true,
44
+ children: [],
45
+ paths: []
46
+ }
47
+ };
48
+ }
49
+ let cachedNodeProcessShim = null;
50
+ /**
51
+ * Returns a shimmed process object that works in both Node.js and browser environments.
52
+ *
53
+ * In Node.js:
54
+ * - Returns a proxy with process.mainModule.require shimmed for ESM compatibility
55
+ * - Allows inline transforms to use require() even in ESM context
56
+ *
57
+ * In browsers:
58
+ * - Returns a minimal shim with helpful error messages
59
+ * - Allows simple transforms that don't use require() to work
60
+ *
61
+ * @example
62
+ * // In Node.js - can use require
63
+ * const fn = new Function('data', 'process', `return process.mainModule.require('fs')`);
64
+ * fn(data, getProcessShim());
65
+ *
66
+ * @example
67
+ * // In browser - simple transforms work
68
+ * const fn = new Function('data', 'process', `return data.toUpperCase()`);
69
+ * fn(data, getProcessShim());
70
+ */
71
+ function getProcessShim() {
72
+ if (isBrowserEnvironment()) return createBrowserProcessShim();
73
+ if (!cachedNodeProcessShim) try {
74
+ const esmRequire = __require("node:module").createRequire(import.meta.url);
75
+ cachedNodeProcessShim = new Proxy(process, { get(target, prop) {
76
+ if (prop === "mainModule") return {
77
+ require: esmRequire,
78
+ exports: {},
79
+ id: ".",
80
+ filename: "",
81
+ loaded: true,
82
+ children: [],
83
+ paths: []
84
+ };
85
+ return Reflect.get(target, prop);
86
+ } });
87
+ } catch {
88
+ return createBrowserProcessShim();
89
+ }
90
+ return cachedNodeProcessShim;
91
+ }
92
+ //#endregion
93
+ export { getProcessShim as t };
94
+
95
+ //# sourceMappingURL=processShim-BBxt7LKO.js.map
@@ -0,0 +1,94 @@
1
+ import { n as __require } from "./chunk-DEq-mXcV.js";
2
+ //#region src/util/processShim.ts
3
+ /**
4
+ * Browser-safe process shim module.
5
+ *
6
+ * This module provides a shimmed process object that works in both Node.js and browser
7
+ * environments. In Node.js, it provides full functionality including process.mainModule.require.
8
+ * In browsers, it returns a minimal shim that throws helpful errors when Node.js-specific
9
+ * features are accessed.
10
+ *
11
+ * This separation is necessary because:
12
+ * 1. The promptfoo webui imports httpTransforms.ts which needs getProcessShim()
13
+ * 2. httpTransforms.ts is designed to be frontend-importable for testing transforms in the UI
14
+ * 3. The Node.js implementation uses createRequire from 'node:module' which doesn't exist in browsers
15
+ *
16
+ * By using runtime environment detection and dynamic imports, we can:
17
+ * - Avoid top-level imports of Node.js-only modules that would break browser bundling
18
+ * - Provide appropriate functionality for each environment
19
+ */
20
+ /**
21
+ * Detects if the current environment is a browser or web worker.
22
+ * Handles test environments (jsdom/happy-dom) that define window in Node.js.
23
+ */
24
+ function isBrowserEnvironment() {
25
+ if (typeof process !== "undefined" && typeof process.versions?.node === "string") return false;
26
+ return typeof window !== "undefined" || typeof self !== "undefined" && typeof self.importScripts === "function";
27
+ }
28
+ /**
29
+ * Creates a minimal process shim for browser environments.
30
+ * This shim provides helpful error messages when Node.js-specific features are accessed.
31
+ */
32
+ function createBrowserProcessShim() {
33
+ return {
34
+ env: {},
35
+ mainModule: {
36
+ require: () => {
37
+ throw new Error("require() is not available in browser transforms. Use standard JavaScript instead.");
38
+ },
39
+ exports: {},
40
+ id: ".",
41
+ filename: "",
42
+ loaded: true,
43
+ children: [],
44
+ paths: []
45
+ }
46
+ };
47
+ }
48
+ let cachedNodeProcessShim = null;
49
+ /**
50
+ * Returns a shimmed process object that works in both Node.js and browser environments.
51
+ *
52
+ * In Node.js:
53
+ * - Returns a proxy with process.mainModule.require shimmed for ESM compatibility
54
+ * - Allows inline transforms to use require() even in ESM context
55
+ *
56
+ * In browsers:
57
+ * - Returns a minimal shim with helpful error messages
58
+ * - Allows simple transforms that don't use require() to work
59
+ *
60
+ * @example
61
+ * // In Node.js - can use require
62
+ * const fn = new Function('data', 'process', `return process.mainModule.require('fs')`);
63
+ * fn(data, getProcessShim());
64
+ *
65
+ * @example
66
+ * // In browser - simple transforms work
67
+ * const fn = new Function('data', 'process', `return data.toUpperCase()`);
68
+ * fn(data, getProcessShim());
69
+ */
70
+ function getProcessShim() {
71
+ if (isBrowserEnvironment()) return createBrowserProcessShim();
72
+ if (!cachedNodeProcessShim) try {
73
+ const esmRequire = __require("node:module").createRequire(import.meta.url);
74
+ cachedNodeProcessShim = new Proxy(process, { get(target, prop) {
75
+ if (prop === "mainModule") return {
76
+ require: esmRequire,
77
+ exports: {},
78
+ id: ".",
79
+ filename: "",
80
+ loaded: true,
81
+ children: [],
82
+ paths: []
83
+ };
84
+ return Reflect.get(target, prop);
85
+ } });
86
+ } catch {
87
+ return createBrowserProcessShim();
88
+ }
89
+ return cachedNodeProcessShim;
90
+ }
91
+ //#endregion
92
+ export { getProcessShim as t };
93
+
94
+ //# sourceMappingURL=processShim-BcGzU8fY.js.map
@@ -0,0 +1,94 @@
1
+ import { n as __require } from "./chunk-DEq-mXcV.js";
2
+ //#region src/util/processShim.ts
3
+ /**
4
+ * Browser-safe process shim module.
5
+ *
6
+ * This module provides a shimmed process object that works in both Node.js and browser
7
+ * environments. In Node.js, it provides full functionality including process.mainModule.require.
8
+ * In browsers, it returns a minimal shim that throws helpful errors when Node.js-specific
9
+ * features are accessed.
10
+ *
11
+ * This separation is necessary because:
12
+ * 1. The promptfoo webui imports httpTransforms.ts which needs getProcessShim()
13
+ * 2. httpTransforms.ts is designed to be frontend-importable for testing transforms in the UI
14
+ * 3. The Node.js implementation uses createRequire from 'node:module' which doesn't exist in browsers
15
+ *
16
+ * By using runtime environment detection and dynamic imports, we can:
17
+ * - Avoid top-level imports of Node.js-only modules that would break browser bundling
18
+ * - Provide appropriate functionality for each environment
19
+ */
20
+ /**
21
+ * Detects if the current environment is a browser or web worker.
22
+ * Handles test environments (jsdom/happy-dom) that define window in Node.js.
23
+ */
24
+ function isBrowserEnvironment() {
25
+ if (typeof process !== "undefined" && typeof process.versions?.node === "string") return false;
26
+ return typeof window !== "undefined" || typeof self !== "undefined" && typeof self.importScripts === "function";
27
+ }
28
+ /**
29
+ * Creates a minimal process shim for browser environments.
30
+ * This shim provides helpful error messages when Node.js-specific features are accessed.
31
+ */
32
+ function createBrowserProcessShim() {
33
+ return {
34
+ env: {},
35
+ mainModule: {
36
+ require: () => {
37
+ throw new Error("require() is not available in browser transforms. Use standard JavaScript instead.");
38
+ },
39
+ exports: {},
40
+ id: ".",
41
+ filename: "",
42
+ loaded: true,
43
+ children: [],
44
+ paths: []
45
+ }
46
+ };
47
+ }
48
+ let cachedNodeProcessShim = null;
49
+ /**
50
+ * Returns a shimmed process object that works in both Node.js and browser environments.
51
+ *
52
+ * In Node.js:
53
+ * - Returns a proxy with process.mainModule.require shimmed for ESM compatibility
54
+ * - Allows inline transforms to use require() even in ESM context
55
+ *
56
+ * In browsers:
57
+ * - Returns a minimal shim with helpful error messages
58
+ * - Allows simple transforms that don't use require() to work
59
+ *
60
+ * @example
61
+ * // In Node.js - can use require
62
+ * const fn = new Function('data', 'process', `return process.mainModule.require('fs')`);
63
+ * fn(data, getProcessShim());
64
+ *
65
+ * @example
66
+ * // In browser - simple transforms work
67
+ * const fn = new Function('data', 'process', `return data.toUpperCase()`);
68
+ * fn(data, getProcessShim());
69
+ */
70
+ function getProcessShim() {
71
+ if (isBrowserEnvironment()) return createBrowserProcessShim();
72
+ if (!cachedNodeProcessShim) try {
73
+ const esmRequire = __require("node:module").createRequire(import.meta.url);
74
+ cachedNodeProcessShim = new Proxy(process, { get(target, prop) {
75
+ if (prop === "mainModule") return {
76
+ require: esmRequire,
77
+ exports: {},
78
+ id: ".",
79
+ filename: "",
80
+ loaded: true,
81
+ children: [],
82
+ paths: []
83
+ };
84
+ return Reflect.get(target, prop);
85
+ } });
86
+ } catch {
87
+ return createBrowserProcessShim();
88
+ }
89
+ return cachedNodeProcessShim;
90
+ }
91
+ //#endregion
92
+ export { getProcessShim as t };
93
+
94
+ //# sourceMappingURL=processShim-C_z3aRvF.js.map