promptfoo 0.121.5 → 0.121.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/dist/src/{ListApp-BRUsT43Y.js → ListApp-DLmM02JS.js} +1 -1
  2. package/dist/src/{accounts-CaLNYnf7.js → accounts-Ca7WIoPY.js} +12 -7
  3. package/dist/src/{accounts-CLJHCDDb.js → accounts-CjFnOPmb.js} +13 -8
  4. package/dist/src/{accounts-BIFntVWB.cjs → accounts-CmWzeD2d.cjs} +16 -10
  5. package/dist/src/{accounts-bnyHT7Ju.js → accounts-DanM1wq_.js} +12 -7
  6. package/dist/src/{agentic-utils-BclbiXiq.js → agentic-utils-CJ0j3fBi.js} +2 -2
  7. package/dist/src/{agentic-utils-B5krlibj.js → agentic-utils-DDEGRV9v.js} +2 -2
  8. package/dist/src/{agentic-utils-D2x0wGhB.cjs → agentic-utils-DvPWSUpb.cjs} +8 -7
  9. package/dist/src/{agentic-utils-Ba67xmgs.js → agentic-utils-TxUEMPYS.js} +2 -2
  10. package/dist/src/{agents-WULPVjbH.cjs → agents-B4sRuXg3.cjs} +7 -6
  11. package/dist/src/{agents-DhxWMCtH.js → agents-B8q7h_ek.js} +4 -4
  12. package/dist/src/{agents-BGqaTDnr.js → agents-CBgJvRkB.js} +20 -9
  13. package/dist/src/{agents-n6vPqV3i.js → agents-CYn2n3QP.js} +4 -4
  14. package/dist/src/{agents-BV9yFpXX.js → agents-D-vDNFx4.js} +20 -9
  15. package/dist/src/{agents-BYdMl1UE.js → agents-LrHuQqr1.js} +20 -9
  16. package/dist/src/{agents-emVcx3yh.js → agents-QGg76OF-.js} +2 -2
  17. package/dist/src/{agents-DiWmQYH9.cjs → agents-eHZ9nlgA.cjs} +21 -10
  18. package/dist/src/{aimlapi-uPGp0Zdo.js → aimlapi-CJEbQ0o6.js} +6 -6
  19. package/dist/src/{aimlapi-DR4pgeiC.js → aimlapi-D5HXzZ0s.js} +6 -6
  20. package/dist/src/{aimlapi-BzLjZI_m.cjs → aimlapi-T6HGNxNe.cjs} +7 -7
  21. package/dist/src/{aimlapi-BxqK9HF_.js → aimlapi-eYv3a_DK.js} +6 -6
  22. package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -1
  23. package/dist/src/app/assets/Report-BNHJKN35.js +1 -0
  24. package/dist/src/app/assets/index-BnT6P6sF.js +388 -0
  25. package/dist/src/app/assets/index-yhM8y1PP.css +1 -0
  26. package/dist/src/app/assets/{scroll-timeline-D9IT_e8Z.js → scroll-timeline-RpeTwOvs.js} +1 -1
  27. package/dist/src/app/assets/sync-5gq6fmG4.js +4 -0
  28. package/dist/src/app/assets/vendor-charts-BL9OMNU7.js +36 -0
  29. package/dist/src/app/assets/{vendor-markdown-Ch00wnNI.js → vendor-markdown-BYsQqn7Z.js} +10 -10
  30. package/dist/src/app/assets/{vendor-react-CVvmk1UB.js → vendor-react-CqWgVW6T.js} +2 -2
  31. package/dist/src/app/assets/{vendor-utils-BnEYbx2Q.js → vendor-utils-BHPO71pu.js} +1 -1
  32. package/dist/src/app/index.html +6 -6
  33. package/dist/src/{audio-Da8U9IS5.js → audio-BqnRvcWG.js} +3 -3
  34. package/dist/src/{audio-BvpTOArF.js → audio-CPMtV1yR.js} +3 -3
  35. package/dist/src/{audio-CScmnmEB.js → audio-DyiebVB3.js} +3 -3
  36. package/dist/src/{audio-C0vDeS0j.cjs → audio-FnxbEnSE.cjs} +4 -4
  37. package/dist/src/authoritativeMarkupInjection-BZIywVjG.js +74 -0
  38. package/dist/src/authoritativeMarkupInjection-DyAXAsSr.js +75 -0
  39. package/dist/src/authoritativeMarkupInjection-F2gBw0lN.cjs +74 -0
  40. package/dist/src/authoritativeMarkupInjection-QEQmFS83.js +74 -0
  41. package/dist/src/{base-BTux96b1.js → base-CKLo890h.js} +4 -3
  42. package/dist/src/{base-BOMaNEes.js → base-Co80MMCi.js} +4 -3
  43. package/dist/src/{base-Tw6uhH8K.cjs → base-DGJW48uz.cjs} +5 -4
  44. package/dist/src/{base-dYsl2hmL.js → base-E9I8zXjz.js} +4 -3
  45. package/dist/src/bestOfN-B3wNzjSB.js +137 -0
  46. package/dist/src/bestOfN-BBsO41z4.js +136 -0
  47. package/dist/src/bestOfN-CAwmg5UL.cjs +140 -0
  48. package/dist/src/bestOfN-_kTi8Bxe.js +136 -0
  49. package/dist/src/{blobs-B95F_7vE.cjs → blobs-B0977K1O.cjs} +7 -6
  50. package/dist/src/{blobs-D_gg8nbm.js → blobs-CeFdPn_T.js} +2 -2
  51. package/dist/src/{blobs-DjLby-uP.js → blobs-DODuTK-a.js} +2 -2
  52. package/dist/src/{blobs-BW4U31ue.js → blobs-Dwef1Ao1.js} +2 -2
  53. package/dist/src/{cache-DGg-yTZG.cjs → cache-CPGUA4Yl.cjs} +135 -25
  54. package/dist/src/cache-Cf7b4pWE.js +3 -0
  55. package/dist/src/{cache-Bzttsk0X.js → cache-DIXbtkNO.js} +125 -10
  56. package/dist/src/{cache-BI5BY7ey.js → cache-DpPWrkTE.js} +127 -11
  57. package/dist/src/{cache-Cr-qWIbP.js → cache-roFAE0cI.js} +125 -10
  58. package/dist/src/{chat-DChSH_Es.js → chat-CUCorGiL.js} +9 -9
  59. package/dist/src/{chat-DH97tVV9.cjs → chat-DG1wG4w0.cjs} +6 -6
  60. package/dist/src/{chat-Cx_LkwvZ.js → chat-Dabu84Br.js} +11 -11
  61. package/dist/src/{chat-BLOdH60v.js → chat-DqUFcWI0.js} +11 -11
  62. package/dist/src/{chat-vYqqv1gP.cjs → chat-DxTDQ83C.cjs} +14 -13
  63. package/dist/src/{chat-DG2LkwLq.js → chat-GmlolEwo.js} +4 -4
  64. package/dist/src/{chat-aMQZw6R7.js → chat-TP8Qifkh.js} +4 -4
  65. package/dist/src/{chat-D9nudO9b.js → chat-iwaM5UTQ.js} +4 -4
  66. package/dist/src/{chatkit-B8X34dQc.js → chatkit-B6DWi70Q.js} +3 -3
  67. package/dist/src/{chatkit-D44VyUyB.cjs → chatkit-BYveR48_.cjs} +6 -5
  68. package/dist/src/{chatkit-BXu42Qwt.js → chatkit-fARZwEfV.js} +3 -3
  69. package/dist/src/{chatkit-CbMRoeYw.js → chatkit-lb6FK02w.js} +1 -1
  70. package/dist/src/{claude-agent-sdk-BzNZeZ0N.js → claude-agent-sdk-BQNp_y-F.js} +209 -64
  71. package/dist/src/{claude-agent-sdk-BjriSVRZ.js → claude-agent-sdk-D5Jl0SDh.js} +210 -65
  72. package/dist/src/{claude-agent-sdk-BRq0bbIK.cjs → claude-agent-sdk-DH416NBD.cjs} +216 -70
  73. package/dist/src/{claude-agent-sdk-DYv_AJ8u.js → claude-agent-sdk-x1XJ1-pU.js} +210 -65
  74. package/dist/src/{cloud-Da0bofJd.js → cloud-D3DiFqH6.js} +2 -2
  75. package/dist/src/cloud-p96PA4MH.js +3 -0
  76. package/dist/src/{cloudflare-ai-CXC4b1EU.js → cloudflare-ai-B6NVI3ax.js} +4 -4
  77. package/dist/src/{cloudflare-ai-DJv5qnyb.cjs → cloudflare-ai-CEAW-xQa.cjs} +6 -6
  78. package/dist/src/{cloudflare-ai-CyBoIs1Q.js → cloudflare-ai-RFSojyXG.js} +4 -4
  79. package/dist/src/{cloudflare-ai-DGOwgexC.js → cloudflare-ai-r4tbYmWU.js} +4 -4
  80. package/dist/src/{cloudflare-gateway-D-dnkzCF.js → cloudflare-gateway-BCkLouto.js} +3 -3
  81. package/dist/src/{cloudflare-gateway-TJkVrZlB.js → cloudflare-gateway-BaZ4insB.js} +3 -3
  82. package/dist/src/{cloudflare-gateway-1sAoOyft.js → cloudflare-gateway-CF-Vb-2Z.js} +3 -3
  83. package/dist/src/{cloudflare-gateway-DKVjkDav.cjs → cloudflare-gateway-TJMLBj6I.cjs} +5 -5
  84. package/dist/src/{codex-app-server-CCe0TiDc.js → codex-app-server-B8KHEiF4.js} +5 -5
  85. package/dist/src/{codex-app-server-VMRnjZ68.cjs → codex-app-server-CnrLBCeA.cjs} +12 -11
  86. package/dist/src/{codex-app-server-CCLjqCh9.js → codex-app-server-DIXZ230V.js} +4 -4
  87. package/dist/src/{codex-app-server-CPW1LFwh.js → codex-app-server-Dd22dC_N.js} +5 -5
  88. package/dist/src/{codex-sdk-BgEFQ70r.js → codex-sdk-B6Wah8Pa.js} +5 -5
  89. package/dist/src/codex-sdk-BGjVAk23.js +3 -0
  90. package/dist/src/{codex-sdk-Bd8UbO9q.cjs → codex-sdk-CFF6gUyi.cjs} +18 -10
  91. package/dist/src/{codex-sdk-Bzb_TqX9.js → codex-sdk-CmQABzV3.js} +3 -3
  92. package/dist/src/{codex-sdk-DfvDTN33.js → codex-sdk-D2d54RL8.js} +5 -5
  93. package/dist/src/{cometapi-B5ImDlSm.js → cometapi-Bu9B8NUY.js} +7 -7
  94. package/dist/src/{cometapi-CCbpHkuF.js → cometapi-CtzNCHKu.js} +7 -7
  95. package/dist/src/{cometapi-BgAkuYCw.cjs → cometapi-DHCDlQUI.cjs} +8 -8
  96. package/dist/src/{cometapi-CC7hWxmX.js → cometapi-OBILPLlu.js} +7 -7
  97. package/dist/src/{completion-Vq_ad618.js → completion-CO2e1_62.js} +4 -4
  98. package/dist/src/{completion-DtQ72Bm3.cjs → completion-CSYfl2cd.cjs} +6 -6
  99. package/dist/src/{completion-2iuYVxwi.js → completion-DZNxcyfG.js} +5 -5
  100. package/dist/src/{completion-CrD6MQ93.js → completion-sNvCLTAP.js} +5 -5
  101. package/dist/src/constants-BjJV0cRr.js +6 -0
  102. package/dist/src/constants-DH5XYLKZ.js +7 -0
  103. package/dist/src/constants-DZGEFLsu.js +6 -0
  104. package/dist/src/constants-a2kYssQk.cjs +11 -0
  105. package/dist/src/{createHash-4gFQpDDv.js → createHash-BtbSX3mj.js} +1 -1
  106. package/dist/src/{createHash-Un4Q_huE.js → createHash-CGVzWdjj.js} +1 -1
  107. package/dist/src/{createHash-VvBIc-AW.cjs → createHash-CSiqnK5P.cjs} +2 -2
  108. package/dist/src/{createHash-DPpsZgFF.js → createHash-CgRvs4Fn.js} +1 -1
  109. package/dist/src/crescendo-BXEJK_bi.cjs +704 -0
  110. package/dist/src/crescendo-CU_Y2i-m.js +702 -0
  111. package/dist/src/crescendo-J1Xx4_zb.js +703 -0
  112. package/dist/src/crescendo-QiaSLW0d.js +701 -0
  113. package/dist/src/custom-BJfP00Bh.js +619 -0
  114. package/dist/src/custom-CZVn-1-r.js +620 -0
  115. package/dist/src/custom-Cqia7M0D.cjs +621 -0
  116. package/dist/src/custom-notggYVl.js +618 -0
  117. package/dist/src/{docker--3qzPa-6.js → docker-4D1eL6Gq.js} +5 -5
  118. package/dist/src/{docker-Dorv4_Dg.js → docker-BBv1WUDu.js} +5 -5
  119. package/dist/src/{docker-D3AY-5F5.cjs → docker-D06JUoe2.cjs} +6 -6
  120. package/dist/src/{docker-DCsCDvwM.js → docker-DdJQBxK9.js} +5 -5
  121. package/dist/src/{embedding-DNRvZwRN.js → embedding--UZVe4_7.js} +5 -5
  122. package/dist/src/{embedding-BXhN5lCH.cjs → embedding-BbrwopfX.cjs} +6 -6
  123. package/dist/src/{embedding-ChS1ivFS.js → embedding-Bi3rxrZF.js} +5 -5
  124. package/dist/src/{embedding-D_bI4NDq.js → embedding-C251p1-8.js} +4 -4
  125. package/dist/src/{errors-DFHe4L-n.js → errors-9PcUL8BC.js} +1 -1
  126. package/dist/src/{esm-B_rGuPTo.cjs → esm-BIKakvNa.cjs} +8 -7
  127. package/dist/src/{esm-BRkfNsYs.js → esm-BTK1W7lG.js} +1 -1
  128. package/dist/src/{esm-BX8fwlAO.js → esm-Bexx2PFc.js} +1 -1
  129. package/dist/src/{eval-DJ_4A-tr.js → eval-0VRANImH.js} +19 -19
  130. package/dist/src/{eval-BQPLBJbw.js → eval-DscR5iOM.js} +1 -1
  131. package/dist/src/{evalResult-pSvGWFMo.js → evalResult-2RRJvFyB.js} +18 -11
  132. package/dist/src/{evalResult-Cx-8OWkb.cjs → evalResult-CvtS8h8u.cjs} +29 -11
  133. package/dist/src/evalResult-DqzsS6_W.js +3 -0
  134. package/dist/src/{evalResult-D6P5I5il.js → evalResult-eUkJv9Ko.js} +17 -10
  135. package/dist/src/evaluator-DNdJF1Gv.js +3 -0
  136. package/dist/src/{evaluator-D-UIbbYq.js → evaluator-DRoiYB2q.js} +258 -132
  137. package/dist/src/evaluatorHelpers-BsYP_muT.js +511 -0
  138. package/dist/src/evaluatorHelpers-CRqTvSux.cjs +537 -0
  139. package/dist/src/evaluatorHelpers-DuqFFfq7.js +510 -0
  140. package/dist/src/{extractor-YlZbUMsL.js → extractor-BR7XAzAL.js} +5 -5
  141. package/dist/src/{extractor-Dxr2J_wK.cjs → extractor-BdxEtt3J.cjs} +6 -6
  142. package/dist/src/{extractor-DxyiFhPk.js → extractor-CIW3iN-b.js} +5 -5
  143. package/dist/src/{extractor-BM3jRERL.js → extractor-CxRtnaHl.js} +5 -5
  144. package/dist/src/{fetch-Y5qX_kST.js → fetch-BufrQtvR.js} +90 -26
  145. package/dist/src/{fetch-B6ch2nU2.js → fetch-DXUnXkVU.js} +86 -26
  146. package/dist/src/{fetch-NuqXW1Xb.cjs → fetch-Dw4XZHjj.cjs} +115 -32
  147. package/dist/src/{fetch-D9xxyC1p.js → fetch-It34O8Ur.js} +90 -26
  148. package/dist/src/fetch-_YgGd2qv.js +3 -0
  149. package/dist/src/{fileExtensions-D9h-8Wxg.cjs → fileExtensions-BhdwzYaD.cjs} +24 -1
  150. package/dist/src/{fileExtensions-BGh-W-HT.js → fileExtensions-CXRfY3Ss.js} +12 -2
  151. package/dist/src/{fileExtensions-DysCsxNG.js → fileExtensions-D4GCJ67J.js} +12 -2
  152. package/dist/src/{formatDuration-Ch4A7G3o.js → formatDuration-CMVNrYvE.js} +1 -1
  153. package/dist/src/{genaiTracer-BokHC-MW.cjs → genaiTracer-14nugQQx.cjs} +14 -2
  154. package/dist/src/{genaiTracer-C3ZPQU60.js → genaiTracer-BPVvltoW.js} +2 -2
  155. package/dist/src/{genaiTracer-DxODqT9e.js → genaiTracer-D18lYzhB.js} +2 -2
  156. package/dist/src/{genaiTracer-CFny3gOy.js → genaiTracer-jJKYsnjc.js} +2 -2
  157. package/dist/src/goat-Ckd3q3AY.js +467 -0
  158. package/dist/src/goat-Qgurm-NP.js +466 -0
  159. package/dist/src/goat-ghadEDdy.js +465 -0
  160. package/dist/src/goat-una6pZGP.cjs +469 -0
  161. package/dist/src/graders-BDT7dif6.js +3 -0
  162. package/dist/src/{graders-CgPn32yp.js → graders-BGP99PdK.js} +1017 -84
  163. package/dist/src/{graders-BoUqsCEm.js → graders-BX0f2tvS.js} +1022 -84
  164. package/dist/src/{graders-CwrbifOo.js → graders-C0nXU_ZP.js} +1020 -82
  165. package/dist/src/{graders-Bw1wk_21.cjs → graders-ClrU2fnd.cjs} +1085 -128
  166. package/dist/src/hydra-BSNZZm2M.js +543 -0
  167. package/dist/src/hydra-BxdG4nkg.js +541 -0
  168. package/dist/src/hydra-DE4xWwyc.js +542 -0
  169. package/dist/src/hydra-DrJttnvw.cjs +542 -0
  170. package/dist/src/image-B4oBtu6J.js +443 -0
  171. package/dist/src/{image-Dr_3I3nK.js → image-BN-hjLL9.js} +3 -3
  172. package/dist/src/{image-BeWaInPF.js → image-B_fPIwdg.js} +3 -3
  173. package/dist/src/image-BvUAW344.js +442 -0
  174. package/dist/src/image-Cvjwx1uY.js +442 -0
  175. package/dist/src/{image-D10dNAav.cjs → image-DfVCGPbI.cjs} +4 -4
  176. package/dist/src/{image-qjO6FWPs.js → image-QzmydkiG.js} +3 -3
  177. package/dist/src/image-X0oY4350.cjs +465 -0
  178. package/dist/src/index.cjs +688 -313
  179. package/dist/src/index.d.cts +3152 -1617
  180. package/dist/src/index.d.ts +3151 -1616
  181. package/dist/src/index.js +582 -223
  182. package/dist/src/indirectWebPwn-02ZIghCS.js +259 -0
  183. package/dist/src/indirectWebPwn-BJ22AbQa.cjs +397 -0
  184. package/dist/src/indirectWebPwn-CbjUG0rh.js +385 -0
  185. package/dist/src/indirectWebPwn-CfQJt3gk.cjs +260 -0
  186. package/dist/src/indirectWebPwn-DBQhOjoD.js +260 -0
  187. package/dist/src/indirectWebPwn-OsXnKejv.js +259 -0
  188. package/dist/src/indirectWebPwn-tNx9OZ35.js +385 -0
  189. package/dist/src/indirectWebPwn-uyWdHx04.js +386 -0
  190. package/dist/src/inputVariables-B0qUChbV.js +467 -0
  191. package/dist/src/inputVariables-DUGMb9Ka.js +464 -0
  192. package/dist/src/inputVariables-DXFdi7AI.js +468 -0
  193. package/dist/src/inputVariables-Dq9W-Z3a.cjs +475 -0
  194. package/dist/src/{interactiveCheck-CCICw2cy.js → interactiveCheck-C4QlIuoR.js} +1 -1
  195. package/dist/src/{invariant-kfQ8Bu82.cjs → invariant-QtnLD03y.cjs} +1 -1
  196. package/dist/src/iterative-CpU6i2As.js +490 -0
  197. package/dist/src/iterative-DJQEQpG3.js +491 -0
  198. package/dist/src/iterative-DQBuWM-j.cjs +493 -0
  199. package/dist/src/iterative-FTS4Bz67.js +492 -0
  200. package/dist/src/iterativeImage-BUABMVOA.js +413 -0
  201. package/dist/src/iterativeImage-ByFWkxax.cjs +415 -0
  202. package/dist/src/iterativeImage-BzUapOUi.js +414 -0
  203. package/dist/src/iterativeImage-Doz8mgxF.js +413 -0
  204. package/dist/src/iterativeMeta-B3YiAOc8.js +386 -0
  205. package/dist/src/iterativeMeta-C7APE_P1.js +385 -0
  206. package/dist/src/iterativeMeta-CSS8M6Ds.cjs +385 -0
  207. package/dist/src/iterativeMeta-DgoQ7bLh.js +384 -0
  208. package/dist/src/iterativeTree-B5zxBBSW.js +769 -0
  209. package/dist/src/iterativeTree-CNyIk0Yn.js +768 -0
  210. package/dist/src/iterativeTree-CPMF10ve.cjs +771 -0
  211. package/dist/src/iterativeTree-DvZ7GBwt.js +770 -0
  212. package/dist/src/{knowledgeBase-Dr3Kib7F.js → knowledgeBase-BadkINlJ.js} +24 -10
  213. package/dist/src/{knowledgeBase-BBETc5-S.js → knowledgeBase-Bi_8sV-H.js} +23 -9
  214. package/dist/src/{knowledgeBase-CzAi2rUI.js → knowledgeBase-CkMljjdg.js} +24 -10
  215. package/dist/src/{knowledgeBase-C8qOo26M.cjs → knowledgeBase-DUh34xba.cjs} +25 -11
  216. package/dist/src/{litellm-DRc4qWfc.js → litellm-BKBo0jpC.js} +4 -4
  217. package/dist/src/{litellm-BLSiANhk.js → litellm-BXyn5kZK.js} +4 -4
  218. package/dist/src/{litellm-DQGo_juI.js → litellm-CNcfbCfa.js} +4 -4
  219. package/dist/src/{litellm-CaUmV7Mk.cjs → litellm-CtAr7bKG.cjs} +5 -5
  220. package/dist/src/{logger-COuQb2xB.cjs → logger-cfNpzI4o.cjs} +13 -55
  221. package/dist/src/{luma-ray-B-tNZzqW.js → luma-ray-BMX1iEB6.js} +5 -5
  222. package/dist/src/{luma-ray-CtS3OlGq.js → luma-ray-CR5TSpp4.js} +5 -5
  223. package/dist/src/{luma-ray-if-Ml4R9.cjs → luma-ray-D3FUc2K3.cjs} +9 -8
  224. package/dist/src/{luma-ray-PJJgUjOc.js → luma-ray-OEMmS1RB.js} +5 -5
  225. package/dist/src/main.js +704 -208
  226. package/dist/src/memoryPoisoning-CM83NWYl.js +107 -0
  227. package/dist/src/memoryPoisoning-D8h9gXJF.js +106 -0
  228. package/dist/src/memoryPoisoning-Dp-btinn.cjs +106 -0
  229. package/dist/src/memoryPoisoning-cLuCoTuJ.js +106 -0
  230. package/dist/src/{messages-CewuNcNS.js → messages-BabO-cX8.js} +17 -9
  231. package/dist/src/{messages-BnsVHUnm.cjs → messages-DBPir0TQ.cjs} +24 -15
  232. package/dist/src/{messages-B9dSjrNf.js → messages-DGUlSNU7.js} +18 -10
  233. package/dist/src/{messages-CI69Lasb.js → messages-vsE_-Lv0.js} +18 -10
  234. package/dist/src/{meteor-CeGo0Lu2.js → meteor--TZYICTI.js} +1 -1
  235. package/dist/src/{meteor-BBGcGeCa.cjs → meteor-CR226f7Z.cjs} +2 -2
  236. package/dist/src/{meteor-Wc_aUVvu.js → meteor-Cl_yd7rJ.js} +1 -1
  237. package/dist/src/{meteor-BKTM-7KS.js → meteor-Dce-_zGQ.js} +1 -1
  238. package/dist/src/mischievousUser-0l8GD7Dp.js +46 -0
  239. package/dist/src/mischievousUser-BUOP9W5r.js +46 -0
  240. package/dist/src/mischievousUser-frFYKxu6.js +47 -0
  241. package/dist/src/mischievousUser-olGgHIVR.cjs +46 -0
  242. package/dist/src/{modelslab-BkapYJhh.cjs → modelslab-CNV5bMSk.cjs} +7 -7
  243. package/dist/src/{modelslab-zpz9JcK0.js → modelslab-Cogmu4mG.js} +6 -6
  244. package/dist/src/{modelslab-D73OnKSx.js → modelslab-Dzst7VTU.js} +6 -6
  245. package/dist/src/{modelslab-BCLOtfek.js → modelslab-EyDczZ5A.js} +6 -6
  246. package/dist/src/{nova-reel-B8F_TK5w.js → nova-reel-BGPNBOMS.js} +5 -5
  247. package/dist/src/{nova-reel-Bx0NFV2f.js → nova-reel-B_5NKFu1.js} +5 -5
  248. package/dist/src/{nova-reel-CNGJTLtG.js → nova-reel-C4eUJGse.js} +5 -5
  249. package/dist/src/{nova-reel-DkT7tnoB.cjs → nova-reel-CjJRxI1X.cjs} +9 -8
  250. package/dist/src/{nova-sonic-BaXRN1cr.js → nova-sonic-BNGmgfFz.js} +3 -3
  251. package/dist/src/{nova-sonic-BeTRaFOh.js → nova-sonic-ChPlh5na.js} +2 -2
  252. package/dist/src/{nova-sonic-CL7Zqv0G.js → nova-sonic-CrV0iaY_.js} +3 -3
  253. package/dist/src/{nova-sonic-YT426juD.cjs → nova-sonic-DuOG9Aun.cjs} +5 -4
  254. package/dist/src/{openai-Cy1XLs0c.cjs → openai-C3uXv8wS.cjs} +2 -2
  255. package/dist/src/{openai-BT-JvDse.js → openai-CJrsh9n4.js} +1 -1
  256. package/dist/src/{openai-D4fxGvRx.js → openai-zgwBb4Ff.js} +1 -1
  257. package/dist/src/{openclaw-Bq7RVR3k.js → openclaw-BIHlu_36.js} +9 -8
  258. package/dist/src/{openclaw-DObVgpjC.js → openclaw-CF7fMido.js} +9 -8
  259. package/dist/src/{openclaw-DUBZP3GL.cjs → openclaw-Dphc01BY.cjs} +17 -15
  260. package/dist/src/{openclaw-DA8U4DsD.js → openclaw-zIJAsz3P.js} +9 -8
  261. package/dist/src/{opencode-sdk-BB40Wir1.js → opencode-sdk-B3vlPLsp.js} +38 -3
  262. package/dist/src/{opencode-sdk-ChdK7F7z.js → opencode-sdk-D05JSgMQ.js} +39 -4
  263. package/dist/src/{opencode-sdk-CeqiOcOU.cjs → opencode-sdk-DoY6GbWw.cjs} +45 -9
  264. package/dist/src/{opencode-sdk-BM1UAIv1.js → opencode-sdk-sRKYHGoI.js} +39 -4
  265. package/dist/src/{otlpReceiver-UYMQx3sy.js → otlpReceiver--gTpSagc.js} +119 -3
  266. package/dist/src/{otlpReceiver-C6thJRXi.js → otlpReceiver-B2eaKC8C.js} +118 -2
  267. package/dist/src/{otlpReceiver-CcdIikOu.js → otlpReceiver-BXjcRqAM.js} +119 -3
  268. package/dist/src/{otlpReceiver-DNSQj6bf.cjs → otlpReceiver-CvJdBGSc.cjs} +125 -7
  269. package/dist/src/packageParser--MWTSrPW.js +36 -0
  270. package/dist/src/packageParser-CgE-ziRo.js +35 -0
  271. package/dist/src/packageParser-QoCS1FMl.cjs +54 -0
  272. package/dist/src/packageParser-hwwSGnAZ.js +35 -0
  273. package/dist/src/processShim-BBxt7LKO.js +95 -0
  274. package/dist/src/processShim-BcGzU8fY.js +94 -0
  275. package/dist/src/processShim-C_z3aRvF.js +94 -0
  276. package/dist/src/processShim-DSY9BV2T.cjs +98 -0
  277. package/dist/src/promptLength-0qIHyhA5.js +71 -0
  278. package/dist/src/promptLength-4X-Wd8PG.js +72 -0
  279. package/dist/src/promptLength-B9nZEfO6.js +71 -0
  280. package/dist/src/promptLength-BbBbDHNj.cjs +94 -0
  281. package/dist/src/promptfoo-BDrfT30-.js +180 -0
  282. package/dist/src/promptfoo-Cm4hiy1Y.js +180 -0
  283. package/dist/src/promptfoo-Rjp-MeBb.js +181 -0
  284. package/dist/src/promptfoo-b-baRMj-.cjs +205 -0
  285. package/dist/src/prompts-BYMtqPCw.js +259 -0
  286. package/dist/src/prompts-C-bqE1Yp.js +260 -0
  287. package/dist/src/prompts-Cp_Qx5Ml.js +270 -0
  288. package/dist/src/prompts-DHhQsANy.js +259 -0
  289. package/dist/src/prompts-D_QpZ2Dm.js +271 -0
  290. package/dist/src/prompts-hNvWBD3z.cjs +284 -0
  291. package/dist/src/prompts-huDVH2CI.js +270 -0
  292. package/dist/src/prompts-p78Hul5i.cjs +289 -0
  293. package/dist/src/{providerRegistry-BESeALrr.cjs → providerRegistry-CZO_w7ue.cjs} +2 -2
  294. package/dist/src/{providerRegistry-DoACwqhD.js → providerRegistry-DHcFiVWX.js} +1 -1
  295. package/dist/src/{providerRegistry-PMsleEzs.js → providerRegistry-ReCd0sFa.js} +1 -1
  296. package/dist/src/{providers-DT-GtF2t.js → providers-B9KzWxAX.js} +739 -11919
  297. package/dist/src/{providers-DRrerKra.js → providers-BCCz6_IX.js} +813 -11944
  298. package/dist/src/{providers-eDShy16E.cjs → providers-BDVVIQM6.cjs} +787 -12132
  299. package/dist/src/{providers-Ctcc592x.js → providers-BYAn82cf.js} +1 -1
  300. package/dist/src/{providers-CJh7iriU.js → providers-DVYRZP4E.js} +746 -11866
  301. package/dist/src/{pythonUtils-C4tltmIn.js → pythonUtils-CLCgQ9tt.js} +1 -1
  302. package/dist/src/{pythonUtils-DNqbnRdx.js → pythonUtils-CgYxeSmO.js} +2 -2
  303. package/dist/src/{pythonUtils-CoLaCwNY.cjs → pythonUtils-Cokhluq3.cjs} +7 -6
  304. package/dist/src/{pythonUtils-DMO68Jg7.js → pythonUtils-D0BYebvX.js} +2 -2
  305. package/dist/src/{quiverai-Bpx6MZ7T.cjs → quiverai-BAp6iTZD.cjs} +4 -4
  306. package/dist/src/{quiverai-CPKhWgaT.js → quiverai-BvIhI_0l.js} +3 -3
  307. package/dist/src/{quiverai-BSS9a7wV.js → quiverai-CdTWPe-A.js} +3 -3
  308. package/dist/src/{quiverai-Bk1KrvL6.js → quiverai-Cv7rJKDz.js} +3 -3
  309. package/dist/src/registry-BUJrgjwv.js +124 -0
  310. package/dist/src/registry-DXm1t_x0.js +125 -0
  311. package/dist/src/registry-Dp5EqoXc.js +124 -0
  312. package/dist/src/registry-KCVF1CFC.cjs +124 -0
  313. package/dist/src/{server-ByxbqAcQ.js → remoteGeneration-B1_XsKXU.js} +16 -147
  314. package/dist/src/{server-gyd6d4Hc.js → remoteGeneration-COpWcmWd.js} +15 -108
  315. package/dist/src/{server-BEECpeGG.cjs → remoteGeneration-DS9N3pgB.cjs} +30 -119
  316. package/dist/src/remoteGeneration-DsaSwmG2.js +217 -0
  317. package/dist/src/render-BNTrbmBw.cjs +384 -0
  318. package/dist/src/render-CSP99NLm.js +348 -0
  319. package/dist/src/render-DFfDeYUK.js +347 -0
  320. package/dist/src/{render-nj-UaPdn.js → render-DznWrxGO.js} +2 -2
  321. package/dist/src/render-_6ur1fhE.js +347 -0
  322. package/dist/src/resourceAttributes-D1jP3kL5.js +17 -0
  323. package/dist/src/resourceAttributes-DQbBB--2.js +16 -0
  324. package/dist/src/resourceAttributes-ephgOvdR.cjs +27 -0
  325. package/dist/src/resourceAttributes-v6-I67fn.js +16 -0
  326. package/dist/src/{responses-CF-ayauu.cjs → responses-1UFFF9N_.cjs} +12 -11
  327. package/dist/src/{responses-B8haB-mD.js → responses-B3W2JvOQ.js} +9 -9
  328. package/dist/src/{responses-1ztiVYsx.js → responses-B6ktc3Ra.js} +7 -7
  329. package/dist/src/{responses-BiaBguAu.js → responses-URRzV8qE.js} +9 -9
  330. package/dist/src/rolldown-runtime-D_mwlA32.cjs +43 -0
  331. package/dist/src/rubyUtils-BYVlQ94c.js +3 -0
  332. package/dist/src/{rubyUtils-CIQFnVz4.js → rubyUtils-CXlFM2rR.js} +2 -2
  333. package/dist/src/{rubyUtils-BI0p46eZ.js → rubyUtils-CnlW8AYb.js} +2 -2
  334. package/dist/src/{rubyUtils-DoifqkiA.cjs → rubyUtils-CqUWBZAt.cjs} +16 -26
  335. package/dist/src/{rubyUtils-DGnoCYL2.js → rubyUtils-DdGojpfv.js} +1 -1
  336. package/dist/src/runtimeTransform-BJOpL9Yc.js +142 -0
  337. package/dist/src/runtimeTransform-Dgh_D7DU.js +143 -0
  338. package/dist/src/runtimeTransform-DigbjU1r.js +142 -0
  339. package/dist/src/runtimeTransform-ON3YYILw.cjs +147 -0
  340. package/dist/src/{sagemaker-ClS_NB07.js → sagemaker-CujrzP1a.js} +61 -50
  341. package/dist/src/{sagemaker-ljtY12VM.cjs → sagemaker-DzffAqo_.cjs} +65 -53
  342. package/dist/src/{sagemaker-C5T60MKf.js → sagemaker-vhtSV7JI.js} +61 -50
  343. package/dist/src/{sagemaker-BDLeW29y.js → sagemaker-yr1QKeBs.js} +61 -50
  344. package/dist/src/{scanner-nOCWNIXa.js → scanner-DS0109SS.js} +6 -6
  345. package/dist/src/server/index.js +4147 -449
  346. package/dist/src/server-B8rqV126.cjs +126 -0
  347. package/dist/src/server-BaLytskk.js +3 -0
  348. package/dist/src/server-CMJD10J4.js +107 -0
  349. package/dist/src/server-Ddp8GNMp.js +146 -0
  350. package/dist/src/server-DhMHosWj.js +182 -0
  351. package/dist/src/shared-7pmVZLNO.js +1334 -0
  352. package/dist/src/shared-9WHQ1oNE.js +1335 -0
  353. package/dist/src/{fileExtensions-8CjoL7vB.js → shared-BoG7qLMv.js} +12 -2
  354. package/dist/src/shared-D6IjElRI.js +1334 -0
  355. package/dist/src/shared-WkgnDkcg.cjs +1436 -0
  356. package/dist/src/{signal-DTtUuU3l.js → signal-CSurUUyV.js} +2 -2
  357. package/dist/src/simulatedUser-C9aQObBI.js +222 -0
  358. package/dist/src/simulatedUser-Cu601Dd4.cjs +227 -0
  359. package/dist/src/simulatedUser-U_qAHnuB.js +222 -0
  360. package/dist/src/simulatedUser-p3tACcmw.js +223 -0
  361. package/dist/src/{slack-Bamy_7te.js → slack-Bapo-7_8.js} +1 -1
  362. package/dist/src/{slack-BLlsDpfG.cjs → slack-DMC1QVEg.cjs} +3 -2
  363. package/dist/src/{slack-BPYLQLgb.js → slack-DTEFhrMn.js} +1 -1
  364. package/dist/src/{slack-4zZX1OKP.js → slack-k-_CP84Q.js} +1 -1
  365. package/dist/src/storage-BU4qcnOb.js +875 -0
  366. package/dist/src/storage-CA-v9V2v.cjs +911 -0
  367. package/dist/src/storage-CD-GWAdx.js +822 -0
  368. package/dist/src/storage-QdU-SmvD.js +834 -0
  369. package/dist/src/{store-2K0kDi80.cjs → store-B2NDDooM.cjs} +60 -24
  370. package/dist/src/{store-CPh25336.js → store-DKd5592Q.js} +50 -19
  371. package/dist/src/{store-BPkzEyFM.js → store-HpopRVzl.js} +50 -19
  372. package/dist/src/store-IbiRIF3k.js +3 -0
  373. package/dist/src/strategies-7CS3Alao.cjs +2360 -0
  374. package/dist/src/strategies-CiSeroPH.js +2331 -0
  375. package/dist/src/strategies-DRJjGTIY.js +2333 -0
  376. package/dist/src/{tables-WgdUZ8Ck.js → tables-CRSXQ2Ke.js} +2 -2
  377. package/dist/src/{tables-BMSOS2Gg.js → tables-CxjU7bBd.js} +2 -2
  378. package/dist/src/{tables-CXbaZ9y1.cjs → tables-DBIJU0WE.cjs} +6 -5
  379. package/dist/src/{tables-NlvH23ky.js → tables-DafUHOeh.js} +2 -2
  380. package/dist/src/{telemetry-DWdGHvEf.js → telemetry-00ezXr_t.js} +4 -4
  381. package/dist/src/telemetry-ByPqDcKC.js +3 -0
  382. package/dist/src/{telemetry-CEQxGnMZ.cjs → telemetry-CJ7FnCsc.cjs} +15 -9
  383. package/dist/src/{telemetry--iqaGyaS.js → telemetry-DmXYcJNV.js} +4 -4
  384. package/dist/src/{telemetry-CgdVGV8N.js → telemetry-DwX9XUN5.js} +4 -4
  385. package/dist/src/{text-DDQP0tuQ.js → text-CZr46tp_.js} +1 -1
  386. package/dist/src/{text-D4lz-Jg_.js → text-Db-Wt2u2.js} +1 -1
  387. package/dist/src/{text-NWvfMfkF.js → text-DwYK5EBn.js} +1 -1
  388. package/dist/src/{text-BiNME7QG.cjs → text-nywWsRBM.cjs} +1 -1
  389. package/dist/src/{tokenUsageUtils-2wIvAhB3.js → tokenUsageUtils-CDet74yk.js} +1 -1
  390. package/dist/src/{tokenUsageUtils-4c780gFd.js → tokenUsageUtils-CmnQ0G2m.js} +1 -1
  391. package/dist/src/{tokenUsageUtils-C9odhsbW.cjs → tokenUsageUtils-_B-P8IAi.cjs} +1 -1
  392. package/dist/src/toolAttributes-BAjwcBf0.cjs +103 -0
  393. package/dist/src/toolAttributes-COVgDrBG.js +87 -0
  394. package/dist/src/toolAttributes-DJ9ZEKXD.js +86 -0
  395. package/dist/src/tracingOptions-BnwKCkSB.js +221 -0
  396. package/dist/src/tracingOptions-Chi74lOD.js +219 -0
  397. package/dist/src/tracingOptions-DrbSFaKy.cjs +249 -0
  398. package/dist/src/tracingOptions-ji2OuXbT.js +220 -0
  399. package/dist/src/{transcription-84t4ALo2.js → transcription-B8uIgCYX.js} +5 -5
  400. package/dist/src/{transcription-Bm2emLmJ.js → transcription-CfU5loSq.js} +5 -5
  401. package/dist/src/{transcription-D7Q0vJsh.js → transcription-Dkd22_4K.js} +4 -4
  402. package/dist/src/{transcription-CZ4LG5hQ.cjs → transcription-mzuf18Mq.cjs} +9 -8
  403. package/dist/src/{transform-DtooZqYY.js → transform-BIMynQsA.js} +8 -8
  404. package/dist/src/transform-BnSTnFlp.js +187 -0
  405. package/dist/src/transform-BnSXWmU_2.cjs +221 -0
  406. package/dist/src/transform-CGt7Kt3y2.js +186 -0
  407. package/dist/src/transform-CrPGTsij.js +186 -0
  408. package/dist/src/{transform-Dg4LcO1Y.cjs → transform-DhNkAUs8.cjs} +12 -11
  409. package/dist/src/{transform-_DpNB4qp.js → transform-DmvYBRll.js} +8 -8
  410. package/dist/src/{transform-B-b6Cq-q.js → transform-EtD4jAWi.js} +8 -8
  411. package/dist/src/{transformersAvailability-lvCCvuPT.js → transformersAvailability-0ThtPved.js} +1 -1
  412. package/dist/src/transformersAvailability-BYydDE5U.js +35 -0
  413. package/dist/src/{transformersAvailability-rJGPccjr.js → transformersAvailability-BvyU9vDD.js} +1 -1
  414. package/dist/src/{transformersAvailability-B22swDxr.cjs → transformersAvailability-BytPvKUW.cjs} +1 -1
  415. package/dist/src/{types-BVH9hjgW.js → types-BFevViUY.js} +113 -19
  416. package/dist/src/{types-BDjGOq4E.js → types-BJQBBPTP.js} +113 -19
  417. package/dist/src/{types-CgG2rKiW.cjs → types-CxJvaY2S.cjs} +211 -28
  418. package/dist/src/{types-DNRZVOue.js → types-D6glLbdF.js} +125 -26
  419. package/dist/src/{util-DFPeFkiV.js → util--WMgw7wM.js} +28 -8
  420. package/dist/src/{util-C-kmRosx.js → util-5WnCSb0h.js} +9 -7
  421. package/dist/src/{util-A5_ZsQUn.cjs → util-BSIuSLVK.cjs} +12 -9
  422. package/dist/src/{util-Dub0f_ej.js → util-Bx677_k2.js} +17 -10
  423. package/dist/src/util-CN8om2rz.cjs +386 -0
  424. package/dist/src/{util-DN0-b81k.js → util-CoQWM76y.js} +28 -8
  425. package/dist/src/util-DNl96nNs.js +327 -0
  426. package/dist/src/{util-BQOCAHQC.js → util-DURocbYR.js} +46 -11
  427. package/dist/src/util-Df8YMvS1.js +327 -0
  428. package/dist/src/{util-BVXcTwXu.js → util-DiQ3QvBB.js} +28 -8
  429. package/dist/src/{util-3pBZZb_H.js → util-I-Rf-KaD.js} +45 -10
  430. package/dist/src/{util-Dpmm_dAI.cjs → util-IYzs5Y04.cjs} +33 -7
  431. package/dist/src/{util-BlFVL0UF.js → util-LKTmNsMQ.js} +9 -7
  432. package/dist/src/{util-DvpHnLt0.cjs → util-SPsvFONY.cjs} +29 -21
  433. package/dist/src/{util-B9CNhyac.js → util-efByNxcr.js} +9 -7
  434. package/dist/src/util-kDURhgJW.js +328 -0
  435. package/dist/src/{utils-BUMN8orw.js → utils-B0lzitHZ.js} +2 -2
  436. package/dist/src/{utils-kt7lv30R.js → utils-BFOh20Gb.js} +2 -2
  437. package/dist/src/{utils-o8S5huU2.js → utils-BGY69tk_.js} +2 -2
  438. package/dist/src/{utils-DkVeShIB.cjs → utils-Ve6kuJsa.cjs} +3 -3
  439. package/dist/src/{version-CbuBKu2U.js → version-BK20a4sw.js} +2 -2
  440. package/dist/src/{version-D9zu9FWB.cjs → version-BWCSaByA.cjs} +2 -2
  441. package/dist/src/{version-CbpiUINz.js → version-eRkNuGv8.js} +2 -2
  442. package/dist/src/{version-0frU0UTr.js → version-lpHV_53E.js} +2 -2
  443. package/dist/tsconfig.tsbuildinfo +1 -1
  444. package/package.json +48 -22
  445. package/dist/src/app/assets/Report-vjzrbgce.js +0 -1
  446. package/dist/src/app/assets/index-B3NQ8HTd.js +0 -385
  447. package/dist/src/app/assets/index-Cli2yAXv.css +0 -1
  448. package/dist/src/app/assets/sync-IjzpWrOE.js +0 -4
  449. package/dist/src/app/assets/vendor-charts-BNdH8TCw.js +0 -36
  450. package/dist/src/cache-BRkhlH3k.cjs +0 -3
  451. package/dist/src/cache-BlC6aeJ0.js +0 -3
  452. package/dist/src/cloud-CoD5OacT.js +0 -3
  453. package/dist/src/codex-sdk-1jm_qPHf.js +0 -3
  454. package/dist/src/codex-sdk-Danroptg.cjs +0 -2
  455. package/dist/src/evalResult-BBJAHAtw.cjs +0 -2
  456. package/dist/src/evalResult-BBK58h2B.js +0 -3
  457. package/dist/src/evalResult-spPqh1G_.js +0 -2
  458. package/dist/src/evaluator-DgLKaZk8.js +0 -3
  459. package/dist/src/fetch-8viavNv8.js +0 -3
  460. package/dist/src/graders-C84JI-m5.js +0 -2
  461. package/dist/src/graders-CBbd0K0Q.cjs +0 -2
  462. package/dist/src/graders-CbQqpHSN.js +0 -3
  463. package/dist/src/graders-DS42d3ZG.js +0 -2
  464. package/dist/src/image-BmilRNqO.js +0 -258
  465. package/dist/src/image-CxJoa3aW.cjs +0 -280
  466. package/dist/src/image-DsGRlkh7.js +0 -257
  467. package/dist/src/image-a_SGUobh.js +0 -257
  468. package/dist/src/providers-BuyzKt7C.js +0 -2
  469. package/dist/src/providers-C7lNVBjX.cjs +0 -3
  470. package/dist/src/providers-CCE2COJi2.js +0 -2
  471. package/dist/src/render-7uNJ2V14.js +0 -135
  472. package/dist/src/render-DlscvAUJ.js +0 -135
  473. package/dist/src/render-eui5p5mL.js +0 -136
  474. package/dist/src/render-tG6ir9_g.cjs +0 -165
  475. package/dist/src/rubyUtils-4hjGxvju.js +0 -3
  476. package/dist/src/rubyUtils-CO-tuszQ.cjs +0 -2
  477. package/dist/src/server-ByiF3qlg.js +0 -386
  478. package/dist/src/server-C0XKRNB_.cjs +0 -2
  479. package/dist/src/server-C_15p79-.js +0 -3
  480. package/dist/src/store-2OXm_eBY.js +0 -240
  481. package/dist/src/store-BELqNwvz.js +0 -3
  482. package/dist/src/store-uQZ4AjPe.cjs +0 -2
  483. package/dist/src/telemetry-DjNoC_n3.cjs +0 -2
  484. package/dist/src/telemetry-ZdPZc0fm.js +0 -3
  485. package/dist/src/transform-BQt0BeAW.js +0 -3
  486. package/dist/src/transform-Bq5oqC0s.cjs +0 -2
  487. package/dist/src/transform-C9izGX54.cjs +0 -228
  488. package/dist/src/transform-CwbAZ84V.js +0 -216
  489. package/dist/src/transform-DzCF-wqV.js +0 -213
  490. package/dist/src/transform-eGiUAv86.js +0 -216
@@ -0,0 +1,126 @@
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_remoteGeneration = require("./remoteGeneration-DS9N3pgB.cjs");
5
+ let chalk = require("chalk");
6
+ chalk = require_rolldown_runtime.__toESM(chalk, 1);
7
+ require("opener");
8
+ let readline = require("readline");
9
+ readline = require_rolldown_runtime.__toESM(readline, 1);
10
+ //#region src/util/readline.ts
11
+ /**
12
+ * Factory function for creating readline interface.
13
+ * This abstraction makes it easier to mock in tests and prevents open handles.
14
+ */
15
+ function createReadlineInterface() {
16
+ return readline.default.createInterface({
17
+ input: process.stdin,
18
+ output: process.stdout
19
+ });
20
+ }
21
+ /**
22
+ * Prompts the user with a question and returns their answer.
23
+ * Automatically handles cleanup of the readline interface.
24
+ */
25
+ async function promptUser(question) {
26
+ return new Promise((resolve, reject) => {
27
+ let rl = null;
28
+ try {
29
+ rl = createReadlineInterface();
30
+ rl.on("error", (err) => {
31
+ if (rl) rl.close();
32
+ reject(err);
33
+ });
34
+ rl.question(question, (answer) => {
35
+ if (rl) rl.close();
36
+ resolve(answer);
37
+ });
38
+ } catch (err) {
39
+ if (rl) rl.close();
40
+ reject(err);
41
+ }
42
+ });
43
+ }
44
+ /**
45
+ * Prompts the user with a yes/no question and returns a boolean.
46
+ * @param question The question to ask
47
+ * @param defaultYes If true, empty response defaults to yes. If false, defaults to no.
48
+ */
49
+ async function promptYesNo(question, defaultYes = false) {
50
+ const answer = await promptUser(`${question} ${defaultYes ? "(Y/n): " : "(y/N): "}`);
51
+ if (defaultYes) return !answer.trim().toLowerCase().startsWith("n");
52
+ return answer.trim().toLowerCase().startsWith("y");
53
+ }
54
+ //#endregion
55
+ //#region src/util/server.ts
56
+ var server_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
57
+ BrowserBehavior: () => BrowserBehavior,
58
+ checkServerFeatureSupport: () => checkServerFeatureSupport
59
+ });
60
+ const BrowserBehavior = {
61
+ ASK: 0,
62
+ OPEN: 1,
63
+ SKIP: 2,
64
+ OPEN_TO_REPORT: 3,
65
+ OPEN_TO_REDTEAM_CREATE: 4,
66
+ OPEN_TO_EVAL_SETUP: 5
67
+ };
68
+ BrowserBehavior.ASK, BrowserBehavior.OPEN, BrowserBehavior.SKIP, BrowserBehavior.OPEN_TO_REPORT, BrowserBehavior.OPEN_TO_REDTEAM_CREATE, BrowserBehavior.OPEN_TO_EVAL_SETUP;
69
+ const featureCache = /* @__PURE__ */ new Map();
70
+ /**
71
+ * Checks if a server supports a specific feature based on build date
72
+ * @param featureName - Name of the feature (for caching and logging)
73
+ * @param requiredBuildDate - Minimum build date when feature was added (ISO string)
74
+ * @returns Promise<boolean> - true if server supports the feature
75
+ */
76
+ async function checkServerFeatureSupport(featureName, requiredBuildDate) {
77
+ const cacheKey = `${featureName}`;
78
+ if (featureCache.has(cacheKey)) return featureCache.get(cacheKey);
79
+ let supported = false;
80
+ try {
81
+ require_logger.logger.debug(`[Feature Detection] Checking server support for feature: ${featureName}`);
82
+ const versionUrl = require_remoteGeneration.getRemoteVersionUrl();
83
+ if (versionUrl) {
84
+ const data = await (await require_fetch.fetchWithProxy(versionUrl, {
85
+ method: "GET",
86
+ headers: { "Content-Type": "application/json" }
87
+ })).json();
88
+ if (data.buildDate) {
89
+ supported = new Date(data.buildDate) >= new Date(requiredBuildDate);
90
+ require_logger.logger.debug(`[Feature Detection] ${featureName}: buildDate=${data.buildDate}, required=${requiredBuildDate}, supported=${supported}`);
91
+ } else {
92
+ require_logger.logger.debug(`[Feature Detection] ${featureName}: no version info, assuming not supported`);
93
+ supported = false;
94
+ }
95
+ } else {
96
+ require_logger.logger.debug(`[Feature Detection] No remote URL available for ${featureName}, assuming local server supports it`);
97
+ supported = true;
98
+ }
99
+ } catch (error) {
100
+ require_logger.logger.debug(`[Feature Detection] Version check failed for ${featureName}, assuming not supported: ${error}`);
101
+ supported = false;
102
+ }
103
+ featureCache.set(cacheKey, supported);
104
+ return supported;
105
+ }
106
+ //#endregion
107
+ Object.defineProperty(exports, "checkServerFeatureSupport", {
108
+ enumerable: true,
109
+ get: function() {
110
+ return checkServerFeatureSupport;
111
+ }
112
+ });
113
+ Object.defineProperty(exports, "promptYesNo", {
114
+ enumerable: true,
115
+ get: function() {
116
+ return promptYesNo;
117
+ }
118
+ });
119
+ Object.defineProperty(exports, "server_exports", {
120
+ enumerable: true,
121
+ get: function() {
122
+ return server_exports;
123
+ }
124
+ });
125
+
126
+ //# sourceMappingURL=server-B8rqV126.cjs.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { r as checkServerFeatureSupport } from "./server-DhMHosWj.js";
3
+ export { checkServerFeatureSupport };
@@ -0,0 +1,107 @@
1
+ import { t as __exportAll } from "./chunk-DEq-mXcV.js";
2
+ import { a as logger } from "./logger-Ct2S6Yx-.js";
3
+ import { t as fetchWithProxy } from "./fetch-It34O8Ur.js";
4
+ import { o as getRemoteVersionUrl } from "./remoteGeneration-DsaSwmG2.js";
5
+ import "chalk";
6
+ import "opener";
7
+ import readline from "readline";
8
+ //#region src/util/readline.ts
9
+ /**
10
+ * Factory function for creating readline interface.
11
+ * This abstraction makes it easier to mock in tests and prevents open handles.
12
+ */
13
+ function createReadlineInterface() {
14
+ return readline.createInterface({
15
+ input: process.stdin,
16
+ output: process.stdout
17
+ });
18
+ }
19
+ /**
20
+ * Prompts the user with a question and returns their answer.
21
+ * Automatically handles cleanup of the readline interface.
22
+ */
23
+ async function promptUser(question) {
24
+ return new Promise((resolve, reject) => {
25
+ let rl = null;
26
+ try {
27
+ rl = createReadlineInterface();
28
+ rl.on("error", (err) => {
29
+ if (rl) rl.close();
30
+ reject(err);
31
+ });
32
+ rl.question(question, (answer) => {
33
+ if (rl) rl.close();
34
+ resolve(answer);
35
+ });
36
+ } catch (err) {
37
+ if (rl) rl.close();
38
+ reject(err);
39
+ }
40
+ });
41
+ }
42
+ /**
43
+ * Prompts the user with a yes/no question and returns a boolean.
44
+ * @param question The question to ask
45
+ * @param defaultYes If true, empty response defaults to yes. If false, defaults to no.
46
+ */
47
+ async function promptYesNo(question, defaultYes = false) {
48
+ const answer = await promptUser(`${question} ${defaultYes ? "(Y/n): " : "(y/N): "}`);
49
+ if (defaultYes) return !answer.trim().toLowerCase().startsWith("n");
50
+ return answer.trim().toLowerCase().startsWith("y");
51
+ }
52
+ //#endregion
53
+ //#region src/util/server.ts
54
+ var server_exports = /* @__PURE__ */ __exportAll({
55
+ BrowserBehavior: () => BrowserBehavior,
56
+ checkServerFeatureSupport: () => checkServerFeatureSupport
57
+ });
58
+ const BrowserBehavior = {
59
+ ASK: 0,
60
+ OPEN: 1,
61
+ SKIP: 2,
62
+ OPEN_TO_REPORT: 3,
63
+ OPEN_TO_REDTEAM_CREATE: 4,
64
+ OPEN_TO_EVAL_SETUP: 5
65
+ };
66
+ BrowserBehavior.ASK, BrowserBehavior.OPEN, BrowserBehavior.SKIP, BrowserBehavior.OPEN_TO_REPORT, BrowserBehavior.OPEN_TO_REDTEAM_CREATE, BrowserBehavior.OPEN_TO_EVAL_SETUP;
67
+ const featureCache = /* @__PURE__ */ new Map();
68
+ /**
69
+ * Checks if a server supports a specific feature based on build date
70
+ * @param featureName - Name of the feature (for caching and logging)
71
+ * @param requiredBuildDate - Minimum build date when feature was added (ISO string)
72
+ * @returns Promise<boolean> - true if server supports the feature
73
+ */
74
+ async function checkServerFeatureSupport(featureName, requiredBuildDate) {
75
+ const cacheKey = `${featureName}`;
76
+ if (featureCache.has(cacheKey)) return featureCache.get(cacheKey);
77
+ let supported = false;
78
+ try {
79
+ logger.debug(`[Feature Detection] Checking server support for feature: ${featureName}`);
80
+ const versionUrl = getRemoteVersionUrl();
81
+ if (versionUrl) {
82
+ const data = await (await fetchWithProxy(versionUrl, {
83
+ method: "GET",
84
+ headers: { "Content-Type": "application/json" }
85
+ })).json();
86
+ if (data.buildDate) {
87
+ supported = new Date(data.buildDate) >= new Date(requiredBuildDate);
88
+ logger.debug(`[Feature Detection] ${featureName}: buildDate=${data.buildDate}, required=${requiredBuildDate}, supported=${supported}`);
89
+ } else {
90
+ logger.debug(`[Feature Detection] ${featureName}: no version info, assuming not supported`);
91
+ supported = false;
92
+ }
93
+ } else {
94
+ logger.debug(`[Feature Detection] No remote URL available for ${featureName}, assuming local server supports it`);
95
+ supported = true;
96
+ }
97
+ } catch (error) {
98
+ logger.debug(`[Feature Detection] Version check failed for ${featureName}, assuming not supported: ${error}`);
99
+ supported = false;
100
+ }
101
+ featureCache.set(cacheKey, supported);
102
+ return supported;
103
+ }
104
+ //#endregion
105
+ export { server_exports as n, promptYesNo as r, checkServerFeatureSupport as t };
106
+
107
+ //# sourceMappingURL=server-CMJD10J4.js.map
@@ -0,0 +1,146 @@
1
+ import { t as __exportAll } from "./chunk-DEq-mXcV.js";
2
+ import { a as logger } from "./logger-KD8JjCRJ.js";
3
+ import { P as getDefaultPort, t as fetchWithProxy } from "./fetch-BufrQtvR.js";
4
+ import "./version-BK20a4sw.js";
5
+ import { o as getRemoteVersionUrl } from "./remoteGeneration-COpWcmWd.js";
6
+ import "chalk";
7
+ import opener from "opener";
8
+ import readline from "readline";
9
+ //#region src/util/readline.ts
10
+ /**
11
+ * Factory function for creating readline interface.
12
+ * This abstraction makes it easier to mock in tests and prevents open handles.
13
+ */
14
+ function createReadlineInterface() {
15
+ return readline.createInterface({
16
+ input: process.stdin,
17
+ output: process.stdout
18
+ });
19
+ }
20
+ /**
21
+ * Prompts the user with a question and returns their answer.
22
+ * Automatically handles cleanup of the readline interface.
23
+ */
24
+ async function promptUser(question) {
25
+ return new Promise((resolve, reject) => {
26
+ let rl = null;
27
+ try {
28
+ rl = createReadlineInterface();
29
+ rl.on("error", (err) => {
30
+ if (rl) rl.close();
31
+ reject(err);
32
+ });
33
+ rl.question(question, (answer) => {
34
+ if (rl) rl.close();
35
+ resolve(answer);
36
+ });
37
+ } catch (err) {
38
+ if (rl) rl.close();
39
+ reject(err);
40
+ }
41
+ });
42
+ }
43
+ /**
44
+ * Prompts the user with a yes/no question and returns a boolean.
45
+ * @param question The question to ask
46
+ * @param defaultYes If true, empty response defaults to yes. If false, defaults to no.
47
+ */
48
+ async function promptYesNo(question, defaultYes = false) {
49
+ const answer = await promptUser(`${question} ${defaultYes ? "(Y/n): " : "(y/N): "}`);
50
+ if (defaultYes) return !answer.trim().toLowerCase().startsWith("n");
51
+ return answer.trim().toLowerCase().startsWith("y");
52
+ }
53
+ //#endregion
54
+ //#region src/util/server.ts
55
+ var server_exports = /* @__PURE__ */ __exportAll({
56
+ BrowserBehavior: () => BrowserBehavior,
57
+ BrowserBehaviorNames: () => BrowserBehaviorNames,
58
+ checkServerFeatureSupport: () => checkServerFeatureSupport,
59
+ checkServerRunning: () => checkServerRunning,
60
+ openBrowser: () => openBrowser
61
+ });
62
+ const BrowserBehavior = {
63
+ ASK: 0,
64
+ OPEN: 1,
65
+ SKIP: 2,
66
+ OPEN_TO_REPORT: 3,
67
+ OPEN_TO_REDTEAM_CREATE: 4,
68
+ OPEN_TO_EVAL_SETUP: 5
69
+ };
70
+ const BrowserBehaviorNames = {
71
+ [BrowserBehavior.ASK]: "ASK",
72
+ [BrowserBehavior.OPEN]: "OPEN",
73
+ [BrowserBehavior.SKIP]: "SKIP",
74
+ [BrowserBehavior.OPEN_TO_REPORT]: "OPEN_TO_REPORT",
75
+ [BrowserBehavior.OPEN_TO_REDTEAM_CREATE]: "OPEN_TO_REDTEAM_CREATE",
76
+ [BrowserBehavior.OPEN_TO_EVAL_SETUP]: "OPEN_TO_EVAL_SETUP"
77
+ };
78
+ const featureCache = /* @__PURE__ */ new Map();
79
+ /**
80
+ * Checks if a server supports a specific feature based on build date
81
+ * @param featureName - Name of the feature (for caching and logging)
82
+ * @param requiredBuildDate - Minimum build date when feature was added (ISO string)
83
+ * @returns Promise<boolean> - true if server supports the feature
84
+ */
85
+ async function checkServerFeatureSupport(featureName, requiredBuildDate) {
86
+ const cacheKey = `${featureName}`;
87
+ if (featureCache.has(cacheKey)) return featureCache.get(cacheKey);
88
+ let supported = false;
89
+ try {
90
+ logger.debug(`[Feature Detection] Checking server support for feature: ${featureName}`);
91
+ const versionUrl = getRemoteVersionUrl();
92
+ if (versionUrl) {
93
+ const data = await (await fetchWithProxy(versionUrl, {
94
+ method: "GET",
95
+ headers: { "Content-Type": "application/json" }
96
+ })).json();
97
+ if (data.buildDate) {
98
+ supported = new Date(data.buildDate) >= new Date(requiredBuildDate);
99
+ logger.debug(`[Feature Detection] ${featureName}: buildDate=${data.buildDate}, required=${requiredBuildDate}, supported=${supported}`);
100
+ } else {
101
+ logger.debug(`[Feature Detection] ${featureName}: no version info, assuming not supported`);
102
+ supported = false;
103
+ }
104
+ } else {
105
+ logger.debug(`[Feature Detection] No remote URL available for ${featureName}, assuming local server supports it`);
106
+ supported = true;
107
+ }
108
+ } catch (error) {
109
+ logger.debug(`[Feature Detection] Version check failed for ${featureName}, assuming not supported: ${error}`);
110
+ supported = false;
111
+ }
112
+ featureCache.set(cacheKey, supported);
113
+ return supported;
114
+ }
115
+ async function checkServerRunning(port = getDefaultPort()) {
116
+ logger.debug(`Checking for existing server on port ${port}...`);
117
+ try {
118
+ const data = await (await fetchWithProxy(`http://localhost:${port}/health`, { headers: { "x-promptfoo-silent": "true" } })).json();
119
+ return data.status === "OK" && data.version === "0.121.7";
120
+ } catch (err) {
121
+ logger.debug(`No existing server found - this is expected on first startup. ${String(err)}`);
122
+ return false;
123
+ }
124
+ }
125
+ async function openBrowser(browserBehavior, port = getDefaultPort()) {
126
+ const baseUrl = `http://localhost:${port}`;
127
+ let url = baseUrl;
128
+ if (browserBehavior === BrowserBehavior.OPEN_TO_REPORT) url = `${baseUrl}/report`;
129
+ else if (browserBehavior === BrowserBehavior.OPEN_TO_REDTEAM_CREATE) url = `${baseUrl}/redteam/setup`;
130
+ else if (browserBehavior === BrowserBehavior.OPEN_TO_EVAL_SETUP) url = `${baseUrl}/setup`;
131
+ const doOpen = async () => {
132
+ try {
133
+ logger.info("Press Ctrl+C to stop the server");
134
+ await opener(url);
135
+ } catch (err) {
136
+ logger.error(`Failed to open browser: ${String(err)}`);
137
+ }
138
+ };
139
+ if (browserBehavior === BrowserBehavior.ASK) {
140
+ if (await promptYesNo("Open URL in browser?", false)) await doOpen();
141
+ } else if (browserBehavior !== BrowserBehavior.SKIP) await doOpen();
142
+ }
143
+ //#endregion
144
+ export { openBrowser as a, checkServerRunning as i, BrowserBehaviorNames as n, server_exports as o, checkServerFeatureSupport as r, promptYesNo as s, BrowserBehavior as t };
145
+
146
+ //# sourceMappingURL=server-Ddp8GNMp.js.map
@@ -0,0 +1,182 @@
1
+ #!/usr/bin/env node
2
+ import { s as logger } from "./logger-BbY6ypFL.js";
3
+ import { N as getDefaultPort, n as fetchWithProxy } from "./fetch-DXUnXkVU.js";
4
+ import "./version-eRkNuGv8.js";
5
+ import { o as getRemoteVersionUrl } from "./remoteGeneration-B1_XsKXU.js";
6
+ import chalk from "chalk";
7
+ import opener from "opener";
8
+ import readline from "readline";
9
+ //#region src/util/readline.ts
10
+ /**
11
+ * Factory function for creating readline interface.
12
+ * This abstraction makes it easier to mock in tests and prevents open handles.
13
+ */
14
+ function createReadlineInterface() {
15
+ return readline.createInterface({
16
+ input: process.stdin,
17
+ output: process.stdout
18
+ });
19
+ }
20
+ /**
21
+ * Prompts the user with a question and returns their answer.
22
+ * Automatically handles cleanup of the readline interface.
23
+ */
24
+ async function promptUser(question) {
25
+ return new Promise((resolve, reject) => {
26
+ let rl = null;
27
+ try {
28
+ rl = createReadlineInterface();
29
+ rl.on("error", (err) => {
30
+ if (rl) rl.close();
31
+ reject(err);
32
+ });
33
+ rl.question(question, (answer) => {
34
+ if (rl) rl.close();
35
+ resolve(answer);
36
+ });
37
+ } catch (err) {
38
+ if (rl) rl.close();
39
+ reject(err);
40
+ }
41
+ });
42
+ }
43
+ /**
44
+ * Prompts the user with a yes/no question and returns a boolean.
45
+ * @param question The question to ask
46
+ * @param defaultYes If true, empty response defaults to yes. If false, defaults to no.
47
+ */
48
+ async function promptYesNo(question, defaultYes = false) {
49
+ const answer = await promptUser(`${question} ${defaultYes ? "(Y/n): " : "(y/N): "}`);
50
+ if (defaultYes) return !answer.trim().toLowerCase().startsWith("n");
51
+ return answer.trim().toLowerCase().startsWith("y");
52
+ }
53
+ //#endregion
54
+ //#region src/util/server.ts
55
+ const BrowserBehavior = {
56
+ ASK: 0,
57
+ OPEN: 1,
58
+ SKIP: 2,
59
+ OPEN_TO_REPORT: 3,
60
+ OPEN_TO_REDTEAM_CREATE: 4,
61
+ OPEN_TO_EVAL_SETUP: 5
62
+ };
63
+ const BrowserBehaviorNames = {
64
+ [BrowserBehavior.ASK]: "ASK",
65
+ [BrowserBehavior.OPEN]: "OPEN",
66
+ [BrowserBehavior.SKIP]: "SKIP",
67
+ [BrowserBehavior.OPEN_TO_REPORT]: "OPEN_TO_REPORT",
68
+ [BrowserBehavior.OPEN_TO_REDTEAM_CREATE]: "OPEN_TO_REDTEAM_CREATE",
69
+ [BrowserBehavior.OPEN_TO_EVAL_SETUP]: "OPEN_TO_EVAL_SETUP"
70
+ };
71
+ const featureCache = /* @__PURE__ */ new Map();
72
+ /**
73
+ * Checks if a server supports a specific feature based on build date
74
+ * @param featureName - Name of the feature (for caching and logging)
75
+ * @param requiredBuildDate - Minimum build date when feature was added (ISO string)
76
+ * @returns Promise<boolean> - true if server supports the feature
77
+ */
78
+ async function checkServerFeatureSupport(featureName, requiredBuildDate) {
79
+ const cacheKey = `${featureName}`;
80
+ if (featureCache.has(cacheKey)) return featureCache.get(cacheKey);
81
+ let supported = false;
82
+ try {
83
+ logger.debug(`[Feature Detection] Checking server support for feature: ${featureName}`);
84
+ const versionUrl = getRemoteVersionUrl();
85
+ if (versionUrl) {
86
+ const data = await (await fetchWithProxy(versionUrl, {
87
+ method: "GET",
88
+ headers: { "Content-Type": "application/json" }
89
+ })).json();
90
+ if (data.buildDate) {
91
+ supported = new Date(data.buildDate) >= new Date(requiredBuildDate);
92
+ logger.debug(`[Feature Detection] ${featureName}: buildDate=${data.buildDate}, required=${requiredBuildDate}, supported=${supported}`);
93
+ } else {
94
+ logger.debug(`[Feature Detection] ${featureName}: no version info, assuming not supported`);
95
+ supported = false;
96
+ }
97
+ } else {
98
+ logger.debug(`[Feature Detection] No remote URL available for ${featureName}, assuming local server supports it`);
99
+ supported = true;
100
+ }
101
+ } catch (error) {
102
+ logger.debug(`[Feature Detection] Version check failed for ${featureName}, assuming not supported: ${error}`);
103
+ supported = false;
104
+ }
105
+ featureCache.set(cacheKey, supported);
106
+ return supported;
107
+ }
108
+ async function checkServerRunning(port = getDefaultPort()) {
109
+ logger.debug(`Checking for existing server on port ${port}...`);
110
+ try {
111
+ const data = await (await fetchWithProxy(`http://localhost:${port}/health`, { headers: { "x-promptfoo-silent": "true" } })).json();
112
+ return data.status === "OK" && data.version === "0.121.7";
113
+ } catch (err) {
114
+ logger.debug(`No existing server found - this is expected on first startup. ${String(err)}`);
115
+ return false;
116
+ }
117
+ }
118
+ async function openBrowser(browserBehavior, port = getDefaultPort()) {
119
+ const baseUrl = `http://localhost:${port}`;
120
+ let url = baseUrl;
121
+ if (browserBehavior === BrowserBehavior.OPEN_TO_REPORT) url = `${baseUrl}/report`;
122
+ else if (browserBehavior === BrowserBehavior.OPEN_TO_REDTEAM_CREATE) url = `${baseUrl}/redteam/setup`;
123
+ else if (browserBehavior === BrowserBehavior.OPEN_TO_EVAL_SETUP) url = `${baseUrl}/setup`;
124
+ const doOpen = async () => {
125
+ try {
126
+ logger.info("Press Ctrl+C to stop the server");
127
+ await opener(url);
128
+ } catch (err) {
129
+ logger.error(`Failed to open browser: ${String(err)}`);
130
+ }
131
+ };
132
+ if (browserBehavior === BrowserBehavior.ASK) {
133
+ if (await promptYesNo("Open URL in browser?", false)) await doOpen();
134
+ } else if (browserBehavior !== BrowserBehavior.SKIP) await doOpen();
135
+ }
136
+ /**
137
+ * Opens authentication URLs in the browser with environment-aware behavior.
138
+ *
139
+ * @param authUrl - The login/signup URL to open in the browser
140
+ * @param welcomeUrl - The URL where users can get their API token after login
141
+ * @param browserBehavior - Controls how the browser opening is handled:
142
+ * - BrowserBehavior.ASK: Prompts user before opening (defaults to yes)
143
+ * - BrowserBehavior.OPEN: Opens browser automatically without prompting
144
+ * - BrowserBehavior.SKIP: Shows manual URLs without opening browser
145
+ * @returns Promise that resolves when the operation completes
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * // Prompt user to open login page
150
+ * await openAuthBrowser(
151
+ * 'https://promptfoo.app',
152
+ * 'https://promptfoo.app/welcome',
153
+ * BrowserBehavior.ASK
154
+ * );
155
+ * ```
156
+ */
157
+ async function openAuthBrowser(authUrl, welcomeUrl, browserBehavior) {
158
+ const doOpen = async () => {
159
+ try {
160
+ logger.info(`Opening ${authUrl} in your browser...`);
161
+ await opener(authUrl);
162
+ logger.info(`After logging in, get your API token at ${chalk.green(welcomeUrl)}`);
163
+ } catch (err) {
164
+ logger.error(`Failed to open browser: ${String(err)}`);
165
+ logger.info(`Please visit: ${chalk.green(authUrl)}`);
166
+ logger.info(`After logging in, get your API token at ${chalk.green(welcomeUrl)}`);
167
+ }
168
+ };
169
+ if (browserBehavior === BrowserBehavior.ASK) if (await promptYesNo("Open login page in browser?", true)) await doOpen();
170
+ else {
171
+ logger.info(`Please visit: ${chalk.green(authUrl)}`);
172
+ logger.info(`After logging in, get your API token at ${chalk.green(welcomeUrl)}`);
173
+ }
174
+ else if (browserBehavior === BrowserBehavior.SKIP) {
175
+ logger.info(`Please visit: ${chalk.green(authUrl)}`);
176
+ logger.info(`After logging in, get your API token at ${chalk.green(welcomeUrl)}`);
177
+ } else await doOpen();
178
+ }
179
+ //#endregion
180
+ export { openAuthBrowser as a, promptYesNo as c, checkServerRunning as i, BrowserBehaviorNames as n, openBrowser as o, checkServerFeatureSupport as r, promptUser as s, BrowserBehavior as t };
181
+
182
+ //# sourceMappingURL=server-DhMHosWj.js.map