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,15 +1,12 @@
1
- import { t as __exportAll } from "./chunk-DEq-mXcV.js";
2
- import { S as getEnvBool, T as getEnvString, a as logger, k as state } from "./logger-Ct2S6Yx-.js";
3
- import { i as resolvePackageEntryPoint, t as getDirectory } from "./esm-C7PnfdF8.js";
4
- import { a as CloudConfig, t as fetchWithProxy } from "./fetch-Di00EQrc.js";
5
- import { t as OpenAICodexSDKProvider } from "./codex-sdk-CErXn7qh.js";
6
- import { o as isLoggedIntoCloud } from "./accounts-DhMYUUbu.js";
1
+ #!/usr/bin/env node
2
+ import { N as state, O as getEnvString, T as getEnvBool } from "./logger-BbY6ypFL.js";
3
+ import { c as isLoggedIntoCloud } from "./accounts-CjFnOPmb.js";
4
+ import { r as CloudConfig } from "./cloud-D3DiFqH6.js";
5
+ import { i as resolvePackageEntryPoint, t as getDirectory } from "./esm-Bexx2PFc.js";
6
+ import { t as OpenAICodexSDKProvider } from "./codex-sdk-B6Wah8Pa.js";
7
7
  import fs from "fs";
8
8
  import path from "path";
9
- import "chalk";
10
9
  import os from "os";
11
- import "opener";
12
- import readline from "readline";
13
10
  //#region src/providers/openai/codexDefaults.ts
14
11
  const CODEX_AUTH_FILENAME = "auth.json";
15
12
  const CODEX_SDK_PACKAGE_NAME = "@openai/codex-sdk";
@@ -186,12 +183,20 @@ function getRemoteHealthUrl() {
186
183
  function getRemoteVersionUrl() {
187
184
  return buildRemoteUrl("/version", "https://api.promptfoo.app/version");
188
185
  }
186
+ function getRemoteGenerationDisabledError(strategyName) {
187
+ return `${strategyName} requires remote generation, which is currently disabled for this configuration. To enable it, run with --remote, set PROMPTFOO_REMOTE_GENERATION_URL to a self-hosted endpoint, or log into Promptfoo Cloud with \`promptfoo auth login\`.`;
188
+ }
189
+ function getRemoteGenerationExplicitlyDisabledError(strategyName) {
190
+ const activeFlags = ["PROMPTFOO_DISABLE_REMOTE_GENERATION", "PROMPTFOO_DISABLE_REDTEAM_REMOTE_GENERATION"].filter((flag) => getEnvBool(flag));
191
+ return `${strategyName} requires remote generation, which has been explicitly disabled. To enable it, ${activeFlags.length > 0 ? `unset ${activeFlags.join(" and ")}` : "unset PROMPTFOO_DISABLE_REMOTE_GENERATION or PROMPTFOO_DISABLE_REDTEAM_REMOTE_GENERATION (whichever is set)"}. Once re-enabled, you can point at a self-hosted endpoint with PROMPTFOO_REMOTE_GENERATION_URL or use Promptfoo Cloud via \`promptfoo auth login\`.`;
192
+ }
189
193
  /**
190
194
  * Determines if remote generation should be used based on configuration.
191
195
  * @returns true if remote generation should be used
192
196
  */
193
197
  function shouldGenerateRemote(options) {
194
198
  if (neverGenerateRemote()) return false;
199
+ if (getEnvString("PROMPTFOO_REMOTE_GENERATION_URL")) return true;
195
200
  if (isLoggedIntoCloud()) return true;
196
201
  return !(Boolean(getEnvString("OPENAI_API_KEY")) || options?.canUseCodexDefaultProvider && !options?.requireEmbeddingProvider && hasCodexDefaultCredentials()) || (state.remote ?? false);
197
202
  }
@@ -208,103 +213,6 @@ function getRemoteGenerationUrlForUnaligned() {
208
213
  return "https://api.promptfoo.app/api/v1/task/harmful";
209
214
  }
210
215
  //#endregion
211
- //#region src/util/readline.ts
212
- /**
213
- * Factory function for creating readline interface.
214
- * This abstraction makes it easier to mock in tests and prevents open handles.
215
- */
216
- function createReadlineInterface() {
217
- return readline.createInterface({
218
- input: process.stdin,
219
- output: process.stdout
220
- });
221
- }
222
- /**
223
- * Prompts the user with a question and returns their answer.
224
- * Automatically handles cleanup of the readline interface.
225
- */
226
- async function promptUser(question) {
227
- return new Promise((resolve, reject) => {
228
- let rl = null;
229
- try {
230
- rl = createReadlineInterface();
231
- rl.on("error", (err) => {
232
- if (rl) rl.close();
233
- reject(err);
234
- });
235
- rl.question(question, (answer) => {
236
- if (rl) rl.close();
237
- resolve(answer);
238
- });
239
- } catch (err) {
240
- if (rl) rl.close();
241
- reject(err);
242
- }
243
- });
244
- }
245
- /**
246
- * Prompts the user with a yes/no question and returns a boolean.
247
- * @param question The question to ask
248
- * @param defaultYes If true, empty response defaults to yes. If false, defaults to no.
249
- */
250
- async function promptYesNo(question, defaultYes = false) {
251
- const answer = await promptUser(`${question} ${defaultYes ? "(Y/n): " : "(y/N): "}`);
252
- if (defaultYes) return !answer.trim().toLowerCase().startsWith("n");
253
- return answer.trim().toLowerCase().startsWith("y");
254
- }
255
- //#endregion
256
- //#region src/util/server.ts
257
- var server_exports = /* @__PURE__ */ __exportAll({
258
- BrowserBehavior: () => BrowserBehavior,
259
- checkServerFeatureSupport: () => checkServerFeatureSupport
260
- });
261
- const BrowserBehavior = {
262
- ASK: 0,
263
- OPEN: 1,
264
- SKIP: 2,
265
- OPEN_TO_REPORT: 3,
266
- OPEN_TO_REDTEAM_CREATE: 4,
267
- OPEN_TO_EVAL_SETUP: 5
268
- };
269
- BrowserBehavior.ASK, BrowserBehavior.OPEN, BrowserBehavior.SKIP, BrowserBehavior.OPEN_TO_REPORT, BrowserBehavior.OPEN_TO_REDTEAM_CREATE, BrowserBehavior.OPEN_TO_EVAL_SETUP;
270
- const featureCache = /* @__PURE__ */ new Map();
271
- /**
272
- * Checks if a server supports a specific feature based on build date
273
- * @param featureName - Name of the feature (for caching and logging)
274
- * @param requiredBuildDate - Minimum build date when feature was added (ISO string)
275
- * @returns Promise<boolean> - true if server supports the feature
276
- */
277
- async function checkServerFeatureSupport(featureName, requiredBuildDate) {
278
- const cacheKey = `${featureName}`;
279
- if (featureCache.has(cacheKey)) return featureCache.get(cacheKey);
280
- let supported = false;
281
- try {
282
- logger.debug(`[Feature Detection] Checking server support for feature: ${featureName}`);
283
- const versionUrl = getRemoteVersionUrl();
284
- if (versionUrl) {
285
- const data = await (await fetchWithProxy(versionUrl, {
286
- method: "GET",
287
- headers: { "Content-Type": "application/json" }
288
- })).json();
289
- if (data.buildDate) {
290
- supported = new Date(data.buildDate) >= new Date(requiredBuildDate);
291
- logger.debug(`[Feature Detection] ${featureName}: buildDate=${data.buildDate}, required=${requiredBuildDate}, supported=${supported}`);
292
- } else {
293
- logger.debug(`[Feature Detection] ${featureName}: no version info, assuming not supported`);
294
- supported = false;
295
- }
296
- } else {
297
- logger.debug(`[Feature Detection] No remote URL available for ${featureName}, assuming local server supports it`);
298
- supported = true;
299
- }
300
- } catch (error) {
301
- logger.debug(`[Feature Detection] Version check failed for ${featureName}, assuming not supported: ${error}`);
302
- supported = false;
303
- }
304
- featureCache.set(cacheKey, supported);
305
- return supported;
306
- }
307
- //#endregion
308
- export { getRemoteGenerationUrlForUnaligned as a, neverGenerateRemoteForRegularEvals as c, hasCodexDefaultCredentials as d, getRemoteGenerationUrl as i, shouldGenerateRemote as l, server_exports as n, getRemoteHealthUrl as o, promptYesNo as r, neverGenerateRemote as s, checkServerFeatureSupport as t, getCodexDefaultProviders as u };
216
+ export { getRemoteHealthUrl as a, neverGenerateRemoteForRegularEvals as c, hasCodexDefaultCredentials as d, getRemoteGenerationUrlForUnaligned as i, shouldGenerateRemote as l, getRemoteGenerationExplicitlyDisabledError as n, getRemoteVersionUrl as o, getRemoteGenerationUrl as r, neverGenerateRemote as s, getRemoteGenerationDisabledError as t, getCodexDefaultProviders as u };
309
217
 
310
- //# sourceMappingURL=server-D6Il2Sob.js.map
218
+ //# sourceMappingURL=remoteGeneration-B1_XsKXU.js.map
@@ -1,15 +1,11 @@
1
- import { t as __exportAll } from "./chunk-DEq-mXcV.js";
2
- import { S as getEnvBool, T as getEnvString, a as logger, k as state } from "./logger-B88EkIn6.js";
3
- import { a as CloudConfig, j as getDefaultPort, t as fetchWithProxy } from "./fetch-B0Z3Oe4k.js";
4
- import { c as isLoggedIntoCloud } from "./accounts-DdJ2pHMI.js";
5
- import { i as resolvePackageEntryPoint, t as getDirectory } from "./esm-Dh4dOLlt.js";
6
- import { t as OpenAICodexSDKProvider } from "./codex-sdk-Rtky3M4I.js";
1
+ import { S as getEnvBool, T as getEnvString, k as state } from "./logger-KD8JjCRJ.js";
2
+ import { c as CloudConfig } from "./fetch-BufrQtvR.js";
3
+ import { c as isLoggedIntoCloud } from "./accounts-DanM1wq_.js";
4
+ import { i as resolvePackageEntryPoint, t as getDirectory } from "./esm-B6whoAcf.js";
5
+ import { t as OpenAICodexSDKProvider } from "./codex-sdk-CmQABzV3.js";
7
6
  import fs from "fs";
8
7
  import path from "path";
9
- import "chalk";
10
8
  import os from "os";
11
- import opener from "opener";
12
- import readline from "readline";
13
9
  //#region src/providers/openai/codexDefaults.ts
14
10
  const CODEX_AUTH_FILENAME = "auth.json";
15
11
  const CODEX_SDK_PACKAGE_NAME = "@openai/codex-sdk";
@@ -186,12 +182,20 @@ function getRemoteHealthUrl() {
186
182
  function getRemoteVersionUrl() {
187
183
  return buildRemoteUrl("/version", "https://api.promptfoo.app/version");
188
184
  }
185
+ function getRemoteGenerationDisabledError(strategyName) {
186
+ return `${strategyName} requires remote generation, which is currently disabled for this configuration. To enable it, run with --remote, set PROMPTFOO_REMOTE_GENERATION_URL to a self-hosted endpoint, or log into Promptfoo Cloud with \`promptfoo auth login\`.`;
187
+ }
188
+ function getRemoteGenerationExplicitlyDisabledError(strategyName) {
189
+ const activeFlags = ["PROMPTFOO_DISABLE_REMOTE_GENERATION", "PROMPTFOO_DISABLE_REDTEAM_REMOTE_GENERATION"].filter((flag) => getEnvBool(flag));
190
+ return `${strategyName} requires remote generation, which has been explicitly disabled. To enable it, ${activeFlags.length > 0 ? `unset ${activeFlags.join(" and ")}` : "unset PROMPTFOO_DISABLE_REMOTE_GENERATION or PROMPTFOO_DISABLE_REDTEAM_REMOTE_GENERATION (whichever is set)"}. Once re-enabled, you can point at a self-hosted endpoint with PROMPTFOO_REMOTE_GENERATION_URL or use Promptfoo Cloud via \`promptfoo auth login\`.`;
191
+ }
189
192
  /**
190
193
  * Determines if remote generation should be used based on configuration.
191
194
  * @returns true if remote generation should be used
192
195
  */
193
196
  function shouldGenerateRemote(options) {
194
197
  if (neverGenerateRemote()) return false;
198
+ if (getEnvString("PROMPTFOO_REMOTE_GENERATION_URL")) return true;
195
199
  if (isLoggedIntoCloud()) return true;
196
200
  return !(Boolean(getEnvString("OPENAI_API_KEY")) || options?.canUseCodexDefaultProvider && !options?.requireEmbeddingProvider && hasCodexDefaultCredentials()) || (state.remote ?? false);
197
201
  }
@@ -208,141 +212,6 @@ function getRemoteGenerationUrlForUnaligned() {
208
212
  return "https://api.promptfoo.app/api/v1/task/harmful";
209
213
  }
210
214
  //#endregion
211
- //#region src/util/readline.ts
212
- /**
213
- * Factory function for creating readline interface.
214
- * This abstraction makes it easier to mock in tests and prevents open handles.
215
- */
216
- function createReadlineInterface() {
217
- return readline.createInterface({
218
- input: process.stdin,
219
- output: process.stdout
220
- });
221
- }
222
- /**
223
- * Prompts the user with a question and returns their answer.
224
- * Automatically handles cleanup of the readline interface.
225
- */
226
- async function promptUser(question) {
227
- return new Promise((resolve, reject) => {
228
- let rl = null;
229
- try {
230
- rl = createReadlineInterface();
231
- rl.on("error", (err) => {
232
- if (rl) rl.close();
233
- reject(err);
234
- });
235
- rl.question(question, (answer) => {
236
- if (rl) rl.close();
237
- resolve(answer);
238
- });
239
- } catch (err) {
240
- if (rl) rl.close();
241
- reject(err);
242
- }
243
- });
244
- }
245
- /**
246
- * Prompts the user with a yes/no question and returns a boolean.
247
- * @param question The question to ask
248
- * @param defaultYes If true, empty response defaults to yes. If false, defaults to no.
249
- */
250
- async function promptYesNo(question, defaultYes = false) {
251
- const answer = await promptUser(`${question} ${defaultYes ? "(Y/n): " : "(y/N): "}`);
252
- if (defaultYes) return !answer.trim().toLowerCase().startsWith("n");
253
- return answer.trim().toLowerCase().startsWith("y");
254
- }
255
- //#endregion
256
- //#region src/util/server.ts
257
- var server_exports = /* @__PURE__ */ __exportAll({
258
- BrowserBehavior: () => BrowserBehavior,
259
- BrowserBehaviorNames: () => BrowserBehaviorNames,
260
- checkServerFeatureSupport: () => checkServerFeatureSupport,
261
- checkServerRunning: () => checkServerRunning,
262
- openBrowser: () => openBrowser
263
- });
264
- const BrowserBehavior = {
265
- ASK: 0,
266
- OPEN: 1,
267
- SKIP: 2,
268
- OPEN_TO_REPORT: 3,
269
- OPEN_TO_REDTEAM_CREATE: 4,
270
- OPEN_TO_EVAL_SETUP: 5
271
- };
272
- const BrowserBehaviorNames = {
273
- [BrowserBehavior.ASK]: "ASK",
274
- [BrowserBehavior.OPEN]: "OPEN",
275
- [BrowserBehavior.SKIP]: "SKIP",
276
- [BrowserBehavior.OPEN_TO_REPORT]: "OPEN_TO_REPORT",
277
- [BrowserBehavior.OPEN_TO_REDTEAM_CREATE]: "OPEN_TO_REDTEAM_CREATE",
278
- [BrowserBehavior.OPEN_TO_EVAL_SETUP]: "OPEN_TO_EVAL_SETUP"
279
- };
280
- const featureCache = /* @__PURE__ */ new Map();
281
- /**
282
- * Checks if a server supports a specific feature based on build date
283
- * @param featureName - Name of the feature (for caching and logging)
284
- * @param requiredBuildDate - Minimum build date when feature was added (ISO string)
285
- * @returns Promise<boolean> - true if server supports the feature
286
- */
287
- async function checkServerFeatureSupport(featureName, requiredBuildDate) {
288
- const cacheKey = `${featureName}`;
289
- if (featureCache.has(cacheKey)) return featureCache.get(cacheKey);
290
- let supported = false;
291
- try {
292
- logger.debug(`[Feature Detection] Checking server support for feature: ${featureName}`);
293
- const versionUrl = getRemoteVersionUrl();
294
- if (versionUrl) {
295
- const data = await (await fetchWithProxy(versionUrl, {
296
- method: "GET",
297
- headers: { "Content-Type": "application/json" }
298
- })).json();
299
- if (data.buildDate) {
300
- supported = new Date(data.buildDate) >= new Date(requiredBuildDate);
301
- logger.debug(`[Feature Detection] ${featureName}: buildDate=${data.buildDate}, required=${requiredBuildDate}, supported=${supported}`);
302
- } else {
303
- logger.debug(`[Feature Detection] ${featureName}: no version info, assuming not supported`);
304
- supported = false;
305
- }
306
- } else {
307
- logger.debug(`[Feature Detection] No remote URL available for ${featureName}, assuming local server supports it`);
308
- supported = true;
309
- }
310
- } catch (error) {
311
- logger.debug(`[Feature Detection] Version check failed for ${featureName}, assuming not supported: ${error}`);
312
- supported = false;
313
- }
314
- featureCache.set(cacheKey, supported);
315
- return supported;
316
- }
317
- async function checkServerRunning(port = getDefaultPort()) {
318
- logger.debug(`Checking for existing server on port ${port}...`);
319
- try {
320
- const data = await (await fetchWithProxy(`http://localhost:${port}/health`, { headers: { "x-promptfoo-silent": "true" } })).json();
321
- return data.status === "OK" && data.version === "0.121.4";
322
- } catch (err) {
323
- logger.debug(`No existing server found - this is expected on first startup. ${String(err)}`);
324
- return false;
325
- }
326
- }
327
- async function openBrowser(browserBehavior, port = getDefaultPort()) {
328
- const baseUrl = `http://localhost:${port}`;
329
- let url = baseUrl;
330
- if (browserBehavior === BrowserBehavior.OPEN_TO_REPORT) url = `${baseUrl}/report`;
331
- else if (browserBehavior === BrowserBehavior.OPEN_TO_REDTEAM_CREATE) url = `${baseUrl}/redteam/setup`;
332
- else if (browserBehavior === BrowserBehavior.OPEN_TO_EVAL_SETUP) url = `${baseUrl}/setup`;
333
- const doOpen = async () => {
334
- try {
335
- logger.info("Press Ctrl+C to stop the server");
336
- await opener(url);
337
- } catch (err) {
338
- logger.error(`Failed to open browser: ${String(err)}`);
339
- }
340
- };
341
- if (browserBehavior === BrowserBehavior.ASK) {
342
- if (await promptYesNo("Open URL in browser?", false)) await doOpen();
343
- } else if (browserBehavior !== BrowserBehavior.SKIP) await doOpen();
344
- }
345
- //#endregion
346
- export { openBrowser as a, getRemoteGenerationUrl as c, neverGenerateRemote as d, neverGenerateRemoteForRegularEvals as f, hasCodexDefaultCredentials as h, checkServerRunning as i, getRemoteGenerationUrlForUnaligned as l, getCodexDefaultProviders as m, BrowserBehaviorNames as n, server_exports as o, shouldGenerateRemote as p, checkServerFeatureSupport as r, promptYesNo as s, BrowserBehavior as t, getRemoteHealthUrl as u };
215
+ export { getRemoteHealthUrl as a, neverGenerateRemoteForRegularEvals as c, hasCodexDefaultCredentials as d, getRemoteGenerationUrlForUnaligned as i, shouldGenerateRemote as l, getRemoteGenerationExplicitlyDisabledError as n, getRemoteVersionUrl as o, getRemoteGenerationUrl as r, neverGenerateRemote as s, getRemoteGenerationDisabledError as t, getCodexDefaultProviders as u };
347
216
 
348
- //# sourceMappingURL=server-BSB45Nt9.js.map
217
+ //# sourceMappingURL=remoteGeneration-COpWcmWd.js.map
@@ -1,19 +1,15 @@
1
- const require_logger = require("./logger-COuQb2xB.cjs");
2
- const require_esm = require("./esm-CtEPLdAj.cjs");
3
- const require_fetch = require("./fetch-CJU5ELPa.cjs");
4
- const require_codex_sdk = require("./codex-sdk-C2_M2pl_.cjs");
5
- const require_accounts = require("./accounts-Dy17bs4D.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_accounts = require("./accounts-CmWzeD2d.cjs");
5
+ const require_esm = require("./esm-BIKakvNa.cjs");
6
+ const require_codex_sdk = require("./codex-sdk-CFF6gUyi.cjs");
6
7
  let fs = require("fs");
7
- fs = require_logger.__toESM(fs);
8
+ fs = require_rolldown_runtime.__toESM(fs, 1);
8
9
  let path = require("path");
9
- path = require_logger.__toESM(path);
10
- let chalk = require("chalk");
11
- chalk = require_logger.__toESM(chalk);
10
+ path = require_rolldown_runtime.__toESM(path, 1);
12
11
  let os = require("os");
13
- os = require_logger.__toESM(os);
14
- require("opener");
15
- let readline = require("readline");
16
- readline = require_logger.__toESM(readline);
12
+ os = require_rolldown_runtime.__toESM(os, 1);
17
13
  //#region src/providers/openai/codexDefaults.ts
18
14
  const CODEX_AUTH_FILENAME = "auth.json";
19
15
  const CODEX_SDK_PACKAGE_NAME = "@openai/codex-sdk";
@@ -190,12 +186,20 @@ function getRemoteHealthUrl() {
190
186
  function getRemoteVersionUrl() {
191
187
  return buildRemoteUrl("/version", "https://api.promptfoo.app/version");
192
188
  }
189
+ function getRemoteGenerationDisabledError(strategyName) {
190
+ return `${strategyName} requires remote generation, which is currently disabled for this configuration. To enable it, run with --remote, set PROMPTFOO_REMOTE_GENERATION_URL to a self-hosted endpoint, or log into Promptfoo Cloud with \`promptfoo auth login\`.`;
191
+ }
192
+ function getRemoteGenerationExplicitlyDisabledError(strategyName) {
193
+ const activeFlags = ["PROMPTFOO_DISABLE_REMOTE_GENERATION", "PROMPTFOO_DISABLE_REDTEAM_REMOTE_GENERATION"].filter((flag) => require_logger.getEnvBool(flag));
194
+ return `${strategyName} requires remote generation, which has been explicitly disabled. To enable it, ${activeFlags.length > 0 ? `unset ${activeFlags.join(" and ")}` : "unset PROMPTFOO_DISABLE_REMOTE_GENERATION or PROMPTFOO_DISABLE_REDTEAM_REMOTE_GENERATION (whichever is set)"}. Once re-enabled, you can point at a self-hosted endpoint with PROMPTFOO_REMOTE_GENERATION_URL or use Promptfoo Cloud via \`promptfoo auth login\`.`;
195
+ }
193
196
  /**
194
197
  * Determines if remote generation should be used based on configuration.
195
198
  * @returns true if remote generation should be used
196
199
  */
197
200
  function shouldGenerateRemote(options) {
198
201
  if (neverGenerateRemote()) return false;
202
+ if (require_logger.getEnvString("PROMPTFOO_REMOTE_GENERATION_URL")) return true;
199
203
  if (require_accounts.isLoggedIntoCloud()) return true;
200
204
  return !(Boolean(require_logger.getEnvString("OPENAI_API_KEY")) || options?.canUseCodexDefaultProvider && !options?.requireEmbeddingProvider && hasCodexDefaultCredentials()) || (require_logger.state.remote ?? false);
201
205
  }
@@ -212,115 +216,22 @@ function getRemoteGenerationUrlForUnaligned() {
212
216
  return "https://api.promptfoo.app/api/v1/task/harmful";
213
217
  }
214
218
  //#endregion
215
- //#region src/util/readline.ts
216
- /**
217
- * Factory function for creating readline interface.
218
- * This abstraction makes it easier to mock in tests and prevents open handles.
219
- */
220
- function createReadlineInterface() {
221
- return readline.default.createInterface({
222
- input: process.stdin,
223
- output: process.stdout
224
- });
225
- }
226
- /**
227
- * Prompts the user with a question and returns their answer.
228
- * Automatically handles cleanup of the readline interface.
229
- */
230
- async function promptUser(question) {
231
- return new Promise((resolve, reject) => {
232
- let rl = null;
233
- try {
234
- rl = createReadlineInterface();
235
- rl.on("error", (err) => {
236
- if (rl) rl.close();
237
- reject(err);
238
- });
239
- rl.question(question, (answer) => {
240
- if (rl) rl.close();
241
- resolve(answer);
242
- });
243
- } catch (err) {
244
- if (rl) rl.close();
245
- reject(err);
246
- }
247
- });
248
- }
249
- /**
250
- * Prompts the user with a yes/no question and returns a boolean.
251
- * @param question The question to ask
252
- * @param defaultYes If true, empty response defaults to yes. If false, defaults to no.
253
- */
254
- async function promptYesNo(question, defaultYes = false) {
255
- const answer = await promptUser(`${question} ${defaultYes ? "(Y/n): " : "(y/N): "}`);
256
- if (defaultYes) return !answer.trim().toLowerCase().startsWith("n");
257
- return answer.trim().toLowerCase().startsWith("y");
258
- }
259
- //#endregion
260
- //#region src/util/server.ts
261
- const BrowserBehavior = {
262
- ASK: 0,
263
- OPEN: 1,
264
- SKIP: 2,
265
- OPEN_TO_REPORT: 3,
266
- OPEN_TO_REDTEAM_CREATE: 4,
267
- OPEN_TO_EVAL_SETUP: 5
268
- };
269
- BrowserBehavior.ASK, BrowserBehavior.OPEN, BrowserBehavior.SKIP, BrowserBehavior.OPEN_TO_REPORT, BrowserBehavior.OPEN_TO_REDTEAM_CREATE, BrowserBehavior.OPEN_TO_EVAL_SETUP;
270
- const featureCache = /* @__PURE__ */ new Map();
271
- /**
272
- * Checks if a server supports a specific feature based on build date
273
- * @param featureName - Name of the feature (for caching and logging)
274
- * @param requiredBuildDate - Minimum build date when feature was added (ISO string)
275
- * @returns Promise<boolean> - true if server supports the feature
276
- */
277
- async function checkServerFeatureSupport(featureName, requiredBuildDate) {
278
- const cacheKey = `${featureName}`;
279
- if (featureCache.has(cacheKey)) return featureCache.get(cacheKey);
280
- let supported = false;
281
- try {
282
- require_logger.logger.debug(`[Feature Detection] Checking server support for feature: ${featureName}`);
283
- const versionUrl = getRemoteVersionUrl();
284
- if (versionUrl) {
285
- const data = await (await require_fetch.fetchWithProxy(versionUrl, {
286
- method: "GET",
287
- headers: { "Content-Type": "application/json" }
288
- })).json();
289
- if (data.buildDate) {
290
- supported = new Date(data.buildDate) >= new Date(requiredBuildDate);
291
- require_logger.logger.debug(`[Feature Detection] ${featureName}: buildDate=${data.buildDate}, required=${requiredBuildDate}, supported=${supported}`);
292
- } else {
293
- require_logger.logger.debug(`[Feature Detection] ${featureName}: no version info, assuming not supported`);
294
- supported = false;
295
- }
296
- } else {
297
- require_logger.logger.debug(`[Feature Detection] No remote URL available for ${featureName}, assuming local server supports it`);
298
- supported = true;
299
- }
300
- } catch (error) {
301
- require_logger.logger.debug(`[Feature Detection] Version check failed for ${featureName}, assuming not supported: ${error}`);
302
- supported = false;
303
- }
304
- featureCache.set(cacheKey, supported);
305
- return supported;
306
- }
307
- //#endregion
308
- Object.defineProperty(exports, "BrowserBehavior", {
219
+ Object.defineProperty(exports, "getCodexDefaultProviders", {
309
220
  enumerable: true,
310
221
  get: function() {
311
- return BrowserBehavior;
222
+ return getCodexDefaultProviders;
312
223
  }
313
224
  });
314
- Object.defineProperty(exports, "checkServerFeatureSupport", {
225
+ Object.defineProperty(exports, "getRemoteGenerationDisabledError", {
315
226
  enumerable: true,
316
227
  get: function() {
317
- return checkServerFeatureSupport;
228
+ return getRemoteGenerationDisabledError;
318
229
  }
319
230
  });
320
- Object.defineProperty(exports, "getCodexDefaultProviders", {
231
+ Object.defineProperty(exports, "getRemoteGenerationExplicitlyDisabledError", {
321
232
  enumerable: true,
322
233
  get: function() {
323
- return getCodexDefaultProviders;
234
+ return getRemoteGenerationExplicitlyDisabledError;
324
235
  }
325
236
  });
326
237
  Object.defineProperty(exports, "getRemoteGenerationUrl", {
@@ -341,6 +252,12 @@ Object.defineProperty(exports, "getRemoteHealthUrl", {
341
252
  return getRemoteHealthUrl;
342
253
  }
343
254
  });
255
+ Object.defineProperty(exports, "getRemoteVersionUrl", {
256
+ enumerable: true,
257
+ get: function() {
258
+ return getRemoteVersionUrl;
259
+ }
260
+ });
344
261
  Object.defineProperty(exports, "hasCodexDefaultCredentials", {
345
262
  enumerable: true,
346
263
  get: function() {
@@ -359,12 +276,6 @@ Object.defineProperty(exports, "neverGenerateRemoteForRegularEvals", {
359
276
  return neverGenerateRemoteForRegularEvals;
360
277
  }
361
278
  });
362
- Object.defineProperty(exports, "promptYesNo", {
363
- enumerable: true,
364
- get: function() {
365
- return promptYesNo;
366
- }
367
- });
368
279
  Object.defineProperty(exports, "shouldGenerateRemote", {
369
280
  enumerable: true,
370
281
  get: function() {
@@ -372,4 +283,4 @@ Object.defineProperty(exports, "shouldGenerateRemote", {
372
283
  }
373
284
  });
374
285
 
375
- //# sourceMappingURL=server-Dx2TyCH2.cjs.map
286
+ //# sourceMappingURL=remoteGeneration-DS9N3pgB.cjs.map