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,257 +0,0 @@
1
- import { a as logger } from "./logger-Ct2S6Yx-.js";
2
- import { h as REQUEST_TIMEOUT_MS } from "./fetch-Di00EQrc.js";
3
- import { r as fetchWithCache } from "./cache-D5NZmMiT.js";
4
- import { t as OpenAiGenericProvider } from "./openai-iYtrXzOX.js";
5
- import { s as formatOpenAiError } from "./util-D9TisOyk.js";
6
- import { t as ellipsize } from "./text-DHxdyQqT.js";
7
- //#region src/providers/openai/image.ts
8
- const DALLE2_VALID_SIZES = [
9
- "256x256",
10
- "512x512",
11
- "1024x1024"
12
- ];
13
- const DALLE3_VALID_SIZES = [
14
- "1024x1024",
15
- "1792x1024",
16
- "1024x1792"
17
- ];
18
- const GPT_IMAGE1_VALID_SIZES = [
19
- "1024x1024",
20
- "1024x1536",
21
- "1536x1024"
22
- ];
23
- const DEFAULT_SIZE = "1024x1024";
24
- const DALLE2_COSTS = {
25
- "256x256": .016,
26
- "512x512": .018,
27
- "1024x1024": .02
28
- };
29
- const DALLE3_COSTS = {
30
- standard_1024x1024: .04,
31
- standard_1024x1792: .08,
32
- standard_1792x1024: .08,
33
- hd_1024x1024: .08,
34
- hd_1024x1792: .12,
35
- hd_1792x1024: .12
36
- };
37
- const GPT_IMAGE1_COSTS = {
38
- low_1024x1024: .011,
39
- low_1024x1536: .016,
40
- low_1536x1024: .016,
41
- medium_1024x1024: .042,
42
- medium_1024x1536: .063,
43
- medium_1536x1024: .063,
44
- high_1024x1024: .167,
45
- high_1024x1536: .25,
46
- high_1536x1024: .25
47
- };
48
- const GPT_IMAGE1_MINI_COSTS = {
49
- low_1024x1024: .005,
50
- low_1024x1536: .006,
51
- low_1536x1024: .006,
52
- medium_1024x1024: .011,
53
- medium_1024x1536: .015,
54
- medium_1536x1024: .015,
55
- high_1024x1024: .036,
56
- high_1024x1536: .052,
57
- high_1536x1024: .052
58
- };
59
- const GPT_IMAGE1_5_COSTS = {
60
- low_1024x1024: .064,
61
- low_1024x1536: .096,
62
- low_1536x1024: .096,
63
- medium_1024x1024: .128,
64
- medium_1024x1536: .192,
65
- medium_1536x1024: .192,
66
- high_1024x1024: .192,
67
- high_1024x1536: .288,
68
- high_1536x1024: .288
69
- };
70
- function isGptImage1(model) {
71
- return model === "gpt-image-1" || model.startsWith("gpt-image-1-2025");
72
- }
73
- function isGptImage1Mini(model) {
74
- return model === "gpt-image-1-mini" || model.startsWith("gpt-image-1-mini-2025");
75
- }
76
- function isGptImage15(model) {
77
- return model === "gpt-image-1.5" || model.startsWith("gpt-image-1.5-2025");
78
- }
79
- function isGptImageModel(model) {
80
- return isGptImage1(model) || isGptImage1Mini(model) || isGptImage15(model);
81
- }
82
- function validateSizeForModel(size, model) {
83
- if (model === "dall-e-3" && !DALLE3_VALID_SIZES.includes(size)) return {
84
- valid: false,
85
- message: `Invalid size "${size}" for DALL-E 3. Valid sizes are: ${DALLE3_VALID_SIZES.join(", ")}`
86
- };
87
- if (model === "dall-e-2" && !DALLE2_VALID_SIZES.includes(size)) return {
88
- valid: false,
89
- message: `Invalid size "${size}" for DALL-E 2. Valid sizes are: ${DALLE2_VALID_SIZES.join(", ")}`
90
- };
91
- if (isGptImageModel(model) && size !== "auto" && !GPT_IMAGE1_VALID_SIZES.includes(size)) {
92
- let modelName = model;
93
- if (isGptImage15(model)) modelName = "GPT Image 1.5";
94
- else if (isGptImage1Mini(model)) modelName = "GPT Image 1 Mini";
95
- else if (isGptImage1(model)) modelName = "GPT Image 1";
96
- return {
97
- valid: false,
98
- message: `Invalid size "${size}" for ${modelName}. Valid sizes are: ${GPT_IMAGE1_VALID_SIZES.join(", ")}, auto`
99
- };
100
- }
101
- return { valid: true };
102
- }
103
- function getMimeTypeForOutputFormat(outputFormat) {
104
- switch (outputFormat) {
105
- case "jpeg": return "image/jpeg";
106
- case "webp": return "image/webp";
107
- default: return "image/png";
108
- }
109
- }
110
- function inferMimeTypeFromUrl(url) {
111
- try {
112
- const pathname = new URL(url).pathname.toLowerCase();
113
- if (pathname.endsWith(".jpg") || pathname.endsWith(".jpeg")) return "image/jpeg";
114
- if (pathname.endsWith(".webp")) return "image/webp";
115
- if (pathname.endsWith(".gif")) return "image/gif";
116
- if (pathname.endsWith(".svg")) return "image/svg+xml";
117
- if (pathname.endsWith(".png")) return "image/png";
118
- } catch {}
119
- }
120
- function buildStructuredImageOutputs(data, outputFormat) {
121
- if (!Array.isArray(data.data) || data.data.length === 0) return;
122
- return data.data.map((item) => {
123
- if (item.b64_json) {
124
- const mimeType = getMimeTypeForOutputFormat(outputFormat);
125
- return {
126
- data: `data:${mimeType};base64,${item.b64_json}`,
127
- mimeType
128
- };
129
- }
130
- if (item.url) {
131
- const mimeType = inferMimeTypeFromUrl(item.url);
132
- return mimeType ? {
133
- data: item.url,
134
- mimeType
135
- } : { data: item.url };
136
- }
137
- return null;
138
- }).filter((item) => item !== null);
139
- }
140
- function formatOutput(data, prompt, responseFormat, outputFormat) {
141
- if (responseFormat === "b64_json") {
142
- const b64Json = data.data[0].b64_json;
143
- if (!b64Json) return { error: `No base64 image data found in response: ${JSON.stringify(data)}` };
144
- return `data:${getMimeTypeForOutputFormat(outputFormat)};base64,${b64Json}`;
145
- } else {
146
- const url = data.data[0].url;
147
- if (!url) return { error: `No image URL found in response: ${JSON.stringify(data)}` };
148
- return `![${ellipsize(prompt.replace(/\r?\n|\r/g, " ").replace(/\[/g, "(").replace(/\]/g, ")"), 50)}](${url})`;
149
- }
150
- }
151
- function prepareRequestBody(model, prompt, size, responseFormat, config) {
152
- const body = {
153
- model,
154
- prompt,
155
- n: config.n || 1,
156
- size
157
- };
158
- if (!isGptImageModel(model)) body.response_format = responseFormat;
159
- if (model === "dall-e-3") {
160
- if ("quality" in config && config.quality) body.quality = config.quality;
161
- if ("style" in config && config.style) body.style = config.style;
162
- }
163
- if (isGptImageModel(model)) {
164
- if ("quality" in config && config.quality) body.quality = config.quality;
165
- if ("background" in config && config.background) body.background = config.background;
166
- if ("output_format" in config && config.output_format) body.output_format = config.output_format;
167
- if ("output_compression" in config && config.output_compression !== void 0) body.output_compression = config.output_compression;
168
- if ("moderation" in config && config.moderation) body.moderation = config.moderation;
169
- }
170
- return body;
171
- }
172
- function calculateImageCost(model, size, quality, n = 1) {
173
- const imageQuality = quality || "standard";
174
- if (model === "dall-e-3") return (DALLE3_COSTS[`${imageQuality}_${size}`] || DALLE3_COSTS["standard_1024x1024"]) * n;
175
- else if (model === "dall-e-2") return (DALLE2_COSTS[size] || DALLE2_COSTS["1024x1024"]) * n;
176
- else if (isGptImage1(model)) return (GPT_IMAGE1_COSTS[`${quality || "low"}_${size}`] || GPT_IMAGE1_COSTS["low_1024x1024"]) * n;
177
- else if (isGptImage1Mini(model)) return (GPT_IMAGE1_MINI_COSTS[`${quality || "low"}_${size}`] || GPT_IMAGE1_MINI_COSTS["low_1024x1024"]) * n;
178
- else if (isGptImage15(model)) return (GPT_IMAGE1_5_COSTS[`${quality || "low"}_${size}`] || GPT_IMAGE1_5_COSTS["low_1024x1024"]) * n;
179
- return .04 * n;
180
- }
181
- async function callOpenAiImageApi(url, body, headers, timeout) {
182
- return await fetchWithCache(url, {
183
- method: "POST",
184
- headers,
185
- body: JSON.stringify(body)
186
- }, timeout);
187
- }
188
- async function processApiResponse(data, prompt, responseFormat, cached, model, size, latencyMs, quality, n = 1, outputFormat) {
189
- if (data.error) {
190
- await data?.deleteFromCache?.();
191
- return { error: formatOpenAiError(data) };
192
- }
193
- try {
194
- const formattedOutput = formatOutput(data, prompt, responseFormat, outputFormat);
195
- if (typeof formattedOutput === "object") return formattedOutput;
196
- const cost = cached ? 0 : calculateImageCost(model, size, quality, n);
197
- return {
198
- output: formattedOutput,
199
- images: buildStructuredImageOutputs(data, outputFormat),
200
- cached,
201
- latencyMs,
202
- cost,
203
- ...responseFormat === "b64_json" ? {
204
- isBase64: true,
205
- format: "json"
206
- } : {}
207
- };
208
- } catch (err) {
209
- await data?.deleteFromCache?.();
210
- return { error: `API error: ${String(err)}: ${JSON.stringify(data)}` };
211
- }
212
- }
213
- var OpenAiImageProvider = class extends OpenAiGenericProvider {
214
- config;
215
- constructor(modelName, options = {}) {
216
- super(modelName, options);
217
- this.config = options.config || {};
218
- }
219
- async callApi(prompt, context, _callApiOptions) {
220
- if (this.requiresApiKey() && !this.getApiKey()) throw new Error(this.getMissingApiKeyErrorMessage());
221
- const config = {
222
- ...this.config,
223
- ...context?.prompt?.config
224
- };
225
- const model = config.model || this.modelName;
226
- const operation = "operation" in config && config.operation || "generation";
227
- const responseFormat = isGptImageModel(model) ? "b64_json" : config.response_format || "url";
228
- if (operation !== "generation") return { error: `Only 'generation' operations are currently supported. '${operation}' operations are not implemented.` };
229
- const endpoint = "/images/generations";
230
- const size = config.size || DEFAULT_SIZE;
231
- const sizeValidation = validateSizeForModel(size, model);
232
- if (!sizeValidation.valid) return { error: sizeValidation.message };
233
- const body = prepareRequestBody(model, prompt, size, responseFormat, config);
234
- const headers = {
235
- "Content-Type": "application/json",
236
- ...this.getApiKey() ? { Authorization: `Bearer ${this.getApiKey()}` } : {},
237
- ...this.getOrganization() ? { "OpenAI-Organization": this.getOrganization() } : {},
238
- ...config.headers
239
- };
240
- let data, status, statusText;
241
- let cached = false;
242
- let latencyMs;
243
- try {
244
- ({data, cached, status, statusText, latencyMs} = await callOpenAiImageApi(`${this.getApiUrl()}${endpoint}`, body, headers, REQUEST_TIMEOUT_MS));
245
- if (status < 200 || status >= 300) return { error: `API error: ${status} ${statusText}\n${typeof data === "string" ? data : JSON.stringify(data)}` };
246
- } catch (err) {
247
- logger.error(`API call error: ${String(err)}`);
248
- await data?.deleteFromCache?.();
249
- return { error: `API call error: ${String(err)}` };
250
- }
251
- return processApiResponse(data, prompt, responseFormat, cached, model, size, latencyMs, config.quality, config.n || 1, "output_format" in config ? config.output_format : void 0);
252
- }
253
- };
254
- //#endregion
255
- export { formatOutput as i, buildStructuredImageOutputs as n, callOpenAiImageApi as r, OpenAiImageProvider as t };
256
-
257
- //# sourceMappingURL=image-qUpPvmNZ.js.map
@@ -1,280 +0,0 @@
1
- const require_logger = require("./logger-COuQb2xB.cjs");
2
- const require_fetch = require("./fetch-CJU5ELPa.cjs");
3
- const require_cache = require("./cache-BIyPcp5v.cjs");
4
- const require_openai = require("./openai-URNyItar.cjs");
5
- const require_util = require("./util-CN3SrLT4.cjs");
6
- const require_text = require("./text-BVi-cLPJ.cjs");
7
- //#region src/providers/openai/image.ts
8
- const DALLE2_VALID_SIZES = [
9
- "256x256",
10
- "512x512",
11
- "1024x1024"
12
- ];
13
- const DALLE3_VALID_SIZES = [
14
- "1024x1024",
15
- "1792x1024",
16
- "1024x1792"
17
- ];
18
- const GPT_IMAGE1_VALID_SIZES = [
19
- "1024x1024",
20
- "1024x1536",
21
- "1536x1024"
22
- ];
23
- const DEFAULT_SIZE = "1024x1024";
24
- const DALLE2_COSTS = {
25
- "256x256": .016,
26
- "512x512": .018,
27
- "1024x1024": .02
28
- };
29
- const DALLE3_COSTS = {
30
- standard_1024x1024: .04,
31
- standard_1024x1792: .08,
32
- standard_1792x1024: .08,
33
- hd_1024x1024: .08,
34
- hd_1024x1792: .12,
35
- hd_1792x1024: .12
36
- };
37
- const GPT_IMAGE1_COSTS = {
38
- low_1024x1024: .011,
39
- low_1024x1536: .016,
40
- low_1536x1024: .016,
41
- medium_1024x1024: .042,
42
- medium_1024x1536: .063,
43
- medium_1536x1024: .063,
44
- high_1024x1024: .167,
45
- high_1024x1536: .25,
46
- high_1536x1024: .25
47
- };
48
- const GPT_IMAGE1_MINI_COSTS = {
49
- low_1024x1024: .005,
50
- low_1024x1536: .006,
51
- low_1536x1024: .006,
52
- medium_1024x1024: .011,
53
- medium_1024x1536: .015,
54
- medium_1536x1024: .015,
55
- high_1024x1024: .036,
56
- high_1024x1536: .052,
57
- high_1536x1024: .052
58
- };
59
- const GPT_IMAGE1_5_COSTS = {
60
- low_1024x1024: .064,
61
- low_1024x1536: .096,
62
- low_1536x1024: .096,
63
- medium_1024x1024: .128,
64
- medium_1024x1536: .192,
65
- medium_1536x1024: .192,
66
- high_1024x1024: .192,
67
- high_1024x1536: .288,
68
- high_1536x1024: .288
69
- };
70
- function isGptImage1(model) {
71
- return model === "gpt-image-1" || model.startsWith("gpt-image-1-2025");
72
- }
73
- function isGptImage1Mini(model) {
74
- return model === "gpt-image-1-mini" || model.startsWith("gpt-image-1-mini-2025");
75
- }
76
- function isGptImage15(model) {
77
- return model === "gpt-image-1.5" || model.startsWith("gpt-image-1.5-2025");
78
- }
79
- function isGptImageModel(model) {
80
- return isGptImage1(model) || isGptImage1Mini(model) || isGptImage15(model);
81
- }
82
- function validateSizeForModel(size, model) {
83
- if (model === "dall-e-3" && !DALLE3_VALID_SIZES.includes(size)) return {
84
- valid: false,
85
- message: `Invalid size "${size}" for DALL-E 3. Valid sizes are: ${DALLE3_VALID_SIZES.join(", ")}`
86
- };
87
- if (model === "dall-e-2" && !DALLE2_VALID_SIZES.includes(size)) return {
88
- valid: false,
89
- message: `Invalid size "${size}" for DALL-E 2. Valid sizes are: ${DALLE2_VALID_SIZES.join(", ")}`
90
- };
91
- if (isGptImageModel(model) && size !== "auto" && !GPT_IMAGE1_VALID_SIZES.includes(size)) {
92
- let modelName = model;
93
- if (isGptImage15(model)) modelName = "GPT Image 1.5";
94
- else if (isGptImage1Mini(model)) modelName = "GPT Image 1 Mini";
95
- else if (isGptImage1(model)) modelName = "GPT Image 1";
96
- return {
97
- valid: false,
98
- message: `Invalid size "${size}" for ${modelName}. Valid sizes are: ${GPT_IMAGE1_VALID_SIZES.join(", ")}, auto`
99
- };
100
- }
101
- return { valid: true };
102
- }
103
- function getMimeTypeForOutputFormat(outputFormat) {
104
- switch (outputFormat) {
105
- case "jpeg": return "image/jpeg";
106
- case "webp": return "image/webp";
107
- default: return "image/png";
108
- }
109
- }
110
- function inferMimeTypeFromUrl(url) {
111
- try {
112
- const pathname = new URL(url).pathname.toLowerCase();
113
- if (pathname.endsWith(".jpg") || pathname.endsWith(".jpeg")) return "image/jpeg";
114
- if (pathname.endsWith(".webp")) return "image/webp";
115
- if (pathname.endsWith(".gif")) return "image/gif";
116
- if (pathname.endsWith(".svg")) return "image/svg+xml";
117
- if (pathname.endsWith(".png")) return "image/png";
118
- } catch {}
119
- }
120
- function buildStructuredImageOutputs(data, outputFormat) {
121
- if (!Array.isArray(data.data) || data.data.length === 0) return;
122
- return data.data.map((item) => {
123
- if (item.b64_json) {
124
- const mimeType = getMimeTypeForOutputFormat(outputFormat);
125
- return {
126
- data: `data:${mimeType};base64,${item.b64_json}`,
127
- mimeType
128
- };
129
- }
130
- if (item.url) {
131
- const mimeType = inferMimeTypeFromUrl(item.url);
132
- return mimeType ? {
133
- data: item.url,
134
- mimeType
135
- } : { data: item.url };
136
- }
137
- return null;
138
- }).filter((item) => item !== null);
139
- }
140
- function formatOutput(data, prompt, responseFormat, outputFormat) {
141
- if (responseFormat === "b64_json") {
142
- const b64Json = data.data[0].b64_json;
143
- if (!b64Json) return { error: `No base64 image data found in response: ${JSON.stringify(data)}` };
144
- return `data:${getMimeTypeForOutputFormat(outputFormat)};base64,${b64Json}`;
145
- } else {
146
- const url = data.data[0].url;
147
- if (!url) return { error: `No image URL found in response: ${JSON.stringify(data)}` };
148
- return `![${require_text.ellipsize(prompt.replace(/\r?\n|\r/g, " ").replace(/\[/g, "(").replace(/\]/g, ")"), 50)}](${url})`;
149
- }
150
- }
151
- function prepareRequestBody(model, prompt, size, responseFormat, config) {
152
- const body = {
153
- model,
154
- prompt,
155
- n: config.n || 1,
156
- size
157
- };
158
- if (!isGptImageModel(model)) body.response_format = responseFormat;
159
- if (model === "dall-e-3") {
160
- if ("quality" in config && config.quality) body.quality = config.quality;
161
- if ("style" in config && config.style) body.style = config.style;
162
- }
163
- if (isGptImageModel(model)) {
164
- if ("quality" in config && config.quality) body.quality = config.quality;
165
- if ("background" in config && config.background) body.background = config.background;
166
- if ("output_format" in config && config.output_format) body.output_format = config.output_format;
167
- if ("output_compression" in config && config.output_compression !== void 0) body.output_compression = config.output_compression;
168
- if ("moderation" in config && config.moderation) body.moderation = config.moderation;
169
- }
170
- return body;
171
- }
172
- function calculateImageCost(model, size, quality, n = 1) {
173
- const imageQuality = quality || "standard";
174
- if (model === "dall-e-3") return (DALLE3_COSTS[`${imageQuality}_${size}`] || DALLE3_COSTS["standard_1024x1024"]) * n;
175
- else if (model === "dall-e-2") return (DALLE2_COSTS[size] || DALLE2_COSTS["1024x1024"]) * n;
176
- else if (isGptImage1(model)) return (GPT_IMAGE1_COSTS[`${quality || "low"}_${size}`] || GPT_IMAGE1_COSTS["low_1024x1024"]) * n;
177
- else if (isGptImage1Mini(model)) return (GPT_IMAGE1_MINI_COSTS[`${quality || "low"}_${size}`] || GPT_IMAGE1_MINI_COSTS["low_1024x1024"]) * n;
178
- else if (isGptImage15(model)) return (GPT_IMAGE1_5_COSTS[`${quality || "low"}_${size}`] || GPT_IMAGE1_5_COSTS["low_1024x1024"]) * n;
179
- return .04 * n;
180
- }
181
- async function callOpenAiImageApi(url, body, headers, timeout) {
182
- return await require_cache.fetchWithCache(url, {
183
- method: "POST",
184
- headers,
185
- body: JSON.stringify(body)
186
- }, timeout);
187
- }
188
- async function processApiResponse(data, prompt, responseFormat, cached, model, size, latencyMs, quality, n = 1, outputFormat) {
189
- if (data.error) {
190
- await data?.deleteFromCache?.();
191
- return { error: require_util.formatOpenAiError(data) };
192
- }
193
- try {
194
- const formattedOutput = formatOutput(data, prompt, responseFormat, outputFormat);
195
- if (typeof formattedOutput === "object") return formattedOutput;
196
- const cost = cached ? 0 : calculateImageCost(model, size, quality, n);
197
- return {
198
- output: formattedOutput,
199
- images: buildStructuredImageOutputs(data, outputFormat),
200
- cached,
201
- latencyMs,
202
- cost,
203
- ...responseFormat === "b64_json" ? {
204
- isBase64: true,
205
- format: "json"
206
- } : {}
207
- };
208
- } catch (err) {
209
- await data?.deleteFromCache?.();
210
- return { error: `API error: ${String(err)}: ${JSON.stringify(data)}` };
211
- }
212
- }
213
- var OpenAiImageProvider = class extends require_openai.OpenAiGenericProvider {
214
- config;
215
- constructor(modelName, options = {}) {
216
- super(modelName, options);
217
- this.config = options.config || {};
218
- }
219
- async callApi(prompt, context, _callApiOptions) {
220
- if (this.requiresApiKey() && !this.getApiKey()) throw new Error(this.getMissingApiKeyErrorMessage());
221
- const config = {
222
- ...this.config,
223
- ...context?.prompt?.config
224
- };
225
- const model = config.model || this.modelName;
226
- const operation = "operation" in config && config.operation || "generation";
227
- const responseFormat = isGptImageModel(model) ? "b64_json" : config.response_format || "url";
228
- if (operation !== "generation") return { error: `Only 'generation' operations are currently supported. '${operation}' operations are not implemented.` };
229
- const endpoint = "/images/generations";
230
- const size = config.size || DEFAULT_SIZE;
231
- const sizeValidation = validateSizeForModel(size, model);
232
- if (!sizeValidation.valid) return { error: sizeValidation.message };
233
- const body = prepareRequestBody(model, prompt, size, responseFormat, config);
234
- const headers = {
235
- "Content-Type": "application/json",
236
- ...this.getApiKey() ? { Authorization: `Bearer ${this.getApiKey()}` } : {},
237
- ...this.getOrganization() ? { "OpenAI-Organization": this.getOrganization() } : {},
238
- ...config.headers
239
- };
240
- let data, status, statusText;
241
- let cached = false;
242
- let latencyMs;
243
- try {
244
- ({data, cached, status, statusText, latencyMs} = await callOpenAiImageApi(`${this.getApiUrl()}${endpoint}`, body, headers, require_fetch.REQUEST_TIMEOUT_MS));
245
- if (status < 200 || status >= 300) return { error: `API error: ${status} ${statusText}\n${typeof data === "string" ? data : JSON.stringify(data)}` };
246
- } catch (err) {
247
- require_logger.logger.error(`API call error: ${String(err)}`);
248
- await data?.deleteFromCache?.();
249
- return { error: `API call error: ${String(err)}` };
250
- }
251
- return processApiResponse(data, prompt, responseFormat, cached, model, size, latencyMs, config.quality, config.n || 1, "output_format" in config ? config.output_format : void 0);
252
- }
253
- };
254
- //#endregion
255
- Object.defineProperty(exports, "OpenAiImageProvider", {
256
- enumerable: true,
257
- get: function() {
258
- return OpenAiImageProvider;
259
- }
260
- });
261
- Object.defineProperty(exports, "buildStructuredImageOutputs", {
262
- enumerable: true,
263
- get: function() {
264
- return buildStructuredImageOutputs;
265
- }
266
- });
267
- Object.defineProperty(exports, "callOpenAiImageApi", {
268
- enumerable: true,
269
- get: function() {
270
- return callOpenAiImageApi;
271
- }
272
- });
273
- Object.defineProperty(exports, "formatOutput", {
274
- enumerable: true,
275
- get: function() {
276
- return formatOutput;
277
- }
278
- });
279
-
280
- //# sourceMappingURL=image-x6KqLQl4.cjs.map
@@ -1,2 +0,0 @@
1
- import { n as loadApiProvider, r as loadApiProviders } from "./providers-Domz_llv.js";
2
- export { loadApiProvider, loadApiProviders };
@@ -1,3 +0,0 @@
1
- const require_providers = require("./providers-1eKkXBKp.cjs");
2
- exports.loadApiProvider = require_providers.loadApiProvider;
3
- exports.loadApiProviders = require_providers.loadApiProviders;
@@ -1,2 +0,0 @@
1
- import { n as loadApiProvider, r as loadApiProviders } from "./providers-DruaQfwu.js";
2
- export { loadApiProvider, loadApiProviders };
@@ -1,135 +0,0 @@
1
- import { S as getEnvBool, a as logger, k as state } from "./logger-Ct2S6Yx-.js";
2
- import nunjucks from "nunjucks";
3
- //#region src/util/templates.ts
4
- /**
5
- * Get a Nunjucks engine instance with optional filters and configuration.
6
- * @param filters - Optional map of custom Nunjucks filters.
7
- * @param throwOnUndefined - Whether to throw an error on undefined variables.
8
- * @param isGrader - Whether this engine is being used in a grader context.
9
- * Nunjucks is always enabled in grader mode.
10
- * @returns A configured Nunjucks environment.
11
- */
12
- function getNunjucksEngine(filters, throwOnUndefined = false, isGrader = false) {
13
- if (!isGrader && getEnvBool("PROMPTFOO_DISABLE_TEMPLATING")) return { renderString: (template) => template };
14
- const env = nunjucks.configure({
15
- autoescape: false,
16
- throwOnUndefined
17
- });
18
- const envGlobals = {
19
- ...getEnvBool("PROMPTFOO_DISABLE_TEMPLATE_ENV_VARS", getEnvBool("PROMPTFOO_SELF_HOSTED", false)) ? {} : process.env,
20
- ...state.config?.env
21
- };
22
- env.addGlobal("env", envGlobals);
23
- env.addFilter("load", function(str) {
24
- return JSON.parse(str);
25
- });
26
- if (filters) for (const [name, filter] of Object.entries(filters)) env.addFilter(name, filter);
27
- return env;
28
- }
29
- /**
30
- * Parse Nunjucks template to extract variables.
31
- * @param template - The Nunjucks template string.
32
- * @returns An array of variables used in the template.
33
- */
34
- function extractVariablesFromTemplate(template) {
35
- const variableSet = /* @__PURE__ */ new Set();
36
- const regex = /\{\{[\s]*([^{}\s|]+)[\s]*(?:\|[^}]+)?\}\}|\{%[\s]*(?:if|for)[\s]+([^{}\s]+)[\s]*.*?%\}/g;
37
- template = template.replace(/\{#[\s\S]*?#\}/g, "");
38
- let match;
39
- while ((match = regex.exec(template)) !== null) {
40
- const variable = match[1] || match[2];
41
- if (variable) variableSet.add(variable);
42
- }
43
- const forLoopRegex = /\{%[\s]*for[\s]+(\w+)[\s]+in[\s]+(\w+)[\s]*%\}/g;
44
- while ((match = forLoopRegex.exec(template)) !== null) {
45
- variableSet.delete(match[1]);
46
- variableSet.add(match[2]);
47
- }
48
- return Array.from(variableSet);
49
- }
50
- /**
51
- * Extract variables from multiple Nunjucks templates.
52
- * @param templates - An array of Nunjucks template strings.
53
- * @returns An array of variables used in the templates.
54
- */
55
- function extractVariablesFromTemplates(templates) {
56
- const variableSet = /* @__PURE__ */ new Set();
57
- for (const template of templates) extractVariablesFromTemplate(template).forEach((variable) => variableSet.add(variable));
58
- return Array.from(variableSet);
59
- }
60
- //#endregion
61
- //#region src/util/render.ts
62
- /**
63
- * Renders ONLY environment variable templates in an object, leaving all other templates untouched.
64
- * This allows env vars to be resolved at provider load time while preserving runtime var templates.
65
- *
66
- * Supports full Nunjucks syntax for env vars including filters and expressions:
67
- * - {{ env.VAR_NAME }}
68
- * - {{ env['VAR-NAME'] }}
69
- * - {{ env["VAR-NAME"] }}
70
- * - {{ env.VAR | default('fallback') }}
71
- * - {{ env.VAR | upper }}
72
- *
73
- * Preserves non-env templates for runtime rendering:
74
- * - {{ vars.x }} - preserved as literal
75
- * - {{ prompt }} - preserved as literal
76
- *
77
- * Implementation: Uses regex to find env templates, delegates to Nunjucks for rendering.
78
- * This ensures full Nunjucks feature support while preserving non-env templates.
79
- *
80
- * @param obj - The object to process
81
- * @param envOverrides - Optional env vars to merge with (or replace) the base env
82
- * @param replaceBase - If true, envOverrides replaces the base env entirely instead of merging
83
- * @returns The object with only env templates rendered
84
- */
85
- function renderEnvOnlyInObject(obj, envOverrides, replaceBase) {
86
- if (getEnvBool("PROMPTFOO_DISABLE_TEMPLATING")) return obj;
87
- if (typeof obj === "string") {
88
- const nunjucks = getNunjucksEngine();
89
- const baseEnvGlobals = nunjucks.getGlobal("env");
90
- const envGlobals = replaceBase ? envOverrides ?? {} : envOverrides ? {
91
- ...baseEnvGlobals,
92
- ...envOverrides
93
- } : baseEnvGlobals;
94
- return obj.replace(/\{\{(?:[^}]|\}(?!\}))*\}\}/g, (match) => {
95
- if (!match.match(/\benv\.|env\[/)) return match;
96
- const varMatch = match.match(/env\.(\w+)|env\[['"]([^'"]+)['"]\]/);
97
- const varName = varMatch?.[1] || varMatch?.[2];
98
- if (match.includes("|") || varName && varName in envGlobals && envGlobals[varName] !== void 0) try {
99
- return nunjucks.renderString(match, { env: envGlobals });
100
- } catch (error) {
101
- logger.debug(`Failed to render env template "${match}": ${error instanceof Error ? error.message : String(error)}`);
102
- return match;
103
- }
104
- return match;
105
- });
106
- }
107
- if (Array.isArray(obj)) return obj.map((item) => renderEnvOnlyInObject(item, envOverrides, replaceBase));
108
- if (typeof obj === "object" && obj !== null) {
109
- const result = {};
110
- for (const key in obj) {
111
- if (key === "_conversation") {
112
- result[key] = obj[key];
113
- continue;
114
- }
115
- result[key] = renderEnvOnlyInObject(obj[key], envOverrides, replaceBase);
116
- }
117
- return result;
118
- }
119
- return obj;
120
- }
121
- function renderVarsInObject(obj, vars) {
122
- if (!vars || getEnvBool("PROMPTFOO_DISABLE_TEMPLATING")) return obj;
123
- if (typeof obj === "string") return getNunjucksEngine().renderString(obj, vars);
124
- if (Array.isArray(obj)) return obj.map((item) => renderVarsInObject(item, vars));
125
- if (typeof obj === "object" && obj !== null) {
126
- const result = {};
127
- for (const key in obj) result[key] = renderVarsInObject(obj[key], vars);
128
- return result;
129
- } else if (typeof obj === "function") return renderVarsInObject(obj({ vars }));
130
- return obj;
131
- }
132
- //#endregion
133
- export { getNunjucksEngine as a, extractVariablesFromTemplates as i, renderVarsInObject as n, extractVariablesFromTemplate as r, renderEnvOnlyInObject as t };
134
-
135
- //# sourceMappingURL=render-CH-62LbA.js.map