promptfoo 0.120.26 → 0.121.1

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 (366) hide show
  1. package/README.md +1 -1
  2. package/dist/drizzle/0023_wooden_mandrill.sql +2 -0
  3. package/dist/drizzle/meta/0023_snapshot.json +1496 -0
  4. package/dist/drizzle/meta/_journal.json +7 -0
  5. package/dist/src/{ListApp-D3DG0F8h.js → ListApp-Du7YVwj5.js} +2 -4
  6. package/dist/src/accounts-BgNJDBE6.js +206 -0
  7. package/dist/src/{accounts-BzEY8H3v.cjs → accounts-Bx-x3bmW.cjs} +99 -80
  8. package/dist/src/{accounts-DHHiXsy6.js → accounts-CMqkzrVf.js} +61 -36
  9. package/dist/src/{accounts-R3gfCR_g.js → accounts-xrUGFA6n.js} +60 -35
  10. package/dist/src/{agentic-utils-D6_gzOUF.js → agentic-utils-BKIN5PKu.js} +9 -10
  11. package/dist/src/{agents-CwM7re15.cjs → agents-B0f4HICh.cjs} +37 -40
  12. package/dist/src/{agents-Cnph5GLD.js → agents-C-dDThPK.js} +37 -37
  13. package/dist/src/{agents-C7BiinFI.cjs → agents-CErsqg5U.cjs} +19 -27
  14. package/dist/src/{agents-v4cW_ZgC.js → agents-CVIn-Utx.js} +19 -22
  15. package/dist/src/{agents-GiUianme.js → agents-CXknwsFX.js} +37 -40
  16. package/dist/src/{agents-DETIQHqF.js → agents-DeH4Gu94.js} +21 -28
  17. package/dist/src/{agents-DYIT-hQy.js → agents-Dy2YpZpa.js} +38 -41
  18. package/dist/src/{agents-Cao4i7AX.js → agents-aF4-T121.js} +19 -30
  19. package/dist/src/{aimlapi-DMF6v_vb.js → aimlapi-BAGZDo5G.js} +16 -18
  20. package/dist/src/{aimlapi-CMJpKK-B.js → aimlapi-BNfTBexL.js} +15 -17
  21. package/dist/src/{aimlapi-DtSf1ykJ.js → aimlapi-DHRKlBEA.js} +15 -4
  22. package/dist/src/{aimlapi-DoGLcQW_.cjs → aimlapi-tg0Gkcvr.cjs} +15 -16
  23. package/dist/src/app/assets/index-BFCZg7hQ.js +439 -0
  24. package/dist/src/app/assets/index-NCn4eVBv.css +1 -0
  25. package/dist/src/app/assets/{vendor-charts-CYyo8R8v.js → vendor-charts-CCl15Imd.js} +1 -1
  26. package/dist/src/app/assets/{vendor-markdown-DSmzq4Jh.js → vendor-markdown-0tekx3KX.js} +1 -1
  27. package/dist/src/app/index.html +4 -34
  28. package/dist/src/{audio-DUH4q0Xq.js → audio-BRODU0UK.js} +7 -9
  29. package/dist/src/{audio-BWjyvHn9.cjs → audio-BWeaWovU.cjs} +6 -7
  30. package/dist/src/{audio-U580w8jM.js → audio-CHQ4r-RV.js} +6 -5
  31. package/dist/src/{audio-BrJBFN2b.js → audio-tf_NBjlC.js} +6 -8
  32. package/dist/src/base-B0tcrnq_.js +193 -0
  33. package/dist/src/base-B4QJRyFS.js +194 -0
  34. package/dist/src/base-DBtwl2FR.cjs +222 -0
  35. package/dist/src/base-fEDN28WM.js +193 -0
  36. package/dist/src/{blobs-kt8v3UyH.js → blobs-BAU-dXan.js} +9 -12
  37. package/dist/src/{blobs-C9J2mVgo.js → blobs-Bpg5rH6i.js} +9 -12
  38. package/dist/src/{blobs-673H0jCl.cjs → blobs-DvS-O6be.cjs} +34 -37
  39. package/dist/src/blobs-qTYm-1PY.js +236 -0
  40. package/dist/src/{cache-BLLayYEN.js → cache-8XhNqPKW.js} +64 -67
  41. package/dist/src/cache-Bbn1Nyrd.cjs +5 -0
  42. package/dist/src/cache-BwsMSda7.js +6 -0
  43. package/dist/src/{cache-mIszOnuz.js → cache-CG0SlR1d.js} +64 -66
  44. package/dist/src/{cache-7xULbvt3.cjs → cache-COish3-W.cjs} +114 -117
  45. package/dist/src/cache-D3eqDYGU.js +739 -0
  46. package/dist/src/{chat-Fl6TZJRS.cjs → chat-2K608PeQ.cjs} +20 -21
  47. package/dist/src/chat-BKm79wib.js +764 -0
  48. package/dist/src/{chat-XPN9YHhr.js → chat-CM_kyI8B.js} +20 -9
  49. package/dist/src/{chat-DIywASPG.js → chat-CRWNNq73.js} +49 -49
  50. package/dist/src/{chat-C8Ei4f87.js → chat-CznLWr_D.js} +49 -49
  51. package/dist/src/{chat-CgyGj2hC.js → chat-DHMH-N64.js} +20 -22
  52. package/dist/src/{chat-C4zqjObh.cjs → chat-DaqekjFr.cjs} +69 -69
  53. package/dist/src/{chat-Cpz3O-Xl.js → chat-DxysjBvt.js} +21 -23
  54. package/dist/src/{chatkit-Dpxrq4eD.js → chatkit-65VXf5SR.js} +58 -58
  55. package/dist/src/{chatkit-DIrJX8xk.js → chatkit-Be-Q-a9F.js} +58 -60
  56. package/dist/src/{chatkit-DEls11hE.js → chatkit-BxFvW8KY.js} +58 -60
  57. package/dist/src/{chatkit-e25Ziu17.cjs → chatkit-DKyPi1Gs.cjs} +58 -60
  58. package/dist/src/chunk-DEq-mXcV.js +15 -0
  59. package/dist/src/chunk-DRamLcfz.js +16 -0
  60. package/dist/src/{claude-agent-sdk-6-xTaLwM.js → claude-agent-sdk-BLTu0WBO.js} +45 -31
  61. package/dist/src/{claude-agent-sdk-BzxF6NIJ.cjs → claude-agent-sdk-CJH22shf.cjs} +44 -29
  62. package/dist/src/{claude-agent-sdk-CmkTnKGH.js → claude-agent-sdk-D6_k9FKA.js} +45 -33
  63. package/dist/src/{claude-agent-sdk-rXCBLK_o.js → claude-agent-sdk-Dy5lT-Tx.js} +46 -21
  64. package/dist/src/{cloud-BMbRVJFw.js → cloud-Bc9526yV.js} +32 -12
  65. package/dist/src/cloud-DmE0EwsY.js +4 -0
  66. package/dist/src/{cloudflare-ai-CUg4BTcj.js → cloudflare-ai-C9r2sRhw.js} +16 -18
  67. package/dist/src/{cloudflare-ai-Z9X219gp.js → cloudflare-ai-CWWJCRim.js} +16 -4
  68. package/dist/src/{cloudflare-ai-BAQ0u_dg.cjs → cloudflare-ai-ClWSdor4.cjs} +16 -17
  69. package/dist/src/{cloudflare-ai-CobxMTR4.js → cloudflare-ai-ICsOuD-z.js} +17 -19
  70. package/dist/src/{cloudflare-gateway-C0sgfr_z.cjs → cloudflare-gateway-C2_-KG5o.cjs} +21 -22
  71. package/dist/src/{cloudflare-gateway-_itGuXry.js → cloudflare-gateway-D6O7AlYb.js} +23 -23
  72. package/dist/src/{cloudflare-gateway-D2_yi-Fh.js → cloudflare-gateway-D6xFc5pa.js} +21 -25
  73. package/dist/src/{cloudflare-gateway-Djf3F3_H.js → cloudflare-gateway-pXGHxJ47.js} +26 -14
  74. package/dist/src/{codex-sdk-ibXwdglL.js → codex-sdk-C6UMlxwV.js} +49 -32
  75. package/dist/src/{codex-sdk-BASDNkIl.js → codex-sdk-DUwKWezN.js} +49 -30
  76. package/dist/src/{codex-sdk-dSnGdgIp.js → codex-sdk-GGAw0qbD.js} +49 -32
  77. package/dist/src/{codex-sdk-wTEpMM_X.cjs → codex-sdk-fAO0c3yA.cjs} +49 -32
  78. package/dist/src/{cometapi-B01btbfb.js → cometapi-BasUi7-_.js} +17 -19
  79. package/dist/src/{cometapi-DHUAH6nK.js → cometapi-Bbjp5V4x.js} +16 -4
  80. package/dist/src/{cometapi-ChAaRjg5.js → cometapi-DkXrKi5z.js} +21 -24
  81. package/dist/src/{cometapi-JbvOJSCO.cjs → cometapi-vY6aDZgo.cjs} +21 -22
  82. package/dist/src/{completion-D9_MDlnd.js → completion-6Mx_iXxK.js} +11 -13
  83. package/dist/src/{completion-BBJ6zmG3.js → completion-C5rtR_9P.js} +11 -13
  84. package/dist/src/{completion-DDyL3Cb2.cjs → completion-CDOouNzq.cjs} +21 -23
  85. package/dist/src/completion-C_P3ypkJ.js +120 -0
  86. package/dist/src/createHash-CTQmL3G2.js +15 -0
  87. package/dist/src/createHash-CfZSc0b4.cjs +27 -0
  88. package/dist/src/createHash-Da8fMwqB.js +16 -0
  89. package/dist/src/createHash-DmPQkvBh.js +15 -0
  90. package/dist/src/{docker-JAAubMw3.js → docker-5KcG-_86.js} +18 -20
  91. package/dist/src/{docker-Ckw-j7Rr.cjs → docker-BwsKwxFs.cjs} +18 -19
  92. package/dist/src/{docker-vnOg96gi.js → docker-CZnqU1XV.js} +18 -7
  93. package/dist/src/{docker-BuButc4D.js → docker-DzxyDPIj.js} +19 -21
  94. package/dist/src/entrypoint.js +2 -3
  95. package/dist/src/{errors-DnGCbnx8.js → errors-P6ll7XSJ.js} +2 -2
  96. package/dist/src/{esm-CYhseqj4.js → esm-C03C-mv3.js} +17 -20
  97. package/dist/src/{esm-rDtG_2rg.js → esm-CaIwzWR5.js} +18 -21
  98. package/dist/src/esm-Cd1AjG1D.js +379 -0
  99. package/dist/src/{esm-BQkx5roy.cjs → esm-CnNt7sI4.cjs} +47 -49
  100. package/dist/src/eval-17JizQIv.js +15 -0
  101. package/dist/src/{eval-CYrbG57o.js → eval-DmFyWU7i.js} +49 -55
  102. package/dist/src/{evalResult-COsVttMA.js → evalResult-CDQiuUuf.js} +16 -12
  103. package/dist/src/{evalResult-6JaUIStC.js → evalResult-CTG2AHOS.js} +10 -11
  104. package/dist/src/evalResult-Cqj8pldJ.js +12 -0
  105. package/dist/src/{evalResult-DlRfu_Rq.cjs → evalResult-Dap2CekP.cjs} +20 -21
  106. package/dist/src/evalResult-DvcJAWJU.cjs +10 -0
  107. package/dist/src/evalResult-Hftn-S_i.js +10 -0
  108. package/dist/src/evaluator-B2CFNt-P.js +36 -0
  109. package/dist/src/{evaluator-3EJCMTs0.js → evaluator-DPFRbFIL.js} +210 -232
  110. package/dist/src/{extractor-LSYjrhK0.js → extractor-CFG6bcWJ.js} +23 -38
  111. package/dist/src/{extractor-DbhlYEeo.cjs → extractor-DX36oYEv.cjs} +37 -64
  112. package/dist/src/{extractor-Hs7la_19.js → extractor-M67RUtg6.js} +23 -38
  113. package/dist/src/extractor-YMU_Gvt8.js +374 -0
  114. package/dist/src/fetch-4M3YRaqL.js +780 -0
  115. package/dist/src/{fetch-18MuNu9i.js → fetch-60Gzydls.js} +60 -46
  116. package/dist/src/{fetch-SRsE6Ctl.js → fetch-BMv0O527.js} +41 -35
  117. package/dist/src/{fetch-ZMn_oemb.cjs → fetch-BxUk8odA.cjs} +268 -279
  118. package/dist/src/fetch-KV5kNASw.js +5 -0
  119. package/dist/src/{fileExtensions-ePDqouxn.js → fileExtensions-DnqA1y9x.js} +2 -2
  120. package/dist/src/{fileExtensions-BpuMmaFL.js → fileExtensions-Ds-foDzt.js} +2 -2
  121. package/dist/src/fileExtensions-LcDYkU4v.js +85 -0
  122. package/dist/src/{fileExtensions-DkJYkWUy.cjs → fileExtensions-bYh77CN8.cjs} +27 -28
  123. package/dist/src/{formatDuration-Doo0xq-z.js → formatDuration-DgBVMN65.js} +2 -2
  124. package/dist/src/{genaiTracer-Ce19n68P.js → genaiTracer-70Z8BIuV.js} +2 -3
  125. package/dist/src/{genaiTracer-CqNnnXrE.js → genaiTracer-C1rxGO8Q.js} +2 -3
  126. package/dist/src/genaiTracer-D3fD9dNV.js +256 -0
  127. package/dist/src/{genaiTracer-CQlpZkrp.cjs → genaiTracer-DN4dQywX.cjs} +13 -14
  128. package/dist/src/graders-Bu0H9nXi.js +32 -0
  129. package/dist/src/{graders-BaMCwIKp.js → graders-CHO8EPM4.js} +385 -417
  130. package/dist/src/graders-Cfhkvx-e.js +34 -0
  131. package/dist/src/{graders-QsALpIdy.js → graders-CpdqD9PI.js} +385 -417
  132. package/dist/src/graders-DClJVpGP.cjs +32 -0
  133. package/dist/src/{graders-DzUUnUjC.cjs → graders-DOXycdlG.cjs} +721 -753
  134. package/dist/src/graders-DcnJsrMO.js +32 -0
  135. package/dist/src/graders-R9rYUM0d.js +13466 -0
  136. package/dist/src/{image-BiEVdpdP.js → image-BmEZqVmk.js} +57 -18
  137. package/dist/src/{image-mhAGP07h.js → image-CBBVXWuT.js} +57 -18
  138. package/dist/src/{image-D10zEe1f.cjs → image-CDLQOcqT.cjs} +6 -7
  139. package/dist/src/{image-COCWy5dX.js → image-DJEvKveK.js} +6 -5
  140. package/dist/src/{image-C3BjJUAU.cjs → image-DTedmQPg.cjs} +77 -32
  141. package/dist/src/{image-DB4sHxdJ.js → image-gvmivTEe.js} +7 -9
  142. package/dist/src/image-pAX56tPG.js +257 -0
  143. package/dist/src/{image-BXt_7u0v.js → image-tL5hIOFh.js} +6 -8
  144. package/dist/src/index.cjs +696 -693
  145. package/dist/src/index.d.cts +113 -10
  146. package/dist/src/index.d.ts +113 -6
  147. package/dist/src/index.js +657 -658
  148. package/dist/src/{interactiveCheck-DU-MAhp5.js → interactiveCheck-BgLZUIt3.js} +7 -8
  149. package/dist/src/{invariant-DT20jrBd.js → invariant-BtWWVVhl.js} +2 -2
  150. package/dist/src/{invariant-1pAf2CD1.js → invariant-Ddh24eXh.js} +2 -2
  151. package/dist/src/{invariant-CKcJAQ6M.cjs → invariant-kfQ8Bu82.cjs} +7 -8
  152. package/dist/src/invariant-vgHWClmd.js +25 -0
  153. package/dist/src/{knowledgeBase-DotRBzUE.js → knowledgeBase-CLJybhnF.js} +19 -34
  154. package/dist/src/{knowledgeBase-XJQ0Qyez.js → knowledgeBase-CoU-UQBg.js} +17 -41
  155. package/dist/src/{knowledgeBase-CMvMlLZR.js → knowledgeBase-DjWPVqSb.js} +17 -43
  156. package/dist/src/{knowledgeBase-Bnb00xKs.cjs → knowledgeBase-wkxuRFhA.cjs} +17 -40
  157. package/dist/src/{litellm-CHrRmPAe.js → litellm-B9Hysuri.js} +16 -18
  158. package/dist/src/{litellm-CrLJrPIm.js → litellm-CTfa0hqi.js} +15 -17
  159. package/dist/src/{litellm-BrnZhMcL.cjs → litellm-NYpQ8RQu.cjs} +15 -16
  160. package/dist/src/{litellm-BECdjOTx.js → litellm-ePxtr9F1.js} +15 -4
  161. package/dist/src/{logger-w8Ozp0Td.js → logger-CT3IKMKA.js} +24 -41
  162. package/dist/src/{logger-BdZ-IqBc.cjs → logger-Cp1GPUjj.cjs} +166 -192
  163. package/dist/src/logger-DLcq4dWf.js +713 -0
  164. package/dist/src/{logger-BotXmWKW.js → logger-KkObSCzq.js} +27 -43
  165. package/dist/src/{luma-ray-C0RkI3lt.cjs → luma-ray-B0GGNRc1.cjs} +20 -21
  166. package/dist/src/{luma-ray-C-w6EsJm.js → luma-ray-BE2mOt6N.js} +20 -13
  167. package/dist/src/{luma-ray-BOeX-h0M.js → luma-ray-BW9IRGIc.js} +22 -21
  168. package/dist/src/{luma-ray-DgKLS0BF.js → luma-ray-Cm1KZBhs.js} +20 -23
  169. package/dist/src/main.js +1985 -2055
  170. package/dist/src/{messages-DXV3Qh8_.cjs → messages-1JrJs91T.cjs} +35 -34
  171. package/dist/src/{messages-D61tPFQo.js → messages-1x9atZmP.js} +25 -24
  172. package/dist/src/{messages-CDZYGNlS.js → messages-BLbWdsyt.js} +25 -24
  173. package/dist/src/messages-D8EA0oDc.js +240 -0
  174. package/dist/src/{meteor-P2rUE-Uz.js → meteor-44VjEACX.js} +3 -4
  175. package/dist/src/{meteor-SLNTgmXm.js → meteor-D-SotUw9.js} +3 -4
  176. package/dist/src/{meteor-odmwVbyG.cjs → meteor-DLZZ3osF.cjs} +3 -4
  177. package/dist/src/{meteor-Dj8cTkU_.js → meteor-DUiCJRC-.js} +3 -4
  178. package/dist/src/modelslab-C1OLRmVX.js +166 -0
  179. package/dist/src/modelslab-CqXBy3U8.js +168 -0
  180. package/dist/src/modelslab-DcOSFwKh.cjs +166 -0
  181. package/dist/src/modelslab-X5-4LroM.js +166 -0
  182. package/dist/src/{nova-reel-C2LFfVTf.js → nova-reel-BgS1ZWuK.js} +20 -13
  183. package/dist/src/{nova-reel-DtCjbD5O.js → nova-reel-D2ZkOSyr.js} +22 -21
  184. package/dist/src/{nova-reel-D9FXq3Mt.cjs → nova-reel-D9xfaMBs.cjs} +20 -21
  185. package/dist/src/{nova-reel-Bk5npr2q.js → nova-reel-DihqLeol.js} +20 -23
  186. package/dist/src/{nova-sonic-BoRSY_U6.cjs → nova-sonic-DVu3mMIy.cjs} +30 -31
  187. package/dist/src/{nova-sonic-D_qERM-K.js → nova-sonic-DezhVUYT.js} +30 -26
  188. package/dist/src/{nova-sonic-CgaWLDM1.js → nova-sonic-P-CdUMlV.js} +30 -31
  189. package/dist/src/{nova-sonic-BXRfQyF-.js → nova-sonic-Q3BOJeig.js} +31 -32
  190. package/dist/src/{openai-Bigwjgo1.cjs → openai-Cuif0GEt.cjs} +8 -9
  191. package/dist/src/{openai-Dz3surb_.js → openai-DElQ-fPX.js} +3 -4
  192. package/dist/src/{openai-CT5fwbve.js → openai-DhbB7eWK.js} +3 -4
  193. package/dist/src/openai-j-sE2O7r.js +44 -0
  194. package/dist/src/{openclaw-dHLcXUWZ.js → openclaw-BiSZPL7J.js} +20 -14
  195. package/dist/src/{openclaw-CpPrXwf6.js → openclaw-Bv1DINsX.js} +20 -27
  196. package/dist/src/{openclaw-B6XY2kUf.js → openclaw-D1D_ej1z.js} +21 -28
  197. package/dist/src/{openclaw-DDSfq5fp.cjs → openclaw-DAfWQn-o.cjs} +33 -39
  198. package/dist/src/opencode-sdk-C7m-wRfI.js +560 -0
  199. package/dist/src/opencode-sdk-CfaLN8PY.cjs +564 -0
  200. package/dist/src/opencode-sdk-D95s6SnR.js +562 -0
  201. package/dist/src/opencode-sdk-DxUPkLT7.js +560 -0
  202. package/dist/src/{otlpReceiver-DmRb0NBj.js → otlpReceiver--AIRW_S4.js} +53 -51
  203. package/dist/src/{otlpReceiver-Dg817agV.js → otlpReceiver-Bn5wGB1v.js} +53 -55
  204. package/dist/src/{otlpReceiver-B6Xo4KZM.cjs → otlpReceiver-Diec4cln.cjs} +53 -55
  205. package/dist/src/{otlpReceiver-BO0rbDzh.js → otlpReceiver-g3ByGaXs.js} +53 -55
  206. package/dist/src/{providerRegistry-Xf0qdqGQ.js → providerRegistry-B0RUOLI_.js} +7 -8
  207. package/dist/src/{providerRegistry-wCWd7sKQ.js → providerRegistry-CD8MEar9.js} +7 -8
  208. package/dist/src/{providerRegistry-lc7a7utN.cjs → providerRegistry-Civky8Ar.cjs} +12 -13
  209. package/dist/src/providerRegistry-DM8rZYol.js +45 -0
  210. package/dist/src/providers-B3HvufyI.js +33246 -0
  211. package/dist/src/{providers-BiNq_Iyc.js → providers-BKRJTjBz.js} +1743 -1795
  212. package/dist/src/providers-C1rOSHiR.js +32 -0
  213. package/dist/src/{providers-BlEhY5mi.js → providers-CFLy1_ji.js} +1750 -1802
  214. package/dist/src/{providers-BNKVY53V.cjs → providers-CFu-TZl-.cjs} +2111 -2163
  215. package/dist/src/providers-CxmDwEFf.cjs +31 -0
  216. package/dist/src/providers-Dodakqr0.js +30 -0
  217. package/dist/src/providers-GIQ2TcsA.js +30 -0
  218. package/dist/src/{pythonUtils-r1uBuA0n.js → pythonUtils-C3py6GC1.js} +18 -19
  219. package/dist/src/{pythonUtils-DZ6EbdY4.cjs → pythonUtils-CTU3Y3lw.cjs} +42 -43
  220. package/dist/src/{pythonUtils-vMlk9Qp5.js → pythonUtils-D5nxkQ0P.js} +18 -19
  221. package/dist/src/pythonUtils-D6fwaDSg.js +249 -0
  222. package/dist/src/quiverai-C2jVwbH1.js +213 -0
  223. package/dist/src/quiverai-CI6gYJVI.js +213 -0
  224. package/dist/src/quiverai-CLkWkyZc.cjs +213 -0
  225. package/dist/src/quiverai-MHSxbmmZ.js +215 -0
  226. package/dist/src/{render-CAZvKKkB.js → render-Drod8m7K.js} +4 -5
  227. package/dist/src/{responses-DLLjADw5.js → responses-BKqJmhhc.js} +34 -27
  228. package/dist/src/{responses-TsdODUpm.js → responses-CGw0DCzh.js} +34 -27
  229. package/dist/src/responses-jxdehPkC.js +660 -0
  230. package/dist/src/{responses-zOtKtnY_.cjs → responses-tD4Bd4dc.cjs} +49 -42
  231. package/dist/src/rubyUtils-BUHu6PhO.js +5 -0
  232. package/dist/src/{rubyUtils-Cs35SDYa.js → rubyUtils-BUVePouc.js} +27 -20
  233. package/dist/src/rubyUtils-BcuGX77l.js +222 -0
  234. package/dist/src/{rubyUtils-BtjlqyXt.js → rubyUtils-Boc4HZzX.js} +18 -19
  235. package/dist/src/rubyUtils-CP42kMvq.cjs +4 -0
  236. package/dist/src/{rubyUtils-DCVaJ3mc.cjs → rubyUtils-DhCAlxZr.cjs} +48 -50
  237. package/dist/src/{sagemaker-Du4LIR97.js → sagemaker-BK4Zb993.js} +75 -70
  238. package/dist/src/{sagemaker-CLdUAv5z.js → sagemaker-BfiWTmvn.js} +77 -77
  239. package/dist/src/{sagemaker-DwNnEVYt.cjs → sagemaker-CcQHM1jV.cjs} +75 -76
  240. package/dist/src/{sagemaker-BcgLu0U4.js → sagemaker-D2Q1c-sD.js} +75 -79
  241. package/dist/src/{scanner-Dyw21Wg_.js → scanner-J8CA3LsV.js} +149 -122
  242. package/dist/src/server/index.js +5620 -67302
  243. package/dist/src/{server-CgUQ25qW.cjs → server-B0PPuDw-.cjs} +57 -67
  244. package/dist/src/server-B1vi21hA.js +7 -0
  245. package/dist/src/{server-CbMTRQkg.js → server-BC7XJFgr.js} +19 -24
  246. package/dist/src/server-Cm9Kai_h.cjs +5 -0
  247. package/dist/src/{server-DWmZLfCy.js → server-DbFphssR.js} +26 -29
  248. package/dist/src/server-OAs3nBRT.js +229 -0
  249. package/dist/src/{signal-Bl32q42d.js → signal-BOTbd53Z.js} +9 -11
  250. package/dist/src/{slack-BtMkB6xP.cjs → slack-BmVAVGaK.cjs} +7 -8
  251. package/dist/src/{slack-OZYxoVON.js → slack-DCUPTzS2.js} +8 -8
  252. package/dist/src/{slack-DPqj42Ts.js → slack-DOdy_kyv.js} +7 -8
  253. package/dist/src/{slack-BfdBx2tO.js → slack-DXMKtA-f.js} +7 -9
  254. package/dist/src/store-BNmZ1KAz.cjs +5 -0
  255. package/dist/src/{store-BqwfFEyF.cjs → store-BSc-TF2w.cjs} +44 -45
  256. package/dist/src/store-BltJg2cd.js +6 -0
  257. package/dist/src/{store-D4gdn9ih.js → store-D1tv90v3.js} +34 -35
  258. package/dist/src/{store-2ocbYY9D.js → store-DQLEjuEO.js} +40 -36
  259. package/dist/src/store-Ub2vaGJ1.js +228 -0
  260. package/dist/src/{tables-D-NSwNIb.js → tables-5EvT_Bwn.js} +23 -23
  261. package/dist/src/{tables-B9E1kRp-.cjs → tables-C7K-XKWp.cjs} +93 -93
  262. package/dist/src/{tables-C7TT2XVn.js → tables-D36WTqKX.js} +25 -25
  263. package/dist/src/tables-xKANLRBD.js +288 -0
  264. package/dist/src/telemetry-5BCRNBbe.cjs +5 -0
  265. package/dist/src/{telemetry-DZ_7PaVq.js → telemetry-C15ziL8u.js} +17 -14
  266. package/dist/src/{telemetry-BXyVqyAg.js → telemetry-C2YDkUQH.js} +11 -13
  267. package/dist/src/{telemetry-D0_yFdtU.cjs → telemetry-CbrnxHp_.cjs} +21 -24
  268. package/dist/src/telemetry-D4W5hboe.js +7 -0
  269. package/dist/src/telemetry-DMb2Mpfm.js +171 -0
  270. package/dist/src/{text-Dm78AVGG.js → text-B_UCRPp2.js} +2 -2
  271. package/dist/src/{text-DF2hMKdg.cjs → text-CW1cyrwj.cjs} +12 -13
  272. package/dist/src/{text-DgMr_tiM.js → text-Db-Wt2u2.js} +2 -2
  273. package/dist/src/text-TIv0QYnd.js +22 -0
  274. package/dist/src/{tokenUsageUtils-FZd5O_4A.js → tokenUsageUtils-BDGe-iyI.js} +2 -2
  275. package/dist/src/{tokenUsageUtils-DmZSD2eU.js → tokenUsageUtils-DflFMjS0.js} +2 -2
  276. package/dist/src/tokenUsageUtils-NYT-WKS6.js +138 -0
  277. package/dist/src/{tokenUsageUtils-CXhxVj72.cjs → tokenUsageUtils-bVa1ga6f.cjs} +32 -33
  278. package/dist/src/{transcription-FNIz3YOe.cjs → transcription-CL78qbOU.cjs} +14 -15
  279. package/dist/src/{transcription-C-M81iDA.js → transcription-DAtxHhAM.js} +14 -7
  280. package/dist/src/{transcription-CYuY5sFO.js → transcription-LNZTNUUL.js} +14 -16
  281. package/dist/src/{transcription-Ch7S-LWw.js → transcription-QHh3AH6Z.js} +15 -17
  282. package/dist/src/{transform-CoP2bJ7P.js → transform-Cgi24fJ7.js} +94 -66
  283. package/dist/src/{transform-Kd6u-oNm.cjs → transform-CzK1Q0zl.cjs} +24 -26
  284. package/dist/src/{transform-D8dILpfZ.js → transform-DECvGmzp.js} +15 -13
  285. package/dist/src/{transform-DMaxQwDx.js → transform-DGLazrMm.js} +94 -66
  286. package/dist/src/transform-DGxXocjk.js +1506 -0
  287. package/dist/src/{transform-ivxEY4f7.cjs → transform-DOcQeLld.cjs} +234 -206
  288. package/dist/src/transform-DTGDnAzW.js +6 -0
  289. package/dist/src/{transform-CqTFr7KR.js → transform-DilY9wbS.js} +10 -12
  290. package/dist/src/transform-aa6tmVpZ.js +216 -0
  291. package/dist/src/transform-m3qNw4KP.cjs +5 -0
  292. package/dist/src/{transformersAvailability-DEU2naS1.js → transformersAvailability-CEVM2GNQ.js} +2 -2
  293. package/dist/src/{transformersAvailability-Bkep3ka7.cjs → transformersAvailability-CwayUSlh.cjs} +2 -3
  294. package/dist/src/{transformersAvailability-DwmezkVe.js → transformersAvailability-D6c6ROpT.js} +2 -2
  295. package/dist/src/{types-t52w-XsS.js → types-CH3Ge2sE.js} +103 -92
  296. package/dist/src/{types-DMVjYLpx.js → types-CLKiCBW3.js} +98 -91
  297. package/dist/src/types-CN_TZ2GJ.js +3260 -0
  298. package/dist/src/{types-BIfttHrT.cjs → types-LJ0r3wbR.cjs} +573 -566
  299. package/dist/src/util-5cB-L7U3.js +1430 -0
  300. package/dist/src/util-6-GqIvzS.js +599 -0
  301. package/dist/src/{util-vjscpUzy.js → util-B7T3SiBS.js} +5 -6
  302. package/dist/src/{util-Cl0zfT3V.js → util-Betm42rL.js} +44 -17
  303. package/dist/src/{util-CUEt0Vum.js → util-C-PPYSMq.js} +44 -17
  304. package/dist/src/{util-DkFTvieG.cjs → util-CchiqXh_.cjs} +35 -36
  305. package/dist/src/{util-mJ58qbbw.js → util-DaWTWKBK.js} +5 -6
  306. package/dist/src/{util-C08Kns6-.cjs → util-Db0a0AFH.cjs} +89 -62
  307. package/dist/src/{util-DiCePfDu.js → util-Dlz_Wvgm.js} +102 -53
  308. package/dist/src/{util-BSh4a_Q8.js → util-YT5HPZaS.js} +102 -53
  309. package/dist/src/{util-DUYOvxAy.cjs → util-Yz-1aEhW.cjs} +274 -219
  310. package/dist/src/util-ZZH-3QZz.js +293 -0
  311. package/dist/src/{utils-DFaZa6Rf.cjs → utils-Cz9qXqII.cjs} +32 -35
  312. package/dist/src/{utils-CVzb4YiI.js → utils-XiOAgly5.js} +4 -7
  313. package/dist/src/utils-dLokC-eR.js +94 -0
  314. package/dist/src/{utils-JaY9veb5.js → utils-f2-Moju7.js} +4 -7
  315. package/dist/tsconfig.tsbuildinfo +1 -1
  316. package/package.json +59 -53
  317. package/dist/src/app/assets/index-BOgkICuY.css +0 -1
  318. package/dist/src/app/assets/index-CSgqn_Vd.js +0 -428
  319. package/dist/src/app/tsconfig.app.tsbuildinfo +0 -1
  320. package/dist/src/base-BaXmtXYp.js +0 -107
  321. package/dist/src/base-Dtp8b4_N.js +0 -106
  322. package/dist/src/base-f71xxWai.cjs +0 -111
  323. package/dist/src/cache-BUPcq0Ad.js +0 -6
  324. package/dist/src/cache-CVfRb-HD.cjs +0 -6
  325. package/dist/src/cache-O4EuX2JV.js +0 -8
  326. package/dist/src/chunk-DHDDz29n.js +0 -22
  327. package/dist/src/chunk-FhC4c-0y.js +0 -21
  328. package/dist/src/cloud-CZ4hytdm.js +0 -5
  329. package/dist/src/eval-CKHWqG9f.js +0 -16
  330. package/dist/src/evalResult-CxTP-LMm.cjs +0 -11
  331. package/dist/src/evalResult-CzLURDcP.js +0 -13
  332. package/dist/src/evalResult-DyttNQ_G.js +0 -11
  333. package/dist/src/evaluator-0PvfeBYh.js +0 -38
  334. package/dist/src/fetch-Bi0o-fdp.js +0 -4
  335. package/dist/src/fetch-CMptBDVg.cjs +0 -4
  336. package/dist/src/fetch-DAZkv3gV.js +0 -6
  337. package/dist/src/graders-BCytzXrb.js +0 -34
  338. package/dist/src/graders-CGZQShfJ.cjs +0 -33
  339. package/dist/src/graders-spkuVC-E.js +0 -36
  340. package/dist/src/opencode-sdk-CImWVqy9.js +0 -382
  341. package/dist/src/opencode-sdk-CuCztr4P.js +0 -380
  342. package/dist/src/opencode-sdk-DhcfRbBH.js +0 -376
  343. package/dist/src/opencode-sdk-mqF-Oj3f.cjs +0 -383
  344. package/dist/src/providers-BMZZmPBJ.cjs +0 -32
  345. package/dist/src/providers-CQQrNaJk.js +0 -32
  346. package/dist/src/providers-Ck8HyrC-.js +0 -34
  347. package/dist/src/quiverai-BNfIwKCO.cjs +0 -54
  348. package/dist/src/quiverai-BQigKdIH.js +0 -57
  349. package/dist/src/quiverai-Bfy2WnE2.js +0 -55
  350. package/dist/src/quiverai-CedIP0PJ.js +0 -43
  351. package/dist/src/rubyUtils-D7--T12C.js +0 -6
  352. package/dist/src/rubyUtils-DRRiMFV2.js +0 -5
  353. package/dist/src/rubyUtils-vb8OYFC-.cjs +0 -5
  354. package/dist/src/server-BUbS0Qfh.js +0 -6
  355. package/dist/src/server-XpGXFHkS.cjs +0 -6
  356. package/dist/src/server-gfOx5Zrk.js +0 -8
  357. package/dist/src/store-5u2yriTV.js +0 -7
  358. package/dist/src/store-D_lq_8oQ.js +0 -6
  359. package/dist/src/store-m5KT6Ly7.cjs +0 -6
  360. package/dist/src/telemetry-5RHFoCJh.js +0 -6
  361. package/dist/src/telemetry-Do8wMnA-.js +0 -8
  362. package/dist/src/telemetry-LojxPoFq.cjs +0 -6
  363. package/dist/src/transform-8eGmaH-7.js +0 -7
  364. package/dist/src/transform-BRVvWaG4.cjs +0 -6
  365. package/dist/src/transform-GybT0X0u.js +0 -8
  366. package/dist/src/transformersAvailability-DkAWaK5B.js +0 -35
@@ -1,5 +1,5 @@
1
- const require_logger = require('./logger-BdZ-IqBc.cjs');
2
- const require_types = require('./types-BIfttHrT.cjs');
1
+ const require_logger = require("./logger-Cp1GPUjj.cjs");
2
+ const require_types = require("./types-LJ0r3wbR.cjs");
3
3
  let path = require("path");
4
4
  path = require_logger.__toESM(path);
5
5
  let drizzle_orm = require("drizzle-orm");
@@ -8,11 +8,10 @@ better_sqlite3 = require_logger.__toESM(better_sqlite3);
8
8
  let drizzle_orm_better_sqlite3 = require("drizzle-orm/better-sqlite3");
9
9
  let drizzle_orm_logger = require("drizzle-orm/logger");
10
10
  let drizzle_orm_sqlite_core = require("drizzle-orm/sqlite-core");
11
-
12
11
  //#region src/database/index.ts
13
12
  var DrizzleLogWriter = class {
14
13
  write(message) {
15
- if (require_logger.getEnvBool("PROMPTFOO_ENABLE_DATABASE_LOGS", false)) require_logger.logger_default.debug(`Drizzle: ${message}`);
14
+ if (require_logger.getEnvBool("PROMPTFOO_ENABLE_DATABASE_LOGS", false)) require_logger.logger.debug(`Drizzle: ${message}`);
16
15
  }
17
16
  };
18
17
  let dbInstance = null;
@@ -31,19 +30,18 @@ function getDb() {
31
30
  if (!isMemoryDb && !require_logger.getEnvBool("PROMPTFOO_DISABLE_WAL_MODE", false)) try {
32
31
  sqliteInstance.pragma("journal_mode = WAL");
33
32
  const result = sqliteInstance.prepare("PRAGMA journal_mode").get();
34
- if (result.journal_mode.toLowerCase() === "wal") require_logger.logger_default.debug("Successfully enabled SQLite WAL mode");
35
- else require_logger.logger_default.warn(`Failed to enable WAL mode (got '${result.journal_mode}'). Database performance may be reduced. This can happen on network filesystems. Set PROMPTFOO_DISABLE_WAL_MODE=true to suppress this warning.`);
33
+ if (result.journal_mode.toLowerCase() === "wal") require_logger.logger.debug("Successfully enabled SQLite WAL mode");
34
+ else require_logger.logger.warn(`Failed to enable WAL mode (got '${result.journal_mode}'). Database performance may be reduced. This can happen on network filesystems. Set PROMPTFOO_DISABLE_WAL_MODE=true to suppress this warning.`);
36
35
  sqliteInstance.pragma("wal_autocheckpoint = 1000");
37
36
  sqliteInstance.pragma("synchronous = NORMAL");
38
37
  } catch (err) {
39
- require_logger.logger_default.warn(`Error configuring SQLite WAL mode: ${err}. Database will use default journal mode. Performance may be reduced. This can happen on network filesystems or certain containerized environments. Set PROMPTFOO_DISABLE_WAL_MODE=true to suppress this warning.`);
38
+ require_logger.logger.warn(`Error configuring SQLite WAL mode: ${err}. Database will use default journal mode. Performance may be reduced. This can happen on network filesystems or certain containerized environments. Set PROMPTFOO_DISABLE_WAL_MODE=true to suppress this warning.`);
40
39
  }
41
40
  const drizzleLogger = new drizzle_orm_logger.DefaultLogger({ writer: new DrizzleLogWriter() });
42
41
  dbInstance = (0, drizzle_orm_better_sqlite3.drizzle)(sqliteInstance, { logger: drizzleLogger });
43
42
  }
44
43
  return dbInstance;
45
44
  }
46
-
47
45
  //#endregion
48
46
  //#region src/database/tables.ts
49
47
  const promptsTable = (0, drizzle_orm_sqlite_core.sqliteTable)("prompts", {
@@ -121,7 +119,7 @@ const evalsToPromptsTable = (0, drizzle_orm_sqlite_core.sqliteTable)("evals_to_p
121
119
  evalIdIdx: (0, drizzle_orm_sqlite_core.index)("evals_to_prompts_eval_id_idx").on(t.evalId),
122
120
  promptIdIdx: (0, drizzle_orm_sqlite_core.index)("evals_to_prompts_prompt_id_idx").on(t.promptId)
123
121
  }));
124
- const promptsRelations = (0, drizzle_orm.relations)(promptsTable, ({ many }) => ({ evalsToPrompts: many(evalsToPromptsTable) }));
122
+ (0, drizzle_orm.relations)(promptsTable, ({ many }) => ({ evalsToPrompts: many(evalsToPromptsTable) }));
125
123
  const evalsToTagsTable = (0, drizzle_orm_sqlite_core.sqliteTable)("evals_to_tags", {
126
124
  evalId: (0, drizzle_orm_sqlite_core.text)("eval_id").notNull().references(() => evalsTable.id),
127
125
  tagId: (0, drizzle_orm_sqlite_core.text)("tag_id").notNull().references(() => tagsTable.id)
@@ -130,8 +128,8 @@ const evalsToTagsTable = (0, drizzle_orm_sqlite_core.sqliteTable)("evals_to_tags
130
128
  evalIdIdx: (0, drizzle_orm_sqlite_core.index)("evals_to_tags_eval_id_idx").on(t.evalId),
131
129
  tagIdIdx: (0, drizzle_orm_sqlite_core.index)("evals_to_tags_tag_id_idx").on(t.tagId)
132
130
  }));
133
- const tagsRelations = (0, drizzle_orm.relations)(tagsTable, ({ many }) => ({ evalsToTags: many(evalsToTagsTable) }));
134
- const evalsToTagsRelations = (0, drizzle_orm.relations)(evalsToTagsTable, ({ one }) => ({
131
+ (0, drizzle_orm.relations)(tagsTable, ({ many }) => ({ evalsToTags: many(evalsToTagsTable) }));
132
+ (0, drizzle_orm.relations)(evalsToTagsTable, ({ one }) => ({
135
133
  eval: one(evalsTable, {
136
134
  fields: [evalsToTagsTable.evalId],
137
135
  references: [evalsTable.id]
@@ -149,7 +147,8 @@ const blobAssetsTable = (0, drizzle_orm_sqlite_core.sqliteTable)("blob_assets",
149
147
  createdAt: (0, drizzle_orm_sqlite_core.integer)("created_at").notNull().default(drizzle_orm.sql`CURRENT_TIMESTAMP`)
150
148
  }, (table) => ({
151
149
  providerIdx: (0, drizzle_orm_sqlite_core.index)("blob_assets_provider_idx").on(table.provider),
152
- createdAtIdx: (0, drizzle_orm_sqlite_core.index)("blob_assets_created_at_idx").on(table.createdAt)
150
+ createdAtIdx: (0, drizzle_orm_sqlite_core.index)("blob_assets_created_at_idx").on(table.createdAt),
151
+ mimeTypeIdx: (0, drizzle_orm_sqlite_core.index)("blob_assets_mime_type_idx").on(table.mimeType)
153
152
  }));
154
153
  const blobReferencesTable = (0, drizzle_orm_sqlite_core.sqliteTable)("blob_references", {
155
154
  id: (0, drizzle_orm_sqlite_core.text)("id").primaryKey(),
@@ -162,7 +161,8 @@ const blobReferencesTable = (0, drizzle_orm_sqlite_core.sqliteTable)("blob_refer
162
161
  createdAt: (0, drizzle_orm_sqlite_core.integer)("created_at").notNull().default(drizzle_orm.sql`CURRENT_TIMESTAMP`)
163
162
  }, (table) => ({
164
163
  blobIdx: (0, drizzle_orm_sqlite_core.index)("blob_references_blob_idx").on(table.blobHash),
165
- evalIdx: (0, drizzle_orm_sqlite_core.index)("blob_references_eval_idx").on(table.evalId)
164
+ evalIdx: (0, drizzle_orm_sqlite_core.index)("blob_references_eval_idx").on(table.evalId),
165
+ blobCreatedAtIdx: (0, drizzle_orm_sqlite_core.index)("blob_references_blob_created_at_idx").on(table.blobHash, table.createdAt)
166
166
  }));
167
167
  const datasetsTable = (0, drizzle_orm_sqlite_core.sqliteTable)("datasets", {
168
168
  id: (0, drizzle_orm_sqlite_core.text)("id").primaryKey(),
@@ -177,13 +177,13 @@ const evalsToDatasetsTable = (0, drizzle_orm_sqlite_core.sqliteTable)("evals_to_
177
177
  evalIdIdx: (0, drizzle_orm_sqlite_core.index)("evals_to_datasets_eval_id_idx").on(t.evalId),
178
178
  datasetIdIdx: (0, drizzle_orm_sqlite_core.index)("evals_to_datasets_dataset_id_idx").on(t.datasetId)
179
179
  }));
180
- const datasetsRelations = (0, drizzle_orm.relations)(datasetsTable, ({ many }) => ({ evalsToDatasets: many(evalsToDatasetsTable) }));
181
- const evalsRelations = (0, drizzle_orm.relations)(evalsTable, ({ many }) => ({
180
+ (0, drizzle_orm.relations)(datasetsTable, ({ many }) => ({ evalsToDatasets: many(evalsToDatasetsTable) }));
181
+ (0, drizzle_orm.relations)(evalsTable, ({ many }) => ({
182
182
  evalsToPrompts: many(evalsToPromptsTable),
183
183
  evalsToDatasets: many(evalsToDatasetsTable),
184
184
  evalsToTags: many(evalsToTagsTable)
185
185
  }));
186
- const evalsToPromptsRelations = (0, drizzle_orm.relations)(evalsToPromptsTable, ({ one }) => ({
186
+ (0, drizzle_orm.relations)(evalsToPromptsTable, ({ one }) => ({
187
187
  eval: one(evalsTable, {
188
188
  fields: [evalsToPromptsTable.evalId],
189
189
  references: [evalsTable.id]
@@ -193,7 +193,7 @@ const evalsToPromptsRelations = (0, drizzle_orm.relations)(evalsToPromptsTable,
193
193
  references: [promptsTable.id]
194
194
  })
195
195
  }));
196
- const evalsToDatasetsRelations = (0, drizzle_orm.relations)(evalsToDatasetsTable, ({ one }) => ({
196
+ (0, drizzle_orm.relations)(evalsToDatasetsTable, ({ one }) => ({
197
197
  eval: one(evalsTable, {
198
198
  fields: [evalsToDatasetsTable.evalId],
199
199
  references: [evalsTable.id]
@@ -203,7 +203,7 @@ const evalsToDatasetsRelations = (0, drizzle_orm.relations)(evalsToDatasetsTable
203
203
  references: [datasetsTable.id]
204
204
  })
205
205
  }));
206
- const configsTable = (0, drizzle_orm_sqlite_core.sqliteTable)("configs", {
206
+ (0, drizzle_orm_sqlite_core.sqliteTable)("configs", {
207
207
  id: (0, drizzle_orm_sqlite_core.text)("id").primaryKey(),
208
208
  createdAt: (0, drizzle_orm_sqlite_core.integer)("created_at").notNull().default(drizzle_orm.sql`CURRENT_TIMESTAMP`),
209
209
  updatedAt: (0, drizzle_orm_sqlite_core.integer)("updated_at").notNull().default(drizzle_orm.sql`CURRENT_TIMESTAMP`),
@@ -214,7 +214,7 @@ const configsTable = (0, drizzle_orm_sqlite_core.sqliteTable)("configs", {
214
214
  createdAtIdx: (0, drizzle_orm_sqlite_core.index)("configs_created_at_idx").on(table.createdAt),
215
215
  typeIdx: (0, drizzle_orm_sqlite_core.index)("configs_type_idx").on(table.type)
216
216
  }));
217
- const modelAuditsTable = (0, drizzle_orm_sqlite_core.sqliteTable)("model_audits", {
217
+ (0, drizzle_orm_sqlite_core.sqliteTable)("model_audits", {
218
218
  id: (0, drizzle_orm_sqlite_core.text)("id").primaryKey(),
219
219
  createdAt: (0, drizzle_orm_sqlite_core.integer)("created_at").notNull().default(drizzle_orm.sql`CURRENT_TIMESTAMP`),
220
220
  updatedAt: (0, drizzle_orm_sqlite_core.integer)("updated_at").notNull().default(drizzle_orm.sql`CURRENT_TIMESTAMP`),
@@ -273,101 +273,101 @@ const spansTable = (0, drizzle_orm_sqlite_core.sqliteTable)("spans", {
273
273
  traceIdIdx: (0, drizzle_orm_sqlite_core.index)("spans_trace_id_idx").on(table.traceId),
274
274
  spanIdIdx: (0, drizzle_orm_sqlite_core.index)("spans_span_id_idx").on(table.spanId)
275
275
  }));
276
- const tracesRelations = (0, drizzle_orm.relations)(tracesTable, ({ one, many }) => ({
276
+ (0, drizzle_orm.relations)(tracesTable, ({ one, many }) => ({
277
277
  eval: one(evalsTable, {
278
278
  fields: [tracesTable.evaluationId],
279
279
  references: [evalsTable.id]
280
280
  }),
281
281
  spans: many(spansTable)
282
282
  }));
283
- const spansRelations = (0, drizzle_orm.relations)(spansTable, ({ one }) => ({ trace: one(tracesTable, {
283
+ (0, drizzle_orm.relations)(spansTable, ({ one }) => ({ trace: one(tracesTable, {
284
284
  fields: [spansTable.traceId],
285
285
  references: [tracesTable.traceId]
286
286
  }) }));
287
-
288
287
  //#endregion
289
- Object.defineProperty(exports, 'blobAssetsTable', {
290
- enumerable: true,
291
- get: function () {
292
- return blobAssetsTable;
293
- }
288
+ Object.defineProperty(exports, "blobAssetsTable", {
289
+ enumerable: true,
290
+ get: function() {
291
+ return blobAssetsTable;
292
+ }
294
293
  });
295
- Object.defineProperty(exports, 'blobReferencesTable', {
296
- enumerable: true,
297
- get: function () {
298
- return blobReferencesTable;
299
- }
294
+ Object.defineProperty(exports, "blobReferencesTable", {
295
+ enumerable: true,
296
+ get: function() {
297
+ return blobReferencesTable;
298
+ }
300
299
  });
301
- Object.defineProperty(exports, 'datasetsTable', {
302
- enumerable: true,
303
- get: function () {
304
- return datasetsTable;
305
- }
300
+ Object.defineProperty(exports, "datasetsTable", {
301
+ enumerable: true,
302
+ get: function() {
303
+ return datasetsTable;
304
+ }
306
305
  });
307
- Object.defineProperty(exports, 'evalResultsTable', {
308
- enumerable: true,
309
- get: function () {
310
- return evalResultsTable;
311
- }
306
+ Object.defineProperty(exports, "evalResultsTable", {
307
+ enumerable: true,
308
+ get: function() {
309
+ return evalResultsTable;
310
+ }
312
311
  });
313
- Object.defineProperty(exports, 'evalsTable', {
314
- enumerable: true,
315
- get: function () {
316
- return evalsTable;
317
- }
312
+ Object.defineProperty(exports, "evalsTable", {
313
+ enumerable: true,
314
+ get: function() {
315
+ return evalsTable;
316
+ }
318
317
  });
319
- Object.defineProperty(exports, 'evalsToDatasetsTable', {
320
- enumerable: true,
321
- get: function () {
322
- return evalsToDatasetsTable;
323
- }
318
+ Object.defineProperty(exports, "evalsToDatasetsTable", {
319
+ enumerable: true,
320
+ get: function() {
321
+ return evalsToDatasetsTable;
322
+ }
324
323
  });
325
- Object.defineProperty(exports, 'evalsToPromptsTable', {
326
- enumerable: true,
327
- get: function () {
328
- return evalsToPromptsTable;
329
- }
324
+ Object.defineProperty(exports, "evalsToPromptsTable", {
325
+ enumerable: true,
326
+ get: function() {
327
+ return evalsToPromptsTable;
328
+ }
330
329
  });
331
- Object.defineProperty(exports, 'evalsToTagsTable', {
332
- enumerable: true,
333
- get: function () {
334
- return evalsToTagsTable;
335
- }
330
+ Object.defineProperty(exports, "evalsToTagsTable", {
331
+ enumerable: true,
332
+ get: function() {
333
+ return evalsToTagsTable;
334
+ }
336
335
  });
337
- Object.defineProperty(exports, 'getDb', {
338
- enumerable: true,
339
- get: function () {
340
- return getDb;
341
- }
336
+ Object.defineProperty(exports, "getDb", {
337
+ enumerable: true,
338
+ get: function() {
339
+ return getDb;
340
+ }
342
341
  });
343
- Object.defineProperty(exports, 'getDbSignalPath', {
344
- enumerable: true,
345
- get: function () {
346
- return getDbSignalPath;
347
- }
342
+ Object.defineProperty(exports, "getDbSignalPath", {
343
+ enumerable: true,
344
+ get: function() {
345
+ return getDbSignalPath;
346
+ }
348
347
  });
349
- Object.defineProperty(exports, 'promptsTable', {
350
- enumerable: true,
351
- get: function () {
352
- return promptsTable;
353
- }
348
+ Object.defineProperty(exports, "promptsTable", {
349
+ enumerable: true,
350
+ get: function() {
351
+ return promptsTable;
352
+ }
354
353
  });
355
- Object.defineProperty(exports, 'spansTable', {
356
- enumerable: true,
357
- get: function () {
358
- return spansTable;
359
- }
354
+ Object.defineProperty(exports, "spansTable", {
355
+ enumerable: true,
356
+ get: function() {
357
+ return spansTable;
358
+ }
360
359
  });
361
- Object.defineProperty(exports, 'tagsTable', {
362
- enumerable: true,
363
- get: function () {
364
- return tagsTable;
365
- }
360
+ Object.defineProperty(exports, "tagsTable", {
361
+ enumerable: true,
362
+ get: function() {
363
+ return tagsTable;
364
+ }
366
365
  });
367
- Object.defineProperty(exports, 'tracesTable', {
368
- enumerable: true,
369
- get: function () {
370
- return tracesTable;
371
- }
366
+ Object.defineProperty(exports, "tracesTable", {
367
+ enumerable: true,
368
+ get: function() {
369
+ return tracesTable;
370
+ }
372
371
  });
373
- //# sourceMappingURL=tables-B9E1kRp-.cjs.map
372
+
373
+ //# sourceMappingURL=tables-C7K-XKWp.cjs.map
@@ -1,17 +1,16 @@
1
1
  #!/usr/bin/env node
2
- import { b as getEnvBool, o as logger_default, v as getConfigDirectoryPath } from "./logger-BotXmWKW.js";
3
- import { s as ResultFailureReason } from "./types-t52w-XsS.js";
2
+ import { b as getEnvBool, o as logger, v as getConfigDirectoryPath } from "./logger-KkObSCzq.js";
3
+ import { s as ResultFailureReason } from "./types-CH3Ge2sE.js";
4
4
  import * as path$1 from "path";
5
5
  import { relations, sql } from "drizzle-orm";
6
6
  import Database from "better-sqlite3";
7
7
  import { drizzle } from "drizzle-orm/better-sqlite3";
8
8
  import { DefaultLogger } from "drizzle-orm/logger";
9
9
  import { index, integer, primaryKey, real, sqliteTable, text, uniqueIndex } from "drizzle-orm/sqlite-core";
10
-
11
10
  //#region src/database/index.ts
12
11
  var DrizzleLogWriter = class {
13
12
  write(message) {
14
- if (getEnvBool("PROMPTFOO_ENABLE_DATABASE_LOGS", false)) logger_default.debug(`Drizzle: ${message}`);
13
+ if (getEnvBool("PROMPTFOO_ENABLE_DATABASE_LOGS", false)) logger.debug(`Drizzle: ${message}`);
15
14
  }
16
15
  };
17
16
  let dbInstance = null;
@@ -30,12 +29,12 @@ function getDb() {
30
29
  if (!isMemoryDb && !getEnvBool("PROMPTFOO_DISABLE_WAL_MODE", false)) try {
31
30
  sqliteInstance.pragma("journal_mode = WAL");
32
31
  const result = sqliteInstance.prepare("PRAGMA journal_mode").get();
33
- if (result.journal_mode.toLowerCase() === "wal") logger_default.debug("Successfully enabled SQLite WAL mode");
34
- else logger_default.warn(`Failed to enable WAL mode (got '${result.journal_mode}'). Database performance may be reduced. This can happen on network filesystems. Set PROMPTFOO_DISABLE_WAL_MODE=true to suppress this warning.`);
32
+ if (result.journal_mode.toLowerCase() === "wal") logger.debug("Successfully enabled SQLite WAL mode");
33
+ else logger.warn(`Failed to enable WAL mode (got '${result.journal_mode}'). Database performance may be reduced. This can happen on network filesystems. Set PROMPTFOO_DISABLE_WAL_MODE=true to suppress this warning.`);
35
34
  sqliteInstance.pragma("wal_autocheckpoint = 1000");
36
35
  sqliteInstance.pragma("synchronous = NORMAL");
37
36
  } catch (err) {
38
- logger_default.warn(`Error configuring SQLite WAL mode: ${err}. Database will use default journal mode. Performance may be reduced. This can happen on network filesystems or certain containerized environments. Set PROMPTFOO_DISABLE_WAL_MODE=true to suppress this warning.`);
37
+ logger.warn(`Error configuring SQLite WAL mode: ${err}. Database will use default journal mode. Performance may be reduced. This can happen on network filesystems or certain containerized environments. Set PROMPTFOO_DISABLE_WAL_MODE=true to suppress this warning.`);
39
38
  }
40
39
  const drizzleLogger = new DefaultLogger({ writer: new DrizzleLogWriter() });
41
40
  dbInstance = drizzle(sqliteInstance, { logger: drizzleLogger });
@@ -46,14 +45,14 @@ function closeDb() {
46
45
  if (sqliteInstance) try {
47
46
  if (!getEnvBool("IS_TESTING") && !getEnvBool("PROMPTFOO_DISABLE_WAL_MODE", false)) try {
48
47
  sqliteInstance.pragma("wal_checkpoint(TRUNCATE)");
49
- logger_default.debug("Successfully checkpointed WAL file before closing");
48
+ logger.debug("Successfully checkpointed WAL file before closing");
50
49
  } catch (err) {
51
- logger_default.debug(`Could not checkpoint WAL file: ${err}`);
50
+ logger.debug(`Could not checkpoint WAL file: ${err}`);
52
51
  }
53
52
  sqliteInstance.close();
54
- logger_default.debug("Database connection closed successfully");
53
+ logger.debug("Database connection closed successfully");
55
54
  } catch (err) {
56
- logger_default.error(`Error closing database connection: ${err}`);
55
+ logger.error(`Error closing database connection: ${err}`);
57
56
  } finally {
58
57
  sqliteInstance = null;
59
58
  dbInstance = null;
@@ -67,7 +66,6 @@ function closeDb() {
67
66
  function closeDbIfOpen() {
68
67
  if (sqliteInstance) closeDb();
69
68
  }
70
-
71
69
  //#endregion
72
70
  //#region src/database/tables.ts
73
71
  const promptsTable = sqliteTable("prompts", {
@@ -145,7 +143,7 @@ const evalsToPromptsTable = sqliteTable("evals_to_prompts", {
145
143
  evalIdIdx: index("evals_to_prompts_eval_id_idx").on(t.evalId),
146
144
  promptIdIdx: index("evals_to_prompts_prompt_id_idx").on(t.promptId)
147
145
  }));
148
- const promptsRelations = relations(promptsTable, ({ many }) => ({ evalsToPrompts: many(evalsToPromptsTable) }));
146
+ relations(promptsTable, ({ many }) => ({ evalsToPrompts: many(evalsToPromptsTable) }));
149
147
  const evalsToTagsTable = sqliteTable("evals_to_tags", {
150
148
  evalId: text("eval_id").notNull().references(() => evalsTable.id),
151
149
  tagId: text("tag_id").notNull().references(() => tagsTable.id)
@@ -154,8 +152,8 @@ const evalsToTagsTable = sqliteTable("evals_to_tags", {
154
152
  evalIdIdx: index("evals_to_tags_eval_id_idx").on(t.evalId),
155
153
  tagIdIdx: index("evals_to_tags_tag_id_idx").on(t.tagId)
156
154
  }));
157
- const tagsRelations = relations(tagsTable, ({ many }) => ({ evalsToTags: many(evalsToTagsTable) }));
158
- const evalsToTagsRelations = relations(evalsToTagsTable, ({ one }) => ({
155
+ relations(tagsTable, ({ many }) => ({ evalsToTags: many(evalsToTagsTable) }));
156
+ relations(evalsToTagsTable, ({ one }) => ({
159
157
  eval: one(evalsTable, {
160
158
  fields: [evalsToTagsTable.evalId],
161
159
  references: [evalsTable.id]
@@ -173,7 +171,8 @@ const blobAssetsTable = sqliteTable("blob_assets", {
173
171
  createdAt: integer("created_at").notNull().default(sql`CURRENT_TIMESTAMP`)
174
172
  }, (table) => ({
175
173
  providerIdx: index("blob_assets_provider_idx").on(table.provider),
176
- createdAtIdx: index("blob_assets_created_at_idx").on(table.createdAt)
174
+ createdAtIdx: index("blob_assets_created_at_idx").on(table.createdAt),
175
+ mimeTypeIdx: index("blob_assets_mime_type_idx").on(table.mimeType)
177
176
  }));
178
177
  const blobReferencesTable = sqliteTable("blob_references", {
179
178
  id: text("id").primaryKey(),
@@ -186,7 +185,8 @@ const blobReferencesTable = sqliteTable("blob_references", {
186
185
  createdAt: integer("created_at").notNull().default(sql`CURRENT_TIMESTAMP`)
187
186
  }, (table) => ({
188
187
  blobIdx: index("blob_references_blob_idx").on(table.blobHash),
189
- evalIdx: index("blob_references_eval_idx").on(table.evalId)
188
+ evalIdx: index("blob_references_eval_idx").on(table.evalId),
189
+ blobCreatedAtIdx: index("blob_references_blob_created_at_idx").on(table.blobHash, table.createdAt)
190
190
  }));
191
191
  const datasetsTable = sqliteTable("datasets", {
192
192
  id: text("id").primaryKey(),
@@ -201,13 +201,13 @@ const evalsToDatasetsTable = sqliteTable("evals_to_datasets", {
201
201
  evalIdIdx: index("evals_to_datasets_eval_id_idx").on(t.evalId),
202
202
  datasetIdIdx: index("evals_to_datasets_dataset_id_idx").on(t.datasetId)
203
203
  }));
204
- const datasetsRelations = relations(datasetsTable, ({ many }) => ({ evalsToDatasets: many(evalsToDatasetsTable) }));
205
- const evalsRelations = relations(evalsTable, ({ many }) => ({
204
+ relations(datasetsTable, ({ many }) => ({ evalsToDatasets: many(evalsToDatasetsTable) }));
205
+ relations(evalsTable, ({ many }) => ({
206
206
  evalsToPrompts: many(evalsToPromptsTable),
207
207
  evalsToDatasets: many(evalsToDatasetsTable),
208
208
  evalsToTags: many(evalsToTagsTable)
209
209
  }));
210
- const evalsToPromptsRelations = relations(evalsToPromptsTable, ({ one }) => ({
210
+ relations(evalsToPromptsTable, ({ one }) => ({
211
211
  eval: one(evalsTable, {
212
212
  fields: [evalsToPromptsTable.evalId],
213
213
  references: [evalsTable.id]
@@ -217,7 +217,7 @@ const evalsToPromptsRelations = relations(evalsToPromptsTable, ({ one }) => ({
217
217
  references: [promptsTable.id]
218
218
  })
219
219
  }));
220
- const evalsToDatasetsRelations = relations(evalsToDatasetsTable, ({ one }) => ({
220
+ relations(evalsToDatasetsTable, ({ one }) => ({
221
221
  eval: one(evalsTable, {
222
222
  fields: [evalsToDatasetsTable.evalId],
223
223
  references: [evalsTable.id]
@@ -297,18 +297,18 @@ const spansTable = sqliteTable("spans", {
297
297
  traceIdIdx: index("spans_trace_id_idx").on(table.traceId),
298
298
  spanIdIdx: index("spans_span_id_idx").on(table.spanId)
299
299
  }));
300
- const tracesRelations = relations(tracesTable, ({ one, many }) => ({
300
+ relations(tracesTable, ({ one, many }) => ({
301
301
  eval: one(evalsTable, {
302
302
  fields: [tracesTable.evaluationId],
303
303
  references: [evalsTable.id]
304
304
  }),
305
305
  spans: many(spansTable)
306
306
  }));
307
- const spansRelations = relations(spansTable, ({ one }) => ({ trace: one(tracesTable, {
307
+ relations(spansTable, ({ one }) => ({ trace: one(tracesTable, {
308
308
  fields: [spansTable.traceId],
309
309
  references: [tracesTable.traceId]
310
310
  }) }));
311
-
312
311
  //#endregion
313
312
  export { getDbSignalPath as _, evalResultsTable as a, evalsToPromptsTable as c, promptsTable as d, spansTable as f, getDb as g, closeDbIfOpen as h, datasetsTable as i, evalsToTagsTable as l, tracesTable as m, blobReferencesTable as n, evalsTable as o, tagsTable as p, configsTable as r, evalsToDatasetsTable as s, blobAssetsTable as t, modelAuditsTable as u };
314
- //# sourceMappingURL=tables-C7TT2XVn.js.map
313
+
314
+ //# sourceMappingURL=tables-D36WTqKX.js.map