promptfoo 0.121.5 → 0.121.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/dist/src/{ListApp-BRUsT43Y.js → ListApp-DLmM02JS.js} +1 -1
  2. package/dist/src/{accounts-CaLNYnf7.js → accounts-Ca7WIoPY.js} +12 -7
  3. package/dist/src/{accounts-CLJHCDDb.js → accounts-CjFnOPmb.js} +13 -8
  4. package/dist/src/{accounts-BIFntVWB.cjs → accounts-CmWzeD2d.cjs} +16 -10
  5. package/dist/src/{accounts-bnyHT7Ju.js → accounts-DanM1wq_.js} +12 -7
  6. package/dist/src/{agentic-utils-BclbiXiq.js → agentic-utils-CJ0j3fBi.js} +2 -2
  7. package/dist/src/{agentic-utils-B5krlibj.js → agentic-utils-DDEGRV9v.js} +2 -2
  8. package/dist/src/{agentic-utils-D2x0wGhB.cjs → agentic-utils-DvPWSUpb.cjs} +8 -7
  9. package/dist/src/{agentic-utils-Ba67xmgs.js → agentic-utils-TxUEMPYS.js} +2 -2
  10. package/dist/src/{agents-WULPVjbH.cjs → agents-B4sRuXg3.cjs} +7 -6
  11. package/dist/src/{agents-DhxWMCtH.js → agents-B8q7h_ek.js} +4 -4
  12. package/dist/src/{agents-BGqaTDnr.js → agents-CBgJvRkB.js} +20 -9
  13. package/dist/src/{agents-n6vPqV3i.js → agents-CYn2n3QP.js} +4 -4
  14. package/dist/src/{agents-BV9yFpXX.js → agents-D-vDNFx4.js} +20 -9
  15. package/dist/src/{agents-BYdMl1UE.js → agents-LrHuQqr1.js} +20 -9
  16. package/dist/src/{agents-emVcx3yh.js → agents-QGg76OF-.js} +2 -2
  17. package/dist/src/{agents-DiWmQYH9.cjs → agents-eHZ9nlgA.cjs} +21 -10
  18. package/dist/src/{aimlapi-uPGp0Zdo.js → aimlapi-CJEbQ0o6.js} +6 -6
  19. package/dist/src/{aimlapi-DR4pgeiC.js → aimlapi-D5HXzZ0s.js} +6 -6
  20. package/dist/src/{aimlapi-BzLjZI_m.cjs → aimlapi-T6HGNxNe.cjs} +7 -7
  21. package/dist/src/{aimlapi-BxqK9HF_.js → aimlapi-eYv3a_DK.js} +6 -6
  22. package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -1
  23. package/dist/src/app/assets/Report-BNHJKN35.js +1 -0
  24. package/dist/src/app/assets/index-BnT6P6sF.js +388 -0
  25. package/dist/src/app/assets/index-yhM8y1PP.css +1 -0
  26. package/dist/src/app/assets/{scroll-timeline-D9IT_e8Z.js → scroll-timeline-RpeTwOvs.js} +1 -1
  27. package/dist/src/app/assets/sync-5gq6fmG4.js +4 -0
  28. package/dist/src/app/assets/vendor-charts-BL9OMNU7.js +36 -0
  29. package/dist/src/app/assets/{vendor-markdown-Ch00wnNI.js → vendor-markdown-BYsQqn7Z.js} +10 -10
  30. package/dist/src/app/assets/{vendor-react-CVvmk1UB.js → vendor-react-CqWgVW6T.js} +2 -2
  31. package/dist/src/app/assets/{vendor-utils-BnEYbx2Q.js → vendor-utils-BHPO71pu.js} +1 -1
  32. package/dist/src/app/index.html +6 -6
  33. package/dist/src/{audio-Da8U9IS5.js → audio-BqnRvcWG.js} +3 -3
  34. package/dist/src/{audio-BvpTOArF.js → audio-CPMtV1yR.js} +3 -3
  35. package/dist/src/{audio-CScmnmEB.js → audio-DyiebVB3.js} +3 -3
  36. package/dist/src/{audio-C0vDeS0j.cjs → audio-FnxbEnSE.cjs} +4 -4
  37. package/dist/src/authoritativeMarkupInjection-BZIywVjG.js +74 -0
  38. package/dist/src/authoritativeMarkupInjection-DyAXAsSr.js +75 -0
  39. package/dist/src/authoritativeMarkupInjection-F2gBw0lN.cjs +74 -0
  40. package/dist/src/authoritativeMarkupInjection-QEQmFS83.js +74 -0
  41. package/dist/src/{base-BTux96b1.js → base-CKLo890h.js} +4 -3
  42. package/dist/src/{base-BOMaNEes.js → base-Co80MMCi.js} +4 -3
  43. package/dist/src/{base-Tw6uhH8K.cjs → base-DGJW48uz.cjs} +5 -4
  44. package/dist/src/{base-dYsl2hmL.js → base-E9I8zXjz.js} +4 -3
  45. package/dist/src/bestOfN-B3wNzjSB.js +137 -0
  46. package/dist/src/bestOfN-BBsO41z4.js +136 -0
  47. package/dist/src/bestOfN-CAwmg5UL.cjs +140 -0
  48. package/dist/src/bestOfN-_kTi8Bxe.js +136 -0
  49. package/dist/src/{blobs-B95F_7vE.cjs → blobs-B0977K1O.cjs} +7 -6
  50. package/dist/src/{blobs-D_gg8nbm.js → blobs-CeFdPn_T.js} +2 -2
  51. package/dist/src/{blobs-DjLby-uP.js → blobs-DODuTK-a.js} +2 -2
  52. package/dist/src/{blobs-BW4U31ue.js → blobs-Dwef1Ao1.js} +2 -2
  53. package/dist/src/{cache-DGg-yTZG.cjs → cache-CPGUA4Yl.cjs} +135 -25
  54. package/dist/src/cache-Cf7b4pWE.js +3 -0
  55. package/dist/src/{cache-Bzttsk0X.js → cache-DIXbtkNO.js} +125 -10
  56. package/dist/src/{cache-BI5BY7ey.js → cache-DpPWrkTE.js} +127 -11
  57. package/dist/src/{cache-Cr-qWIbP.js → cache-roFAE0cI.js} +125 -10
  58. package/dist/src/{chat-DChSH_Es.js → chat-CUCorGiL.js} +9 -9
  59. package/dist/src/{chat-DH97tVV9.cjs → chat-DG1wG4w0.cjs} +6 -6
  60. package/dist/src/{chat-Cx_LkwvZ.js → chat-Dabu84Br.js} +11 -11
  61. package/dist/src/{chat-BLOdH60v.js → chat-DqUFcWI0.js} +11 -11
  62. package/dist/src/{chat-vYqqv1gP.cjs → chat-DxTDQ83C.cjs} +14 -13
  63. package/dist/src/{chat-DG2LkwLq.js → chat-GmlolEwo.js} +4 -4
  64. package/dist/src/{chat-aMQZw6R7.js → chat-TP8Qifkh.js} +4 -4
  65. package/dist/src/{chat-D9nudO9b.js → chat-iwaM5UTQ.js} +4 -4
  66. package/dist/src/{chatkit-B8X34dQc.js → chatkit-B6DWi70Q.js} +3 -3
  67. package/dist/src/{chatkit-D44VyUyB.cjs → chatkit-BYveR48_.cjs} +6 -5
  68. package/dist/src/{chatkit-BXu42Qwt.js → chatkit-fARZwEfV.js} +3 -3
  69. package/dist/src/{chatkit-CbMRoeYw.js → chatkit-lb6FK02w.js} +1 -1
  70. package/dist/src/{claude-agent-sdk-BzNZeZ0N.js → claude-agent-sdk-BQNp_y-F.js} +209 -64
  71. package/dist/src/{claude-agent-sdk-BjriSVRZ.js → claude-agent-sdk-D5Jl0SDh.js} +210 -65
  72. package/dist/src/{claude-agent-sdk-BRq0bbIK.cjs → claude-agent-sdk-DH416NBD.cjs} +216 -70
  73. package/dist/src/{claude-agent-sdk-DYv_AJ8u.js → claude-agent-sdk-x1XJ1-pU.js} +210 -65
  74. package/dist/src/{cloud-Da0bofJd.js → cloud-D3DiFqH6.js} +2 -2
  75. package/dist/src/cloud-p96PA4MH.js +3 -0
  76. package/dist/src/{cloudflare-ai-CXC4b1EU.js → cloudflare-ai-B6NVI3ax.js} +4 -4
  77. package/dist/src/{cloudflare-ai-DJv5qnyb.cjs → cloudflare-ai-CEAW-xQa.cjs} +6 -6
  78. package/dist/src/{cloudflare-ai-CyBoIs1Q.js → cloudflare-ai-RFSojyXG.js} +4 -4
  79. package/dist/src/{cloudflare-ai-DGOwgexC.js → cloudflare-ai-r4tbYmWU.js} +4 -4
  80. package/dist/src/{cloudflare-gateway-D-dnkzCF.js → cloudflare-gateway-BCkLouto.js} +3 -3
  81. package/dist/src/{cloudflare-gateway-TJkVrZlB.js → cloudflare-gateway-BaZ4insB.js} +3 -3
  82. package/dist/src/{cloudflare-gateway-1sAoOyft.js → cloudflare-gateway-CF-Vb-2Z.js} +3 -3
  83. package/dist/src/{cloudflare-gateway-DKVjkDav.cjs → cloudflare-gateway-TJMLBj6I.cjs} +5 -5
  84. package/dist/src/{codex-app-server-CCe0TiDc.js → codex-app-server-B8KHEiF4.js} +5 -5
  85. package/dist/src/{codex-app-server-VMRnjZ68.cjs → codex-app-server-CnrLBCeA.cjs} +12 -11
  86. package/dist/src/{codex-app-server-CCLjqCh9.js → codex-app-server-DIXZ230V.js} +4 -4
  87. package/dist/src/{codex-app-server-CPW1LFwh.js → codex-app-server-Dd22dC_N.js} +5 -5
  88. package/dist/src/{codex-sdk-BgEFQ70r.js → codex-sdk-B6Wah8Pa.js} +5 -5
  89. package/dist/src/codex-sdk-BGjVAk23.js +3 -0
  90. package/dist/src/{codex-sdk-Bd8UbO9q.cjs → codex-sdk-CFF6gUyi.cjs} +18 -10
  91. package/dist/src/{codex-sdk-Bzb_TqX9.js → codex-sdk-CmQABzV3.js} +3 -3
  92. package/dist/src/{codex-sdk-DfvDTN33.js → codex-sdk-D2d54RL8.js} +5 -5
  93. package/dist/src/{cometapi-B5ImDlSm.js → cometapi-Bu9B8NUY.js} +7 -7
  94. package/dist/src/{cometapi-CCbpHkuF.js → cometapi-CtzNCHKu.js} +7 -7
  95. package/dist/src/{cometapi-BgAkuYCw.cjs → cometapi-DHCDlQUI.cjs} +8 -8
  96. package/dist/src/{cometapi-CC7hWxmX.js → cometapi-OBILPLlu.js} +7 -7
  97. package/dist/src/{completion-Vq_ad618.js → completion-CO2e1_62.js} +4 -4
  98. package/dist/src/{completion-DtQ72Bm3.cjs → completion-CSYfl2cd.cjs} +6 -6
  99. package/dist/src/{completion-2iuYVxwi.js → completion-DZNxcyfG.js} +5 -5
  100. package/dist/src/{completion-CrD6MQ93.js → completion-sNvCLTAP.js} +5 -5
  101. package/dist/src/constants-BjJV0cRr.js +6 -0
  102. package/dist/src/constants-DH5XYLKZ.js +7 -0
  103. package/dist/src/constants-DZGEFLsu.js +6 -0
  104. package/dist/src/constants-a2kYssQk.cjs +11 -0
  105. package/dist/src/{createHash-4gFQpDDv.js → createHash-BtbSX3mj.js} +1 -1
  106. package/dist/src/{createHash-Un4Q_huE.js → createHash-CGVzWdjj.js} +1 -1
  107. package/dist/src/{createHash-VvBIc-AW.cjs → createHash-CSiqnK5P.cjs} +2 -2
  108. package/dist/src/{createHash-DPpsZgFF.js → createHash-CgRvs4Fn.js} +1 -1
  109. package/dist/src/crescendo-BXEJK_bi.cjs +704 -0
  110. package/dist/src/crescendo-CU_Y2i-m.js +702 -0
  111. package/dist/src/crescendo-J1Xx4_zb.js +703 -0
  112. package/dist/src/crescendo-QiaSLW0d.js +701 -0
  113. package/dist/src/custom-BJfP00Bh.js +619 -0
  114. package/dist/src/custom-CZVn-1-r.js +620 -0
  115. package/dist/src/custom-Cqia7M0D.cjs +621 -0
  116. package/dist/src/custom-notggYVl.js +618 -0
  117. package/dist/src/{docker--3qzPa-6.js → docker-4D1eL6Gq.js} +5 -5
  118. package/dist/src/{docker-Dorv4_Dg.js → docker-BBv1WUDu.js} +5 -5
  119. package/dist/src/{docker-D3AY-5F5.cjs → docker-D06JUoe2.cjs} +6 -6
  120. package/dist/src/{docker-DCsCDvwM.js → docker-DdJQBxK9.js} +5 -5
  121. package/dist/src/{embedding-DNRvZwRN.js → embedding--UZVe4_7.js} +5 -5
  122. package/dist/src/{embedding-BXhN5lCH.cjs → embedding-BbrwopfX.cjs} +6 -6
  123. package/dist/src/{embedding-ChS1ivFS.js → embedding-Bi3rxrZF.js} +5 -5
  124. package/dist/src/{embedding-D_bI4NDq.js → embedding-C251p1-8.js} +4 -4
  125. package/dist/src/{errors-DFHe4L-n.js → errors-9PcUL8BC.js} +1 -1
  126. package/dist/src/{esm-B_rGuPTo.cjs → esm-BIKakvNa.cjs} +8 -7
  127. package/dist/src/{esm-BRkfNsYs.js → esm-BTK1W7lG.js} +1 -1
  128. package/dist/src/{esm-BX8fwlAO.js → esm-Bexx2PFc.js} +1 -1
  129. package/dist/src/{eval-DJ_4A-tr.js → eval-0VRANImH.js} +19 -19
  130. package/dist/src/{eval-BQPLBJbw.js → eval-DscR5iOM.js} +1 -1
  131. package/dist/src/{evalResult-pSvGWFMo.js → evalResult-2RRJvFyB.js} +18 -11
  132. package/dist/src/{evalResult-Cx-8OWkb.cjs → evalResult-CvtS8h8u.cjs} +29 -11
  133. package/dist/src/evalResult-DqzsS6_W.js +3 -0
  134. package/dist/src/{evalResult-D6P5I5il.js → evalResult-eUkJv9Ko.js} +17 -10
  135. package/dist/src/evaluator-DNdJF1Gv.js +3 -0
  136. package/dist/src/{evaluator-D-UIbbYq.js → evaluator-DRoiYB2q.js} +258 -132
  137. package/dist/src/evaluatorHelpers-BsYP_muT.js +511 -0
  138. package/dist/src/evaluatorHelpers-CRqTvSux.cjs +537 -0
  139. package/dist/src/evaluatorHelpers-DuqFFfq7.js +510 -0
  140. package/dist/src/{extractor-YlZbUMsL.js → extractor-BR7XAzAL.js} +5 -5
  141. package/dist/src/{extractor-Dxr2J_wK.cjs → extractor-BdxEtt3J.cjs} +6 -6
  142. package/dist/src/{extractor-DxyiFhPk.js → extractor-CIW3iN-b.js} +5 -5
  143. package/dist/src/{extractor-BM3jRERL.js → extractor-CxRtnaHl.js} +5 -5
  144. package/dist/src/{fetch-Y5qX_kST.js → fetch-BufrQtvR.js} +90 -26
  145. package/dist/src/{fetch-B6ch2nU2.js → fetch-DXUnXkVU.js} +86 -26
  146. package/dist/src/{fetch-NuqXW1Xb.cjs → fetch-Dw4XZHjj.cjs} +115 -32
  147. package/dist/src/{fetch-D9xxyC1p.js → fetch-It34O8Ur.js} +90 -26
  148. package/dist/src/fetch-_YgGd2qv.js +3 -0
  149. package/dist/src/{fileExtensions-D9h-8Wxg.cjs → fileExtensions-BhdwzYaD.cjs} +24 -1
  150. package/dist/src/{fileExtensions-BGh-W-HT.js → fileExtensions-CXRfY3Ss.js} +12 -2
  151. package/dist/src/{fileExtensions-DysCsxNG.js → fileExtensions-D4GCJ67J.js} +12 -2
  152. package/dist/src/{formatDuration-Ch4A7G3o.js → formatDuration-CMVNrYvE.js} +1 -1
  153. package/dist/src/{genaiTracer-BokHC-MW.cjs → genaiTracer-14nugQQx.cjs} +14 -2
  154. package/dist/src/{genaiTracer-C3ZPQU60.js → genaiTracer-BPVvltoW.js} +2 -2
  155. package/dist/src/{genaiTracer-DxODqT9e.js → genaiTracer-D18lYzhB.js} +2 -2
  156. package/dist/src/{genaiTracer-CFny3gOy.js → genaiTracer-jJKYsnjc.js} +2 -2
  157. package/dist/src/goat-Ckd3q3AY.js +467 -0
  158. package/dist/src/goat-Qgurm-NP.js +466 -0
  159. package/dist/src/goat-ghadEDdy.js +465 -0
  160. package/dist/src/goat-una6pZGP.cjs +469 -0
  161. package/dist/src/graders-BDT7dif6.js +3 -0
  162. package/dist/src/{graders-CgPn32yp.js → graders-BGP99PdK.js} +1017 -84
  163. package/dist/src/{graders-BoUqsCEm.js → graders-BX0f2tvS.js} +1022 -84
  164. package/dist/src/{graders-CwrbifOo.js → graders-C0nXU_ZP.js} +1020 -82
  165. package/dist/src/{graders-Bw1wk_21.cjs → graders-ClrU2fnd.cjs} +1085 -128
  166. package/dist/src/hydra-BSNZZm2M.js +543 -0
  167. package/dist/src/hydra-BxdG4nkg.js +541 -0
  168. package/dist/src/hydra-DE4xWwyc.js +542 -0
  169. package/dist/src/hydra-DrJttnvw.cjs +542 -0
  170. package/dist/src/image-B4oBtu6J.js +443 -0
  171. package/dist/src/{image-Dr_3I3nK.js → image-BN-hjLL9.js} +3 -3
  172. package/dist/src/{image-BeWaInPF.js → image-B_fPIwdg.js} +3 -3
  173. package/dist/src/image-BvUAW344.js +442 -0
  174. package/dist/src/image-Cvjwx1uY.js +442 -0
  175. package/dist/src/{image-D10dNAav.cjs → image-DfVCGPbI.cjs} +4 -4
  176. package/dist/src/{image-qjO6FWPs.js → image-QzmydkiG.js} +3 -3
  177. package/dist/src/image-X0oY4350.cjs +465 -0
  178. package/dist/src/index.cjs +688 -313
  179. package/dist/src/index.d.cts +3152 -1617
  180. package/dist/src/index.d.ts +3151 -1616
  181. package/dist/src/index.js +582 -223
  182. package/dist/src/indirectWebPwn-02ZIghCS.js +259 -0
  183. package/dist/src/indirectWebPwn-BJ22AbQa.cjs +397 -0
  184. package/dist/src/indirectWebPwn-CbjUG0rh.js +385 -0
  185. package/dist/src/indirectWebPwn-CfQJt3gk.cjs +260 -0
  186. package/dist/src/indirectWebPwn-DBQhOjoD.js +260 -0
  187. package/dist/src/indirectWebPwn-OsXnKejv.js +259 -0
  188. package/dist/src/indirectWebPwn-tNx9OZ35.js +385 -0
  189. package/dist/src/indirectWebPwn-uyWdHx04.js +386 -0
  190. package/dist/src/inputVariables-B0qUChbV.js +467 -0
  191. package/dist/src/inputVariables-DUGMb9Ka.js +464 -0
  192. package/dist/src/inputVariables-DXFdi7AI.js +468 -0
  193. package/dist/src/inputVariables-Dq9W-Z3a.cjs +475 -0
  194. package/dist/src/{interactiveCheck-CCICw2cy.js → interactiveCheck-C4QlIuoR.js} +1 -1
  195. package/dist/src/{invariant-kfQ8Bu82.cjs → invariant-QtnLD03y.cjs} +1 -1
  196. package/dist/src/iterative-CpU6i2As.js +490 -0
  197. package/dist/src/iterative-DJQEQpG3.js +491 -0
  198. package/dist/src/iterative-DQBuWM-j.cjs +493 -0
  199. package/dist/src/iterative-FTS4Bz67.js +492 -0
  200. package/dist/src/iterativeImage-BUABMVOA.js +413 -0
  201. package/dist/src/iterativeImage-ByFWkxax.cjs +415 -0
  202. package/dist/src/iterativeImage-BzUapOUi.js +414 -0
  203. package/dist/src/iterativeImage-Doz8mgxF.js +413 -0
  204. package/dist/src/iterativeMeta-B3YiAOc8.js +386 -0
  205. package/dist/src/iterativeMeta-C7APE_P1.js +385 -0
  206. package/dist/src/iterativeMeta-CSS8M6Ds.cjs +385 -0
  207. package/dist/src/iterativeMeta-DgoQ7bLh.js +384 -0
  208. package/dist/src/iterativeTree-B5zxBBSW.js +769 -0
  209. package/dist/src/iterativeTree-CNyIk0Yn.js +768 -0
  210. package/dist/src/iterativeTree-CPMF10ve.cjs +771 -0
  211. package/dist/src/iterativeTree-DvZ7GBwt.js +770 -0
  212. package/dist/src/{knowledgeBase-Dr3Kib7F.js → knowledgeBase-BadkINlJ.js} +24 -10
  213. package/dist/src/{knowledgeBase-BBETc5-S.js → knowledgeBase-Bi_8sV-H.js} +23 -9
  214. package/dist/src/{knowledgeBase-CzAi2rUI.js → knowledgeBase-CkMljjdg.js} +24 -10
  215. package/dist/src/{knowledgeBase-C8qOo26M.cjs → knowledgeBase-DUh34xba.cjs} +25 -11
  216. package/dist/src/{litellm-DRc4qWfc.js → litellm-BKBo0jpC.js} +4 -4
  217. package/dist/src/{litellm-BLSiANhk.js → litellm-BXyn5kZK.js} +4 -4
  218. package/dist/src/{litellm-DQGo_juI.js → litellm-CNcfbCfa.js} +4 -4
  219. package/dist/src/{litellm-CaUmV7Mk.cjs → litellm-CtAr7bKG.cjs} +5 -5
  220. package/dist/src/{logger-COuQb2xB.cjs → logger-cfNpzI4o.cjs} +13 -55
  221. package/dist/src/{luma-ray-B-tNZzqW.js → luma-ray-BMX1iEB6.js} +5 -5
  222. package/dist/src/{luma-ray-CtS3OlGq.js → luma-ray-CR5TSpp4.js} +5 -5
  223. package/dist/src/{luma-ray-if-Ml4R9.cjs → luma-ray-D3FUc2K3.cjs} +9 -8
  224. package/dist/src/{luma-ray-PJJgUjOc.js → luma-ray-OEMmS1RB.js} +5 -5
  225. package/dist/src/main.js +704 -208
  226. package/dist/src/memoryPoisoning-CM83NWYl.js +107 -0
  227. package/dist/src/memoryPoisoning-D8h9gXJF.js +106 -0
  228. package/dist/src/memoryPoisoning-Dp-btinn.cjs +106 -0
  229. package/dist/src/memoryPoisoning-cLuCoTuJ.js +106 -0
  230. package/dist/src/{messages-CewuNcNS.js → messages-BabO-cX8.js} +17 -9
  231. package/dist/src/{messages-BnsVHUnm.cjs → messages-DBPir0TQ.cjs} +24 -15
  232. package/dist/src/{messages-B9dSjrNf.js → messages-DGUlSNU7.js} +18 -10
  233. package/dist/src/{messages-CI69Lasb.js → messages-vsE_-Lv0.js} +18 -10
  234. package/dist/src/{meteor-CeGo0Lu2.js → meteor--TZYICTI.js} +1 -1
  235. package/dist/src/{meteor-BBGcGeCa.cjs → meteor-CR226f7Z.cjs} +2 -2
  236. package/dist/src/{meteor-Wc_aUVvu.js → meteor-Cl_yd7rJ.js} +1 -1
  237. package/dist/src/{meteor-BKTM-7KS.js → meteor-Dce-_zGQ.js} +1 -1
  238. package/dist/src/mischievousUser-0l8GD7Dp.js +46 -0
  239. package/dist/src/mischievousUser-BUOP9W5r.js +46 -0
  240. package/dist/src/mischievousUser-frFYKxu6.js +47 -0
  241. package/dist/src/mischievousUser-olGgHIVR.cjs +46 -0
  242. package/dist/src/{modelslab-BkapYJhh.cjs → modelslab-CNV5bMSk.cjs} +7 -7
  243. package/dist/src/{modelslab-zpz9JcK0.js → modelslab-Cogmu4mG.js} +6 -6
  244. package/dist/src/{modelslab-D73OnKSx.js → modelslab-Dzst7VTU.js} +6 -6
  245. package/dist/src/{modelslab-BCLOtfek.js → modelslab-EyDczZ5A.js} +6 -6
  246. package/dist/src/{nova-reel-B8F_TK5w.js → nova-reel-BGPNBOMS.js} +5 -5
  247. package/dist/src/{nova-reel-Bx0NFV2f.js → nova-reel-B_5NKFu1.js} +5 -5
  248. package/dist/src/{nova-reel-CNGJTLtG.js → nova-reel-C4eUJGse.js} +5 -5
  249. package/dist/src/{nova-reel-DkT7tnoB.cjs → nova-reel-CjJRxI1X.cjs} +9 -8
  250. package/dist/src/{nova-sonic-BaXRN1cr.js → nova-sonic-BNGmgfFz.js} +3 -3
  251. package/dist/src/{nova-sonic-BeTRaFOh.js → nova-sonic-ChPlh5na.js} +2 -2
  252. package/dist/src/{nova-sonic-CL7Zqv0G.js → nova-sonic-CrV0iaY_.js} +3 -3
  253. package/dist/src/{nova-sonic-YT426juD.cjs → nova-sonic-DuOG9Aun.cjs} +5 -4
  254. package/dist/src/{openai-Cy1XLs0c.cjs → openai-C3uXv8wS.cjs} +2 -2
  255. package/dist/src/{openai-BT-JvDse.js → openai-CJrsh9n4.js} +1 -1
  256. package/dist/src/{openai-D4fxGvRx.js → openai-zgwBb4Ff.js} +1 -1
  257. package/dist/src/{openclaw-Bq7RVR3k.js → openclaw-BIHlu_36.js} +9 -8
  258. package/dist/src/{openclaw-DObVgpjC.js → openclaw-CF7fMido.js} +9 -8
  259. package/dist/src/{openclaw-DUBZP3GL.cjs → openclaw-Dphc01BY.cjs} +17 -15
  260. package/dist/src/{openclaw-DA8U4DsD.js → openclaw-zIJAsz3P.js} +9 -8
  261. package/dist/src/{opencode-sdk-BB40Wir1.js → opencode-sdk-B3vlPLsp.js} +38 -3
  262. package/dist/src/{opencode-sdk-ChdK7F7z.js → opencode-sdk-D05JSgMQ.js} +39 -4
  263. package/dist/src/{opencode-sdk-CeqiOcOU.cjs → opencode-sdk-DoY6GbWw.cjs} +45 -9
  264. package/dist/src/{opencode-sdk-BM1UAIv1.js → opencode-sdk-sRKYHGoI.js} +39 -4
  265. package/dist/src/{otlpReceiver-UYMQx3sy.js → otlpReceiver--gTpSagc.js} +119 -3
  266. package/dist/src/{otlpReceiver-C6thJRXi.js → otlpReceiver-B2eaKC8C.js} +118 -2
  267. package/dist/src/{otlpReceiver-CcdIikOu.js → otlpReceiver-BXjcRqAM.js} +119 -3
  268. package/dist/src/{otlpReceiver-DNSQj6bf.cjs → otlpReceiver-CvJdBGSc.cjs} +125 -7
  269. package/dist/src/packageParser--MWTSrPW.js +36 -0
  270. package/dist/src/packageParser-CgE-ziRo.js +35 -0
  271. package/dist/src/packageParser-QoCS1FMl.cjs +54 -0
  272. package/dist/src/packageParser-hwwSGnAZ.js +35 -0
  273. package/dist/src/processShim-BBxt7LKO.js +95 -0
  274. package/dist/src/processShim-BcGzU8fY.js +94 -0
  275. package/dist/src/processShim-C_z3aRvF.js +94 -0
  276. package/dist/src/processShim-DSY9BV2T.cjs +98 -0
  277. package/dist/src/promptLength-0qIHyhA5.js +71 -0
  278. package/dist/src/promptLength-4X-Wd8PG.js +72 -0
  279. package/dist/src/promptLength-B9nZEfO6.js +71 -0
  280. package/dist/src/promptLength-BbBbDHNj.cjs +94 -0
  281. package/dist/src/promptfoo-BDrfT30-.js +180 -0
  282. package/dist/src/promptfoo-Cm4hiy1Y.js +180 -0
  283. package/dist/src/promptfoo-Rjp-MeBb.js +181 -0
  284. package/dist/src/promptfoo-b-baRMj-.cjs +205 -0
  285. package/dist/src/prompts-BYMtqPCw.js +259 -0
  286. package/dist/src/prompts-C-bqE1Yp.js +260 -0
  287. package/dist/src/prompts-Cp_Qx5Ml.js +270 -0
  288. package/dist/src/prompts-DHhQsANy.js +259 -0
  289. package/dist/src/prompts-D_QpZ2Dm.js +271 -0
  290. package/dist/src/prompts-hNvWBD3z.cjs +284 -0
  291. package/dist/src/prompts-huDVH2CI.js +270 -0
  292. package/dist/src/prompts-p78Hul5i.cjs +289 -0
  293. package/dist/src/{providerRegistry-BESeALrr.cjs → providerRegistry-CZO_w7ue.cjs} +2 -2
  294. package/dist/src/{providerRegistry-DoACwqhD.js → providerRegistry-DHcFiVWX.js} +1 -1
  295. package/dist/src/{providerRegistry-PMsleEzs.js → providerRegistry-ReCd0sFa.js} +1 -1
  296. package/dist/src/{providers-DT-GtF2t.js → providers-B9KzWxAX.js} +739 -11919
  297. package/dist/src/{providers-DRrerKra.js → providers-BCCz6_IX.js} +813 -11944
  298. package/dist/src/{providers-eDShy16E.cjs → providers-BDVVIQM6.cjs} +787 -12132
  299. package/dist/src/{providers-Ctcc592x.js → providers-BYAn82cf.js} +1 -1
  300. package/dist/src/{providers-CJh7iriU.js → providers-DVYRZP4E.js} +746 -11866
  301. package/dist/src/{pythonUtils-C4tltmIn.js → pythonUtils-CLCgQ9tt.js} +1 -1
  302. package/dist/src/{pythonUtils-DNqbnRdx.js → pythonUtils-CgYxeSmO.js} +2 -2
  303. package/dist/src/{pythonUtils-CoLaCwNY.cjs → pythonUtils-Cokhluq3.cjs} +7 -6
  304. package/dist/src/{pythonUtils-DMO68Jg7.js → pythonUtils-D0BYebvX.js} +2 -2
  305. package/dist/src/{quiverai-Bpx6MZ7T.cjs → quiverai-BAp6iTZD.cjs} +4 -4
  306. package/dist/src/{quiverai-CPKhWgaT.js → quiverai-BvIhI_0l.js} +3 -3
  307. package/dist/src/{quiverai-BSS9a7wV.js → quiverai-CdTWPe-A.js} +3 -3
  308. package/dist/src/{quiverai-Bk1KrvL6.js → quiverai-Cv7rJKDz.js} +3 -3
  309. package/dist/src/registry-BUJrgjwv.js +124 -0
  310. package/dist/src/registry-DXm1t_x0.js +125 -0
  311. package/dist/src/registry-Dp5EqoXc.js +124 -0
  312. package/dist/src/registry-KCVF1CFC.cjs +124 -0
  313. package/dist/src/{server-ByxbqAcQ.js → remoteGeneration-B1_XsKXU.js} +16 -147
  314. package/dist/src/{server-gyd6d4Hc.js → remoteGeneration-COpWcmWd.js} +15 -108
  315. package/dist/src/{server-BEECpeGG.cjs → remoteGeneration-DS9N3pgB.cjs} +30 -119
  316. package/dist/src/remoteGeneration-DsaSwmG2.js +217 -0
  317. package/dist/src/render-BNTrbmBw.cjs +384 -0
  318. package/dist/src/render-CSP99NLm.js +348 -0
  319. package/dist/src/render-DFfDeYUK.js +347 -0
  320. package/dist/src/{render-nj-UaPdn.js → render-DznWrxGO.js} +2 -2
  321. package/dist/src/render-_6ur1fhE.js +347 -0
  322. package/dist/src/resourceAttributes-D1jP3kL5.js +17 -0
  323. package/dist/src/resourceAttributes-DQbBB--2.js +16 -0
  324. package/dist/src/resourceAttributes-ephgOvdR.cjs +27 -0
  325. package/dist/src/resourceAttributes-v6-I67fn.js +16 -0
  326. package/dist/src/{responses-CF-ayauu.cjs → responses-1UFFF9N_.cjs} +12 -11
  327. package/dist/src/{responses-B8haB-mD.js → responses-B3W2JvOQ.js} +9 -9
  328. package/dist/src/{responses-1ztiVYsx.js → responses-B6ktc3Ra.js} +7 -7
  329. package/dist/src/{responses-BiaBguAu.js → responses-URRzV8qE.js} +9 -9
  330. package/dist/src/rolldown-runtime-D_mwlA32.cjs +43 -0
  331. package/dist/src/rubyUtils-BYVlQ94c.js +3 -0
  332. package/dist/src/{rubyUtils-CIQFnVz4.js → rubyUtils-CXlFM2rR.js} +2 -2
  333. package/dist/src/{rubyUtils-BI0p46eZ.js → rubyUtils-CnlW8AYb.js} +2 -2
  334. package/dist/src/{rubyUtils-DoifqkiA.cjs → rubyUtils-CqUWBZAt.cjs} +16 -26
  335. package/dist/src/{rubyUtils-DGnoCYL2.js → rubyUtils-DdGojpfv.js} +1 -1
  336. package/dist/src/runtimeTransform-BJOpL9Yc.js +142 -0
  337. package/dist/src/runtimeTransform-Dgh_D7DU.js +143 -0
  338. package/dist/src/runtimeTransform-DigbjU1r.js +142 -0
  339. package/dist/src/runtimeTransform-ON3YYILw.cjs +147 -0
  340. package/dist/src/{sagemaker-ClS_NB07.js → sagemaker-CujrzP1a.js} +61 -50
  341. package/dist/src/{sagemaker-ljtY12VM.cjs → sagemaker-DzffAqo_.cjs} +65 -53
  342. package/dist/src/{sagemaker-C5T60MKf.js → sagemaker-vhtSV7JI.js} +61 -50
  343. package/dist/src/{sagemaker-BDLeW29y.js → sagemaker-yr1QKeBs.js} +61 -50
  344. package/dist/src/{scanner-nOCWNIXa.js → scanner-DS0109SS.js} +6 -6
  345. package/dist/src/server/index.js +4147 -449
  346. package/dist/src/server-B8rqV126.cjs +126 -0
  347. package/dist/src/server-BaLytskk.js +3 -0
  348. package/dist/src/server-CMJD10J4.js +107 -0
  349. package/dist/src/server-Ddp8GNMp.js +146 -0
  350. package/dist/src/server-DhMHosWj.js +182 -0
  351. package/dist/src/shared-7pmVZLNO.js +1334 -0
  352. package/dist/src/shared-9WHQ1oNE.js +1335 -0
  353. package/dist/src/{fileExtensions-8CjoL7vB.js → shared-BoG7qLMv.js} +12 -2
  354. package/dist/src/shared-D6IjElRI.js +1334 -0
  355. package/dist/src/shared-WkgnDkcg.cjs +1436 -0
  356. package/dist/src/{signal-DTtUuU3l.js → signal-CSurUUyV.js} +2 -2
  357. package/dist/src/simulatedUser-C9aQObBI.js +222 -0
  358. package/dist/src/simulatedUser-Cu601Dd4.cjs +227 -0
  359. package/dist/src/simulatedUser-U_qAHnuB.js +222 -0
  360. package/dist/src/simulatedUser-p3tACcmw.js +223 -0
  361. package/dist/src/{slack-Bamy_7te.js → slack-Bapo-7_8.js} +1 -1
  362. package/dist/src/{slack-BLlsDpfG.cjs → slack-DMC1QVEg.cjs} +3 -2
  363. package/dist/src/{slack-BPYLQLgb.js → slack-DTEFhrMn.js} +1 -1
  364. package/dist/src/{slack-4zZX1OKP.js → slack-k-_CP84Q.js} +1 -1
  365. package/dist/src/storage-BU4qcnOb.js +875 -0
  366. package/dist/src/storage-CA-v9V2v.cjs +911 -0
  367. package/dist/src/storage-CD-GWAdx.js +822 -0
  368. package/dist/src/storage-QdU-SmvD.js +834 -0
  369. package/dist/src/{store-2K0kDi80.cjs → store-B2NDDooM.cjs} +60 -24
  370. package/dist/src/{store-CPh25336.js → store-DKd5592Q.js} +50 -19
  371. package/dist/src/{store-BPkzEyFM.js → store-HpopRVzl.js} +50 -19
  372. package/dist/src/store-IbiRIF3k.js +3 -0
  373. package/dist/src/strategies-7CS3Alao.cjs +2360 -0
  374. package/dist/src/strategies-CiSeroPH.js +2331 -0
  375. package/dist/src/strategies-DRJjGTIY.js +2333 -0
  376. package/dist/src/{tables-WgdUZ8Ck.js → tables-CRSXQ2Ke.js} +2 -2
  377. package/dist/src/{tables-BMSOS2Gg.js → tables-CxjU7bBd.js} +2 -2
  378. package/dist/src/{tables-CXbaZ9y1.cjs → tables-DBIJU0WE.cjs} +6 -5
  379. package/dist/src/{tables-NlvH23ky.js → tables-DafUHOeh.js} +2 -2
  380. package/dist/src/{telemetry-DWdGHvEf.js → telemetry-00ezXr_t.js} +4 -4
  381. package/dist/src/telemetry-ByPqDcKC.js +3 -0
  382. package/dist/src/{telemetry-CEQxGnMZ.cjs → telemetry-CJ7FnCsc.cjs} +15 -9
  383. package/dist/src/{telemetry--iqaGyaS.js → telemetry-DmXYcJNV.js} +4 -4
  384. package/dist/src/{telemetry-CgdVGV8N.js → telemetry-DwX9XUN5.js} +4 -4
  385. package/dist/src/{text-DDQP0tuQ.js → text-CZr46tp_.js} +1 -1
  386. package/dist/src/{text-D4lz-Jg_.js → text-Db-Wt2u2.js} +1 -1
  387. package/dist/src/{text-NWvfMfkF.js → text-DwYK5EBn.js} +1 -1
  388. package/dist/src/{text-BiNME7QG.cjs → text-nywWsRBM.cjs} +1 -1
  389. package/dist/src/{tokenUsageUtils-2wIvAhB3.js → tokenUsageUtils-CDet74yk.js} +1 -1
  390. package/dist/src/{tokenUsageUtils-4c780gFd.js → tokenUsageUtils-CmnQ0G2m.js} +1 -1
  391. package/dist/src/{tokenUsageUtils-C9odhsbW.cjs → tokenUsageUtils-_B-P8IAi.cjs} +1 -1
  392. package/dist/src/toolAttributes-BAjwcBf0.cjs +103 -0
  393. package/dist/src/toolAttributes-COVgDrBG.js +87 -0
  394. package/dist/src/toolAttributes-DJ9ZEKXD.js +86 -0
  395. package/dist/src/tracingOptions-BnwKCkSB.js +221 -0
  396. package/dist/src/tracingOptions-Chi74lOD.js +219 -0
  397. package/dist/src/tracingOptions-DrbSFaKy.cjs +249 -0
  398. package/dist/src/tracingOptions-ji2OuXbT.js +220 -0
  399. package/dist/src/{transcription-84t4ALo2.js → transcription-B8uIgCYX.js} +5 -5
  400. package/dist/src/{transcription-Bm2emLmJ.js → transcription-CfU5loSq.js} +5 -5
  401. package/dist/src/{transcription-D7Q0vJsh.js → transcription-Dkd22_4K.js} +4 -4
  402. package/dist/src/{transcription-CZ4LG5hQ.cjs → transcription-mzuf18Mq.cjs} +9 -8
  403. package/dist/src/{transform-DtooZqYY.js → transform-BIMynQsA.js} +8 -8
  404. package/dist/src/transform-BnSTnFlp.js +187 -0
  405. package/dist/src/transform-BnSXWmU_2.cjs +221 -0
  406. package/dist/src/transform-CGt7Kt3y2.js +186 -0
  407. package/dist/src/transform-CrPGTsij.js +186 -0
  408. package/dist/src/{transform-Dg4LcO1Y.cjs → transform-DhNkAUs8.cjs} +12 -11
  409. package/dist/src/{transform-_DpNB4qp.js → transform-DmvYBRll.js} +8 -8
  410. package/dist/src/{transform-B-b6Cq-q.js → transform-EtD4jAWi.js} +8 -8
  411. package/dist/src/{transformersAvailability-lvCCvuPT.js → transformersAvailability-0ThtPved.js} +1 -1
  412. package/dist/src/transformersAvailability-BYydDE5U.js +35 -0
  413. package/dist/src/{transformersAvailability-rJGPccjr.js → transformersAvailability-BvyU9vDD.js} +1 -1
  414. package/dist/src/{transformersAvailability-B22swDxr.cjs → transformersAvailability-BytPvKUW.cjs} +1 -1
  415. package/dist/src/{types-BVH9hjgW.js → types-BFevViUY.js} +113 -19
  416. package/dist/src/{types-BDjGOq4E.js → types-BJQBBPTP.js} +113 -19
  417. package/dist/src/{types-CgG2rKiW.cjs → types-CxJvaY2S.cjs} +211 -28
  418. package/dist/src/{types-DNRZVOue.js → types-D6glLbdF.js} +125 -26
  419. package/dist/src/{util-DFPeFkiV.js → util--WMgw7wM.js} +28 -8
  420. package/dist/src/{util-C-kmRosx.js → util-5WnCSb0h.js} +9 -7
  421. package/dist/src/{util-A5_ZsQUn.cjs → util-BSIuSLVK.cjs} +12 -9
  422. package/dist/src/{util-Dub0f_ej.js → util-Bx677_k2.js} +17 -10
  423. package/dist/src/util-CN8om2rz.cjs +386 -0
  424. package/dist/src/{util-DN0-b81k.js → util-CoQWM76y.js} +28 -8
  425. package/dist/src/util-DNl96nNs.js +327 -0
  426. package/dist/src/{util-BQOCAHQC.js → util-DURocbYR.js} +46 -11
  427. package/dist/src/util-Df8YMvS1.js +327 -0
  428. package/dist/src/{util-BVXcTwXu.js → util-DiQ3QvBB.js} +28 -8
  429. package/dist/src/{util-3pBZZb_H.js → util-I-Rf-KaD.js} +45 -10
  430. package/dist/src/{util-Dpmm_dAI.cjs → util-IYzs5Y04.cjs} +33 -7
  431. package/dist/src/{util-BlFVL0UF.js → util-LKTmNsMQ.js} +9 -7
  432. package/dist/src/{util-DvpHnLt0.cjs → util-SPsvFONY.cjs} +29 -21
  433. package/dist/src/{util-B9CNhyac.js → util-efByNxcr.js} +9 -7
  434. package/dist/src/util-kDURhgJW.js +328 -0
  435. package/dist/src/{utils-BUMN8orw.js → utils-B0lzitHZ.js} +2 -2
  436. package/dist/src/{utils-kt7lv30R.js → utils-BFOh20Gb.js} +2 -2
  437. package/dist/src/{utils-o8S5huU2.js → utils-BGY69tk_.js} +2 -2
  438. package/dist/src/{utils-DkVeShIB.cjs → utils-Ve6kuJsa.cjs} +3 -3
  439. package/dist/src/{version-CbuBKu2U.js → version-BK20a4sw.js} +2 -2
  440. package/dist/src/{version-D9zu9FWB.cjs → version-BWCSaByA.cjs} +2 -2
  441. package/dist/src/{version-CbpiUINz.js → version-eRkNuGv8.js} +2 -2
  442. package/dist/src/{version-0frU0UTr.js → version-lpHV_53E.js} +2 -2
  443. package/dist/tsconfig.tsbuildinfo +1 -1
  444. package/package.json +48 -22
  445. package/dist/src/app/assets/Report-vjzrbgce.js +0 -1
  446. package/dist/src/app/assets/index-B3NQ8HTd.js +0 -385
  447. package/dist/src/app/assets/index-Cli2yAXv.css +0 -1
  448. package/dist/src/app/assets/sync-IjzpWrOE.js +0 -4
  449. package/dist/src/app/assets/vendor-charts-BNdH8TCw.js +0 -36
  450. package/dist/src/cache-BRkhlH3k.cjs +0 -3
  451. package/dist/src/cache-BlC6aeJ0.js +0 -3
  452. package/dist/src/cloud-CoD5OacT.js +0 -3
  453. package/dist/src/codex-sdk-1jm_qPHf.js +0 -3
  454. package/dist/src/codex-sdk-Danroptg.cjs +0 -2
  455. package/dist/src/evalResult-BBJAHAtw.cjs +0 -2
  456. package/dist/src/evalResult-BBK58h2B.js +0 -3
  457. package/dist/src/evalResult-spPqh1G_.js +0 -2
  458. package/dist/src/evaluator-DgLKaZk8.js +0 -3
  459. package/dist/src/fetch-8viavNv8.js +0 -3
  460. package/dist/src/graders-C84JI-m5.js +0 -2
  461. package/dist/src/graders-CBbd0K0Q.cjs +0 -2
  462. package/dist/src/graders-CbQqpHSN.js +0 -3
  463. package/dist/src/graders-DS42d3ZG.js +0 -2
  464. package/dist/src/image-BmilRNqO.js +0 -258
  465. package/dist/src/image-CxJoa3aW.cjs +0 -280
  466. package/dist/src/image-DsGRlkh7.js +0 -257
  467. package/dist/src/image-a_SGUobh.js +0 -257
  468. package/dist/src/providers-BuyzKt7C.js +0 -2
  469. package/dist/src/providers-C7lNVBjX.cjs +0 -3
  470. package/dist/src/providers-CCE2COJi2.js +0 -2
  471. package/dist/src/render-7uNJ2V14.js +0 -135
  472. package/dist/src/render-DlscvAUJ.js +0 -135
  473. package/dist/src/render-eui5p5mL.js +0 -136
  474. package/dist/src/render-tG6ir9_g.cjs +0 -165
  475. package/dist/src/rubyUtils-4hjGxvju.js +0 -3
  476. package/dist/src/rubyUtils-CO-tuszQ.cjs +0 -2
  477. package/dist/src/server-ByiF3qlg.js +0 -386
  478. package/dist/src/server-C0XKRNB_.cjs +0 -2
  479. package/dist/src/server-C_15p79-.js +0 -3
  480. package/dist/src/store-2OXm_eBY.js +0 -240
  481. package/dist/src/store-BELqNwvz.js +0 -3
  482. package/dist/src/store-uQZ4AjPe.cjs +0 -2
  483. package/dist/src/telemetry-DjNoC_n3.cjs +0 -2
  484. package/dist/src/telemetry-ZdPZc0fm.js +0 -3
  485. package/dist/src/transform-BQt0BeAW.js +0 -3
  486. package/dist/src/transform-Bq5oqC0s.cjs +0 -2
  487. package/dist/src/transform-C9izGX54.cjs +0 -228
  488. package/dist/src/transform-CwbAZ84V.js +0 -216
  489. package/dist/src/transform-DzCF-wqV.js +0 -213
  490. package/dist/src/transform-eGiUAv86.js +0 -216
@@ -1,14 +1,22 @@
1
- const require_logger = require("./logger-COuQb2xB.cjs");
2
- const require_esm = require("./esm-B_rGuPTo.cjs");
1
+ const require_rolldown_runtime = require("./rolldown-runtime-D_mwlA32.cjs");
2
+ const require_logger = require("./logger-cfNpzI4o.cjs");
3
+ const require_esm = require("./esm-BIKakvNa.cjs");
3
4
  let fs = require("fs");
4
- fs = require_logger.__toESM(fs);
5
+ fs = require_rolldown_runtime.__toESM(fs, 1);
5
6
  let path = require("path");
6
- path = require_logger.__toESM(path);
7
+ path = require_rolldown_runtime.__toESM(path, 1);
7
8
  let os = require("os");
8
- os = require_logger.__toESM(os);
9
+ os = require_rolldown_runtime.__toESM(os, 1);
9
10
  let util = require("util");
10
11
  let child_process = require("child_process");
11
12
  //#region src/ruby/rubyUtils.ts
13
+ var rubyUtils_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
14
+ getSysExecutable: () => getSysExecutable,
15
+ runRuby: () => runRuby,
16
+ state: () => state,
17
+ tryPath: () => tryPath,
18
+ validateRubyPath: () => validateRubyPath
19
+ });
12
20
  const execFileAsync = (0, util.promisify)(child_process.execFile);
13
21
  /**
14
22
  * Global state for Ruby executable path caching.
@@ -212,10 +220,10 @@ async function runRuby(scriptPath, method, args, options = {}) {
212
220
  }
213
221
  }
214
222
  //#endregion
215
- Object.defineProperty(exports, "getSysExecutable", {
223
+ Object.defineProperty(exports, "rubyUtils_exports", {
216
224
  enumerable: true,
217
225
  get: function() {
218
- return getSysExecutable;
226
+ return rubyUtils_exports;
219
227
  }
220
228
  });
221
229
  Object.defineProperty(exports, "runRuby", {
@@ -224,23 +232,5 @@ Object.defineProperty(exports, "runRuby", {
224
232
  return runRuby;
225
233
  }
226
234
  });
227
- Object.defineProperty(exports, "state", {
228
- enumerable: true,
229
- get: function() {
230
- return state;
231
- }
232
- });
233
- Object.defineProperty(exports, "tryPath", {
234
- enumerable: true,
235
- get: function() {
236
- return tryPath;
237
- }
238
- });
239
- Object.defineProperty(exports, "validateRubyPath", {
240
- enumerable: true,
241
- get: function() {
242
- return validateRubyPath;
243
- }
244
- });
245
235
 
246
- //# sourceMappingURL=rubyUtils-DoifqkiA.cjs.map
236
+ //# sourceMappingURL=rubyUtils-CqUWBZAt.cjs.map
@@ -219,4 +219,4 @@ async function runRuby(scriptPath, method, args, options = {}) {
219
219
  //#endregion
220
220
  export { runRuby as n, rubyUtils_exports as t };
221
221
 
222
- //# sourceMappingURL=rubyUtils-DGnoCYL2.js.map
222
+ //# sourceMappingURL=rubyUtils-DdGojpfv.js.map
@@ -0,0 +1,142 @@
1
+ import { a as logger } from "./logger-KD8JjCRJ.js";
2
+ //#region src/redteam/shared/runtimeTransform.ts
3
+ /**
4
+ * Runtime transform utility for applying strategy transforms per-turn.
5
+ *
6
+ * This module enables multi-turn attack providers (Hydra, Crescendo, etc.)
7
+ * to apply layer transforms (audio, base64, etc.) to each turn's prompt
8
+ * before sending to the target.
9
+ *
10
+ * It reuses existing strategy implementations, avoiding code duplication.
11
+ */
12
+ /**
13
+ * Applies strategy transforms to a prompt at runtime (per-turn).
14
+ * This is used by multi-turn attack providers to transform each turn's
15
+ * output before sending to the target.
16
+ *
17
+ * @param prompt - The text prompt to transform
18
+ * @param injectVar - The variable name used for injection (e.g., 'query')
19
+ * @param layerConfigs - Array of layer configurations to apply in order
20
+ * @param strategies - The loaded strategies array (to avoid circular imports)
21
+ * @param context - Optional context metadata to pass to layer strategies
22
+ * @returns TransformResult with transformed prompt and audio metadata
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * // In Hydra provider:
27
+ * const result = await applyRuntimeTransforms(
28
+ * attackPrompt,
29
+ * 'query',
30
+ * ['audio', 'base64'],
31
+ * Strategies,
32
+ * { evaluationId: context?.evaluationId, purpose: context?.test?.metadata?.purpose }
33
+ * );
34
+ * // result.prompt = transformed, result.audio = { data, format } if audio
35
+ * ```
36
+ */
37
+ async function applyRuntimeTransforms(prompt, injectVar, layerConfigs, strategies, context) {
38
+ const originalPrompt = prompt;
39
+ if (!layerConfigs?.length) return {
40
+ prompt,
41
+ originalPrompt
42
+ };
43
+ logger.debug(`[RuntimeTransform] Applying ${layerConfigs.length} transforms to prompt`, {
44
+ hasContext: !!context,
45
+ hasEvaluationId: !!context?.evaluationId,
46
+ hasPurpose: !!context?.purpose
47
+ });
48
+ let testCase = {
49
+ vars: { [injectVar]: prompt },
50
+ assert: [],
51
+ metadata: {
52
+ pluginId: "runtime-transform",
53
+ evaluationId: context?.evaluationId,
54
+ testCaseId: context?.testCaseId,
55
+ purpose: context?.purpose,
56
+ goal: context?.goal
57
+ }
58
+ };
59
+ let audioApplied = false;
60
+ let imageApplied = false;
61
+ for (const layer of layerConfigs) {
62
+ const layerId = typeof layer === "string" ? layer : layer.id;
63
+ const layerConfig = typeof layer === "string" ? {} : layer.config || {};
64
+ const strategy = strategies.find((s) => s.id === layerId);
65
+ if (!strategy) {
66
+ logger.warn(`[RuntimeTransform] Unknown layer strategy: ${layerId}, skipping`);
67
+ continue;
68
+ }
69
+ logger.debug(`[RuntimeTransform] Applying layer: ${layerId}`);
70
+ if (layerId === "audio") audioApplied = true;
71
+ else if (layerId === "image") imageApplied = true;
72
+ try {
73
+ const transformed = (await strategy.action([testCase], injectVar, layerConfig))[0];
74
+ if (transformed) testCase = {
75
+ ...transformed,
76
+ metadata: {
77
+ ...testCase.metadata,
78
+ ...transformed.metadata,
79
+ pluginId: testCase.metadata.pluginId
80
+ }
81
+ };
82
+ else logger.warn(`[RuntimeTransform] Layer ${layerId} returned no test cases`);
83
+ } catch (error) {
84
+ const errorMsg = `Transform ${layerId} failed: ${error.message || "Unknown error"}`;
85
+ logger.error(`[RuntimeTransform] ${errorMsg}`, { error });
86
+ return {
87
+ prompt: originalPrompt,
88
+ originalPrompt,
89
+ error: errorMsg
90
+ };
91
+ }
92
+ }
93
+ const transformedPrompt = String(testCase.vars?.[injectVar] ?? prompt);
94
+ logger.debug(`[RuntimeTransform] Transform complete`, {
95
+ originalLength: prompt.length,
96
+ resultLength: transformedPrompt.length,
97
+ layersApplied: layerConfigs.length,
98
+ audioApplied,
99
+ imageApplied
100
+ });
101
+ const displayVars = {};
102
+ if (testCase.vars) {
103
+ for (const [key, value] of Object.entries(testCase.vars)) if (key !== injectVar && typeof value === "string") displayVars[key] = value;
104
+ }
105
+ const result = {
106
+ prompt: transformedPrompt,
107
+ originalPrompt,
108
+ ...Object.keys(displayVars).length > 0 && { displayVars },
109
+ metadata: testCase.metadata
110
+ };
111
+ const audioStorageKey = testCase.metadata?.audioStorageKey;
112
+ const imageStorageKey = testCase.metadata?.imageStorageKey;
113
+ if (audioApplied && transformedPrompt !== originalPrompt) {
114
+ const dataUrlMatch = transformedPrompt.match(/^data:audio\/([^;]+);base64,(.+)$/);
115
+ if (dataUrlMatch) result.audio = {
116
+ data: dataUrlMatch[2],
117
+ format: dataUrlMatch[1]
118
+ };
119
+ else result.audio = {
120
+ data: transformedPrompt,
121
+ format: "mp3"
122
+ };
123
+ if (audioStorageKey) logger.debug(`[RuntimeTransform] Audio stored to: ${audioStorageKey} (will be sanitized before DB save)`);
124
+ }
125
+ if (imageApplied && transformedPrompt !== originalPrompt) {
126
+ const dataUrlMatch = transformedPrompt.match(/^data:image\/([^;]+);base64,(.+)$/);
127
+ if (dataUrlMatch) result.image = {
128
+ data: dataUrlMatch[2],
129
+ format: dataUrlMatch[1]
130
+ };
131
+ else result.image = {
132
+ data: transformedPrompt,
133
+ format: "png"
134
+ };
135
+ if (imageStorageKey) logger.debug(`[RuntimeTransform] Image stored to: ${imageStorageKey} (will be sanitized before DB save)`);
136
+ }
137
+ return result;
138
+ }
139
+ //#endregion
140
+ export { applyRuntimeTransforms as t };
141
+
142
+ //# sourceMappingURL=runtimeTransform-BJOpL9Yc.js.map
@@ -0,0 +1,143 @@
1
+ #!/usr/bin/env node
2
+ import { s as logger } from "./logger-BbY6ypFL.js";
3
+ //#region src/redteam/shared/runtimeTransform.ts
4
+ /**
5
+ * Runtime transform utility for applying strategy transforms per-turn.
6
+ *
7
+ * This module enables multi-turn attack providers (Hydra, Crescendo, etc.)
8
+ * to apply layer transforms (audio, base64, etc.) to each turn's prompt
9
+ * before sending to the target.
10
+ *
11
+ * It reuses existing strategy implementations, avoiding code duplication.
12
+ */
13
+ /**
14
+ * Applies strategy transforms to a prompt at runtime (per-turn).
15
+ * This is used by multi-turn attack providers to transform each turn's
16
+ * output before sending to the target.
17
+ *
18
+ * @param prompt - The text prompt to transform
19
+ * @param injectVar - The variable name used for injection (e.g., 'query')
20
+ * @param layerConfigs - Array of layer configurations to apply in order
21
+ * @param strategies - The loaded strategies array (to avoid circular imports)
22
+ * @param context - Optional context metadata to pass to layer strategies
23
+ * @returns TransformResult with transformed prompt and audio metadata
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * // In Hydra provider:
28
+ * const result = await applyRuntimeTransforms(
29
+ * attackPrompt,
30
+ * 'query',
31
+ * ['audio', 'base64'],
32
+ * Strategies,
33
+ * { evaluationId: context?.evaluationId, purpose: context?.test?.metadata?.purpose }
34
+ * );
35
+ * // result.prompt = transformed, result.audio = { data, format } if audio
36
+ * ```
37
+ */
38
+ async function applyRuntimeTransforms(prompt, injectVar, layerConfigs, strategies, context) {
39
+ const originalPrompt = prompt;
40
+ if (!layerConfigs?.length) return {
41
+ prompt,
42
+ originalPrompt
43
+ };
44
+ logger.debug(`[RuntimeTransform] Applying ${layerConfigs.length} transforms to prompt`, {
45
+ hasContext: !!context,
46
+ hasEvaluationId: !!context?.evaluationId,
47
+ hasPurpose: !!context?.purpose
48
+ });
49
+ let testCase = {
50
+ vars: { [injectVar]: prompt },
51
+ assert: [],
52
+ metadata: {
53
+ pluginId: "runtime-transform",
54
+ evaluationId: context?.evaluationId,
55
+ testCaseId: context?.testCaseId,
56
+ purpose: context?.purpose,
57
+ goal: context?.goal
58
+ }
59
+ };
60
+ let audioApplied = false;
61
+ let imageApplied = false;
62
+ for (const layer of layerConfigs) {
63
+ const layerId = typeof layer === "string" ? layer : layer.id;
64
+ const layerConfig = typeof layer === "string" ? {} : layer.config || {};
65
+ const strategy = strategies.find((s) => s.id === layerId);
66
+ if (!strategy) {
67
+ logger.warn(`[RuntimeTransform] Unknown layer strategy: ${layerId}, skipping`);
68
+ continue;
69
+ }
70
+ logger.debug(`[RuntimeTransform] Applying layer: ${layerId}`);
71
+ if (layerId === "audio") audioApplied = true;
72
+ else if (layerId === "image") imageApplied = true;
73
+ try {
74
+ const transformed = (await strategy.action([testCase], injectVar, layerConfig))[0];
75
+ if (transformed) testCase = {
76
+ ...transformed,
77
+ metadata: {
78
+ ...testCase.metadata,
79
+ ...transformed.metadata,
80
+ pluginId: testCase.metadata.pluginId
81
+ }
82
+ };
83
+ else logger.warn(`[RuntimeTransform] Layer ${layerId} returned no test cases`);
84
+ } catch (error) {
85
+ const errorMsg = `Transform ${layerId} failed: ${error.message || "Unknown error"}`;
86
+ logger.error(`[RuntimeTransform] ${errorMsg}`, { error });
87
+ return {
88
+ prompt: originalPrompt,
89
+ originalPrompt,
90
+ error: errorMsg
91
+ };
92
+ }
93
+ }
94
+ const transformedPrompt = String(testCase.vars?.[injectVar] ?? prompt);
95
+ logger.debug(`[RuntimeTransform] Transform complete`, {
96
+ originalLength: prompt.length,
97
+ resultLength: transformedPrompt.length,
98
+ layersApplied: layerConfigs.length,
99
+ audioApplied,
100
+ imageApplied
101
+ });
102
+ const displayVars = {};
103
+ if (testCase.vars) {
104
+ for (const [key, value] of Object.entries(testCase.vars)) if (key !== injectVar && typeof value === "string") displayVars[key] = value;
105
+ }
106
+ const result = {
107
+ prompt: transformedPrompt,
108
+ originalPrompt,
109
+ ...Object.keys(displayVars).length > 0 && { displayVars },
110
+ metadata: testCase.metadata
111
+ };
112
+ const audioStorageKey = testCase.metadata?.audioStorageKey;
113
+ const imageStorageKey = testCase.metadata?.imageStorageKey;
114
+ if (audioApplied && transformedPrompt !== originalPrompt) {
115
+ const dataUrlMatch = transformedPrompt.match(/^data:audio\/([^;]+);base64,(.+)$/);
116
+ if (dataUrlMatch) result.audio = {
117
+ data: dataUrlMatch[2],
118
+ format: dataUrlMatch[1]
119
+ };
120
+ else result.audio = {
121
+ data: transformedPrompt,
122
+ format: "mp3"
123
+ };
124
+ if (audioStorageKey) logger.debug(`[RuntimeTransform] Audio stored to: ${audioStorageKey} (will be sanitized before DB save)`);
125
+ }
126
+ if (imageApplied && transformedPrompt !== originalPrompt) {
127
+ const dataUrlMatch = transformedPrompt.match(/^data:image\/([^;]+);base64,(.+)$/);
128
+ if (dataUrlMatch) result.image = {
129
+ data: dataUrlMatch[2],
130
+ format: dataUrlMatch[1]
131
+ };
132
+ else result.image = {
133
+ data: transformedPrompt,
134
+ format: "png"
135
+ };
136
+ if (imageStorageKey) logger.debug(`[RuntimeTransform] Image stored to: ${imageStorageKey} (will be sanitized before DB save)`);
137
+ }
138
+ return result;
139
+ }
140
+ //#endregion
141
+ export { applyRuntimeTransforms as t };
142
+
143
+ //# sourceMappingURL=runtimeTransform-Dgh_D7DU.js.map
@@ -0,0 +1,142 @@
1
+ import { a as logger } from "./logger-Ct2S6Yx-.js";
2
+ //#region src/redteam/shared/runtimeTransform.ts
3
+ /**
4
+ * Runtime transform utility for applying strategy transforms per-turn.
5
+ *
6
+ * This module enables multi-turn attack providers (Hydra, Crescendo, etc.)
7
+ * to apply layer transforms (audio, base64, etc.) to each turn's prompt
8
+ * before sending to the target.
9
+ *
10
+ * It reuses existing strategy implementations, avoiding code duplication.
11
+ */
12
+ /**
13
+ * Applies strategy transforms to a prompt at runtime (per-turn).
14
+ * This is used by multi-turn attack providers to transform each turn's
15
+ * output before sending to the target.
16
+ *
17
+ * @param prompt - The text prompt to transform
18
+ * @param injectVar - The variable name used for injection (e.g., 'query')
19
+ * @param layerConfigs - Array of layer configurations to apply in order
20
+ * @param strategies - The loaded strategies array (to avoid circular imports)
21
+ * @param context - Optional context metadata to pass to layer strategies
22
+ * @returns TransformResult with transformed prompt and audio metadata
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * // In Hydra provider:
27
+ * const result = await applyRuntimeTransforms(
28
+ * attackPrompt,
29
+ * 'query',
30
+ * ['audio', 'base64'],
31
+ * Strategies,
32
+ * { evaluationId: context?.evaluationId, purpose: context?.test?.metadata?.purpose }
33
+ * );
34
+ * // result.prompt = transformed, result.audio = { data, format } if audio
35
+ * ```
36
+ */
37
+ async function applyRuntimeTransforms(prompt, injectVar, layerConfigs, strategies, context) {
38
+ const originalPrompt = prompt;
39
+ if (!layerConfigs?.length) return {
40
+ prompt,
41
+ originalPrompt
42
+ };
43
+ logger.debug(`[RuntimeTransform] Applying ${layerConfigs.length} transforms to prompt`, {
44
+ hasContext: !!context,
45
+ hasEvaluationId: !!context?.evaluationId,
46
+ hasPurpose: !!context?.purpose
47
+ });
48
+ let testCase = {
49
+ vars: { [injectVar]: prompt },
50
+ assert: [],
51
+ metadata: {
52
+ pluginId: "runtime-transform",
53
+ evaluationId: context?.evaluationId,
54
+ testCaseId: context?.testCaseId,
55
+ purpose: context?.purpose,
56
+ goal: context?.goal
57
+ }
58
+ };
59
+ let audioApplied = false;
60
+ let imageApplied = false;
61
+ for (const layer of layerConfigs) {
62
+ const layerId = typeof layer === "string" ? layer : layer.id;
63
+ const layerConfig = typeof layer === "string" ? {} : layer.config || {};
64
+ const strategy = strategies.find((s) => s.id === layerId);
65
+ if (!strategy) {
66
+ logger.warn(`[RuntimeTransform] Unknown layer strategy: ${layerId}, skipping`);
67
+ continue;
68
+ }
69
+ logger.debug(`[RuntimeTransform] Applying layer: ${layerId}`);
70
+ if (layerId === "audio") audioApplied = true;
71
+ else if (layerId === "image") imageApplied = true;
72
+ try {
73
+ const transformed = (await strategy.action([testCase], injectVar, layerConfig))[0];
74
+ if (transformed) testCase = {
75
+ ...transformed,
76
+ metadata: {
77
+ ...testCase.metadata,
78
+ ...transformed.metadata,
79
+ pluginId: testCase.metadata.pluginId
80
+ }
81
+ };
82
+ else logger.warn(`[RuntimeTransform] Layer ${layerId} returned no test cases`);
83
+ } catch (error) {
84
+ const errorMsg = `Transform ${layerId} failed: ${error.message || "Unknown error"}`;
85
+ logger.error(`[RuntimeTransform] ${errorMsg}`, { error });
86
+ return {
87
+ prompt: originalPrompt,
88
+ originalPrompt,
89
+ error: errorMsg
90
+ };
91
+ }
92
+ }
93
+ const transformedPrompt = String(testCase.vars?.[injectVar] ?? prompt);
94
+ logger.debug(`[RuntimeTransform] Transform complete`, {
95
+ originalLength: prompt.length,
96
+ resultLength: transformedPrompt.length,
97
+ layersApplied: layerConfigs.length,
98
+ audioApplied,
99
+ imageApplied
100
+ });
101
+ const displayVars = {};
102
+ if (testCase.vars) {
103
+ for (const [key, value] of Object.entries(testCase.vars)) if (key !== injectVar && typeof value === "string") displayVars[key] = value;
104
+ }
105
+ const result = {
106
+ prompt: transformedPrompt,
107
+ originalPrompt,
108
+ ...Object.keys(displayVars).length > 0 && { displayVars },
109
+ metadata: testCase.metadata
110
+ };
111
+ const audioStorageKey = testCase.metadata?.audioStorageKey;
112
+ const imageStorageKey = testCase.metadata?.imageStorageKey;
113
+ if (audioApplied && transformedPrompt !== originalPrompt) {
114
+ const dataUrlMatch = transformedPrompt.match(/^data:audio\/([^;]+);base64,(.+)$/);
115
+ if (dataUrlMatch) result.audio = {
116
+ data: dataUrlMatch[2],
117
+ format: dataUrlMatch[1]
118
+ };
119
+ else result.audio = {
120
+ data: transformedPrompt,
121
+ format: "mp3"
122
+ };
123
+ if (audioStorageKey) logger.debug(`[RuntimeTransform] Audio stored to: ${audioStorageKey} (will be sanitized before DB save)`);
124
+ }
125
+ if (imageApplied && transformedPrompt !== originalPrompt) {
126
+ const dataUrlMatch = transformedPrompt.match(/^data:image\/([^;]+);base64,(.+)$/);
127
+ if (dataUrlMatch) result.image = {
128
+ data: dataUrlMatch[2],
129
+ format: dataUrlMatch[1]
130
+ };
131
+ else result.image = {
132
+ data: transformedPrompt,
133
+ format: "png"
134
+ };
135
+ if (imageStorageKey) logger.debug(`[RuntimeTransform] Image stored to: ${imageStorageKey} (will be sanitized before DB save)`);
136
+ }
137
+ return result;
138
+ }
139
+ //#endregion
140
+ export { applyRuntimeTransforms as t };
141
+
142
+ //# sourceMappingURL=runtimeTransform-DigbjU1r.js.map
@@ -0,0 +1,147 @@
1
+ const require_logger = require("./logger-cfNpzI4o.cjs");
2
+ //#region src/redteam/shared/runtimeTransform.ts
3
+ /**
4
+ * Runtime transform utility for applying strategy transforms per-turn.
5
+ *
6
+ * This module enables multi-turn attack providers (Hydra, Crescendo, etc.)
7
+ * to apply layer transforms (audio, base64, etc.) to each turn's prompt
8
+ * before sending to the target.
9
+ *
10
+ * It reuses existing strategy implementations, avoiding code duplication.
11
+ */
12
+ /**
13
+ * Applies strategy transforms to a prompt at runtime (per-turn).
14
+ * This is used by multi-turn attack providers to transform each turn's
15
+ * output before sending to the target.
16
+ *
17
+ * @param prompt - The text prompt to transform
18
+ * @param injectVar - The variable name used for injection (e.g., 'query')
19
+ * @param layerConfigs - Array of layer configurations to apply in order
20
+ * @param strategies - The loaded strategies array (to avoid circular imports)
21
+ * @param context - Optional context metadata to pass to layer strategies
22
+ * @returns TransformResult with transformed prompt and audio metadata
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * // In Hydra provider:
27
+ * const result = await applyRuntimeTransforms(
28
+ * attackPrompt,
29
+ * 'query',
30
+ * ['audio', 'base64'],
31
+ * Strategies,
32
+ * { evaluationId: context?.evaluationId, purpose: context?.test?.metadata?.purpose }
33
+ * );
34
+ * // result.prompt = transformed, result.audio = { data, format } if audio
35
+ * ```
36
+ */
37
+ async function applyRuntimeTransforms(prompt, injectVar, layerConfigs, strategies, context) {
38
+ const originalPrompt = prompt;
39
+ if (!layerConfigs?.length) return {
40
+ prompt,
41
+ originalPrompt
42
+ };
43
+ require_logger.logger.debug(`[RuntimeTransform] Applying ${layerConfigs.length} transforms to prompt`, {
44
+ hasContext: !!context,
45
+ hasEvaluationId: !!context?.evaluationId,
46
+ hasPurpose: !!context?.purpose
47
+ });
48
+ let testCase = {
49
+ vars: { [injectVar]: prompt },
50
+ assert: [],
51
+ metadata: {
52
+ pluginId: "runtime-transform",
53
+ evaluationId: context?.evaluationId,
54
+ testCaseId: context?.testCaseId,
55
+ purpose: context?.purpose,
56
+ goal: context?.goal
57
+ }
58
+ };
59
+ let audioApplied = false;
60
+ let imageApplied = false;
61
+ for (const layer of layerConfigs) {
62
+ const layerId = typeof layer === "string" ? layer : layer.id;
63
+ const layerConfig = typeof layer === "string" ? {} : layer.config || {};
64
+ const strategy = strategies.find((s) => s.id === layerId);
65
+ if (!strategy) {
66
+ require_logger.logger.warn(`[RuntimeTransform] Unknown layer strategy: ${layerId}, skipping`);
67
+ continue;
68
+ }
69
+ require_logger.logger.debug(`[RuntimeTransform] Applying layer: ${layerId}`);
70
+ if (layerId === "audio") audioApplied = true;
71
+ else if (layerId === "image") imageApplied = true;
72
+ try {
73
+ const transformed = (await strategy.action([testCase], injectVar, layerConfig))[0];
74
+ if (transformed) testCase = {
75
+ ...transformed,
76
+ metadata: {
77
+ ...testCase.metadata,
78
+ ...transformed.metadata,
79
+ pluginId: testCase.metadata.pluginId
80
+ }
81
+ };
82
+ else require_logger.logger.warn(`[RuntimeTransform] Layer ${layerId} returned no test cases`);
83
+ } catch (error) {
84
+ const errorMsg = `Transform ${layerId} failed: ${error.message || "Unknown error"}`;
85
+ require_logger.logger.error(`[RuntimeTransform] ${errorMsg}`, { error });
86
+ return {
87
+ prompt: originalPrompt,
88
+ originalPrompt,
89
+ error: errorMsg
90
+ };
91
+ }
92
+ }
93
+ const transformedPrompt = String(testCase.vars?.[injectVar] ?? prompt);
94
+ require_logger.logger.debug(`[RuntimeTransform] Transform complete`, {
95
+ originalLength: prompt.length,
96
+ resultLength: transformedPrompt.length,
97
+ layersApplied: layerConfigs.length,
98
+ audioApplied,
99
+ imageApplied
100
+ });
101
+ const displayVars = {};
102
+ if (testCase.vars) {
103
+ for (const [key, value] of Object.entries(testCase.vars)) if (key !== injectVar && typeof value === "string") displayVars[key] = value;
104
+ }
105
+ const result = {
106
+ prompt: transformedPrompt,
107
+ originalPrompt,
108
+ ...Object.keys(displayVars).length > 0 && { displayVars },
109
+ metadata: testCase.metadata
110
+ };
111
+ const audioStorageKey = testCase.metadata?.audioStorageKey;
112
+ const imageStorageKey = testCase.metadata?.imageStorageKey;
113
+ if (audioApplied && transformedPrompt !== originalPrompt) {
114
+ const dataUrlMatch = transformedPrompt.match(/^data:audio\/([^;]+);base64,(.+)$/);
115
+ if (dataUrlMatch) result.audio = {
116
+ data: dataUrlMatch[2],
117
+ format: dataUrlMatch[1]
118
+ };
119
+ else result.audio = {
120
+ data: transformedPrompt,
121
+ format: "mp3"
122
+ };
123
+ if (audioStorageKey) require_logger.logger.debug(`[RuntimeTransform] Audio stored to: ${audioStorageKey} (will be sanitized before DB save)`);
124
+ }
125
+ if (imageApplied && transformedPrompt !== originalPrompt) {
126
+ const dataUrlMatch = transformedPrompt.match(/^data:image\/([^;]+);base64,(.+)$/);
127
+ if (dataUrlMatch) result.image = {
128
+ data: dataUrlMatch[2],
129
+ format: dataUrlMatch[1]
130
+ };
131
+ else result.image = {
132
+ data: transformedPrompt,
133
+ format: "png"
134
+ };
135
+ if (imageStorageKey) require_logger.logger.debug(`[RuntimeTransform] Image stored to: ${imageStorageKey} (will be sanitized before DB save)`);
136
+ }
137
+ return result;
138
+ }
139
+ //#endregion
140
+ Object.defineProperty(exports, "applyRuntimeTransforms", {
141
+ enumerable: true,
142
+ get: function() {
143
+ return applyRuntimeTransforms;
144
+ }
145
+ });
146
+
147
+ //# sourceMappingURL=runtimeTransform-ON3YYILw.cjs.map