promptfoo 0.121.5 → 0.121.8

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-BIFntVWB.cjs → accounts-BVz5gHLK.cjs} +16 -10
  3. package/dist/src/{accounts-bnyHT7Ju.js → accounts-BWjqwsrf.js} +12 -7
  4. package/dist/src/{accounts-CLJHCDDb.js → accounts-D6IBfEE0.js} +13 -8
  5. package/dist/src/{accounts-CaLNYnf7.js → accounts-DAv_0iE7.js} +12 -7
  6. package/dist/src/{agentic-utils-B5krlibj.js → agentic-utils-BJKAkz2e.js} +2 -2
  7. package/dist/src/{agentic-utils-D2x0wGhB.cjs → agentic-utils-C-A92xhn.cjs} +8 -7
  8. package/dist/src/{agentic-utils-Ba67xmgs.js → agentic-utils-DmoS_S4B.js} +2 -2
  9. package/dist/src/{agentic-utils-BclbiXiq.js → agentic-utils-GdToujHu.js} +2 -2
  10. package/dist/src/{agents-BGqaTDnr.js → agents-2C8NN6I1.js} +20 -9
  11. package/dist/src/{agents-n6vPqV3i.js → agents-BMAiSR2o.js} +4 -4
  12. package/dist/src/{agents-BYdMl1UE.js → agents-C-PGaxwj.js} +20 -9
  13. package/dist/src/{agents-BV9yFpXX.js → agents-C98cz5pl.js} +20 -9
  14. package/dist/src/{agents-WULPVjbH.cjs → agents-DB8Ub2Ld.cjs} +7 -6
  15. package/dist/src/{agents-DhxWMCtH.js → agents-Dwshy2H8.js} +4 -4
  16. package/dist/src/{agents-emVcx3yh.js → agents-mlKjx-cK.js} +2 -2
  17. package/dist/src/{agents-DiWmQYH9.cjs → agents-n2ej-c4H.cjs} +21 -10
  18. package/dist/src/{aimlapi-DR4pgeiC.js → aimlapi-Bi-laUlp.js} +6 -6
  19. package/dist/src/{aimlapi-BzLjZI_m.cjs → aimlapi-D0OFV4Vj.cjs} +7 -7
  20. package/dist/src/{aimlapi-BxqK9HF_.js → aimlapi-WyUK0wYy.js} +6 -6
  21. package/dist/src/{aimlapi-uPGp0Zdo.js → aimlapi-v-63ZjEI.js} +6 -6
  22. package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -1
  23. package/dist/src/app/assets/Report-sCXUfaWo.js +1 -0
  24. package/dist/src/app/assets/index-BopgkZEh.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-CScmnmEB.js → audio-DnEIHWZR.js} +3 -3
  34. package/dist/src/{audio-Da8U9IS5.js → audio-heR0mu0n.js} +3 -3
  35. package/dist/src/{audio-BvpTOArF.js → audio-wafFO1wn.js} +3 -3
  36. package/dist/src/{audio-C0vDeS0j.cjs → audio-x44tsxIo.cjs} +4 -4
  37. package/dist/src/authoritativeMarkupInjection-2G3Be6oL.cjs +74 -0
  38. package/dist/src/authoritativeMarkupInjection-81PPynHR.js +75 -0
  39. package/dist/src/authoritativeMarkupInjection-D9O70HPi.js +74 -0
  40. package/dist/src/authoritativeMarkupInjection-PxSf3Rh8.js +74 -0
  41. package/dist/src/{base-dYsl2hmL.js → base-0Gzzue9Z.js} +4 -3
  42. package/dist/src/{base-BOMaNEes.js → base-Bp4c52YZ.js} +4 -3
  43. package/dist/src/{base-BTux96b1.js → base-BuNn-YBX.js} +4 -3
  44. package/dist/src/{base-Tw6uhH8K.cjs → base-BzdS8tod.cjs} +5 -4
  45. package/dist/src/bestOfN-BHiOjeaq.js +136 -0
  46. package/dist/src/bestOfN-CdkNPPbX.js +136 -0
  47. package/dist/src/bestOfN-ClUSOhN0.js +137 -0
  48. package/dist/src/bestOfN-DWwXEg1h.cjs +140 -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-BKYi3kAA.js +3 -0
  54. package/dist/src/{cache-BI5BY7ey.js → cache-BR77mdIR.js} +127 -11
  55. package/dist/src/{cache-Cr-qWIbP.js → cache-CrioYnaa.js} +125 -10
  56. package/dist/src/{cache-Bzttsk0X.js → cache-DdriHsNX.js} +125 -10
  57. package/dist/src/{cache-DGg-yTZG.cjs → cache-h5MWOBZI.cjs} +135 -25
  58. package/dist/src/{chat-Cx_LkwvZ.js → chat-BBEnnpQk.js} +11 -11
  59. package/dist/src/{chat-DChSH_Es.js → chat-BSos6PvZ.js} +9 -9
  60. package/dist/src/{chat-aMQZw6R7.js → chat-Bnt7ieO0.js} +4 -4
  61. package/dist/src/{chat-vYqqv1gP.cjs → chat-DSyYuTYT.cjs} +14 -13
  62. package/dist/src/{chat-BLOdH60v.js → chat-DTdf-J5Q.js} +11 -11
  63. package/dist/src/{chat-DH97tVV9.cjs → chat-Dq3DomYU.cjs} +6 -6
  64. package/dist/src/{chat-DG2LkwLq.js → chat-g5QLeLOo.js} +4 -4
  65. package/dist/src/{chat-D9nudO9b.js → chat-mTTuUAYb.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-DYv_AJ8u.js → claude-agent-sdk-BGUac_kS.js} +213 -66
  71. package/dist/src/{claude-agent-sdk-BjriSVRZ.js → claude-agent-sdk-BP__YGfK.js} +213 -66
  72. package/dist/src/{claude-agent-sdk-BzNZeZ0N.js → claude-agent-sdk-Ddgx5BIQ.js} +212 -65
  73. package/dist/src/{claude-agent-sdk-BRq0bbIK.cjs → claude-agent-sdk-n2XcEclh.cjs} +219 -71
  74. package/dist/src/cloud-DiWbUiVP.js +3 -0
  75. package/dist/src/{cloud-Da0bofJd.js → cloud-DqF5N1aJ.js} +2 -2
  76. package/dist/src/{cloudflare-ai-CXC4b1EU.js → cloudflare-ai-BGamMotN.js} +4 -4
  77. package/dist/src/{cloudflare-ai-DGOwgexC.js → cloudflare-ai-BwW8W-w7.js} +4 -4
  78. package/dist/src/{cloudflare-ai-DJv5qnyb.cjs → cloudflare-ai-DCRGnsyL.cjs} +6 -6
  79. package/dist/src/{cloudflare-ai-CyBoIs1Q.js → cloudflare-ai-sD26nP6V.js} +4 -4
  80. package/dist/src/{cloudflare-gateway-TJkVrZlB.js → cloudflare-gateway-2lnOT4qM.js} +3 -3
  81. package/dist/src/{cloudflare-gateway-D-dnkzCF.js → cloudflare-gateway-B1-8KNCt.js} +3 -3
  82. package/dist/src/{cloudflare-gateway-DKVjkDav.cjs → cloudflare-gateway-CCC1DFrC.cjs} +5 -5
  83. package/dist/src/{cloudflare-gateway-1sAoOyft.js → cloudflare-gateway-DOghiU6r.js} +3 -3
  84. package/dist/src/{codex-app-server-CCLjqCh9.js → codex-app-server-BWeWamEb.js} +19 -4
  85. package/dist/src/{codex-app-server-CCe0TiDc.js → codex-app-server-DyQB1P0p.js} +20 -5
  86. package/dist/src/{codex-app-server-VMRnjZ68.cjs → codex-app-server-R9u_G7W9.cjs} +27 -11
  87. package/dist/src/{codex-app-server-CPW1LFwh.js → codex-app-server-ZQRJSJjU.js} +20 -5
  88. package/dist/src/{codex-sdk-Bzb_TqX9.js → codex-sdk-B62H0fe7.js} +16 -5
  89. package/dist/src/{codex-sdk-Bd8UbO9q.cjs → codex-sdk-BRPUvJG8.cjs} +31 -12
  90. package/dist/src/{codex-sdk-BgEFQ70r.js → codex-sdk-Dio1zJBS.js} +18 -7
  91. package/dist/src/codex-sdk-DxukZs_K.js +3 -0
  92. package/dist/src/{codex-sdk-DfvDTN33.js → codex-sdk-iEmW1eS2.js} +18 -7
  93. package/dist/src/{cometapi-B5ImDlSm.js → cometapi--hh7dESS.js} +7 -7
  94. package/dist/src/{cometapi-CC7hWxmX.js → cometapi-C7yWNGqt.js} +7 -7
  95. package/dist/src/{cometapi-CCbpHkuF.js → cometapi-CSIi16a0.js} +7 -7
  96. package/dist/src/{cometapi-BgAkuYCw.cjs → cometapi-sZgBZtbU.cjs} +8 -8
  97. package/dist/src/{completion-DtQ72Bm3.cjs → completion-CWtqdn3z.cjs} +6 -6
  98. package/dist/src/{completion-Vq_ad618.js → completion-DT8cxo9T.js} +4 -4
  99. package/dist/src/{completion-2iuYVxwi.js → completion-DUScduXp.js} +5 -5
  100. package/dist/src/{completion-CrD6MQ93.js → completion-D_2IOAoS.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-B41TwUHM.js +722 -0
  110. package/dist/src/crescendo-Bfic7KC4.js +724 -0
  111. package/dist/src/crescendo-DXFB7rHP.cjs +725 -0
  112. package/dist/src/crescendo-DvvYxMLA.js +723 -0
  113. package/dist/src/custom-BdzuqFTN.js +619 -0
  114. package/dist/src/custom-Cf5Q6r-P.js +618 -0
  115. package/dist/src/custom-DLgufezC.js +620 -0
  116. package/dist/src/custom-LEXHCRe3.cjs +621 -0
  117. package/dist/src/{docker--3qzPa-6.js → docker-BOSO_6hK.js} +5 -5
  118. package/dist/src/{docker-D3AY-5F5.cjs → docker-D0h2vFrc.cjs} +6 -6
  119. package/dist/src/{docker-DCsCDvwM.js → docker-D2TWGyTP.js} +5 -5
  120. package/dist/src/{docker-Dorv4_Dg.js → docker-Vj_4_cPg.js} +5 -5
  121. package/dist/src/{embedding-BXhN5lCH.cjs → embedding-BQIApR18.cjs} +6 -6
  122. package/dist/src/{embedding-ChS1ivFS.js → embedding-CStK0TV6.js} +5 -5
  123. package/dist/src/{embedding-DNRvZwRN.js → embedding-CU78FMnw.js} +5 -5
  124. package/dist/src/{embedding-D_bI4NDq.js → embedding-CV8lmCnU.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-B3BaNBbO.js} +19 -19
  130. package/dist/src/{eval-BQPLBJbw.js → eval-DfR9885C.js} +1 -1
  131. package/dist/src/evalResult-BtZSUgQv.js +3 -0
  132. package/dist/src/{evalResult-D6P5I5il.js → evalResult-CcSqNl_Y.js} +17 -10
  133. package/dist/src/{evalResult-Cx-8OWkb.cjs → evalResult-DHXs-9TL.cjs} +29 -11
  134. package/dist/src/{evalResult-pSvGWFMo.js → evalResult-PGqEbasb.js} +18 -11
  135. package/dist/src/evaluator-B9LGbKI8.js +3 -0
  136. package/dist/src/{evaluator-D-UIbbYq.js → evaluator-n_dEb00o.js} +258 -132
  137. package/dist/src/evaluatorHelpers-CrRObe2z.js +510 -0
  138. package/dist/src/evaluatorHelpers-D06I9WFL.cjs +537 -0
  139. package/dist/src/evaluatorHelpers-D1_kwvyp.js +511 -0
  140. package/dist/src/{extractor-DxyiFhPk.js → extractor-BVkZtk4R.js} +5 -5
  141. package/dist/src/{extractor-BM3jRERL.js → extractor-D3Fv_Tdh.js} +5 -5
  142. package/dist/src/{extractor-YlZbUMsL.js → extractor-Jp53vs-6.js} +5 -5
  143. package/dist/src/{extractor-Dxr2J_wK.cjs → extractor-bV_NOoaz.cjs} +6 -6
  144. package/dist/src/{fetch-Y5qX_kST.js → fetch-BSSAcMxf.js} +90 -26
  145. package/dist/src/fetch-BodQTrMU.js +3 -0
  146. package/dist/src/{fetch-NuqXW1Xb.cjs → fetch-Cfm4EuOB.cjs} +115 -32
  147. package/dist/src/{fetch-B6ch2nU2.js → fetch-Cpf1U1nO.js} +86 -26
  148. package/dist/src/{fetch-D9xxyC1p.js → fetch-Doks14zQ.js} +90 -26
  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-Ba7Gznzq.js +467 -0
  158. package/dist/src/goat-CJngS-WU.js +468 -0
  159. package/dist/src/goat-CwsbfQeu.js +466 -0
  160. package/dist/src/goat-DOMbozoX.cjs +470 -0
  161. package/dist/src/graders-B3D7kCcD.js +3 -0
  162. package/dist/src/{graders-CgPn32yp.js → graders-BQt1BaQe.js} +1019 -86
  163. package/dist/src/{graders-Bw1wk_21.cjs → graders-CBQ2s6gz.cjs} +1087 -130
  164. package/dist/src/{graders-CwrbifOo.js → graders-DaRU98zs.js} +1022 -84
  165. package/dist/src/{graders-BoUqsCEm.js → graders-KXzjnIim.js} +1024 -86
  166. package/dist/src/hydra-BU6GjYoQ.js +560 -0
  167. package/dist/src/hydra-BmXHxlyl.js +559 -0
  168. package/dist/src/hydra-CR0KyYDb.js +561 -0
  169. package/dist/src/hydra-RO9jBks7.cjs +560 -0
  170. package/dist/src/{image-BeWaInPF.js → image-BBmZdKO3.js} +3 -3
  171. package/dist/src/{image-qjO6FWPs.js → image-B_PFG7IG.js} +3 -3
  172. package/dist/src/image-BtODOZjh.js +442 -0
  173. package/dist/src/image-CYuNJIqd.js +442 -0
  174. package/dist/src/{image-D10dNAav.cjs → image-E00WFZkq.cjs} +4 -4
  175. package/dist/src/image-HK2Cfqb1.cjs +465 -0
  176. package/dist/src/{image-Dr_3I3nK.js → image-LGj8dTcr.js} +3 -3
  177. package/dist/src/image-YMKejC0r.js +443 -0
  178. package/dist/src/index.cjs +711 -339
  179. package/dist/src/index.d.cts +3159 -1611
  180. package/dist/src/index.d.ts +3158 -1610
  181. package/dist/src/index.js +605 -249
  182. package/dist/src/indirectWebPwn-B80dLlFC.js +260 -0
  183. package/dist/src/indirectWebPwn-BMTXXznx.js +386 -0
  184. package/dist/src/indirectWebPwn-BZFPV7Q9.js +385 -0
  185. package/dist/src/indirectWebPwn-BaEQEOIO.cjs +260 -0
  186. package/dist/src/indirectWebPwn-BzpyMnFS.js +259 -0
  187. package/dist/src/indirectWebPwn-CiWB-vVH.js +385 -0
  188. package/dist/src/indirectWebPwn-D7NA9Nsv.cjs +397 -0
  189. package/dist/src/indirectWebPwn-o_bEFMjP.js +259 -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-B-l0syBV.js +501 -0
  197. package/dist/src/iterative-BACUeCCz.cjs +503 -0
  198. package/dist/src/iterative-CVwoExo8.js +502 -0
  199. package/dist/src/iterative-QDrGSyss.js +500 -0
  200. package/dist/src/iterativeImage-BQg2OwA6.js +413 -0
  201. package/dist/src/iterativeImage-Bwn0fM75.js +413 -0
  202. package/dist/src/iterativeImage-CcgVyASo.cjs +415 -0
  203. package/dist/src/iterativeImage-D_UbQXg4.js +414 -0
  204. package/dist/src/iterativeMeta-CIu-CHRS.js +405 -0
  205. package/dist/src/iterativeMeta-CN8CNjFA.js +406 -0
  206. package/dist/src/iterativeMeta-DN6BTjpq.js +404 -0
  207. package/dist/src/iterativeMeta-DlqY3BsS.cjs +405 -0
  208. package/dist/src/iterativeTree-CJ8a8G9T.js +820 -0
  209. package/dist/src/iterativeTree-DcuFXnjL.js +819 -0
  210. package/dist/src/iterativeTree-FrDDYAN0.js +818 -0
  211. package/dist/src/iterativeTree-LOgAi0nU.cjs +821 -0
  212. package/dist/src/{knowledgeBase-C8qOo26M.cjs → knowledgeBase-CdbcGBZF.cjs} +25 -11
  213. package/dist/src/{knowledgeBase-BBETc5-S.js → knowledgeBase-CjOXp6Lr.js} +23 -9
  214. package/dist/src/{knowledgeBase-Dr3Kib7F.js → knowledgeBase-DxAq4n4z.js} +24 -10
  215. package/dist/src/{knowledgeBase-CzAi2rUI.js → knowledgeBase-o_wTLzrt.js} +24 -10
  216. package/dist/src/{litellm-DRc4qWfc.js → litellm-B2gHwya_.js} +4 -4
  217. package/dist/src/{litellm-CaUmV7Mk.cjs → litellm-CPpdlO7n.cjs} +5 -5
  218. package/dist/src/{litellm-BLSiANhk.js → litellm-CYfgxLrM.js} +4 -4
  219. package/dist/src/{litellm-DQGo_juI.js → litellm-ojWBKU3C.js} +4 -4
  220. package/dist/src/{logger-COuQb2xB.cjs → logger-cfNpzI4o.cjs} +13 -55
  221. package/dist/src/{luma-ray-if-Ml4R9.cjs → luma-ray-BCCO9XXG.cjs} +9 -8
  222. package/dist/src/{luma-ray-B-tNZzqW.js → luma-ray-BPrdihAb.js} +5 -5
  223. package/dist/src/{luma-ray-CtS3OlGq.js → luma-ray-DP5N79lB.js} +5 -5
  224. package/dist/src/{luma-ray-PJJgUjOc.js → luma-ray-DTDyoAlM.js} +5 -5
  225. package/dist/src/main.js +727 -234
  226. package/dist/src/memoryPoisoning-B6N3us35.cjs +106 -0
  227. package/dist/src/memoryPoisoning-Bc_BK_k2.js +106 -0
  228. package/dist/src/memoryPoisoning-D375zwSX.js +107 -0
  229. package/dist/src/memoryPoisoning-DJA0YjJT.js +106 -0
  230. package/dist/src/{messages-CewuNcNS.js → messages-Bg29Nbit.js} +17 -9
  231. package/dist/src/{messages-BnsVHUnm.cjs → messages-BrZEnHsV.cjs} +24 -15
  232. package/dist/src/{messages-CI69Lasb.js → messages-CBulRaud.js} +18 -10
  233. package/dist/src/{messages-B9dSjrNf.js → messages-K9A8RxBM.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-BDLwSGN0.js +46 -0
  239. package/dist/src/mischievousUser-Blx-OtT3.js +47 -0
  240. package/dist/src/mischievousUser-CHuTTvBg.js +46 -0
  241. package/dist/src/mischievousUser-CSUrH3fq.cjs +46 -0
  242. package/dist/src/{modelslab-zpz9JcK0.js → modelslab-BjEk7yCP.js} +6 -6
  243. package/dist/src/{modelslab-BCLOtfek.js → modelslab-CBCrdIBc.js} +6 -6
  244. package/dist/src/{modelslab-D73OnKSx.js → modelslab-CrGpXuhv.js} +6 -6
  245. package/dist/src/{modelslab-BkapYJhh.cjs → modelslab-Cvh0klQx.cjs} +7 -7
  246. package/dist/src/{nova-reel-B8F_TK5w.js → nova-reel-CUDDZcSA.js} +5 -5
  247. package/dist/src/{nova-reel-Bx0NFV2f.js → nova-reel-CyDESu5J.js} +5 -5
  248. package/dist/src/{nova-reel-DkT7tnoB.cjs → nova-reel-DH_Ksu6X.cjs} +9 -8
  249. package/dist/src/{nova-reel-CNGJTLtG.js → nova-reel-YQAqUYJY.js} +5 -5
  250. package/dist/src/{nova-sonic-BeTRaFOh.js → nova-sonic-BVFFB7JZ.js} +2 -2
  251. package/dist/src/{nova-sonic-YT426juD.cjs → nova-sonic-Bg3cxMMu.cjs} +5 -4
  252. package/dist/src/{nova-sonic-CL7Zqv0G.js → nova-sonic-BhmnRGyh.js} +3 -3
  253. package/dist/src/{nova-sonic-BaXRN1cr.js → nova-sonic-DxmK95c1.js} +3 -3
  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-DUBZP3GL.cjs → openclaw-CHQaZi_-.cjs} +17 -15
  258. package/dist/src/{openclaw-DA8U4DsD.js → openclaw-CWOm2eOr.js} +9 -8
  259. package/dist/src/{openclaw-DObVgpjC.js → openclaw-Cdk9JKfY.js} +9 -8
  260. package/dist/src/{openclaw-Bq7RVR3k.js → openclaw-DhF8rUpI.js} +9 -8
  261. package/dist/src/{opencode-sdk-BB40Wir1.js → opencode-sdk-BRjiPV-g.js} +38 -3
  262. package/dist/src/{opencode-sdk-CeqiOcOU.cjs → opencode-sdk-CPFMw0ed.cjs} +45 -9
  263. package/dist/src/{opencode-sdk-BM1UAIv1.js → opencode-sdk-CaSOCsBA.js} +39 -4
  264. package/dist/src/{opencode-sdk-ChdK7F7z.js → opencode-sdk-CqkyG8De.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-BU4_0J85.js +238 -0
  282. package/dist/src/promptfoo-CReYAtfb.js +237 -0
  283. package/dist/src/promptfoo-ClChwT74.cjs +292 -0
  284. package/dist/src/promptfoo-CqEpj6Sr.js +237 -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-B7TyByfj.js} +789 -11925
  297. package/dist/src/{providers-CJh7iriU.js → providers-BGc7tDtQ.js} +796 -11872
  298. package/dist/src/{providers-Ctcc592x.js → providers-CSOp-bCm.js} +1 -1
  299. package/dist/src/{providers-eDShy16E.cjs → providers-V6RBuieY.cjs} +837 -12138
  300. package/dist/src/{providers-DRrerKra.js → providers-iH3Sw1yo.js} +851 -11938
  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-CPKhWgaT.js → quiverai-58BtRRet.js} +3 -3
  306. package/dist/src/{quiverai-Bk1KrvL6.js → quiverai-C1dYu5MW.js} +3 -3
  307. package/dist/src/{quiverai-BSS9a7wV.js → quiverai-CNMIpZQg.js} +3 -3
  308. package/dist/src/{quiverai-Bpx6MZ7T.cjs → quiverai-fmSfU43k.cjs} +4 -4
  309. package/dist/src/registry-6Jw6ebor.cjs +124 -0
  310. package/dist/src/registry-BTGk2ZkB.js +124 -0
  311. package/dist/src/registry-BTNqmP5o.js +125 -0
  312. package/dist/src/registry-NGnOG2xa.js +124 -0
  313. package/dist/src/{server-gyd6d4Hc.js → remoteGeneration--D6WjzUm.js} +15 -108
  314. package/dist/src/{server-BEECpeGG.cjs → remoteGeneration-BpIYlb_O.cjs} +30 -119
  315. package/dist/src/{server-ByxbqAcQ.js → remoteGeneration-CJC3E0aW.js} +15 -147
  316. package/dist/src/remoteGeneration-D6UjE2JT.js +218 -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-1ztiVYsx.js → responses-5Gf5HNOi.js} +11 -7
  327. package/dist/src/{responses-BiaBguAu.js → responses-BVi7xIdv.js} +13 -9
  328. package/dist/src/{responses-CF-ayauu.cjs → responses-CUARGrhY.cjs} +16 -11
  329. package/dist/src/{responses-B8haB-mD.js → responses-CrmWv6iz.js} +13 -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-ljtY12VM.cjs → sagemaker-BeVTKfrv.cjs} +65 -53
  341. package/dist/src/{sagemaker-BDLeW29y.js → sagemaker-BwbV5U7_.js} +61 -50
  342. package/dist/src/{sagemaker-C5T60MKf.js → sagemaker-ClAZ6Qwc.js} +61 -50
  343. package/dist/src/{sagemaker-ClS_NB07.js → sagemaker-DY2qrOpq.js} +61 -50
  344. package/dist/src/{scanner-nOCWNIXa.js → scanner-BS-iFIp3.js} +6 -6
  345. package/dist/src/server/index.js +4115 -420
  346. package/dist/src/server-BHOEL8p8.cjs +126 -0
  347. package/dist/src/server-CbiJppij.js +107 -0
  348. package/dist/src/server-D18AAlAc.js +3 -0
  349. package/dist/src/server-DLYjSFm2.js +182 -0
  350. package/dist/src/server-JQYD_Nws.js +146 -0
  351. package/dist/src/{fileExtensions-8CjoL7vB.js → shared-BoG7qLMv.js} +12 -2
  352. package/dist/src/shared-CRq0gGVf.js +1334 -0
  353. package/dist/src/shared-CSIGeGLl.js +1334 -0
  354. package/dist/src/shared-DNvim54U.js +1335 -0
  355. package/dist/src/shared-aHWko3P1.cjs +1436 -0
  356. package/dist/src/{signal-DTtUuU3l.js → signal-CSurUUyV.js} +2 -2
  357. package/dist/src/simulatedUser-C7sOFSF6.js +222 -0
  358. package/dist/src/simulatedUser-DH_7RzEQ.js +222 -0
  359. package/dist/src/simulatedUser-lgMMmniD.js +223 -0
  360. package/dist/src/simulatedUser-mnCUS9Bm.cjs +227 -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-95htjpLs.js +834 -0
  366. package/dist/src/storage-A4WnAeN3.cjs +911 -0
  367. package/dist/src/storage-B2Ql_oq4.js +822 -0
  368. package/dist/src/storage-EKVWZBNY.js +875 -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-CBI1brSy.js +2333 -0
  374. package/dist/src/strategies-CCcnEbFO.cjs +2360 -0
  375. package/dist/src/strategies-CD1gHeeQ.js +2331 -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-BUm_krVX.js +3 -0
  381. package/dist/src/{telemetry--iqaGyaS.js → telemetry-BbpmrenM.js} +4 -4
  382. package/dist/src/{telemetry-CgdVGV8N.js → telemetry-C4bX-6Sr.js} +4 -4
  383. package/dist/src/{telemetry-CEQxGnMZ.cjs → telemetry-C_ImlCOk.cjs} +15 -9
  384. package/dist/src/{telemetry-DWdGHvEf.js → telemetry-DOE567Wj.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-BOP1FsRt.js +220 -0
  396. package/dist/src/tracingOptions-BvmDa_jH.js +219 -0
  397. package/dist/src/tracingOptions-DFBoE8O0.cjs +249 -0
  398. package/dist/src/tracingOptions-xhjOg2b1.js +221 -0
  399. package/dist/src/{transcription-D7Q0vJsh.js → transcription-BOXDoehT.js} +4 -4
  400. package/dist/src/{transcription-Bm2emLmJ.js → transcription-CpVdKc4P.js} +5 -5
  401. package/dist/src/{transcription-CZ4LG5hQ.cjs → transcription-D8kkPXg_.cjs} +9 -8
  402. package/dist/src/{transcription-84t4ALo2.js → transcription-Z94eV9LR.js} +5 -5
  403. package/dist/src/transform-BnSTnFlp.js +187 -0
  404. package/dist/src/transform-BnSXWmU_2.cjs +221 -0
  405. package/dist/src/{transform-DtooZqYY.js → transform-BufxPIQL.js} +8 -8
  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-DJkt81VY.cjs} +12 -11
  409. package/dist/src/{transform-B-b6Cq-q.js → transform-DtTfiGoh.js} +8 -8
  410. package/dist/src/{transform-_DpNB4qp.js → transform-Wp6s_5QE.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-Dpmm_dAI.cjs → util-BHCAeuXx.cjs} +33 -7
  420. package/dist/src/{util-DFPeFkiV.js → util-CMrHV35u.js} +28 -8
  421. package/dist/src/{util-DvpHnLt0.cjs → util-COnzevXE.cjs} +29 -21
  422. package/dist/src/{util-BlFVL0UF.js → util-CYev3d-r.js} +22 -7
  423. package/dist/src/util-DGqkTb2-.js +327 -0
  424. package/dist/src/util-DNtUsus_.cjs +386 -0
  425. package/dist/src/{util-Dub0f_ej.js → util-DRfqa4xz.js} +17 -10
  426. package/dist/src/{util-BVXcTwXu.js → util-DTq3jq2z.js} +28 -8
  427. package/dist/src/{util-C-kmRosx.js → util-DeY58psG.js} +22 -7
  428. package/dist/src/util-DpV6KT5i.js +327 -0
  429. package/dist/src/{util-3pBZZb_H.js → util-DwNJzqOV.js} +45 -10
  430. package/dist/src/util-ETfU_sS9.js +328 -0
  431. package/dist/src/{util-A5_ZsQUn.cjs → util-NYQvo1C7.cjs} +25 -9
  432. package/dist/src/{util-DN0-b81k.js → util-X4KQgyVD.js} +28 -8
  433. package/dist/src/{util-BQOCAHQC.js → util-jZRrXe1P.js} +46 -11
  434. package/dist/src/{util-B9CNhyac.js → util-o2Qg5rZv.js} +22 -7
  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-CHR-EFec.js} +2 -2
  440. package/dist/src/{version-CbpiUINz.js → version-F0YDgb7J.js} +2 -2
  441. package/dist/src/{version-D9zu9FWB.cjs → version-VzUqOBZk.cjs} +2 -2
  442. package/dist/src/{version-0frU0UTr.js → version-qVEN5qCm.js} +2 -2
  443. package/dist/tsconfig.tsbuildinfo +1 -1
  444. package/package.json +49 -23
  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
@@ -0,0 +1,95 @@
1
+ #!/usr/bin/env node
2
+ import { n as __require } from "./chunk-DRamLcfz.js";
3
+ //#region src/util/processShim.ts
4
+ /**
5
+ * Browser-safe process shim module.
6
+ *
7
+ * This module provides a shimmed process object that works in both Node.js and browser
8
+ * environments. In Node.js, it provides full functionality including process.mainModule.require.
9
+ * In browsers, it returns a minimal shim that throws helpful errors when Node.js-specific
10
+ * features are accessed.
11
+ *
12
+ * This separation is necessary because:
13
+ * 1. The promptfoo webui imports httpTransforms.ts which needs getProcessShim()
14
+ * 2. httpTransforms.ts is designed to be frontend-importable for testing transforms in the UI
15
+ * 3. The Node.js implementation uses createRequire from 'node:module' which doesn't exist in browsers
16
+ *
17
+ * By using runtime environment detection and dynamic imports, we can:
18
+ * - Avoid top-level imports of Node.js-only modules that would break browser bundling
19
+ * - Provide appropriate functionality for each environment
20
+ */
21
+ /**
22
+ * Detects if the current environment is a browser or web worker.
23
+ * Handles test environments (jsdom/happy-dom) that define window in Node.js.
24
+ */
25
+ function isBrowserEnvironment() {
26
+ if (typeof process !== "undefined" && typeof process.versions?.node === "string") return false;
27
+ return typeof window !== "undefined" || typeof self !== "undefined" && typeof self.importScripts === "function";
28
+ }
29
+ /**
30
+ * Creates a minimal process shim for browser environments.
31
+ * This shim provides helpful error messages when Node.js-specific features are accessed.
32
+ */
33
+ function createBrowserProcessShim() {
34
+ return {
35
+ env: {},
36
+ mainModule: {
37
+ require: () => {
38
+ throw new Error("require() is not available in browser transforms. Use standard JavaScript instead.");
39
+ },
40
+ exports: {},
41
+ id: ".",
42
+ filename: "",
43
+ loaded: true,
44
+ children: [],
45
+ paths: []
46
+ }
47
+ };
48
+ }
49
+ let cachedNodeProcessShim = null;
50
+ /**
51
+ * Returns a shimmed process object that works in both Node.js and browser environments.
52
+ *
53
+ * In Node.js:
54
+ * - Returns a proxy with process.mainModule.require shimmed for ESM compatibility
55
+ * - Allows inline transforms to use require() even in ESM context
56
+ *
57
+ * In browsers:
58
+ * - Returns a minimal shim with helpful error messages
59
+ * - Allows simple transforms that don't use require() to work
60
+ *
61
+ * @example
62
+ * // In Node.js - can use require
63
+ * const fn = new Function('data', 'process', `return process.mainModule.require('fs')`);
64
+ * fn(data, getProcessShim());
65
+ *
66
+ * @example
67
+ * // In browser - simple transforms work
68
+ * const fn = new Function('data', 'process', `return data.toUpperCase()`);
69
+ * fn(data, getProcessShim());
70
+ */
71
+ function getProcessShim() {
72
+ if (isBrowserEnvironment()) return createBrowserProcessShim();
73
+ if (!cachedNodeProcessShim) try {
74
+ const esmRequire = __require("node:module").createRequire(import.meta.url);
75
+ cachedNodeProcessShim = new Proxy(process, { get(target, prop) {
76
+ if (prop === "mainModule") return {
77
+ require: esmRequire,
78
+ exports: {},
79
+ id: ".",
80
+ filename: "",
81
+ loaded: true,
82
+ children: [],
83
+ paths: []
84
+ };
85
+ return Reflect.get(target, prop);
86
+ } });
87
+ } catch {
88
+ return createBrowserProcessShim();
89
+ }
90
+ return cachedNodeProcessShim;
91
+ }
92
+ //#endregion
93
+ export { getProcessShim as t };
94
+
95
+ //# sourceMappingURL=processShim-BBxt7LKO.js.map
@@ -0,0 +1,94 @@
1
+ import { n as __require } from "./chunk-DEq-mXcV.js";
2
+ //#region src/util/processShim.ts
3
+ /**
4
+ * Browser-safe process shim module.
5
+ *
6
+ * This module provides a shimmed process object that works in both Node.js and browser
7
+ * environments. In Node.js, it provides full functionality including process.mainModule.require.
8
+ * In browsers, it returns a minimal shim that throws helpful errors when Node.js-specific
9
+ * features are accessed.
10
+ *
11
+ * This separation is necessary because:
12
+ * 1. The promptfoo webui imports httpTransforms.ts which needs getProcessShim()
13
+ * 2. httpTransforms.ts is designed to be frontend-importable for testing transforms in the UI
14
+ * 3. The Node.js implementation uses createRequire from 'node:module' which doesn't exist in browsers
15
+ *
16
+ * By using runtime environment detection and dynamic imports, we can:
17
+ * - Avoid top-level imports of Node.js-only modules that would break browser bundling
18
+ * - Provide appropriate functionality for each environment
19
+ */
20
+ /**
21
+ * Detects if the current environment is a browser or web worker.
22
+ * Handles test environments (jsdom/happy-dom) that define window in Node.js.
23
+ */
24
+ function isBrowserEnvironment() {
25
+ if (typeof process !== "undefined" && typeof process.versions?.node === "string") return false;
26
+ return typeof window !== "undefined" || typeof self !== "undefined" && typeof self.importScripts === "function";
27
+ }
28
+ /**
29
+ * Creates a minimal process shim for browser environments.
30
+ * This shim provides helpful error messages when Node.js-specific features are accessed.
31
+ */
32
+ function createBrowserProcessShim() {
33
+ return {
34
+ env: {},
35
+ mainModule: {
36
+ require: () => {
37
+ throw new Error("require() is not available in browser transforms. Use standard JavaScript instead.");
38
+ },
39
+ exports: {},
40
+ id: ".",
41
+ filename: "",
42
+ loaded: true,
43
+ children: [],
44
+ paths: []
45
+ }
46
+ };
47
+ }
48
+ let cachedNodeProcessShim = null;
49
+ /**
50
+ * Returns a shimmed process object that works in both Node.js and browser environments.
51
+ *
52
+ * In Node.js:
53
+ * - Returns a proxy with process.mainModule.require shimmed for ESM compatibility
54
+ * - Allows inline transforms to use require() even in ESM context
55
+ *
56
+ * In browsers:
57
+ * - Returns a minimal shim with helpful error messages
58
+ * - Allows simple transforms that don't use require() to work
59
+ *
60
+ * @example
61
+ * // In Node.js - can use require
62
+ * const fn = new Function('data', 'process', `return process.mainModule.require('fs')`);
63
+ * fn(data, getProcessShim());
64
+ *
65
+ * @example
66
+ * // In browser - simple transforms work
67
+ * const fn = new Function('data', 'process', `return data.toUpperCase()`);
68
+ * fn(data, getProcessShim());
69
+ */
70
+ function getProcessShim() {
71
+ if (isBrowserEnvironment()) return createBrowserProcessShim();
72
+ if (!cachedNodeProcessShim) try {
73
+ const esmRequire = __require("node:module").createRequire(import.meta.url);
74
+ cachedNodeProcessShim = new Proxy(process, { get(target, prop) {
75
+ if (prop === "mainModule") return {
76
+ require: esmRequire,
77
+ exports: {},
78
+ id: ".",
79
+ filename: "",
80
+ loaded: true,
81
+ children: [],
82
+ paths: []
83
+ };
84
+ return Reflect.get(target, prop);
85
+ } });
86
+ } catch {
87
+ return createBrowserProcessShim();
88
+ }
89
+ return cachedNodeProcessShim;
90
+ }
91
+ //#endregion
92
+ export { getProcessShim as t };
93
+
94
+ //# sourceMappingURL=processShim-BcGzU8fY.js.map
@@ -0,0 +1,94 @@
1
+ import { n as __require } from "./chunk-DEq-mXcV.js";
2
+ //#region src/util/processShim.ts
3
+ /**
4
+ * Browser-safe process shim module.
5
+ *
6
+ * This module provides a shimmed process object that works in both Node.js and browser
7
+ * environments. In Node.js, it provides full functionality including process.mainModule.require.
8
+ * In browsers, it returns a minimal shim that throws helpful errors when Node.js-specific
9
+ * features are accessed.
10
+ *
11
+ * This separation is necessary because:
12
+ * 1. The promptfoo webui imports httpTransforms.ts which needs getProcessShim()
13
+ * 2. httpTransforms.ts is designed to be frontend-importable for testing transforms in the UI
14
+ * 3. The Node.js implementation uses createRequire from 'node:module' which doesn't exist in browsers
15
+ *
16
+ * By using runtime environment detection and dynamic imports, we can:
17
+ * - Avoid top-level imports of Node.js-only modules that would break browser bundling
18
+ * - Provide appropriate functionality for each environment
19
+ */
20
+ /**
21
+ * Detects if the current environment is a browser or web worker.
22
+ * Handles test environments (jsdom/happy-dom) that define window in Node.js.
23
+ */
24
+ function isBrowserEnvironment() {
25
+ if (typeof process !== "undefined" && typeof process.versions?.node === "string") return false;
26
+ return typeof window !== "undefined" || typeof self !== "undefined" && typeof self.importScripts === "function";
27
+ }
28
+ /**
29
+ * Creates a minimal process shim for browser environments.
30
+ * This shim provides helpful error messages when Node.js-specific features are accessed.
31
+ */
32
+ function createBrowserProcessShim() {
33
+ return {
34
+ env: {},
35
+ mainModule: {
36
+ require: () => {
37
+ throw new Error("require() is not available in browser transforms. Use standard JavaScript instead.");
38
+ },
39
+ exports: {},
40
+ id: ".",
41
+ filename: "",
42
+ loaded: true,
43
+ children: [],
44
+ paths: []
45
+ }
46
+ };
47
+ }
48
+ let cachedNodeProcessShim = null;
49
+ /**
50
+ * Returns a shimmed process object that works in both Node.js and browser environments.
51
+ *
52
+ * In Node.js:
53
+ * - Returns a proxy with process.mainModule.require shimmed for ESM compatibility
54
+ * - Allows inline transforms to use require() even in ESM context
55
+ *
56
+ * In browsers:
57
+ * - Returns a minimal shim with helpful error messages
58
+ * - Allows simple transforms that don't use require() to work
59
+ *
60
+ * @example
61
+ * // In Node.js - can use require
62
+ * const fn = new Function('data', 'process', `return process.mainModule.require('fs')`);
63
+ * fn(data, getProcessShim());
64
+ *
65
+ * @example
66
+ * // In browser - simple transforms work
67
+ * const fn = new Function('data', 'process', `return data.toUpperCase()`);
68
+ * fn(data, getProcessShim());
69
+ */
70
+ function getProcessShim() {
71
+ if (isBrowserEnvironment()) return createBrowserProcessShim();
72
+ if (!cachedNodeProcessShim) try {
73
+ const esmRequire = __require("node:module").createRequire(import.meta.url);
74
+ cachedNodeProcessShim = new Proxy(process, { get(target, prop) {
75
+ if (prop === "mainModule") return {
76
+ require: esmRequire,
77
+ exports: {},
78
+ id: ".",
79
+ filename: "",
80
+ loaded: true,
81
+ children: [],
82
+ paths: []
83
+ };
84
+ return Reflect.get(target, prop);
85
+ } });
86
+ } catch {
87
+ return createBrowserProcessShim();
88
+ }
89
+ return cachedNodeProcessShim;
90
+ }
91
+ //#endregion
92
+ export { getProcessShim as t };
93
+
94
+ //# sourceMappingURL=processShim-C_z3aRvF.js.map
@@ -0,0 +1,98 @@
1
+ //#region src/util/processShim.ts
2
+ /**
3
+ * Browser-safe process shim module.
4
+ *
5
+ * This module provides a shimmed process object that works in both Node.js and browser
6
+ * environments. In Node.js, it provides full functionality including process.mainModule.require.
7
+ * In browsers, it returns a minimal shim that throws helpful errors when Node.js-specific
8
+ * features are accessed.
9
+ *
10
+ * This separation is necessary because:
11
+ * 1. The promptfoo webui imports httpTransforms.ts which needs getProcessShim()
12
+ * 2. httpTransforms.ts is designed to be frontend-importable for testing transforms in the UI
13
+ * 3. The Node.js implementation uses createRequire from 'node:module' which doesn't exist in browsers
14
+ *
15
+ * By using runtime environment detection and dynamic imports, we can:
16
+ * - Avoid top-level imports of Node.js-only modules that would break browser bundling
17
+ * - Provide appropriate functionality for each environment
18
+ */
19
+ /**
20
+ * Detects if the current environment is a browser or web worker.
21
+ * Handles test environments (jsdom/happy-dom) that define window in Node.js.
22
+ */
23
+ function isBrowserEnvironment() {
24
+ if (typeof process !== "undefined" && typeof process.versions?.node === "string") return false;
25
+ return typeof window !== "undefined" || typeof self !== "undefined" && typeof self.importScripts === "function";
26
+ }
27
+ /**
28
+ * Creates a minimal process shim for browser environments.
29
+ * This shim provides helpful error messages when Node.js-specific features are accessed.
30
+ */
31
+ function createBrowserProcessShim() {
32
+ return {
33
+ env: {},
34
+ mainModule: {
35
+ require: () => {
36
+ throw new Error("require() is not available in browser transforms. Use standard JavaScript instead.");
37
+ },
38
+ exports: {},
39
+ id: ".",
40
+ filename: "",
41
+ loaded: true,
42
+ children: [],
43
+ paths: []
44
+ }
45
+ };
46
+ }
47
+ let cachedNodeProcessShim = null;
48
+ /**
49
+ * Returns a shimmed process object that works in both Node.js and browser environments.
50
+ *
51
+ * In Node.js:
52
+ * - Returns a proxy with process.mainModule.require shimmed for ESM compatibility
53
+ * - Allows inline transforms to use require() even in ESM context
54
+ *
55
+ * In browsers:
56
+ * - Returns a minimal shim with helpful error messages
57
+ * - Allows simple transforms that don't use require() to work
58
+ *
59
+ * @example
60
+ * // In Node.js - can use require
61
+ * const fn = new Function('data', 'process', `return process.mainModule.require('fs')`);
62
+ * fn(data, getProcessShim());
63
+ *
64
+ * @example
65
+ * // In browser - simple transforms work
66
+ * const fn = new Function('data', 'process', `return data.toUpperCase()`);
67
+ * fn(data, getProcessShim());
68
+ */
69
+ function getProcessShim() {
70
+ if (isBrowserEnvironment()) return createBrowserProcessShim();
71
+ if (!cachedNodeProcessShim) try {
72
+ const esmRequire = require("node:module").createRequire(require("url").pathToFileURL(__filename).href);
73
+ cachedNodeProcessShim = new Proxy(process, { get(target, prop) {
74
+ if (prop === "mainModule") return {
75
+ require: esmRequire,
76
+ exports: {},
77
+ id: ".",
78
+ filename: "",
79
+ loaded: true,
80
+ children: [],
81
+ paths: []
82
+ };
83
+ return Reflect.get(target, prop);
84
+ } });
85
+ } catch {
86
+ return createBrowserProcessShim();
87
+ }
88
+ return cachedNodeProcessShim;
89
+ }
90
+ //#endregion
91
+ Object.defineProperty(exports, "getProcessShim", {
92
+ enumerable: true,
93
+ get: function() {
94
+ return getProcessShim;
95
+ }
96
+ });
97
+
98
+ //# sourceMappingURL=processShim-DSY9BV2T.cjs.map
@@ -0,0 +1,71 @@
1
+ import { k as state } from "./logger-KD8JjCRJ.js";
2
+ //#region src/redteam/shared/promptLength.ts
3
+ const MAX_CHARS_PER_MESSAGE_MODIFIER_KEY = "maxCharsPerMessage";
4
+ function isRecord(value) {
5
+ return typeof value === "object" && value !== null;
6
+ }
7
+ function getMaxCharsPerMessage(limit) {
8
+ const maxCharsPerMessage = limit ?? state.config?.redteam?.maxCharsPerMessage;
9
+ if (typeof maxCharsPerMessage !== "number" || !Number.isInteger(maxCharsPerMessage) || maxCharsPerMessage <= 0) return;
10
+ return maxCharsPerMessage;
11
+ }
12
+ function parseChatMessages(prompt) {
13
+ try {
14
+ const parsed = JSON.parse(prompt);
15
+ if (Array.isArray(parsed) && parsed.every((item) => isRecord(item) && typeof item.role === "string" && typeof item.content === "string")) return parsed.map((message, index) => ({
16
+ content: message.content,
17
+ path: `[${index}].content`,
18
+ role: message.role
19
+ }));
20
+ if (isRecord(parsed) && parsed._promptfoo_audio_hybrid === true && (parsed.history === void 0 || Array.isArray(parsed.history)) && isRecord(parsed.currentTurn) && typeof parsed.currentTurn.role === "string" && typeof parsed.currentTurn.transcript === "string" && (parsed.history === void 0 || parsed.history.every((item) => isRecord(item) && typeof item.role === "string" && typeof item.content === "string"))) return [...(parsed.history ?? []).map((message, index) => ({
21
+ content: message.content,
22
+ path: `history[${index}].content`,
23
+ role: message.role
24
+ })), {
25
+ content: parsed.currentTurn.transcript,
26
+ path: "currentTurn.transcript",
27
+ role: parsed.currentTurn.role
28
+ }];
29
+ } catch {}
30
+ }
31
+ function getPromptLengthViolation(prompt, limit) {
32
+ const maxCharsPerMessage = getMaxCharsPerMessage(limit);
33
+ if (!maxCharsPerMessage) return;
34
+ const messages = parseChatMessages(prompt);
35
+ if (messages) {
36
+ const oversizedMessage = messages.find((message) => message.role === "user" && message.content.length > maxCharsPerMessage);
37
+ return oversizedMessage ? {
38
+ length: oversizedMessage.content.length,
39
+ limit: maxCharsPerMessage,
40
+ path: oversizedMessage.path
41
+ } : void 0;
42
+ }
43
+ if (prompt.length <= maxCharsPerMessage) return;
44
+ return {
45
+ length: prompt.length,
46
+ limit: maxCharsPerMessage,
47
+ path: "prompt"
48
+ };
49
+ }
50
+ function getMaxCharsPerMessageModifierValue(limit) {
51
+ const maxCharsPerMessage = getMaxCharsPerMessage(limit);
52
+ if (!maxCharsPerMessage) return;
53
+ return `Each generated user message must be ${maxCharsPerMessage} characters or fewer.`;
54
+ }
55
+ function getGeneratedPromptOverLimit(prompt, limit) {
56
+ const violation = getPromptLengthViolation(prompt, limit);
57
+ if (!violation) return;
58
+ return {
59
+ length: violation.length,
60
+ limit: violation.limit
61
+ };
62
+ }
63
+ function throwIfTargetPromptExceedsMaxChars(prompt, limit) {
64
+ const violation = getPromptLengthViolation(prompt, limit);
65
+ if (!violation) return;
66
+ throw new Error(`Target prompt message at ${violation.path} exceeds maxCharsPerMessage=${violation.limit}: ${violation.length} characters.`);
67
+ }
68
+ //#endregion
69
+ export { throwIfTargetPromptExceedsMaxChars as i, getGeneratedPromptOverLimit as n, getMaxCharsPerMessageModifierValue as r, MAX_CHARS_PER_MESSAGE_MODIFIER_KEY as t };
70
+
71
+ //# sourceMappingURL=promptLength-0qIHyhA5.js.map
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/env node
2
+ import { N as state } from "./logger-BbY6ypFL.js";
3
+ //#region src/redteam/shared/promptLength.ts
4
+ const MAX_CHARS_PER_MESSAGE_MODIFIER_KEY = "maxCharsPerMessage";
5
+ function isRecord(value) {
6
+ return typeof value === "object" && value !== null;
7
+ }
8
+ function getMaxCharsPerMessage(limit) {
9
+ const maxCharsPerMessage = limit ?? state.config?.redteam?.maxCharsPerMessage;
10
+ if (typeof maxCharsPerMessage !== "number" || !Number.isInteger(maxCharsPerMessage) || maxCharsPerMessage <= 0) return;
11
+ return maxCharsPerMessage;
12
+ }
13
+ function parseChatMessages(prompt) {
14
+ try {
15
+ const parsed = JSON.parse(prompt);
16
+ if (Array.isArray(parsed) && parsed.every((item) => isRecord(item) && typeof item.role === "string" && typeof item.content === "string")) return parsed.map((message, index) => ({
17
+ content: message.content,
18
+ path: `[${index}].content`,
19
+ role: message.role
20
+ }));
21
+ if (isRecord(parsed) && parsed._promptfoo_audio_hybrid === true && (parsed.history === void 0 || Array.isArray(parsed.history)) && isRecord(parsed.currentTurn) && typeof parsed.currentTurn.role === "string" && typeof parsed.currentTurn.transcript === "string" && (parsed.history === void 0 || parsed.history.every((item) => isRecord(item) && typeof item.role === "string" && typeof item.content === "string"))) return [...(parsed.history ?? []).map((message, index) => ({
22
+ content: message.content,
23
+ path: `history[${index}].content`,
24
+ role: message.role
25
+ })), {
26
+ content: parsed.currentTurn.transcript,
27
+ path: "currentTurn.transcript",
28
+ role: parsed.currentTurn.role
29
+ }];
30
+ } catch {}
31
+ }
32
+ function getPromptLengthViolation(prompt, limit) {
33
+ const maxCharsPerMessage = getMaxCharsPerMessage(limit);
34
+ if (!maxCharsPerMessage) return;
35
+ const messages = parseChatMessages(prompt);
36
+ if (messages) {
37
+ const oversizedMessage = messages.find((message) => message.role === "user" && message.content.length > maxCharsPerMessage);
38
+ return oversizedMessage ? {
39
+ length: oversizedMessage.content.length,
40
+ limit: maxCharsPerMessage,
41
+ path: oversizedMessage.path
42
+ } : void 0;
43
+ }
44
+ if (prompt.length <= maxCharsPerMessage) return;
45
+ return {
46
+ length: prompt.length,
47
+ limit: maxCharsPerMessage,
48
+ path: "prompt"
49
+ };
50
+ }
51
+ function getMaxCharsPerMessageModifierValue(limit) {
52
+ const maxCharsPerMessage = getMaxCharsPerMessage(limit);
53
+ if (!maxCharsPerMessage) return;
54
+ return `Each generated user message must be ${maxCharsPerMessage} characters or fewer.`;
55
+ }
56
+ function getGeneratedPromptOverLimit(prompt, limit) {
57
+ const violation = getPromptLengthViolation(prompt, limit);
58
+ if (!violation) return;
59
+ return {
60
+ length: violation.length,
61
+ limit: violation.limit
62
+ };
63
+ }
64
+ function throwIfTargetPromptExceedsMaxChars(prompt, limit) {
65
+ const violation = getPromptLengthViolation(prompt, limit);
66
+ if (!violation) return;
67
+ throw new Error(`Target prompt message at ${violation.path} exceeds maxCharsPerMessage=${violation.limit}: ${violation.length} characters.`);
68
+ }
69
+ //#endregion
70
+ export { throwIfTargetPromptExceedsMaxChars as i, getGeneratedPromptOverLimit as n, getMaxCharsPerMessageModifierValue as r, MAX_CHARS_PER_MESSAGE_MODIFIER_KEY as t };
71
+
72
+ //# sourceMappingURL=promptLength-4X-Wd8PG.js.map
@@ -0,0 +1,71 @@
1
+ import { k as state } from "./logger-Ct2S6Yx-.js";
2
+ //#region src/redteam/shared/promptLength.ts
3
+ const MAX_CHARS_PER_MESSAGE_MODIFIER_KEY = "maxCharsPerMessage";
4
+ function isRecord(value) {
5
+ return typeof value === "object" && value !== null;
6
+ }
7
+ function getMaxCharsPerMessage(limit) {
8
+ const maxCharsPerMessage = limit ?? state.config?.redteam?.maxCharsPerMessage;
9
+ if (typeof maxCharsPerMessage !== "number" || !Number.isInteger(maxCharsPerMessage) || maxCharsPerMessage <= 0) return;
10
+ return maxCharsPerMessage;
11
+ }
12
+ function parseChatMessages(prompt) {
13
+ try {
14
+ const parsed = JSON.parse(prompt);
15
+ if (Array.isArray(parsed) && parsed.every((item) => isRecord(item) && typeof item.role === "string" && typeof item.content === "string")) return parsed.map((message, index) => ({
16
+ content: message.content,
17
+ path: `[${index}].content`,
18
+ role: message.role
19
+ }));
20
+ if (isRecord(parsed) && parsed._promptfoo_audio_hybrid === true && (parsed.history === void 0 || Array.isArray(parsed.history)) && isRecord(parsed.currentTurn) && typeof parsed.currentTurn.role === "string" && typeof parsed.currentTurn.transcript === "string" && (parsed.history === void 0 || parsed.history.every((item) => isRecord(item) && typeof item.role === "string" && typeof item.content === "string"))) return [...(parsed.history ?? []).map((message, index) => ({
21
+ content: message.content,
22
+ path: `history[${index}].content`,
23
+ role: message.role
24
+ })), {
25
+ content: parsed.currentTurn.transcript,
26
+ path: "currentTurn.transcript",
27
+ role: parsed.currentTurn.role
28
+ }];
29
+ } catch {}
30
+ }
31
+ function getPromptLengthViolation(prompt, limit) {
32
+ const maxCharsPerMessage = getMaxCharsPerMessage(limit);
33
+ if (!maxCharsPerMessage) return;
34
+ const messages = parseChatMessages(prompt);
35
+ if (messages) {
36
+ const oversizedMessage = messages.find((message) => message.role === "user" && message.content.length > maxCharsPerMessage);
37
+ return oversizedMessage ? {
38
+ length: oversizedMessage.content.length,
39
+ limit: maxCharsPerMessage,
40
+ path: oversizedMessage.path
41
+ } : void 0;
42
+ }
43
+ if (prompt.length <= maxCharsPerMessage) return;
44
+ return {
45
+ length: prompt.length,
46
+ limit: maxCharsPerMessage,
47
+ path: "prompt"
48
+ };
49
+ }
50
+ function getMaxCharsPerMessageModifierValue(limit) {
51
+ const maxCharsPerMessage = getMaxCharsPerMessage(limit);
52
+ if (!maxCharsPerMessage) return;
53
+ return `Each generated user message must be ${maxCharsPerMessage} characters or fewer.`;
54
+ }
55
+ function getGeneratedPromptOverLimit(prompt, limit) {
56
+ const violation = getPromptLengthViolation(prompt, limit);
57
+ if (!violation) return;
58
+ return {
59
+ length: violation.length,
60
+ limit: violation.limit
61
+ };
62
+ }
63
+ function throwIfTargetPromptExceedsMaxChars(prompt, limit) {
64
+ const violation = getPromptLengthViolation(prompt, limit);
65
+ if (!violation) return;
66
+ throw new Error(`Target prompt message at ${violation.path} exceeds maxCharsPerMessage=${violation.limit}: ${violation.length} characters.`);
67
+ }
68
+ //#endregion
69
+ export { throwIfTargetPromptExceedsMaxChars as i, getGeneratedPromptOverLimit as n, getMaxCharsPerMessageModifierValue as r, MAX_CHARS_PER_MESSAGE_MODIFIER_KEY as t };
70
+
71
+ //# sourceMappingURL=promptLength-B9nZEfO6.js.map