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
@@ -0,0 +1,193 @@
1
+ import { b as getEnvString, i as logger, y as getEnvInt } from "./logger-DLcq4dWf.js";
2
+ import { n as telemetry } from "./telemetry-DMb2Mpfm.js";
3
+ //#region src/providers/bedrock/util.ts
4
+ const REQUEST_TIMEOUT_MS = 3e5;
5
+ function hasProxyEnv() {
6
+ return Boolean(getEnvString("HTTP_PROXY") || getEnvString("HTTPS_PROXY"));
7
+ }
8
+ /**
9
+ * Creates a NodeHttpHandler (HTTP/1.1) for Bedrock SDK clients.
10
+ *
11
+ * The @aws-sdk/client-bedrock-runtime package defaults to HTTP/2, which causes
12
+ * "http2 request did not get a response" errors in many environments (see #7756).
13
+ * This function forces HTTP/1.1 via NodeHttpHandler.
14
+ *
15
+ * For @aws-sdk/client-bedrock-agent-runtime (which already defaults to HTTP/1.1),
16
+ * this is only needed when proxy or API key authentication is required.
17
+ */
18
+ async function createBedrockRequestHandler(options) {
19
+ const hasProxy = hasProxyEnv();
20
+ try {
21
+ const { NodeHttpHandler } = await import("@smithy/node-http-handler");
22
+ let proxyAgent;
23
+ if (hasProxy) {
24
+ const { ProxyAgent } = await import("proxy-agent");
25
+ proxyAgent = new ProxyAgent();
26
+ }
27
+ const handler = new NodeHttpHandler({
28
+ ...proxyAgent ? { httpsAgent: proxyAgent } : {},
29
+ requestTimeout: REQUEST_TIMEOUT_MS
30
+ });
31
+ if (options?.apiKey) {
32
+ const originalHandle = handler.handle.bind(handler);
33
+ handler.handle = async (request, handlerOptions) => {
34
+ request.headers = {
35
+ ...request.headers,
36
+ Authorization: `Bearer ${options.apiKey}`
37
+ };
38
+ return originalHandle(request, handlerOptions);
39
+ };
40
+ }
41
+ return handler;
42
+ } catch {
43
+ const reason = options?.apiKey ? "API key authentication requires the @smithy/node-http-handler package" : hasProxy ? "Proxy configuration requires the @smithy/node-http-handler package" : "Bedrock provider requires the @smithy/node-http-handler package";
44
+ throw new Error(`${reason}. Please install it in your project or globally.`);
45
+ }
46
+ }
47
+ function novaOutputFromMessage(response) {
48
+ if (response.output?.message?.content.some((block) => block.toolUse?.toolUseId)) return response.output?.message?.content.map((block) => {
49
+ if (block.text) return null;
50
+ return JSON.stringify(block.toolUse);
51
+ }).filter((block) => block).join("\n\n");
52
+ return response.output?.message?.content.map((block) => {
53
+ return block.text;
54
+ }).join("\n\n");
55
+ }
56
+ function novaParseMessages(messages) {
57
+ try {
58
+ const parsed = JSON.parse(messages);
59
+ if (Array.isArray(parsed)) {
60
+ const systemMessage = parsed.find((msg) => msg.role === "system");
61
+ return {
62
+ extractedMessages: parsed.filter((msg) => msg.role !== "system").map((msg) => ({
63
+ role: msg.role,
64
+ content: Array.isArray(msg.content) ? msg.content : [{ text: msg.content }]
65
+ })),
66
+ system: systemMessage ? Array.isArray(systemMessage.content) ? systemMessage.content : [{ text: systemMessage.content }] : void 0
67
+ };
68
+ }
69
+ } catch {}
70
+ const lines = messages.split("\n").map((line) => line.trim()).filter((line) => line);
71
+ let system;
72
+ const extractedMessages = [];
73
+ let currentRole = null;
74
+ let currentContent = [];
75
+ const pushMessage = () => {
76
+ if (currentRole && currentContent.length > 0) {
77
+ extractedMessages.push({
78
+ role: currentRole,
79
+ content: [{ text: currentContent.join("\n") }]
80
+ });
81
+ currentContent = [];
82
+ }
83
+ };
84
+ for (const line of lines) if (line.startsWith("system:")) system = [{ text: line.slice(7).trim() }];
85
+ else if (line.startsWith("user:") || line.startsWith("assistant:")) {
86
+ pushMessage();
87
+ currentRole = line.startsWith("user:") ? "user" : "assistant";
88
+ currentContent.push(line.slice(line.indexOf(":") + 1).trim());
89
+ } else if (currentRole) currentContent.push(line);
90
+ else {
91
+ currentRole = "user";
92
+ currentContent.push(line);
93
+ }
94
+ pushMessage();
95
+ if (extractedMessages.length === 0 && !system) extractedMessages.push({
96
+ role: "user",
97
+ content: [{ text: messages.trim() }]
98
+ });
99
+ return {
100
+ system,
101
+ extractedMessages
102
+ };
103
+ }
104
+ //#endregion
105
+ //#region src/providers/bedrock/base.ts
106
+ /**
107
+ * AWS Bedrock Base Provider
108
+ *
109
+ * Contains the abstract base class for all Bedrock providers.
110
+ * This is extracted to avoid circular dependency issues.
111
+ */
112
+ var AwsBedrockGenericProvider = class {
113
+ modelName;
114
+ env;
115
+ bedrock;
116
+ config;
117
+ constructor(modelName, options = {}) {
118
+ const { config, id, env } = options;
119
+ this.env = env;
120
+ this.modelName = modelName;
121
+ this.config = config || {};
122
+ this.id = id ? () => id : this.id;
123
+ if (this.config.guardrailIdentifier) telemetry.record("feature_used", {
124
+ feature: "guardrail",
125
+ provider: "bedrock"
126
+ });
127
+ }
128
+ id() {
129
+ return `bedrock:${this.modelName}`;
130
+ }
131
+ toString() {
132
+ return `[Amazon Bedrock Provider ${this.modelName}]`;
133
+ }
134
+ requiresApiKey() {
135
+ return false;
136
+ }
137
+ getApiKey() {
138
+ return this.config.apiKey || getEnvString("AWS_BEARER_TOKEN_BEDROCK");
139
+ }
140
+ async getCredentials() {
141
+ if (this.config.accessKeyId && this.config.secretAccessKey) {
142
+ logger.debug(`Using credentials from config file`);
143
+ return {
144
+ accessKeyId: this.config.accessKeyId,
145
+ secretAccessKey: this.config.secretAccessKey,
146
+ sessionToken: this.config.sessionToken
147
+ };
148
+ }
149
+ if (this.getApiKey()) {
150
+ logger.debug(`Using Bedrock API key authentication`);
151
+ return;
152
+ }
153
+ if (this.config.profile) {
154
+ logger.debug(`Using SSO profile: ${this.config.profile}`);
155
+ try {
156
+ const { fromSSO } = await import("@aws-sdk/credential-provider-sso");
157
+ return fromSSO({ profile: this.config.profile });
158
+ } catch (err) {
159
+ logger.error(`Error loading @aws-sdk/credential-provider-sso: ${err}`);
160
+ throw new Error("The @aws-sdk/credential-provider-sso package is required for SSO profiles. Please install it: npm install @aws-sdk/credential-provider-sso");
161
+ }
162
+ }
163
+ logger.debug(`No explicit credentials in config, falling back to AWS default chain`);
164
+ }
165
+ async getBedrockInstance() {
166
+ if (!this.bedrock) {
167
+ const handler = await createBedrockRequestHandler({ apiKey: this.getApiKey() });
168
+ try {
169
+ const { BedrockRuntime } = await import("@aws-sdk/client-bedrock-runtime");
170
+ const credentials = await this.getCredentials();
171
+ this.bedrock = new BedrockRuntime({
172
+ region: this.getRegion(),
173
+ maxAttempts: getEnvInt("AWS_BEDROCK_MAX_RETRIES", 10),
174
+ retryMode: "adaptive",
175
+ requestHandler: handler,
176
+ ...credentials ? { credentials } : {},
177
+ ...this.config.endpoint ? { endpoint: this.config.endpoint } : {}
178
+ });
179
+ } catch (err) {
180
+ logger.error(`Error creating BedrockRuntime: ${err}`);
181
+ throw new Error("The @aws-sdk/client-bedrock-runtime package is required as a peer dependency. Please install it in your project or globally.");
182
+ }
183
+ }
184
+ return this.bedrock;
185
+ }
186
+ getRegion() {
187
+ return this.config?.region || this.env?.AWS_BEDROCK_REGION || getEnvString("AWS_BEDROCK_REGION") || "us-east-1";
188
+ }
189
+ };
190
+ //#endregion
191
+ export { novaParseMessages as a, novaOutputFromMessage as i, createBedrockRequestHandler as n, hasProxyEnv as r, AwsBedrockGenericProvider as t };
192
+
193
+ //# sourceMappingURL=base-fEDN28WM.js.map
@@ -1,18 +1,16 @@
1
1
  #!/usr/bin/env node
2
- import { o as logger_default, v as getConfigDirectoryPath } from "./logger-BotXmWKW.js";
3
- import { g as getDb, n as blobReferencesTable, t as blobAssetsTable } from "./tables-C7TT2XVn.js";
2
+ import { o as logger, v as getConfigDirectoryPath } from "./logger-KkObSCzq.js";
3
+ import { g as getDb, n as blobReferencesTable, t as blobAssetsTable } from "./tables-D36WTqKX.js";
4
4
  import * as fs$1 from "node:fs";
5
5
  import * as path$1 from "node:path";
6
6
  import * as fsPromises$1 from "node:fs/promises";
7
7
  import { createHash, randomUUID } from "node:crypto";
8
8
  import { and, eq } from "drizzle-orm";
9
-
10
9
  //#region src/blobs/constants.ts
11
10
  const BLOB_MIN_SIZE = 1024;
12
11
  const BLOB_MAX_SIZE = 52428800;
13
12
  const BLOB_SCHEME = "promptfoo://blob/";
14
13
  const DEFAULT_FILESYSTEM_SUBDIR = "blobs";
15
-
16
14
  //#endregion
17
15
  //#region src/blobs/filesystemProvider.ts
18
16
  const BLOB_HASH_REGEX = /^[a-f0-9]{64}$/i;
@@ -33,7 +31,7 @@ var FilesystemBlobStorageProvider = class {
33
31
  ensureDirectory() {
34
32
  if (!fs$1.existsSync(this.basePath)) {
35
33
  fs$1.mkdirSync(this.basePath, { recursive: true });
36
- logger_default.debug("[BlobFS] Created blob directory", { basePath: this.basePath });
34
+ logger.debug("[BlobFS] Created blob directory", { basePath: this.basePath });
37
35
  }
38
36
  }
39
37
  assertValidHash(hash) {
@@ -152,12 +150,11 @@ var FilesystemBlobStorageProvider = class {
152
150
  return JSON.parse(raw);
153
151
  } catch (error) {
154
152
  if (error.code === "ENOENT") return null;
155
- logger_default.warn("[BlobFS] Failed to read metadata", { error });
153
+ logger.warn("[BlobFS] Failed to read metadata", { error });
156
154
  return null;
157
155
  }
158
156
  }
159
157
  };
160
-
161
158
  //#endregion
162
159
  //#region src/blobs/index.ts
163
160
  let defaultProvider = null;
@@ -167,7 +164,7 @@ function createDefaultProvider() {
167
164
  function getBlobStorageProvider() {
168
165
  if (!defaultProvider) {
169
166
  defaultProvider = createDefaultProvider();
170
- logger_default.debug("[BlobStorage] Initialized provider", { provider: defaultProvider.providerId });
167
+ logger.debug("[BlobStorage] Initialized provider", { provider: defaultProvider.providerId });
171
168
  }
172
169
  return defaultProvider;
173
170
  }
@@ -197,7 +194,7 @@ async function storeBlob(data, mimeType, refContext) {
197
194
  try {
198
195
  await provider.deleteByHash(result.ref.hash);
199
196
  } catch (cleanupError) {
200
- logger_default.warn("[BlobStorage] Failed to rollback blob after DB error", {
197
+ logger.warn("[BlobStorage] Failed to rollback blob after DB error", {
201
198
  error: cleanupError,
202
199
  hash: result.ref.hash
203
200
  });
@@ -215,7 +212,7 @@ async function getBlobUrl(hash, expiresInSeconds) {
215
212
  async function recordBlobReference(hash, refContext) {
216
213
  if (!refContext.evalId) return;
217
214
  if (!await getBlobStorageProvider().exists(hash).catch(() => false)) {
218
- logger_default.debug("[BlobStorage] Attempted to record reference for missing blob", {
215
+ logger.debug("[BlobStorage] Attempted to record reference for missing blob", {
219
216
  hash,
220
217
  evalId: refContext.evalId,
221
218
  location: refContext.location
@@ -234,7 +231,7 @@ async function recordBlobReference(hash, refContext) {
234
231
  kind: refContext.kind
235
232
  }).run();
236
233
  }
237
-
238
234
  //#endregion
239
235
  export { BLOB_MAX_SIZE as a, storeBlob as i, getBlobUrl as n, BLOB_MIN_SIZE as o, recordBlobReference as r, getBlobByHash as t };
240
- //# sourceMappingURL=blobs-kt8v3UyH.js.map
236
+
237
+ //# sourceMappingURL=blobs-BAU-dXan.js.map
@@ -1,17 +1,15 @@
1
- import { g as getConfigDirectoryPath, i as logger_default } from "./logger-w8Ozp0Td.js";
2
- import { n as blobReferencesTable, p as getDb, t as blobAssetsTable } from "./tables-D-NSwNIb.js";
1
+ import { g as getConfigDirectoryPath, i as logger } from "./logger-CT3IKMKA.js";
2
+ import { n as blobReferencesTable, p as getDb, t as blobAssetsTable } from "./tables-5EvT_Bwn.js";
3
3
  import * as path$1 from "node:path";
4
4
  import * as fs$1 from "node:fs";
5
5
  import * as fsPromises$1 from "node:fs/promises";
6
6
  import { createHash, randomUUID } from "node:crypto";
7
7
  import { and, eq } from "drizzle-orm";
8
-
9
8
  //#region src/blobs/constants.ts
10
9
  const BLOB_MIN_SIZE = 1024;
11
10
  const BLOB_MAX_SIZE = 52428800;
12
11
  const BLOB_SCHEME = "promptfoo://blob/";
13
12
  const DEFAULT_FILESYSTEM_SUBDIR = "blobs";
14
-
15
13
  //#endregion
16
14
  //#region src/blobs/filesystemProvider.ts
17
15
  const BLOB_HASH_REGEX = /^[a-f0-9]{64}$/i;
@@ -32,7 +30,7 @@ var FilesystemBlobStorageProvider = class {
32
30
  ensureDirectory() {
33
31
  if (!fs$1.existsSync(this.basePath)) {
34
32
  fs$1.mkdirSync(this.basePath, { recursive: true });
35
- logger_default.debug("[BlobFS] Created blob directory", { basePath: this.basePath });
33
+ logger.debug("[BlobFS] Created blob directory", { basePath: this.basePath });
36
34
  }
37
35
  }
38
36
  assertValidHash(hash) {
@@ -151,12 +149,11 @@ var FilesystemBlobStorageProvider = class {
151
149
  return JSON.parse(raw);
152
150
  } catch (error) {
153
151
  if (error.code === "ENOENT") return null;
154
- logger_default.warn("[BlobFS] Failed to read metadata", { error });
152
+ logger.warn("[BlobFS] Failed to read metadata", { error });
155
153
  return null;
156
154
  }
157
155
  }
158
156
  };
159
-
160
157
  //#endregion
161
158
  //#region src/blobs/index.ts
162
159
  let defaultProvider = null;
@@ -166,7 +163,7 @@ function createDefaultProvider() {
166
163
  function getBlobStorageProvider() {
167
164
  if (!defaultProvider) {
168
165
  defaultProvider = createDefaultProvider();
169
- logger_default.debug("[BlobStorage] Initialized provider", { provider: defaultProvider.providerId });
166
+ logger.debug("[BlobStorage] Initialized provider", { provider: defaultProvider.providerId });
170
167
  }
171
168
  return defaultProvider;
172
169
  }
@@ -196,7 +193,7 @@ async function storeBlob(data, mimeType, refContext) {
196
193
  try {
197
194
  await provider.deleteByHash(result.ref.hash);
198
195
  } catch (cleanupError) {
199
- logger_default.warn("[BlobStorage] Failed to rollback blob after DB error", {
196
+ logger.warn("[BlobStorage] Failed to rollback blob after DB error", {
200
197
  error: cleanupError,
201
198
  hash: result.ref.hash
202
199
  });
@@ -211,7 +208,7 @@ async function getBlobByHash(hash) {
211
208
  async function recordBlobReference(hash, refContext) {
212
209
  if (!refContext.evalId) return;
213
210
  if (!await getBlobStorageProvider().exists(hash).catch(() => false)) {
214
- logger_default.debug("[BlobStorage] Attempted to record reference for missing blob", {
211
+ logger.debug("[BlobStorage] Attempted to record reference for missing blob", {
215
212
  hash,
216
213
  evalId: refContext.evalId,
217
214
  location: refContext.location
@@ -230,7 +227,7 @@ async function recordBlobReference(hash, refContext) {
230
227
  kind: refContext.kind
231
228
  }).run();
232
229
  }
233
-
234
230
  //#endregion
235
231
  export { BLOB_MIN_SIZE as a, BLOB_MAX_SIZE as i, recordBlobReference as n, storeBlob as r, getBlobByHash as t };
236
- //# sourceMappingURL=blobs-C9J2mVgo.js.map
232
+
233
+ //# sourceMappingURL=blobs-Bpg5rH6i.js.map
@@ -1,5 +1,5 @@
1
- const require_logger = require('./logger-BdZ-IqBc.cjs');
2
- const require_tables = require('./tables-B9E1kRp-.cjs');
1
+ const require_logger = require("./logger-Cp1GPUjj.cjs");
2
+ const require_tables = require("./tables-C7K-XKWp.cjs");
3
3
  let node_fs = require("node:fs");
4
4
  node_fs = require_logger.__toESM(node_fs);
5
5
  let node_fs_promises = require("node:fs/promises");
@@ -8,13 +8,11 @@ let node_path = require("node:path");
8
8
  node_path = require_logger.__toESM(node_path);
9
9
  let node_crypto = require("node:crypto");
10
10
  let drizzle_orm = require("drizzle-orm");
11
-
12
11
  //#region src/blobs/constants.ts
13
12
  const BLOB_MIN_SIZE = 1024;
14
13
  const BLOB_MAX_SIZE = 52428800;
15
14
  const BLOB_SCHEME = "promptfoo://blob/";
16
15
  const DEFAULT_FILESYSTEM_SUBDIR = "blobs";
17
-
18
16
  //#endregion
19
17
  //#region src/blobs/filesystemProvider.ts
20
18
  const BLOB_HASH_REGEX = /^[a-f0-9]{64}$/i;
@@ -35,7 +33,7 @@ var FilesystemBlobStorageProvider = class {
35
33
  ensureDirectory() {
36
34
  if (!node_fs.existsSync(this.basePath)) {
37
35
  node_fs.mkdirSync(this.basePath, { recursive: true });
38
- require_logger.logger_default.debug("[BlobFS] Created blob directory", { basePath: this.basePath });
36
+ require_logger.logger.debug("[BlobFS] Created blob directory", { basePath: this.basePath });
39
37
  }
40
38
  }
41
39
  assertValidHash(hash) {
@@ -154,12 +152,11 @@ var FilesystemBlobStorageProvider = class {
154
152
  return JSON.parse(raw);
155
153
  } catch (error) {
156
154
  if (error.code === "ENOENT") return null;
157
- require_logger.logger_default.warn("[BlobFS] Failed to read metadata", { error });
155
+ require_logger.logger.warn("[BlobFS] Failed to read metadata", { error });
158
156
  return null;
159
157
  }
160
158
  }
161
159
  };
162
-
163
160
  //#endregion
164
161
  //#region src/blobs/index.ts
165
162
  let defaultProvider = null;
@@ -169,7 +166,7 @@ function createDefaultProvider() {
169
166
  function getBlobStorageProvider() {
170
167
  if (!defaultProvider) {
171
168
  defaultProvider = createDefaultProvider();
172
- require_logger.logger_default.debug("[BlobStorage] Initialized provider", { provider: defaultProvider.providerId });
169
+ require_logger.logger.debug("[BlobStorage] Initialized provider", { provider: defaultProvider.providerId });
173
170
  }
174
171
  return defaultProvider;
175
172
  }
@@ -199,7 +196,7 @@ async function storeBlob(data, mimeType, refContext) {
199
196
  try {
200
197
  await provider.deleteByHash(result.ref.hash);
201
198
  } catch (cleanupError) {
202
- require_logger.logger_default.warn("[BlobStorage] Failed to rollback blob after DB error", {
199
+ require_logger.logger.warn("[BlobStorage] Failed to rollback blob after DB error", {
203
200
  error: cleanupError,
204
201
  hash: result.ref.hash
205
202
  });
@@ -214,7 +211,7 @@ async function getBlobByHash(hash) {
214
211
  async function recordBlobReference(hash, refContext) {
215
212
  if (!refContext.evalId) return;
216
213
  if (!await getBlobStorageProvider().exists(hash).catch(() => false)) {
217
- require_logger.logger_default.debug("[BlobStorage] Attempted to record reference for missing blob", {
214
+ require_logger.logger.debug("[BlobStorage] Attempted to record reference for missing blob", {
218
215
  hash,
219
216
  evalId: refContext.evalId,
220
217
  location: refContext.location
@@ -233,36 +230,36 @@ async function recordBlobReference(hash, refContext) {
233
230
  kind: refContext.kind
234
231
  }).run();
235
232
  }
236
-
237
233
  //#endregion
238
- Object.defineProperty(exports, 'BLOB_MAX_SIZE', {
239
- enumerable: true,
240
- get: function () {
241
- return BLOB_MAX_SIZE;
242
- }
234
+ Object.defineProperty(exports, "BLOB_MAX_SIZE", {
235
+ enumerable: true,
236
+ get: function() {
237
+ return BLOB_MAX_SIZE;
238
+ }
243
239
  });
244
- Object.defineProperty(exports, 'BLOB_MIN_SIZE', {
245
- enumerable: true,
246
- get: function () {
247
- return BLOB_MIN_SIZE;
248
- }
240
+ Object.defineProperty(exports, "BLOB_MIN_SIZE", {
241
+ enumerable: true,
242
+ get: function() {
243
+ return BLOB_MIN_SIZE;
244
+ }
249
245
  });
250
- Object.defineProperty(exports, 'getBlobByHash', {
251
- enumerable: true,
252
- get: function () {
253
- return getBlobByHash;
254
- }
246
+ Object.defineProperty(exports, "getBlobByHash", {
247
+ enumerable: true,
248
+ get: function() {
249
+ return getBlobByHash;
250
+ }
255
251
  });
256
- Object.defineProperty(exports, 'recordBlobReference', {
257
- enumerable: true,
258
- get: function () {
259
- return recordBlobReference;
260
- }
252
+ Object.defineProperty(exports, "recordBlobReference", {
253
+ enumerable: true,
254
+ get: function() {
255
+ return recordBlobReference;
256
+ }
261
257
  });
262
- Object.defineProperty(exports, 'storeBlob', {
263
- enumerable: true,
264
- get: function () {
265
- return storeBlob;
266
- }
258
+ Object.defineProperty(exports, "storeBlob", {
259
+ enumerable: true,
260
+ get: function() {
261
+ return storeBlob;
262
+ }
267
263
  });
268
- //# sourceMappingURL=blobs-673H0jCl.cjs.map
264
+
265
+ //# sourceMappingURL=blobs-DvS-O6be.cjs.map