promptfoo 0.121.5 → 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 (490) hide show
  1. package/dist/src/{ListApp-BRUsT43Y.js → ListApp-DLmM02JS.js} +1 -1
  2. package/dist/src/{accounts-CaLNYnf7.js → accounts-Ca7WIoPY.js} +12 -7
  3. package/dist/src/{accounts-CLJHCDDb.js → accounts-CjFnOPmb.js} +13 -8
  4. package/dist/src/{accounts-BIFntVWB.cjs → accounts-CmWzeD2d.cjs} +16 -10
  5. package/dist/src/{accounts-bnyHT7Ju.js → accounts-DanM1wq_.js} +12 -7
  6. package/dist/src/{agentic-utils-BclbiXiq.js → agentic-utils-CJ0j3fBi.js} +2 -2
  7. package/dist/src/{agentic-utils-B5krlibj.js → agentic-utils-DDEGRV9v.js} +2 -2
  8. package/dist/src/{agentic-utils-D2x0wGhB.cjs → agentic-utils-DvPWSUpb.cjs} +8 -7
  9. package/dist/src/{agentic-utils-Ba67xmgs.js → agentic-utils-TxUEMPYS.js} +2 -2
  10. package/dist/src/{agents-WULPVjbH.cjs → agents-B4sRuXg3.cjs} +7 -6
  11. package/dist/src/{agents-DhxWMCtH.js → agents-B8q7h_ek.js} +4 -4
  12. package/dist/src/{agents-BGqaTDnr.js → agents-CBgJvRkB.js} +20 -9
  13. package/dist/src/{agents-n6vPqV3i.js → agents-CYn2n3QP.js} +4 -4
  14. package/dist/src/{agents-BV9yFpXX.js → agents-D-vDNFx4.js} +20 -9
  15. package/dist/src/{agents-BYdMl1UE.js → agents-LrHuQqr1.js} +20 -9
  16. package/dist/src/{agents-emVcx3yh.js → agents-QGg76OF-.js} +2 -2
  17. package/dist/src/{agents-DiWmQYH9.cjs → agents-eHZ9nlgA.cjs} +21 -10
  18. package/dist/src/{aimlapi-uPGp0Zdo.js → aimlapi-CJEbQ0o6.js} +6 -6
  19. package/dist/src/{aimlapi-DR4pgeiC.js → aimlapi-D5HXzZ0s.js} +6 -6
  20. package/dist/src/{aimlapi-BzLjZI_m.cjs → aimlapi-T6HGNxNe.cjs} +7 -7
  21. package/dist/src/{aimlapi-BxqK9HF_.js → aimlapi-eYv3a_DK.js} +6 -6
  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 +6 -6
  33. package/dist/src/{audio-Da8U9IS5.js → audio-BqnRvcWG.js} +3 -3
  34. package/dist/src/{audio-BvpTOArF.js → audio-CPMtV1yR.js} +3 -3
  35. package/dist/src/{audio-CScmnmEB.js → audio-DyiebVB3.js} +3 -3
  36. package/dist/src/{audio-C0vDeS0j.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-BTux96b1.js → base-CKLo890h.js} +4 -3
  42. package/dist/src/{base-BOMaNEes.js → base-Co80MMCi.js} +4 -3
  43. package/dist/src/{base-Tw6uhH8K.cjs → base-DGJW48uz.cjs} +5 -4
  44. package/dist/src/{base-dYsl2hmL.js → base-E9I8zXjz.js} +4 -3
  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-B95F_7vE.cjs → blobs-B0977K1O.cjs} +7 -6
  50. package/dist/src/{blobs-D_gg8nbm.js → blobs-CeFdPn_T.js} +2 -2
  51. package/dist/src/{blobs-DjLby-uP.js → blobs-DODuTK-a.js} +2 -2
  52. package/dist/src/{blobs-BW4U31ue.js → blobs-Dwef1Ao1.js} +2 -2
  53. package/dist/src/{cache-DGg-yTZG.cjs → cache-CPGUA4Yl.cjs} +135 -25
  54. package/dist/src/cache-Cf7b4pWE.js +3 -0
  55. package/dist/src/{cache-Bzttsk0X.js → cache-DIXbtkNO.js} +125 -10
  56. package/dist/src/{cache-BI5BY7ey.js → cache-DpPWrkTE.js} +127 -11
  57. package/dist/src/{cache-Cr-qWIbP.js → cache-roFAE0cI.js} +125 -10
  58. package/dist/src/{chat-DChSH_Es.js → chat-CUCorGiL.js} +9 -9
  59. package/dist/src/{chat-DH97tVV9.cjs → chat-DG1wG4w0.cjs} +6 -6
  60. package/dist/src/{chat-Cx_LkwvZ.js → chat-Dabu84Br.js} +11 -11
  61. package/dist/src/{chat-BLOdH60v.js → chat-DqUFcWI0.js} +11 -11
  62. package/dist/src/{chat-vYqqv1gP.cjs → chat-DxTDQ83C.cjs} +14 -13
  63. package/dist/src/{chat-DG2LkwLq.js → chat-GmlolEwo.js} +4 -4
  64. package/dist/src/{chat-aMQZw6R7.js → chat-TP8Qifkh.js} +4 -4
  65. package/dist/src/{chat-D9nudO9b.js → chat-iwaM5UTQ.js} +4 -4
  66. package/dist/src/{chatkit-B8X34dQc.js → chatkit-B6DWi70Q.js} +3 -3
  67. package/dist/src/{chatkit-D44VyUyB.cjs → chatkit-BYveR48_.cjs} +6 -5
  68. package/dist/src/{chatkit-BXu42Qwt.js → chatkit-fARZwEfV.js} +3 -3
  69. package/dist/src/{chatkit-CbMRoeYw.js → chatkit-lb6FK02w.js} +1 -1
  70. package/dist/src/{claude-agent-sdk-BzNZeZ0N.js → claude-agent-sdk-BQNp_y-F.js} +209 -64
  71. package/dist/src/{claude-agent-sdk-BjriSVRZ.js → claude-agent-sdk-D5Jl0SDh.js} +210 -65
  72. package/dist/src/{claude-agent-sdk-BRq0bbIK.cjs → claude-agent-sdk-DH416NBD.cjs} +216 -70
  73. package/dist/src/{claude-agent-sdk-DYv_AJ8u.js → claude-agent-sdk-x1XJ1-pU.js} +210 -65
  74. package/dist/src/{cloud-Da0bofJd.js → cloud-D3DiFqH6.js} +2 -2
  75. package/dist/src/cloud-p96PA4MH.js +3 -0
  76. package/dist/src/{cloudflare-ai-CXC4b1EU.js → cloudflare-ai-B6NVI3ax.js} +4 -4
  77. package/dist/src/{cloudflare-ai-DJv5qnyb.cjs → cloudflare-ai-CEAW-xQa.cjs} +6 -6
  78. package/dist/src/{cloudflare-ai-CyBoIs1Q.js → cloudflare-ai-RFSojyXG.js} +4 -4
  79. package/dist/src/{cloudflare-ai-DGOwgexC.js → cloudflare-ai-r4tbYmWU.js} +4 -4
  80. package/dist/src/{cloudflare-gateway-D-dnkzCF.js → cloudflare-gateway-BCkLouto.js} +3 -3
  81. package/dist/src/{cloudflare-gateway-TJkVrZlB.js → cloudflare-gateway-BaZ4insB.js} +3 -3
  82. package/dist/src/{cloudflare-gateway-1sAoOyft.js → cloudflare-gateway-CF-Vb-2Z.js} +3 -3
  83. package/dist/src/{cloudflare-gateway-DKVjkDav.cjs → cloudflare-gateway-TJMLBj6I.cjs} +5 -5
  84. package/dist/src/{codex-app-server-CCe0TiDc.js → codex-app-server-B8KHEiF4.js} +5 -5
  85. package/dist/src/{codex-app-server-VMRnjZ68.cjs → codex-app-server-CnrLBCeA.cjs} +12 -11
  86. package/dist/src/{codex-app-server-CCLjqCh9.js → codex-app-server-DIXZ230V.js} +4 -4
  87. package/dist/src/{codex-app-server-CPW1LFwh.js → codex-app-server-Dd22dC_N.js} +5 -5
  88. package/dist/src/{codex-sdk-BgEFQ70r.js → codex-sdk-B6Wah8Pa.js} +5 -5
  89. package/dist/src/codex-sdk-BGjVAk23.js +3 -0
  90. package/dist/src/{codex-sdk-Bd8UbO9q.cjs → codex-sdk-CFF6gUyi.cjs} +18 -10
  91. package/dist/src/{codex-sdk-Bzb_TqX9.js → codex-sdk-CmQABzV3.js} +3 -3
  92. package/dist/src/{codex-sdk-DfvDTN33.js → codex-sdk-D2d54RL8.js} +5 -5
  93. package/dist/src/{cometapi-B5ImDlSm.js → cometapi-Bu9B8NUY.js} +7 -7
  94. package/dist/src/{cometapi-CCbpHkuF.js → cometapi-CtzNCHKu.js} +7 -7
  95. package/dist/src/{cometapi-BgAkuYCw.cjs → cometapi-DHCDlQUI.cjs} +8 -8
  96. package/dist/src/{cometapi-CC7hWxmX.js → cometapi-OBILPLlu.js} +7 -7
  97. package/dist/src/{completion-Vq_ad618.js → completion-CO2e1_62.js} +4 -4
  98. package/dist/src/{completion-DtQ72Bm3.cjs → completion-CSYfl2cd.cjs} +6 -6
  99. package/dist/src/{completion-2iuYVxwi.js → completion-DZNxcyfG.js} +5 -5
  100. package/dist/src/{completion-CrD6MQ93.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-Un4Q_huE.js → createHash-CGVzWdjj.js} +1 -1
  107. package/dist/src/{createHash-VvBIc-AW.cjs → createHash-CSiqnK5P.cjs} +2 -2
  108. package/dist/src/{createHash-DPpsZgFF.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--3qzPa-6.js → docker-4D1eL6Gq.js} +5 -5
  118. package/dist/src/{docker-Dorv4_Dg.js → docker-BBv1WUDu.js} +5 -5
  119. package/dist/src/{docker-D3AY-5F5.cjs → docker-D06JUoe2.cjs} +6 -6
  120. package/dist/src/{docker-DCsCDvwM.js → docker-DdJQBxK9.js} +5 -5
  121. package/dist/src/{embedding-DNRvZwRN.js → embedding--UZVe4_7.js} +5 -5
  122. package/dist/src/{embedding-BXhN5lCH.cjs → embedding-BbrwopfX.cjs} +6 -6
  123. package/dist/src/{embedding-ChS1ivFS.js → embedding-Bi3rxrZF.js} +5 -5
  124. package/dist/src/{embedding-D_bI4NDq.js → embedding-C251p1-8.js} +4 -4
  125. package/dist/src/{errors-DFHe4L-n.js → errors-9PcUL8BC.js} +1 -1
  126. package/dist/src/{esm-B_rGuPTo.cjs → esm-BIKakvNa.cjs} +8 -7
  127. package/dist/src/{esm-BRkfNsYs.js → esm-BTK1W7lG.js} +1 -1
  128. package/dist/src/{esm-BX8fwlAO.js → esm-Bexx2PFc.js} +1 -1
  129. package/dist/src/{eval-DJ_4A-tr.js → eval-0VRANImH.js} +19 -19
  130. package/dist/src/{eval-BQPLBJbw.js → eval-DscR5iOM.js} +1 -1
  131. package/dist/src/{evalResult-pSvGWFMo.js → evalResult-2RRJvFyB.js} +18 -11
  132. package/dist/src/{evalResult-Cx-8OWkb.cjs → evalResult-CvtS8h8u.cjs} +29 -11
  133. package/dist/src/evalResult-DqzsS6_W.js +3 -0
  134. package/dist/src/{evalResult-D6P5I5il.js → evalResult-eUkJv9Ko.js} +17 -10
  135. package/dist/src/evaluator-DNdJF1Gv.js +3 -0
  136. package/dist/src/{evaluator-D-UIbbYq.js → evaluator-DRoiYB2q.js} +258 -132
  137. package/dist/src/evaluatorHelpers-BsYP_muT.js +511 -0
  138. package/dist/src/evaluatorHelpers-CRqTvSux.cjs +537 -0
  139. package/dist/src/evaluatorHelpers-DuqFFfq7.js +510 -0
  140. package/dist/src/{extractor-YlZbUMsL.js → extractor-BR7XAzAL.js} +5 -5
  141. package/dist/src/{extractor-Dxr2J_wK.cjs → extractor-BdxEtt3J.cjs} +6 -6
  142. package/dist/src/{extractor-DxyiFhPk.js → extractor-CIW3iN-b.js} +5 -5
  143. package/dist/src/{extractor-BM3jRERL.js → extractor-CxRtnaHl.js} +5 -5
  144. package/dist/src/{fetch-Y5qX_kST.js → fetch-BufrQtvR.js} +90 -26
  145. package/dist/src/{fetch-B6ch2nU2.js → fetch-DXUnXkVU.js} +86 -26
  146. package/dist/src/{fetch-NuqXW1Xb.cjs → fetch-Dw4XZHjj.cjs} +115 -32
  147. package/dist/src/{fetch-D9xxyC1p.js → fetch-It34O8Ur.js} +90 -26
  148. package/dist/src/fetch-_YgGd2qv.js +3 -0
  149. package/dist/src/{fileExtensions-D9h-8Wxg.cjs → fileExtensions-BhdwzYaD.cjs} +24 -1
  150. package/dist/src/{fileExtensions-BGh-W-HT.js → fileExtensions-CXRfY3Ss.js} +12 -2
  151. package/dist/src/{fileExtensions-DysCsxNG.js → fileExtensions-D4GCJ67J.js} +12 -2
  152. package/dist/src/{formatDuration-Ch4A7G3o.js → formatDuration-CMVNrYvE.js} +1 -1
  153. package/dist/src/{genaiTracer-BokHC-MW.cjs → genaiTracer-14nugQQx.cjs} +14 -2
  154. package/dist/src/{genaiTracer-C3ZPQU60.js → genaiTracer-BPVvltoW.js} +2 -2
  155. package/dist/src/{genaiTracer-DxODqT9e.js → genaiTracer-D18lYzhB.js} +2 -2
  156. package/dist/src/{genaiTracer-CFny3gOy.js → genaiTracer-jJKYsnjc.js} +2 -2
  157. package/dist/src/goat-Ckd3q3AY.js +467 -0
  158. package/dist/src/goat-Qgurm-NP.js +466 -0
  159. package/dist/src/goat-ghadEDdy.js +465 -0
  160. package/dist/src/goat-una6pZGP.cjs +469 -0
  161. package/dist/src/graders-BDT7dif6.js +3 -0
  162. package/dist/src/{graders-CgPn32yp.js → graders-BGP99PdK.js} +1017 -84
  163. package/dist/src/{graders-BoUqsCEm.js → graders-BX0f2tvS.js} +1022 -84
  164. package/dist/src/{graders-CwrbifOo.js → graders-C0nXU_ZP.js} +1020 -82
  165. package/dist/src/{graders-Bw1wk_21.cjs → graders-ClrU2fnd.cjs} +1085 -128
  166. package/dist/src/hydra-BSNZZm2M.js +543 -0
  167. package/dist/src/hydra-BxdG4nkg.js +541 -0
  168. package/dist/src/hydra-DE4xWwyc.js +542 -0
  169. package/dist/src/hydra-DrJttnvw.cjs +542 -0
  170. package/dist/src/image-B4oBtu6J.js +443 -0
  171. package/dist/src/{image-Dr_3I3nK.js → image-BN-hjLL9.js} +3 -3
  172. package/dist/src/{image-BeWaInPF.js → image-B_fPIwdg.js} +3 -3
  173. package/dist/src/image-BvUAW344.js +442 -0
  174. package/dist/src/image-Cvjwx1uY.js +442 -0
  175. package/dist/src/{image-D10dNAav.cjs → image-DfVCGPbI.cjs} +4 -4
  176. package/dist/src/{image-qjO6FWPs.js → image-QzmydkiG.js} +3 -3
  177. package/dist/src/image-X0oY4350.cjs +465 -0
  178. package/dist/src/index.cjs +688 -313
  179. package/dist/src/index.d.cts +3152 -1617
  180. package/dist/src/index.d.ts +3151 -1616
  181. package/dist/src/index.js +582 -223
  182. package/dist/src/indirectWebPwn-02ZIghCS.js +259 -0
  183. package/dist/src/indirectWebPwn-BJ22AbQa.cjs +397 -0
  184. package/dist/src/indirectWebPwn-CbjUG0rh.js +385 -0
  185. package/dist/src/indirectWebPwn-CfQJt3gk.cjs +260 -0
  186. package/dist/src/indirectWebPwn-DBQhOjoD.js +260 -0
  187. package/dist/src/indirectWebPwn-OsXnKejv.js +259 -0
  188. package/dist/src/indirectWebPwn-tNx9OZ35.js +385 -0
  189. package/dist/src/indirectWebPwn-uyWdHx04.js +386 -0
  190. package/dist/src/inputVariables-B0qUChbV.js +467 -0
  191. package/dist/src/inputVariables-DUGMb9Ka.js +464 -0
  192. package/dist/src/inputVariables-DXFdi7AI.js +468 -0
  193. package/dist/src/inputVariables-Dq9W-Z3a.cjs +475 -0
  194. package/dist/src/{interactiveCheck-CCICw2cy.js → interactiveCheck-C4QlIuoR.js} +1 -1
  195. package/dist/src/{invariant-kfQ8Bu82.cjs → invariant-QtnLD03y.cjs} +1 -1
  196. package/dist/src/iterative-CpU6i2As.js +490 -0
  197. package/dist/src/iterative-DJQEQpG3.js +491 -0
  198. package/dist/src/iterative-DQBuWM-j.cjs +493 -0
  199. package/dist/src/iterative-FTS4Bz67.js +492 -0
  200. package/dist/src/iterativeImage-BUABMVOA.js +413 -0
  201. package/dist/src/iterativeImage-ByFWkxax.cjs +415 -0
  202. package/dist/src/iterativeImage-BzUapOUi.js +414 -0
  203. package/dist/src/iterativeImage-Doz8mgxF.js +413 -0
  204. package/dist/src/iterativeMeta-B3YiAOc8.js +386 -0
  205. package/dist/src/iterativeMeta-C7APE_P1.js +385 -0
  206. package/dist/src/iterativeMeta-CSS8M6Ds.cjs +385 -0
  207. package/dist/src/iterativeMeta-DgoQ7bLh.js +384 -0
  208. package/dist/src/iterativeTree-B5zxBBSW.js +769 -0
  209. package/dist/src/iterativeTree-CNyIk0Yn.js +768 -0
  210. package/dist/src/iterativeTree-CPMF10ve.cjs +771 -0
  211. package/dist/src/iterativeTree-DvZ7GBwt.js +770 -0
  212. package/dist/src/{knowledgeBase-Dr3Kib7F.js → knowledgeBase-BadkINlJ.js} +24 -10
  213. package/dist/src/{knowledgeBase-BBETc5-S.js → knowledgeBase-Bi_8sV-H.js} +23 -9
  214. package/dist/src/{knowledgeBase-CzAi2rUI.js → knowledgeBase-CkMljjdg.js} +24 -10
  215. package/dist/src/{knowledgeBase-C8qOo26M.cjs → knowledgeBase-DUh34xba.cjs} +25 -11
  216. package/dist/src/{litellm-DRc4qWfc.js → litellm-BKBo0jpC.js} +4 -4
  217. package/dist/src/{litellm-BLSiANhk.js → litellm-BXyn5kZK.js} +4 -4
  218. package/dist/src/{litellm-DQGo_juI.js → litellm-CNcfbCfa.js} +4 -4
  219. package/dist/src/{litellm-CaUmV7Mk.cjs → litellm-CtAr7bKG.cjs} +5 -5
  220. package/dist/src/{logger-COuQb2xB.cjs → logger-cfNpzI4o.cjs} +13 -55
  221. package/dist/src/{luma-ray-B-tNZzqW.js → luma-ray-BMX1iEB6.js} +5 -5
  222. package/dist/src/{luma-ray-CtS3OlGq.js → luma-ray-CR5TSpp4.js} +5 -5
  223. package/dist/src/{luma-ray-if-Ml4R9.cjs → luma-ray-D3FUc2K3.cjs} +9 -8
  224. package/dist/src/{luma-ray-PJJgUjOc.js → luma-ray-OEMmS1RB.js} +5 -5
  225. package/dist/src/main.js +704 -208
  226. package/dist/src/memoryPoisoning-CM83NWYl.js +107 -0
  227. package/dist/src/memoryPoisoning-D8h9gXJF.js +106 -0
  228. package/dist/src/memoryPoisoning-Dp-btinn.cjs +106 -0
  229. package/dist/src/memoryPoisoning-cLuCoTuJ.js +106 -0
  230. package/dist/src/{messages-CewuNcNS.js → messages-BabO-cX8.js} +17 -9
  231. package/dist/src/{messages-BnsVHUnm.cjs → messages-DBPir0TQ.cjs} +24 -15
  232. package/dist/src/{messages-B9dSjrNf.js → messages-DGUlSNU7.js} +18 -10
  233. package/dist/src/{messages-CI69Lasb.js → messages-vsE_-Lv0.js} +18 -10
  234. package/dist/src/{meteor-CeGo0Lu2.js → meteor--TZYICTI.js} +1 -1
  235. package/dist/src/{meteor-BBGcGeCa.cjs → meteor-CR226f7Z.cjs} +2 -2
  236. package/dist/src/{meteor-Wc_aUVvu.js → meteor-Cl_yd7rJ.js} +1 -1
  237. package/dist/src/{meteor-BKTM-7KS.js → meteor-Dce-_zGQ.js} +1 -1
  238. package/dist/src/mischievousUser-0l8GD7Dp.js +46 -0
  239. package/dist/src/mischievousUser-BUOP9W5r.js +46 -0
  240. package/dist/src/mischievousUser-frFYKxu6.js +47 -0
  241. package/dist/src/mischievousUser-olGgHIVR.cjs +46 -0
  242. package/dist/src/{modelslab-BkapYJhh.cjs → modelslab-CNV5bMSk.cjs} +7 -7
  243. package/dist/src/{modelslab-zpz9JcK0.js → modelslab-Cogmu4mG.js} +6 -6
  244. package/dist/src/{modelslab-D73OnKSx.js → modelslab-Dzst7VTU.js} +6 -6
  245. package/dist/src/{modelslab-BCLOtfek.js → modelslab-EyDczZ5A.js} +6 -6
  246. package/dist/src/{nova-reel-B8F_TK5w.js → nova-reel-BGPNBOMS.js} +5 -5
  247. package/dist/src/{nova-reel-Bx0NFV2f.js → nova-reel-B_5NKFu1.js} +5 -5
  248. package/dist/src/{nova-reel-CNGJTLtG.js → nova-reel-C4eUJGse.js} +5 -5
  249. package/dist/src/{nova-reel-DkT7tnoB.cjs → nova-reel-CjJRxI1X.cjs} +9 -8
  250. package/dist/src/{nova-sonic-BaXRN1cr.js → nova-sonic-BNGmgfFz.js} +3 -3
  251. package/dist/src/{nova-sonic-BeTRaFOh.js → nova-sonic-ChPlh5na.js} +2 -2
  252. package/dist/src/{nova-sonic-CL7Zqv0G.js → nova-sonic-CrV0iaY_.js} +3 -3
  253. package/dist/src/{nova-sonic-YT426juD.cjs → nova-sonic-DuOG9Aun.cjs} +5 -4
  254. package/dist/src/{openai-Cy1XLs0c.cjs → openai-C3uXv8wS.cjs} +2 -2
  255. package/dist/src/{openai-BT-JvDse.js → openai-CJrsh9n4.js} +1 -1
  256. package/dist/src/{openai-D4fxGvRx.js → openai-zgwBb4Ff.js} +1 -1
  257. package/dist/src/{openclaw-Bq7RVR3k.js → openclaw-BIHlu_36.js} +9 -8
  258. package/dist/src/{openclaw-DObVgpjC.js → openclaw-CF7fMido.js} +9 -8
  259. package/dist/src/{openclaw-DUBZP3GL.cjs → openclaw-Dphc01BY.cjs} +17 -15
  260. package/dist/src/{openclaw-DA8U4DsD.js → openclaw-zIJAsz3P.js} +9 -8
  261. package/dist/src/{opencode-sdk-BB40Wir1.js → opencode-sdk-B3vlPLsp.js} +38 -3
  262. package/dist/src/{opencode-sdk-ChdK7F7z.js → opencode-sdk-D05JSgMQ.js} +39 -4
  263. package/dist/src/{opencode-sdk-CeqiOcOU.cjs → opencode-sdk-DoY6GbWw.cjs} +45 -9
  264. package/dist/src/{opencode-sdk-BM1UAIv1.js → opencode-sdk-sRKYHGoI.js} +39 -4
  265. package/dist/src/{otlpReceiver-UYMQx3sy.js → otlpReceiver--gTpSagc.js} +119 -3
  266. package/dist/src/{otlpReceiver-C6thJRXi.js → otlpReceiver-B2eaKC8C.js} +118 -2
  267. package/dist/src/{otlpReceiver-CcdIikOu.js → otlpReceiver-BXjcRqAM.js} +119 -3
  268. package/dist/src/{otlpReceiver-DNSQj6bf.cjs → otlpReceiver-CvJdBGSc.cjs} +125 -7
  269. package/dist/src/packageParser--MWTSrPW.js +36 -0
  270. package/dist/src/packageParser-CgE-ziRo.js +35 -0
  271. package/dist/src/packageParser-QoCS1FMl.cjs +54 -0
  272. package/dist/src/packageParser-hwwSGnAZ.js +35 -0
  273. package/dist/src/processShim-BBxt7LKO.js +95 -0
  274. package/dist/src/processShim-BcGzU8fY.js +94 -0
  275. package/dist/src/processShim-C_z3aRvF.js +94 -0
  276. package/dist/src/processShim-DSY9BV2T.cjs +98 -0
  277. package/dist/src/promptLength-0qIHyhA5.js +71 -0
  278. package/dist/src/promptLength-4X-Wd8PG.js +72 -0
  279. package/dist/src/promptLength-B9nZEfO6.js +71 -0
  280. package/dist/src/promptLength-BbBbDHNj.cjs +94 -0
  281. package/dist/src/promptfoo-BDrfT30-.js +180 -0
  282. package/dist/src/promptfoo-Cm4hiy1Y.js +180 -0
  283. package/dist/src/promptfoo-Rjp-MeBb.js +181 -0
  284. package/dist/src/promptfoo-b-baRMj-.cjs +205 -0
  285. package/dist/src/prompts-BYMtqPCw.js +259 -0
  286. package/dist/src/prompts-C-bqE1Yp.js +260 -0
  287. package/dist/src/prompts-Cp_Qx5Ml.js +270 -0
  288. package/dist/src/prompts-DHhQsANy.js +259 -0
  289. package/dist/src/prompts-D_QpZ2Dm.js +271 -0
  290. package/dist/src/prompts-hNvWBD3z.cjs +284 -0
  291. package/dist/src/prompts-huDVH2CI.js +270 -0
  292. package/dist/src/prompts-p78Hul5i.cjs +289 -0
  293. package/dist/src/{providerRegistry-BESeALrr.cjs → providerRegistry-CZO_w7ue.cjs} +2 -2
  294. package/dist/src/{providerRegistry-DoACwqhD.js → providerRegistry-DHcFiVWX.js} +1 -1
  295. package/dist/src/{providerRegistry-PMsleEzs.js → providerRegistry-ReCd0sFa.js} +1 -1
  296. package/dist/src/{providers-DT-GtF2t.js → providers-B9KzWxAX.js} +739 -11919
  297. package/dist/src/{providers-DRrerKra.js → providers-BCCz6_IX.js} +813 -11944
  298. package/dist/src/{providers-eDShy16E.cjs → providers-BDVVIQM6.cjs} +787 -12132
  299. package/dist/src/{providers-Ctcc592x.js → providers-BYAn82cf.js} +1 -1
  300. package/dist/src/{providers-CJh7iriU.js → providers-DVYRZP4E.js} +746 -11866
  301. package/dist/src/{pythonUtils-C4tltmIn.js → pythonUtils-CLCgQ9tt.js} +1 -1
  302. package/dist/src/{pythonUtils-DNqbnRdx.js → pythonUtils-CgYxeSmO.js} +2 -2
  303. package/dist/src/{pythonUtils-CoLaCwNY.cjs → pythonUtils-Cokhluq3.cjs} +7 -6
  304. package/dist/src/{pythonUtils-DMO68Jg7.js → pythonUtils-D0BYebvX.js} +2 -2
  305. package/dist/src/{quiverai-Bpx6MZ7T.cjs → quiverai-BAp6iTZD.cjs} +4 -4
  306. package/dist/src/{quiverai-CPKhWgaT.js → quiverai-BvIhI_0l.js} +3 -3
  307. package/dist/src/{quiverai-BSS9a7wV.js → quiverai-CdTWPe-A.js} +3 -3
  308. package/dist/src/{quiverai-Bk1KrvL6.js → quiverai-Cv7rJKDz.js} +3 -3
  309. package/dist/src/registry-BUJrgjwv.js +124 -0
  310. package/dist/src/registry-DXm1t_x0.js +125 -0
  311. package/dist/src/registry-Dp5EqoXc.js +124 -0
  312. package/dist/src/registry-KCVF1CFC.cjs +124 -0
  313. package/dist/src/{server-ByxbqAcQ.js → remoteGeneration-B1_XsKXU.js} +16 -147
  314. package/dist/src/{server-gyd6d4Hc.js → remoteGeneration-COpWcmWd.js} +15 -108
  315. package/dist/src/{server-BEECpeGG.cjs → remoteGeneration-DS9N3pgB.cjs} +30 -119
  316. package/dist/src/remoteGeneration-DsaSwmG2.js +217 -0
  317. package/dist/src/render-BNTrbmBw.cjs +384 -0
  318. package/dist/src/render-CSP99NLm.js +348 -0
  319. package/dist/src/render-DFfDeYUK.js +347 -0
  320. package/dist/src/{render-nj-UaPdn.js → render-DznWrxGO.js} +2 -2
  321. package/dist/src/render-_6ur1fhE.js +347 -0
  322. package/dist/src/resourceAttributes-D1jP3kL5.js +17 -0
  323. package/dist/src/resourceAttributes-DQbBB--2.js +16 -0
  324. package/dist/src/resourceAttributes-ephgOvdR.cjs +27 -0
  325. package/dist/src/resourceAttributes-v6-I67fn.js +16 -0
  326. package/dist/src/{responses-CF-ayauu.cjs → responses-1UFFF9N_.cjs} +12 -11
  327. package/dist/src/{responses-B8haB-mD.js → responses-B3W2JvOQ.js} +9 -9
  328. package/dist/src/{responses-1ztiVYsx.js → responses-B6ktc3Ra.js} +7 -7
  329. package/dist/src/{responses-BiaBguAu.js → responses-URRzV8qE.js} +9 -9
  330. package/dist/src/rolldown-runtime-D_mwlA32.cjs +43 -0
  331. package/dist/src/rubyUtils-BYVlQ94c.js +3 -0
  332. package/dist/src/{rubyUtils-CIQFnVz4.js → rubyUtils-CXlFM2rR.js} +2 -2
  333. package/dist/src/{rubyUtils-BI0p46eZ.js → rubyUtils-CnlW8AYb.js} +2 -2
  334. package/dist/src/{rubyUtils-DoifqkiA.cjs → rubyUtils-CqUWBZAt.cjs} +16 -26
  335. package/dist/src/{rubyUtils-DGnoCYL2.js → rubyUtils-DdGojpfv.js} +1 -1
  336. package/dist/src/runtimeTransform-BJOpL9Yc.js +142 -0
  337. package/dist/src/runtimeTransform-Dgh_D7DU.js +143 -0
  338. package/dist/src/runtimeTransform-DigbjU1r.js +142 -0
  339. package/dist/src/runtimeTransform-ON3YYILw.cjs +147 -0
  340. package/dist/src/{sagemaker-ClS_NB07.js → sagemaker-CujrzP1a.js} +61 -50
  341. package/dist/src/{sagemaker-ljtY12VM.cjs → sagemaker-DzffAqo_.cjs} +65 -53
  342. package/dist/src/{sagemaker-C5T60MKf.js → sagemaker-vhtSV7JI.js} +61 -50
  343. package/dist/src/{sagemaker-BDLeW29y.js → sagemaker-yr1QKeBs.js} +61 -50
  344. package/dist/src/{scanner-nOCWNIXa.js → scanner-DS0109SS.js} +6 -6
  345. package/dist/src/server/index.js +4147 -449
  346. package/dist/src/server-B8rqV126.cjs +126 -0
  347. package/dist/src/server-BaLytskk.js +3 -0
  348. package/dist/src/server-CMJD10J4.js +107 -0
  349. package/dist/src/server-Ddp8GNMp.js +146 -0
  350. package/dist/src/server-DhMHosWj.js +182 -0
  351. package/dist/src/shared-7pmVZLNO.js +1334 -0
  352. package/dist/src/shared-9WHQ1oNE.js +1335 -0
  353. package/dist/src/{fileExtensions-8CjoL7vB.js → shared-BoG7qLMv.js} +12 -2
  354. package/dist/src/shared-D6IjElRI.js +1334 -0
  355. package/dist/src/shared-WkgnDkcg.cjs +1436 -0
  356. package/dist/src/{signal-DTtUuU3l.js → signal-CSurUUyV.js} +2 -2
  357. package/dist/src/simulatedUser-C9aQObBI.js +222 -0
  358. package/dist/src/simulatedUser-Cu601Dd4.cjs +227 -0
  359. package/dist/src/simulatedUser-U_qAHnuB.js +222 -0
  360. package/dist/src/simulatedUser-p3tACcmw.js +223 -0
  361. package/dist/src/{slack-Bamy_7te.js → slack-Bapo-7_8.js} +1 -1
  362. package/dist/src/{slack-BLlsDpfG.cjs → slack-DMC1QVEg.cjs} +3 -2
  363. package/dist/src/{slack-BPYLQLgb.js → slack-DTEFhrMn.js} +1 -1
  364. package/dist/src/{slack-4zZX1OKP.js → slack-k-_CP84Q.js} +1 -1
  365. package/dist/src/storage-BU4qcnOb.js +875 -0
  366. package/dist/src/storage-CA-v9V2v.cjs +911 -0
  367. package/dist/src/storage-CD-GWAdx.js +822 -0
  368. package/dist/src/storage-QdU-SmvD.js +834 -0
  369. package/dist/src/{store-2K0kDi80.cjs → store-B2NDDooM.cjs} +60 -24
  370. package/dist/src/{store-CPh25336.js → store-DKd5592Q.js} +50 -19
  371. package/dist/src/{store-BPkzEyFM.js → store-HpopRVzl.js} +50 -19
  372. package/dist/src/store-IbiRIF3k.js +3 -0
  373. package/dist/src/strategies-7CS3Alao.cjs +2360 -0
  374. package/dist/src/strategies-CiSeroPH.js +2331 -0
  375. package/dist/src/strategies-DRJjGTIY.js +2333 -0
  376. package/dist/src/{tables-WgdUZ8Ck.js → tables-CRSXQ2Ke.js} +2 -2
  377. package/dist/src/{tables-BMSOS2Gg.js → tables-CxjU7bBd.js} +2 -2
  378. package/dist/src/{tables-CXbaZ9y1.cjs → tables-DBIJU0WE.cjs} +6 -5
  379. package/dist/src/{tables-NlvH23ky.js → tables-DafUHOeh.js} +2 -2
  380. package/dist/src/{telemetry-DWdGHvEf.js → telemetry-00ezXr_t.js} +4 -4
  381. package/dist/src/telemetry-ByPqDcKC.js +3 -0
  382. package/dist/src/{telemetry-CEQxGnMZ.cjs → telemetry-CJ7FnCsc.cjs} +15 -9
  383. package/dist/src/{telemetry--iqaGyaS.js → telemetry-DmXYcJNV.js} +4 -4
  384. package/dist/src/{telemetry-CgdVGV8N.js → telemetry-DwX9XUN5.js} +4 -4
  385. package/dist/src/{text-DDQP0tuQ.js → text-CZr46tp_.js} +1 -1
  386. package/dist/src/{text-D4lz-Jg_.js → text-Db-Wt2u2.js} +1 -1
  387. package/dist/src/{text-NWvfMfkF.js → text-DwYK5EBn.js} +1 -1
  388. package/dist/src/{text-BiNME7QG.cjs → text-nywWsRBM.cjs} +1 -1
  389. package/dist/src/{tokenUsageUtils-2wIvAhB3.js → tokenUsageUtils-CDet74yk.js} +1 -1
  390. package/dist/src/{tokenUsageUtils-4c780gFd.js → tokenUsageUtils-CmnQ0G2m.js} +1 -1
  391. package/dist/src/{tokenUsageUtils-C9odhsbW.cjs → tokenUsageUtils-_B-P8IAi.cjs} +1 -1
  392. package/dist/src/toolAttributes-BAjwcBf0.cjs +103 -0
  393. package/dist/src/toolAttributes-COVgDrBG.js +87 -0
  394. package/dist/src/toolAttributes-DJ9ZEKXD.js +86 -0
  395. package/dist/src/tracingOptions-BnwKCkSB.js +221 -0
  396. package/dist/src/tracingOptions-Chi74lOD.js +219 -0
  397. package/dist/src/tracingOptions-DrbSFaKy.cjs +249 -0
  398. package/dist/src/tracingOptions-ji2OuXbT.js +220 -0
  399. package/dist/src/{transcription-84t4ALo2.js → transcription-B8uIgCYX.js} +5 -5
  400. package/dist/src/{transcription-Bm2emLmJ.js → transcription-CfU5loSq.js} +5 -5
  401. package/dist/src/{transcription-D7Q0vJsh.js → transcription-Dkd22_4K.js} +4 -4
  402. package/dist/src/{transcription-CZ4LG5hQ.cjs → transcription-mzuf18Mq.cjs} +9 -8
  403. package/dist/src/{transform-DtooZqYY.js → transform-BIMynQsA.js} +8 -8
  404. package/dist/src/transform-BnSTnFlp.js +187 -0
  405. package/dist/src/transform-BnSXWmU_2.cjs +221 -0
  406. package/dist/src/transform-CGt7Kt3y2.js +186 -0
  407. package/dist/src/transform-CrPGTsij.js +186 -0
  408. package/dist/src/{transform-Dg4LcO1Y.cjs → transform-DhNkAUs8.cjs} +12 -11
  409. package/dist/src/{transform-_DpNB4qp.js → transform-DmvYBRll.js} +8 -8
  410. package/dist/src/{transform-B-b6Cq-q.js → transform-EtD4jAWi.js} +8 -8
  411. package/dist/src/{transformersAvailability-lvCCvuPT.js → transformersAvailability-0ThtPved.js} +1 -1
  412. package/dist/src/transformersAvailability-BYydDE5U.js +35 -0
  413. package/dist/src/{transformersAvailability-rJGPccjr.js → transformersAvailability-BvyU9vDD.js} +1 -1
  414. package/dist/src/{transformersAvailability-B22swDxr.cjs → transformersAvailability-BytPvKUW.cjs} +1 -1
  415. package/dist/src/{types-BVH9hjgW.js → types-BFevViUY.js} +113 -19
  416. package/dist/src/{types-BDjGOq4E.js → types-BJQBBPTP.js} +113 -19
  417. package/dist/src/{types-CgG2rKiW.cjs → types-CxJvaY2S.cjs} +211 -28
  418. package/dist/src/{types-DNRZVOue.js → types-D6glLbdF.js} +125 -26
  419. package/dist/src/{util-DFPeFkiV.js → util--WMgw7wM.js} +28 -8
  420. package/dist/src/{util-C-kmRosx.js → util-5WnCSb0h.js} +9 -7
  421. package/dist/src/{util-A5_ZsQUn.cjs → util-BSIuSLVK.cjs} +12 -9
  422. package/dist/src/{util-Dub0f_ej.js → util-Bx677_k2.js} +17 -10
  423. package/dist/src/util-CN8om2rz.cjs +386 -0
  424. package/dist/src/{util-DN0-b81k.js → util-CoQWM76y.js} +28 -8
  425. package/dist/src/util-DNl96nNs.js +327 -0
  426. package/dist/src/{util-BQOCAHQC.js → util-DURocbYR.js} +46 -11
  427. package/dist/src/util-Df8YMvS1.js +327 -0
  428. package/dist/src/{util-BVXcTwXu.js → util-DiQ3QvBB.js} +28 -8
  429. package/dist/src/{util-3pBZZb_H.js → util-I-Rf-KaD.js} +45 -10
  430. package/dist/src/{util-Dpmm_dAI.cjs → util-IYzs5Y04.cjs} +33 -7
  431. package/dist/src/{util-BlFVL0UF.js → util-LKTmNsMQ.js} +9 -7
  432. package/dist/src/{util-DvpHnLt0.cjs → util-SPsvFONY.cjs} +29 -21
  433. package/dist/src/{util-B9CNhyac.js → util-efByNxcr.js} +9 -7
  434. package/dist/src/util-kDURhgJW.js +328 -0
  435. package/dist/src/{utils-BUMN8orw.js → utils-B0lzitHZ.js} +2 -2
  436. package/dist/src/{utils-kt7lv30R.js → utils-BFOh20Gb.js} +2 -2
  437. package/dist/src/{utils-o8S5huU2.js → utils-BGY69tk_.js} +2 -2
  438. package/dist/src/{utils-DkVeShIB.cjs → utils-Ve6kuJsa.cjs} +3 -3
  439. package/dist/src/{version-CbuBKu2U.js → version-BK20a4sw.js} +2 -2
  440. package/dist/src/{version-D9zu9FWB.cjs → version-BWCSaByA.cjs} +2 -2
  441. package/dist/src/{version-CbpiUINz.js → version-eRkNuGv8.js} +2 -2
  442. package/dist/src/{version-0frU0UTr.js → version-lpHV_53E.js} +2 -2
  443. package/dist/tsconfig.tsbuildinfo +1 -1
  444. package/package.json +48 -22
  445. package/dist/src/app/assets/Report-vjzrbgce.js +0 -1
  446. package/dist/src/app/assets/index-B3NQ8HTd.js +0 -385
  447. package/dist/src/app/assets/index-Cli2yAXv.css +0 -1
  448. package/dist/src/app/assets/sync-IjzpWrOE.js +0 -4
  449. package/dist/src/app/assets/vendor-charts-BNdH8TCw.js +0 -36
  450. package/dist/src/cache-BRkhlH3k.cjs +0 -3
  451. package/dist/src/cache-BlC6aeJ0.js +0 -3
  452. package/dist/src/cloud-CoD5OacT.js +0 -3
  453. package/dist/src/codex-sdk-1jm_qPHf.js +0 -3
  454. package/dist/src/codex-sdk-Danroptg.cjs +0 -2
  455. package/dist/src/evalResult-BBJAHAtw.cjs +0 -2
  456. package/dist/src/evalResult-BBK58h2B.js +0 -3
  457. package/dist/src/evalResult-spPqh1G_.js +0 -2
  458. package/dist/src/evaluator-DgLKaZk8.js +0 -3
  459. package/dist/src/fetch-8viavNv8.js +0 -3
  460. package/dist/src/graders-C84JI-m5.js +0 -2
  461. package/dist/src/graders-CBbd0K0Q.cjs +0 -2
  462. package/dist/src/graders-CbQqpHSN.js +0 -3
  463. package/dist/src/graders-DS42d3ZG.js +0 -2
  464. package/dist/src/image-BmilRNqO.js +0 -258
  465. package/dist/src/image-CxJoa3aW.cjs +0 -280
  466. package/dist/src/image-DsGRlkh7.js +0 -257
  467. package/dist/src/image-a_SGUobh.js +0 -257
  468. package/dist/src/providers-BuyzKt7C.js +0 -2
  469. package/dist/src/providers-C7lNVBjX.cjs +0 -3
  470. package/dist/src/providers-CCE2COJi2.js +0 -2
  471. package/dist/src/render-7uNJ2V14.js +0 -135
  472. package/dist/src/render-DlscvAUJ.js +0 -135
  473. package/dist/src/render-eui5p5mL.js +0 -136
  474. package/dist/src/render-tG6ir9_g.cjs +0 -165
  475. package/dist/src/rubyUtils-4hjGxvju.js +0 -3
  476. package/dist/src/rubyUtils-CO-tuszQ.cjs +0 -2
  477. package/dist/src/server-ByiF3qlg.js +0 -386
  478. package/dist/src/server-C0XKRNB_.cjs +0 -2
  479. package/dist/src/server-C_15p79-.js +0 -3
  480. package/dist/src/store-2OXm_eBY.js +0 -240
  481. package/dist/src/store-BELqNwvz.js +0 -3
  482. package/dist/src/store-uQZ4AjPe.cjs +0 -2
  483. package/dist/src/telemetry-DjNoC_n3.cjs +0 -2
  484. package/dist/src/telemetry-ZdPZc0fm.js +0 -3
  485. package/dist/src/transform-BQt0BeAW.js +0 -3
  486. package/dist/src/transform-Bq5oqC0s.cjs +0 -2
  487. package/dist/src/transform-C9izGX54.cjs +0 -228
  488. package/dist/src/transform-CwbAZ84V.js +0 -216
  489. package/dist/src/transform-DzCF-wqV.js +0 -213
  490. package/dist/src/transform-eGiUAv86.js +0 -216
@@ -1,22 +1,23 @@
1
- const require_logger = require("./logger-COuQb2xB.cjs");
2
- const require_fetch = require("./fetch-NuqXW1Xb.cjs");
3
- const require_version = require("./version-D9zu9FWB.cjs");
4
- const require_chat = require("./chat-vYqqv1gP.cjs");
5
- const require_embedding = require("./embedding-BXhN5lCH.cjs");
6
- const require_responses = require("./responses-CF-ayauu.cjs");
7
- const require_createHash = require("./createHash-VvBIc-AW.cjs");
1
+ const require_rolldown_runtime = require("./rolldown-runtime-D_mwlA32.cjs");
2
+ const require_logger = require("./logger-cfNpzI4o.cjs");
3
+ const require_fetch = require("./fetch-Dw4XZHjj.cjs");
4
+ const require_version = require("./version-BWCSaByA.cjs");
5
+ const require_createHash = require("./createHash-CSiqnK5P.cjs");
6
+ const require_chat = require("./chat-DxTDQ83C.cjs");
7
+ const require_embedding = require("./embedding-BbrwopfX.cjs");
8
+ const require_responses = require("./responses-1UFFF9N_.cjs");
8
9
  let fs = require("fs");
9
- fs = require_logger.__toESM(fs);
10
+ fs = require_rolldown_runtime.__toESM(fs, 1);
10
11
  let path = require("path");
11
- path = require_logger.__toESM(path);
12
+ path = require_rolldown_runtime.__toESM(path, 1);
12
13
  let os = require("os");
13
- os = require_logger.__toESM(os);
14
+ os = require_rolldown_runtime.__toESM(os, 1);
14
15
  let crypto = require("crypto");
15
- crypto = require_logger.__toESM(crypto);
16
+ crypto = require_rolldown_runtime.__toESM(crypto, 1);
16
17
  let ws = require("ws");
17
- ws = require_logger.__toESM(ws);
18
+ ws = require_rolldown_runtime.__toESM(ws, 1);
18
19
  let json5 = require("json5");
19
- json5 = require_logger.__toESM(json5);
20
+ json5 = require_rolldown_runtime.__toESM(json5, 1);
20
21
  //#region src/providers/openclaw/device-auth.ts
21
22
  const DEFAULT_CLIENT_DIR = "openclaw";
22
23
  const DEFAULT_DEVICE_IDENTITY_FILE = "device-identity.json";
@@ -329,6 +330,7 @@ function resolveGatewayPortOverride(env) {
329
330
  return Number.isInteger(parsedPort) && parsedPort > 0 && parsedPort <= 65535 ? parsedPort : void 0;
330
331
  }
331
332
  function toAuthSecret(kind, value) {
333
+ if (typeof value !== "string") return;
332
334
  const trimmed = value?.trim();
333
335
  return trimmed ? {
334
336
  kind,
@@ -917,7 +919,7 @@ var OpenClawAgentProvider = class {
917
919
  }
918
920
  resolveScopesForDeviceToken(deviceToken) {
919
921
  if (this.hasExplicitScopes) return this.scopes;
920
- return deviceToken.scopes && deviceToken.scopes.length > 0 ? deviceToken.scopes : this.scopes;
922
+ return normalizeScopes([...this.scopes, ...deviceToken.scopes || []]);
921
923
  }
922
924
  storeDeviceTokenFromHello(payload, authState) {
923
925
  if (!authState?.deviceIdentity) return;
@@ -1203,4 +1205,4 @@ function createOpenClawProvider(providerPath, providerOptions = {}, env) {
1203
1205
  //#endregion
1204
1206
  exports.createOpenClawProvider = createOpenClawProvider;
1205
1207
 
1206
- //# sourceMappingURL=openclaw-DUBZP3GL.cjs.map
1208
+ //# sourceMappingURL=openclaw-Dphc01BY.cjs.map
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { C as getConfigDirectoryPath, O as getEnvString, s as logger } from "./logger-BbY6ypFL.js";
3
- import { m as REQUEST_TIMEOUT_MS, n as fetchWithProxy } from "./fetch-B6ch2nU2.js";
4
- import { n as VERSION } from "./version-CbpiUINz.js";
5
- import { t as OpenAiChatCompletionProvider } from "./chat-BLOdH60v.js";
6
- import { t as OpenAiEmbeddingProvider } from "./embedding-DNRvZwRN.js";
7
- import { t as OpenAiResponsesProvider } from "./responses-B8haB-mD.js";
8
- import { n as sha256 } from "./createHash-DPpsZgFF.js";
3
+ import { _ as REQUEST_TIMEOUT_MS, n as fetchWithProxy } from "./fetch-DXUnXkVU.js";
4
+ import { n as VERSION } from "./version-eRkNuGv8.js";
5
+ import { n as sha256 } from "./createHash-CgRvs4Fn.js";
6
+ import { t as OpenAiChatCompletionProvider } from "./chat-DqUFcWI0.js";
7
+ import { t as OpenAiEmbeddingProvider } from "./embedding--UZVe4_7.js";
8
+ import { t as OpenAiResponsesProvider } from "./responses-B3W2JvOQ.js";
9
9
  import fs from "fs";
10
10
  import path from "path";
11
11
  import os from "os";
@@ -324,6 +324,7 @@ function resolveGatewayPortOverride(env) {
324
324
  return Number.isInteger(parsedPort) && parsedPort > 0 && parsedPort <= 65535 ? parsedPort : void 0;
325
325
  }
326
326
  function toAuthSecret(kind, value) {
327
+ if (typeof value !== "string") return;
327
328
  const trimmed = value?.trim();
328
329
  return trimmed ? {
329
330
  kind,
@@ -912,7 +913,7 @@ var OpenClawAgentProvider = class {
912
913
  }
913
914
  resolveScopesForDeviceToken(deviceToken) {
914
915
  if (this.hasExplicitScopes) return this.scopes;
915
- return deviceToken.scopes && deviceToken.scopes.length > 0 ? deviceToken.scopes : this.scopes;
916
+ return normalizeScopes([...this.scopes, ...deviceToken.scopes || []]);
916
917
  }
917
918
  storeDeviceTokenFromHello(payload, authState) {
918
919
  if (!authState?.deviceIdentity) return;
@@ -1198,4 +1199,4 @@ function createOpenClawProvider(providerPath, providerOptions = {}, env) {
1198
1199
  //#endregion
1199
1200
  export { createOpenClawProvider };
1200
1201
 
1201
- //# sourceMappingURL=openclaw-DA8U4DsD.js.map
1202
+ //# sourceMappingURL=openclaw-zIJAsz3P.js.map
@@ -1,6 +1,6 @@
1
1
  import { T as getEnvString, a as logger, k as state, t as getLogLevel } from "./logger-KD8JjCRJ.js";
2
2
  import { r as importModule } from "./esm-B6whoAcf.js";
3
- import { i as initializeAgenticCache, n as generateCacheKey, r as getCachedResponse, t as cacheResponse } from "./agentic-utils-BclbiXiq.js";
3
+ import { i as initializeAgenticCache, n as generateCacheKey, r as getCachedResponse, t as cacheResponse } from "./agentic-utils-CJ0j3fBi.js";
4
4
  import { createRequire } from "node:module";
5
5
  import fs from "fs";
6
6
  import path from "path";
@@ -57,6 +57,38 @@ function getSessionPath(sessionId) {
57
57
  sessionID: sessionId
58
58
  };
59
59
  }
60
+ /**
61
+ * Convert the user-facing object-shaped permission config into the
62
+ * rule-array shape required by the v2 `session.create.permission` API.
63
+ *
64
+ * - `{ bash: 'allow' }` → `[{ permission: 'bash', pattern: '*', action: 'allow' }]`
65
+ * - `{ bash: { 'git *': 'allow', '*': 'ask' } }` → two rules with the
66
+ * corresponding glob pattern preserved per entry.
67
+ *
68
+ * Returns `undefined` when the config has no usable entries so callers can
69
+ * omit the field entirely.
70
+ */
71
+ function convertPermissionConfigToRuleset(config) {
72
+ if (!config) return;
73
+ const rules = [];
74
+ for (const [tool, value] of Object.entries(config)) {
75
+ if (value === void 0) continue;
76
+ if (typeof value === "string") {
77
+ rules.push({
78
+ permission: tool,
79
+ pattern: "*",
80
+ action: value
81
+ });
82
+ continue;
83
+ }
84
+ if (value && typeof value === "object") for (const [pattern, action] of Object.entries(value)) rules.push({
85
+ permission: tool,
86
+ pattern,
87
+ action
88
+ });
89
+ }
90
+ return rules.length > 0 ? rules : void 0;
91
+ }
60
92
  function tryParseJson(value) {
61
93
  try {
62
94
  return JSON.stringify(JSON.parse(value));
@@ -432,7 +464,10 @@ var OpenCodeSDKProvider = class {
432
464
  buildCreateSessionParameters(config, sessionQuery) {
433
465
  if (!this.opencodeModule) throw new Error("OpenCode SDK module is not loaded");
434
466
  const createBody = { title: `promptfoo-${Date.now()}` };
435
- if (config.permission && this.opencodeModule.apiVersion === "v2") createBody.permission = config.permission;
467
+ if (config.permission && this.opencodeModule.apiVersion === "v2") {
468
+ const ruleset = convertPermissionConfigToRuleset(config.permission);
469
+ if (ruleset) createBody.permission = ruleset;
470
+ }
436
471
  if (this.opencodeModule.apiVersion === "v2") return {
437
472
  ...sessionQuery,
438
473
  ...createBody
@@ -555,4 +590,4 @@ var OpenCodeSDKProvider = class {
555
590
  //#endregion
556
591
  export { OpenCodeSDKProvider };
557
592
 
558
- //# sourceMappingURL=opencode-sdk-BB40Wir1.js.map
593
+ //# sourceMappingURL=opencode-sdk-B3vlPLsp.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { N as state, O as getEnvString, n as getLogLevel, s as logger } from "./logger-BbY6ypFL.js";
3
- import { r as importModule } from "./esm-BX8fwlAO.js";
4
- import { i as initializeAgenticCache, n as generateCacheKey, r as getCachedResponse, t as cacheResponse } from "./agentic-utils-B5krlibj.js";
3
+ import { r as importModule } from "./esm-Bexx2PFc.js";
4
+ import { i as initializeAgenticCache, n as generateCacheKey, r as getCachedResponse, t as cacheResponse } from "./agentic-utils-DDEGRV9v.js";
5
5
  import { createRequire } from "node:module";
6
6
  import fs from "fs";
7
7
  import path from "path";
@@ -58,6 +58,38 @@ function getSessionPath(sessionId) {
58
58
  sessionID: sessionId
59
59
  };
60
60
  }
61
+ /**
62
+ * Convert the user-facing object-shaped permission config into the
63
+ * rule-array shape required by the v2 `session.create.permission` API.
64
+ *
65
+ * - `{ bash: 'allow' }` → `[{ permission: 'bash', pattern: '*', action: 'allow' }]`
66
+ * - `{ bash: { 'git *': 'allow', '*': 'ask' } }` → two rules with the
67
+ * corresponding glob pattern preserved per entry.
68
+ *
69
+ * Returns `undefined` when the config has no usable entries so callers can
70
+ * omit the field entirely.
71
+ */
72
+ function convertPermissionConfigToRuleset(config) {
73
+ if (!config) return;
74
+ const rules = [];
75
+ for (const [tool, value] of Object.entries(config)) {
76
+ if (value === void 0) continue;
77
+ if (typeof value === "string") {
78
+ rules.push({
79
+ permission: tool,
80
+ pattern: "*",
81
+ action: value
82
+ });
83
+ continue;
84
+ }
85
+ if (value && typeof value === "object") for (const [pattern, action] of Object.entries(value)) rules.push({
86
+ permission: tool,
87
+ pattern,
88
+ action
89
+ });
90
+ }
91
+ return rules.length > 0 ? rules : void 0;
92
+ }
61
93
  function tryParseJson(value) {
62
94
  try {
63
95
  return JSON.stringify(JSON.parse(value));
@@ -433,7 +465,10 @@ var OpenCodeSDKProvider = class {
433
465
  buildCreateSessionParameters(config, sessionQuery) {
434
466
  if (!this.opencodeModule) throw new Error("OpenCode SDK module is not loaded");
435
467
  const createBody = { title: `promptfoo-${Date.now()}` };
436
- if (config.permission && this.opencodeModule.apiVersion === "v2") createBody.permission = config.permission;
468
+ if (config.permission && this.opencodeModule.apiVersion === "v2") {
469
+ const ruleset = convertPermissionConfigToRuleset(config.permission);
470
+ if (ruleset) createBody.permission = ruleset;
471
+ }
437
472
  if (this.opencodeModule.apiVersion === "v2") return {
438
473
  ...sessionQuery,
439
474
  ...createBody
@@ -556,4 +591,4 @@ var OpenCodeSDKProvider = class {
556
591
  //#endregion
557
592
  export { OpenCodeSDKProvider };
558
593
 
559
- //# sourceMappingURL=opencode-sdk-ChdK7F7z.js.map
594
+ //# sourceMappingURL=opencode-sdk-D05JSgMQ.js.map
@@ -1,14 +1,15 @@
1
- const require_logger = require("./logger-COuQb2xB.cjs");
2
- const require_esm = require("./esm-B_rGuPTo.cjs");
3
- const require_agentic_utils = require("./agentic-utils-D2x0wGhB.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_agentic_utils = require("./agentic-utils-DvPWSUpb.cjs");
4
5
  let fs = require("fs");
5
- fs = require_logger.__toESM(fs);
6
+ fs = require_rolldown_runtime.__toESM(fs, 1);
6
7
  let path = require("path");
7
- path = require_logger.__toESM(path);
8
+ path = require_rolldown_runtime.__toESM(path, 1);
8
9
  let os = require("os");
9
- os = require_logger.__toESM(os);
10
+ os = require_rolldown_runtime.__toESM(os, 1);
10
11
  let dedent = require("dedent");
11
- dedent = require_logger.__toESM(dedent);
12
+ dedent = require_rolldown_runtime.__toESM(dedent, 1);
12
13
  let node_module = require("node:module");
13
14
  //#region src/providers/opencode-sdk.ts
14
15
  /**
@@ -61,6 +62,38 @@ function getSessionPath(sessionId) {
61
62
  sessionID: sessionId
62
63
  };
63
64
  }
65
+ /**
66
+ * Convert the user-facing object-shaped permission config into the
67
+ * rule-array shape required by the v2 `session.create.permission` API.
68
+ *
69
+ * - `{ bash: 'allow' }` → `[{ permission: 'bash', pattern: '*', action: 'allow' }]`
70
+ * - `{ bash: { 'git *': 'allow', '*': 'ask' } }` → two rules with the
71
+ * corresponding glob pattern preserved per entry.
72
+ *
73
+ * Returns `undefined` when the config has no usable entries so callers can
74
+ * omit the field entirely.
75
+ */
76
+ function convertPermissionConfigToRuleset(config) {
77
+ if (!config) return;
78
+ const rules = [];
79
+ for (const [tool, value] of Object.entries(config)) {
80
+ if (value === void 0) continue;
81
+ if (typeof value === "string") {
82
+ rules.push({
83
+ permission: tool,
84
+ pattern: "*",
85
+ action: value
86
+ });
87
+ continue;
88
+ }
89
+ if (value && typeof value === "object") for (const [pattern, action] of Object.entries(value)) rules.push({
90
+ permission: tool,
91
+ pattern,
92
+ action
93
+ });
94
+ }
95
+ return rules.length > 0 ? rules : void 0;
96
+ }
64
97
  function tryParseJson(value) {
65
98
  try {
66
99
  return JSON.stringify(JSON.parse(value));
@@ -436,7 +469,10 @@ var OpenCodeSDKProvider = class {
436
469
  buildCreateSessionParameters(config, sessionQuery) {
437
470
  if (!this.opencodeModule) throw new Error("OpenCode SDK module is not loaded");
438
471
  const createBody = { title: `promptfoo-${Date.now()}` };
439
- if (config.permission && this.opencodeModule.apiVersion === "v2") createBody.permission = config.permission;
472
+ if (config.permission && this.opencodeModule.apiVersion === "v2") {
473
+ const ruleset = convertPermissionConfigToRuleset(config.permission);
474
+ if (ruleset) createBody.permission = ruleset;
475
+ }
440
476
  if (this.opencodeModule.apiVersion === "v2") return {
441
477
  ...sessionQuery,
442
478
  ...createBody
@@ -559,4 +595,4 @@ var OpenCodeSDKProvider = class {
559
595
  //#endregion
560
596
  exports.OpenCodeSDKProvider = OpenCodeSDKProvider;
561
597
 
562
- //# sourceMappingURL=opencode-sdk-CeqiOcOU.cjs.map
598
+ //# sourceMappingURL=opencode-sdk-DoY6GbWw.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { T as getEnvString, a as logger, k as state, t as getLogLevel } from "./logger-Ct2S6Yx-.js";
2
- import { r as importModule } from "./esm-BRkfNsYs.js";
3
- import { i as initializeAgenticCache, n as generateCacheKey, r as getCachedResponse, t as cacheResponse } from "./agentic-utils-Ba67xmgs.js";
2
+ import { r as importModule } from "./esm-BTK1W7lG.js";
3
+ import { i as initializeAgenticCache, n as generateCacheKey, r as getCachedResponse, t as cacheResponse } from "./agentic-utils-TxUEMPYS.js";
4
4
  import { createRequire } from "node:module";
5
5
  import fs from "fs";
6
6
  import path from "path";
@@ -57,6 +57,38 @@ function getSessionPath(sessionId) {
57
57
  sessionID: sessionId
58
58
  };
59
59
  }
60
+ /**
61
+ * Convert the user-facing object-shaped permission config into the
62
+ * rule-array shape required by the v2 `session.create.permission` API.
63
+ *
64
+ * - `{ bash: 'allow' }` → `[{ permission: 'bash', pattern: '*', action: 'allow' }]`
65
+ * - `{ bash: { 'git *': 'allow', '*': 'ask' } }` → two rules with the
66
+ * corresponding glob pattern preserved per entry.
67
+ *
68
+ * Returns `undefined` when the config has no usable entries so callers can
69
+ * omit the field entirely.
70
+ */
71
+ function convertPermissionConfigToRuleset(config) {
72
+ if (!config) return;
73
+ const rules = [];
74
+ for (const [tool, value] of Object.entries(config)) {
75
+ if (value === void 0) continue;
76
+ if (typeof value === "string") {
77
+ rules.push({
78
+ permission: tool,
79
+ pattern: "*",
80
+ action: value
81
+ });
82
+ continue;
83
+ }
84
+ if (value && typeof value === "object") for (const [pattern, action] of Object.entries(value)) rules.push({
85
+ permission: tool,
86
+ pattern,
87
+ action
88
+ });
89
+ }
90
+ return rules.length > 0 ? rules : void 0;
91
+ }
60
92
  function tryParseJson(value) {
61
93
  try {
62
94
  return JSON.stringify(JSON.parse(value));
@@ -432,7 +464,10 @@ var OpenCodeSDKProvider = class {
432
464
  buildCreateSessionParameters(config, sessionQuery) {
433
465
  if (!this.opencodeModule) throw new Error("OpenCode SDK module is not loaded");
434
466
  const createBody = { title: `promptfoo-${Date.now()}` };
435
- if (config.permission && this.opencodeModule.apiVersion === "v2") createBody.permission = config.permission;
467
+ if (config.permission && this.opencodeModule.apiVersion === "v2") {
468
+ const ruleset = convertPermissionConfigToRuleset(config.permission);
469
+ if (ruleset) createBody.permission = ruleset;
470
+ }
436
471
  if (this.opencodeModule.apiVersion === "v2") return {
437
472
  ...sessionQuery,
438
473
  ...createBody
@@ -555,4 +590,4 @@ var OpenCodeSDKProvider = class {
555
590
  //#endregion
556
591
  export { OpenCodeSDKProvider };
557
592
 
558
- //# sourceMappingURL=opencode-sdk-BM1UAIv1.js.map
593
+ //# sourceMappingURL=opencode-sdk-sRKYHGoI.js.map
@@ -1,8 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { s as logger } from "./logger-BbY6ypFL.js";
3
- import { t as getDirectory } from "./esm-BX8fwlAO.js";
4
- import { n as getTraceStore } from "./store-CPh25336.js";
3
+ import { t as getDirectory } from "./esm-Bexx2PFc.js";
4
+ import { n as getTraceStore } from "./store-DKd5592Q.js";
5
+ import { n as PROMPTFOO_RESOURCE_ATTR_TRACE_ID, t as PROMPTFOO_RESOURCE_ATTR_PARENT_SPAN_ID } from "./resourceAttributes-D1jP3kL5.js";
5
6
  import path from "path";
7
+ import crypto from "node:crypto";
6
8
  import express from "express";
7
9
  import protobuf from "protobufjs";
8
10
  //#region src/tracing/protobuf.ts
@@ -83,6 +85,33 @@ async function decodeExportTraceServiceRequest(data) {
83
85
  }
84
86
  //#endregion
85
87
  //#region src/tracing/otlpReceiver.ts
88
+ const LOG_EVENT_NAME_DENYLIST = new Set(["claude_code.tracing"]);
89
+ const LOG_SPAN_DURATION_MS = 1;
90
+ const MAX_BODY_AS_NAME_LENGTH = 128;
91
+ const SEVERITY_NUMBER_ERROR = 17;
92
+ const MAX_LOG_BODY_ATTR_LENGTH = 8192;
93
+ function truncateLogBody(value) {
94
+ if (typeof value !== "string") return value;
95
+ if (value.length <= MAX_LOG_BODY_ATTR_LENGTH) return value;
96
+ return `${value.slice(0, MAX_LOG_BODY_ATTR_LENGTH - 15)}... [truncated]`;
97
+ }
98
+ const BASE64_ZERO_SPAN_ID = /^A{11,12}=?$/;
99
+ function isZeroSpanId(id) {
100
+ return /^0+$/.test(id) || BASE64_ZERO_SPAN_ID.test(id);
101
+ }
102
+ function randomSpanId() {
103
+ return crypto.randomBytes(8).toString("hex");
104
+ }
105
+ function getStringAttribute(attributes, key) {
106
+ const value = attributes[key];
107
+ return typeof value === "string" ? value : void 0;
108
+ }
109
+ function resolveLogSpanName(attributes, bodyValue) {
110
+ const eventName = attributes["event.name"] ?? attributes["claude_code.event.name"];
111
+ if (typeof eventName === "string" && eventName.length > 0) return eventName;
112
+ if (typeof bodyValue === "string" && bodyValue.length > 0 && bodyValue.length <= MAX_BODY_AS_NAME_LENGTH) return bodyValue;
113
+ return "otel.log";
114
+ }
86
115
  const SPAN_KIND_MAP = {
87
116
  0: "unspecified",
88
117
  1: "internal",
@@ -141,6 +170,21 @@ var OTLPReceiver = class {
141
170
  limit: "10mb",
142
171
  type: (req) => this.acceptFormats.includes("protobuf") && getRequestFormat(req.headers["content-type"]) === "protobuf"
143
172
  }));
173
+ this.app.use("/v1/logs", (req, res, next) => {
174
+ if (req.method !== "POST") {
175
+ next();
176
+ return;
177
+ }
178
+ if (getRequestFormat(req.headers["content-type"]) !== "json") {
179
+ res.status(415).json({ error: "Only application/json is supported for /v1/logs" });
180
+ return;
181
+ }
182
+ next();
183
+ });
184
+ this.app.use("/v1/logs", express.json({
185
+ limit: "10mb",
186
+ type: (req) => getRequestFormat(req.headers["content-type"]) === "json"
187
+ }));
144
188
  logger.debug("[OtlpReceiver] Middleware configured for accepted OTLP formats");
145
189
  }
146
190
  setupRoutes() {
@@ -164,6 +208,17 @@ var OTLPReceiver = class {
164
208
  this.handleProcessingError(error, res);
165
209
  }
166
210
  });
211
+ this.app.post("/v1/logs", async (req, res) => {
212
+ logger.debug("[OtlpReceiver] Received logs request");
213
+ try {
214
+ const traces = this.parseOTLPLogsJSONRequest(req.body);
215
+ logger.debug(`[OtlpReceiver] Parsed ${traces.length} logs into span records`);
216
+ if (traces.length > 0) await this.persistTraces(this.groupTraces(traces));
217
+ res.status(200).json({ partialSuccess: {} });
218
+ } catch (error) {
219
+ this.handleProcessingError(error, res);
220
+ }
221
+ });
167
222
  this.app.get("/health", (_req, res) => {
168
223
  logger.debug("[OtlpReceiver] Health check requested");
169
224
  res.status(200).json({ status: "ok" });
@@ -295,6 +350,67 @@ var OTLPReceiver = class {
295
350
  }
296
351
  return traces;
297
352
  }
353
+ parseOTLPLogsJSONRequest(body) {
354
+ const traces = [];
355
+ const resourceLogs = body?.resourceLogs ?? [];
356
+ logger.debug(`[OtlpReceiver] Parsing logs request with ${resourceLogs.length} resource logs`);
357
+ for (const resourceLog of resourceLogs) {
358
+ const resourceAttributes = this.parseAttributes(resourceLog.resource?.attributes);
359
+ for (const scopeLog of resourceLog.scopeLogs ?? []) for (const log of scopeLog.logRecords ?? []) try {
360
+ const parsed = this.logRecordToParsedTrace(log, scopeLog, resourceAttributes);
361
+ if (parsed) traces.push(parsed);
362
+ } catch (err) {
363
+ logger.warn(`[OtlpReceiver] Skipping malformed log record in scope ${scopeLog.scope?.name ?? "(unknown)"}: ${err}`);
364
+ }
365
+ }
366
+ return traces;
367
+ }
368
+ logRecordToParsedTrace(log, scopeLog, resourceAttributes) {
369
+ const rawTraceId = log.traceId ?? getStringAttribute(resourceAttributes, "promptfoo.trace_id");
370
+ if (!rawTraceId) {
371
+ logger.debug(`[OtlpReceiver] Dropping log: no traceId and no ${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.`);
372
+ return null;
373
+ }
374
+ const traceId = this.convertId(rawTraceId, 32);
375
+ if (traceId.length !== 32 || !/^[0-9a-f]+$/.test(traceId)) {
376
+ logger.debug(`[OtlpReceiver] Dropping log: invalid trace_id shape '${rawTraceId}'`);
377
+ return null;
378
+ }
379
+ const attributes = {
380
+ ...resourceAttributes,
381
+ ...this.parseAttributes(log.attributes),
382
+ "otel.scope.name": scopeLog.scope?.name,
383
+ "otel.scope.version": scopeLog.scope?.version,
384
+ "otel.log.severity_number": log.severityNumber,
385
+ "otel.log.severity_text": log.severityText
386
+ };
387
+ const bodyValue = log.body ? this.parseAttributeValue(log.body) : void 0;
388
+ const name = resolveLogSpanName(attributes, bodyValue);
389
+ if (LOG_EVENT_NAME_DENYLIST.has(name)) {
390
+ logger.debug(`[OtlpReceiver] Dropping log: event '${name}' is in the denylist`);
391
+ return null;
392
+ }
393
+ if (bodyValue !== void 0) attributes["otel.log.body"] = truncateLogBody(bodyValue);
394
+ const timeNano = log.timeUnixNano ?? log.observedTimeUnixNano;
395
+ const startTime = timeNano ? Number(timeNano) / 1e6 : Date.now();
396
+ const endTime = startTime + LOG_SPAN_DURATION_MS;
397
+ const rawParentSpanId = !!log.spanId && !isZeroSpanId(log.spanId) ? log.spanId : getStringAttribute(resourceAttributes, PROMPTFOO_RESOURCE_ATTR_PARENT_SPAN_ID);
398
+ const parentSpanId = rawParentSpanId ? this.convertId(rawParentSpanId, 16) : void 0;
399
+ const severityIsError = typeof log.severityNumber === "number" && log.severityNumber >= SEVERITY_NUMBER_ERROR;
400
+ return {
401
+ traceId,
402
+ span: {
403
+ spanId: randomSpanId(),
404
+ parentSpanId,
405
+ name,
406
+ startTime,
407
+ endTime,
408
+ attributes,
409
+ statusCode: 1,
410
+ statusMessage: severityIsError ? log.severityText : void 0
411
+ }
412
+ };
413
+ }
298
414
  async parseOTLPProtobufRequest(body) {
299
415
  const decoded = await decodeExportTraceServiceRequest(body);
300
416
  logger.debug(`[OtlpReceiver] Parsing protobuf request with ${decoded.resourceSpans?.length || 0} resource spans`);
@@ -463,4 +579,4 @@ async function stopOTLPReceiver() {
463
579
  //#endregion
464
580
  export { startOTLPReceiver, stopOTLPReceiver };
465
581
 
466
- //# sourceMappingURL=otlpReceiver-UYMQx3sy.js.map
582
+ //# sourceMappingURL=otlpReceiver--gTpSagc.js.map