promptfoo 0.120.25 → 0.120.26

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 (237) hide show
  1. package/README.md +35 -22
  2. package/dist/src/{ListApp-CYTAaS6A.js → ListApp-D3DG0F8h.js} +1 -1
  3. package/dist/src/{accounts-CwqY22lU.cjs → accounts-BzEY8H3v.cjs} +4 -4
  4. package/dist/src/{accounts-Bzx8GnL6.js → accounts-DHHiXsy6.js} +5 -5
  5. package/dist/src/{accounts-BSwMxhY3.js → accounts-R3gfCR_g.js} +4 -4
  6. package/dist/src/{agentic-utils-5K7LzooV.js → agentic-utils-D6_gzOUF.js} +2 -2
  7. package/dist/src/{agents-B8RWrA68.cjs → agents-C7BiinFI.cjs} +6 -6
  8. package/dist/src/{agents-zHyWnnQ2.js → agents-Cao4i7AX.js} +7 -7
  9. package/dist/src/{agents-KZxXwlyn.cjs → agents-CwM7re15.cjs} +2 -2
  10. package/dist/src/{agents-DleC7rb4.js → agents-DETIQHqF.js} +6 -6
  11. package/dist/src/{agents-CkA9l77-.js → agents-DYIT-hQy.js} +5 -5
  12. package/dist/src/{agents-B20gl7hH.js → agents-GiUianme.js} +2 -2
  13. package/dist/src/{aimlapi-DgbFGPTX.js → aimlapi-CMJpKK-B.js} +9 -9
  14. package/dist/src/{aimlapi-DILJovhN.js → aimlapi-DMF6v_vb.js} +14 -14
  15. package/dist/src/{aimlapi-DIdWBHtH.cjs → aimlapi-DoGLcQW_.cjs} +9 -9
  16. package/dist/src/app/assets/index-BOgkICuY.css +1 -0
  17. package/dist/src/app/assets/index-CSgqn_Vd.js +428 -0
  18. package/dist/src/app/assets/{vendor-charts-DnwydkkY.js → vendor-charts-CYyo8R8v.js} +1 -1
  19. package/dist/src/app/assets/{vendor-markdown-DjKAU15k.js → vendor-markdown-DSmzq4Jh.js} +1 -1
  20. package/dist/src/app/assets/vendor-react-AtKqiNEf.js +4 -0
  21. package/dist/src/app/assets/{vendor-syntax-Dc86c4Bu.js → vendor-syntax-D06x6TQF.js} +1 -1
  22. package/dist/src/app/index.html +6 -6
  23. package/dist/src/app/tsconfig.app.tsbuildinfo +1 -1
  24. package/dist/src/{audio-BoR9KZV8.cjs → audio-BWjyvHn9.cjs} +3 -3
  25. package/dist/src/{audio-nUSOpXY7.js → audio-BrJBFN2b.js} +3 -3
  26. package/dist/src/{audio-BDrAkpVc.js → audio-DUH4q0Xq.js} +4 -4
  27. package/dist/src/{base-DumUXbOH.js → base-BaXmtXYp.js} +2 -2
  28. package/dist/src/{base-CwCV0t8r.js → base-Dtp8b4_N.js} +2 -2
  29. package/dist/src/{base-D8VQYhNQ.cjs → base-f71xxWai.cjs} +2 -2
  30. package/dist/src/{blobs-_kNRY6vU.cjs → blobs-673H0jCl.cjs} +2 -2
  31. package/dist/src/{blobs-Dnt2rxpc.js → blobs-C9J2mVgo.js} +2 -2
  32. package/dist/src/{blobs-DlB5fwyF.js → blobs-kt8v3UyH.js} +2 -2
  33. package/dist/src/{cache-S9MAoF9H.cjs → cache-7xULbvt3.cjs} +34 -7
  34. package/dist/src/{cache-C4A4H4Xb.js → cache-BLLayYEN.js} +23 -8
  35. package/dist/src/{cache-B2oIvf92.js → cache-BUPcq0Ad.js} +2 -2
  36. package/dist/src/cache-CVfRb-HD.cjs +6 -0
  37. package/dist/src/{cache-DofebEnH.js → cache-O4EuX2JV.js} +3 -3
  38. package/dist/src/{cache-Bg1Wpvzq.js → cache-mIszOnuz.js} +4 -21
  39. package/dist/src/{chat-DTCPbuld.cjs → chat-C4zqjObh.cjs} +6 -6
  40. package/dist/src/{chat-noXtEAh5.js → chat-C8Ei4f87.js} +6 -6
  41. package/dist/src/{chat-BiImdLJf.js → chat-CgyGj2hC.js} +8 -8
  42. package/dist/src/{chat-DQ6Z5Cbn.js → chat-Cpz3O-Xl.js} +13 -13
  43. package/dist/src/{chat-D_cro0wd.js → chat-DIywASPG.js} +10 -10
  44. package/dist/src/{chat-BR2x1dG_.cjs → chat-Fl6TZJRS.cjs} +8 -8
  45. package/dist/src/{chatkit-TnC1YoVi.js → chatkit-DEls11hE.js} +3 -3
  46. package/dist/src/{claude-agent-sdk-CBpAZV5h.js → claude-agent-sdk-6-xTaLwM.js} +45 -16
  47. package/dist/src/{claude-agent-sdk-uHLgAUZj.cjs → claude-agent-sdk-BzxF6NIJ.cjs} +45 -16
  48. package/dist/src/{claude-agent-sdk-qxE5mGVi.js → claude-agent-sdk-CmkTnKGH.js} +48 -19
  49. package/dist/src/{claude-agent-sdk-DyPvrj-1.js → claude-agent-sdk-rXCBLK_o.js} +38 -9
  50. package/dist/src/{cloud-lRosK6Nk.js → cloud-BMbRVJFw.js} +2 -2
  51. package/dist/src/{cloud-DHWE-9nj.js → cloud-CZ4hytdm.js} +1 -1
  52. package/dist/src/{cloudflare-ai-D0OtFY6g.cjs → cloudflare-ai-BAQ0u_dg.cjs} +9 -9
  53. package/dist/src/{cloudflare-ai-BprwSD6d.js → cloudflare-ai-CUg4BTcj.js} +9 -9
  54. package/dist/src/{cloudflare-ai-CB7OWRAP.js → cloudflare-ai-CobxMTR4.js} +14 -14
  55. package/dist/src/{cloudflare-gateway-C29gWj5O.cjs → cloudflare-gateway-C0sgfr_z.cjs} +10 -10
  56. package/dist/src/{cloudflare-gateway-BaVwoBjE.js → cloudflare-gateway-D2_yi-Fh.js} +15 -15
  57. package/dist/src/{cloudflare-gateway-BjoxwqUw.js → cloudflare-gateway-_itGuXry.js} +10 -10
  58. package/dist/src/{codex-sdk-DNkCbb7c.js → codex-sdk-dSnGdgIp.js} +3 -3
  59. package/dist/src/{cometapi-BGxGZ7VA.js → cometapi-B01btbfb.js} +15 -15
  60. package/dist/src/{cometapi-xiTQZp8R.js → cometapi-ChAaRjg5.js} +10 -10
  61. package/dist/src/{cometapi-DalITP94.cjs → cometapi-JbvOJSCO.cjs} +10 -10
  62. package/dist/src/{completion-BTbouQDz.js → completion-BBJ6zmG3.js} +5 -5
  63. package/dist/src/{completion-HYrX5gEL.js → completion-D9_MDlnd.js} +4 -4
  64. package/dist/src/{completion-DV0Ys99K.cjs → completion-DDyL3Cb2.cjs} +4 -4
  65. package/dist/src/{docker-Dx_FN1ag.js → docker-BuButc4D.js} +14 -14
  66. package/dist/src/{docker-zUAnbYTM.cjs → docker-Ckw-j7Rr.cjs} +9 -9
  67. package/dist/src/{docker-BAYnlbAW.js → docker-JAAubMw3.js} +9 -9
  68. package/dist/src/errors-DnGCbnx8.js +36 -0
  69. package/dist/src/{esm-79BpbQzg.js → esm-CYhseqj4.js} +1 -1
  70. package/dist/src/eval-CKHWqG9f.js +16 -0
  71. package/dist/src/{eval-Cxb9alW8.js → eval-CYrbG57o.js} +45 -13
  72. package/dist/src/{evalResult-B8LbgWMA.js → evalResult-6JaUIStC.js} +6 -6
  73. package/dist/src/{evalResult-CJNSpa3q.js → evalResult-COsVttMA.js} +6 -6
  74. package/dist/src/evalResult-CxTP-LMm.cjs +11 -0
  75. package/dist/src/evalResult-CzLURDcP.js +13 -0
  76. package/dist/src/{evalResult-hI1mhi_g.cjs → evalResult-DlRfu_Rq.cjs} +6 -6
  77. package/dist/src/evalResult-DyttNQ_G.js +11 -0
  78. package/dist/src/evaluator-0PvfeBYh.js +38 -0
  79. package/dist/src/{evaluator-1Tkdu8MK.js → evaluator-3EJCMTs0.js} +74 -48
  80. package/dist/src/{extractor-BPBlLyOn.cjs → extractor-DbhlYEeo.cjs} +22 -5
  81. package/dist/src/{extractor-CuUWqwrE.js → extractor-Hs7la_19.js} +22 -5
  82. package/dist/src/{extractor-BFoThUOa.js → extractor-LSYjrhK0.js} +22 -5
  83. package/dist/src/{fetch-zJuFPxN1.js → fetch-18MuNu9i.js} +4 -4
  84. package/dist/src/{fetch-BdiCecAv.js → fetch-Bi0o-fdp.js} +1 -1
  85. package/dist/src/fetch-CMptBDVg.cjs +4 -0
  86. package/dist/src/{fetch-BQgz6x7S.js → fetch-DAZkv3gV.js} +2 -2
  87. package/dist/src/{fetch-BuP-gm0E.js → fetch-SRsE6Ctl.js} +4 -4
  88. package/dist/src/{fetch-Dy2YML9G.cjs → fetch-ZMn_oemb.cjs} +4 -4
  89. package/dist/src/{fileExtensions-CzcPkiKZ.js → fileExtensions-BpuMmaFL.js} +1 -1
  90. package/dist/src/{formatDuration-CGa0ZDQ8.js → formatDuration-Doo0xq-z.js} +1 -1
  91. package/dist/src/{genaiTracer-foKtbVa2.js → genaiTracer-CqNnnXrE.js} +1 -1
  92. package/dist/src/graders-BCytzXrb.js +34 -0
  93. package/dist/src/{graders-DMAzEgEF.js → graders-BaMCwIKp.js} +211 -91
  94. package/dist/src/graders-CGZQShfJ.cjs +33 -0
  95. package/dist/src/{graders-NBsuYeMx.cjs → graders-DzUUnUjC.cjs} +206 -86
  96. package/dist/src/{graders-CtvuaC8D.js → graders-QsALpIdy.js} +206 -86
  97. package/dist/src/graders-spkuVC-E.js +36 -0
  98. package/dist/src/{image-Bf8RiJ2g.js → image-BXt_7u0v.js} +3 -3
  99. package/dist/src/{image-LhLO5KCW.js → image-BiEVdpdP.js} +4 -4
  100. package/dist/src/{image-CaVWfZub.cjs → image-C3BjJUAU.cjs} +4 -4
  101. package/dist/src/{image-BnF25Osq.cjs → image-D10zEe1f.cjs} +3 -3
  102. package/dist/src/{image-DIn_AW1Z.js → image-DB4sHxdJ.js} +4 -4
  103. package/dist/src/{image-DFwp1aAV.js → image-mhAGP07h.js} +6 -6
  104. package/dist/src/index.cjs +152 -69
  105. package/dist/src/index.d.cts +20 -3
  106. package/dist/src/index.d.ts +20 -3
  107. package/dist/src/index.js +152 -69
  108. package/dist/src/{interactiveCheck-Dmm9vjpx.js → interactiveCheck-DU-MAhp5.js} +1 -1
  109. package/dist/src/{knowledgeBase-Bf57PI7g.cjs → knowledgeBase-Bnb00xKs.cjs} +6 -6
  110. package/dist/src/{knowledgeBase-DZw2L9kf.js → knowledgeBase-CMvMlLZR.js} +8 -8
  111. package/dist/src/{knowledgeBase-CfOvyF2s.js → knowledgeBase-XJQ0Qyez.js} +6 -6
  112. package/dist/src/{litellm-Ds8YmO1b.js → litellm-BECdjOTx.js} +3 -3
  113. package/dist/src/{litellm-ByNRN2Vh.cjs → litellm-BrnZhMcL.cjs} +11 -11
  114. package/dist/src/{litellm-fU-xV6T4.js → litellm-CHrRmPAe.js} +16 -16
  115. package/dist/src/{litellm-DexU8FFp.js → litellm-CrLJrPIm.js} +11 -11
  116. package/dist/src/{luma-ray-y26EHFO8.js → luma-ray-BOeX-h0M.js} +8 -8
  117. package/dist/src/{luma-ray-BIe5ctI4.cjs → luma-ray-C0RkI3lt.cjs} +8 -8
  118. package/dist/src/{luma-ray-vvE-O9EA.js → luma-ray-DgKLS0BF.js} +10 -10
  119. package/dist/src/main.js +1011 -404
  120. package/dist/src/{messages-Bg2ekFPc.js → messages-CDZYGNlS.js} +7 -7
  121. package/dist/src/{messages-DpoCLD_8.js → messages-D61tPFQo.js} +9 -9
  122. package/dist/src/{messages-16jb9LP7.cjs → messages-DXV3Qh8_.cjs} +7 -7
  123. package/dist/src/{meteor-DLCdreag.js → meteor-P2rUE-Uz.js} +1 -1
  124. package/dist/src/{nova-reel-BM0snD2m.js → nova-reel-Bk5npr2q.js} +10 -10
  125. package/dist/src/{nova-reel-CvXCVn3f.cjs → nova-reel-D9FXq3Mt.cjs} +8 -8
  126. package/dist/src/{nova-reel-CJLpBKSI.js → nova-reel-DtCjbD5O.js} +8 -8
  127. package/dist/src/{nova-sonic-CklvraBd.js → nova-sonic-BXRfQyF-.js} +7 -7
  128. package/dist/src/{nova-sonic-DEx_FdFW.cjs → nova-sonic-BoRSY_U6.cjs} +5 -5
  129. package/dist/src/{nova-sonic-Cjh_qopr.js → nova-sonic-CgaWLDM1.js} +5 -5
  130. package/dist/src/{openai-jNIREoAW.js → openai-CT5fwbve.js} +1 -1
  131. package/dist/src/{openclaw-CnAwBfPO.js → openclaw-B6XY2kUf.js} +14 -14
  132. package/dist/src/{openclaw-DBSSY4SP.js → openclaw-CpPrXwf6.js} +9 -9
  133. package/dist/src/{openclaw-CbHtt3B8.cjs → openclaw-DDSfq5fp.cjs} +9 -9
  134. package/dist/src/{opencode-sdk-CqxTHrk0.js → opencode-sdk-CImWVqy9.js} +6 -6
  135. package/dist/src/{opencode-sdk-xUrRk5Jx.js → opencode-sdk-CuCztr4P.js} +4 -4
  136. package/dist/src/{opencode-sdk-DdmtRB6D.cjs → opencode-sdk-mqF-Oj3f.cjs} +4 -4
  137. package/dist/src/{otlpReceiver-th2zHwjZ.cjs → otlpReceiver-B6Xo4KZM.cjs} +4 -4
  138. package/dist/src/{otlpReceiver-uytrRKdo.js → otlpReceiver-BO0rbDzh.js} +4 -4
  139. package/dist/src/{otlpReceiver-C-1cdVDr.js → otlpReceiver-Dg817agV.js} +5 -5
  140. package/dist/src/{providerRegistry-DAZoFmGv.js → providerRegistry-Xf0qdqGQ.js} +1 -1
  141. package/dist/src/providers-BMZZmPBJ.cjs +32 -0
  142. package/dist/src/{providers-CpUrPa8s.cjs → providers-BNKVY53V.cjs} +94 -64
  143. package/dist/src/{providers-D3lk_R7Q.js → providers-BiNq_Iyc.js} +94 -64
  144. package/dist/src/{providers-BOvl9qv5.js → providers-BlEhY5mi.js} +110 -79
  145. package/dist/src/providers-CQQrNaJk.js +32 -0
  146. package/dist/src/providers-Ck8HyrC-.js +34 -0
  147. package/dist/src/{pythonUtils-CUPlf1H0.js → pythonUtils-r1uBuA0n.js} +2 -2
  148. package/dist/src/{quiverai-BNGJOQym.cjs → quiverai-BNfIwKCO.cjs} +8 -8
  149. package/dist/src/{quiverai-Y7Is4wah.js → quiverai-BQigKdIH.js} +13 -13
  150. package/dist/src/{quiverai-DthRqZs9.js → quiverai-Bfy2WnE2.js} +8 -8
  151. package/dist/src/{render-kFatbqG6.js → render-CAZvKKkB.js} +3 -3
  152. package/dist/src/{responses-BtU_i-R0.js → responses-DLLjADw5.js} +5 -5
  153. package/dist/src/{responses-B85halqh.js → responses-TsdODUpm.js} +8 -8
  154. package/dist/src/{responses-CXJACENh.cjs → responses-zOtKtnY_.cjs} +5 -5
  155. package/dist/src/{rubyUtils-DYKoa7Ze.js → rubyUtils-BtjlqyXt.js} +2 -2
  156. package/dist/src/{rubyUtils-BA4D4gMX.js → rubyUtils-D7--T12C.js} +2 -2
  157. package/dist/src/{sagemaker-hRS_Jj3-.js → sagemaker-BcgLu0U4.js} +17 -17
  158. package/dist/src/{sagemaker-DI6IOTjT.js → sagemaker-CLdUAv5z.js} +11 -11
  159. package/dist/src/{sagemaker-BUagsrJ-.cjs → sagemaker-DwNnEVYt.cjs} +11 -11
  160. package/dist/src/{scanner-C6QXA9Pn.js → scanner-Dyw21Wg_.js} +10 -10
  161. package/dist/src/server/index.js +1376 -486
  162. package/dist/src/server-BUbS0Qfh.js +6 -0
  163. package/dist/src/{server-BPC37wlX.js → server-CbMTRQkg.js} +3 -3
  164. package/dist/src/{server-C_O6-VE4.cjs → server-CgUQ25qW.cjs} +3 -3
  165. package/dist/src/{server-HQtz_gUy.js → server-DWmZLfCy.js} +4 -4
  166. package/dist/src/server-XpGXFHkS.cjs +6 -0
  167. package/dist/src/server-gfOx5Zrk.js +8 -0
  168. package/dist/src/{signal-D4VhSJOY.js → signal-Bl32q42d.js} +2 -2
  169. package/dist/src/{slack-DTUSadx4.js → slack-BfdBx2tO.js} +1 -1
  170. package/dist/src/{store-BTdkdmK9.js → store-2ocbYY9D.js} +2 -2
  171. package/dist/src/store-5u2yriTV.js +7 -0
  172. package/dist/src/{store-F-KTiqfb.cjs → store-BqwfFEyF.cjs} +2 -2
  173. package/dist/src/{store-rueRdzcm.js → store-D4gdn9ih.js} +2 -2
  174. package/dist/src/store-D_lq_8oQ.js +6 -0
  175. package/dist/src/store-m5KT6Ly7.cjs +6 -0
  176. package/dist/src/{tables-w-r-abWq.cjs → tables-B9E1kRp-.cjs} +2 -2
  177. package/dist/src/{tables-ChjAuVAR.js → tables-C7TT2XVn.js} +2 -2
  178. package/dist/src/{tables-dNaVPyDr.js → tables-D-NSwNIb.js} +2 -2
  179. package/dist/src/telemetry-5RHFoCJh.js +6 -0
  180. package/dist/src/{telemetry-wXyCQ1Nz.js → telemetry-BXyVqyAg.js} +3 -3
  181. package/dist/src/{telemetry-Y1esJM0v.cjs → telemetry-D0_yFdtU.cjs} +3 -3
  182. package/dist/src/{telemetry-Dai7PdlR.js → telemetry-DZ_7PaVq.js} +3 -3
  183. package/dist/src/telemetry-Do8wMnA-.js +8 -0
  184. package/dist/src/telemetry-LojxPoFq.cjs +6 -0
  185. package/dist/src/{text-C1cXk9ij.js → text-DgMr_tiM.js} +1 -1
  186. package/dist/src/{tokenUsageUtils-D2ko2eFQ.js → tokenUsageUtils-DmZSD2eU.js} +1 -1
  187. package/dist/src/{transcription-i6EfSMie.js → transcription-CYuY5sFO.js} +6 -6
  188. package/dist/src/{transcription-CcYTL4wi.js → transcription-Ch7S-LWw.js} +10 -10
  189. package/dist/src/{transcription-C-K2hDJX.cjs → transcription-FNIz3YOe.cjs} +6 -6
  190. package/dist/src/{transform-gpzlPrwG.js → transform-CoP2bJ7P.js} +43 -4
  191. package/dist/src/{transform-B86_0IIb.js → transform-CqTFr7KR.js} +4 -4
  192. package/dist/src/{transform-DosdxVdh.js → transform-DMaxQwDx.js} +43 -4
  193. package/dist/src/{transform-DwsntMEQ.js → transform-GybT0X0u.js} +3 -3
  194. package/dist/src/{transform-CCSNqTI-.cjs → transform-ivxEY4f7.cjs} +54 -3
  195. package/dist/src/{transformersAvailability-DM54tWzt.js → transformersAvailability-DwmezkVe.js} +1 -1
  196. package/dist/src/{types-Brw5kggg.cjs → types-BIfttHrT.cjs} +13 -1
  197. package/dist/src/{types-CslP2TyG.js → types-DMVjYLpx.js} +13 -1
  198. package/dist/src/{types-CMDs7Kzu.js → types-t52w-XsS.js} +16 -2
  199. package/dist/src/{util-BECSJ0T_.js → util-BSh4a_Q8.js} +6 -6
  200. package/dist/src/{util-D8z5QOy8.cjs → util-C08Kns6-.cjs} +3 -3
  201. package/dist/src/{util-CttPoePn.js → util-CUEt0Vum.js} +3 -3
  202. package/dist/src/{util-CfPdWQJX.js → util-Cl0zfT3V.js} +3 -3
  203. package/dist/src/{util-Dab5xp2E.cjs → util-DUYOvxAy.cjs} +3 -3
  204. package/dist/src/{util-CY_XguB9.js → util-DiCePfDu.js} +3 -3
  205. package/dist/src/{util-CBAXTxfy.cjs → util-DkFTvieG.cjs} +3 -3
  206. package/dist/src/{util-Dft1RxsL.js → util-mJ58qbbw.js} +3 -3
  207. package/dist/src/{util-Ba18wQ8e.js → util-vjscpUzy.js} +3 -3
  208. package/dist/src/{utils-BTeLHwiH.js → utils-CVzb4YiI.js} +2 -2
  209. package/dist/src/{utils-Db5KwiXp.cjs → utils-DFaZa6Rf.cjs} +2 -2
  210. package/dist/src/{utils-ICP7kLcY.js → utils-JaY9veb5.js} +2 -2
  211. package/dist/tsconfig.tsbuildinfo +1 -1
  212. package/package.json +43 -42
  213. package/dist/src/app/assets/index-COIipVf1.css +0 -1
  214. package/dist/src/app/assets/index-ClD64gUa.js +0 -428
  215. package/dist/src/app/assets/vendor-react-DHoaNLma.js +0 -4
  216. package/dist/src/cache-BJ31KhNT.cjs +0 -6
  217. package/dist/src/eval-DgiEH2xe.js +0 -16
  218. package/dist/src/evalResult-Boel8xoS.js +0 -13
  219. package/dist/src/evalResult-DGx1-Ela.js +0 -11
  220. package/dist/src/evalResult-DzRxYLDH.cjs +0 -11
  221. package/dist/src/evaluator-B4qKt437.js +0 -38
  222. package/dist/src/fetch-DwhKew9e.cjs +0 -4
  223. package/dist/src/graders-BpEqZT2Q.js +0 -34
  224. package/dist/src/graders-DTGI-hHE.cjs +0 -33
  225. package/dist/src/graders-DgMr-E4I.js +0 -36
  226. package/dist/src/providers-DVsoSup2.js +0 -34
  227. package/dist/src/providers-D_tJatIk.js +0 -32
  228. package/dist/src/providers-wpMPsMZ7.cjs +0 -32
  229. package/dist/src/server-BeqUuSvj.js +0 -6
  230. package/dist/src/server-CwQsQ6dl.cjs +0 -6
  231. package/dist/src/server-Dhbq83-d.js +0 -8
  232. package/dist/src/store-C7U17qcu.js +0 -6
  233. package/dist/src/store-CuDU_jDN.js +0 -7
  234. package/dist/src/store-awdDxuiD.cjs +0 -6
  235. package/dist/src/telemetry-ClcYTCOG.js +0 -8
  236. package/dist/src/telemetry-DEWuLu_s.js +0 -6
  237. package/dist/src/telemetry-tADmeX6E.cjs +0 -6
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import "./chunk-DHDDz29n.js";
3
3
  import { C as getEnvString, o as logger_default } from "./logger-BotXmWKW.js";
4
- import "./fetch-BuP-gm0E.js";
5
- import "./cloud-lRosK6Nk.js";
6
- import "./types-CMDs7Kzu.js";
7
- import { a as fetchWithCache } from "./cache-Bg1Wpvzq.js";
8
- import "./util-BECSJ0T_.js";
9
- import "./esm-79BpbQzg.js";
10
- import "./pythonUtils-CUPlf1H0.js";
11
- import "./genaiTracer-foKtbVa2.js";
12
- import { t as OpenAiChatCompletionProvider } from "./chat-D_cro0wd.js";
13
- import "./transform-gpzlPrwG.js";
14
- import "./openai-jNIREoAW.js";
15
- import "./util-CttPoePn.js";
16
- import { n as OpenAiEmbeddingProvider, t as OpenAiCompletionProvider } from "./completion-BTbouQDz.js";
4
+ import "./fetch-SRsE6Ctl.js";
5
+ import "./cloud-BMbRVJFw.js";
6
+ import "./types-t52w-XsS.js";
7
+ import { a as fetchWithCache } from "./cache-mIszOnuz.js";
8
+ import "./util-BSh4a_Q8.js";
9
+ import "./esm-CYhseqj4.js";
10
+ import "./pythonUtils-r1uBuA0n.js";
11
+ import "./genaiTracer-CqNnnXrE.js";
12
+ import { t as OpenAiChatCompletionProvider } from "./chat-DIywASPG.js";
13
+ import "./transform-CoP2bJ7P.js";
14
+ import "./openai-CT5fwbve.js";
15
+ import "./util-CUEt0Vum.js";
16
+ import { n as OpenAiEmbeddingProvider, t as OpenAiCompletionProvider } from "./completion-BBJ6zmG3.js";
17
17
 
18
18
  //#region src/providers/docker.ts
19
19
  async function fetchLocalModels(apiBaseUrl) {
@@ -90,4 +90,4 @@ var DMREmbeddingProvider = class extends OpenAiEmbeddingProvider {
90
90
 
91
91
  //#endregion
92
92
  export { createDockerProvider };
93
- //# sourceMappingURL=docker-Dx_FN1ag.js.map
93
+ //# sourceMappingURL=docker-BuButc4D.js.map
@@ -1,16 +1,16 @@
1
1
  const require_logger = require('./logger-BdZ-IqBc.cjs');
2
2
  require('./esm-BQkx5roy.cjs');
3
3
  require('./pythonUtils-DZ6EbdY4.cjs');
4
- require('./types-Brw5kggg.cjs');
5
- require('./util-Dab5xp2E.cjs');
6
- require('./fetch-Dy2YML9G.cjs');
7
- const require_cache = require('./cache-S9MAoF9H.cjs');
4
+ require('./types-BIfttHrT.cjs');
5
+ require('./util-DUYOvxAy.cjs');
6
+ require('./fetch-ZMn_oemb.cjs');
7
+ const require_cache = require('./cache-7xULbvt3.cjs');
8
8
  require('./genaiTracer-CQlpZkrp.cjs');
9
- const require_chat = require('./chat-DTCPbuld.cjs');
10
- require('./transform-CCSNqTI-.cjs');
9
+ const require_chat = require('./chat-C4zqjObh.cjs');
10
+ require('./transform-ivxEY4f7.cjs');
11
11
  require('./openai-Bigwjgo1.cjs');
12
- require('./util-D8z5QOy8.cjs');
13
- const require_completion = require('./completion-DV0Ys99K.cjs');
12
+ require('./util-C08Kns6-.cjs');
13
+ const require_completion = require('./completion-DDyL3Cb2.cjs');
14
14
 
15
15
  //#region src/providers/docker.ts
16
16
  async function fetchLocalModels(apiBaseUrl) {
@@ -87,4 +87,4 @@ var DMREmbeddingProvider = class extends require_completion.OpenAiEmbeddingProvi
87
87
 
88
88
  //#endregion
89
89
  exports.createDockerProvider = createDockerProvider;
90
- //# sourceMappingURL=docker-zUAnbYTM.cjs.map
90
+ //# sourceMappingURL=docker-Ckw-j7Rr.cjs.map
@@ -2,16 +2,16 @@ import "./chunk-FhC4c-0y.js";
2
2
  import { b as getEnvString, i as logger_default } from "./logger-w8Ozp0Td.js";
3
3
  import "./esm-rDtG_2rg.js";
4
4
  import "./pythonUtils-vMlk9Qp5.js";
5
- import "./types-CslP2TyG.js";
6
- import "./util-CY_XguB9.js";
7
- import "./fetch-zJuFPxN1.js";
8
- import { a as fetchWithCache } from "./cache-C4A4H4Xb.js";
5
+ import "./types-DMVjYLpx.js";
6
+ import "./util-DiCePfDu.js";
7
+ import "./fetch-18MuNu9i.js";
8
+ import { a as fetchWithCache } from "./cache-BLLayYEN.js";
9
9
  import "./genaiTracer-Ce19n68P.js";
10
- import { t as OpenAiChatCompletionProvider } from "./chat-noXtEAh5.js";
11
- import "./transform-DosdxVdh.js";
10
+ import { t as OpenAiChatCompletionProvider } from "./chat-C8Ei4f87.js";
11
+ import "./transform-DMaxQwDx.js";
12
12
  import "./openai-Dz3surb_.js";
13
- import "./util-CfPdWQJX.js";
14
- import { n as OpenAiEmbeddingProvider, t as OpenAiCompletionProvider } from "./completion-HYrX5gEL.js";
13
+ import "./util-Cl0zfT3V.js";
14
+ import { n as OpenAiEmbeddingProvider, t as OpenAiCompletionProvider } from "./completion-D9_MDlnd.js";
15
15
 
16
16
  //#region src/providers/docker.ts
17
17
  async function fetchLocalModels(apiBaseUrl) {
@@ -88,4 +88,4 @@ var DMREmbeddingProvider = class extends OpenAiEmbeddingProvider {
88
88
 
89
89
  //#endregion
90
90
  export { createDockerProvider };
91
- //# sourceMappingURL=docker-BAYnlbAW.js.map
91
+ //# sourceMappingURL=docker-JAAubMw3.js.map
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env node
2
+ //#region src/util/fetch/errors.ts
3
+ /**
4
+ * Non-transient HTTP status codes that indicate the target is unavailable or misconfigured.
5
+ * These errors will not resolve on retry and should abort the scan immediately.
6
+ *
7
+ * - 401: Unauthorized - authentication required or invalid credentials
8
+ * - 403: Forbidden - valid credentials but access denied
9
+ * - 404: Not Found - target endpoint doesn't exist
10
+ * - 501: Not Implemented - server doesn't support the request method
11
+ *
12
+ * Excluded: 500 (often transient — server crashes, DB timeouts, deployment rollouts,
13
+ * or input-dependent bugs where one prompt triggers it but the next doesn't),
14
+ * 502/503/504 (typically transient gateway issues).
15
+ */
16
+ const NON_TRANSIENT_HTTP_STATUSES = [
17
+ 401,
18
+ 403,
19
+ 404,
20
+ 501
21
+ ];
22
+ function isNonTransientHttpStatus(status) {
23
+ return NON_TRANSIENT_HTTP_STATUSES.includes(status);
24
+ }
25
+ function isTransientConnectionError(error) {
26
+ if (!error) return false;
27
+ const code = error.code;
28
+ if (code === "ECONNRESET" || code === "EPIPE") return true;
29
+ const message = (error.message ?? "").toLowerCase();
30
+ if (message.includes("eproto") && (message.includes("wrong version number") || message.includes("self signed") || message.includes("unable to verify") || message.includes("unknown ca") || message.includes("cert"))) return false;
31
+ return message.includes("bad record mac") || message.includes("eproto") || message.includes("econnreset") || message.includes("socket hang up");
32
+ }
33
+
34
+ //#endregion
35
+ export { isNonTransientHttpStatus as n, isTransientConnectionError as r, NON_TRANSIENT_HTTP_STATUSES as t };
36
+ //# sourceMappingURL=errors-DnGCbnx8.js.map
@@ -380,4 +380,4 @@ function loadCjsModule(modulePath) {
380
380
 
381
381
  //#endregion
382
382
  export { safeJoin as a, resolvePackageEntryPoint as i, getWrapperDir as n, safeResolve as o, importModule as r, getDirectory as t };
383
- //# sourceMappingURL=esm-79BpbQzg.js.map
383
+ //# sourceMappingURL=esm-CYhseqj4.js.map
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+ import "./logger-BotXmWKW.js";
3
+ import "./fetch-SRsE6Ctl.js";
4
+ import "./accounts-DHHiXsy6.js";
5
+ import "./cloud-BMbRVJFw.js";
6
+ import "./types-t52w-XsS.js";
7
+ import "./utils-JaY9veb5.js";
8
+ import "./extractor-LSYjrhK0.js";
9
+ import "./blobs-kt8v3UyH.js";
10
+ import "./tables-C7TT2XVn.js";
11
+ import "./store-D4gdn9ih.js";
12
+ import "./signal-Bl32q42d.js";
13
+ import { a as createEvalId, i as combineFilterConditions, n as EvalQueries, o as escapeJsonPathKey, r as buildSafeJsonPath, s as getEvalSummaries, t as Eval } from "./eval-CYrbG57o.js";
14
+ import "./evalResult-6JaUIStC.js";
15
+
16
+ export { Eval as default };
@@ -1,16 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import { b as getEnvBool, o as logger_default } from "./logger-BotXmWKW.js";
3
- import { I as HUMAN_ASSERTION_TYPE, T as DEFAULT_QUERY_LIMIT, c as getCurrentTimestamp } from "./fetch-BuP-gm0E.js";
3
+ import { I as HUMAN_ASSERTION_TYPE, T as DEFAULT_QUERY_LIMIT, c as getCurrentTimestamp } from "./fetch-SRsE6Ctl.js";
4
4
  import { t as invariant } from "./invariant-DT20jrBd.js";
5
- import { o as getUserEmail } from "./accounts-Bzx8GnL6.js";
6
- import { U as riskCategorySeverityMap, ct as PLUGIN_CATEGORIES, s as ResultFailureReason } from "./types-CMDs7Kzu.js";
7
- import { t as hashPrompt } from "./utils-ICP7kLcY.js";
8
- import { a as sha256, i as randomSequence } from "./extractor-BFoThUOa.js";
9
- import { a as createEmptyTokenUsage, r as accumulateTokenUsage } from "./tokenUsageUtils-D2ko2eFQ.js";
10
- import { a as evalResultsTable, c as evalsToPromptsTable, d as promptsTable, g as getDb, i as datasetsTable, l as evalsToTagsTable, o as evalsTable, p as tagsTable, s as evalsToDatasetsTable } from "./tables-ChjAuVAR.js";
11
- import { n as getTraceStore } from "./store-rueRdzcm.js";
12
- import { i as getActualPrompt, r as updateSignalFile } from "./signal-D4VhSJOY.js";
13
- import { t as EvalResult } from "./evalResult-B8LbgWMA.js";
5
+ import { o as getUserEmail } from "./accounts-DHHiXsy6.js";
6
+ import { U as riskCategorySeverityMap, ct as PLUGIN_CATEGORIES, s as ResultFailureReason } from "./types-t52w-XsS.js";
7
+ import { n as isNonTransientHttpStatus, t as NON_TRANSIENT_HTTP_STATUSES } from "./errors-DnGCbnx8.js";
8
+ import { t as hashPrompt } from "./utils-JaY9veb5.js";
9
+ import { a as sha256, i as randomSequence } from "./extractor-LSYjrhK0.js";
10
+ import { a as createEmptyTokenUsage, r as accumulateTokenUsage } from "./tokenUsageUtils-DmZSD2eU.js";
11
+ import { a as evalResultsTable, c as evalsToPromptsTable, d as promptsTable, g as getDb, i as datasetsTable, l as evalsToTagsTable, o as evalsTable, p as tagsTable, s as evalsToDatasetsTable } from "./tables-C7TT2XVn.js";
12
+ import { n as getTraceStore } from "./store-D4gdn9ih.js";
13
+ import { i as getActualPrompt, r as updateSignalFile } from "./signal-Bl32q42d.js";
14
+ import { t as EvalResult } from "./evalResult-6JaUIStC.js";
14
15
  import { and, desc, eq, sql } from "drizzle-orm";
15
16
 
16
17
  //#region src/redteam/metrics.ts
@@ -407,7 +408,12 @@ function convertResultsToTable(eval_) {
407
408
  model: result.response.video.model,
408
409
  aspectRatio: result.response.video.aspectRatio,
409
410
  resolution: result.response.video.resolution
410
- } : void 0
411
+ } : void 0,
412
+ images: result.response?.images?.map((img) => ({
413
+ data: img.data,
414
+ blobRef: img.blobRef,
415
+ mimeType: img.mimeType
416
+ }))
411
417
  };
412
418
  invariant(result.promptId, "Prompt ID is required");
413
419
  row.testIdx = result.testIdx;
@@ -473,7 +479,12 @@ function convertEvalResultToTableCell(result) {
473
479
  model: result.response.video.model,
474
480
  aspectRatio: result.response.video.aspectRatio,
475
481
  resolution: result.response.video.resolution
476
- } : void 0
482
+ } : void 0,
483
+ images: result.response?.images?.map((img) => ({
484
+ data: img.data,
485
+ blobRef: img.blobRef,
486
+ mimeType: img.mimeType
487
+ }))
477
488
  };
478
489
  }
479
490
  function convertTestResultsToTableRow(results, varsForHeader) {
@@ -1031,6 +1042,27 @@ var Eval = class Eval {
1031
1042
  async getTotalResultRowCount() {
1032
1043
  return getTotalResultRowCount(this.id);
1033
1044
  }
1045
+ /**
1046
+ * Find a non-transient HTTP error status from evaluation results.
1047
+ * Returns the first non-transient status (401, 403, 404, 500, 501) found, or undefined.
1048
+ *
1049
+ * For persisted evals: Uses efficient O(1) database query with LIMIT 1.
1050
+ * For non-persisted evals: Falls back to scanning in-memory results.
1051
+ */
1052
+ async findTargetErrorStatus() {
1053
+ const scanInMemory = () => {
1054
+ for (const result of this.results) {
1055
+ const status = result.response?.metadata?.http?.status;
1056
+ if (typeof status === "number" && isNonTransientHttpStatus(status)) return status;
1057
+ }
1058
+ };
1059
+ if (!this.persisted) return scanInMemory();
1060
+ try {
1061
+ return getDb().select({ httpStatus: sql`CAST(json_extract(${evalResultsTable.response}, '$.metadata.http.status') AS INTEGER)` }).from(evalResultsTable).where(and(eq(evalResultsTable.evalId, this.id), sql`json_extract(${evalResultsTable.response}, '$.metadata.http.status') IN (${sql.join(NON_TRANSIENT_HTTP_STATUSES.map((s) => sql`${s}`), sql`, `)})`)).limit(1).get()?.httpStatus ?? void 0;
1062
+ } catch {
1063
+ return scanInMemory();
1064
+ }
1065
+ }
1034
1066
  async fetchResultsByTestIdx(testIdx) {
1035
1067
  return await EvalResult.findManyByEvalId(this.id, { testIdx });
1036
1068
  }
@@ -1594,4 +1626,4 @@ async function getEvalSummaries(datasetId, type, includeProviders = false) {
1594
1626
 
1595
1627
  //#endregion
1596
1628
  export { createEvalId as a, combineFilterConditions as i, EvalQueries as n, escapeJsonPathKey as o, buildSafeJsonPath as r, getEvalSummaries as s, Eval as t };
1597
- //# sourceMappingURL=eval-Cxb9alW8.js.map
1629
+ //# sourceMappingURL=eval-CYrbG57o.js.map
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { b as getEnvBool, g as safeJsonStringify, o as logger_default } from "./logger-BotXmWKW.js";
3
- import { c as getCurrentTimestamp } from "./fetch-BuP-gm0E.js";
4
- import { f as isResultFailureReason, m as isProviderOptions, p as isApiProvider, s as ResultFailureReason } from "./types-CMDs7Kzu.js";
5
- import { t as hashPrompt } from "./utils-ICP7kLcY.js";
6
- import { n as isBlobStorageEnabled, t as extractAndStoreBinaryData } from "./extractor-BFoThUOa.js";
7
- import { a as evalResultsTable, g as getDb } from "./tables-ChjAuVAR.js";
3
+ import { c as getCurrentTimestamp } from "./fetch-SRsE6Ctl.js";
4
+ import { f as isResultFailureReason, m as isProviderOptions, p as isApiProvider, s as ResultFailureReason } from "./types-t52w-XsS.js";
5
+ import { t as hashPrompt } from "./utils-JaY9veb5.js";
6
+ import { n as isBlobStorageEnabled, t as extractAndStoreBinaryData } from "./extractor-LSYjrhK0.js";
7
+ import { a as evalResultsTable, g as getDb } from "./tables-C7TT2XVn.js";
8
8
  import { and, eq, gte, inArray, lt, ne } from "drizzle-orm";
9
9
 
10
10
  //#region src/models/evalResult.ts
@@ -289,4 +289,4 @@ var EvalResult = class EvalResult {
289
289
 
290
290
  //#endregion
291
291
  export { sanitizeProvider as n, EvalResult as t };
292
- //# sourceMappingURL=evalResult-B8LbgWMA.js.map
292
+ //# sourceMappingURL=evalResult-6JaUIStC.js.map
@@ -1,9 +1,9 @@
1
1
  import { _ as getEnvBool, i as logger_default, m as safeJsonStringify } from "./logger-w8Ozp0Td.js";
2
- import { A as isApiProvider, g as ResultFailureReason, j as isProviderOptions, k as isResultFailureReason } from "./types-CslP2TyG.js";
3
- import { f as getCurrentTimestamp } from "./fetch-zJuFPxN1.js";
4
- import { t as hashPrompt } from "./utils-BTeLHwiH.js";
5
- import { n as isBlobStorageEnabled, t as extractAndStoreBinaryData } from "./extractor-CuUWqwrE.js";
6
- import { i as evalResultsTable, p as getDb } from "./tables-dNaVPyDr.js";
2
+ import { A as isApiProvider, g as ResultFailureReason, j as isProviderOptions, k as isResultFailureReason } from "./types-DMVjYLpx.js";
3
+ import { f as getCurrentTimestamp } from "./fetch-18MuNu9i.js";
4
+ import { t as hashPrompt } from "./utils-CVzb4YiI.js";
5
+ import { n as isBlobStorageEnabled, t as extractAndStoreBinaryData } from "./extractor-Hs7la_19.js";
6
+ import { i as evalResultsTable, p as getDb } from "./tables-D-NSwNIb.js";
7
7
  import { and, eq, gte, inArray, lt, ne } from "drizzle-orm";
8
8
 
9
9
  //#region src/models/evalResult.ts
@@ -288,4 +288,4 @@ var EvalResult = class EvalResult {
288
288
 
289
289
  //#endregion
290
290
  export { sanitizeProvider as n, EvalResult as t };
291
- //# sourceMappingURL=evalResult-CJNSpa3q.js.map
291
+ //# sourceMappingURL=evalResult-COsVttMA.js.map
@@ -0,0 +1,11 @@
1
+ require('./logger-BdZ-IqBc.cjs');
2
+ require('./types-BIfttHrT.cjs');
3
+ require('./fetch-ZMn_oemb.cjs');
4
+ require('./utils-DFaZa6Rf.cjs');
5
+ require('./extractor-DbhlYEeo.cjs');
6
+ require('./accounts-BzEY8H3v.cjs');
7
+ require('./blobs-673H0jCl.cjs');
8
+ require('./tables-B9E1kRp-.cjs');
9
+ const require_evalResult = require('./evalResult-DlRfu_Rq.cjs');
10
+
11
+ exports.default = require_evalResult.EvalResult;
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ import "./logger-BotXmWKW.js";
3
+ import "./fetch-SRsE6Ctl.js";
4
+ import "./accounts-DHHiXsy6.js";
5
+ import "./cloud-BMbRVJFw.js";
6
+ import "./types-t52w-XsS.js";
7
+ import "./utils-JaY9veb5.js";
8
+ import "./extractor-LSYjrhK0.js";
9
+ import "./blobs-kt8v3UyH.js";
10
+ import "./tables-C7TT2XVn.js";
11
+ import { n as sanitizeProvider, t as EvalResult } from "./evalResult-6JaUIStC.js";
12
+
13
+ export { EvalResult as default };
@@ -1,9 +1,9 @@
1
1
  const require_logger = require('./logger-BdZ-IqBc.cjs');
2
- const require_types = require('./types-Brw5kggg.cjs');
3
- const require_fetch = require('./fetch-Dy2YML9G.cjs');
4
- const require_utils = require('./utils-Db5KwiXp.cjs');
5
- const require_extractor = require('./extractor-BPBlLyOn.cjs');
6
- const require_tables = require('./tables-w-r-abWq.cjs');
2
+ const require_types = require('./types-BIfttHrT.cjs');
3
+ const require_fetch = require('./fetch-ZMn_oemb.cjs');
4
+ const require_utils = require('./utils-DFaZa6Rf.cjs');
5
+ const require_extractor = require('./extractor-DbhlYEeo.cjs');
6
+ const require_tables = require('./tables-B9E1kRp-.cjs');
7
7
  let drizzle_orm = require("drizzle-orm");
8
8
 
9
9
  //#region src/models/evalResult.ts
@@ -299,4 +299,4 @@ Object.defineProperty(exports, 'sanitizeProvider', {
299
299
  return sanitizeProvider;
300
300
  }
301
301
  });
302
- //# sourceMappingURL=evalResult-hI1mhi_g.cjs.map
302
+ //# sourceMappingURL=evalResult-DlRfu_Rq.cjs.map
@@ -0,0 +1,11 @@
1
+ import "./logger-w8Ozp0Td.js";
2
+ import "./types-DMVjYLpx.js";
3
+ import "./fetch-18MuNu9i.js";
4
+ import "./utils-CVzb4YiI.js";
5
+ import "./extractor-Hs7la_19.js";
6
+ import "./accounts-R3gfCR_g.js";
7
+ import "./blobs-C9J2mVgo.js";
8
+ import "./tables-D-NSwNIb.js";
9
+ import { n as sanitizeProvider, t as EvalResult } from "./evalResult-COsVttMA.js";
10
+
11
+ export { EvalResult as default };
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env node
2
+ import "./chunk-DHDDz29n.js";
3
+ import "./logger-BotXmWKW.js";
4
+ import "./fetch-SRsE6Ctl.js";
5
+ import "./accounts-DHHiXsy6.js";
6
+ import "./cloud-BMbRVJFw.js";
7
+ import "./telemetry-BXyVqyAg.js";
8
+ import "./types-t52w-XsS.js";
9
+ import "./server-DWmZLfCy.js";
10
+ import "./providers-BlEhY5mi.js";
11
+ import "./cache-mIszOnuz.js";
12
+ import "./util-BSh4a_Q8.js";
13
+ import "./esm-CYhseqj4.js";
14
+ import "./pythonUtils-r1uBuA0n.js";
15
+ import "./transform-CqTFr7KR.js";
16
+ import "./graders-BaMCwIKp.js";
17
+ import "./utils-JaY9veb5.js";
18
+ import "./extractor-LSYjrhK0.js";
19
+ import "./genaiTracer-CqNnnXrE.js";
20
+ import "./chat-DIywASPG.js";
21
+ import "./transform-CoP2bJ7P.js";
22
+ import "./messages-D61tPFQo.js";
23
+ import "./util-vjscpUzy.js";
24
+ import "./responses-TsdODUpm.js";
25
+ import "./openai-CT5fwbve.js";
26
+ import "./util-CUEt0Vum.js";
27
+ import "./completion-BBJ6zmG3.js";
28
+ import "./blobs-kt8v3UyH.js";
29
+ import "./tables-C7TT2XVn.js";
30
+ import "./store-D4gdn9ih.js";
31
+ import "./base-BaXmtXYp.js";
32
+ import "./image-mhAGP07h.js";
33
+ import "./providerRegistry-Xf0qdqGQ.js";
34
+ import "./rubyUtils-BtjlqyXt.js";
35
+ import { a as runEval, i as isAllowedPrompt, n as formatVarsForDisplay, r as generateVarCombinations, t as evaluate } from "./evaluator-3EJCMTs0.js";
36
+ import "./signal-Bl32q42d.js";
37
+
38
+ export { evaluate };