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,9 +1,11 @@
1
- const require_logger = require("./logger-COuQb2xB.cjs");
2
- const require_fetch = require("./fetch-NuqXW1Xb.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_createHash = require("./createHash-CSiqnK5P.cjs");
3
5
  let fs = require("fs");
4
- fs = require_logger.__toESM(fs);
6
+ fs = require_rolldown_runtime.__toESM(fs, 1);
5
7
  let path = require("path");
6
- path = require_logger.__toESM(path);
8
+ path = require_rolldown_runtime.__toESM(path, 1);
7
9
  let node_async_hooks = require("node:async_hooks");
8
10
  let cache_manager = require("cache-manager");
9
11
  let keyv = require("keyv");
@@ -41,12 +43,13 @@ function isTransientConnectionError(error) {
41
43
  }
42
44
  //#endregion
43
45
  //#region src/cache.ts
44
- var cache_exports = /* @__PURE__ */ require_logger.__exportAll({
46
+ var cache_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
45
47
  clearCache: () => clearCache,
46
48
  disableCache: () => disableCache,
47
49
  enableCache: () => enableCache,
48
50
  fetchWithCache: () => fetchWithCache,
49
51
  getCache: () => getCache,
52
+ getScopedCacheKey: () => getScopedCacheKey,
50
53
  isCacheEnabled: () => isCacheEnabled,
51
54
  withCacheNamespace: () => withCacheNamespace
52
55
  });
@@ -162,6 +165,120 @@ function withCacheNamespace(namespace, fn) {
162
165
  return cacheNamespaceStorage.run({ namespace: scopedNamespace }, fn);
163
166
  }
164
167
  const inflightFetchResponses = /* @__PURE__ */ new Map();
168
+ const IGNORED_FETCH_CACHE_OPTION_KEYS = new Set(["method", "signal"]);
169
+ const abortSignalIds = /* @__PURE__ */ new WeakMap();
170
+ let nextAbortSignalId = 0;
171
+ function getHeadersForCacheKey(url, options) {
172
+ const headers = new Headers(require_fetch.getFetchWithProxyHeaders(url, options));
173
+ if (require_fetch.isPromptfooCloudApiHost(url)) {
174
+ const token = require_fetch.cloudConfig.getApiKey();
175
+ if (token) headers.set("Authorization", `Bearer ${token}`);
176
+ }
177
+ return Array.from(headers.entries()).sort(([nameA, valueA], [nameB, valueB]) => {
178
+ const nameComparison = nameA.localeCompare(nameB);
179
+ return nameComparison === 0 ? valueA.localeCompare(valueB) : nameComparison;
180
+ });
181
+ }
182
+ function hashFetchCacheKey(identity) {
183
+ return require_createHash.sha256(JSON.stringify(identity));
184
+ }
185
+ function hashBytesForCacheKey(bytes) {
186
+ const buffer = ArrayBuffer.isView(bytes) ? Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength) : Buffer.from(bytes);
187
+ return {
188
+ byteLength: buffer.byteLength,
189
+ sha256: require_createHash.sha256(buffer)
190
+ };
191
+ }
192
+ function getBodyForFetchCacheKey(body) {
193
+ if (body == null) return {
194
+ cacheable: true,
195
+ identity: void 0
196
+ };
197
+ if (typeof body === "string") return {
198
+ cacheable: true,
199
+ identity: {
200
+ type: "string",
201
+ value: body
202
+ }
203
+ };
204
+ if (typeof URLSearchParams !== "undefined" && body instanceof URLSearchParams) return {
205
+ cacheable: true,
206
+ identity: {
207
+ type: "url-search-params",
208
+ value: body.toString()
209
+ }
210
+ };
211
+ if (body instanceof ArrayBuffer) return {
212
+ cacheable: true,
213
+ identity: {
214
+ type: "array-buffer",
215
+ ...hashBytesForCacheKey(body)
216
+ }
217
+ };
218
+ if (ArrayBuffer.isView(body)) return {
219
+ cacheable: true,
220
+ identity: {
221
+ type: body.constructor.name,
222
+ ...hashBytesForCacheKey(body)
223
+ }
224
+ };
225
+ return {
226
+ cacheable: false,
227
+ identity: void 0
228
+ };
229
+ }
230
+ function getOptionsForFetchCacheKey(options, bodyIdentity) {
231
+ const identity = {};
232
+ for (const [key, value] of Object.entries(options).sort(([keyA], [keyB]) => keyA.localeCompare(keyB))) {
233
+ if (key === "headers" || IGNORED_FETCH_CACHE_OPTION_KEYS.has(key)) continue;
234
+ if (key === "body") {
235
+ identity.body = bodyIdentity;
236
+ continue;
237
+ }
238
+ if (value == null || [
239
+ "boolean",
240
+ "number",
241
+ "string"
242
+ ].includes(typeof value)) {
243
+ identity[key] = value;
244
+ continue;
245
+ }
246
+ return {
247
+ cacheable: false,
248
+ identity: void 0
249
+ };
250
+ }
251
+ if (!Object.prototype.hasOwnProperty.call(options, "body") && bodyIdentity !== void 0) identity.body = bodyIdentity;
252
+ return {
253
+ cacheable: true,
254
+ identity
255
+ };
256
+ }
257
+ function getFetchCacheKey(url, options, method, format) {
258
+ const bodyForCacheKey = getBodyForFetchCacheKey(options.body ?? (url instanceof Request ? url.body : void 0));
259
+ if (!bodyForCacheKey.cacheable) return null;
260
+ const optionsForCacheKey = getOptionsForFetchCacheKey(options, bodyForCacheKey.identity);
261
+ if (!optionsForCacheKey.cacheable) return null;
262
+ return getScopedCacheKey(`fetch:v3:${hashFetchCacheKey({
263
+ format,
264
+ headers: getHeadersForCacheKey(url, options),
265
+ method,
266
+ options: optionsForCacheKey.identity,
267
+ url: url instanceof Request ? url.url : String(url)
268
+ })}`);
269
+ }
270
+ function getAbortSignalId(signal) {
271
+ let signalId = abortSignalIds.get(signal);
272
+ if (signalId === void 0) {
273
+ signalId = ++nextAbortSignalId;
274
+ abortSignalIds.set(signal, signalId);
275
+ }
276
+ return signalId;
277
+ }
278
+ function getInflightFetchCacheKey(cacheKey, url, options) {
279
+ const signal = options.signal ?? (url instanceof Request ? url.signal : void 0);
280
+ return signal ? `${cacheKey}:signal:${getAbortSignalId(signal)}` : cacheKey;
281
+ }
165
282
  function serializeFetchResponse(data, status, statusText, headers, latencyMs) {
166
283
  return JSON.stringify({
167
284
  data,
@@ -253,7 +370,8 @@ async function fetchWithCache(url, options = {}, timeout = require_fetch.REQUEST
253
370
  "PUT",
254
371
  "DELETE"
255
372
  ].includes(method);
256
- if (!enabled || bust) {
373
+ const cacheKey = enabled && !bust ? getFetchCacheKey(url, options, method, format) : null;
374
+ if (!enabled || bust || cacheKey == null) {
257
375
  const { respText, resp, fetchLatencyMs } = await fetchAndReadBody(url, options, timeout, maxRetries, isIdempotent);
258
376
  try {
259
377
  return {
@@ -269,25 +387,23 @@ async function fetchWithCache(url, options = {}, timeout = require_fetch.REQUEST
269
387
  throw new Error(`Error parsing response as JSON: ${respText}`);
270
388
  }
271
389
  }
272
- const copy = Object.assign({}, options);
273
- delete copy.headers;
274
- const cacheKey = getScopedCacheKey(`fetch:v2:${url}:${JSON.stringify(copy)}`);
275
390
  const cache = getCacheInstance();
276
391
  const cachedResponse = await cache.get(cacheKey);
277
392
  if (cachedResponse != null) {
278
393
  require_logger.logger.debug(`Returning cached response for ${url}: ${cachedResponse}`);
279
394
  return deserializeFetchResponse(cachedResponse, true, cache, cacheKey);
280
395
  }
281
- let inflightResponse = inflightFetchResponses.get(cacheKey);
396
+ const inflightCacheKey = getInflightFetchCacheKey(cacheKey, url, options);
397
+ let inflightResponse = inflightFetchResponses.get(inflightCacheKey);
282
398
  if (!inflightResponse) {
283
399
  inflightResponse = (async () => {
284
400
  const preparedResponse = await prepareFetchResponse(url, options, timeout, maxRetries, isIdempotent, format);
285
401
  if (preparedResponse.cacheable) await cache.set(cacheKey, preparedResponse.response);
286
402
  return preparedResponse.response;
287
403
  })().finally(() => {
288
- inflightFetchResponses.delete(cacheKey);
404
+ inflightFetchResponses.delete(inflightCacheKey);
289
405
  });
290
- inflightFetchResponses.set(cacheKey, inflightResponse);
406
+ inflightFetchResponses.set(inflightCacheKey, inflightResponse);
291
407
  }
292
408
  return deserializeFetchResponse(await inflightResponse, false, cache, cacheKey);
293
409
  }
@@ -318,24 +434,12 @@ Object.defineProperty(exports, "cache_exports", {
318
434
  return cache_exports;
319
435
  }
320
436
  });
321
- Object.defineProperty(exports, "clearCache", {
322
- enumerable: true,
323
- get: function() {
324
- return clearCache;
325
- }
326
- });
327
437
  Object.defineProperty(exports, "disableCache", {
328
438
  enumerable: true,
329
439
  get: function() {
330
440
  return disableCache;
331
441
  }
332
442
  });
333
- Object.defineProperty(exports, "enableCache", {
334
- enumerable: true,
335
- get: function() {
336
- return enableCache;
337
- }
338
- });
339
443
  Object.defineProperty(exports, "fetchWithCache", {
340
444
  enumerable: true,
341
445
  get: function() {
@@ -348,6 +452,12 @@ Object.defineProperty(exports, "getCache", {
348
452
  return getCache;
349
453
  }
350
454
  });
455
+ Object.defineProperty(exports, "getScopedCacheKey", {
456
+ enumerable: true,
457
+ get: function() {
458
+ return getScopedCacheKey;
459
+ }
460
+ });
351
461
  Object.defineProperty(exports, "isCacheEnabled", {
352
462
  enumerable: true,
353
463
  get: function() {
@@ -373,4 +483,4 @@ Object.defineProperty(exports, "withCacheNamespace", {
373
483
  }
374
484
  });
375
485
 
376
- //# sourceMappingURL=cache-DGg-yTZG.cjs.map
486
+ //# sourceMappingURL=cache-CPGUA4Yl.cjs.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { c as isCacheEnabled, o as getCache } from "./cache-DpPWrkTE.js";
3
+ export { getCache, isCacheEnabled };
@@ -1,6 +1,7 @@
1
1
  import { t as __exportAll } from "./chunk-DEq-mXcV.js";
2
2
  import { S as getEnvBool, T as getEnvString, a as logger, w as getEnvInt, x as getConfigDirectoryPath } from "./logger-Ct2S6Yx-.js";
3
- import { n as fetchWithRetries, o as sleep, u as REQUEST_TIMEOUT_MS } from "./fetch-D9xxyC1p.js";
3
+ import { T as cloudConfig, a as getFetchWithProxyHeaders, l as sleep, n as fetchWithRetries, p as REQUEST_TIMEOUT_MS, s as isPromptfooCloudApiHost } from "./fetch-It34O8Ur.js";
4
+ import { n as sha256 } from "./createHash-BtbSX3mj.js";
4
5
  import fs from "fs";
5
6
  import path from "path";
6
7
  import { AsyncLocalStorage } from "node:async_hooks";
@@ -46,6 +47,7 @@ var cache_exports = /* @__PURE__ */ __exportAll({
46
47
  enableCache: () => enableCache,
47
48
  fetchWithCache: () => fetchWithCache,
48
49
  getCache: () => getCache,
50
+ getScopedCacheKey: () => getScopedCacheKey,
49
51
  isCacheEnabled: () => isCacheEnabled,
50
52
  withCacheNamespace: () => withCacheNamespace
51
53
  });
@@ -161,6 +163,120 @@ function withCacheNamespace(namespace, fn) {
161
163
  return cacheNamespaceStorage.run({ namespace: scopedNamespace }, fn);
162
164
  }
163
165
  const inflightFetchResponses = /* @__PURE__ */ new Map();
166
+ const IGNORED_FETCH_CACHE_OPTION_KEYS = new Set(["method", "signal"]);
167
+ const abortSignalIds = /* @__PURE__ */ new WeakMap();
168
+ let nextAbortSignalId = 0;
169
+ function getHeadersForCacheKey(url, options) {
170
+ const headers = new Headers(getFetchWithProxyHeaders(url, options));
171
+ if (isPromptfooCloudApiHost(url)) {
172
+ const token = cloudConfig.getApiKey();
173
+ if (token) headers.set("Authorization", `Bearer ${token}`);
174
+ }
175
+ return Array.from(headers.entries()).sort(([nameA, valueA], [nameB, valueB]) => {
176
+ const nameComparison = nameA.localeCompare(nameB);
177
+ return nameComparison === 0 ? valueA.localeCompare(valueB) : nameComparison;
178
+ });
179
+ }
180
+ function hashFetchCacheKey(identity) {
181
+ return sha256(JSON.stringify(identity));
182
+ }
183
+ function hashBytesForCacheKey(bytes) {
184
+ const buffer = ArrayBuffer.isView(bytes) ? Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength) : Buffer.from(bytes);
185
+ return {
186
+ byteLength: buffer.byteLength,
187
+ sha256: sha256(buffer)
188
+ };
189
+ }
190
+ function getBodyForFetchCacheKey(body) {
191
+ if (body == null) return {
192
+ cacheable: true,
193
+ identity: void 0
194
+ };
195
+ if (typeof body === "string") return {
196
+ cacheable: true,
197
+ identity: {
198
+ type: "string",
199
+ value: body
200
+ }
201
+ };
202
+ if (typeof URLSearchParams !== "undefined" && body instanceof URLSearchParams) return {
203
+ cacheable: true,
204
+ identity: {
205
+ type: "url-search-params",
206
+ value: body.toString()
207
+ }
208
+ };
209
+ if (body instanceof ArrayBuffer) return {
210
+ cacheable: true,
211
+ identity: {
212
+ type: "array-buffer",
213
+ ...hashBytesForCacheKey(body)
214
+ }
215
+ };
216
+ if (ArrayBuffer.isView(body)) return {
217
+ cacheable: true,
218
+ identity: {
219
+ type: body.constructor.name,
220
+ ...hashBytesForCacheKey(body)
221
+ }
222
+ };
223
+ return {
224
+ cacheable: false,
225
+ identity: void 0
226
+ };
227
+ }
228
+ function getOptionsForFetchCacheKey(options, bodyIdentity) {
229
+ const identity = {};
230
+ for (const [key, value] of Object.entries(options).sort(([keyA], [keyB]) => keyA.localeCompare(keyB))) {
231
+ if (key === "headers" || IGNORED_FETCH_CACHE_OPTION_KEYS.has(key)) continue;
232
+ if (key === "body") {
233
+ identity.body = bodyIdentity;
234
+ continue;
235
+ }
236
+ if (value == null || [
237
+ "boolean",
238
+ "number",
239
+ "string"
240
+ ].includes(typeof value)) {
241
+ identity[key] = value;
242
+ continue;
243
+ }
244
+ return {
245
+ cacheable: false,
246
+ identity: void 0
247
+ };
248
+ }
249
+ if (!Object.prototype.hasOwnProperty.call(options, "body") && bodyIdentity !== void 0) identity.body = bodyIdentity;
250
+ return {
251
+ cacheable: true,
252
+ identity
253
+ };
254
+ }
255
+ function getFetchCacheKey(url, options, method, format) {
256
+ const bodyForCacheKey = getBodyForFetchCacheKey(options.body ?? (url instanceof Request ? url.body : void 0));
257
+ if (!bodyForCacheKey.cacheable) return null;
258
+ const optionsForCacheKey = getOptionsForFetchCacheKey(options, bodyForCacheKey.identity);
259
+ if (!optionsForCacheKey.cacheable) return null;
260
+ return getScopedCacheKey(`fetch:v3:${hashFetchCacheKey({
261
+ format,
262
+ headers: getHeadersForCacheKey(url, options),
263
+ method,
264
+ options: optionsForCacheKey.identity,
265
+ url: url instanceof Request ? url.url : String(url)
266
+ })}`);
267
+ }
268
+ function getAbortSignalId(signal) {
269
+ let signalId = abortSignalIds.get(signal);
270
+ if (signalId === void 0) {
271
+ signalId = ++nextAbortSignalId;
272
+ abortSignalIds.set(signal, signalId);
273
+ }
274
+ return signalId;
275
+ }
276
+ function getInflightFetchCacheKey(cacheKey, url, options) {
277
+ const signal = options.signal ?? (url instanceof Request ? url.signal : void 0);
278
+ return signal ? `${cacheKey}:signal:${getAbortSignalId(signal)}` : cacheKey;
279
+ }
164
280
  function serializeFetchResponse(data, status, statusText, headers, latencyMs) {
165
281
  return JSON.stringify({
166
282
  data,
@@ -252,7 +368,8 @@ async function fetchWithCache(url, options = {}, timeout = REQUEST_TIMEOUT_MS, f
252
368
  "PUT",
253
369
  "DELETE"
254
370
  ].includes(method);
255
- if (!enabled || bust) {
371
+ const cacheKey = enabled && !bust ? getFetchCacheKey(url, options, method, format) : null;
372
+ if (!enabled || bust || cacheKey == null) {
256
373
  const { respText, resp, fetchLatencyMs } = await fetchAndReadBody(url, options, timeout, maxRetries, isIdempotent);
257
374
  try {
258
375
  return {
@@ -268,25 +385,23 @@ async function fetchWithCache(url, options = {}, timeout = REQUEST_TIMEOUT_MS, f
268
385
  throw new Error(`Error parsing response as JSON: ${respText}`);
269
386
  }
270
387
  }
271
- const copy = Object.assign({}, options);
272
- delete copy.headers;
273
- const cacheKey = getScopedCacheKey(`fetch:v2:${url}:${JSON.stringify(copy)}`);
274
388
  const cache = getCacheInstance();
275
389
  const cachedResponse = await cache.get(cacheKey);
276
390
  if (cachedResponse != null) {
277
391
  logger.debug(`Returning cached response for ${url}: ${cachedResponse}`);
278
392
  return deserializeFetchResponse(cachedResponse, true, cache, cacheKey);
279
393
  }
280
- let inflightResponse = inflightFetchResponses.get(cacheKey);
394
+ const inflightCacheKey = getInflightFetchCacheKey(cacheKey, url, options);
395
+ let inflightResponse = inflightFetchResponses.get(inflightCacheKey);
281
396
  if (!inflightResponse) {
282
397
  inflightResponse = (async () => {
283
398
  const preparedResponse = await prepareFetchResponse(url, options, timeout, maxRetries, isIdempotent, format);
284
399
  if (preparedResponse.cacheable) await cache.set(cacheKey, preparedResponse.response);
285
400
  return preparedResponse.response;
286
401
  })().finally(() => {
287
- inflightFetchResponses.delete(cacheKey);
402
+ inflightFetchResponses.delete(inflightCacheKey);
288
403
  });
289
- inflightFetchResponses.set(cacheKey, inflightResponse);
404
+ inflightFetchResponses.set(inflightCacheKey, inflightResponse);
290
405
  }
291
406
  return deserializeFetchResponse(await inflightResponse, false, cache, cacheKey);
292
407
  }
@@ -305,6 +420,6 @@ function isCacheEnabled() {
305
420
  return enabled;
306
421
  }
307
422
  //#endregion
308
- export { isCacheEnabled as a, isNonTransientHttpStatus as c, getCache as i, isTransientConnectionError as l, disableCache as n, withCacheNamespace as o, fetchWithCache as r, NON_TRANSIENT_HTTP_STATUSES as s, cache_exports as t };
423
+ export { getScopedCacheKey as a, NON_TRANSIENT_HTTP_STATUSES as c, getCache as i, isNonTransientHttpStatus as l, disableCache as n, isCacheEnabled as o, fetchWithCache as r, withCacheNamespace as s, cache_exports as t, isTransientConnectionError as u };
309
424
 
310
- //# sourceMappingURL=cache-Bzttsk0X.js.map
425
+ //# sourceMappingURL=cache-DIXbtkNO.js.map
@@ -1,8 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { t as __exportAll } from "./chunk-DRamLcfz.js";
3
3
  import { C as getConfigDirectoryPath, D as getEnvInt, O as getEnvString, T as getEnvBool, s as logger } from "./logger-BbY6ypFL.js";
4
- import { l as sleep, m as REQUEST_TIMEOUT_MS, r as fetchWithRetries } from "./fetch-B6ch2nU2.js";
5
- import { r as isTransientConnectionError } from "./errors-DFHe4L-n.js";
4
+ import { _ as REQUEST_TIMEOUT_MS, a as getFetchWithProxyHeaders, f as sleep, r as fetchWithRetries, u as isPromptfooCloudApiHost } from "./fetch-DXUnXkVU.js";
5
+ import { a as cloudConfig } from "./cloud-D3DiFqH6.js";
6
+ import { n as sha256 } from "./createHash-CgRvs4Fn.js";
7
+ import { r as isTransientConnectionError } from "./errors-9PcUL8BC.js";
6
8
  import { AsyncLocalStorage } from "node:async_hooks";
7
9
  import fs from "fs";
8
10
  import path from "path";
@@ -16,6 +18,7 @@ var cache_exports = /* @__PURE__ */ __exportAll({
16
18
  enableCache: () => enableCache,
17
19
  fetchWithCache: () => fetchWithCache,
18
20
  getCache: () => getCache,
21
+ getScopedCacheKey: () => getScopedCacheKey,
19
22
  isCacheEnabled: () => isCacheEnabled,
20
23
  withCacheNamespace: () => withCacheNamespace
21
24
  });
@@ -131,6 +134,120 @@ function withCacheNamespace(namespace, fn) {
131
134
  return cacheNamespaceStorage.run({ namespace: scopedNamespace }, fn);
132
135
  }
133
136
  const inflightFetchResponses = /* @__PURE__ */ new Map();
137
+ const IGNORED_FETCH_CACHE_OPTION_KEYS = new Set(["method", "signal"]);
138
+ const abortSignalIds = /* @__PURE__ */ new WeakMap();
139
+ let nextAbortSignalId = 0;
140
+ function getHeadersForCacheKey(url, options) {
141
+ const headers = new Headers(getFetchWithProxyHeaders(url, options));
142
+ if (isPromptfooCloudApiHost(url)) {
143
+ const token = cloudConfig.getApiKey();
144
+ if (token) headers.set("Authorization", `Bearer ${token}`);
145
+ }
146
+ return Array.from(headers.entries()).sort(([nameA, valueA], [nameB, valueB]) => {
147
+ const nameComparison = nameA.localeCompare(nameB);
148
+ return nameComparison === 0 ? valueA.localeCompare(valueB) : nameComparison;
149
+ });
150
+ }
151
+ function hashFetchCacheKey(identity) {
152
+ return sha256(JSON.stringify(identity));
153
+ }
154
+ function hashBytesForCacheKey(bytes) {
155
+ const buffer = ArrayBuffer.isView(bytes) ? Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength) : Buffer.from(bytes);
156
+ return {
157
+ byteLength: buffer.byteLength,
158
+ sha256: sha256(buffer)
159
+ };
160
+ }
161
+ function getBodyForFetchCacheKey(body) {
162
+ if (body == null) return {
163
+ cacheable: true,
164
+ identity: void 0
165
+ };
166
+ if (typeof body === "string") return {
167
+ cacheable: true,
168
+ identity: {
169
+ type: "string",
170
+ value: body
171
+ }
172
+ };
173
+ if (typeof URLSearchParams !== "undefined" && body instanceof URLSearchParams) return {
174
+ cacheable: true,
175
+ identity: {
176
+ type: "url-search-params",
177
+ value: body.toString()
178
+ }
179
+ };
180
+ if (body instanceof ArrayBuffer) return {
181
+ cacheable: true,
182
+ identity: {
183
+ type: "array-buffer",
184
+ ...hashBytesForCacheKey(body)
185
+ }
186
+ };
187
+ if (ArrayBuffer.isView(body)) return {
188
+ cacheable: true,
189
+ identity: {
190
+ type: body.constructor.name,
191
+ ...hashBytesForCacheKey(body)
192
+ }
193
+ };
194
+ return {
195
+ cacheable: false,
196
+ identity: void 0
197
+ };
198
+ }
199
+ function getOptionsForFetchCacheKey(options, bodyIdentity) {
200
+ const identity = {};
201
+ for (const [key, value] of Object.entries(options).sort(([keyA], [keyB]) => keyA.localeCompare(keyB))) {
202
+ if (key === "headers" || IGNORED_FETCH_CACHE_OPTION_KEYS.has(key)) continue;
203
+ if (key === "body") {
204
+ identity.body = bodyIdentity;
205
+ continue;
206
+ }
207
+ if (value == null || [
208
+ "boolean",
209
+ "number",
210
+ "string"
211
+ ].includes(typeof value)) {
212
+ identity[key] = value;
213
+ continue;
214
+ }
215
+ return {
216
+ cacheable: false,
217
+ identity: void 0
218
+ };
219
+ }
220
+ if (!Object.prototype.hasOwnProperty.call(options, "body") && bodyIdentity !== void 0) identity.body = bodyIdentity;
221
+ return {
222
+ cacheable: true,
223
+ identity
224
+ };
225
+ }
226
+ function getFetchCacheKey(url, options, method, format) {
227
+ const bodyForCacheKey = getBodyForFetchCacheKey(options.body ?? (url instanceof Request ? url.body : void 0));
228
+ if (!bodyForCacheKey.cacheable) return null;
229
+ const optionsForCacheKey = getOptionsForFetchCacheKey(options, bodyForCacheKey.identity);
230
+ if (!optionsForCacheKey.cacheable) return null;
231
+ return getScopedCacheKey(`fetch:v3:${hashFetchCacheKey({
232
+ format,
233
+ headers: getHeadersForCacheKey(url, options),
234
+ method,
235
+ options: optionsForCacheKey.identity,
236
+ url: url instanceof Request ? url.url : String(url)
237
+ })}`);
238
+ }
239
+ function getAbortSignalId(signal) {
240
+ let signalId = abortSignalIds.get(signal);
241
+ if (signalId === void 0) {
242
+ signalId = ++nextAbortSignalId;
243
+ abortSignalIds.set(signal, signalId);
244
+ }
245
+ return signalId;
246
+ }
247
+ function getInflightFetchCacheKey(cacheKey, url, options) {
248
+ const signal = options.signal ?? (url instanceof Request ? url.signal : void 0);
249
+ return signal ? `${cacheKey}:signal:${getAbortSignalId(signal)}` : cacheKey;
250
+ }
134
251
  function serializeFetchResponse(data, status, statusText, headers, latencyMs) {
135
252
  return JSON.stringify({
136
253
  data,
@@ -222,7 +339,8 @@ async function fetchWithCache(url, options = {}, timeout = REQUEST_TIMEOUT_MS, f
222
339
  "PUT",
223
340
  "DELETE"
224
341
  ].includes(method);
225
- if (!enabled || bust) {
342
+ const cacheKey = enabled && !bust ? getFetchCacheKey(url, options, method, format) : null;
343
+ if (!enabled || bust || cacheKey == null) {
226
344
  const { respText, resp, fetchLatencyMs } = await fetchAndReadBody(url, options, timeout, maxRetries, isIdempotent);
227
345
  try {
228
346
  return {
@@ -238,25 +356,23 @@ async function fetchWithCache(url, options = {}, timeout = REQUEST_TIMEOUT_MS, f
238
356
  throw new Error(`Error parsing response as JSON: ${respText}`);
239
357
  }
240
358
  }
241
- const copy = Object.assign({}, options);
242
- delete copy.headers;
243
- const cacheKey = getScopedCacheKey(`fetch:v2:${url}:${JSON.stringify(copy)}`);
244
359
  const cache = getCacheInstance();
245
360
  const cachedResponse = await cache.get(cacheKey);
246
361
  if (cachedResponse != null) {
247
362
  logger.debug(`Returning cached response for ${url}: ${cachedResponse}`);
248
363
  return deserializeFetchResponse(cachedResponse, true, cache, cacheKey);
249
364
  }
250
- let inflightResponse = inflightFetchResponses.get(cacheKey);
365
+ const inflightCacheKey = getInflightFetchCacheKey(cacheKey, url, options);
366
+ let inflightResponse = inflightFetchResponses.get(inflightCacheKey);
251
367
  if (!inflightResponse) {
252
368
  inflightResponse = (async () => {
253
369
  const preparedResponse = await prepareFetchResponse(url, options, timeout, maxRetries, isIdempotent, format);
254
370
  if (preparedResponse.cacheable) await cache.set(cacheKey, preparedResponse.response);
255
371
  return preparedResponse.response;
256
372
  })().finally(() => {
257
- inflightFetchResponses.delete(cacheKey);
373
+ inflightFetchResponses.delete(inflightCacheKey);
258
374
  });
259
- inflightFetchResponses.set(cacheKey, inflightResponse);
375
+ inflightFetchResponses.set(inflightCacheKey, inflightResponse);
260
376
  }
261
377
  return deserializeFetchResponse(await inflightResponse, false, cache, cacheKey);
262
378
  }
@@ -275,6 +391,6 @@ function isCacheEnabled() {
275
391
  return enabled;
276
392
  }
277
393
  //#endregion
278
- export { fetchWithCache as a, withCacheNamespace as c, enableCache as i, clearCache as n, getCache as o, disableCache as r, isCacheEnabled as s, cache_exports as t };
394
+ export { fetchWithCache as a, isCacheEnabled as c, enableCache as i, withCacheNamespace as l, clearCache as n, getCache as o, disableCache as r, getScopedCacheKey as s, cache_exports as t };
279
395
 
280
- //# sourceMappingURL=cache-BI5BY7ey.js.map
396
+ //# sourceMappingURL=cache-DpPWrkTE.js.map