promptfoo 0.121.5 → 0.121.8

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-BIFntVWB.cjs → accounts-BVz5gHLK.cjs} +16 -10
  3. package/dist/src/{accounts-bnyHT7Ju.js → accounts-BWjqwsrf.js} +12 -7
  4. package/dist/src/{accounts-CLJHCDDb.js → accounts-D6IBfEE0.js} +13 -8
  5. package/dist/src/{accounts-CaLNYnf7.js → accounts-DAv_0iE7.js} +12 -7
  6. package/dist/src/{agentic-utils-B5krlibj.js → agentic-utils-BJKAkz2e.js} +2 -2
  7. package/dist/src/{agentic-utils-D2x0wGhB.cjs → agentic-utils-C-A92xhn.cjs} +8 -7
  8. package/dist/src/{agentic-utils-Ba67xmgs.js → agentic-utils-DmoS_S4B.js} +2 -2
  9. package/dist/src/{agentic-utils-BclbiXiq.js → agentic-utils-GdToujHu.js} +2 -2
  10. package/dist/src/{agents-BGqaTDnr.js → agents-2C8NN6I1.js} +20 -9
  11. package/dist/src/{agents-n6vPqV3i.js → agents-BMAiSR2o.js} +4 -4
  12. package/dist/src/{agents-BYdMl1UE.js → agents-C-PGaxwj.js} +20 -9
  13. package/dist/src/{agents-BV9yFpXX.js → agents-C98cz5pl.js} +20 -9
  14. package/dist/src/{agents-WULPVjbH.cjs → agents-DB8Ub2Ld.cjs} +7 -6
  15. package/dist/src/{agents-DhxWMCtH.js → agents-Dwshy2H8.js} +4 -4
  16. package/dist/src/{agents-emVcx3yh.js → agents-mlKjx-cK.js} +2 -2
  17. package/dist/src/{agents-DiWmQYH9.cjs → agents-n2ej-c4H.cjs} +21 -10
  18. package/dist/src/{aimlapi-DR4pgeiC.js → aimlapi-Bi-laUlp.js} +6 -6
  19. package/dist/src/{aimlapi-BzLjZI_m.cjs → aimlapi-D0OFV4Vj.cjs} +7 -7
  20. package/dist/src/{aimlapi-BxqK9HF_.js → aimlapi-WyUK0wYy.js} +6 -6
  21. package/dist/src/{aimlapi-uPGp0Zdo.js → aimlapi-v-63ZjEI.js} +6 -6
  22. package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -1
  23. package/dist/src/app/assets/Report-sCXUfaWo.js +1 -0
  24. package/dist/src/app/assets/index-BopgkZEh.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-CScmnmEB.js → audio-DnEIHWZR.js} +3 -3
  34. package/dist/src/{audio-Da8U9IS5.js → audio-heR0mu0n.js} +3 -3
  35. package/dist/src/{audio-BvpTOArF.js → audio-wafFO1wn.js} +3 -3
  36. package/dist/src/{audio-C0vDeS0j.cjs → audio-x44tsxIo.cjs} +4 -4
  37. package/dist/src/authoritativeMarkupInjection-2G3Be6oL.cjs +74 -0
  38. package/dist/src/authoritativeMarkupInjection-81PPynHR.js +75 -0
  39. package/dist/src/authoritativeMarkupInjection-D9O70HPi.js +74 -0
  40. package/dist/src/authoritativeMarkupInjection-PxSf3Rh8.js +74 -0
  41. package/dist/src/{base-dYsl2hmL.js → base-0Gzzue9Z.js} +4 -3
  42. package/dist/src/{base-BOMaNEes.js → base-Bp4c52YZ.js} +4 -3
  43. package/dist/src/{base-BTux96b1.js → base-BuNn-YBX.js} +4 -3
  44. package/dist/src/{base-Tw6uhH8K.cjs → base-BzdS8tod.cjs} +5 -4
  45. package/dist/src/bestOfN-BHiOjeaq.js +136 -0
  46. package/dist/src/bestOfN-CdkNPPbX.js +136 -0
  47. package/dist/src/bestOfN-ClUSOhN0.js +137 -0
  48. package/dist/src/bestOfN-DWwXEg1h.cjs +140 -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-BKYi3kAA.js +3 -0
  54. package/dist/src/{cache-BI5BY7ey.js → cache-BR77mdIR.js} +127 -11
  55. package/dist/src/{cache-Cr-qWIbP.js → cache-CrioYnaa.js} +125 -10
  56. package/dist/src/{cache-Bzttsk0X.js → cache-DdriHsNX.js} +125 -10
  57. package/dist/src/{cache-DGg-yTZG.cjs → cache-h5MWOBZI.cjs} +135 -25
  58. package/dist/src/{chat-Cx_LkwvZ.js → chat-BBEnnpQk.js} +11 -11
  59. package/dist/src/{chat-DChSH_Es.js → chat-BSos6PvZ.js} +9 -9
  60. package/dist/src/{chat-aMQZw6R7.js → chat-Bnt7ieO0.js} +4 -4
  61. package/dist/src/{chat-vYqqv1gP.cjs → chat-DSyYuTYT.cjs} +14 -13
  62. package/dist/src/{chat-BLOdH60v.js → chat-DTdf-J5Q.js} +11 -11
  63. package/dist/src/{chat-DH97tVV9.cjs → chat-Dq3DomYU.cjs} +6 -6
  64. package/dist/src/{chat-DG2LkwLq.js → chat-g5QLeLOo.js} +4 -4
  65. package/dist/src/{chat-D9nudO9b.js → chat-mTTuUAYb.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-DYv_AJ8u.js → claude-agent-sdk-BGUac_kS.js} +213 -66
  71. package/dist/src/{claude-agent-sdk-BjriSVRZ.js → claude-agent-sdk-BP__YGfK.js} +213 -66
  72. package/dist/src/{claude-agent-sdk-BzNZeZ0N.js → claude-agent-sdk-Ddgx5BIQ.js} +212 -65
  73. package/dist/src/{claude-agent-sdk-BRq0bbIK.cjs → claude-agent-sdk-n2XcEclh.cjs} +219 -71
  74. package/dist/src/cloud-DiWbUiVP.js +3 -0
  75. package/dist/src/{cloud-Da0bofJd.js → cloud-DqF5N1aJ.js} +2 -2
  76. package/dist/src/{cloudflare-ai-CXC4b1EU.js → cloudflare-ai-BGamMotN.js} +4 -4
  77. package/dist/src/{cloudflare-ai-DGOwgexC.js → cloudflare-ai-BwW8W-w7.js} +4 -4
  78. package/dist/src/{cloudflare-ai-DJv5qnyb.cjs → cloudflare-ai-DCRGnsyL.cjs} +6 -6
  79. package/dist/src/{cloudflare-ai-CyBoIs1Q.js → cloudflare-ai-sD26nP6V.js} +4 -4
  80. package/dist/src/{cloudflare-gateway-TJkVrZlB.js → cloudflare-gateway-2lnOT4qM.js} +3 -3
  81. package/dist/src/{cloudflare-gateway-D-dnkzCF.js → cloudflare-gateway-B1-8KNCt.js} +3 -3
  82. package/dist/src/{cloudflare-gateway-DKVjkDav.cjs → cloudflare-gateway-CCC1DFrC.cjs} +5 -5
  83. package/dist/src/{cloudflare-gateway-1sAoOyft.js → cloudflare-gateway-DOghiU6r.js} +3 -3
  84. package/dist/src/{codex-app-server-CCLjqCh9.js → codex-app-server-BWeWamEb.js} +19 -4
  85. package/dist/src/{codex-app-server-CCe0TiDc.js → codex-app-server-DyQB1P0p.js} +20 -5
  86. package/dist/src/{codex-app-server-VMRnjZ68.cjs → codex-app-server-R9u_G7W9.cjs} +27 -11
  87. package/dist/src/{codex-app-server-CPW1LFwh.js → codex-app-server-ZQRJSJjU.js} +20 -5
  88. package/dist/src/{codex-sdk-Bzb_TqX9.js → codex-sdk-B62H0fe7.js} +16 -5
  89. package/dist/src/{codex-sdk-Bd8UbO9q.cjs → codex-sdk-BRPUvJG8.cjs} +31 -12
  90. package/dist/src/{codex-sdk-BgEFQ70r.js → codex-sdk-Dio1zJBS.js} +18 -7
  91. package/dist/src/codex-sdk-DxukZs_K.js +3 -0
  92. package/dist/src/{codex-sdk-DfvDTN33.js → codex-sdk-iEmW1eS2.js} +18 -7
  93. package/dist/src/{cometapi-B5ImDlSm.js → cometapi--hh7dESS.js} +7 -7
  94. package/dist/src/{cometapi-CC7hWxmX.js → cometapi-C7yWNGqt.js} +7 -7
  95. package/dist/src/{cometapi-CCbpHkuF.js → cometapi-CSIi16a0.js} +7 -7
  96. package/dist/src/{cometapi-BgAkuYCw.cjs → cometapi-sZgBZtbU.cjs} +8 -8
  97. package/dist/src/{completion-DtQ72Bm3.cjs → completion-CWtqdn3z.cjs} +6 -6
  98. package/dist/src/{completion-Vq_ad618.js → completion-DT8cxo9T.js} +4 -4
  99. package/dist/src/{completion-2iuYVxwi.js → completion-DUScduXp.js} +5 -5
  100. package/dist/src/{completion-CrD6MQ93.js → completion-D_2IOAoS.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-B41TwUHM.js +722 -0
  110. package/dist/src/crescendo-Bfic7KC4.js +724 -0
  111. package/dist/src/crescendo-DXFB7rHP.cjs +725 -0
  112. package/dist/src/crescendo-DvvYxMLA.js +723 -0
  113. package/dist/src/custom-BdzuqFTN.js +619 -0
  114. package/dist/src/custom-Cf5Q6r-P.js +618 -0
  115. package/dist/src/custom-DLgufezC.js +620 -0
  116. package/dist/src/custom-LEXHCRe3.cjs +621 -0
  117. package/dist/src/{docker--3qzPa-6.js → docker-BOSO_6hK.js} +5 -5
  118. package/dist/src/{docker-D3AY-5F5.cjs → docker-D0h2vFrc.cjs} +6 -6
  119. package/dist/src/{docker-DCsCDvwM.js → docker-D2TWGyTP.js} +5 -5
  120. package/dist/src/{docker-Dorv4_Dg.js → docker-Vj_4_cPg.js} +5 -5
  121. package/dist/src/{embedding-BXhN5lCH.cjs → embedding-BQIApR18.cjs} +6 -6
  122. package/dist/src/{embedding-ChS1ivFS.js → embedding-CStK0TV6.js} +5 -5
  123. package/dist/src/{embedding-DNRvZwRN.js → embedding-CU78FMnw.js} +5 -5
  124. package/dist/src/{embedding-D_bI4NDq.js → embedding-CV8lmCnU.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-B3BaNBbO.js} +19 -19
  130. package/dist/src/{eval-BQPLBJbw.js → eval-DfR9885C.js} +1 -1
  131. package/dist/src/evalResult-BtZSUgQv.js +3 -0
  132. package/dist/src/{evalResult-D6P5I5il.js → evalResult-CcSqNl_Y.js} +17 -10
  133. package/dist/src/{evalResult-Cx-8OWkb.cjs → evalResult-DHXs-9TL.cjs} +29 -11
  134. package/dist/src/{evalResult-pSvGWFMo.js → evalResult-PGqEbasb.js} +18 -11
  135. package/dist/src/evaluator-B9LGbKI8.js +3 -0
  136. package/dist/src/{evaluator-D-UIbbYq.js → evaluator-n_dEb00o.js} +258 -132
  137. package/dist/src/evaluatorHelpers-CrRObe2z.js +510 -0
  138. package/dist/src/evaluatorHelpers-D06I9WFL.cjs +537 -0
  139. package/dist/src/evaluatorHelpers-D1_kwvyp.js +511 -0
  140. package/dist/src/{extractor-DxyiFhPk.js → extractor-BVkZtk4R.js} +5 -5
  141. package/dist/src/{extractor-BM3jRERL.js → extractor-D3Fv_Tdh.js} +5 -5
  142. package/dist/src/{extractor-YlZbUMsL.js → extractor-Jp53vs-6.js} +5 -5
  143. package/dist/src/{extractor-Dxr2J_wK.cjs → extractor-bV_NOoaz.cjs} +6 -6
  144. package/dist/src/{fetch-Y5qX_kST.js → fetch-BSSAcMxf.js} +90 -26
  145. package/dist/src/fetch-BodQTrMU.js +3 -0
  146. package/dist/src/{fetch-NuqXW1Xb.cjs → fetch-Cfm4EuOB.cjs} +115 -32
  147. package/dist/src/{fetch-B6ch2nU2.js → fetch-Cpf1U1nO.js} +86 -26
  148. package/dist/src/{fetch-D9xxyC1p.js → fetch-Doks14zQ.js} +90 -26
  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-Ba7Gznzq.js +467 -0
  158. package/dist/src/goat-CJngS-WU.js +468 -0
  159. package/dist/src/goat-CwsbfQeu.js +466 -0
  160. package/dist/src/goat-DOMbozoX.cjs +470 -0
  161. package/dist/src/graders-B3D7kCcD.js +3 -0
  162. package/dist/src/{graders-CgPn32yp.js → graders-BQt1BaQe.js} +1019 -86
  163. package/dist/src/{graders-Bw1wk_21.cjs → graders-CBQ2s6gz.cjs} +1087 -130
  164. package/dist/src/{graders-CwrbifOo.js → graders-DaRU98zs.js} +1022 -84
  165. package/dist/src/{graders-BoUqsCEm.js → graders-KXzjnIim.js} +1024 -86
  166. package/dist/src/hydra-BU6GjYoQ.js +560 -0
  167. package/dist/src/hydra-BmXHxlyl.js +559 -0
  168. package/dist/src/hydra-CR0KyYDb.js +561 -0
  169. package/dist/src/hydra-RO9jBks7.cjs +560 -0
  170. package/dist/src/{image-BeWaInPF.js → image-BBmZdKO3.js} +3 -3
  171. package/dist/src/{image-qjO6FWPs.js → image-B_PFG7IG.js} +3 -3
  172. package/dist/src/image-BtODOZjh.js +442 -0
  173. package/dist/src/image-CYuNJIqd.js +442 -0
  174. package/dist/src/{image-D10dNAav.cjs → image-E00WFZkq.cjs} +4 -4
  175. package/dist/src/image-HK2Cfqb1.cjs +465 -0
  176. package/dist/src/{image-Dr_3I3nK.js → image-LGj8dTcr.js} +3 -3
  177. package/dist/src/image-YMKejC0r.js +443 -0
  178. package/dist/src/index.cjs +711 -339
  179. package/dist/src/index.d.cts +3159 -1611
  180. package/dist/src/index.d.ts +3158 -1610
  181. package/dist/src/index.js +605 -249
  182. package/dist/src/indirectWebPwn-B80dLlFC.js +260 -0
  183. package/dist/src/indirectWebPwn-BMTXXznx.js +386 -0
  184. package/dist/src/indirectWebPwn-BZFPV7Q9.js +385 -0
  185. package/dist/src/indirectWebPwn-BaEQEOIO.cjs +260 -0
  186. package/dist/src/indirectWebPwn-BzpyMnFS.js +259 -0
  187. package/dist/src/indirectWebPwn-CiWB-vVH.js +385 -0
  188. package/dist/src/indirectWebPwn-D7NA9Nsv.cjs +397 -0
  189. package/dist/src/indirectWebPwn-o_bEFMjP.js +259 -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-B-l0syBV.js +501 -0
  197. package/dist/src/iterative-BACUeCCz.cjs +503 -0
  198. package/dist/src/iterative-CVwoExo8.js +502 -0
  199. package/dist/src/iterative-QDrGSyss.js +500 -0
  200. package/dist/src/iterativeImage-BQg2OwA6.js +413 -0
  201. package/dist/src/iterativeImage-Bwn0fM75.js +413 -0
  202. package/dist/src/iterativeImage-CcgVyASo.cjs +415 -0
  203. package/dist/src/iterativeImage-D_UbQXg4.js +414 -0
  204. package/dist/src/iterativeMeta-CIu-CHRS.js +405 -0
  205. package/dist/src/iterativeMeta-CN8CNjFA.js +406 -0
  206. package/dist/src/iterativeMeta-DN6BTjpq.js +404 -0
  207. package/dist/src/iterativeMeta-DlqY3BsS.cjs +405 -0
  208. package/dist/src/iterativeTree-CJ8a8G9T.js +820 -0
  209. package/dist/src/iterativeTree-DcuFXnjL.js +819 -0
  210. package/dist/src/iterativeTree-FrDDYAN0.js +818 -0
  211. package/dist/src/iterativeTree-LOgAi0nU.cjs +821 -0
  212. package/dist/src/{knowledgeBase-C8qOo26M.cjs → knowledgeBase-CdbcGBZF.cjs} +25 -11
  213. package/dist/src/{knowledgeBase-BBETc5-S.js → knowledgeBase-CjOXp6Lr.js} +23 -9
  214. package/dist/src/{knowledgeBase-Dr3Kib7F.js → knowledgeBase-DxAq4n4z.js} +24 -10
  215. package/dist/src/{knowledgeBase-CzAi2rUI.js → knowledgeBase-o_wTLzrt.js} +24 -10
  216. package/dist/src/{litellm-DRc4qWfc.js → litellm-B2gHwya_.js} +4 -4
  217. package/dist/src/{litellm-CaUmV7Mk.cjs → litellm-CPpdlO7n.cjs} +5 -5
  218. package/dist/src/{litellm-BLSiANhk.js → litellm-CYfgxLrM.js} +4 -4
  219. package/dist/src/{litellm-DQGo_juI.js → litellm-ojWBKU3C.js} +4 -4
  220. package/dist/src/{logger-COuQb2xB.cjs → logger-cfNpzI4o.cjs} +13 -55
  221. package/dist/src/{luma-ray-if-Ml4R9.cjs → luma-ray-BCCO9XXG.cjs} +9 -8
  222. package/dist/src/{luma-ray-B-tNZzqW.js → luma-ray-BPrdihAb.js} +5 -5
  223. package/dist/src/{luma-ray-CtS3OlGq.js → luma-ray-DP5N79lB.js} +5 -5
  224. package/dist/src/{luma-ray-PJJgUjOc.js → luma-ray-DTDyoAlM.js} +5 -5
  225. package/dist/src/main.js +727 -234
  226. package/dist/src/memoryPoisoning-B6N3us35.cjs +106 -0
  227. package/dist/src/memoryPoisoning-Bc_BK_k2.js +106 -0
  228. package/dist/src/memoryPoisoning-D375zwSX.js +107 -0
  229. package/dist/src/memoryPoisoning-DJA0YjJT.js +106 -0
  230. package/dist/src/{messages-CewuNcNS.js → messages-Bg29Nbit.js} +17 -9
  231. package/dist/src/{messages-BnsVHUnm.cjs → messages-BrZEnHsV.cjs} +24 -15
  232. package/dist/src/{messages-CI69Lasb.js → messages-CBulRaud.js} +18 -10
  233. package/dist/src/{messages-B9dSjrNf.js → messages-K9A8RxBM.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-BDLwSGN0.js +46 -0
  239. package/dist/src/mischievousUser-Blx-OtT3.js +47 -0
  240. package/dist/src/mischievousUser-CHuTTvBg.js +46 -0
  241. package/dist/src/mischievousUser-CSUrH3fq.cjs +46 -0
  242. package/dist/src/{modelslab-zpz9JcK0.js → modelslab-BjEk7yCP.js} +6 -6
  243. package/dist/src/{modelslab-BCLOtfek.js → modelslab-CBCrdIBc.js} +6 -6
  244. package/dist/src/{modelslab-D73OnKSx.js → modelslab-CrGpXuhv.js} +6 -6
  245. package/dist/src/{modelslab-BkapYJhh.cjs → modelslab-Cvh0klQx.cjs} +7 -7
  246. package/dist/src/{nova-reel-B8F_TK5w.js → nova-reel-CUDDZcSA.js} +5 -5
  247. package/dist/src/{nova-reel-Bx0NFV2f.js → nova-reel-CyDESu5J.js} +5 -5
  248. package/dist/src/{nova-reel-DkT7tnoB.cjs → nova-reel-DH_Ksu6X.cjs} +9 -8
  249. package/dist/src/{nova-reel-CNGJTLtG.js → nova-reel-YQAqUYJY.js} +5 -5
  250. package/dist/src/{nova-sonic-BeTRaFOh.js → nova-sonic-BVFFB7JZ.js} +2 -2
  251. package/dist/src/{nova-sonic-YT426juD.cjs → nova-sonic-Bg3cxMMu.cjs} +5 -4
  252. package/dist/src/{nova-sonic-CL7Zqv0G.js → nova-sonic-BhmnRGyh.js} +3 -3
  253. package/dist/src/{nova-sonic-BaXRN1cr.js → nova-sonic-DxmK95c1.js} +3 -3
  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-DUBZP3GL.cjs → openclaw-CHQaZi_-.cjs} +17 -15
  258. package/dist/src/{openclaw-DA8U4DsD.js → openclaw-CWOm2eOr.js} +9 -8
  259. package/dist/src/{openclaw-DObVgpjC.js → openclaw-Cdk9JKfY.js} +9 -8
  260. package/dist/src/{openclaw-Bq7RVR3k.js → openclaw-DhF8rUpI.js} +9 -8
  261. package/dist/src/{opencode-sdk-BB40Wir1.js → opencode-sdk-BRjiPV-g.js} +38 -3
  262. package/dist/src/{opencode-sdk-CeqiOcOU.cjs → opencode-sdk-CPFMw0ed.cjs} +45 -9
  263. package/dist/src/{opencode-sdk-BM1UAIv1.js → opencode-sdk-CaSOCsBA.js} +39 -4
  264. package/dist/src/{opencode-sdk-ChdK7F7z.js → opencode-sdk-CqkyG8De.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-BU4_0J85.js +238 -0
  282. package/dist/src/promptfoo-CReYAtfb.js +237 -0
  283. package/dist/src/promptfoo-ClChwT74.cjs +292 -0
  284. package/dist/src/promptfoo-CqEpj6Sr.js +237 -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-B7TyByfj.js} +789 -11925
  297. package/dist/src/{providers-CJh7iriU.js → providers-BGc7tDtQ.js} +796 -11872
  298. package/dist/src/{providers-Ctcc592x.js → providers-CSOp-bCm.js} +1 -1
  299. package/dist/src/{providers-eDShy16E.cjs → providers-V6RBuieY.cjs} +837 -12138
  300. package/dist/src/{providers-DRrerKra.js → providers-iH3Sw1yo.js} +851 -11938
  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-CPKhWgaT.js → quiverai-58BtRRet.js} +3 -3
  306. package/dist/src/{quiverai-Bk1KrvL6.js → quiverai-C1dYu5MW.js} +3 -3
  307. package/dist/src/{quiverai-BSS9a7wV.js → quiverai-CNMIpZQg.js} +3 -3
  308. package/dist/src/{quiverai-Bpx6MZ7T.cjs → quiverai-fmSfU43k.cjs} +4 -4
  309. package/dist/src/registry-6Jw6ebor.cjs +124 -0
  310. package/dist/src/registry-BTGk2ZkB.js +124 -0
  311. package/dist/src/registry-BTNqmP5o.js +125 -0
  312. package/dist/src/registry-NGnOG2xa.js +124 -0
  313. package/dist/src/{server-gyd6d4Hc.js → remoteGeneration--D6WjzUm.js} +15 -108
  314. package/dist/src/{server-BEECpeGG.cjs → remoteGeneration-BpIYlb_O.cjs} +30 -119
  315. package/dist/src/{server-ByxbqAcQ.js → remoteGeneration-CJC3E0aW.js} +15 -147
  316. package/dist/src/remoteGeneration-D6UjE2JT.js +218 -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-1ztiVYsx.js → responses-5Gf5HNOi.js} +11 -7
  327. package/dist/src/{responses-BiaBguAu.js → responses-BVi7xIdv.js} +13 -9
  328. package/dist/src/{responses-CF-ayauu.cjs → responses-CUARGrhY.cjs} +16 -11
  329. package/dist/src/{responses-B8haB-mD.js → responses-CrmWv6iz.js} +13 -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-ljtY12VM.cjs → sagemaker-BeVTKfrv.cjs} +65 -53
  341. package/dist/src/{sagemaker-BDLeW29y.js → sagemaker-BwbV5U7_.js} +61 -50
  342. package/dist/src/{sagemaker-C5T60MKf.js → sagemaker-ClAZ6Qwc.js} +61 -50
  343. package/dist/src/{sagemaker-ClS_NB07.js → sagemaker-DY2qrOpq.js} +61 -50
  344. package/dist/src/{scanner-nOCWNIXa.js → scanner-BS-iFIp3.js} +6 -6
  345. package/dist/src/server/index.js +4115 -420
  346. package/dist/src/server-BHOEL8p8.cjs +126 -0
  347. package/dist/src/server-CbiJppij.js +107 -0
  348. package/dist/src/server-D18AAlAc.js +3 -0
  349. package/dist/src/server-DLYjSFm2.js +182 -0
  350. package/dist/src/server-JQYD_Nws.js +146 -0
  351. package/dist/src/{fileExtensions-8CjoL7vB.js → shared-BoG7qLMv.js} +12 -2
  352. package/dist/src/shared-CRq0gGVf.js +1334 -0
  353. package/dist/src/shared-CSIGeGLl.js +1334 -0
  354. package/dist/src/shared-DNvim54U.js +1335 -0
  355. package/dist/src/shared-aHWko3P1.cjs +1436 -0
  356. package/dist/src/{signal-DTtUuU3l.js → signal-CSurUUyV.js} +2 -2
  357. package/dist/src/simulatedUser-C7sOFSF6.js +222 -0
  358. package/dist/src/simulatedUser-DH_7RzEQ.js +222 -0
  359. package/dist/src/simulatedUser-lgMMmniD.js +223 -0
  360. package/dist/src/simulatedUser-mnCUS9Bm.cjs +227 -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-95htjpLs.js +834 -0
  366. package/dist/src/storage-A4WnAeN3.cjs +911 -0
  367. package/dist/src/storage-B2Ql_oq4.js +822 -0
  368. package/dist/src/storage-EKVWZBNY.js +875 -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-CBI1brSy.js +2333 -0
  374. package/dist/src/strategies-CCcnEbFO.cjs +2360 -0
  375. package/dist/src/strategies-CD1gHeeQ.js +2331 -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-BUm_krVX.js +3 -0
  381. package/dist/src/{telemetry--iqaGyaS.js → telemetry-BbpmrenM.js} +4 -4
  382. package/dist/src/{telemetry-CgdVGV8N.js → telemetry-C4bX-6Sr.js} +4 -4
  383. package/dist/src/{telemetry-CEQxGnMZ.cjs → telemetry-C_ImlCOk.cjs} +15 -9
  384. package/dist/src/{telemetry-DWdGHvEf.js → telemetry-DOE567Wj.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-BOP1FsRt.js +220 -0
  396. package/dist/src/tracingOptions-BvmDa_jH.js +219 -0
  397. package/dist/src/tracingOptions-DFBoE8O0.cjs +249 -0
  398. package/dist/src/tracingOptions-xhjOg2b1.js +221 -0
  399. package/dist/src/{transcription-D7Q0vJsh.js → transcription-BOXDoehT.js} +4 -4
  400. package/dist/src/{transcription-Bm2emLmJ.js → transcription-CpVdKc4P.js} +5 -5
  401. package/dist/src/{transcription-CZ4LG5hQ.cjs → transcription-D8kkPXg_.cjs} +9 -8
  402. package/dist/src/{transcription-84t4ALo2.js → transcription-Z94eV9LR.js} +5 -5
  403. package/dist/src/transform-BnSTnFlp.js +187 -0
  404. package/dist/src/transform-BnSXWmU_2.cjs +221 -0
  405. package/dist/src/{transform-DtooZqYY.js → transform-BufxPIQL.js} +8 -8
  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-DJkt81VY.cjs} +12 -11
  409. package/dist/src/{transform-B-b6Cq-q.js → transform-DtTfiGoh.js} +8 -8
  410. package/dist/src/{transform-_DpNB4qp.js → transform-Wp6s_5QE.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-Dpmm_dAI.cjs → util-BHCAeuXx.cjs} +33 -7
  420. package/dist/src/{util-DFPeFkiV.js → util-CMrHV35u.js} +28 -8
  421. package/dist/src/{util-DvpHnLt0.cjs → util-COnzevXE.cjs} +29 -21
  422. package/dist/src/{util-BlFVL0UF.js → util-CYev3d-r.js} +22 -7
  423. package/dist/src/util-DGqkTb2-.js +327 -0
  424. package/dist/src/util-DNtUsus_.cjs +386 -0
  425. package/dist/src/{util-Dub0f_ej.js → util-DRfqa4xz.js} +17 -10
  426. package/dist/src/{util-BVXcTwXu.js → util-DTq3jq2z.js} +28 -8
  427. package/dist/src/{util-C-kmRosx.js → util-DeY58psG.js} +22 -7
  428. package/dist/src/util-DpV6KT5i.js +327 -0
  429. package/dist/src/{util-3pBZZb_H.js → util-DwNJzqOV.js} +45 -10
  430. package/dist/src/util-ETfU_sS9.js +328 -0
  431. package/dist/src/{util-A5_ZsQUn.cjs → util-NYQvo1C7.cjs} +25 -9
  432. package/dist/src/{util-DN0-b81k.js → util-X4KQgyVD.js} +28 -8
  433. package/dist/src/{util-BQOCAHQC.js → util-jZRrXe1P.js} +46 -11
  434. package/dist/src/{util-B9CNhyac.js → util-o2Qg5rZv.js} +22 -7
  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-CHR-EFec.js} +2 -2
  440. package/dist/src/{version-CbpiUINz.js → version-F0YDgb7J.js} +2 -2
  441. package/dist/src/{version-D9zu9FWB.cjs → version-VzUqOBZk.cjs} +2 -2
  442. package/dist/src/{version-0frU0UTr.js → version-qVEN5qCm.js} +2 -2
  443. package/dist/tsconfig.tsbuildinfo +1 -1
  444. package/package.json +49 -23
  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,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-Cpf1U1nO.js";
5
+ import { a as cloudConfig } from "./cloud-DqF5N1aJ.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-BR77mdIR.js.map
@@ -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-KD8JjCRJ.js";
3
- import { d as sleep, h as REQUEST_TIMEOUT_MS, n as fetchWithRetries } from "./fetch-Y5qX_kST.js";
3
+ import { a as getFetchWithProxyHeaders, l as cloudConfig, m as sleep, n as fetchWithRetries, s as isPromptfooCloudApiHost, v as REQUEST_TIMEOUT_MS } from "./fetch-BSSAcMxf.js";
4
+ import { n as sha256 } from "./createHash-CGVzWdjj.js";
4
5
  import { AsyncLocalStorage } from "node:async_hooks";
5
6
  import fs from "fs";
6
7
  import path from "path";
@@ -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-Cr-qWIbP.js.map
425
+ //# sourceMappingURL=cache-CrioYnaa.js.map
@@ -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-Doks14zQ.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-DdriHsNX.js.map