promptfoo 0.120.27 → 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 (352) hide show
  1. package/README.md +1 -1
  2. package/dist/src/{ListApp-8WOe2nT6.js → ListApp-Du7YVwj5.js} +2 -4
  3. package/dist/src/accounts-BgNJDBE6.js +206 -0
  4. package/dist/src/{accounts-Fl2J3_Fu.cjs → accounts-Bx-x3bmW.cjs} +77 -78
  5. package/dist/src/{accounts-DVINui-2.js → accounts-CMqkzrVf.js} +39 -34
  6. package/dist/src/{accounts-CPDRAMND.js → accounts-xrUGFA6n.js} +38 -33
  7. package/dist/src/{agentic-utils-D922n6mm.js → agentic-utils-BKIN5PKu.js} +9 -10
  8. package/dist/src/{agents-BO2n8Z0d.cjs → agents-B0f4HICh.cjs} +37 -40
  9. package/dist/src/{agents-BXLmVsxR.js → agents-C-dDThPK.js} +37 -37
  10. package/dist/src/{agents-DgJf2-ez.cjs → agents-CErsqg5U.cjs} +16 -17
  11. package/dist/src/{agents-BcsN_BgB.js → agents-CVIn-Utx.js} +16 -12
  12. package/dist/src/{agents-hqgSV-3o.js → agents-CXknwsFX.js} +37 -40
  13. package/dist/src/{agents-pMfppv9Z.js → agents-DeH4Gu94.js} +18 -18
  14. package/dist/src/{agents-BdUTAwi-.js → agents-Dy2YpZpa.js} +38 -41
  15. package/dist/src/{agents-DNvSH78i.js → agents-aF4-T121.js} +16 -20
  16. package/dist/src/{aimlapi-DOib86oE.js → aimlapi-BAGZDo5G.js} +16 -18
  17. package/dist/src/{aimlapi-DtgPI0nE.js → aimlapi-BNfTBexL.js} +15 -17
  18. package/dist/src/{aimlapi-DTPACCB1.js → aimlapi-DHRKlBEA.js} +15 -4
  19. package/dist/src/{aimlapi-BE_Tg9Fl.cjs → aimlapi-tg0Gkcvr.cjs} +15 -16
  20. package/dist/src/app/assets/index-BFCZg7hQ.js +439 -0
  21. package/dist/src/app/index.html +1 -1
  22. package/dist/src/{audio-BRYU0BFo.js → audio-BRODU0UK.js} +7 -9
  23. package/dist/src/{audio-Cwo68yZS.cjs → audio-BWeaWovU.cjs} +6 -7
  24. package/dist/src/{audio-BnRUGAm_.js → audio-CHQ4r-RV.js} +6 -5
  25. package/dist/src/{audio-MSRki4JU.js → audio-tf_NBjlC.js} +6 -8
  26. package/dist/src/{base-h961VXYk.js → base-B0tcrnq_.js} +11 -13
  27. package/dist/src/{base-XB2tDJrB.js → base-B4QJRyFS.js} +11 -13
  28. package/dist/src/{base-pGVmXNl4.cjs → base-DBtwl2FR.cjs} +36 -38
  29. package/dist/src/base-fEDN28WM.js +193 -0
  30. package/dist/src/{blobs-BM_e6hCa.js → blobs-BAU-dXan.js} +9 -12
  31. package/dist/src/{blobs-CR5C4Ihh.js → blobs-Bpg5rH6i.js} +9 -12
  32. package/dist/src/{blobs-B-KQAFhX.cjs → blobs-DvS-O6be.cjs} +34 -37
  33. package/dist/src/blobs-qTYm-1PY.js +236 -0
  34. package/dist/src/{cache-CIpsoBZR.js → cache-8XhNqPKW.js} +64 -67
  35. package/dist/src/cache-Bbn1Nyrd.cjs +5 -0
  36. package/dist/src/cache-BwsMSda7.js +6 -0
  37. package/dist/src/{cache-jsiwsAJv.js → cache-CG0SlR1d.js} +64 -66
  38. package/dist/src/{cache-BTVYfbka.cjs → cache-COish3-W.cjs} +114 -117
  39. package/dist/src/cache-D3eqDYGU.js +739 -0
  40. package/dist/src/{chat-D31K7C4u.cjs → chat-2K608PeQ.cjs} +20 -21
  41. package/dist/src/chat-BKm79wib.js +764 -0
  42. package/dist/src/{chat-B84t99NW.js → chat-CM_kyI8B.js} +20 -9
  43. package/dist/src/{chat-BcPjZXIp.js → chat-CRWNNq73.js} +41 -44
  44. package/dist/src/{chat-CcUCysjU.js → chat-CznLWr_D.js} +41 -44
  45. package/dist/src/{chat-DwWifjxi.js → chat-DHMH-N64.js} +20 -22
  46. package/dist/src/{chat-BE44YOc6.cjs → chat-DaqekjFr.cjs} +61 -64
  47. package/dist/src/{chat-DZM2GUHO.js → chat-DxysjBvt.js} +21 -23
  48. package/dist/src/{chatkit-D67HS_0b.js → chatkit-65VXf5SR.js} +58 -58
  49. package/dist/src/{chatkit-DAB_qfzI.js → chatkit-Be-Q-a9F.js} +58 -60
  50. package/dist/src/{chatkit-Biqb_wsD.js → chatkit-BxFvW8KY.js} +58 -60
  51. package/dist/src/{chatkit-PGG4ZYIn.cjs → chatkit-DKyPi1Gs.cjs} +58 -60
  52. package/dist/src/chunk-DEq-mXcV.js +15 -0
  53. package/dist/src/chunk-DRamLcfz.js +16 -0
  54. package/dist/src/{claude-agent-sdk-SVM6AdBu.js → claude-agent-sdk-BLTu0WBO.js} +31 -31
  55. package/dist/src/{claude-agent-sdk-C9SiaQub.cjs → claude-agent-sdk-CJH22shf.cjs} +31 -28
  56. package/dist/src/{claude-agent-sdk-C-IOTPfo.js → claude-agent-sdk-D6_k9FKA.js} +31 -29
  57. package/dist/src/{claude-agent-sdk-CiluSyW1.js → claude-agent-sdk-Dy5lT-Tx.js} +33 -20
  58. package/dist/src/{cloud-CZ-q9Ier.js → cloud-Bc9526yV.js} +7 -9
  59. package/dist/src/cloud-DmE0EwsY.js +4 -0
  60. package/dist/src/{cloudflare-ai-BahKHyhh.js → cloudflare-ai-C9r2sRhw.js} +16 -18
  61. package/dist/src/{cloudflare-ai-Dxyt50Nl.js → cloudflare-ai-CWWJCRim.js} +16 -4
  62. package/dist/src/{cloudflare-ai-Dfahv5SY.cjs → cloudflare-ai-ClWSdor4.cjs} +16 -17
  63. package/dist/src/{cloudflare-ai-v_qZD6_q.js → cloudflare-ai-ICsOuD-z.js} +17 -19
  64. package/dist/src/{cloudflare-gateway-BPWoZIzJ.cjs → cloudflare-gateway-C2_-KG5o.cjs} +21 -22
  65. package/dist/src/{cloudflare-gateway-Bi_FpOFy.js → cloudflare-gateway-D6O7AlYb.js} +23 -23
  66. package/dist/src/{cloudflare-gateway-btS7h1OZ.js → cloudflare-gateway-D6xFc5pa.js} +21 -25
  67. package/dist/src/{cloudflare-gateway-C0guUNwk.js → cloudflare-gateway-pXGHxJ47.js} +26 -14
  68. package/dist/src/{codex-sdk-DSxAnbfT.js → codex-sdk-C6UMlxwV.js} +28 -29
  69. package/dist/src/{codex-sdk-IYVi9fuM.js → codex-sdk-DUwKWezN.js} +28 -27
  70. package/dist/src/{codex-sdk-DulY0ZRq.js → codex-sdk-GGAw0qbD.js} +28 -29
  71. package/dist/src/{codex-sdk-DFKMtAyf.cjs → codex-sdk-fAO0c3yA.cjs} +28 -29
  72. package/dist/src/{cometapi-DkNBMk0G.js → cometapi-BasUi7-_.js} +17 -19
  73. package/dist/src/{cometapi-DzrR3SR_.js → cometapi-Bbjp5V4x.js} +16 -4
  74. package/dist/src/{cometapi-C9EEpJzT.js → cometapi-DkXrKi5z.js} +21 -24
  75. package/dist/src/{cometapi-DIO64tf4.cjs → cometapi-vY6aDZgo.cjs} +21 -22
  76. package/dist/src/{completion-CG29bfKX.js → completion-6Mx_iXxK.js} +11 -13
  77. package/dist/src/{completion-Bgf1VJoq.js → completion-C5rtR_9P.js} +11 -13
  78. package/dist/src/{completion-CCRT4kX1.cjs → completion-CDOouNzq.cjs} +21 -23
  79. package/dist/src/completion-C_P3ypkJ.js +120 -0
  80. package/dist/src/{createHash-Dw_iLu31.js → createHash-CTQmL3G2.js} +2 -3
  81. package/dist/src/{createHash-CYQy4YeL.cjs → createHash-CfZSc0b4.cjs} +13 -14
  82. package/dist/src/{createHash-CJcfskIZ.js → createHash-Da8fMwqB.js} +2 -3
  83. package/dist/src/createHash-DmPQkvBh.js +15 -0
  84. package/dist/src/{docker-D-ayp2FW.js → docker-5KcG-_86.js} +18 -20
  85. package/dist/src/{docker-DNcLR4Ig.cjs → docker-BwsKwxFs.cjs} +18 -19
  86. package/dist/src/{docker-egERKxCF.js → docker-CZnqU1XV.js} +18 -7
  87. package/dist/src/{docker-B81N0t4e.js → docker-DzxyDPIj.js} +19 -21
  88. package/dist/src/entrypoint.js +2 -3
  89. package/dist/src/{errors-DnGCbnx8.js → errors-P6ll7XSJ.js} +2 -2
  90. package/dist/src/{esm-B9dPm_BF.js → esm-C03C-mv3.js} +17 -20
  91. package/dist/src/{esm-D2pZ87fL.js → esm-CaIwzWR5.js} +18 -21
  92. package/dist/src/esm-Cd1AjG1D.js +379 -0
  93. package/dist/src/{esm-Ct-Joyue.cjs → esm-CnNt7sI4.cjs} +47 -49
  94. package/dist/src/eval-17JizQIv.js +15 -0
  95. package/dist/src/{eval-C-Nr6wX_.js → eval-DmFyWU7i.js} +47 -54
  96. package/dist/src/{evalResult-4BzI2tmj.js → evalResult-CDQiuUuf.js} +16 -12
  97. package/dist/src/{evalResult-DXMWJ3sx.js → evalResult-CTG2AHOS.js} +10 -11
  98. package/dist/src/evalResult-Cqj8pldJ.js +12 -0
  99. package/dist/src/{evalResult-CX8wQecI.cjs → evalResult-Dap2CekP.cjs} +20 -21
  100. package/dist/src/evalResult-DvcJAWJU.cjs +10 -0
  101. package/dist/src/evalResult-Hftn-S_i.js +10 -0
  102. package/dist/src/evaluator-B2CFNt-P.js +36 -0
  103. package/dist/src/{evaluator-8aGyV12L.js → evaluator-DPFRbFIL.js} +201 -229
  104. package/dist/src/{extractor-CD5yKL-G.js → extractor-CFG6bcWJ.js} +22 -24
  105. package/dist/src/{extractor-C031XmTA.cjs → extractor-DX36oYEv.cjs} +37 -39
  106. package/dist/src/{extractor-V5x_m1i0.js → extractor-M67RUtg6.js} +22 -24
  107. package/dist/src/extractor-YMU_Gvt8.js +374 -0
  108. package/dist/src/{fetch-D3OHf-lV.js → fetch-4M3YRaqL.js} +40 -45
  109. package/dist/src/fetch-60Gzydls.js +777 -0
  110. package/dist/src/{fetch-CXZI9RRr.js → fetch-BMv0O527.js} +23 -35
  111. package/dist/src/{fetch-BmbD-v1L.cjs → fetch-BxUk8odA.cjs} +244 -277
  112. package/dist/src/fetch-KV5kNASw.js +5 -0
  113. package/dist/src/{fileExtensions-ePDqouxn.js → fileExtensions-DnqA1y9x.js} +2 -2
  114. package/dist/src/{fileExtensions-BpuMmaFL.js → fileExtensions-Ds-foDzt.js} +2 -2
  115. package/dist/src/fileExtensions-LcDYkU4v.js +85 -0
  116. package/dist/src/{fileExtensions-DkJYkWUy.cjs → fileExtensions-bYh77CN8.cjs} +27 -28
  117. package/dist/src/{formatDuration-CdevI3An.js → formatDuration-DgBVMN65.js} +2 -2
  118. package/dist/src/{genaiTracer-Ce19n68P.js → genaiTracer-70Z8BIuV.js} +2 -3
  119. package/dist/src/{genaiTracer-CqNnnXrE.js → genaiTracer-C1rxGO8Q.js} +2 -3
  120. package/dist/src/genaiTracer-D3fD9dNV.js +256 -0
  121. package/dist/src/{genaiTracer-Dres3qrN.cjs → genaiTracer-DN4dQywX.cjs} +13 -14
  122. package/dist/src/graders-Bu0H9nXi.js +32 -0
  123. package/dist/src/{graders-DTeBrzWp.js → graders-CHO8EPM4.js} +349 -397
  124. package/dist/src/graders-Cfhkvx-e.js +34 -0
  125. package/dist/src/{graders--1y2u9HO.js → graders-CpdqD9PI.js} +349 -397
  126. package/dist/src/graders-DClJVpGP.cjs +32 -0
  127. package/dist/src/{graders-DohM2dir.cjs → graders-DOXycdlG.cjs} +684 -732
  128. package/dist/src/graders-DcnJsrMO.js +32 -0
  129. package/dist/src/graders-R9rYUM0d.js +13466 -0
  130. package/dist/src/{image-C3wHC9_h.js → image-BmEZqVmk.js} +9 -10
  131. package/dist/src/{image-O1u4bCFg.js → image-CBBVXWuT.js} +9 -10
  132. package/dist/src/{image-DpKl2F15.cjs → image-CDLQOcqT.cjs} +6 -7
  133. package/dist/src/{image-DmE-niFE.js → image-DJEvKveK.js} +6 -5
  134. package/dist/src/{image-CuKHuccK.cjs → image-DTedmQPg.cjs} +29 -30
  135. package/dist/src/{image-B0U4Hqll.js → image-gvmivTEe.js} +7 -9
  136. package/dist/src/image-pAX56tPG.js +257 -0
  137. package/dist/src/{image-DNEIf_aI.js → image-tL5hIOFh.js} +6 -8
  138. package/dist/src/index.cjs +605 -689
  139. package/dist/src/index.d.cts +11 -7
  140. package/dist/src/index.d.ts +11 -3
  141. package/dist/src/index.js +570 -658
  142. package/dist/src/{interactiveCheck-Bxj1Swex.js → interactiveCheck-BgLZUIt3.js} +7 -8
  143. package/dist/src/{invariant-DT20jrBd.js → invariant-BtWWVVhl.js} +2 -2
  144. package/dist/src/{invariant-1pAf2CD1.js → invariant-Ddh24eXh.js} +2 -2
  145. package/dist/src/{invariant-CKcJAQ6M.cjs → invariant-kfQ8Bu82.cjs} +7 -8
  146. package/dist/src/invariant-vgHWClmd.js +25 -0
  147. package/dist/src/{knowledgeBase-Be_zyW4L.js → knowledgeBase-CLJybhnF.js} +16 -16
  148. package/dist/src/{knowledgeBase-CEzQobWX.js → knowledgeBase-CoU-UQBg.js} +14 -9
  149. package/dist/src/{knowledgeBase-BZ41IFwq.js → knowledgeBase-DjWPVqSb.js} +14 -18
  150. package/dist/src/{knowledgeBase-D-5BMXlr.cjs → knowledgeBase-wkxuRFhA.cjs} +14 -15
  151. package/dist/src/{litellm-DnbRJ2if.js → litellm-B9Hysuri.js} +16 -18
  152. package/dist/src/{litellm-CRDqPhNI.js → litellm-CTfa0hqi.js} +15 -17
  153. package/dist/src/{litellm-hUSNM_M2.cjs → litellm-NYpQ8RQu.cjs} +15 -16
  154. package/dist/src/{litellm-9vR8zpfU.js → litellm-ePxtr9F1.js} +15 -4
  155. package/dist/src/{logger-CG1uZPbQ.js → logger-CT3IKMKA.js} +10 -29
  156. package/dist/src/{logger-B7sBeGa0.cjs → logger-Cp1GPUjj.cjs} +152 -180
  157. package/dist/src/logger-DLcq4dWf.js +713 -0
  158. package/dist/src/{logger-LSBxlt7a.js → logger-KkObSCzq.js} +13 -31
  159. package/dist/src/{luma-ray-Hm3d6VJE.cjs → luma-ray-B0GGNRc1.cjs} +20 -21
  160. package/dist/src/{luma-ray-drvgdpP9.js → luma-ray-BE2mOt6N.js} +20 -13
  161. package/dist/src/{luma-ray-4blv9iZ2.js → luma-ray-BW9IRGIc.js} +22 -21
  162. package/dist/src/{luma-ray-B2__8lYH.js → luma-ray-Cm1KZBhs.js} +20 -23
  163. package/dist/src/main.js +1170 -1321
  164. package/dist/src/{messages-XhiwCbi4.cjs → messages-1JrJs91T.cjs} +32 -34
  165. package/dist/src/{messages-CGPPidQr.js → messages-1x9atZmP.js} +22 -24
  166. package/dist/src/{messages-Uee41Mj5.js → messages-BLbWdsyt.js} +22 -24
  167. package/dist/src/messages-D8EA0oDc.js +240 -0
  168. package/dist/src/{meteor-BYykdXrV.js → meteor-44VjEACX.js} +3 -4
  169. package/dist/src/{meteor-CsopaHrH.js → meteor-D-SotUw9.js} +3 -4
  170. package/dist/src/{meteor-e-E-2vVl.cjs → meteor-DLZZ3osF.cjs} +3 -4
  171. package/dist/src/{meteor-C8lGP6P4.js → meteor-DUiCJRC-.js} +3 -4
  172. package/dist/src/{modelslab-yKz-ZNB4.js → modelslab-C1OLRmVX.js} +17 -10
  173. package/dist/src/{modelslab-E9gO-bYd.js → modelslab-CqXBy3U8.js} +18 -20
  174. package/dist/src/{modelslab-lUVW0cmB.cjs → modelslab-DcOSFwKh.cjs} +17 -18
  175. package/dist/src/{modelslab-ClBkr8_9.js → modelslab-X5-4LroM.js} +17 -19
  176. package/dist/src/{nova-reel-Dk8jNpId.js → nova-reel-BgS1ZWuK.js} +20 -13
  177. package/dist/src/{nova-reel-u2eF2Cxm.js → nova-reel-D2ZkOSyr.js} +22 -21
  178. package/dist/src/{nova-reel-D8CuO6QH.cjs → nova-reel-D9xfaMBs.cjs} +20 -21
  179. package/dist/src/{nova-reel-P9bwvtYX.js → nova-reel-DihqLeol.js} +20 -23
  180. package/dist/src/{nova-sonic-Ds1C-dpm.cjs → nova-sonic-DVu3mMIy.cjs} +30 -31
  181. package/dist/src/{nova-sonic-CK2rAiKi.js → nova-sonic-DezhVUYT.js} +30 -26
  182. package/dist/src/{nova-sonic-BaqWlkds.js → nova-sonic-P-CdUMlV.js} +30 -31
  183. package/dist/src/{nova-sonic-yZapPLv7.js → nova-sonic-Q3BOJeig.js} +31 -32
  184. package/dist/src/{openai-DUFopMrH.cjs → openai-Cuif0GEt.cjs} +8 -9
  185. package/dist/src/{openai-PblZ3jUE.js → openai-DElQ-fPX.js} +3 -4
  186. package/dist/src/{openai-CcN1B8Sb.js → openai-DhbB7eWK.js} +3 -4
  187. package/dist/src/openai-j-sE2O7r.js +44 -0
  188. package/dist/src/{openclaw-A-3_loM7.js → openclaw-BiSZPL7J.js} +20 -14
  189. package/dist/src/{openclaw-COn6QzDi.js → openclaw-Bv1DINsX.js} +20 -27
  190. package/dist/src/{openclaw-a3lylB-V.js → openclaw-D1D_ej1z.js} +21 -28
  191. package/dist/src/{openclaw-B6qqDr_u.cjs → openclaw-DAfWQn-o.cjs} +33 -39
  192. package/dist/src/opencode-sdk-C7m-wRfI.js +560 -0
  193. package/dist/src/opencode-sdk-CfaLN8PY.cjs +564 -0
  194. package/dist/src/opencode-sdk-D95s6SnR.js +562 -0
  195. package/dist/src/opencode-sdk-DxUPkLT7.js +560 -0
  196. package/dist/src/{otlpReceiver-oyf5wLGC.js → otlpReceiver--AIRW_S4.js} +53 -51
  197. package/dist/src/{otlpReceiver-BmmTiMjA.js → otlpReceiver-Bn5wGB1v.js} +53 -55
  198. package/dist/src/{otlpReceiver-lXsYVbpj.cjs → otlpReceiver-Diec4cln.cjs} +53 -55
  199. package/dist/src/{otlpReceiver-94URx7UW.js → otlpReceiver-g3ByGaXs.js} +53 -55
  200. package/dist/src/{providerRegistry-Cq_JK_CJ.js → providerRegistry-B0RUOLI_.js} +7 -8
  201. package/dist/src/{providerRegistry-DSSHjMKf.js → providerRegistry-CD8MEar9.js} +7 -8
  202. package/dist/src/{providerRegistry-CvHEVJad.cjs → providerRegistry-Civky8Ar.cjs} +12 -13
  203. package/dist/src/providerRegistry-DM8rZYol.js +45 -0
  204. package/dist/src/providers-B3HvufyI.js +33246 -0
  205. package/dist/src/{providers-BnFpbY_s.js → providers-BKRJTjBz.js} +1536 -1669
  206. package/dist/src/providers-C1rOSHiR.js +32 -0
  207. package/dist/src/{providers-Iil64vk9.js → providers-CFLy1_ji.js} +1543 -1676
  208. package/dist/src/{providers-DHbjzW2e.cjs → providers-CFu-TZl-.cjs} +1896 -2029
  209. package/dist/src/providers-CxmDwEFf.cjs +31 -0
  210. package/dist/src/providers-Dodakqr0.js +30 -0
  211. package/dist/src/providers-GIQ2TcsA.js +30 -0
  212. package/dist/src/{pythonUtils-CcT5LH1M.js → pythonUtils-C3py6GC1.js} +18 -19
  213. package/dist/src/{pythonUtils-DBbuI3QJ.cjs → pythonUtils-CTU3Y3lw.cjs} +42 -43
  214. package/dist/src/{pythonUtils-hZ8LeQLv.js → pythonUtils-D5nxkQ0P.js} +18 -19
  215. package/dist/src/pythonUtils-D6fwaDSg.js +249 -0
  216. package/dist/src/{quiverai-BuI0tE39.js → quiverai-C2jVwbH1.js} +8 -7
  217. package/dist/src/{quiverai-DCGSZt4U.js → quiverai-CI6gYJVI.js} +8 -10
  218. package/dist/src/{quiverai-DiMVJQDz.cjs → quiverai-CLkWkyZc.cjs} +8 -9
  219. package/dist/src/{quiverai-fQNkExW4.js → quiverai-MHSxbmmZ.js} +9 -11
  220. package/dist/src/{render-Dj1smHEb.js → render-Drod8m7K.js} +4 -5
  221. package/dist/src/{responses-DOAFFENS.js → responses-BKqJmhhc.js} +22 -25
  222. package/dist/src/{responses-CxzoQoBe.js → responses-CGw0DCzh.js} +22 -25
  223. package/dist/src/responses-jxdehPkC.js +660 -0
  224. package/dist/src/{responses-ghR3IOfy.cjs → responses-tD4Bd4dc.cjs} +37 -40
  225. package/dist/src/rubyUtils-BUHu6PhO.js +5 -0
  226. package/dist/src/{rubyUtils-CwbGmgYN.js → rubyUtils-BUVePouc.js} +27 -20
  227. package/dist/src/rubyUtils-BcuGX77l.js +222 -0
  228. package/dist/src/{rubyUtils-DudlFZed.js → rubyUtils-Boc4HZzX.js} +18 -19
  229. package/dist/src/rubyUtils-CP42kMvq.cjs +4 -0
  230. package/dist/src/{rubyUtils-C8MhKGHb.cjs → rubyUtils-DhCAlxZr.cjs} +48 -50
  231. package/dist/src/{sagemaker-gmskuyre.js → sagemaker-BK4Zb993.js} +75 -70
  232. package/dist/src/{sagemaker-DuM71dVU.js → sagemaker-BfiWTmvn.js} +77 -77
  233. package/dist/src/{sagemaker-77zbJ2Q2.cjs → sagemaker-CcQHM1jV.cjs} +75 -76
  234. package/dist/src/{sagemaker-CcxhlOAR.js → sagemaker-D2Q1c-sD.js} +75 -79
  235. package/dist/src/{scanner-DJYiSXQj.js → scanner-J8CA3LsV.js} +100 -121
  236. package/dist/src/server/index.js +5505 -67416
  237. package/dist/src/{server-B5v33lvE.cjs → server-B0PPuDw-.cjs} +57 -67
  238. package/dist/src/server-B1vi21hA.js +7 -0
  239. package/dist/src/{server-RV_i_YX5.js → server-BC7XJFgr.js} +19 -24
  240. package/dist/src/server-Cm9Kai_h.cjs +5 -0
  241. package/dist/src/{server-BJ4m4f1D.js → server-DbFphssR.js} +26 -29
  242. package/dist/src/server-OAs3nBRT.js +229 -0
  243. package/dist/src/{signal-BW33JuId.js → signal-BOTbd53Z.js} +9 -11
  244. package/dist/src/{slack-DEURelTy.cjs → slack-BmVAVGaK.cjs} +7 -8
  245. package/dist/src/{slack-BQYeW9L3.js → slack-DCUPTzS2.js} +8 -8
  246. package/dist/src/{slack-BB6yuZzp.js → slack-DOdy_kyv.js} +7 -8
  247. package/dist/src/{slack-2pRrhhgJ.js → slack-DXMKtA-f.js} +7 -9
  248. package/dist/src/store-BNmZ1KAz.cjs +5 -0
  249. package/dist/src/{store-D7CgQzAR.cjs → store-BSc-TF2w.cjs} +44 -45
  250. package/dist/src/store-BltJg2cd.js +6 -0
  251. package/dist/src/{store-s3SftUwF.js → store-D1tv90v3.js} +34 -35
  252. package/dist/src/{store-DJNsD1iC.js → store-DQLEjuEO.js} +40 -36
  253. package/dist/src/store-Ub2vaGJ1.js +228 -0
  254. package/dist/src/{tables-DfTsNN7X.js → tables-5EvT_Bwn.js} +19 -21
  255. package/dist/src/{tables-BKTmd6u7.cjs → tables-C7K-XKWp.cjs} +89 -91
  256. package/dist/src/{tables-DMegD0Xf.js → tables-D36WTqKX.js} +21 -23
  257. package/dist/src/tables-xKANLRBD.js +288 -0
  258. package/dist/src/telemetry-5BCRNBbe.cjs +5 -0
  259. package/dist/src/{telemetry-BedSm-bZ.js → telemetry-C15ziL8u.js} +17 -14
  260. package/dist/src/{telemetry--WAdAfVi.js → telemetry-C2YDkUQH.js} +11 -13
  261. package/dist/src/{telemetry-DQgVBCAb.cjs → telemetry-CbrnxHp_.cjs} +21 -24
  262. package/dist/src/telemetry-D4W5hboe.js +7 -0
  263. package/dist/src/telemetry-DMb2Mpfm.js +171 -0
  264. package/dist/src/{text-oiSbwSOI.js → text-B_UCRPp2.js} +2 -2
  265. package/dist/src/{text-oKzCBnK6.cjs → text-CW1cyrwj.cjs} +12 -13
  266. package/dist/src/{text-B_IrO4GZ.js → text-Db-Wt2u2.js} +2 -2
  267. package/dist/src/text-TIv0QYnd.js +22 -0
  268. package/dist/src/{tokenUsageUtils-FZd5O_4A.js → tokenUsageUtils-BDGe-iyI.js} +2 -2
  269. package/dist/src/{tokenUsageUtils-DmZSD2eU.js → tokenUsageUtils-DflFMjS0.js} +2 -2
  270. package/dist/src/tokenUsageUtils-NYT-WKS6.js +138 -0
  271. package/dist/src/{tokenUsageUtils-CXhxVj72.cjs → tokenUsageUtils-bVa1ga6f.cjs} +32 -33
  272. package/dist/src/{transcription-BO1AHegO.cjs → transcription-CL78qbOU.cjs} +14 -15
  273. package/dist/src/{transcription-mYS9vd5v.js → transcription-DAtxHhAM.js} +14 -7
  274. package/dist/src/{transcription-X2-B4vkX.js → transcription-LNZTNUUL.js} +14 -16
  275. package/dist/src/{transcription-lzBLiTFJ.js → transcription-QHh3AH6Z.js} +15 -17
  276. package/dist/src/{transform-DeGlxb0D.js → transform-Cgi24fJ7.js} +39 -47
  277. package/dist/src/{transform-B1Hi5lWS.cjs → transform-CzK1Q0zl.cjs} +24 -26
  278. package/dist/src/{transform-CYDILYDe.js → transform-DECvGmzp.js} +15 -13
  279. package/dist/src/{transform-Dfl89yi4.js → transform-DGLazrMm.js} +39 -47
  280. package/dist/src/transform-DGxXocjk.js +1506 -0
  281. package/dist/src/{transform-D5PjiWiZ.cjs → transform-DOcQeLld.cjs} +179 -187
  282. package/dist/src/transform-DTGDnAzW.js +6 -0
  283. package/dist/src/{transform-BEgStbHK.js → transform-DilY9wbS.js} +10 -12
  284. package/dist/src/transform-aa6tmVpZ.js +216 -0
  285. package/dist/src/transform-m3qNw4KP.cjs +5 -0
  286. package/dist/src/{transformersAvailability-SZnTS3pJ.js → transformersAvailability-CEVM2GNQ.js} +2 -2
  287. package/dist/src/{transformersAvailability-D-glmEy7.cjs → transformersAvailability-CwayUSlh.cjs} +2 -3
  288. package/dist/src/{transformersAvailability-CjeFXhuJ.js → transformersAvailability-D6c6ROpT.js} +2 -2
  289. package/dist/src/{types-CXQduE9o.js → types-CH3Ge2sE.js} +30 -90
  290. package/dist/src/{types-C5hEkb-x.js → types-CLKiCBW3.js} +25 -89
  291. package/dist/src/types-CN_TZ2GJ.js +3260 -0
  292. package/dist/src/{types-DWNf48sT.cjs → types-LJ0r3wbR.cjs} +500 -564
  293. package/dist/src/util-5cB-L7U3.js +1430 -0
  294. package/dist/src/util-6-GqIvzS.js +599 -0
  295. package/dist/src/{util-CoQjmE3u.js → util-B7T3SiBS.js} +4 -5
  296. package/dist/src/{util-D9eLdGfa.js → util-Betm42rL.js} +5 -6
  297. package/dist/src/{util-Bm_-UMD_.js → util-C-PPYSMq.js} +5 -6
  298. package/dist/src/{util-CyUdMzV0.cjs → util-CchiqXh_.cjs} +34 -35
  299. package/dist/src/{util-Du96oyYS.js → util-DaWTWKBK.js} +4 -5
  300. package/dist/src/{util-1wWM599Z.cjs → util-Db0a0AFH.cjs} +50 -51
  301. package/dist/src/{util-DQ984syk.js → util-Dlz_Wvgm.js} +37 -48
  302. package/dist/src/{util-_h4pVqrz.js → util-YT5HPZaS.js} +37 -48
  303. package/dist/src/{util-aLhtl3fe.cjs → util-Yz-1aEhW.cjs} +209 -220
  304. package/dist/src/util-ZZH-3QZz.js +293 -0
  305. package/dist/src/{utils-BjLy-Q72.cjs → utils-Cz9qXqII.cjs} +29 -32
  306. package/dist/src/{utils-CFMn2yHW.js → utils-XiOAgly5.js} +4 -7
  307. package/dist/src/utils-dLokC-eR.js +94 -0
  308. package/dist/src/{utils-DvWMzuMx.js → utils-f2-Moju7.js} +4 -7
  309. package/dist/tsconfig.tsbuildinfo +1 -1
  310. package/package.json +30 -30
  311. package/dist/src/app/assets/index-B2D0bCSI.js +0 -439
  312. package/dist/src/app/tsconfig.app.tsbuildinfo +0 -1
  313. package/dist/src/cache-ChPcurj7.js +0 -6
  314. package/dist/src/cache-VVu_W-yg.js +0 -8
  315. package/dist/src/cache-YLNCFEM2.cjs +0 -6
  316. package/dist/src/chunk-DHDDz29n.js +0 -22
  317. package/dist/src/chunk-FhC4c-0y.js +0 -21
  318. package/dist/src/cloud-BndfXy4H.js +0 -5
  319. package/dist/src/eval-BhHvMY82.js +0 -17
  320. package/dist/src/evalResult-Dq2gFNQY.js +0 -12
  321. package/dist/src/evalResult-nmcP5VKH.cjs +0 -12
  322. package/dist/src/evalResult-trqZjVYh.js +0 -14
  323. package/dist/src/evaluator-CnfPstzT.js +0 -39
  324. package/dist/src/fetch-IDPDue6F.cjs +0 -4
  325. package/dist/src/fetch-hKJ-It8q.js +0 -6
  326. package/dist/src/fetch-ouKnrWK-.js +0 -4
  327. package/dist/src/graders-CQn7WUsd.cjs +0 -34
  328. package/dist/src/graders-DC6QAbpW.js +0 -35
  329. package/dist/src/graders-DUWz3Y7j.js +0 -37
  330. package/dist/src/opencode-sdk-4bL9n-Gk.js +0 -382
  331. package/dist/src/opencode-sdk-BfC2zWcR.js +0 -376
  332. package/dist/src/opencode-sdk-DMJyuwMg.js +0 -380
  333. package/dist/src/opencode-sdk-Da-9adza.cjs +0 -383
  334. package/dist/src/providers-CsXB2Ix-.js +0 -35
  335. package/dist/src/providers-DO8ltjLC.js +0 -33
  336. package/dist/src/providers-Dtq-xnXd.cjs +0 -33
  337. package/dist/src/rubyUtils-BUbcND2f.js +0 -6
  338. package/dist/src/rubyUtils-Cr55X_KE.js +0 -5
  339. package/dist/src/rubyUtils-DlIiqoYo.cjs +0 -5
  340. package/dist/src/server-C2eQH4Gu.js +0 -6
  341. package/dist/src/server-CXWycu7H.cjs +0 -6
  342. package/dist/src/server-Q6OGlxxT.js +0 -8
  343. package/dist/src/store-B3EDO9Q3.js +0 -7
  344. package/dist/src/store-Dl9F8aw5.js +0 -6
  345. package/dist/src/store-SnrGrlt9.cjs +0 -6
  346. package/dist/src/telemetry-BGhiPZtl.js +0 -8
  347. package/dist/src/telemetry-CFfiYan6.cjs +0 -6
  348. package/dist/src/telemetry-DHzEduxX.js +0 -6
  349. package/dist/src/transform-C1x1ZlMQ.cjs +0 -6
  350. package/dist/src/transform-DYHjFmQu.js +0 -8
  351. package/dist/src/transform-rmwJT5JQ.js +0 -7
  352. package/dist/src/transformersAvailability-eJooj0gX.js +0 -35
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env node
2
- import { b as getEnvBool, o as logger_default } from "./logger-LSBxlt7a.js";
3
- import { c as isLoggedIntoCloud } from "./accounts-DVINui-2.js";
4
- import { a as cloudConfig } from "./cloud-CZ-q9Ier.js";
5
- import { a as BLOB_MAX_SIZE, i as storeBlob, o as BLOB_MIN_SIZE, r as recordBlobReference } from "./blobs-BM_e6hCa.js";
6
-
2
+ import { b as getEnvBool, o as logger } from "./logger-KkObSCzq.js";
3
+ import { c as isLoggedIntoCloud } from "./accounts-CMqkzrVf.js";
4
+ import { a as cloudConfig } from "./cloud-Bc9526yV.js";
5
+ import { i as storeBlob, r as recordBlobReference } from "./blobs-BAU-dXan.js";
7
6
  //#region src/blobs/remoteUpload.ts
8
7
  function buildRemoteUrl() {
9
8
  const baseUrl = cloudConfig.getApiHost();
@@ -12,7 +11,7 @@ function buildRemoteUrl() {
12
11
  try {
13
12
  return new URL("/api/blobs", baseUrl).toString();
14
13
  } catch (error) {
15
- logger_default.debug("[RemoteBlob] Invalid remote blob URL", {
14
+ logger.debug("[RemoteBlob] Invalid remote blob URL", {
16
15
  error: error instanceof Error ? error.message : String(error),
17
16
  baseUrl
18
17
  });
@@ -27,7 +26,7 @@ async function uploadBlobRemote(buffer, mimeType, context) {
27
26
  const apiKey = cloudConfig.getApiKey();
28
27
  if (!url || !apiKey) return null;
29
28
  try {
30
- const { fetchWithProxy } = await import("./fetch-hKJ-It8q.js");
29
+ const { fetchWithProxy } = await import("./fetch-KV5kNASw.js");
31
30
  const response = await fetchWithProxy(url, {
32
31
  method: "POST",
33
32
  headers: {
@@ -41,12 +40,12 @@ async function uploadBlobRemote(buffer, mimeType, context) {
41
40
  })
42
41
  });
43
42
  if (response.status === 404 || response.status === 400) {
44
- logger_default.debug("[RemoteBlob] Remote blob upload unavailable", { status: response.status });
43
+ logger.debug("[RemoteBlob] Remote blob upload unavailable", { status: response.status });
45
44
  return null;
46
45
  }
47
46
  if (!response.ok) {
48
47
  const text = await response.text();
49
- logger_default.debug("[RemoteBlob] Failed to upload blob", {
48
+ logger.debug("[RemoteBlob] Failed to upload blob", {
50
49
  status: response.status,
51
50
  statusText: response.statusText,
52
51
  body: text
@@ -55,16 +54,15 @@ async function uploadBlobRemote(buffer, mimeType, context) {
55
54
  }
56
55
  const data = await response.json();
57
56
  if (!data?.ref?.hash) {
58
- logger_default.debug("[RemoteBlob] Remote upload returned malformed response");
57
+ logger.debug("[RemoteBlob] Remote upload returned malformed response");
59
58
  return null;
60
59
  }
61
60
  return data;
62
61
  } catch (error) {
63
- logger_default.debug("[RemoteBlob] Error uploading blob", { error: error instanceof Error ? error.message : String(error) });
62
+ logger.debug("[RemoteBlob] Error uploading blob", { error: error instanceof Error ? error.message : String(error) });
64
63
  return null;
65
64
  }
66
65
  }
67
-
68
66
  //#endregion
69
67
  //#region src/blobs/extractor.ts
70
68
  const BLOB_URI_REGEX = /^promptfoo:\/\/blob\/([a-f0-9]{64})$/i;
@@ -82,13 +80,13 @@ function extractBase64(value) {
82
80
  mimeType
83
81
  };
84
82
  } catch (error) {
85
- logger_default.warn("[BlobExtractor] Failed to parse base64 data URL", { error });
83
+ logger.warn("[BlobExtractor] Failed to parse base64 data URL", { error });
86
84
  return null;
87
85
  }
88
86
  }
89
87
  function shouldExternalize(buffer) {
90
88
  const size = buffer.length;
91
- return size >= BLOB_MIN_SIZE && size <= BLOB_MAX_SIZE;
89
+ return size >= 1024 && size <= 52428800;
92
90
  }
93
91
  function getKindFromMimeType(mimeType) {
94
92
  return mimeType.startsWith("audio/") ? "audio" : "image";
@@ -114,7 +112,7 @@ function normalizeAudioMimeType(format) {
114
112
  };
115
113
  if (mimeMap[formatLower]) return mimeMap[formatLower];
116
114
  if (!/^[a-z0-9_-]+$/i.test(formatLower)) {
117
- logger_default.warn("[BlobExtractor] Invalid audio format, using default", { format });
115
+ logger.warn("[BlobExtractor] Invalid audio format, using default", { format });
118
116
  return "audio/wav";
119
117
  }
120
118
  return `audio/${formatLower}`;
@@ -131,7 +129,7 @@ function parseBinary(base64OrDataUrl, defaultMimeType) {
131
129
  mimeType: defaultMimeType
132
130
  };
133
131
  } catch (error) {
134
- logger_default.warn("[BlobExtractor] Failed to parse base64 data", { error });
132
+ logger.warn("[BlobExtractor] Failed to parse base64 data", { error });
135
133
  return null;
136
134
  }
137
135
  }
@@ -152,7 +150,7 @@ async function maybeStore(base64OrDataUrl, defaultMimeType, context, location, k
152
150
  location,
153
151
  kind
154
152
  }).catch((error) => {
155
- logger_default.debug("[BlobExtractor] Cloud upload failed (non-fatal)", {
153
+ logger.debug("[BlobExtractor] Cloud upload failed (non-fatal)", {
156
154
  error: error instanceof Error ? error.message : String(error),
157
155
  hash: ref.hash
158
156
  });
@@ -236,7 +234,7 @@ async function extractAndStoreBinaryData(response, context) {
236
234
  blobRef: stored
237
235
  };
238
236
  mutated = true;
239
- logger_default.debug("[BlobExtractor] Stored audio blob", {
237
+ logger.debug("[BlobExtractor] Stored audio blob", {
240
238
  ...context,
241
239
  hash: stored.hash
242
240
  });
@@ -247,7 +245,7 @@ async function extractAndStoreBinaryData(response, context) {
247
245
  const stored = await maybeStore(img.data, img.mimeType || "image/png", blobContext, `response.images[${idx}].data`, "image");
248
246
  if (stored) {
249
247
  mutated = true;
250
- logger_default.debug("[BlobExtractor] Stored image blob", {
248
+ logger.debug("[BlobExtractor] Stored image blob", {
251
249
  ...context,
252
250
  hash: stored.hash
253
251
  });
@@ -284,7 +282,7 @@ async function extractAndStoreBinaryData(response, context) {
284
282
  if (stored) {
285
283
  next.output = stored.uri;
286
284
  mutated = true;
287
- logger_default.debug("[BlobExtractor] Stored output blob", {
285
+ logger.debug("[BlobExtractor] Stored output blob", {
288
286
  ...context,
289
287
  hash: stored.hash
290
288
  });
@@ -303,7 +301,7 @@ async function extractAndStoreBinaryData(response, context) {
303
301
  storedUris.push(stored.uri);
304
302
  jsonMutated = true;
305
303
  mutated = true;
306
- logger_default.debug("[BlobExtractor] Stored image blob from b64_json", {
304
+ logger.debug("[BlobExtractor] Stored image blob from b64_json", {
307
305
  ...context,
308
306
  hash: stored.hash
309
307
  });
@@ -321,7 +319,7 @@ async function extractAndStoreBinaryData(response, context) {
321
319
  }
322
320
  }
323
321
  } catch (err) {
324
- logger_default.debug("[BlobExtractor] Failed to parse base64 JSON output", {
322
+ logger.debug("[BlobExtractor] Failed to parse base64 JSON output", {
325
323
  error: err instanceof Error ? err.message : String(err),
326
324
  location: "response.output"
327
325
  });
@@ -371,7 +369,7 @@ async function recordExistingBlobReferences(value, context, location) {
371
369
  }
372
370
  if (value && typeof value === "object") for (const [key, child] of Object.entries(value)) await recordExistingBlobReferences(child, context, location ? `${location}.${key}` : key);
373
371
  }
374
-
375
372
  //#endregion
376
373
  export { isBlobStorageEnabled as n, shouldAttemptRemoteBlobUpload as r, extractAndStoreBinaryData as t };
377
- //# sourceMappingURL=extractor-CD5yKL-G.js.map
374
+
375
+ //# sourceMappingURL=extractor-CFG6bcWJ.js.map
@@ -1,8 +1,7 @@
1
- const require_logger = require('./logger-B7sBeGa0.cjs');
2
- const require_fetch = require('./fetch-BmbD-v1L.cjs');
3
- const require_accounts = require('./accounts-Fl2J3_Fu.cjs');
4
- const require_blobs = require('./blobs-B-KQAFhX.cjs');
5
-
1
+ const require_logger = require("./logger-Cp1GPUjj.cjs");
2
+ const require_fetch = require("./fetch-BxUk8odA.cjs");
3
+ const require_accounts = require("./accounts-Bx-x3bmW.cjs");
4
+ const require_blobs = require("./blobs-DvS-O6be.cjs");
6
5
  //#region src/blobs/remoteUpload.ts
7
6
  function buildRemoteUrl() {
8
7
  const baseUrl = require_fetch.cloudConfig.getApiHost();
@@ -11,7 +10,7 @@ function buildRemoteUrl() {
11
10
  try {
12
11
  return new URL("/api/blobs", baseUrl).toString();
13
12
  } catch (error) {
14
- require_logger.logger_default.debug("[RemoteBlob] Invalid remote blob URL", {
13
+ require_logger.logger.debug("[RemoteBlob] Invalid remote blob URL", {
15
14
  error: error instanceof Error ? error.message : String(error),
16
15
  baseUrl
17
16
  });
@@ -26,7 +25,7 @@ async function uploadBlobRemote(buffer, mimeType, context) {
26
25
  const apiKey = require_fetch.cloudConfig.getApiKey();
27
26
  if (!url || !apiKey) return null;
28
27
  try {
29
- const { fetchWithProxy } = await Promise.resolve().then(() => require("./fetch-IDPDue6F.cjs"));
28
+ const { fetchWithProxy } = await Promise.resolve().then(() => require("./fetch-BxUk8odA.cjs")).then((n) => n.fetch_exports);
30
29
  const response = await fetchWithProxy(url, {
31
30
  method: "POST",
32
31
  headers: {
@@ -40,12 +39,12 @@ async function uploadBlobRemote(buffer, mimeType, context) {
40
39
  })
41
40
  });
42
41
  if (response.status === 404 || response.status === 400) {
43
- require_logger.logger_default.debug("[RemoteBlob] Remote blob upload unavailable", { status: response.status });
42
+ require_logger.logger.debug("[RemoteBlob] Remote blob upload unavailable", { status: response.status });
44
43
  return null;
45
44
  }
46
45
  if (!response.ok) {
47
46
  const text = await response.text();
48
- require_logger.logger_default.debug("[RemoteBlob] Failed to upload blob", {
47
+ require_logger.logger.debug("[RemoteBlob] Failed to upload blob", {
49
48
  status: response.status,
50
49
  statusText: response.statusText,
51
50
  body: text
@@ -54,16 +53,15 @@ async function uploadBlobRemote(buffer, mimeType, context) {
54
53
  }
55
54
  const data = await response.json();
56
55
  if (!data?.ref?.hash) {
57
- require_logger.logger_default.debug("[RemoteBlob] Remote upload returned malformed response");
56
+ require_logger.logger.debug("[RemoteBlob] Remote upload returned malformed response");
58
57
  return null;
59
58
  }
60
59
  return data;
61
60
  } catch (error) {
62
- require_logger.logger_default.debug("[RemoteBlob] Error uploading blob", { error: error instanceof Error ? error.message : String(error) });
61
+ require_logger.logger.debug("[RemoteBlob] Error uploading blob", { error: error instanceof Error ? error.message : String(error) });
63
62
  return null;
64
63
  }
65
64
  }
66
-
67
65
  //#endregion
68
66
  //#region src/blobs/extractor.ts
69
67
  const BLOB_URI_REGEX = /^promptfoo:\/\/blob\/([a-f0-9]{64})$/i;
@@ -81,13 +79,13 @@ function extractBase64(value) {
81
79
  mimeType
82
80
  };
83
81
  } catch (error) {
84
- require_logger.logger_default.warn("[BlobExtractor] Failed to parse base64 data URL", { error });
82
+ require_logger.logger.warn("[BlobExtractor] Failed to parse base64 data URL", { error });
85
83
  return null;
86
84
  }
87
85
  }
88
86
  function shouldExternalize(buffer) {
89
87
  const size = buffer.length;
90
- return size >= require_blobs.BLOB_MIN_SIZE && size <= require_blobs.BLOB_MAX_SIZE;
88
+ return size >= 1024 && size <= 52428800;
91
89
  }
92
90
  function getKindFromMimeType(mimeType) {
93
91
  return mimeType.startsWith("audio/") ? "audio" : "image";
@@ -113,7 +111,7 @@ function normalizeAudioMimeType(format) {
113
111
  };
114
112
  if (mimeMap[formatLower]) return mimeMap[formatLower];
115
113
  if (!/^[a-z0-9_-]+$/i.test(formatLower)) {
116
- require_logger.logger_default.warn("[BlobExtractor] Invalid audio format, using default", { format });
114
+ require_logger.logger.warn("[BlobExtractor] Invalid audio format, using default", { format });
117
115
  return "audio/wav";
118
116
  }
119
117
  return `audio/${formatLower}`;
@@ -130,7 +128,7 @@ function parseBinary(base64OrDataUrl, defaultMimeType) {
130
128
  mimeType: defaultMimeType
131
129
  };
132
130
  } catch (error) {
133
- require_logger.logger_default.warn("[BlobExtractor] Failed to parse base64 data", { error });
131
+ require_logger.logger.warn("[BlobExtractor] Failed to parse base64 data", { error });
134
132
  return null;
135
133
  }
136
134
  }
@@ -151,7 +149,7 @@ async function maybeStore(base64OrDataUrl, defaultMimeType, context, location, k
151
149
  location,
152
150
  kind
153
151
  }).catch((error) => {
154
- require_logger.logger_default.debug("[BlobExtractor] Cloud upload failed (non-fatal)", {
152
+ require_logger.logger.debug("[BlobExtractor] Cloud upload failed (non-fatal)", {
155
153
  error: error instanceof Error ? error.message : String(error),
156
154
  hash: ref.hash
157
155
  });
@@ -235,7 +233,7 @@ async function extractAndStoreBinaryData(response, context) {
235
233
  blobRef: stored
236
234
  };
237
235
  mutated = true;
238
- require_logger.logger_default.debug("[BlobExtractor] Stored audio blob", {
236
+ require_logger.logger.debug("[BlobExtractor] Stored audio blob", {
239
237
  ...context,
240
238
  hash: stored.hash
241
239
  });
@@ -246,7 +244,7 @@ async function extractAndStoreBinaryData(response, context) {
246
244
  const stored = await maybeStore(img.data, img.mimeType || "image/png", blobContext, `response.images[${idx}].data`, "image");
247
245
  if (stored) {
248
246
  mutated = true;
249
- require_logger.logger_default.debug("[BlobExtractor] Stored image blob", {
247
+ require_logger.logger.debug("[BlobExtractor] Stored image blob", {
250
248
  ...context,
251
249
  hash: stored.hash
252
250
  });
@@ -283,7 +281,7 @@ async function extractAndStoreBinaryData(response, context) {
283
281
  if (stored) {
284
282
  next.output = stored.uri;
285
283
  mutated = true;
286
- require_logger.logger_default.debug("[BlobExtractor] Stored output blob", {
284
+ require_logger.logger.debug("[BlobExtractor] Stored output blob", {
287
285
  ...context,
288
286
  hash: stored.hash
289
287
  });
@@ -302,7 +300,7 @@ async function extractAndStoreBinaryData(response, context) {
302
300
  storedUris.push(stored.uri);
303
301
  jsonMutated = true;
304
302
  mutated = true;
305
- require_logger.logger_default.debug("[BlobExtractor] Stored image blob from b64_json", {
303
+ require_logger.logger.debug("[BlobExtractor] Stored image blob from b64_json", {
306
304
  ...context,
307
305
  hash: stored.hash
308
306
  });
@@ -320,7 +318,7 @@ async function extractAndStoreBinaryData(response, context) {
320
318
  }
321
319
  }
322
320
  } catch (err) {
323
- require_logger.logger_default.debug("[BlobExtractor] Failed to parse base64 JSON output", {
321
+ require_logger.logger.debug("[BlobExtractor] Failed to parse base64 JSON output", {
324
322
  error: err instanceof Error ? err.message : String(err),
325
323
  location: "response.output"
326
324
  });
@@ -370,24 +368,24 @@ async function recordExistingBlobReferences(value, context, location) {
370
368
  }
371
369
  if (value && typeof value === "object") for (const [key, child] of Object.entries(value)) await recordExistingBlobReferences(child, context, location ? `${location}.${key}` : key);
372
370
  }
373
-
374
371
  //#endregion
375
- Object.defineProperty(exports, 'extractAndStoreBinaryData', {
376
- enumerable: true,
377
- get: function () {
378
- return extractAndStoreBinaryData;
379
- }
372
+ Object.defineProperty(exports, "extractAndStoreBinaryData", {
373
+ enumerable: true,
374
+ get: function() {
375
+ return extractAndStoreBinaryData;
376
+ }
380
377
  });
381
- Object.defineProperty(exports, 'isBlobStorageEnabled', {
382
- enumerable: true,
383
- get: function () {
384
- return isBlobStorageEnabled;
385
- }
378
+ Object.defineProperty(exports, "isBlobStorageEnabled", {
379
+ enumerable: true,
380
+ get: function() {
381
+ return isBlobStorageEnabled;
382
+ }
386
383
  });
387
- Object.defineProperty(exports, 'shouldAttemptRemoteBlobUpload', {
388
- enumerable: true,
389
- get: function () {
390
- return shouldAttemptRemoteBlobUpload;
391
- }
384
+ Object.defineProperty(exports, "shouldAttemptRemoteBlobUpload", {
385
+ enumerable: true,
386
+ get: function() {
387
+ return shouldAttemptRemoteBlobUpload;
388
+ }
392
389
  });
393
- //# sourceMappingURL=extractor-C031XmTA.cjs.map
390
+
391
+ //# sourceMappingURL=extractor-DX36oYEv.cjs.map
@@ -1,8 +1,7 @@
1
- import { _ as getEnvBool, i as logger_default } from "./logger-CG1uZPbQ.js";
2
- import { c as cloudConfig } from "./fetch-D3OHf-lV.js";
3
- import { o as isLoggedIntoCloud } from "./accounts-CPDRAMND.js";
4
- import { a as BLOB_MIN_SIZE, i as BLOB_MAX_SIZE, n as recordBlobReference, r as storeBlob } from "./blobs-CR5C4Ihh.js";
5
-
1
+ import { _ as getEnvBool, i as logger } from "./logger-CT3IKMKA.js";
2
+ import { o as cloudConfig } from "./fetch-60Gzydls.js";
3
+ import { o as isLoggedIntoCloud } from "./accounts-xrUGFA6n.js";
4
+ import { n as recordBlobReference, r as storeBlob } from "./blobs-Bpg5rH6i.js";
6
5
  //#region src/blobs/remoteUpload.ts
7
6
  function buildRemoteUrl() {
8
7
  const baseUrl = cloudConfig.getApiHost();
@@ -11,7 +10,7 @@ function buildRemoteUrl() {
11
10
  try {
12
11
  return new URL("/api/blobs", baseUrl).toString();
13
12
  } catch (error) {
14
- logger_default.debug("[RemoteBlob] Invalid remote blob URL", {
13
+ logger.debug("[RemoteBlob] Invalid remote blob URL", {
15
14
  error: error instanceof Error ? error.message : String(error),
16
15
  baseUrl
17
16
  });
@@ -26,7 +25,7 @@ async function uploadBlobRemote(buffer, mimeType, context) {
26
25
  const apiKey = cloudConfig.getApiKey();
27
26
  if (!url || !apiKey) return null;
28
27
  try {
29
- const { fetchWithProxy } = await import("./fetch-ouKnrWK-.js");
28
+ const { fetchWithProxy } = await import("./fetch-60Gzydls.js").then((n) => n.i);
30
29
  const response = await fetchWithProxy(url, {
31
30
  method: "POST",
32
31
  headers: {
@@ -40,12 +39,12 @@ async function uploadBlobRemote(buffer, mimeType, context) {
40
39
  })
41
40
  });
42
41
  if (response.status === 404 || response.status === 400) {
43
- logger_default.debug("[RemoteBlob] Remote blob upload unavailable", { status: response.status });
42
+ logger.debug("[RemoteBlob] Remote blob upload unavailable", { status: response.status });
44
43
  return null;
45
44
  }
46
45
  if (!response.ok) {
47
46
  const text = await response.text();
48
- logger_default.debug("[RemoteBlob] Failed to upload blob", {
47
+ logger.debug("[RemoteBlob] Failed to upload blob", {
49
48
  status: response.status,
50
49
  statusText: response.statusText,
51
50
  body: text
@@ -54,16 +53,15 @@ async function uploadBlobRemote(buffer, mimeType, context) {
54
53
  }
55
54
  const data = await response.json();
56
55
  if (!data?.ref?.hash) {
57
- logger_default.debug("[RemoteBlob] Remote upload returned malformed response");
56
+ logger.debug("[RemoteBlob] Remote upload returned malformed response");
58
57
  return null;
59
58
  }
60
59
  return data;
61
60
  } catch (error) {
62
- logger_default.debug("[RemoteBlob] Error uploading blob", { error: error instanceof Error ? error.message : String(error) });
61
+ logger.debug("[RemoteBlob] Error uploading blob", { error: error instanceof Error ? error.message : String(error) });
63
62
  return null;
64
63
  }
65
64
  }
66
-
67
65
  //#endregion
68
66
  //#region src/blobs/extractor.ts
69
67
  const BLOB_URI_REGEX = /^promptfoo:\/\/blob\/([a-f0-9]{64})$/i;
@@ -81,13 +79,13 @@ function extractBase64(value) {
81
79
  mimeType
82
80
  };
83
81
  } catch (error) {
84
- logger_default.warn("[BlobExtractor] Failed to parse base64 data URL", { error });
82
+ logger.warn("[BlobExtractor] Failed to parse base64 data URL", { error });
85
83
  return null;
86
84
  }
87
85
  }
88
86
  function shouldExternalize(buffer) {
89
87
  const size = buffer.length;
90
- return size >= BLOB_MIN_SIZE && size <= BLOB_MAX_SIZE;
88
+ return size >= 1024 && size <= 52428800;
91
89
  }
92
90
  function getKindFromMimeType(mimeType) {
93
91
  return mimeType.startsWith("audio/") ? "audio" : "image";
@@ -113,7 +111,7 @@ function normalizeAudioMimeType(format) {
113
111
  };
114
112
  if (mimeMap[formatLower]) return mimeMap[formatLower];
115
113
  if (!/^[a-z0-9_-]+$/i.test(formatLower)) {
116
- logger_default.warn("[BlobExtractor] Invalid audio format, using default", { format });
114
+ logger.warn("[BlobExtractor] Invalid audio format, using default", { format });
117
115
  return "audio/wav";
118
116
  }
119
117
  return `audio/${formatLower}`;
@@ -130,7 +128,7 @@ function parseBinary(base64OrDataUrl, defaultMimeType) {
130
128
  mimeType: defaultMimeType
131
129
  };
132
130
  } catch (error) {
133
- logger_default.warn("[BlobExtractor] Failed to parse base64 data", { error });
131
+ logger.warn("[BlobExtractor] Failed to parse base64 data", { error });
134
132
  return null;
135
133
  }
136
134
  }
@@ -151,7 +149,7 @@ async function maybeStore(base64OrDataUrl, defaultMimeType, context, location, k
151
149
  location,
152
150
  kind
153
151
  }).catch((error) => {
154
- logger_default.debug("[BlobExtractor] Cloud upload failed (non-fatal)", {
152
+ logger.debug("[BlobExtractor] Cloud upload failed (non-fatal)", {
155
153
  error: error instanceof Error ? error.message : String(error),
156
154
  hash: ref.hash
157
155
  });
@@ -235,7 +233,7 @@ async function extractAndStoreBinaryData(response, context) {
235
233
  blobRef: stored
236
234
  };
237
235
  mutated = true;
238
- logger_default.debug("[BlobExtractor] Stored audio blob", {
236
+ logger.debug("[BlobExtractor] Stored audio blob", {
239
237
  ...context,
240
238
  hash: stored.hash
241
239
  });
@@ -246,7 +244,7 @@ async function extractAndStoreBinaryData(response, context) {
246
244
  const stored = await maybeStore(img.data, img.mimeType || "image/png", blobContext, `response.images[${idx}].data`, "image");
247
245
  if (stored) {
248
246
  mutated = true;
249
- logger_default.debug("[BlobExtractor] Stored image blob", {
247
+ logger.debug("[BlobExtractor] Stored image blob", {
250
248
  ...context,
251
249
  hash: stored.hash
252
250
  });
@@ -283,7 +281,7 @@ async function extractAndStoreBinaryData(response, context) {
283
281
  if (stored) {
284
282
  next.output = stored.uri;
285
283
  mutated = true;
286
- logger_default.debug("[BlobExtractor] Stored output blob", {
284
+ logger.debug("[BlobExtractor] Stored output blob", {
287
285
  ...context,
288
286
  hash: stored.hash
289
287
  });
@@ -302,7 +300,7 @@ async function extractAndStoreBinaryData(response, context) {
302
300
  storedUris.push(stored.uri);
303
301
  jsonMutated = true;
304
302
  mutated = true;
305
- logger_default.debug("[BlobExtractor] Stored image blob from b64_json", {
303
+ logger.debug("[BlobExtractor] Stored image blob from b64_json", {
306
304
  ...context,
307
305
  hash: stored.hash
308
306
  });
@@ -320,7 +318,7 @@ async function extractAndStoreBinaryData(response, context) {
320
318
  }
321
319
  }
322
320
  } catch (err) {
323
- logger_default.debug("[BlobExtractor] Failed to parse base64 JSON output", {
321
+ logger.debug("[BlobExtractor] Failed to parse base64 JSON output", {
324
322
  error: err instanceof Error ? err.message : String(err),
325
323
  location: "response.output"
326
324
  });
@@ -370,7 +368,7 @@ async function recordExistingBlobReferences(value, context, location) {
370
368
  }
371
369
  if (value && typeof value === "object") for (const [key, child] of Object.entries(value)) await recordExistingBlobReferences(child, context, location ? `${location}.${key}` : key);
372
370
  }
373
-
374
371
  //#endregion
375
372
  export { isBlobStorageEnabled as n, shouldAttemptRemoteBlobUpload as r, extractAndStoreBinaryData as t };
376
- //# sourceMappingURL=extractor-V5x_m1i0.js.map
373
+
374
+ //# sourceMappingURL=extractor-M67RUtg6.js.map