promptfoo 0.121.4 → 0.121.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (497) hide show
  1. package/dist/src/{ListApp-DQkFNqE9.js → ListApp-DLmM02JS.js} +1 -1
  2. package/dist/src/{accounts-DhMYUUbu.js → accounts-Ca7WIoPY.js} +12 -7
  3. package/dist/src/{accounts-F9d_5sMC.js → accounts-CjFnOPmb.js} +14 -9
  4. package/dist/src/{accounts-Dy17bs4D.cjs → accounts-CmWzeD2d.cjs} +16 -10
  5. package/dist/src/{accounts-DdJ2pHMI.js → accounts-DanM1wq_.js} +13 -8
  6. package/dist/src/{agentic-utils-qFlm6zes.js → agentic-utils-CJ0j3fBi.js} +3 -3
  7. package/dist/src/{agentic-utils-w68v6_Dz.js → agentic-utils-DDEGRV9v.js} +3 -3
  8. package/dist/src/{agentic-utils-BpX5b23w.cjs → agentic-utils-DvPWSUpb.cjs} +8 -7
  9. package/dist/src/{agentic-utils-P172hM8B.js → agentic-utils-TxUEMPYS.js} +2 -2
  10. package/dist/src/{agents-BahDpe5G.cjs → agents-B4sRuXg3.cjs} +7 -6
  11. package/dist/src/{agents-pQeBEXMm.js → agents-B8q7h_ek.js} +5 -5
  12. package/dist/src/{agents-CgaMXvLM.js → agents-CBgJvRkB.js} +21 -10
  13. package/dist/src/{agents-C-R_jfzI.js → agents-CYn2n3QP.js} +4 -4
  14. package/dist/src/{agents-8FDnTriG.js → agents-D-vDNFx4.js} +21 -10
  15. package/dist/src/{agents-aYPQLf8W.js → agents-LrHuQqr1.js} +20 -9
  16. package/dist/src/{agents-DJ35I3Nt.js → agents-QGg76OF-.js} +5 -5
  17. package/dist/src/{agents-D7-HGxUj.cjs → agents-eHZ9nlgA.cjs} +21 -10
  18. package/dist/src/{aimlapi-sgYnkE54.js → aimlapi-CJEbQ0o6.js} +7 -7
  19. package/dist/src/{aimlapi-BD6J9oKt.js → aimlapi-D5HXzZ0s.js} +6 -6
  20. package/dist/src/{aimlapi-qcK4OT55.cjs → aimlapi-T6HGNxNe.cjs} +7 -7
  21. package/dist/src/{aimlapi-BCq3MHeL.js → aimlapi-eYv3a_DK.js} +7 -7
  22. package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -1
  23. package/dist/src/app/assets/Report-BNHJKN35.js +1 -0
  24. package/dist/src/app/assets/index-BnT6P6sF.js +388 -0
  25. package/dist/src/app/assets/index-yhM8y1PP.css +1 -0
  26. package/dist/src/app/assets/{scroll-timeline-D9IT_e8Z.js → scroll-timeline-RpeTwOvs.js} +1 -1
  27. package/dist/src/app/assets/sync-5gq6fmG4.js +4 -0
  28. package/dist/src/app/assets/vendor-charts-BL9OMNU7.js +36 -0
  29. package/dist/src/app/assets/{vendor-markdown-Ch00wnNI.js → vendor-markdown-BYsQqn7Z.js} +10 -10
  30. package/dist/src/app/assets/{vendor-react-CVvmk1UB.js → vendor-react-CqWgVW6T.js} +2 -2
  31. package/dist/src/app/assets/{vendor-utils-BnEYbx2Q.js → vendor-utils-BHPO71pu.js} +1 -1
  32. package/dist/src/app/index.html +31 -6
  33. package/dist/src/{audio-COrn8rM6.js → audio-BqnRvcWG.js} +3 -3
  34. package/dist/src/{audio-DcVKoInv.js → audio-CPMtV1yR.js} +4 -4
  35. package/dist/src/{audio-B7izf48x.js → audio-DyiebVB3.js} +4 -4
  36. package/dist/src/{audio-BQtNuYBj.cjs → audio-FnxbEnSE.cjs} +4 -4
  37. package/dist/src/authoritativeMarkupInjection-BZIywVjG.js +74 -0
  38. package/dist/src/authoritativeMarkupInjection-DyAXAsSr.js +75 -0
  39. package/dist/src/authoritativeMarkupInjection-F2gBw0lN.cjs +74 -0
  40. package/dist/src/authoritativeMarkupInjection-QEQmFS83.js +74 -0
  41. package/dist/src/{base-PYJvBE1i.js → base-CKLo890h.js} +4 -3
  42. package/dist/src/{base-fZ9wgg50.js → base-Co80MMCi.js} +5 -4
  43. package/dist/src/{base-D-670DX8.cjs → base-DGJW48uz.cjs} +5 -4
  44. package/dist/src/{base-yrI1Yal4.js → base-E9I8zXjz.js} +5 -4
  45. package/dist/src/bestOfN-B3wNzjSB.js +137 -0
  46. package/dist/src/bestOfN-BBsO41z4.js +136 -0
  47. package/dist/src/bestOfN-CAwmg5UL.cjs +140 -0
  48. package/dist/src/bestOfN-_kTi8Bxe.js +136 -0
  49. package/dist/src/{blobs-D2FAd1Q5.cjs → blobs-B0977K1O.cjs} +7 -6
  50. package/dist/src/{blobs-BCZavS8s.js → blobs-CeFdPn_T.js} +3 -3
  51. package/dist/src/{blobs-BQWqnnvL.js → blobs-DODuTK-a.js} +3 -3
  52. package/dist/src/{blobs-C-F78Kfn.js → blobs-Dwef1Ao1.js} +2 -2
  53. package/dist/src/{cache-BIyPcp5v.cjs → cache-CPGUA4Yl.cjs} +135 -25
  54. package/dist/src/cache-Cf7b4pWE.js +3 -0
  55. package/dist/src/{cache-D5NZmMiT.js → cache-DIXbtkNO.js} +125 -10
  56. package/dist/src/{cache-mb7c8hbp.js → cache-DpPWrkTE.js} +128 -12
  57. package/dist/src/{cache-C4Xb-hNb.js → cache-roFAE0cI.js} +126 -11
  58. package/dist/src/{chat-I9izLm49.js → chat-CUCorGiL.js} +12 -12
  59. package/dist/src/{chat-BPXSW8Bv.cjs → chat-DG1wG4w0.cjs} +6 -6
  60. package/dist/src/{chat-BfPaS15_.js → chat-Dabu84Br.js} +12 -12
  61. package/dist/src/{chat-Dr3DUQ0D.js → chat-DqUFcWI0.js} +12 -12
  62. package/dist/src/{chat-CclRbxGf.cjs → chat-DxTDQ83C.cjs} +14 -13
  63. package/dist/src/{chat-MKxMnZJZ.js → chat-GmlolEwo.js} +4 -4
  64. package/dist/src/{chat-0bwXjVP0.js → chat-TP8Qifkh.js} +6 -6
  65. package/dist/src/{chat-mW0ORo8G.js → chat-iwaM5UTQ.js} +6 -6
  66. package/dist/src/{chatkit-zUIVoDos.js → chatkit-B6DWi70Q.js} +4 -4
  67. package/dist/src/{chatkit-BoWoSgXl.cjs → chatkit-BYveR48_.cjs} +6 -5
  68. package/dist/src/{chatkit-Cv6AhukM.js → chatkit-fARZwEfV.js} +3 -3
  69. package/dist/src/{chatkit-CJnHRRMM.js → chatkit-lb6FK02w.js} +4 -4
  70. package/dist/src/{claude-agent-sdk-Dtq_L-Sc.js → claude-agent-sdk-BQNp_y-F.js} +212 -67
  71. package/dist/src/{claude-agent-sdk-BQNuLaAK.js → claude-agent-sdk-D5Jl0SDh.js} +212 -67
  72. package/dist/src/{claude-agent-sdk-CPJo3dBQ.cjs → claude-agent-sdk-DH416NBD.cjs} +218 -72
  73. package/dist/src/{claude-agent-sdk-nfAIcxNf.js → claude-agent-sdk-x1XJ1-pU.js} +212 -67
  74. package/dist/src/{cloud-DQZ5sVjW.js → cloud-D3DiFqH6.js} +3 -3
  75. package/dist/src/cloud-p96PA4MH.js +3 -0
  76. package/dist/src/{cloudflare-ai-BIB567w6.js → cloudflare-ai-B6NVI3ax.js} +4 -4
  77. package/dist/src/{cloudflare-ai-Dl3N9OVD.cjs → cloudflare-ai-CEAW-xQa.cjs} +6 -6
  78. package/dist/src/{cloudflare-ai-DlKr0rY7.js → cloudflare-ai-RFSojyXG.js} +6 -6
  79. package/dist/src/{cloudflare-ai-DGLte7Py.js → cloudflare-ai-r4tbYmWU.js} +6 -6
  80. package/dist/src/{cloudflare-gateway-CiIZHU0Q.js → cloudflare-gateway-BCkLouto.js} +5 -5
  81. package/dist/src/{cloudflare-gateway-DI1HNP5F.js → cloudflare-gateway-BaZ4insB.js} +3 -3
  82. package/dist/src/{cloudflare-gateway-BDZrYydE.js → cloudflare-gateway-CF-Vb-2Z.js} +5 -5
  83. package/dist/src/{cloudflare-gateway-BYDp495F.cjs → cloudflare-gateway-TJMLBj6I.cjs} +5 -5
  84. package/dist/src/codex-app-server-B8KHEiF4.js +1915 -0
  85. package/dist/src/codex-app-server-CnrLBCeA.cjs +1921 -0
  86. package/dist/src/codex-app-server-DIXZ230V.js +1915 -0
  87. package/dist/src/codex-app-server-Dd22dC_N.js +1916 -0
  88. package/dist/src/{codex-sdk-CpqiOqDO.js → codex-sdk-B6Wah8Pa.js} +6 -6
  89. package/dist/src/codex-sdk-BGjVAk23.js +3 -0
  90. package/dist/src/{codex-sdk-C2_M2pl_.cjs → codex-sdk-CFF6gUyi.cjs} +18 -10
  91. package/dist/src/{codex-sdk-Rtky3M4I.js → codex-sdk-CmQABzV3.js} +6 -6
  92. package/dist/src/{codex-sdk-CErXn7qh.js → codex-sdk-D2d54RL8.js} +5 -5
  93. package/dist/src/{cometapi-CtJ-mS8R.js → cometapi-Bu9B8NUY.js} +8 -8
  94. package/dist/src/{cometapi-DT-jlVCB.js → cometapi-CtzNCHKu.js} +7 -7
  95. package/dist/src/{cometapi-UVOryo4W.cjs → cometapi-DHCDlQUI.cjs} +8 -8
  96. package/dist/src/{cometapi-BUlt_ELa.js → cometapi-OBILPLlu.js} +8 -8
  97. package/dist/src/{completion-HUe8wDhZ.js → completion-CO2e1_62.js} +6 -6
  98. package/dist/src/{completion-BozdoXba.cjs → completion-CSYfl2cd.cjs} +6 -6
  99. package/dist/src/{completion-x0a_c2y1.js → completion-DZNxcyfG.js} +6 -6
  100. package/dist/src/{completion-Dnxn7E-j.js → completion-sNvCLTAP.js} +5 -5
  101. package/dist/src/constants-BjJV0cRr.js +6 -0
  102. package/dist/src/constants-DH5XYLKZ.js +7 -0
  103. package/dist/src/constants-DZGEFLsu.js +6 -0
  104. package/dist/src/constants-a2kYssQk.cjs +11 -0
  105. package/dist/src/{createHash-4gFQpDDv.js → createHash-BtbSX3mj.js} +1 -1
  106. package/dist/src/{createHash-CwDVU5xr.js → createHash-CGVzWdjj.js} +1 -1
  107. package/dist/src/{createHash-B7KvgoOD.cjs → createHash-CSiqnK5P.cjs} +2 -2
  108. package/dist/src/{createHash-ChI45QR1.js → createHash-CgRvs4Fn.js} +1 -1
  109. package/dist/src/crescendo-BXEJK_bi.cjs +704 -0
  110. package/dist/src/crescendo-CU_Y2i-m.js +702 -0
  111. package/dist/src/crescendo-J1Xx4_zb.js +703 -0
  112. package/dist/src/crescendo-QiaSLW0d.js +701 -0
  113. package/dist/src/custom-BJfP00Bh.js +619 -0
  114. package/dist/src/custom-CZVn-1-r.js +620 -0
  115. package/dist/src/custom-Cqia7M0D.cjs +621 -0
  116. package/dist/src/custom-notggYVl.js +618 -0
  117. package/dist/src/{docker-DCgsveLD.js → docker-4D1eL6Gq.js} +6 -6
  118. package/dist/src/{docker-ClnmCf1Z.js → docker-BBv1WUDu.js} +5 -5
  119. package/dist/src/{docker-DS4_Osau.cjs → docker-D06JUoe2.cjs} +6 -6
  120. package/dist/src/{docker-CQmlA2NU.js → docker-DdJQBxK9.js} +6 -6
  121. package/dist/src/{embedding-D3xTseo7.js → embedding--UZVe4_7.js} +6 -6
  122. package/dist/src/{embedding-I45KG3o7.cjs → embedding-BbrwopfX.cjs} +6 -6
  123. package/dist/src/{embedding-nFbumxcv.js → embedding-Bi3rxrZF.js} +5 -5
  124. package/dist/src/{embedding-DD9wa3ae.js → embedding-C251p1-8.js} +6 -6
  125. package/dist/src/{errors-Cw810C93.js → errors-9PcUL8BC.js} +1 -1
  126. package/dist/src/{esm-Dh4dOLlt.js → esm-B6whoAcf.js} +2 -2
  127. package/dist/src/{esm-CtEPLdAj.cjs → esm-BIKakvNa.cjs} +8 -7
  128. package/dist/src/{esm-C7PnfdF8.js → esm-BTK1W7lG.js} +1 -1
  129. package/dist/src/{esm-tVgYPY-f.js → esm-Bexx2PFc.js} +2 -2
  130. package/dist/src/{eval-u4UVafl6.js → eval-0VRANImH.js} +21 -21
  131. package/dist/src/{eval-CzJFfFO9.js → eval-DscR5iOM.js} +1 -1
  132. package/dist/src/{evalResult-Bgm9ZH31.js → evalResult-2RRJvFyB.js} +41 -16
  133. package/dist/src/{evalResult-KZqXl4XP.cjs → evalResult-CvtS8h8u.cjs} +51 -15
  134. package/dist/src/evalResult-DqzsS6_W.js +3 -0
  135. package/dist/src/{evalResult-D3hVYFis.js → evalResult-eUkJv9Ko.js} +40 -15
  136. package/dist/src/evaluator-DNdJF1Gv.js +3 -0
  137. package/dist/src/{evaluator-IvuDYSvQ.js → evaluator-DRoiYB2q.js} +1060 -187
  138. package/dist/src/evaluatorHelpers-BsYP_muT.js +511 -0
  139. package/dist/src/evaluatorHelpers-CRqTvSux.cjs +537 -0
  140. package/dist/src/evaluatorHelpers-DuqFFfq7.js +510 -0
  141. package/dist/src/{extractor-CAfTSraf.js → extractor-BR7XAzAL.js} +6 -6
  142. package/dist/src/{extractor-WVPOrH43.cjs → extractor-BdxEtt3J.cjs} +6 -6
  143. package/dist/src/{extractor-DNSeBVOJ.js → extractor-CIW3iN-b.js} +6 -6
  144. package/dist/src/{extractor-Dk6bRWkv.js → extractor-CxRtnaHl.js} +5 -5
  145. package/dist/src/{fetch-B0Z3Oe4k.js → fetch-BufrQtvR.js} +93 -40
  146. package/dist/src/{fetch-BEWnXrrG.js → fetch-DXUnXkVU.js} +89 -40
  147. package/dist/src/{fetch-CJU5ELPa.cjs → fetch-Dw4XZHjj.cjs} +330 -270
  148. package/dist/src/{fetch-Di00EQrc.js → fetch-It34O8Ur.js} +305 -252
  149. package/dist/src/fetch-_YgGd2qv.js +3 -0
  150. package/dist/src/{fileExtensions-bYh77CN8.cjs → fileExtensions-BhdwzYaD.cjs} +24 -1
  151. package/dist/src/{fileExtensions-DnqA1y9x.js → fileExtensions-CXRfY3Ss.js} +12 -2
  152. package/dist/src/{fileExtensions-AWa2ZML4.js → fileExtensions-D4GCJ67J.js} +12 -2
  153. package/dist/src/{formatDuration-DZzPsexs.js → formatDuration-CMVNrYvE.js} +1 -1
  154. package/dist/src/{genaiTracer-yRuxj9-L.cjs → genaiTracer-14nugQQx.cjs} +14 -2
  155. package/dist/src/{genaiTracer-DWdZ28hY.js → genaiTracer-BPVvltoW.js} +2 -2
  156. package/dist/src/{genaiTracer-XnrcgDCe.js → genaiTracer-D18lYzhB.js} +2 -2
  157. package/dist/src/{genaiTracer-COYDi-tC.js → genaiTracer-jJKYsnjc.js} +2 -2
  158. package/dist/src/goat-Ckd3q3AY.js +467 -0
  159. package/dist/src/goat-Qgurm-NP.js +466 -0
  160. package/dist/src/goat-ghadEDdy.js +465 -0
  161. package/dist/src/goat-una6pZGP.cjs +469 -0
  162. package/dist/src/graders-BDT7dif6.js +3 -0
  163. package/dist/src/{graders-eIHhRqoC.js → graders-BGP99PdK.js} +2416 -2224
  164. package/dist/src/{graders-Zy3x0zqX.js → graders-BX0f2tvS.js} +2423 -2226
  165. package/dist/src/{graders-pvbReLLn.js → graders-C0nXU_ZP.js} +1806 -1609
  166. package/dist/src/{graders--zknU_uk.cjs → graders-ClrU2fnd.cjs} +2219 -1949
  167. package/dist/src/hydra-BSNZZm2M.js +543 -0
  168. package/dist/src/hydra-BxdG4nkg.js +541 -0
  169. package/dist/src/hydra-DE4xWwyc.js +542 -0
  170. package/dist/src/hydra-DrJttnvw.cjs +542 -0
  171. package/dist/src/image-B4oBtu6J.js +443 -0
  172. package/dist/src/{image-dnoUgPrC.js → image-BN-hjLL9.js} +4 -4
  173. package/dist/src/{image-9302QVqR.js → image-B_fPIwdg.js} +3 -3
  174. package/dist/src/image-BvUAW344.js +442 -0
  175. package/dist/src/image-Cvjwx1uY.js +442 -0
  176. package/dist/src/{image-De2FBmYV.cjs → image-DfVCGPbI.cjs} +4 -4
  177. package/dist/src/{image-u7-rKnYU.js → image-QzmydkiG.js} +4 -4
  178. package/dist/src/image-X0oY4350.cjs +465 -0
  179. package/dist/src/index.cjs +1689 -558
  180. package/dist/src/index.d.cts +3270 -1624
  181. package/dist/src/index.d.ts +3270 -1624
  182. package/dist/src/index.js +1553 -438
  183. package/dist/src/indirectWebPwn-02ZIghCS.js +259 -0
  184. package/dist/src/indirectWebPwn-BJ22AbQa.cjs +397 -0
  185. package/dist/src/indirectWebPwn-CbjUG0rh.js +385 -0
  186. package/dist/src/indirectWebPwn-CfQJt3gk.cjs +260 -0
  187. package/dist/src/indirectWebPwn-DBQhOjoD.js +260 -0
  188. package/dist/src/indirectWebPwn-OsXnKejv.js +259 -0
  189. package/dist/src/indirectWebPwn-tNx9OZ35.js +385 -0
  190. package/dist/src/indirectWebPwn-uyWdHx04.js +386 -0
  191. package/dist/src/inputVariables-B0qUChbV.js +467 -0
  192. package/dist/src/inputVariables-DUGMb9Ka.js +464 -0
  193. package/dist/src/inputVariables-DXFdi7AI.js +468 -0
  194. package/dist/src/inputVariables-Dq9W-Z3a.cjs +475 -0
  195. package/dist/src/{interactiveCheck-CLERUB0c.js → interactiveCheck-C4QlIuoR.js} +2 -2
  196. package/dist/src/{invariant-BtWWVVhl.js → invariant-B2Rf6avk.js} +1 -1
  197. package/dist/src/{invariant-vgHWClmd.js → invariant-DIYf9sP1.js} +1 -1
  198. package/dist/src/{invariant-kfQ8Bu82.cjs → invariant-QtnLD03y.cjs} +1 -1
  199. package/dist/src/iterative-CpU6i2As.js +490 -0
  200. package/dist/src/iterative-DJQEQpG3.js +491 -0
  201. package/dist/src/iterative-DQBuWM-j.cjs +493 -0
  202. package/dist/src/iterative-FTS4Bz67.js +492 -0
  203. package/dist/src/iterativeImage-BUABMVOA.js +413 -0
  204. package/dist/src/iterativeImage-ByFWkxax.cjs +415 -0
  205. package/dist/src/iterativeImage-BzUapOUi.js +414 -0
  206. package/dist/src/iterativeImage-Doz8mgxF.js +413 -0
  207. package/dist/src/iterativeMeta-B3YiAOc8.js +386 -0
  208. package/dist/src/iterativeMeta-C7APE_P1.js +385 -0
  209. package/dist/src/iterativeMeta-CSS8M6Ds.cjs +385 -0
  210. package/dist/src/iterativeMeta-DgoQ7bLh.js +384 -0
  211. package/dist/src/iterativeTree-B5zxBBSW.js +769 -0
  212. package/dist/src/iterativeTree-CNyIk0Yn.js +768 -0
  213. package/dist/src/iterativeTree-CPMF10ve.cjs +771 -0
  214. package/dist/src/iterativeTree-DvZ7GBwt.js +770 -0
  215. package/dist/src/{knowledgeBase-Dgc7CBWF.js → knowledgeBase-BadkINlJ.js} +24 -10
  216. package/dist/src/{knowledgeBase-RhFPGWDc.js → knowledgeBase-Bi_8sV-H.js} +25 -11
  217. package/dist/src/{knowledgeBase-lm9RXSAm.js → knowledgeBase-CkMljjdg.js} +25 -11
  218. package/dist/src/{knowledgeBase-Bpoe_nLu.cjs → knowledgeBase-DUh34xba.cjs} +25 -11
  219. package/dist/src/{litellm-DRjpcSa7.js → litellm-BKBo0jpC.js} +5 -5
  220. package/dist/src/{litellm-C2kqjxqp.js → litellm-BXyn5kZK.js} +5 -5
  221. package/dist/src/{litellm-p37R1dzQ.js → litellm-CNcfbCfa.js} +4 -4
  222. package/dist/src/{litellm-CoyI4IAl.cjs → litellm-CtAr7bKG.cjs} +5 -5
  223. package/dist/src/{logger-DksKw1Qc.js → logger-BbY6ypFL.js} +2 -2
  224. package/dist/src/{logger-B88EkIn6.js → logger-KD8JjCRJ.js} +2 -2
  225. package/dist/src/{logger-COuQb2xB.cjs → logger-cfNpzI4o.cjs} +13 -55
  226. package/dist/src/{luma-ray-KgTCXrZC.js → luma-ray-BMX1iEB6.js} +5 -5
  227. package/dist/src/{luma-ray-B863CmuZ.js → luma-ray-CR5TSpp4.js} +5 -5
  228. package/dist/src/{luma-ray-BxVKaW2a.cjs → luma-ray-D3FUc2K3.cjs} +9 -8
  229. package/dist/src/{luma-ray-BTTLtqQ8.js → luma-ray-OEMmS1RB.js} +6 -6
  230. package/dist/src/main.js +909 -369
  231. package/dist/src/memoryPoisoning-CM83NWYl.js +107 -0
  232. package/dist/src/memoryPoisoning-D8h9gXJF.js +106 -0
  233. package/dist/src/memoryPoisoning-Dp-btinn.cjs +106 -0
  234. package/dist/src/memoryPoisoning-cLuCoTuJ.js +106 -0
  235. package/dist/src/{messages-BTQz42fn.js → messages-BabO-cX8.js} +273 -17
  236. package/dist/src/{messages-811uVVW5.cjs → messages-DBPir0TQ.cjs} +278 -18
  237. package/dist/src/{messages-zWbkLLHz.js → messages-DGUlSNU7.js} +273 -17
  238. package/dist/src/{messages-MYTQ2TWp.js → messages-vsE_-Lv0.js} +273 -17
  239. package/dist/src/{meteor-DHdzY1Ss.js → meteor--TZYICTI.js} +2 -2
  240. package/dist/src/{meteor-Co1VQ1u5.cjs → meteor-CR226f7Z.cjs} +2 -2
  241. package/dist/src/{meteor-CU5UAE-H.js → meteor-Cl_yd7rJ.js} +2 -2
  242. package/dist/src/{meteor-DuAFv6gF.js → meteor-Dce-_zGQ.js} +1 -1
  243. package/dist/src/mischievousUser-0l8GD7Dp.js +46 -0
  244. package/dist/src/mischievousUser-BUOP9W5r.js +46 -0
  245. package/dist/src/mischievousUser-frFYKxu6.js +47 -0
  246. package/dist/src/mischievousUser-olGgHIVR.cjs +46 -0
  247. package/dist/src/{modelslab-Dk1JAtVo.cjs → modelslab-CNV5bMSk.cjs} +7 -7
  248. package/dist/src/{modelslab-D0erNWKe.js → modelslab-Cogmu4mG.js} +6 -6
  249. package/dist/src/{modelslab-DIq-6y7x.js → modelslab-Dzst7VTU.js} +6 -6
  250. package/dist/src/{modelslab-wu9yi5GE.js → modelslab-EyDczZ5A.js} +7 -7
  251. package/dist/src/{nova-reel-CCFRfeRb.js → nova-reel-BGPNBOMS.js} +6 -6
  252. package/dist/src/{nova-reel-DQrm74ng.js → nova-reel-B_5NKFu1.js} +5 -5
  253. package/dist/src/{nova-reel-gr11WG7f.js → nova-reel-C4eUJGse.js} +5 -5
  254. package/dist/src/{nova-reel-CrLXVKQf.cjs → nova-reel-CjJRxI1X.cjs} +9 -8
  255. package/dist/src/{nova-sonic-BYdp-QLs.js → nova-sonic-BNGmgfFz.js} +4 -4
  256. package/dist/src/{nova-sonic-TDgrlTk7.js → nova-sonic-ChPlh5na.js} +4 -4
  257. package/dist/src/{nova-sonic-B_ZXcUJB.js → nova-sonic-CrV0iaY_.js} +3 -3
  258. package/dist/src/{nova-sonic-i5tUvXKn.cjs → nova-sonic-DuOG9Aun.cjs} +5 -4
  259. package/dist/src/{openai-DhVEmgeZ.js → openai-BMHD2Huo.js} +2 -2
  260. package/dist/src/{openai-URNyItar.cjs → openai-C3uXv8wS.cjs} +2 -2
  261. package/dist/src/{openai-Qsvz25mV.js → openai-CJrsh9n4.js} +2 -2
  262. package/dist/src/{openai-iYtrXzOX.js → openai-zgwBb4Ff.js} +1 -1
  263. package/dist/src/{openclaw-CnQ363Wi.js → openclaw-BIHlu_36.js} +10 -8
  264. package/dist/src/{openclaw-CwzlQSQX.js → openclaw-CF7fMido.js} +9 -7
  265. package/dist/src/{openclaw-wX9rtfke.cjs → openclaw-Dphc01BY.cjs} +18 -15
  266. package/dist/src/{openclaw-CLWrW03k.js → openclaw-zIJAsz3P.js} +10 -8
  267. package/dist/src/{opencode-sdk-BUu5Nevv.js → opencode-sdk-B3vlPLsp.js} +40 -5
  268. package/dist/src/{opencode-sdk-BxD8vXp_.js → opencode-sdk-D05JSgMQ.js} +40 -5
  269. package/dist/src/{opencode-sdk-BZ2idgYA.cjs → opencode-sdk-DoY6GbWw.cjs} +46 -10
  270. package/dist/src/{opencode-sdk-GI2KaAXq.js → opencode-sdk-sRKYHGoI.js} +39 -4
  271. package/dist/src/{otlpReceiver-BntK801g.js → otlpReceiver--gTpSagc.js} +120 -4
  272. package/dist/src/{otlpReceiver-DmVulbhC.js → otlpReceiver-B2eaKC8C.js} +120 -4
  273. package/dist/src/{otlpReceiver-B2z58l4e.js → otlpReceiver-BXjcRqAM.js} +119 -3
  274. package/dist/src/{otlpReceiver-BfcVq2Nq.cjs → otlpReceiver-CvJdBGSc.cjs} +125 -7
  275. package/dist/src/packageParser--MWTSrPW.js +36 -0
  276. package/dist/src/packageParser-CgE-ziRo.js +35 -0
  277. package/dist/src/packageParser-QoCS1FMl.cjs +54 -0
  278. package/dist/src/packageParser-hwwSGnAZ.js +35 -0
  279. package/dist/src/processShim-BBxt7LKO.js +95 -0
  280. package/dist/src/processShim-BcGzU8fY.js +94 -0
  281. package/dist/src/processShim-C_z3aRvF.js +94 -0
  282. package/dist/src/processShim-DSY9BV2T.cjs +98 -0
  283. package/dist/src/promptLength-0qIHyhA5.js +71 -0
  284. package/dist/src/promptLength-4X-Wd8PG.js +72 -0
  285. package/dist/src/promptLength-B9nZEfO6.js +71 -0
  286. package/dist/src/promptLength-BbBbDHNj.cjs +94 -0
  287. package/dist/src/promptfoo-BDrfT30-.js +180 -0
  288. package/dist/src/promptfoo-Cm4hiy1Y.js +180 -0
  289. package/dist/src/promptfoo-Rjp-MeBb.js +181 -0
  290. package/dist/src/promptfoo-b-baRMj-.cjs +205 -0
  291. package/dist/src/prompts-BYMtqPCw.js +259 -0
  292. package/dist/src/prompts-C-bqE1Yp.js +260 -0
  293. package/dist/src/prompts-Cp_Qx5Ml.js +270 -0
  294. package/dist/src/prompts-DHhQsANy.js +259 -0
  295. package/dist/src/prompts-D_QpZ2Dm.js +271 -0
  296. package/dist/src/prompts-hNvWBD3z.cjs +284 -0
  297. package/dist/src/prompts-huDVH2CI.js +270 -0
  298. package/dist/src/prompts-p78Hul5i.cjs +289 -0
  299. package/dist/src/{providerRegistry-CPQ_CmVO.js → providerRegistry-1gB5vtzQ.js} +2 -2
  300. package/dist/src/{providerRegistry-CQMdTmHP.cjs → providerRegistry-CZO_w7ue.cjs} +2 -2
  301. package/dist/src/{providerRegistry-Bvh8mv85.js → providerRegistry-DHcFiVWX.js} +1 -1
  302. package/dist/src/{providerRegistry-CWoPjKFZ.js → providerRegistry-ReCd0sFa.js} +2 -2
  303. package/dist/src/{providers-BV_KMZje.js → providers-B9KzWxAX.js} +10558 -21587
  304. package/dist/src/{providers-DruaQfwu.js → providers-BCCz6_IX.js} +1228 -12196
  305. package/dist/src/{providers-1eKkXBKp.cjs → providers-BDVVIQM6.cjs} +10649 -21843
  306. package/dist/src/{providers-iUt5fbAN.js → providers-BYAn82cf.js} +1 -1
  307. package/dist/src/{providers-Domz_llv.js → providers-DVYRZP4E.js} +10589 -21570
  308. package/dist/src/{pythonUtils-Cldx7huE.js → pythonUtils-CLCgQ9tt.js} +3 -3
  309. package/dist/src/{pythonUtils-CnndUbW-.js → pythonUtils-CgYxeSmO.js} +3 -3
  310. package/dist/src/{pythonUtils-tAJvvpS-.cjs → pythonUtils-Cokhluq3.cjs} +8 -7
  311. package/dist/src/{pythonUtils-C2UQ30Rz.js → pythonUtils-D0BYebvX.js} +3 -3
  312. package/dist/src/{quiverai-DFotyafY.cjs → quiverai-BAp6iTZD.cjs} +4 -4
  313. package/dist/src/{quiverai-aPPvXOgn.js → quiverai-BvIhI_0l.js} +4 -4
  314. package/dist/src/{quiverai-DR0SnIQV.js → quiverai-CdTWPe-A.js} +3 -3
  315. package/dist/src/{quiverai-CtWi6x_g.js → quiverai-Cv7rJKDz.js} +4 -4
  316. package/dist/src/registry-BUJrgjwv.js +124 -0
  317. package/dist/src/registry-DXm1t_x0.js +125 -0
  318. package/dist/src/registry-Dp5EqoXc.js +124 -0
  319. package/dist/src/registry-KCVF1CFC.cjs +124 -0
  320. package/dist/src/{server-D6Il2Sob.js → remoteGeneration-B1_XsKXU.js} +16 -108
  321. package/dist/src/{server-BSB45Nt9.js → remoteGeneration-COpWcmWd.js} +15 -146
  322. package/dist/src/{server-Dx2TyCH2.cjs → remoteGeneration-DS9N3pgB.cjs} +30 -119
  323. package/dist/src/remoteGeneration-DsaSwmG2.js +217 -0
  324. package/dist/src/render-BNTrbmBw.cjs +384 -0
  325. package/dist/src/render-CSP99NLm.js +348 -0
  326. package/dist/src/render-DFfDeYUK.js +347 -0
  327. package/dist/src/{render-CgVDrJmM.js → render-DznWrxGO.js} +2 -2
  328. package/dist/src/render-_6ur1fhE.js +347 -0
  329. package/dist/src/resourceAttributes-D1jP3kL5.js +17 -0
  330. package/dist/src/resourceAttributes-DQbBB--2.js +16 -0
  331. package/dist/src/resourceAttributes-ephgOvdR.cjs +27 -0
  332. package/dist/src/resourceAttributes-v6-I67fn.js +16 -0
  333. package/dist/src/{responses-Bi9vBuW_.cjs → responses-1UFFF9N_.cjs} +51 -16
  334. package/dist/src/{responses-DL9m8CyY.js → responses-B3W2JvOQ.js} +49 -15
  335. package/dist/src/{responses--OsX2aYW.js → responses-B6ktc3Ra.js} +49 -15
  336. package/dist/src/{responses-C-flexAY.js → responses-URRzV8qE.js} +49 -15
  337. package/dist/src/rolldown-runtime-D_mwlA32.cjs +43 -0
  338. package/dist/src/rubyUtils-BYVlQ94c.js +3 -0
  339. package/dist/src/{rubyUtils-DsGrTx8R.js → rubyUtils-CXlFM2rR.js} +3 -3
  340. package/dist/src/{rubyUtils-DVLeA2jg.js → rubyUtils-CnlW8AYb.js} +3 -3
  341. package/dist/src/{rubyUtils-B6eljPuh.cjs → rubyUtils-CqUWBZAt.cjs} +18 -27
  342. package/dist/src/{rubyUtils-CYSQEG4a.js → rubyUtils-DdGojpfv.js} +3 -3
  343. package/dist/src/runtimeTransform-BJOpL9Yc.js +142 -0
  344. package/dist/src/runtimeTransform-Dgh_D7DU.js +143 -0
  345. package/dist/src/runtimeTransform-DigbjU1r.js +142 -0
  346. package/dist/src/runtimeTransform-ON3YYILw.cjs +147 -0
  347. package/dist/src/{sagemaker-BVkaG2-l.js → sagemaker-CujrzP1a.js} +62 -51
  348. package/dist/src/{sagemaker-XnfhheQv.cjs → sagemaker-DzffAqo_.cjs} +65 -53
  349. package/dist/src/{sagemaker-D67yzMzs.js → sagemaker-vhtSV7JI.js} +62 -51
  350. package/dist/src/{sagemaker-BveBvuxm.js → sagemaker-yr1QKeBs.js} +61 -50
  351. package/dist/src/{scanner-1DqWi1Ej.js → scanner-DS0109SS.js} +7 -7
  352. package/dist/src/server/index.js +5105 -605
  353. package/dist/src/server-B8rqV126.cjs +126 -0
  354. package/dist/src/server-BaLytskk.js +3 -0
  355. package/dist/src/server-CMJD10J4.js +107 -0
  356. package/dist/src/server-Ddp8GNMp.js +146 -0
  357. package/dist/src/server-DhMHosWj.js +182 -0
  358. package/dist/src/shared-7pmVZLNO.js +1334 -0
  359. package/dist/src/shared-9WHQ1oNE.js +1335 -0
  360. package/dist/src/{fileExtensions-BArZuxsI.js → shared-BoG7qLMv.js} +12 -2
  361. package/dist/src/shared-D6IjElRI.js +1334 -0
  362. package/dist/src/shared-WkgnDkcg.cjs +1436 -0
  363. package/dist/src/{signal-CE5G3a7x.js → signal-CSurUUyV.js} +3 -3
  364. package/dist/src/simulatedUser-C9aQObBI.js +222 -0
  365. package/dist/src/simulatedUser-Cu601Dd4.cjs +227 -0
  366. package/dist/src/simulatedUser-U_qAHnuB.js +222 -0
  367. package/dist/src/simulatedUser-p3tACcmw.js +223 -0
  368. package/dist/src/{slack-DDUe-5MC.js → slack-Bapo-7_8.js} +2 -2
  369. package/dist/src/{slack-1Rhq0EoV.cjs → slack-DMC1QVEg.cjs} +3 -2
  370. package/dist/src/{slack-D5Wpy8LM.js → slack-DTEFhrMn.js} +2 -2
  371. package/dist/src/{slack-acRb0IqQ.js → slack-k-_CP84Q.js} +1 -1
  372. package/dist/src/storage-BU4qcnOb.js +875 -0
  373. package/dist/src/storage-CA-v9V2v.cjs +911 -0
  374. package/dist/src/storage-CD-GWAdx.js +822 -0
  375. package/dist/src/storage-QdU-SmvD.js +834 -0
  376. package/dist/src/{store-DAAyxcy6.cjs → store-B2NDDooM.cjs} +60 -24
  377. package/dist/src/{store-CYEy5J2D.js → store-DKd5592Q.js} +51 -20
  378. package/dist/src/{store-M0b1WfYb.js → store-HpopRVzl.js} +50 -19
  379. package/dist/src/store-IbiRIF3k.js +3 -0
  380. package/dist/src/strategies-7CS3Alao.cjs +2360 -0
  381. package/dist/src/strategies-CiSeroPH.js +2331 -0
  382. package/dist/src/strategies-DRJjGTIY.js +2333 -0
  383. package/dist/src/{tables-DQ4WU5tX.js → tables-CRSXQ2Ke.js} +2 -2
  384. package/dist/src/{tables-CsWou1Bx.js → tables-CxjU7bBd.js} +3 -3
  385. package/dist/src/{tables-DUfh1F7Z.cjs → tables-DBIJU0WE.cjs} +6 -5
  386. package/dist/src/{tables-C4CH3zRr.js → tables-DafUHOeh.js} +3 -3
  387. package/dist/src/{telemetry-CQPez_Jp.js → telemetry-00ezXr_t.js} +5 -4
  388. package/dist/src/telemetry-ByPqDcKC.js +3 -0
  389. package/dist/src/{telemetry-Dsw_faFj.cjs → telemetry-CJ7FnCsc.cjs} +18 -11
  390. package/dist/src/{telemetry-dbaJ0E98.js → telemetry-DmXYcJNV.js} +5 -4
  391. package/dist/src/{telemetry-Dvqxv3YC.js → telemetry-DwX9XUN5.js} +4 -3
  392. package/dist/src/{text-KvuD2Iko.js → text-Db-Wt2u2.js} +1 -1
  393. package/dist/src/{text-DHxdyQqT.js → text-DwYK5EBn.js} +1 -1
  394. package/dist/src/{text-BVi-cLPJ.cjs → text-nywWsRBM.cjs} +1 -1
  395. package/dist/src/{tokenUsageUtils-C-bmyHoE.js → tokenUsageUtils-BjVkdk18.js} +1 -1
  396. package/dist/src/{tokenUsageUtils-CXrvO-wA.js → tokenUsageUtils-CDet74yk.js} +1 -1
  397. package/dist/src/tokenUsageUtils-CmnQ0G2m.js +142 -0
  398. package/dist/src/{tokenUsageUtils-Bb7DkZPz.cjs → tokenUsageUtils-_B-P8IAi.cjs} +1 -1
  399. package/dist/src/toolAttributes-BAjwcBf0.cjs +103 -0
  400. package/dist/src/toolAttributes-COVgDrBG.js +87 -0
  401. package/dist/src/toolAttributes-DJ9ZEKXD.js +86 -0
  402. package/dist/src/tracingOptions-BnwKCkSB.js +221 -0
  403. package/dist/src/tracingOptions-Chi74lOD.js +219 -0
  404. package/dist/src/tracingOptions-DrbSFaKy.cjs +249 -0
  405. package/dist/src/tracingOptions-ji2OuXbT.js +220 -0
  406. package/dist/src/{transcription-DuWDupG7.js → transcription-B8uIgCYX.js} +5 -5
  407. package/dist/src/{transcription-CJspiD2c.js → transcription-CfU5loSq.js} +6 -6
  408. package/dist/src/{transcription-V2HaAmy2.js → transcription-Dkd22_4K.js} +6 -6
  409. package/dist/src/{transcription-BvjmiYB1.cjs → transcription-mzuf18Mq.cjs} +9 -8
  410. package/dist/src/{transform-lQrDE1BQ.js → transform-BIMynQsA.js} +9 -9
  411. package/dist/src/transform-BnSTnFlp.js +187 -0
  412. package/dist/src/transform-BnSXWmU_2.cjs +221 -0
  413. package/dist/src/transform-CGt7Kt3y2.js +186 -0
  414. package/dist/src/transform-CrPGTsij.js +186 -0
  415. package/dist/src/{transform-CTeuTR3S.cjs → transform-DhNkAUs8.cjs} +13 -12
  416. package/dist/src/{transform-CG0ehZNG.js → transform-DmvYBRll.js} +9 -9
  417. package/dist/src/{transform-zDhMmzwX.js → transform-EtD4jAWi.js} +9 -9
  418. package/dist/src/{transformersAvailability-CcHusyhw.js → transformersAvailability-0ThtPved.js} +1 -1
  419. package/dist/src/transformersAvailability-BYydDE5U.js +35 -0
  420. package/dist/src/{transformersAvailability-DLlROWhg.js → transformersAvailability-BvyU9vDD.js} +1 -1
  421. package/dist/src/{transformersAvailability-Cju9mHgR.cjs → transformersAvailability-BytPvKUW.cjs} +1 -1
  422. package/dist/src/{types-Dm9JM6Vb.js → types-BFevViUY.js} +115 -19
  423. package/dist/src/{types-Bgh5SOn6.js → types-BJQBBPTP.js} +115 -19
  424. package/dist/src/{types-CeaeaZdP.cjs → types-CxJvaY2S.cjs} +357 -172
  425. package/dist/src/{types-BGQDAP8i.js → types-D6glLbdF.js} +271 -170
  426. package/dist/src/{util-BYvQUPp7.js → util--WMgw7wM.js} +28 -8
  427. package/dist/src/{util-C9J8ahRn.js → util-5WnCSb0h.js} +72 -48
  428. package/dist/src/{util-CN3SrLT4.cjs → util-BSIuSLVK.cjs} +74 -49
  429. package/dist/src/{util-C8e5uydV.js → util-Bx677_k2.js} +154 -147
  430. package/dist/src/util-CN8om2rz.cjs +386 -0
  431. package/dist/src/{util-DDs-7g6-.js → util-CoQWM76y.js} +28 -8
  432. package/dist/src/util-DNl96nNs.js +327 -0
  433. package/dist/src/{util-DxWpWjhc.js → util-DURocbYR.js} +667 -507
  434. package/dist/src/util-Df8YMvS1.js +327 -0
  435. package/dist/src/{util-DvU2Pw8c.js → util-DiQ3QvBB.js} +28 -8
  436. package/dist/src/{util-oGMLA7vc.js → util-I-Rf-KaD.js} +862 -577
  437. package/dist/src/{util-olYL5C6N.cjs → util-IYzs5Y04.cjs} +33 -7
  438. package/dist/src/{util-D9TisOyk.js → util-LKTmNsMQ.js} +71 -47
  439. package/dist/src/{util-Bxn8emtE.cjs → util-SPsvFONY.cjs} +738 -582
  440. package/dist/src/{util-D3q0WQ-0.js → util-efByNxcr.js} +72 -48
  441. package/dist/src/util-kDURhgJW.js +328 -0
  442. package/dist/src/{utils-DJfvjyMj.js → utils-B0lzitHZ.js} +3 -3
  443. package/dist/src/{utils-BLJKfv0y.js → utils-BFOh20Gb.js} +3 -3
  444. package/dist/src/{utils-hXtCYanr.js → utils-BGY69tk_.js} +2 -2
  445. package/dist/src/{utils-B05gLxER.cjs → utils-Ve6kuJsa.cjs} +3 -3
  446. package/dist/src/version-BK20a4sw.js +16 -0
  447. package/dist/src/version-BWCSaByA.cjs +27 -0
  448. package/dist/src/version-eRkNuGv8.js +17 -0
  449. package/dist/src/version-lpHV_53E.js +16 -0
  450. package/dist/tsconfig.tsbuildinfo +1 -1
  451. package/package.json +56 -28
  452. package/dist/src/app/assets/Report-CQYFezYu.js +0 -1
  453. package/dist/src/app/assets/index-BXGkeMwh.css +0 -1
  454. package/dist/src/app/assets/index-BzJt18Jz.js +0 -385
  455. package/dist/src/app/assets/sync-IjzpWrOE.js +0 -4
  456. package/dist/src/app/assets/vendor-charts-BNdH8TCw.js +0 -36
  457. package/dist/src/cache-Cr9oLMUa.js +0 -3
  458. package/dist/src/cache-DbLsVWB2.cjs +0 -3
  459. package/dist/src/cloud-Hphvo8kr.js +0 -3
  460. package/dist/src/codex-sdk-BAmYE7qy.js +0 -3
  461. package/dist/src/codex-sdk-CWEnH70W.cjs +0 -2
  462. package/dist/src/evalResult-D8MT9p0s.js +0 -3
  463. package/dist/src/evalResult-DElBuddX.js +0 -2
  464. package/dist/src/evalResult-Dvc-iucu.cjs +0 -2
  465. package/dist/src/evaluator-CVessDWe.js +0 -3
  466. package/dist/src/fetch-C7bGKDlQ.js +0 -3
  467. package/dist/src/graders-BOAzQEUe.cjs +0 -2
  468. package/dist/src/graders-D4BTsZdG2.js +0 -3
  469. package/dist/src/graders-DOJK1XpV.js +0 -2
  470. package/dist/src/graders-NAv9LcBn.js +0 -2
  471. package/dist/src/image-B5Mv-Z3h.js +0 -257
  472. package/dist/src/image-DVz2RiMF.js +0 -258
  473. package/dist/src/image-qUpPvmNZ.js +0 -257
  474. package/dist/src/image-x6KqLQl4.cjs +0 -280
  475. package/dist/src/providers-Bp4S-FvO.js +0 -2
  476. package/dist/src/providers-DV3ax9e_.cjs +0 -3
  477. package/dist/src/providers-u9Enmfok.js +0 -2
  478. package/dist/src/render-CH-62LbA.js +0 -135
  479. package/dist/src/render-CMEpfLaO.js +0 -136
  480. package/dist/src/render-DHIZ6_k8.js +0 -135
  481. package/dist/src/render-DfQSFxGE.cjs +0 -165
  482. package/dist/src/rubyUtils-D1L2d3jb.js +0 -3
  483. package/dist/src/rubyUtils-DUbq4tff.cjs +0 -2
  484. package/dist/src/server-BNYztJkh.js +0 -385
  485. package/dist/src/server-DCtHUqlp.js +0 -3
  486. package/dist/src/server-DaA2eR26.cjs +0 -2
  487. package/dist/src/store-CWOSz6D_.cjs +0 -2
  488. package/dist/src/store-DCDBhv7B.js +0 -3
  489. package/dist/src/store-Dn9HUkdW.js +0 -240
  490. package/dist/src/telemetry-C1IqxcdW.js +0 -3
  491. package/dist/src/telemetry-C4ZEa_es.cjs +0 -2
  492. package/dist/src/transform-Bbg6A8Jk.js +0 -216
  493. package/dist/src/transform-CUnzlsbn.cjs +0 -228
  494. package/dist/src/transform-DYX1_Xnh.js +0 -216
  495. package/dist/src/transform-DgKlRr73.cjs +0 -2
  496. package/dist/src/transform-M6ITAESf.js +0 -3
  497. package/dist/src/transform-UN5UGu8U.js +0 -213
@@ -1,9 +1,11 @@
1
- const require_logger = require("./logger-COuQb2xB.cjs");
2
- const require_fetch = require("./fetch-CJU5ELPa.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-BIyPcp5v.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 { d as sleep, h as REQUEST_TIMEOUT_MS, n as fetchWithRetries } from "./fetch-Di00EQrc.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-D5NZmMiT.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
- import { C as getConfigDirectoryPath, D as getEnvInt, O as getEnvString, T as getEnvBool, s as logger } from "./logger-DksKw1Qc.js";
4
- import { l as sleep, m as REQUEST_TIMEOUT_MS, r as fetchWithRetries } from "./fetch-BEWnXrrG.js";
5
- import { r as isTransientConnectionError } from "./errors-Cw810C93.js";
3
+ import { C as getConfigDirectoryPath, D as getEnvInt, O as getEnvString, T as getEnvBool, s as logger } from "./logger-BbY6ypFL.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-mb7c8hbp.js.map
396
+ //# sourceMappingURL=cache-DpPWrkTE.js.map