promptfoo 0.121.3 → 0.121.5

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 (394) hide show
  1. package/README.md +1 -1
  2. package/dist/src/{ListApp-Du7YVwj5.js → ListApp-BRUsT43Y.js} +1 -1
  3. package/dist/src/{accounts-BPyfpSeU.cjs → accounts-BIFntVWB.cjs} +5 -5
  4. package/dist/src/{accounts-CFLK3mnD.js → accounts-CLJHCDDb.js} +6 -6
  5. package/dist/src/{accounts-B2XmGjty.js → accounts-CaLNYnf7.js} +5 -5
  6. package/dist/src/{accounts-Xatc0RYb.js → accounts-bnyHT7Ju.js} +5 -5
  7. package/dist/src/{agentic-utils-36epdqwB.js → agentic-utils-B5krlibj.js} +3 -3
  8. package/dist/src/{agentic-utils-DIYAAYE7.js → agentic-utils-Ba67xmgs.js} +3 -3
  9. package/dist/src/{agentic-utils-D8yXo5Lm.js → agentic-utils-BclbiXiq.js} +4 -4
  10. package/dist/src/{agentic-utils-DAVsChuB.cjs → agentic-utils-D2x0wGhB.cjs} +3 -3
  11. package/dist/src/{agents-CLQ-P15P.js → agents-BGqaTDnr.js} +5 -7
  12. package/dist/src/{agents-wg3ohknq.js → agents-BV9yFpXX.js} +6 -7
  13. package/dist/src/{agents-CgBniSlI.js → agents-BYdMl1UE.js} +5 -9
  14. package/dist/src/{agents-Bqgfdokm.js → agents-DhxWMCtH.js} +35 -14
  15. package/dist/src/{agents-BBWxKSM0.cjs → agents-DiWmQYH9.cjs} +5 -7
  16. package/dist/src/{agents-CAYbM7qD.cjs → agents-WULPVjbH.cjs} +34 -12
  17. package/dist/src/{agents-DSSTV4bv.js → agents-emVcx3yh.js} +35 -13
  18. package/dist/src/{agents-BBVJCIYr.js → agents-n6vPqV3i.js} +35 -13
  19. package/dist/src/{aimlapi-BwGC1TtS.js → aimlapi-BxqK9HF_.js} +8 -14
  20. package/dist/src/{aimlapi-Bv8Fmc-b.cjs → aimlapi-BzLjZI_m.cjs} +8 -15
  21. package/dist/src/{aimlapi-MgSLdvy7.js → aimlapi-DR4pgeiC.js} +7 -14
  22. package/dist/src/{aimlapi-DaC3qZ-o.js → aimlapi-uPGp0Zdo.js} +7 -16
  23. package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -0
  24. package/dist/src/app/assets/Report-vjzrbgce.js +1 -0
  25. package/dist/src/app/assets/index-B3NQ8HTd.js +385 -0
  26. package/dist/src/app/assets/index-Cli2yAXv.css +1 -0
  27. package/dist/src/app/assets/rolldown-runtime-COnpUsM8.js +1 -0
  28. package/dist/src/app/assets/scroll-timeline-D9IT_e8Z.js +1 -0
  29. package/dist/src/app/assets/sync-IjzpWrOE.js +4 -0
  30. package/dist/src/app/assets/vendor-charts-BNdH8TCw.js +36 -0
  31. package/dist/src/app/assets/vendor-markdown-Ch00wnNI.js +29 -0
  32. package/dist/src/app/assets/vendor-react-CVvmk1UB.js +9 -0
  33. package/dist/src/app/assets/vendor-utils-BnEYbx2Q.js +37 -0
  34. package/dist/src/app/index.html +32 -7
  35. package/dist/src/{audio-Bn44pQxv.js → audio-BvpTOArF.js} +4 -4
  36. package/dist/src/{audio-DVFjQ67_.cjs → audio-C0vDeS0j.cjs} +4 -4
  37. package/dist/src/{audio-DjU9GswO.js → audio-CScmnmEB.js} +4 -5
  38. package/dist/src/{audio-DDA5WHdx.js → audio-Da8U9IS5.js} +4 -4
  39. package/dist/src/{base-CKjwebIH.js → base-BOMaNEes.js} +3 -3
  40. package/dist/src/{base-CqzQ4K8j.js → base-BTux96b1.js} +3 -3
  41. package/dist/src/{base-BboXIF_0.cjs → base-Tw6uhH8K.cjs} +3 -3
  42. package/dist/src/{base-Cz2ZC_iA.js → base-dYsl2hmL.js} +3 -3
  43. package/dist/src/{blobs-C6j0bvFz.cjs → blobs-B95F_7vE.cjs} +3 -3
  44. package/dist/src/{blobs-DXTl6J3H.js → blobs-BW4U31ue.js} +3 -3
  45. package/dist/src/{blobs-BUWmKWzo.js → blobs-D_gg8nbm.js} +4 -4
  46. package/dist/src/{blobs-B1JriOyi.js → blobs-DjLby-uP.js} +4 -4
  47. package/dist/src/cache-BI5BY7ey.js +280 -0
  48. package/dist/src/cache-BRkhlH3k.cjs +3 -0
  49. package/dist/src/cache-BlC6aeJ0.js +3 -0
  50. package/dist/src/cache-Bzttsk0X.js +310 -0
  51. package/dist/src/cache-Cr-qWIbP.js +310 -0
  52. package/dist/src/cache-DGg-yTZG.cjs +376 -0
  53. package/dist/src/{chat-BEwdgGEg.js → chat-BLOdH60v.js} +63 -37
  54. package/dist/src/{chat-B0iaWhoh.js → chat-Cx_LkwvZ.js} +63 -37
  55. package/dist/src/{chat-DK1U-eZ-.js → chat-D9nudO9b.js} +5 -14
  56. package/dist/src/{chat-pxmiVpWe.js → chat-DChSH_Es.js} +63 -37
  57. package/dist/src/{chat-B-52XYI1.js → chat-DG2LkwLq.js} +3 -13
  58. package/dist/src/{chat-BtIKkLKx.cjs → chat-DH97tVV9.cjs} +3 -13
  59. package/dist/src/{chat-BE0qTA8e.js → chat-aMQZw6R7.js} +4 -16
  60. package/dist/src/{chat-CM8qWR3_.cjs → chat-vYqqv1gP.cjs} +64 -38
  61. package/dist/src/{chatkit-_8eJqKcD.js → chatkit-B8X34dQc.js} +4 -4
  62. package/dist/src/{chatkit-BYGQlHlV.js → chatkit-BXu42Qwt.js} +4 -4
  63. package/dist/src/{chatkit-a2D6mY6s.js → chatkit-CbMRoeYw.js} +4 -4
  64. package/dist/src/{chatkit-Cx174XI3.cjs → chatkit-D44VyUyB.cjs} +4 -4
  65. package/dist/src/{claude-agent-sdk-8ddRp1L2.cjs → claude-agent-sdk-BRq0bbIK.cjs} +23 -18
  66. package/dist/src/{claude-agent-sdk-CMjh4LFH.js → claude-agent-sdk-BjriSVRZ.js} +20 -15
  67. package/dist/src/{claude-agent-sdk-HgbFioFw.js → claude-agent-sdk-BzNZeZ0N.js} +20 -15
  68. package/dist/src/{claude-agent-sdk-Bq5EArsX.js → claude-agent-sdk-DYv_AJ8u.js} +21 -17
  69. package/dist/src/cloud-CoD5OacT.js +3 -0
  70. package/dist/src/{cloud-z8KZpUoa.js → cloud-Da0bofJd.js} +25 -13
  71. package/dist/src/{cloudflare-ai-Bbp26N0L.js → cloudflare-ai-CXC4b1EU.js} +5 -14
  72. package/dist/src/{cloudflare-ai-BGyXlpXJ.js → cloudflare-ai-CyBoIs1Q.js} +7 -15
  73. package/dist/src/{cloudflare-ai-DdKP9TKT.js → cloudflare-ai-DGOwgexC.js} +6 -17
  74. package/dist/src/{cloudflare-ai-C62x6MQG.cjs → cloudflare-ai-DJv5qnyb.cjs} +6 -15
  75. package/dist/src/{cloudflare-gateway-DXhtXDRb.js → cloudflare-gateway-1sAoOyft.js} +6 -16
  76. package/dist/src/{cloudflare-gateway-D-e9i1Sn.js → cloudflare-gateway-D-dnkzCF.js} +5 -18
  77. package/dist/src/{cloudflare-gateway-Dx36ftqF.cjs → cloudflare-gateway-DKVjkDav.cjs} +4 -15
  78. package/dist/src/{cloudflare-gateway-BwAaUgeW.js → cloudflare-gateway-TJkVrZlB.js} +4 -15
  79. package/dist/src/codex-app-server-CCLjqCh9.js +1915 -0
  80. package/dist/src/codex-app-server-CCe0TiDc.js +1915 -0
  81. package/dist/src/codex-app-server-CPW1LFwh.js +1916 -0
  82. package/dist/src/codex-app-server-VMRnjZ68.cjs +1920 -0
  83. package/dist/src/codex-sdk-1jm_qPHf.js +3 -0
  84. package/dist/src/codex-sdk-Bd8UbO9q.cjs +1172 -0
  85. package/dist/src/codex-sdk-BgEFQ70r.js +1164 -0
  86. package/dist/src/codex-sdk-Bzb_TqX9.js +1165 -0
  87. package/dist/src/codex-sdk-Danroptg.cjs +2 -0
  88. package/dist/src/codex-sdk-DfvDTN33.js +1165 -0
  89. package/dist/src/{cometapi-BDyV-NNm.js → cometapi-B5ImDlSm.js} +9 -15
  90. package/dist/src/{cometapi-C3hOlM7-.cjs → cometapi-BgAkuYCw.cjs} +9 -16
  91. package/dist/src/{cometapi-hhL4TAh3.js → cometapi-CC7hWxmX.js} +8 -15
  92. package/dist/src/{cometapi-sp7sJpBD.js → cometapi-CCbpHkuF.js} +8 -17
  93. package/dist/src/{completion-DoYy49ti.js → completion-2iuYVxwi.js} +8 -57
  94. package/dist/src/{completion-BCimtq-h.js → completion-CrD6MQ93.js} +8 -57
  95. package/dist/src/{completion-DlXUhj5c.cjs → completion-DtQ72Bm3.cjs} +7 -62
  96. package/dist/src/{completion-DCjv7RZ3.js → completion-Vq_ad618.js} +8 -57
  97. package/dist/src/{createHash-CTQmL3G2.js → createHash-4gFQpDDv.js} +3 -3
  98. package/dist/src/{createHash-Da8fMwqB.js → createHash-DPpsZgFF.js} +3 -3
  99. package/dist/src/{createHash-DmPQkvBh.js → createHash-Un4Q_huE.js} +3 -3
  100. package/dist/src/{createHash-BYwImsYv.cjs → createHash-VvBIc-AW.cjs} +4 -4
  101. package/dist/src/{docker-CxCkwMzc.js → docker--3qzPa-6.js} +6 -14
  102. package/dist/src/{docker-Cqj2-QVi.cjs → docker-D3AY-5F5.cjs} +7 -15
  103. package/dist/src/{docker-FeBni2dw.js → docker-DCsCDvwM.js} +7 -14
  104. package/dist/src/{docker-DpguQj-w.js → docker-Dorv4_Dg.js} +6 -16
  105. package/dist/src/embedding-BXhN5lCH.cjs +63 -0
  106. package/dist/src/embedding-ChS1ivFS.js +58 -0
  107. package/dist/src/embedding-DNRvZwRN.js +59 -0
  108. package/dist/src/embedding-D_bI4NDq.js +58 -0
  109. package/dist/src/entrypoint.js +69 -6
  110. package/dist/src/{errors-P6ll7XSJ.js → errors-DFHe4L-n.js} +1 -1
  111. package/dist/src/{esm-SUNIX1x3.js → esm-B6whoAcf.js} +15 -6
  112. package/dist/src/{esm-CKWP3u_P.js → esm-BRkfNsYs.js} +16 -7
  113. package/dist/src/{esm-7UIl0pPM.js → esm-BX8fwlAO.js} +27 -18
  114. package/dist/src/{esm-CipptfDu.cjs → esm-B_rGuPTo.cjs} +15 -6
  115. package/dist/src/eval-BQPLBJbw.js +3 -0
  116. package/dist/src/{eval-BTqTn7lb.js → eval-DJ_4A-tr.js} +50 -21
  117. package/dist/src/evalResult-BBJAHAtw.cjs +2 -0
  118. package/dist/src/evalResult-BBK58h2B.js +3 -0
  119. package/dist/src/{evalResult-DpARzUCb.cjs → evalResult-Cx-8OWkb.cjs} +29 -11
  120. package/dist/src/{evalResult-DUDShQrm.js → evalResult-D6P5I5il.js} +29 -11
  121. package/dist/src/{evalResult-BkIhRdTe.js → evalResult-pSvGWFMo.js} +29 -11
  122. package/dist/src/evalResult-spPqh1G_.js +2 -0
  123. package/dist/src/{evaluator-BcvOGaam.js → evaluator-D-UIbbYq.js} +3975 -2152
  124. package/dist/src/evaluator-DgLKaZk8.js +3 -0
  125. package/dist/src/{extractor-D_wd8jxt.js → extractor-BM3jRERL.js} +6 -6
  126. package/dist/src/{extractor-DG3sSfXE.cjs → extractor-Dxr2J_wK.cjs} +6 -6
  127. package/dist/src/{extractor-CAZ2G3Kh.js → extractor-DxyiFhPk.js} +6 -6
  128. package/dist/src/{extractor-C8XwivI9.js → extractor-YlZbUMsL.js} +6 -6
  129. package/dist/src/fetch-8viavNv8.js +3 -0
  130. package/dist/src/{fetch-DoVRJZhJ.js → fetch-B6ch2nU2.js} +199 -60
  131. package/dist/src/{fetch-CVAtKnI3.js → fetch-D9xxyC1p.js} +404 -252
  132. package/dist/src/{fetch-BnR9wSnm.cjs → fetch-NuqXW1Xb.cjs} +415 -263
  133. package/dist/src/{fetch-BiYv2BZc.js → fetch-Y5qX_kST.js} +222 -70
  134. package/dist/src/{fileExtensions-LcDYkU4v.js → fileExtensions-8CjoL7vB.js} +1 -1
  135. package/dist/src/{fileExtensions-DnqA1y9x.js → fileExtensions-BGh-W-HT.js} +1 -1
  136. package/dist/src/{fileExtensions-bYh77CN8.cjs → fileExtensions-D9h-8Wxg.cjs} +1 -1
  137. package/dist/src/{fileExtensions-Ds-foDzt.js → fileExtensions-DysCsxNG.js} +1 -1
  138. package/dist/src/{formatDuration-DgBVMN65.js → formatDuration-Ch4A7G3o.js} +1 -1
  139. package/dist/src/{genaiTracer-BfxrvSUb.cjs → genaiTracer-BokHC-MW.cjs} +7 -3
  140. package/dist/src/{genaiTracer-C1rxGO8Q.js → genaiTracer-C3ZPQU60.js} +6 -2
  141. package/dist/src/{genaiTracer-70Z8BIuV.js → genaiTracer-CFny3gOy.js} +6 -2
  142. package/dist/src/{genaiTracer-D3fD9dNV.js → genaiTracer-DxODqT9e.js} +6 -2
  143. package/dist/src/golang/wrapper.go +1 -1
  144. package/dist/src/{graders-DG7mhg-b.js → graders-BoUqsCEm.js} +7402 -5699
  145. package/dist/src/{graders-BElhu9ZY.cjs → graders-Bw1wk_21.cjs} +5220 -3437
  146. package/dist/src/graders-C84JI-m5.js +2 -0
  147. package/dist/src/graders-CBbd0K0Q.cjs +2 -0
  148. package/dist/src/graders-CbQqpHSN.js +3 -0
  149. package/dist/src/{graders-RjHF8VfG.js → graders-CgPn32yp.js} +7400 -5697
  150. package/dist/src/{graders-BXAJ0sbS.js → graders-CwrbifOo.js} +6136 -4433
  151. package/dist/src/graders-DS42d3ZG.js +2 -0
  152. package/dist/src/{image-6WQXK8m8.js → image-BeWaInPF.js} +4 -4
  153. package/dist/src/{image-PoF6DN3x.js → image-BmilRNqO.js} +8 -8
  154. package/dist/src/{image--F58eEIn.cjs → image-CxJoa3aW.cjs} +8 -8
  155. package/dist/src/{image-fza3zuKs.cjs → image-D10dNAav.cjs} +4 -4
  156. package/dist/src/{image-DO0RYnjH.js → image-Dr_3I3nK.js} +4 -5
  157. package/dist/src/{image-B8b6f36E.js → image-DsGRlkh7.js} +8 -8
  158. package/dist/src/{image-CoxZp9PZ.js → image-a_SGUobh.js} +8 -8
  159. package/dist/src/{image-xNbw5ph2.js → image-qjO6FWPs.js} +4 -4
  160. package/dist/src/index.cjs +4835 -2582
  161. package/dist/src/index.d.cts +2782 -31
  162. package/dist/src/index.d.ts +2783 -32
  163. package/dist/src/index.js +4817 -2564
  164. package/dist/src/{interactiveCheck-BnMYOjMu.js → interactiveCheck-CCICw2cy.js} +2 -2
  165. package/dist/src/{invariant-BtWWVVhl.js → invariant-B2Rf6avk.js} +1 -1
  166. package/dist/src/{invariant-vgHWClmd.js → invariant-DIYf9sP1.js} +1 -1
  167. package/dist/src/{knowledgeBase-Bi7CmDbx.js → knowledgeBase-BBETc5-S.js} +6 -8
  168. package/dist/src/{knowledgeBase-DqrLX8fy.cjs → knowledgeBase-C8qOo26M.cjs} +6 -8
  169. package/dist/src/{knowledgeBase-DFRXPZl_.js → knowledgeBase-CzAi2rUI.js} +7 -8
  170. package/dist/src/{knowledgeBase-Ce3ofVan.js → knowledgeBase-Dr3Kib7F.js} +6 -10
  171. package/dist/src/{litellm-CKiAxnoM.js → litellm-BLSiANhk.js} +6 -14
  172. package/dist/src/{litellm-CnHI69aj.cjs → litellm-CaUmV7Mk.cjs} +6 -15
  173. package/dist/src/{litellm-Tc294Jhj.js → litellm-DQGo_juI.js} +5 -14
  174. package/dist/src/{litellm-Bo2gQXpo.js → litellm-DRc4qWfc.js} +5 -16
  175. package/dist/src/{logger-BcJBzSSA.js → logger-BbY6ypFL.js} +41 -12
  176. package/dist/src/{logger-D5iKBpu_.cjs → logger-COuQb2xB.cjs} +51 -10
  177. package/dist/src/{logger-DO8_zM18.js → logger-Ct2S6Yx-.js} +40 -11
  178. package/dist/src/{logger-BnkjG2jt.js → logger-KD8JjCRJ.js} +41 -12
  179. package/dist/src/{luma-ray-C9q8rdQe.js → luma-ray-B-tNZzqW.js} +6 -10
  180. package/dist/src/{luma-ray-DP0QA9qn.js → luma-ray-CtS3OlGq.js} +6 -10
  181. package/dist/src/{luma-ray-0ehMPt5N.js → luma-ray-PJJgUjOc.js} +6 -11
  182. package/dist/src/{luma-ray-m9Ku2meV.cjs → luma-ray-if-Ml4R9.cjs} +6 -10
  183. package/dist/src/main.d.ts +1 -26
  184. package/dist/src/main.js +1188 -679
  185. package/dist/src/messages-B9dSjrNf.js +544 -0
  186. package/dist/src/messages-BnsVHUnm.cjs +558 -0
  187. package/dist/src/messages-CI69Lasb.js +543 -0
  188. package/dist/src/messages-CewuNcNS.js +543 -0
  189. package/dist/src/{meteor-DLZZ3osF.cjs → meteor-BBGcGeCa.cjs} +1 -1
  190. package/dist/src/{meteor-DUiCJRC-.js → meteor-BKTM-7KS.js} +1 -1
  191. package/dist/src/{meteor-44VjEACX.js → meteor-CeGo0Lu2.js} +2 -2
  192. package/dist/src/{meteor-D-SotUw9.js → meteor-Wc_aUVvu.js} +2 -2
  193. package/dist/src/{modelslab-B5J-ZM5c.js → modelslab-BCLOtfek.js} +8 -10
  194. package/dist/src/{modelslab-IQbNg-r7.cjs → modelslab-BkapYJhh.cjs} +7 -10
  195. package/dist/src/{modelslab-BTOT8FUO.js → modelslab-D73OnKSx.js} +7 -10
  196. package/dist/src/{modelslab-BI458moT.js → modelslab-zpz9JcK0.js} +7 -12
  197. package/dist/src/{nova-reel-BZ9y-Y5s.js → nova-reel-B8F_TK5w.js} +7 -10
  198. package/dist/src/{nova-reel-Xw1SXLpg.js → nova-reel-Bx0NFV2f.js} +6 -10
  199. package/dist/src/{nova-reel-DEeQlnOJ.js → nova-reel-CNGJTLtG.js} +6 -12
  200. package/dist/src/{nova-reel-CE5etkv9.cjs → nova-reel-DkT7tnoB.cjs} +6 -10
  201. package/dist/src/{nova-sonic-Ogqf-csn.js → nova-sonic-BaXRN1cr.js} +5 -7
  202. package/dist/src/{nova-sonic-DXTLpi-r.js → nova-sonic-BeTRaFOh.js} +4 -7
  203. package/dist/src/{nova-sonic-DWswpN1E.js → nova-sonic-CL7Zqv0G.js} +4 -9
  204. package/dist/src/{nova-sonic-N0yCm0vb.cjs → nova-sonic-YT426juD.cjs} +4 -7
  205. package/dist/src/{openai-BcB5KlTk.js → openai-BMHD2Huo.js} +6 -3
  206. package/dist/src/{openai-BMcwgD5C.js → openai-BT-JvDse.js} +6 -3
  207. package/dist/src/{openai-CoxGAQwn.cjs → openai-Cy1XLs0c.cjs} +6 -3
  208. package/dist/src/{openai-D6wITiVn.js → openai-D4fxGvRx.js} +6 -3
  209. package/dist/src/openclaw-Bq7RVR3k.js +1200 -0
  210. package/dist/src/openclaw-DA8U4DsD.js +1201 -0
  211. package/dist/src/openclaw-DObVgpjC.js +1200 -0
  212. package/dist/src/openclaw-DUBZP3GL.cjs +1206 -0
  213. package/dist/src/{opencode-sdk-CHCs7dEb.js → opencode-sdk-BB40Wir1.js} +6 -8
  214. package/dist/src/{opencode-sdk-DDxj4QqH.js → opencode-sdk-BM1UAIv1.js} +6 -8
  215. package/dist/src/{opencode-sdk-WWJhnbKr.cjs → opencode-sdk-CeqiOcOU.cjs} +7 -9
  216. package/dist/src/{opencode-sdk-C71Z0ehR.js → opencode-sdk-ChdK7F7z.js} +6 -9
  217. package/dist/src/{otlpReceiver-CZL48YfC.js → otlpReceiver-C6thJRXi.js} +154 -98
  218. package/dist/src/{otlpReceiver-C9KlUtxh.js → otlpReceiver-CcdIikOu.js} +154 -98
  219. package/dist/src/{otlpReceiver-DHKqJlsz.cjs → otlpReceiver-DNSQj6bf.cjs} +154 -98
  220. package/dist/src/{otlpReceiver-CavGAA6k.js → otlpReceiver-UYMQx3sy.js} +154 -98
  221. package/dist/src/{providerRegistry-BkzVH5Ba.js → providerRegistry-1gB5vtzQ.js} +2 -2
  222. package/dist/src/{providerRegistry-BTDgfV5h.cjs → providerRegistry-BESeALrr.cjs} +2 -2
  223. package/dist/src/{providerRegistry-CUWki5mQ.js → providerRegistry-DoACwqhD.js} +2 -2
  224. package/dist/src/{providerRegistry-B9lh-_tx.js → providerRegistry-PMsleEzs.js} +2 -2
  225. package/dist/src/providers-BuyzKt7C.js +2 -0
  226. package/dist/src/providers-C7lNVBjX.cjs +3 -0
  227. package/dist/src/providers-CCE2COJi2.js +2 -0
  228. package/dist/src/{providers-Cn73d5sr.js → providers-CJh7iriU.js} +17180 -16823
  229. package/dist/src/providers-Ctcc592x.js +3 -0
  230. package/dist/src/{providers-DvddrgxL.js → providers-DRrerKra.js} +1052 -695
  231. package/dist/src/{providers-Ch6Mr0gn.js → providers-DT-GtF2t.js} +16716 -16359
  232. package/dist/src/{providers-CScd1wN6.cjs → providers-eDShy16E.cjs} +19893 -19506
  233. package/dist/src/python/persistent_wrapper.py +0 -5
  234. package/dist/src/{pythonUtils-Cpo0Ez1p.js → pythonUtils-C4tltmIn.js} +4 -4
  235. package/dist/src/{pythonUtils-dAVigVK-.cjs → pythonUtils-CoLaCwNY.cjs} +4 -4
  236. package/dist/src/{pythonUtils-Bzwbgpbg.js → pythonUtils-DMO68Jg7.js} +3 -3
  237. package/dist/src/{pythonUtils-wIqk7zAf.js → pythonUtils-DNqbnRdx.js} +3 -3
  238. package/dist/src/{quiverai-BeofbLVc.js → quiverai-BSS9a7wV.js} +4 -4
  239. package/dist/src/{quiverai-DVSEqJiq.js → quiverai-Bk1KrvL6.js} +4 -4
  240. package/dist/src/{quiverai-CcUhPIBg.cjs → quiverai-Bpx6MZ7T.cjs} +4 -4
  241. package/dist/src/{quiverai-CCQn73lq.js → quiverai-CPKhWgaT.js} +4 -5
  242. package/dist/src/render-7uNJ2V14.js +135 -0
  243. package/dist/src/render-DlscvAUJ.js +135 -0
  244. package/dist/src/render-eui5p5mL.js +136 -0
  245. package/dist/src/{render-BHl6QVq9.js → render-nj-UaPdn.js} +2 -3
  246. package/dist/src/render-tG6ir9_g.cjs +165 -0
  247. package/dist/src/{responses-CgNyTPsY.js → responses-1ztiVYsx.js} +56 -17
  248. package/dist/src/{responses-BKP_WYis.js → responses-B8haB-mD.js} +56 -17
  249. package/dist/src/{responses-CQb1Tj69.js → responses-BiaBguAu.js} +56 -17
  250. package/dist/src/{responses-mo0KQDbu.cjs → responses-CF-ayauu.cjs} +56 -17
  251. package/dist/src/rubyUtils-4hjGxvju.js +3 -0
  252. package/dist/src/{rubyUtils-DECSbsfY.js → rubyUtils-BI0p46eZ.js} +3 -3
  253. package/dist/src/{rubyUtils-CiVfln3g.js → rubyUtils-CIQFnVz4.js} +3 -3
  254. package/dist/src/rubyUtils-CO-tuszQ.cjs +2 -0
  255. package/dist/src/{rubyUtils-PgU-gHmx.js → rubyUtils-DGnoCYL2.js} +4 -4
  256. package/dist/src/{rubyUtils-CGeUtCfW.cjs → rubyUtils-DoifqkiA.cjs} +5 -4
  257. package/dist/src/{sagemaker-CqeASYE5.js → sagemaker-BDLeW29y.js} +14 -18
  258. package/dist/src/{sagemaker-MUbD5V3v.js → sagemaker-C5T60MKf.js} +14 -19
  259. package/dist/src/{sagemaker-CVv8W7so.js → sagemaker-ClS_NB07.js} +14 -18
  260. package/dist/src/{sagemaker-jiw1wQa-.cjs → sagemaker-ljtY12VM.cjs} +14 -18
  261. package/dist/src/{scanner-DVDeUz1r.js → scanner-nOCWNIXa.js} +130 -35
  262. package/dist/src/server/golang/wrapper.go +1 -1
  263. package/dist/src/server/index.js +4829 -2529
  264. package/dist/src/server/python/persistent_wrapper.py +0 -5
  265. package/dist/src/{server-BtoCXeXI.cjs → server-BEECpeGG.cjs} +140 -6
  266. package/dist/src/{server-DZ9MtCn0.js → server-ByiF3qlg.js} +129 -9
  267. package/dist/src/{server-Cns05F1j.js → server-ByxbqAcQ.js} +128 -8
  268. package/dist/src/server-C0XKRNB_.cjs +2 -0
  269. package/dist/src/server-C_15p79-.js +3 -0
  270. package/dist/src/{server-CP9qKM40.js → server-gyd6d4Hc.js} +126 -7
  271. package/dist/src/{signal-C3ZTsUgi.js → signal-DTtUuU3l.js} +3 -3
  272. package/dist/src/{slack-DCEV-vWP.js → slack-4zZX1OKP.js} +2 -2
  273. package/dist/src/{slack-94iG3T0s.cjs → slack-BLlsDpfG.cjs} +2 -2
  274. package/dist/src/{slack-BR0HtO3K.js → slack-BPYLQLgb.js} +2 -2
  275. package/dist/src/{slack-2sdpGzbt.js → slack-Bamy_7te.js} +2 -2
  276. package/dist/src/{store-CLyU7AtI.cjs → store-2K0kDi80.cjs} +3 -3
  277. package/dist/src/{store-VB0GP46K.js → store-2OXm_eBY.js} +3 -3
  278. package/dist/src/store-BELqNwvz.js +3 -0
  279. package/dist/src/{store-Cj258DgL.js → store-BPkzEyFM.js} +3 -3
  280. package/dist/src/{store-P8OKm19S.js → store-CPh25336.js} +3 -3
  281. package/dist/src/store-uQZ4AjPe.cjs +2 -0
  282. package/dist/src/{tables-BEIFz2tM.js → tables-BMSOS2Gg.js} +3 -3
  283. package/dist/src/{tables-BdZQEpRz.cjs → tables-CXbaZ9y1.cjs} +3 -3
  284. package/dist/src/{tables-DmzvLbeZ.js → tables-NlvH23ky.js} +3 -3
  285. package/dist/src/{tables-kC7R5kiK.js → tables-WgdUZ8Ck.js} +3 -3
  286. package/dist/src/{telemetry-DPXLd7UE.js → telemetry--iqaGyaS.js} +5 -4
  287. package/dist/src/{telemetry-re627Lre.cjs → telemetry-CEQxGnMZ.cjs} +8 -7
  288. package/dist/src/{telemetry-BugWqKiu.js → telemetry-CgdVGV8N.js} +5 -4
  289. package/dist/src/{telemetry-BnH5VJAU.js → telemetry-DWdGHvEf.js} +5 -4
  290. package/dist/src/telemetry-DjNoC_n3.cjs +2 -0
  291. package/dist/src/telemetry-ZdPZc0fm.js +3 -0
  292. package/dist/src/{text-CW1cyrwj.cjs → text-BiNME7QG.cjs} +1 -1
  293. package/dist/src/{text-Db-Wt2u2.js → text-D4lz-Jg_.js} +1 -1
  294. package/dist/src/{text-TIv0QYnd.js → text-DDQP0tuQ.js} +1 -1
  295. package/dist/src/{text-B_UCRPp2.js → text-NWvfMfkF.js} +1 -1
  296. package/dist/src/{tokenUsageUtils-DflFMjS0.js → tokenUsageUtils-2wIvAhB3.js} +7 -3
  297. package/dist/src/{tokenUsageUtils-BDGe-iyI.js → tokenUsageUtils-4c780gFd.js} +7 -3
  298. package/dist/src/{tokenUsageUtils-NYT-WKS6.js → tokenUsageUtils-BjVkdk18.js} +7 -3
  299. package/dist/src/{tokenUsageUtils-bVa1ga6f.cjs → tokenUsageUtils-C9odhsbW.cjs} +7 -3
  300. package/dist/src/{transcription-CaMivnjG.js → transcription-84t4ALo2.js} +7 -11
  301. package/dist/src/{transcription-Hb3VnC4M.js → transcription-Bm2emLmJ.js} +8 -11
  302. package/dist/src/{transcription-BvtsrzRG.cjs → transcription-CZ4LG5hQ.cjs} +9 -13
  303. package/dist/src/{transcription-DOMMTu01.js → transcription-D7Q0vJsh.js} +7 -13
  304. package/dist/src/{transform-DrleutM3.js → transform-B-b6Cq-q.js} +8 -6
  305. package/dist/src/transform-BQt0BeAW.js +3 -0
  306. package/dist/src/transform-Bq5oqC0s.cjs +2 -0
  307. package/dist/src/{transform-ZrG2dvlo.cjs → transform-C9izGX54.cjs} +5 -5
  308. package/dist/src/{transform-BzK09Q_9.js → transform-CwbAZ84V.js} +5 -5
  309. package/dist/src/{transform-0BwoBsvO.cjs → transform-Dg4LcO1Y.cjs} +18 -10
  310. package/dist/src/{transform-B2-jIv68.js → transform-DtooZqYY.js} +8 -6
  311. package/dist/src/{transform-ljLYHEPh.js → transform-DzCF-wqV.js} +5 -5
  312. package/dist/src/{transform-DyDAwEpE.js → transform-_DpNB4qp.js} +9 -7
  313. package/dist/src/{transform-BqPkNPYm.js → transform-eGiUAv86.js} +5 -5
  314. package/dist/src/{transformersAvailability-DKoRtQLy.cjs → transformersAvailability-B22swDxr.cjs} +1 -1
  315. package/dist/src/{transformersAvailability-BGkzavwb.js → transformersAvailability-lvCCvuPT.js} +1 -1
  316. package/dist/src/{transformersAvailability-D6c6ROpT.js → transformersAvailability-rJGPccjr.js} +1 -1
  317. package/dist/src/{types-Cd3ygw8W.js → types-BDjGOq4E.js} +354 -24
  318. package/dist/src/{types-CIhFeUC4.js → types-BVH9hjgW.js} +364 -23
  319. package/dist/src/{types-D8cGDZbL.cjs → types-CgG2rKiW.cjs} +534 -167
  320. package/dist/src/{types-q8GXGF65.js → types-DNRZVOue.js} +498 -167
  321. package/dist/src/{util-BLvy9qfE.js → util-3pBZZb_H.js} +151 -149
  322. package/dist/src/{util-CFj4YKIn.cjs → util-A5_ZsQUn.cjs} +66 -44
  323. package/dist/src/{util-BtoGs5Cb.js → util-B9CNhyac.js} +66 -44
  324. package/dist/src/{util-Bm3E9jpK.js → util-BQOCAHQC.js} +692 -690
  325. package/dist/src/{util-vNmDL5DT.js → util-BVXcTwXu.js} +138 -36
  326. package/dist/src/{util-CgDCK4KI.js → util-BlFVL0UF.js} +66 -44
  327. package/dist/src/{util-DM2rTn_6.js → util-C-kmRosx.js} +66 -44
  328. package/dist/src/{util-DbVG-yZU.js → util-DFPeFkiV.js} +138 -36
  329. package/dist/src/{util-DMFeUvLz.js → util-DN0-b81k.js} +138 -36
  330. package/dist/src/{util--9u9UVCt.cjs → util-Dpmm_dAI.cjs} +143 -35
  331. package/dist/src/{util-CMMkIxfU.js → util-Dub0f_ej.js} +693 -691
  332. package/dist/src/{util-CuLo2pMR.cjs → util-DvpHnLt0.cjs} +714 -719
  333. package/dist/src/{utils-DOjD4dTC.js → utils-BUMN8orw.js} +6 -4
  334. package/dist/src/{utils-DKw8mrgr.cjs → utils-DkVeShIB.cjs} +6 -4
  335. package/dist/src/{utils-DEuL4VNB.js → utils-kt7lv30R.js} +6 -4
  336. package/dist/src/{utils-CFxO9KGo.js → utils-o8S5huU2.js} +6 -4
  337. package/dist/src/version-0frU0UTr.js +16 -0
  338. package/dist/src/version-CbpiUINz.js +17 -0
  339. package/dist/src/version-CbuBKu2U.js +16 -0
  340. package/dist/src/version-D9zu9FWB.cjs +27 -0
  341. package/dist/tsconfig.tsbuildinfo +1 -1
  342. package/package.json +57 -46
  343. package/dist/src/app/assets/index-B6l9CVVb.js +0 -439
  344. package/dist/src/app/assets/index-DyZ0Ep37.css +0 -1
  345. package/dist/src/app/assets/scroll-timeline-BdJZVXlz.js +0 -1
  346. package/dist/src/app/assets/sync-CStkzc6u.js +0 -4
  347. package/dist/src/app/assets/vendor-charts-BnDWwBlI.js +0 -36
  348. package/dist/src/app/assets/vendor-markdown-Bz7N-ca6.js +0 -29
  349. package/dist/src/app/assets/vendor-react-AtKqiNEf.js +0 -4
  350. package/dist/src/app/assets/vendor-syntax-D06x6TQF.js +0 -2
  351. package/dist/src/app/assets/vendor-utils-BvMHZmO7.js +0 -37
  352. package/dist/src/cache-C5yFZ4gC.cjs +0 -816
  353. package/dist/src/cache-CaT5tPgo.js +0 -756
  354. package/dist/src/cache-CyCanoMu.js +0 -6
  355. package/dist/src/cache-DSqR6ezl.js +0 -726
  356. package/dist/src/cache-Df_QFDNu.cjs +0 -5
  357. package/dist/src/cache-HP0NP4k3.js +0 -756
  358. package/dist/src/cloud-DE3t1-ZI.js +0 -4
  359. package/dist/src/codex-sdk-BQEw16R_.js +0 -834
  360. package/dist/src/codex-sdk-C_07GuVS.js +0 -834
  361. package/dist/src/codex-sdk-DE5G18dx.js +0 -835
  362. package/dist/src/codex-sdk-ZLKfDjqP.cjs +0 -838
  363. package/dist/src/eval-7aEqoMs3.js +0 -15
  364. package/dist/src/evalResult-CYNHkk5A.js +0 -12
  365. package/dist/src/evalResult-CuvJeNiM.js +0 -10
  366. package/dist/src/evalResult-tGdilrWt.cjs +0 -10
  367. package/dist/src/evaluator-BBUqRhz1.js +0 -36
  368. package/dist/src/fetch-UWU706qb.js +0 -5
  369. package/dist/src/graders-BxfEguVY.js +0 -32
  370. package/dist/src/graders-CzVMbEnv.js +0 -34
  371. package/dist/src/graders-DjCXfj0l.cjs +0 -32
  372. package/dist/src/graders-kHzIWOKu.js +0 -32
  373. package/dist/src/messages-DJNo37Ko.js +0 -246
  374. package/dist/src/messages-Dy9QecMs.js +0 -245
  375. package/dist/src/messages-HJsyEh4o.cjs +0 -257
  376. package/dist/src/messages-biC_ex-p.js +0 -245
  377. package/dist/src/openclaw-0Sv7AK3O.js +0 -580
  378. package/dist/src/openclaw-CXxbKgDH.cjs +0 -586
  379. package/dist/src/openclaw-D1FSCps-.js +0 -580
  380. package/dist/src/openclaw-D2ENvu7a.js +0 -582
  381. package/dist/src/providers-BSLEaIQG.js +0 -32
  382. package/dist/src/providers-D-FnDg8k.cjs +0 -31
  383. package/dist/src/providers-DEYiFVAo.js +0 -30
  384. package/dist/src/providers-sS2WI8YD.js +0 -30
  385. package/dist/src/rubyUtils-B1HXG4ej.cjs +0 -4
  386. package/dist/src/rubyUtils-Rt6pKA96.js +0 -5
  387. package/dist/src/server-B0Xh1Gx-.js +0 -7
  388. package/dist/src/server-DJTKu9IR.cjs +0 -5
  389. package/dist/src/store-C5u6MgC8.js +0 -6
  390. package/dist/src/store-CNHk-De4.cjs +0 -5
  391. package/dist/src/telemetry-Yig0Tino.js +0 -7
  392. package/dist/src/telemetry-p8Pwqm1i.cjs +0 -5
  393. package/dist/src/transform-ChNIpHz7.js +0 -6
  394. package/dist/src/transform-PtQ6rAE3.cjs +0 -5
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { n as evaluate } from "./evaluator-D-UIbbYq.js";
3
+ export { evaluate };
@@ -1,7 +1,7 @@
1
- import { a as logger, b as getEnvBool } from "./logger-DO8_zM18.js";
2
- import { o as cloudConfig } from "./fetch-CVAtKnI3.js";
3
- import { o as isLoggedIntoCloud } from "./accounts-B2XmGjty.js";
4
- import { n as recordBlobReference, r as storeBlob } from "./blobs-DXTl6J3H.js";
1
+ import { S as getEnvBool, a as logger } from "./logger-Ct2S6Yx-.js";
2
+ import { S as cloudConfig } from "./fetch-D9xxyC1p.js";
3
+ import { o as isLoggedIntoCloud } from "./accounts-CaLNYnf7.js";
4
+ import { n as recordBlobReference, r as storeBlob } from "./blobs-BW4U31ue.js";
5
5
  //#region src/blobs/remoteUpload.ts
6
6
  function buildRemoteUrl() {
7
7
  const baseUrl = cloudConfig.getApiHost();
@@ -25,7 +25,7 @@ async function uploadBlobRemote(buffer, mimeType, context) {
25
25
  const apiKey = cloudConfig.getApiKey();
26
26
  if (!url || !apiKey) return null;
27
27
  try {
28
- const { fetchWithProxy } = await import("./fetch-CVAtKnI3.js").then((n) => n.i);
28
+ const { fetchWithProxy } = await import("./fetch-D9xxyC1p.js").then((n) => n.i);
29
29
  const response = await fetchWithProxy(url, {
30
30
  method: "POST",
31
31
  headers: {
@@ -371,4 +371,4 @@ async function recordExistingBlobReferences(value, context, location) {
371
371
  //#endregion
372
372
  export { isBlobStorageEnabled as n, shouldAttemptRemoteBlobUpload as r, extractAndStoreBinaryData as t };
373
373
 
374
- //# sourceMappingURL=extractor-D_wd8jxt.js.map
374
+ //# sourceMappingURL=extractor-BM3jRERL.js.map
@@ -1,7 +1,7 @@
1
- const require_logger = require("./logger-D5iKBpu_.cjs");
2
- const require_fetch = require("./fetch-BnR9wSnm.cjs");
3
- const require_accounts = require("./accounts-BPyfpSeU.cjs");
4
- const require_blobs = require("./blobs-C6j0bvFz.cjs");
1
+ const require_logger = require("./logger-COuQb2xB.cjs");
2
+ const require_fetch = require("./fetch-NuqXW1Xb.cjs");
3
+ const require_accounts = require("./accounts-BIFntVWB.cjs");
4
+ const require_blobs = require("./blobs-B95F_7vE.cjs");
5
5
  //#region src/blobs/remoteUpload.ts
6
6
  function buildRemoteUrl() {
7
7
  const baseUrl = require_fetch.cloudConfig.getApiHost();
@@ -25,7 +25,7 @@ async function uploadBlobRemote(buffer, mimeType, context) {
25
25
  const apiKey = require_fetch.cloudConfig.getApiKey();
26
26
  if (!url || !apiKey) return null;
27
27
  try {
28
- const { fetchWithProxy } = await Promise.resolve().then(() => require("./fetch-BnR9wSnm.cjs")).then((n) => n.fetch_exports);
28
+ const { fetchWithProxy } = await Promise.resolve().then(() => require("./fetch-NuqXW1Xb.cjs")).then((n) => n.fetch_exports);
29
29
  const response = await fetchWithProxy(url, {
30
30
  method: "POST",
31
31
  headers: {
@@ -388,4 +388,4 @@ Object.defineProperty(exports, "shouldAttemptRemoteBlobUpload", {
388
388
  }
389
389
  });
390
390
 
391
- //# sourceMappingURL=extractor-DG3sSfXE.cjs.map
391
+ //# sourceMappingURL=extractor-Dxr2J_wK.cjs.map
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- import { C as getEnvBool, s as logger } from "./logger-BcJBzSSA.js";
3
- import { c as isLoggedIntoCloud } from "./accounts-CFLK3mnD.js";
4
- import { a as cloudConfig } from "./cloud-z8KZpUoa.js";
5
- import { i as storeBlob, r as recordBlobReference } from "./blobs-B1JriOyi.js";
2
+ import { T as getEnvBool, s as logger } from "./logger-BbY6ypFL.js";
3
+ import { c as isLoggedIntoCloud } from "./accounts-CLJHCDDb.js";
4
+ import { a as cloudConfig } from "./cloud-Da0bofJd.js";
5
+ import { i as storeBlob, r as recordBlobReference } from "./blobs-DjLby-uP.js";
6
6
  //#region src/blobs/remoteUpload.ts
7
7
  function buildRemoteUrl() {
8
8
  const baseUrl = cloudConfig.getApiHost();
@@ -26,7 +26,7 @@ async function uploadBlobRemote(buffer, mimeType, context) {
26
26
  const apiKey = cloudConfig.getApiKey();
27
27
  if (!url || !apiKey) return null;
28
28
  try {
29
- const { fetchWithProxy } = await import("./fetch-UWU706qb.js");
29
+ const { fetchWithProxy } = await import("./fetch-8viavNv8.js");
30
30
  const response = await fetchWithProxy(url, {
31
31
  method: "POST",
32
32
  headers: {
@@ -372,4 +372,4 @@ async function recordExistingBlobReferences(value, context, location) {
372
372
  //#endregion
373
373
  export { isBlobStorageEnabled as n, shouldAttemptRemoteBlobUpload as r, extractAndStoreBinaryData as t };
374
374
 
375
- //# sourceMappingURL=extractor-CAZ2G3Kh.js.map
375
+ //# sourceMappingURL=extractor-DxyiFhPk.js.map
@@ -1,7 +1,7 @@
1
- import { a as logger, b as getEnvBool } from "./logger-BnkjG2jt.js";
2
- import { o as cloudConfig } from "./fetch-BiYv2BZc.js";
3
- import { c as isLoggedIntoCloud } from "./accounts-Xatc0RYb.js";
4
- import { i as storeBlob, r as recordBlobReference } from "./blobs-BUWmKWzo.js";
1
+ import { S as getEnvBool, a as logger } from "./logger-KD8JjCRJ.js";
2
+ import { o as cloudConfig } from "./fetch-Y5qX_kST.js";
3
+ import { c as isLoggedIntoCloud } from "./accounts-bnyHT7Ju.js";
4
+ import { i as storeBlob, r as recordBlobReference } from "./blobs-D_gg8nbm.js";
5
5
  //#region src/blobs/remoteUpload.ts
6
6
  function buildRemoteUrl() {
7
7
  const baseUrl = cloudConfig.getApiHost();
@@ -25,7 +25,7 @@ async function uploadBlobRemote(buffer, mimeType, context) {
25
25
  const apiKey = cloudConfig.getApiKey();
26
26
  if (!url || !apiKey) return null;
27
27
  try {
28
- const { fetchWithProxy } = await import("./fetch-BiYv2BZc.js").then((n) => n.i);
28
+ const { fetchWithProxy } = await import("./fetch-Y5qX_kST.js").then((n) => n.i);
29
29
  const response = await fetchWithProxy(url, {
30
30
  method: "POST",
31
31
  headers: {
@@ -371,4 +371,4 @@ async function recordExistingBlobReferences(value, context, location) {
371
371
  //#endregion
372
372
  export { isBlobStorageEnabled as n, shouldAttemptRemoteBlobUpload as r, extractAndStoreBinaryData as t };
373
373
 
374
- //# sourceMappingURL=extractor-C8XwivI9.js.map
374
+ //# sourceMappingURL=extractor-YlZbUMsL.js.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { n as fetchWithProxy } from "./fetch-B6ch2nU2.js";
3
+ export { fetchWithProxy };
@@ -1,12 +1,13 @@
1
1
  #!/usr/bin/env node
2
- import { C as getEnvBool, E as getEnvString, T as getEnvInt, j as state, o as logRequestResponse, p as sanitizeUrl, s as logger } from "./logger-BcJBzSSA.js";
3
- import { t as invariant } from "./invariant-BtWWVVhl.js";
4
- import { a as cloudConfig } from "./cloud-z8KZpUoa.js";
5
- import { Agent, ProxyAgent } from "undici";
2
+ import { D as getEnvInt, N as state, O as getEnvString, T as getEnvBool, h as sanitizeUrl, o as logRequestResponse, s as logger } from "./logger-BbY6ypFL.js";
3
+ import { n as VERSION } from "./version-CbpiUINz.js";
4
+ import { t as invariant } from "./invariant-B2Rf6avk.js";
5
+ import { a as cloudConfig } from "./cloud-Da0bofJd.js";
6
6
  import path from "path";
7
7
  import yaml from "js-yaml";
8
8
  import * as fsPromises from "fs/promises";
9
9
  import { getProxyForUrl } from "proxy-from-env";
10
+ import { Agent, ProxyAgent } from "undici";
10
11
  import { promisify } from "util";
11
12
  import { gzip } from "zlib";
12
13
  //#region src/providers/constants.ts
@@ -16,19 +17,6 @@ const FILE_METADATA_KEY = "_promptfooFileMetadata";
16
17
  * Used to distinguish human ratings from automated assertions.
17
18
  */
18
19
  const HUMAN_ASSERTION_TYPE = "human";
19
- //#endregion
20
- //#region src/version.ts
21
- /**
22
- * Application version from package.json.
23
- * Injected at build time, or read from npm environment in development.
24
- */
25
- const VERSION = "0.121.3";
26
- /**
27
- * PostHog analytics key.
28
- * Only populated during production builds via PROMPTFOO_POSTHOG_KEY env var.
29
- * Empty string in development/test.
30
- */
31
- const POSTHOG_KEY = "phc_E5n5uHnDo2eREJL1uqX1cIlbkoRby4yFWt3V94HqRRg";
32
20
  function getShareApiBaseUrl() {
33
21
  return getEnvString("PROMPTFOO_REMOTE_API_BASE_URL") || "https://api.promptfoo.app";
34
22
  }
@@ -71,8 +59,9 @@ function calculateCost(modelName, config, promptTokens, completionTokens, models
71
59
  if (!Number.isFinite(promptTokens) || !Number.isFinite(completionTokens) || typeof promptTokens === "undefined" || typeof completionTokens === "undefined") return;
72
60
  const model = models.find((m) => m.id === modelName);
73
61
  if (!model || !model.cost) return;
74
- const inputCost = config.cost ?? model.cost.input;
75
- const outputCost = config.cost ?? model.cost.output;
62
+ const longContextCost = model.cost.longContext && promptTokens > model.cost.longContext.threshold ? model.cost.longContext : void 0;
63
+ const inputCost = config.cost ?? longContextCost?.input ?? model.cost.input;
64
+ const outputCost = config.cost ?? longContextCost?.output ?? model.cost.output;
76
65
  return inputCost * promptTokens + outputCost * completionTokens;
77
66
  }
78
67
  /**
@@ -149,7 +138,7 @@ function isOpenAIToolChoice(obj) {
149
138
  function openaiToolChoiceToAnthropic(choice) {
150
139
  if (typeof choice === "string") switch (choice) {
151
140
  case "auto": return { type: "auto" };
152
- case "none": return { type: "auto" };
141
+ case "none": return { type: "none" };
153
142
  case "required": return { type: "any" };
154
143
  }
155
144
  return {
@@ -285,6 +274,155 @@ function transformTools(tools, format) {
285
274
  }
286
275
  }
287
276
  //#endregion
277
+ //#region src/scheduler/headerParser.ts
278
+ const OPENAI_HEADERS = {
279
+ remainingRequests: "x-ratelimit-remaining-requests",
280
+ remainingTokens: "x-ratelimit-remaining-tokens",
281
+ limitRequests: "x-ratelimit-limit-requests",
282
+ limitTokens: "x-ratelimit-limit-tokens",
283
+ resetRequests: "x-ratelimit-reset-requests",
284
+ resetTokens: "x-ratelimit-reset-tokens"
285
+ };
286
+ const ANTHROPIC_HEADERS = {
287
+ remainingRequests: "anthropic-ratelimit-requests-remaining",
288
+ remainingTokens: "anthropic-ratelimit-tokens-remaining",
289
+ limitRequests: "anthropic-ratelimit-requests-limit",
290
+ limitTokens: "anthropic-ratelimit-tokens-limit",
291
+ reset: "anthropic-ratelimit-requests-reset"
292
+ };
293
+ const STANDARD_HEADERS = {
294
+ remaining: "ratelimit-remaining",
295
+ limit: "ratelimit-limit",
296
+ reset: "ratelimit-reset",
297
+ remainingAlt: "x-ratelimit-remaining",
298
+ limitAlt: "x-ratelimit-limit",
299
+ resetAlt: "x-ratelimit-reset"
300
+ };
301
+ /**
302
+ * Parse rate limit headers from response.
303
+ */
304
+ function parseRateLimitHeaders(headers) {
305
+ const result = {};
306
+ const h = lowercaseKeys(headers);
307
+ result.remainingRequests = parseFirstMatch(h, [
308
+ OPENAI_HEADERS.remainingRequests,
309
+ ANTHROPIC_HEADERS.remainingRequests,
310
+ STANDARD_HEADERS.remainingAlt,
311
+ STANDARD_HEADERS.remaining
312
+ ]);
313
+ result.remainingTokens = parseFirstMatch(h, [OPENAI_HEADERS.remainingTokens, ANTHROPIC_HEADERS.remainingTokens]);
314
+ result.limitRequests = parseFirstMatch(h, [
315
+ OPENAI_HEADERS.limitRequests,
316
+ ANTHROPIC_HEADERS.limitRequests,
317
+ STANDARD_HEADERS.limitAlt,
318
+ STANDARD_HEADERS.limit
319
+ ]);
320
+ result.limitTokens = parseFirstMatch(h, [OPENAI_HEADERS.limitTokens, ANTHROPIC_HEADERS.limitTokens]);
321
+ for (const name of [
322
+ OPENAI_HEADERS.resetRequests,
323
+ OPENAI_HEADERS.resetTokens,
324
+ ANTHROPIC_HEADERS.reset,
325
+ STANDARD_HEADERS.resetAlt,
326
+ STANDARD_HEADERS.reset
327
+ ]) if (h[name] !== void 0) {
328
+ const parsed = parseResetTime(h[name]);
329
+ if (parsed !== null) {
330
+ result.resetAt = parsed;
331
+ break;
332
+ }
333
+ }
334
+ if (h["retry-after-ms"] !== void 0) {
335
+ const ms = parseInt(h["retry-after-ms"], 10);
336
+ if (!isNaN(ms) && ms >= 0) {
337
+ result.retryAfterMs = ms;
338
+ if (result.resetAt === void 0) result.resetAt = Date.now() + ms;
339
+ }
340
+ } else if (h["retry-after"] !== void 0) {
341
+ const parsed = parseRetryAfter(h["retry-after"]);
342
+ if (parsed !== null) {
343
+ result.retryAfterMs = parsed;
344
+ if (result.resetAt === void 0) result.resetAt = Date.now() + parsed;
345
+ }
346
+ }
347
+ return result;
348
+ }
349
+ /**
350
+ * Parse Retry-After header value.
351
+ * Returns duration in milliseconds.
352
+ * Exported for integration use.
353
+ */
354
+ function parseRetryAfter(value) {
355
+ const seconds = parseInt(value, 10);
356
+ if (!isNaN(seconds) && seconds >= 0 && String(seconds) === value.trim()) return seconds * 1e3;
357
+ const httpDate = parseHttpDate(value);
358
+ if (httpDate !== null) return Math.max(0, httpDate - Date.now());
359
+ return null;
360
+ }
361
+ function parseFirstMatch(headers, names) {
362
+ for (const name of names) {
363
+ const value = headers[name];
364
+ if (value !== void 0) {
365
+ const num = parseInt(value, 10);
366
+ if (!isNaN(num) && num >= 0) return num;
367
+ }
368
+ }
369
+ }
370
+ /**
371
+ * Parse reset time from various formats.
372
+ * Returns absolute Unix timestamp in milliseconds.
373
+ */
374
+ function parseResetTime(value) {
375
+ const durationMs = parseDuration(value);
376
+ if (durationMs !== null) return Date.now() + durationMs;
377
+ const num = parseFloat(value);
378
+ if (!isNaN(num)) if (num < 1e9) return Date.now() + num * 1e3;
379
+ else if (num < 1e10) return num * 1e3;
380
+ else return num;
381
+ const httpDate = parseHttpDate(value);
382
+ if (httpDate !== null) return httpDate;
383
+ return null;
384
+ }
385
+ /**
386
+ * Parse HTTP-date format (RFC 7231).
387
+ */
388
+ function parseHttpDate(value) {
389
+ const timestamp = Date.parse(value);
390
+ if (!isNaN(timestamp)) {
391
+ const now = Date.now();
392
+ const oneYearMs = 365 * 24 * 60 * 60 * 1e3;
393
+ if (timestamp > now - oneYearMs && timestamp < now + oneYearMs) return timestamp;
394
+ }
395
+ return null;
396
+ }
397
+ /**
398
+ * Parse duration strings like "1s", "100ms", "1m30s", "1h30s", "2h15m30s".
399
+ *
400
+ * Supported formats:
401
+ * - Xms (milliseconds)
402
+ * - Xs or X.Xs (seconds)
403
+ * - Xm or XmYs (minutes with optional seconds)
404
+ * - Xh or XhYm or XhYs or XhYmZs (hours with optional minutes/seconds)
405
+ */
406
+ function parseDuration(value) {
407
+ const match = value.match(/^(?:(\d+)h)?(?:(\d+)m(?!s))?(?:(\d+(?:\.\d+)?)(ms|s))?$/);
408
+ if (!match) return null;
409
+ const [, hours, minutes, secondsValue, secondsUnit] = match;
410
+ if (!hours && !minutes && !secondsValue) return null;
411
+ let ms = 0;
412
+ if (hours) ms += parseInt(hours, 10) * 36e5;
413
+ if (minutes) ms += parseInt(minutes, 10) * 6e4;
414
+ if (secondsValue) {
415
+ const num = parseFloat(secondsValue);
416
+ ms += secondsUnit === "ms" ? num : num * 1e3;
417
+ }
418
+ return ms;
419
+ }
420
+ function lowercaseKeys(obj) {
421
+ const result = {};
422
+ for (const [key, value] of Object.entries(obj)) result[key.toLowerCase()] = value;
423
+ return result;
424
+ }
425
+ //#endregion
288
426
  //#region src/util/time.ts
289
427
  function getCurrentTimestamp() {
290
428
  return Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
@@ -371,9 +509,8 @@ async function monkeyPatchFetch(url, options) {
371
509
  }
372
510
  //#endregion
373
511
  //#region src/util/fetch/index.ts
374
- let cachedAgent = null;
375
- let cachedAgentConcurrency;
376
- let cachedProxyAgents = /* @__PURE__ */ new Map();
512
+ const cachedAgents = /* @__PURE__ */ new Map();
513
+ const cachedProxyAgents = /* @__PURE__ */ new Map();
377
514
  /**
378
515
  * Get the connection pool size for HTTP agents.
379
516
  * Priority: PROMPTFOO_FETCH_CONNECTIONS env var > CLI -j flag > DEFAULT_MAX_CONCURRENCY (4).
@@ -393,44 +530,44 @@ function getConnectionPoolSize() {
393
530
  * Exported for testing only.
394
531
  */
395
532
  function clearAgentCache() {
396
- if (cachedAgent && typeof cachedAgent.close === "function") cachedAgent.close();
397
- cachedAgent = null;
398
- cachedAgentConcurrency = void 0;
533
+ for (const agent of cachedAgents.values()) if (typeof agent.close === "function") agent.close();
534
+ cachedAgents.clear();
399
535
  for (const agent of cachedProxyAgents.values()) if (typeof agent.close === "function") agent.close();
400
- cachedProxyAgents = /* @__PURE__ */ new Map();
536
+ cachedProxyAgents.clear();
401
537
  }
402
538
  function getOrCreateAgent(tlsOptions) {
403
539
  const concurrency = getConnectionPoolSize();
404
- if (cachedAgent && cachedAgentConcurrency !== concurrency) {
405
- if (typeof cachedAgent.close === "function") cachedAgent.close();
406
- cachedAgent = null;
407
- }
408
- if (!cachedAgent) {
409
- cachedAgent = new Agent({
410
- headersTimeout: REQUEST_TIMEOUT_MS,
411
- keepAliveTimeout: 3e4,
412
- keepAliveMaxTimeout: 6e4,
413
- connections: concurrency,
414
- connect: tlsOptions
415
- });
416
- cachedAgentConcurrency = concurrency;
417
- }
418
- return cachedAgent;
540
+ const existing = cachedAgents.get(concurrency);
541
+ if (existing) return existing;
542
+ const agent = new Agent({
543
+ headersTimeout: REQUEST_TIMEOUT_MS,
544
+ keepAliveTimeout: 3e4,
545
+ keepAliveMaxTimeout: 6e4,
546
+ connections: concurrency,
547
+ connect: tlsOptions
548
+ });
549
+ cachedAgents.set(concurrency, agent);
550
+ return agent;
551
+ }
552
+ function getProxyAgentCacheKey(proxyUrl, concurrency) {
553
+ return `${proxyUrl}::${concurrency}`;
419
554
  }
420
555
  function getOrCreateProxyAgent(proxyUrl, tlsOptions) {
421
- if (!cachedProxyAgents.has(proxyUrl)) {
422
- const agent = new ProxyAgent({
423
- uri: proxyUrl,
424
- proxyTls: tlsOptions,
425
- requestTls: tlsOptions,
426
- headersTimeout: REQUEST_TIMEOUT_MS,
427
- keepAliveTimeout: 3e4,
428
- keepAliveMaxTimeout: 6e4,
429
- connections: getConnectionPoolSize()
430
- });
431
- cachedProxyAgents.set(proxyUrl, agent);
432
- }
433
- return cachedProxyAgents.get(proxyUrl);
556
+ const concurrency = getConnectionPoolSize();
557
+ const cacheKey = getProxyAgentCacheKey(proxyUrl, concurrency);
558
+ const existing = cachedProxyAgents.get(cacheKey);
559
+ if (existing) return existing;
560
+ const agent = new ProxyAgent({
561
+ uri: proxyUrl,
562
+ proxyTls: tlsOptions,
563
+ requestTls: tlsOptions,
564
+ headersTimeout: REQUEST_TIMEOUT_MS,
565
+ keepAliveTimeout: 3e4,
566
+ keepAliveMaxTimeout: 6e4,
567
+ connections: concurrency
568
+ });
569
+ cachedProxyAgents.set(cacheKey, agent);
570
+ return agent;
434
571
  }
435
572
  async function fetchWithProxy(url, options = {}, abortSignal) {
436
573
  let finalUrl = url;
@@ -532,12 +669,14 @@ async function handleRateLimit(response) {
532
669
  const retryAfter = response.headers.get("Retry-After");
533
670
  const openaiReset = response.headers.get("x-ratelimit-reset-requests") || response.headers.get("x-ratelimit-reset-tokens");
534
671
  let waitTime = 6e4;
535
- if (openaiReset) waitTime = Math.max(Number.parseInt(openaiReset) * 1e3, 0);
536
- else if (rateLimitReset) {
672
+ if (openaiReset) {
673
+ const parsedHeaders = parseRateLimitHeaders(Object.fromEntries(response.headers.entries()));
674
+ if (parsedHeaders.resetAt !== void 0) waitTime = Math.max(parsedHeaders.resetAt - Date.now(), 0);
675
+ } else if (rateLimitReset) {
537
676
  const resetTime = /* @__PURE__ */ new Date(Number.parseInt(rateLimitReset) * 1e3);
538
677
  const now = /* @__PURE__ */ new Date();
539
678
  waitTime = Math.max(resetTime.getTime() - now.getTime() + 1e3, 0);
540
- } else if (retryAfter) waitTime = Number.parseInt(retryAfter) * 1e3;
679
+ } else if (retryAfter) waitTime = parseRetryAfter(retryAfter) ?? waitTime;
541
680
  logger.debug(`Rate limited, waiting ${waitTime}ms before retry`);
542
681
  await sleep(waitTime);
543
682
  }
@@ -593,6 +732,6 @@ async function fetchWithRetries(url, options = {}, timeout, maxRetries) {
593
732
  throw new Error(`Request failed after ${maxRetries} retries: ${lastErrorMessage}`);
594
733
  }
595
734
  //#endregion
596
- export { getShareApiBaseUrl as A, CLOUD_PROVIDER_PREFIX as C, TERMINAL_MAX_WIDTH as D, R_ENDPOINT as E, HUMAN_ASSERTION_TYPE as F, POSTHOG_KEY as M, VERSION as N, getDefaultPort as O, FILE_METADATA_KEY as P, transformTools as S, EVENTS_ENDPOINT as T, openaiToolChoiceToBedrock as _, handleRateLimit as a, toTitleCase as b, getCurrentTimestamp as c, LONG_RUNNING_MODEL_TIMEOUT_MS as d, REQUEST_TIMEOUT_MS as f, isPromptfooSampleTarget as g, isOpenAIToolChoice as h, fetchWithTimeout as i, getShareViewBaseUrl as j, getDefaultShareViewBaseUrl as k, sleep as l, isOpenAIToolArray as m, fetchWithProxy as n, isRateLimited as o, calculateCost as p, fetchWithRetries as r, isTransientError as s, clearAgentCache as t, sleepWithAbort as u, openaiToolsToBedrock as v, CONSENT_ENDPOINT as w, transformToolChoice as x, parseChatPrompt as y };
735
+ export { getDefaultPort as A, transformToolChoice as C, EVENTS_ENDPOINT as D, CONSENT_ENDPOINT as E, HUMAN_ASSERTION_TYPE as F, getShareApiBaseUrl as M, getShareViewBaseUrl as N, R_ENDPOINT as O, FILE_METADATA_KEY as P, toTitleCase as S, CLOUD_PROVIDER_PREFIX as T, isOpenAIToolChoice as _, handleRateLimit as a, openaiToolsToBedrock as b, getCurrentTimestamp as c, parseRateLimitHeaders as d, parseRetryAfter as f, isOpenAIToolArray as g, calculateCost as h, fetchWithTimeout as i, getDefaultShareViewBaseUrl as j, TERMINAL_MAX_WIDTH as k, sleep as l, REQUEST_TIMEOUT_MS as m, fetchWithProxy as n, isRateLimited as o, LONG_RUNNING_MODEL_TIMEOUT_MS as p, fetchWithRetries as r, isTransientError as s, clearAgentCache as t, sleepWithAbort as u, isPromptfooSampleTarget as v, transformTools as w, parseChatPrompt as x, openaiToolChoiceToBedrock as y };
597
736
 
598
- //# sourceMappingURL=fetch-DoVRJZhJ.js.map
737
+ //# sourceMappingURL=fetch-B6ch2nU2.js.map