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.
- package/dist/src/{ListApp-BRUsT43Y.js → ListApp-DLmM02JS.js} +1 -1
- package/dist/src/{accounts-BIFntVWB.cjs → accounts-BVz5gHLK.cjs} +16 -10
- package/dist/src/{accounts-bnyHT7Ju.js → accounts-BWjqwsrf.js} +12 -7
- package/dist/src/{accounts-CLJHCDDb.js → accounts-D6IBfEE0.js} +13 -8
- package/dist/src/{accounts-CaLNYnf7.js → accounts-DAv_0iE7.js} +12 -7
- package/dist/src/{agentic-utils-B5krlibj.js → agentic-utils-BJKAkz2e.js} +2 -2
- package/dist/src/{agentic-utils-D2x0wGhB.cjs → agentic-utils-C-A92xhn.cjs} +8 -7
- package/dist/src/{agentic-utils-Ba67xmgs.js → agentic-utils-DmoS_S4B.js} +2 -2
- package/dist/src/{agentic-utils-BclbiXiq.js → agentic-utils-GdToujHu.js} +2 -2
- package/dist/src/{agents-BGqaTDnr.js → agents-2C8NN6I1.js} +20 -9
- package/dist/src/{agents-n6vPqV3i.js → agents-BMAiSR2o.js} +4 -4
- package/dist/src/{agents-BYdMl1UE.js → agents-C-PGaxwj.js} +20 -9
- package/dist/src/{agents-BV9yFpXX.js → agents-C98cz5pl.js} +20 -9
- package/dist/src/{agents-WULPVjbH.cjs → agents-DB8Ub2Ld.cjs} +7 -6
- package/dist/src/{agents-DhxWMCtH.js → agents-Dwshy2H8.js} +4 -4
- package/dist/src/{agents-emVcx3yh.js → agents-mlKjx-cK.js} +2 -2
- package/dist/src/{agents-DiWmQYH9.cjs → agents-n2ej-c4H.cjs} +21 -10
- package/dist/src/{aimlapi-DR4pgeiC.js → aimlapi-Bi-laUlp.js} +6 -6
- package/dist/src/{aimlapi-BzLjZI_m.cjs → aimlapi-D0OFV4Vj.cjs} +7 -7
- package/dist/src/{aimlapi-BxqK9HF_.js → aimlapi-WyUK0wYy.js} +6 -6
- package/dist/src/{aimlapi-uPGp0Zdo.js → aimlapi-v-63ZjEI.js} +6 -6
- package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -1
- package/dist/src/app/assets/Report-sCXUfaWo.js +1 -0
- package/dist/src/app/assets/index-BopgkZEh.js +388 -0
- package/dist/src/app/assets/index-yhM8y1PP.css +1 -0
- package/dist/src/app/assets/{scroll-timeline-D9IT_e8Z.js → scroll-timeline-RpeTwOvs.js} +1 -1
- package/dist/src/app/assets/sync-5gq6fmG4.js +4 -0
- package/dist/src/app/assets/vendor-charts-BL9OMNU7.js +36 -0
- package/dist/src/app/assets/{vendor-markdown-Ch00wnNI.js → vendor-markdown-BYsQqn7Z.js} +10 -10
- package/dist/src/app/assets/{vendor-react-CVvmk1UB.js → vendor-react-CqWgVW6T.js} +2 -2
- package/dist/src/app/assets/{vendor-utils-BnEYbx2Q.js → vendor-utils-BHPO71pu.js} +1 -1
- package/dist/src/app/index.html +6 -6
- package/dist/src/{audio-CScmnmEB.js → audio-DnEIHWZR.js} +3 -3
- package/dist/src/{audio-Da8U9IS5.js → audio-heR0mu0n.js} +3 -3
- package/dist/src/{audio-BvpTOArF.js → audio-wafFO1wn.js} +3 -3
- package/dist/src/{audio-C0vDeS0j.cjs → audio-x44tsxIo.cjs} +4 -4
- package/dist/src/authoritativeMarkupInjection-2G3Be6oL.cjs +74 -0
- package/dist/src/authoritativeMarkupInjection-81PPynHR.js +75 -0
- package/dist/src/authoritativeMarkupInjection-D9O70HPi.js +74 -0
- package/dist/src/authoritativeMarkupInjection-PxSf3Rh8.js +74 -0
- package/dist/src/{base-dYsl2hmL.js → base-0Gzzue9Z.js} +4 -3
- package/dist/src/{base-BOMaNEes.js → base-Bp4c52YZ.js} +4 -3
- package/dist/src/{base-BTux96b1.js → base-BuNn-YBX.js} +4 -3
- package/dist/src/{base-Tw6uhH8K.cjs → base-BzdS8tod.cjs} +5 -4
- package/dist/src/bestOfN-BHiOjeaq.js +136 -0
- package/dist/src/bestOfN-CdkNPPbX.js +136 -0
- package/dist/src/bestOfN-ClUSOhN0.js +137 -0
- package/dist/src/bestOfN-DWwXEg1h.cjs +140 -0
- package/dist/src/{blobs-B95F_7vE.cjs → blobs-B0977K1O.cjs} +7 -6
- package/dist/src/{blobs-D_gg8nbm.js → blobs-CeFdPn_T.js} +2 -2
- package/dist/src/{blobs-DjLby-uP.js → blobs-DODuTK-a.js} +2 -2
- package/dist/src/{blobs-BW4U31ue.js → blobs-Dwef1Ao1.js} +2 -2
- package/dist/src/cache-BKYi3kAA.js +3 -0
- package/dist/src/{cache-BI5BY7ey.js → cache-BR77mdIR.js} +127 -11
- package/dist/src/{cache-Cr-qWIbP.js → cache-CrioYnaa.js} +125 -10
- package/dist/src/{cache-Bzttsk0X.js → cache-DdriHsNX.js} +125 -10
- package/dist/src/{cache-DGg-yTZG.cjs → cache-h5MWOBZI.cjs} +135 -25
- package/dist/src/{chat-Cx_LkwvZ.js → chat-BBEnnpQk.js} +11 -11
- package/dist/src/{chat-DChSH_Es.js → chat-BSos6PvZ.js} +9 -9
- package/dist/src/{chat-aMQZw6R7.js → chat-Bnt7ieO0.js} +4 -4
- package/dist/src/{chat-vYqqv1gP.cjs → chat-DSyYuTYT.cjs} +14 -13
- package/dist/src/{chat-BLOdH60v.js → chat-DTdf-J5Q.js} +11 -11
- package/dist/src/{chat-DH97tVV9.cjs → chat-Dq3DomYU.cjs} +6 -6
- package/dist/src/{chat-DG2LkwLq.js → chat-g5QLeLOo.js} +4 -4
- package/dist/src/{chat-D9nudO9b.js → chat-mTTuUAYb.js} +4 -4
- package/dist/src/{chatkit-B8X34dQc.js → chatkit-B6DWi70Q.js} +3 -3
- package/dist/src/{chatkit-D44VyUyB.cjs → chatkit-BYveR48_.cjs} +6 -5
- package/dist/src/{chatkit-BXu42Qwt.js → chatkit-fARZwEfV.js} +3 -3
- package/dist/src/{chatkit-CbMRoeYw.js → chatkit-lb6FK02w.js} +1 -1
- package/dist/src/{claude-agent-sdk-DYv_AJ8u.js → claude-agent-sdk-BGUac_kS.js} +213 -66
- package/dist/src/{claude-agent-sdk-BjriSVRZ.js → claude-agent-sdk-BP__YGfK.js} +213 -66
- package/dist/src/{claude-agent-sdk-BzNZeZ0N.js → claude-agent-sdk-Ddgx5BIQ.js} +212 -65
- package/dist/src/{claude-agent-sdk-BRq0bbIK.cjs → claude-agent-sdk-n2XcEclh.cjs} +219 -71
- package/dist/src/cloud-DiWbUiVP.js +3 -0
- package/dist/src/{cloud-Da0bofJd.js → cloud-DqF5N1aJ.js} +2 -2
- package/dist/src/{cloudflare-ai-CXC4b1EU.js → cloudflare-ai-BGamMotN.js} +4 -4
- package/dist/src/{cloudflare-ai-DGOwgexC.js → cloudflare-ai-BwW8W-w7.js} +4 -4
- package/dist/src/{cloudflare-ai-DJv5qnyb.cjs → cloudflare-ai-DCRGnsyL.cjs} +6 -6
- package/dist/src/{cloudflare-ai-CyBoIs1Q.js → cloudflare-ai-sD26nP6V.js} +4 -4
- package/dist/src/{cloudflare-gateway-TJkVrZlB.js → cloudflare-gateway-2lnOT4qM.js} +3 -3
- package/dist/src/{cloudflare-gateway-D-dnkzCF.js → cloudflare-gateway-B1-8KNCt.js} +3 -3
- package/dist/src/{cloudflare-gateway-DKVjkDav.cjs → cloudflare-gateway-CCC1DFrC.cjs} +5 -5
- package/dist/src/{cloudflare-gateway-1sAoOyft.js → cloudflare-gateway-DOghiU6r.js} +3 -3
- package/dist/src/{codex-app-server-CCLjqCh9.js → codex-app-server-BWeWamEb.js} +19 -4
- package/dist/src/{codex-app-server-CCe0TiDc.js → codex-app-server-DyQB1P0p.js} +20 -5
- package/dist/src/{codex-app-server-VMRnjZ68.cjs → codex-app-server-R9u_G7W9.cjs} +27 -11
- package/dist/src/{codex-app-server-CPW1LFwh.js → codex-app-server-ZQRJSJjU.js} +20 -5
- package/dist/src/{codex-sdk-Bzb_TqX9.js → codex-sdk-B62H0fe7.js} +16 -5
- package/dist/src/{codex-sdk-Bd8UbO9q.cjs → codex-sdk-BRPUvJG8.cjs} +31 -12
- package/dist/src/{codex-sdk-BgEFQ70r.js → codex-sdk-Dio1zJBS.js} +18 -7
- package/dist/src/codex-sdk-DxukZs_K.js +3 -0
- package/dist/src/{codex-sdk-DfvDTN33.js → codex-sdk-iEmW1eS2.js} +18 -7
- package/dist/src/{cometapi-B5ImDlSm.js → cometapi--hh7dESS.js} +7 -7
- package/dist/src/{cometapi-CC7hWxmX.js → cometapi-C7yWNGqt.js} +7 -7
- package/dist/src/{cometapi-CCbpHkuF.js → cometapi-CSIi16a0.js} +7 -7
- package/dist/src/{cometapi-BgAkuYCw.cjs → cometapi-sZgBZtbU.cjs} +8 -8
- package/dist/src/{completion-DtQ72Bm3.cjs → completion-CWtqdn3z.cjs} +6 -6
- package/dist/src/{completion-Vq_ad618.js → completion-DT8cxo9T.js} +4 -4
- package/dist/src/{completion-2iuYVxwi.js → completion-DUScduXp.js} +5 -5
- package/dist/src/{completion-CrD6MQ93.js → completion-D_2IOAoS.js} +5 -5
- package/dist/src/constants-BjJV0cRr.js +6 -0
- package/dist/src/constants-DH5XYLKZ.js +7 -0
- package/dist/src/constants-DZGEFLsu.js +6 -0
- package/dist/src/constants-a2kYssQk.cjs +11 -0
- package/dist/src/{createHash-4gFQpDDv.js → createHash-BtbSX3mj.js} +1 -1
- package/dist/src/{createHash-Un4Q_huE.js → createHash-CGVzWdjj.js} +1 -1
- package/dist/src/{createHash-VvBIc-AW.cjs → createHash-CSiqnK5P.cjs} +2 -2
- package/dist/src/{createHash-DPpsZgFF.js → createHash-CgRvs4Fn.js} +1 -1
- package/dist/src/crescendo-B41TwUHM.js +722 -0
- package/dist/src/crescendo-Bfic7KC4.js +724 -0
- package/dist/src/crescendo-DXFB7rHP.cjs +725 -0
- package/dist/src/crescendo-DvvYxMLA.js +723 -0
- package/dist/src/custom-BdzuqFTN.js +619 -0
- package/dist/src/custom-Cf5Q6r-P.js +618 -0
- package/dist/src/custom-DLgufezC.js +620 -0
- package/dist/src/custom-LEXHCRe3.cjs +621 -0
- package/dist/src/{docker--3qzPa-6.js → docker-BOSO_6hK.js} +5 -5
- package/dist/src/{docker-D3AY-5F5.cjs → docker-D0h2vFrc.cjs} +6 -6
- package/dist/src/{docker-DCsCDvwM.js → docker-D2TWGyTP.js} +5 -5
- package/dist/src/{docker-Dorv4_Dg.js → docker-Vj_4_cPg.js} +5 -5
- package/dist/src/{embedding-BXhN5lCH.cjs → embedding-BQIApR18.cjs} +6 -6
- package/dist/src/{embedding-ChS1ivFS.js → embedding-CStK0TV6.js} +5 -5
- package/dist/src/{embedding-DNRvZwRN.js → embedding-CU78FMnw.js} +5 -5
- package/dist/src/{embedding-D_bI4NDq.js → embedding-CV8lmCnU.js} +4 -4
- package/dist/src/{errors-DFHe4L-n.js → errors-9PcUL8BC.js} +1 -1
- package/dist/src/{esm-B_rGuPTo.cjs → esm-BIKakvNa.cjs} +8 -7
- package/dist/src/{esm-BRkfNsYs.js → esm-BTK1W7lG.js} +1 -1
- package/dist/src/{esm-BX8fwlAO.js → esm-Bexx2PFc.js} +1 -1
- package/dist/src/{eval-DJ_4A-tr.js → eval-B3BaNBbO.js} +19 -19
- package/dist/src/{eval-BQPLBJbw.js → eval-DfR9885C.js} +1 -1
- package/dist/src/evalResult-BtZSUgQv.js +3 -0
- package/dist/src/{evalResult-D6P5I5il.js → evalResult-CcSqNl_Y.js} +17 -10
- package/dist/src/{evalResult-Cx-8OWkb.cjs → evalResult-DHXs-9TL.cjs} +29 -11
- package/dist/src/{evalResult-pSvGWFMo.js → evalResult-PGqEbasb.js} +18 -11
- package/dist/src/evaluator-B9LGbKI8.js +3 -0
- package/dist/src/{evaluator-D-UIbbYq.js → evaluator-n_dEb00o.js} +258 -132
- package/dist/src/evaluatorHelpers-CrRObe2z.js +510 -0
- package/dist/src/evaluatorHelpers-D06I9WFL.cjs +537 -0
- package/dist/src/evaluatorHelpers-D1_kwvyp.js +511 -0
- package/dist/src/{extractor-DxyiFhPk.js → extractor-BVkZtk4R.js} +5 -5
- package/dist/src/{extractor-BM3jRERL.js → extractor-D3Fv_Tdh.js} +5 -5
- package/dist/src/{extractor-YlZbUMsL.js → extractor-Jp53vs-6.js} +5 -5
- package/dist/src/{extractor-Dxr2J_wK.cjs → extractor-bV_NOoaz.cjs} +6 -6
- package/dist/src/{fetch-Y5qX_kST.js → fetch-BSSAcMxf.js} +90 -26
- package/dist/src/fetch-BodQTrMU.js +3 -0
- package/dist/src/{fetch-NuqXW1Xb.cjs → fetch-Cfm4EuOB.cjs} +115 -32
- package/dist/src/{fetch-B6ch2nU2.js → fetch-Cpf1U1nO.js} +86 -26
- package/dist/src/{fetch-D9xxyC1p.js → fetch-Doks14zQ.js} +90 -26
- package/dist/src/{fileExtensions-D9h-8Wxg.cjs → fileExtensions-BhdwzYaD.cjs} +24 -1
- package/dist/src/{fileExtensions-BGh-W-HT.js → fileExtensions-CXRfY3Ss.js} +12 -2
- package/dist/src/{fileExtensions-DysCsxNG.js → fileExtensions-D4GCJ67J.js} +12 -2
- package/dist/src/{formatDuration-Ch4A7G3o.js → formatDuration-CMVNrYvE.js} +1 -1
- package/dist/src/{genaiTracer-BokHC-MW.cjs → genaiTracer-14nugQQx.cjs} +14 -2
- package/dist/src/{genaiTracer-C3ZPQU60.js → genaiTracer-BPVvltoW.js} +2 -2
- package/dist/src/{genaiTracer-DxODqT9e.js → genaiTracer-D18lYzhB.js} +2 -2
- package/dist/src/{genaiTracer-CFny3gOy.js → genaiTracer-jJKYsnjc.js} +2 -2
- package/dist/src/goat-Ba7Gznzq.js +467 -0
- package/dist/src/goat-CJngS-WU.js +468 -0
- package/dist/src/goat-CwsbfQeu.js +466 -0
- package/dist/src/goat-DOMbozoX.cjs +470 -0
- package/dist/src/graders-B3D7kCcD.js +3 -0
- package/dist/src/{graders-CgPn32yp.js → graders-BQt1BaQe.js} +1019 -86
- package/dist/src/{graders-Bw1wk_21.cjs → graders-CBQ2s6gz.cjs} +1087 -130
- package/dist/src/{graders-CwrbifOo.js → graders-DaRU98zs.js} +1022 -84
- package/dist/src/{graders-BoUqsCEm.js → graders-KXzjnIim.js} +1024 -86
- package/dist/src/hydra-BU6GjYoQ.js +560 -0
- package/dist/src/hydra-BmXHxlyl.js +559 -0
- package/dist/src/hydra-CR0KyYDb.js +561 -0
- package/dist/src/hydra-RO9jBks7.cjs +560 -0
- package/dist/src/{image-BeWaInPF.js → image-BBmZdKO3.js} +3 -3
- package/dist/src/{image-qjO6FWPs.js → image-B_PFG7IG.js} +3 -3
- package/dist/src/image-BtODOZjh.js +442 -0
- package/dist/src/image-CYuNJIqd.js +442 -0
- package/dist/src/{image-D10dNAav.cjs → image-E00WFZkq.cjs} +4 -4
- package/dist/src/image-HK2Cfqb1.cjs +465 -0
- package/dist/src/{image-Dr_3I3nK.js → image-LGj8dTcr.js} +3 -3
- package/dist/src/image-YMKejC0r.js +443 -0
- package/dist/src/index.cjs +711 -339
- package/dist/src/index.d.cts +3159 -1611
- package/dist/src/index.d.ts +3158 -1610
- package/dist/src/index.js +605 -249
- package/dist/src/indirectWebPwn-B80dLlFC.js +260 -0
- package/dist/src/indirectWebPwn-BMTXXznx.js +386 -0
- package/dist/src/indirectWebPwn-BZFPV7Q9.js +385 -0
- package/dist/src/indirectWebPwn-BaEQEOIO.cjs +260 -0
- package/dist/src/indirectWebPwn-BzpyMnFS.js +259 -0
- package/dist/src/indirectWebPwn-CiWB-vVH.js +385 -0
- package/dist/src/indirectWebPwn-D7NA9Nsv.cjs +397 -0
- package/dist/src/indirectWebPwn-o_bEFMjP.js +259 -0
- package/dist/src/inputVariables-B0qUChbV.js +467 -0
- package/dist/src/inputVariables-DUGMb9Ka.js +464 -0
- package/dist/src/inputVariables-DXFdi7AI.js +468 -0
- package/dist/src/inputVariables-Dq9W-Z3a.cjs +475 -0
- package/dist/src/{interactiveCheck-CCICw2cy.js → interactiveCheck-C4QlIuoR.js} +1 -1
- package/dist/src/{invariant-kfQ8Bu82.cjs → invariant-QtnLD03y.cjs} +1 -1
- package/dist/src/iterative-B-l0syBV.js +501 -0
- package/dist/src/iterative-BACUeCCz.cjs +503 -0
- package/dist/src/iterative-CVwoExo8.js +502 -0
- package/dist/src/iterative-QDrGSyss.js +500 -0
- package/dist/src/iterativeImage-BQg2OwA6.js +413 -0
- package/dist/src/iterativeImage-Bwn0fM75.js +413 -0
- package/dist/src/iterativeImage-CcgVyASo.cjs +415 -0
- package/dist/src/iterativeImage-D_UbQXg4.js +414 -0
- package/dist/src/iterativeMeta-CIu-CHRS.js +405 -0
- package/dist/src/iterativeMeta-CN8CNjFA.js +406 -0
- package/dist/src/iterativeMeta-DN6BTjpq.js +404 -0
- package/dist/src/iterativeMeta-DlqY3BsS.cjs +405 -0
- package/dist/src/iterativeTree-CJ8a8G9T.js +820 -0
- package/dist/src/iterativeTree-DcuFXnjL.js +819 -0
- package/dist/src/iterativeTree-FrDDYAN0.js +818 -0
- package/dist/src/iterativeTree-LOgAi0nU.cjs +821 -0
- package/dist/src/{knowledgeBase-C8qOo26M.cjs → knowledgeBase-CdbcGBZF.cjs} +25 -11
- package/dist/src/{knowledgeBase-BBETc5-S.js → knowledgeBase-CjOXp6Lr.js} +23 -9
- package/dist/src/{knowledgeBase-Dr3Kib7F.js → knowledgeBase-DxAq4n4z.js} +24 -10
- package/dist/src/{knowledgeBase-CzAi2rUI.js → knowledgeBase-o_wTLzrt.js} +24 -10
- package/dist/src/{litellm-DRc4qWfc.js → litellm-B2gHwya_.js} +4 -4
- package/dist/src/{litellm-CaUmV7Mk.cjs → litellm-CPpdlO7n.cjs} +5 -5
- package/dist/src/{litellm-BLSiANhk.js → litellm-CYfgxLrM.js} +4 -4
- package/dist/src/{litellm-DQGo_juI.js → litellm-ojWBKU3C.js} +4 -4
- package/dist/src/{logger-COuQb2xB.cjs → logger-cfNpzI4o.cjs} +13 -55
- package/dist/src/{luma-ray-if-Ml4R9.cjs → luma-ray-BCCO9XXG.cjs} +9 -8
- package/dist/src/{luma-ray-B-tNZzqW.js → luma-ray-BPrdihAb.js} +5 -5
- package/dist/src/{luma-ray-CtS3OlGq.js → luma-ray-DP5N79lB.js} +5 -5
- package/dist/src/{luma-ray-PJJgUjOc.js → luma-ray-DTDyoAlM.js} +5 -5
- package/dist/src/main.js +727 -234
- package/dist/src/memoryPoisoning-B6N3us35.cjs +106 -0
- package/dist/src/memoryPoisoning-Bc_BK_k2.js +106 -0
- package/dist/src/memoryPoisoning-D375zwSX.js +107 -0
- package/dist/src/memoryPoisoning-DJA0YjJT.js +106 -0
- package/dist/src/{messages-CewuNcNS.js → messages-Bg29Nbit.js} +17 -9
- package/dist/src/{messages-BnsVHUnm.cjs → messages-BrZEnHsV.cjs} +24 -15
- package/dist/src/{messages-CI69Lasb.js → messages-CBulRaud.js} +18 -10
- package/dist/src/{messages-B9dSjrNf.js → messages-K9A8RxBM.js} +18 -10
- package/dist/src/{meteor-CeGo0Lu2.js → meteor--TZYICTI.js} +1 -1
- package/dist/src/{meteor-BBGcGeCa.cjs → meteor-CR226f7Z.cjs} +2 -2
- package/dist/src/{meteor-Wc_aUVvu.js → meteor-Cl_yd7rJ.js} +1 -1
- package/dist/src/{meteor-BKTM-7KS.js → meteor-Dce-_zGQ.js} +1 -1
- package/dist/src/mischievousUser-BDLwSGN0.js +46 -0
- package/dist/src/mischievousUser-Blx-OtT3.js +47 -0
- package/dist/src/mischievousUser-CHuTTvBg.js +46 -0
- package/dist/src/mischievousUser-CSUrH3fq.cjs +46 -0
- package/dist/src/{modelslab-zpz9JcK0.js → modelslab-BjEk7yCP.js} +6 -6
- package/dist/src/{modelslab-BCLOtfek.js → modelslab-CBCrdIBc.js} +6 -6
- package/dist/src/{modelslab-D73OnKSx.js → modelslab-CrGpXuhv.js} +6 -6
- package/dist/src/{modelslab-BkapYJhh.cjs → modelslab-Cvh0klQx.cjs} +7 -7
- package/dist/src/{nova-reel-B8F_TK5w.js → nova-reel-CUDDZcSA.js} +5 -5
- package/dist/src/{nova-reel-Bx0NFV2f.js → nova-reel-CyDESu5J.js} +5 -5
- package/dist/src/{nova-reel-DkT7tnoB.cjs → nova-reel-DH_Ksu6X.cjs} +9 -8
- package/dist/src/{nova-reel-CNGJTLtG.js → nova-reel-YQAqUYJY.js} +5 -5
- package/dist/src/{nova-sonic-BeTRaFOh.js → nova-sonic-BVFFB7JZ.js} +2 -2
- package/dist/src/{nova-sonic-YT426juD.cjs → nova-sonic-Bg3cxMMu.cjs} +5 -4
- package/dist/src/{nova-sonic-CL7Zqv0G.js → nova-sonic-BhmnRGyh.js} +3 -3
- package/dist/src/{nova-sonic-BaXRN1cr.js → nova-sonic-DxmK95c1.js} +3 -3
- package/dist/src/{openai-Cy1XLs0c.cjs → openai-C3uXv8wS.cjs} +2 -2
- package/dist/src/{openai-BT-JvDse.js → openai-CJrsh9n4.js} +1 -1
- package/dist/src/{openai-D4fxGvRx.js → openai-zgwBb4Ff.js} +1 -1
- package/dist/src/{openclaw-DUBZP3GL.cjs → openclaw-CHQaZi_-.cjs} +17 -15
- package/dist/src/{openclaw-DA8U4DsD.js → openclaw-CWOm2eOr.js} +9 -8
- package/dist/src/{openclaw-DObVgpjC.js → openclaw-Cdk9JKfY.js} +9 -8
- package/dist/src/{openclaw-Bq7RVR3k.js → openclaw-DhF8rUpI.js} +9 -8
- package/dist/src/{opencode-sdk-BB40Wir1.js → opencode-sdk-BRjiPV-g.js} +38 -3
- package/dist/src/{opencode-sdk-CeqiOcOU.cjs → opencode-sdk-CPFMw0ed.cjs} +45 -9
- package/dist/src/{opencode-sdk-BM1UAIv1.js → opencode-sdk-CaSOCsBA.js} +39 -4
- package/dist/src/{opencode-sdk-ChdK7F7z.js → opencode-sdk-CqkyG8De.js} +39 -4
- package/dist/src/{otlpReceiver-UYMQx3sy.js → otlpReceiver--gTpSagc.js} +119 -3
- package/dist/src/{otlpReceiver-C6thJRXi.js → otlpReceiver-B2eaKC8C.js} +118 -2
- package/dist/src/{otlpReceiver-CcdIikOu.js → otlpReceiver-BXjcRqAM.js} +119 -3
- package/dist/src/{otlpReceiver-DNSQj6bf.cjs → otlpReceiver-CvJdBGSc.cjs} +125 -7
- package/dist/src/packageParser--MWTSrPW.js +36 -0
- package/dist/src/packageParser-CgE-ziRo.js +35 -0
- package/dist/src/packageParser-QoCS1FMl.cjs +54 -0
- package/dist/src/packageParser-hwwSGnAZ.js +35 -0
- package/dist/src/processShim-BBxt7LKO.js +95 -0
- package/dist/src/processShim-BcGzU8fY.js +94 -0
- package/dist/src/processShim-C_z3aRvF.js +94 -0
- package/dist/src/processShim-DSY9BV2T.cjs +98 -0
- package/dist/src/promptLength-0qIHyhA5.js +71 -0
- package/dist/src/promptLength-4X-Wd8PG.js +72 -0
- package/dist/src/promptLength-B9nZEfO6.js +71 -0
- package/dist/src/promptLength-BbBbDHNj.cjs +94 -0
- package/dist/src/promptfoo-BU4_0J85.js +238 -0
- package/dist/src/promptfoo-CReYAtfb.js +237 -0
- package/dist/src/promptfoo-ClChwT74.cjs +292 -0
- package/dist/src/promptfoo-CqEpj6Sr.js +237 -0
- package/dist/src/prompts-BYMtqPCw.js +259 -0
- package/dist/src/prompts-C-bqE1Yp.js +260 -0
- package/dist/src/prompts-Cp_Qx5Ml.js +270 -0
- package/dist/src/prompts-DHhQsANy.js +259 -0
- package/dist/src/prompts-D_QpZ2Dm.js +271 -0
- package/dist/src/prompts-hNvWBD3z.cjs +284 -0
- package/dist/src/prompts-huDVH2CI.js +270 -0
- package/dist/src/prompts-p78Hul5i.cjs +289 -0
- package/dist/src/{providerRegistry-BESeALrr.cjs → providerRegistry-CZO_w7ue.cjs} +2 -2
- package/dist/src/{providerRegistry-DoACwqhD.js → providerRegistry-DHcFiVWX.js} +1 -1
- package/dist/src/{providerRegistry-PMsleEzs.js → providerRegistry-ReCd0sFa.js} +1 -1
- package/dist/src/{providers-DT-GtF2t.js → providers-B7TyByfj.js} +789 -11925
- package/dist/src/{providers-CJh7iriU.js → providers-BGc7tDtQ.js} +796 -11872
- package/dist/src/{providers-Ctcc592x.js → providers-CSOp-bCm.js} +1 -1
- package/dist/src/{providers-eDShy16E.cjs → providers-V6RBuieY.cjs} +837 -12138
- package/dist/src/{providers-DRrerKra.js → providers-iH3Sw1yo.js} +851 -11938
- package/dist/src/{pythonUtils-C4tltmIn.js → pythonUtils-CLCgQ9tt.js} +1 -1
- package/dist/src/{pythonUtils-DNqbnRdx.js → pythonUtils-CgYxeSmO.js} +2 -2
- package/dist/src/{pythonUtils-CoLaCwNY.cjs → pythonUtils-Cokhluq3.cjs} +7 -6
- package/dist/src/{pythonUtils-DMO68Jg7.js → pythonUtils-D0BYebvX.js} +2 -2
- package/dist/src/{quiverai-CPKhWgaT.js → quiverai-58BtRRet.js} +3 -3
- package/dist/src/{quiverai-Bk1KrvL6.js → quiverai-C1dYu5MW.js} +3 -3
- package/dist/src/{quiverai-BSS9a7wV.js → quiverai-CNMIpZQg.js} +3 -3
- package/dist/src/{quiverai-Bpx6MZ7T.cjs → quiverai-fmSfU43k.cjs} +4 -4
- package/dist/src/registry-6Jw6ebor.cjs +124 -0
- package/dist/src/registry-BTGk2ZkB.js +124 -0
- package/dist/src/registry-BTNqmP5o.js +125 -0
- package/dist/src/registry-NGnOG2xa.js +124 -0
- package/dist/src/{server-gyd6d4Hc.js → remoteGeneration--D6WjzUm.js} +15 -108
- package/dist/src/{server-BEECpeGG.cjs → remoteGeneration-BpIYlb_O.cjs} +30 -119
- package/dist/src/{server-ByxbqAcQ.js → remoteGeneration-CJC3E0aW.js} +15 -147
- package/dist/src/remoteGeneration-D6UjE2JT.js +218 -0
- package/dist/src/render-BNTrbmBw.cjs +384 -0
- package/dist/src/render-CSP99NLm.js +348 -0
- package/dist/src/render-DFfDeYUK.js +347 -0
- package/dist/src/{render-nj-UaPdn.js → render-DznWrxGO.js} +2 -2
- package/dist/src/render-_6ur1fhE.js +347 -0
- package/dist/src/resourceAttributes-D1jP3kL5.js +17 -0
- package/dist/src/resourceAttributes-DQbBB--2.js +16 -0
- package/dist/src/resourceAttributes-ephgOvdR.cjs +27 -0
- package/dist/src/resourceAttributes-v6-I67fn.js +16 -0
- package/dist/src/{responses-1ztiVYsx.js → responses-5Gf5HNOi.js} +11 -7
- package/dist/src/{responses-BiaBguAu.js → responses-BVi7xIdv.js} +13 -9
- package/dist/src/{responses-CF-ayauu.cjs → responses-CUARGrhY.cjs} +16 -11
- package/dist/src/{responses-B8haB-mD.js → responses-CrmWv6iz.js} +13 -9
- package/dist/src/rolldown-runtime-D_mwlA32.cjs +43 -0
- package/dist/src/rubyUtils-BYVlQ94c.js +3 -0
- package/dist/src/{rubyUtils-CIQFnVz4.js → rubyUtils-CXlFM2rR.js} +2 -2
- package/dist/src/{rubyUtils-BI0p46eZ.js → rubyUtils-CnlW8AYb.js} +2 -2
- package/dist/src/{rubyUtils-DoifqkiA.cjs → rubyUtils-CqUWBZAt.cjs} +16 -26
- package/dist/src/{rubyUtils-DGnoCYL2.js → rubyUtils-DdGojpfv.js} +1 -1
- package/dist/src/runtimeTransform-BJOpL9Yc.js +142 -0
- package/dist/src/runtimeTransform-Dgh_D7DU.js +143 -0
- package/dist/src/runtimeTransform-DigbjU1r.js +142 -0
- package/dist/src/runtimeTransform-ON3YYILw.cjs +147 -0
- package/dist/src/{sagemaker-ljtY12VM.cjs → sagemaker-BeVTKfrv.cjs} +65 -53
- package/dist/src/{sagemaker-BDLeW29y.js → sagemaker-BwbV5U7_.js} +61 -50
- package/dist/src/{sagemaker-C5T60MKf.js → sagemaker-ClAZ6Qwc.js} +61 -50
- package/dist/src/{sagemaker-ClS_NB07.js → sagemaker-DY2qrOpq.js} +61 -50
- package/dist/src/{scanner-nOCWNIXa.js → scanner-BS-iFIp3.js} +6 -6
- package/dist/src/server/index.js +4115 -420
- package/dist/src/server-BHOEL8p8.cjs +126 -0
- package/dist/src/server-CbiJppij.js +107 -0
- package/dist/src/server-D18AAlAc.js +3 -0
- package/dist/src/server-DLYjSFm2.js +182 -0
- package/dist/src/server-JQYD_Nws.js +146 -0
- package/dist/src/{fileExtensions-8CjoL7vB.js → shared-BoG7qLMv.js} +12 -2
- package/dist/src/shared-CRq0gGVf.js +1334 -0
- package/dist/src/shared-CSIGeGLl.js +1334 -0
- package/dist/src/shared-DNvim54U.js +1335 -0
- package/dist/src/shared-aHWko3P1.cjs +1436 -0
- package/dist/src/{signal-DTtUuU3l.js → signal-CSurUUyV.js} +2 -2
- package/dist/src/simulatedUser-C7sOFSF6.js +222 -0
- package/dist/src/simulatedUser-DH_7RzEQ.js +222 -0
- package/dist/src/simulatedUser-lgMMmniD.js +223 -0
- package/dist/src/simulatedUser-mnCUS9Bm.cjs +227 -0
- package/dist/src/{slack-Bamy_7te.js → slack-Bapo-7_8.js} +1 -1
- package/dist/src/{slack-BLlsDpfG.cjs → slack-DMC1QVEg.cjs} +3 -2
- package/dist/src/{slack-BPYLQLgb.js → slack-DTEFhrMn.js} +1 -1
- package/dist/src/{slack-4zZX1OKP.js → slack-k-_CP84Q.js} +1 -1
- package/dist/src/storage-95htjpLs.js +834 -0
- package/dist/src/storage-A4WnAeN3.cjs +911 -0
- package/dist/src/storage-B2Ql_oq4.js +822 -0
- package/dist/src/storage-EKVWZBNY.js +875 -0
- package/dist/src/{store-2K0kDi80.cjs → store-B2NDDooM.cjs} +60 -24
- package/dist/src/{store-CPh25336.js → store-DKd5592Q.js} +50 -19
- package/dist/src/{store-BPkzEyFM.js → store-HpopRVzl.js} +50 -19
- package/dist/src/store-IbiRIF3k.js +3 -0
- package/dist/src/strategies-CBI1brSy.js +2333 -0
- package/dist/src/strategies-CCcnEbFO.cjs +2360 -0
- package/dist/src/strategies-CD1gHeeQ.js +2331 -0
- package/dist/src/{tables-WgdUZ8Ck.js → tables-CRSXQ2Ke.js} +2 -2
- package/dist/src/{tables-BMSOS2Gg.js → tables-CxjU7bBd.js} +2 -2
- package/dist/src/{tables-CXbaZ9y1.cjs → tables-DBIJU0WE.cjs} +6 -5
- package/dist/src/{tables-NlvH23ky.js → tables-DafUHOeh.js} +2 -2
- package/dist/src/telemetry-BUm_krVX.js +3 -0
- package/dist/src/{telemetry--iqaGyaS.js → telemetry-BbpmrenM.js} +4 -4
- package/dist/src/{telemetry-CgdVGV8N.js → telemetry-C4bX-6Sr.js} +4 -4
- package/dist/src/{telemetry-CEQxGnMZ.cjs → telemetry-C_ImlCOk.cjs} +15 -9
- package/dist/src/{telemetry-DWdGHvEf.js → telemetry-DOE567Wj.js} +4 -4
- package/dist/src/{text-DDQP0tuQ.js → text-CZr46tp_.js} +1 -1
- package/dist/src/{text-D4lz-Jg_.js → text-Db-Wt2u2.js} +1 -1
- package/dist/src/{text-NWvfMfkF.js → text-DwYK5EBn.js} +1 -1
- package/dist/src/{text-BiNME7QG.cjs → text-nywWsRBM.cjs} +1 -1
- package/dist/src/{tokenUsageUtils-2wIvAhB3.js → tokenUsageUtils-CDet74yk.js} +1 -1
- package/dist/src/{tokenUsageUtils-4c780gFd.js → tokenUsageUtils-CmnQ0G2m.js} +1 -1
- package/dist/src/{tokenUsageUtils-C9odhsbW.cjs → tokenUsageUtils-_B-P8IAi.cjs} +1 -1
- package/dist/src/toolAttributes-BAjwcBf0.cjs +103 -0
- package/dist/src/toolAttributes-COVgDrBG.js +87 -0
- package/dist/src/toolAttributes-DJ9ZEKXD.js +86 -0
- package/dist/src/tracingOptions-BOP1FsRt.js +220 -0
- package/dist/src/tracingOptions-BvmDa_jH.js +219 -0
- package/dist/src/tracingOptions-DFBoE8O0.cjs +249 -0
- package/dist/src/tracingOptions-xhjOg2b1.js +221 -0
- package/dist/src/{transcription-D7Q0vJsh.js → transcription-BOXDoehT.js} +4 -4
- package/dist/src/{transcription-Bm2emLmJ.js → transcription-CpVdKc4P.js} +5 -5
- package/dist/src/{transcription-CZ4LG5hQ.cjs → transcription-D8kkPXg_.cjs} +9 -8
- package/dist/src/{transcription-84t4ALo2.js → transcription-Z94eV9LR.js} +5 -5
- package/dist/src/transform-BnSTnFlp.js +187 -0
- package/dist/src/transform-BnSXWmU_2.cjs +221 -0
- package/dist/src/{transform-DtooZqYY.js → transform-BufxPIQL.js} +8 -8
- package/dist/src/transform-CGt7Kt3y2.js +186 -0
- package/dist/src/transform-CrPGTsij.js +186 -0
- package/dist/src/{transform-Dg4LcO1Y.cjs → transform-DJkt81VY.cjs} +12 -11
- package/dist/src/{transform-B-b6Cq-q.js → transform-DtTfiGoh.js} +8 -8
- package/dist/src/{transform-_DpNB4qp.js → transform-Wp6s_5QE.js} +8 -8
- package/dist/src/{transformersAvailability-lvCCvuPT.js → transformersAvailability-0ThtPved.js} +1 -1
- package/dist/src/transformersAvailability-BYydDE5U.js +35 -0
- package/dist/src/{transformersAvailability-rJGPccjr.js → transformersAvailability-BvyU9vDD.js} +1 -1
- package/dist/src/{transformersAvailability-B22swDxr.cjs → transformersAvailability-BytPvKUW.cjs} +1 -1
- package/dist/src/{types-BVH9hjgW.js → types-BFevViUY.js} +113 -19
- package/dist/src/{types-BDjGOq4E.js → types-BJQBBPTP.js} +113 -19
- package/dist/src/{types-CgG2rKiW.cjs → types-CxJvaY2S.cjs} +211 -28
- package/dist/src/{types-DNRZVOue.js → types-D6glLbdF.js} +125 -26
- package/dist/src/{util-Dpmm_dAI.cjs → util-BHCAeuXx.cjs} +33 -7
- package/dist/src/{util-DFPeFkiV.js → util-CMrHV35u.js} +28 -8
- package/dist/src/{util-DvpHnLt0.cjs → util-COnzevXE.cjs} +29 -21
- package/dist/src/{util-BlFVL0UF.js → util-CYev3d-r.js} +22 -7
- package/dist/src/util-DGqkTb2-.js +327 -0
- package/dist/src/util-DNtUsus_.cjs +386 -0
- package/dist/src/{util-Dub0f_ej.js → util-DRfqa4xz.js} +17 -10
- package/dist/src/{util-BVXcTwXu.js → util-DTq3jq2z.js} +28 -8
- package/dist/src/{util-C-kmRosx.js → util-DeY58psG.js} +22 -7
- package/dist/src/util-DpV6KT5i.js +327 -0
- package/dist/src/{util-3pBZZb_H.js → util-DwNJzqOV.js} +45 -10
- package/dist/src/util-ETfU_sS9.js +328 -0
- package/dist/src/{util-A5_ZsQUn.cjs → util-NYQvo1C7.cjs} +25 -9
- package/dist/src/{util-DN0-b81k.js → util-X4KQgyVD.js} +28 -8
- package/dist/src/{util-BQOCAHQC.js → util-jZRrXe1P.js} +46 -11
- package/dist/src/{util-B9CNhyac.js → util-o2Qg5rZv.js} +22 -7
- package/dist/src/{utils-BUMN8orw.js → utils-B0lzitHZ.js} +2 -2
- package/dist/src/{utils-kt7lv30R.js → utils-BFOh20Gb.js} +2 -2
- package/dist/src/{utils-o8S5huU2.js → utils-BGY69tk_.js} +2 -2
- package/dist/src/{utils-DkVeShIB.cjs → utils-Ve6kuJsa.cjs} +3 -3
- package/dist/src/{version-CbuBKu2U.js → version-CHR-EFec.js} +2 -2
- package/dist/src/{version-CbpiUINz.js → version-F0YDgb7J.js} +2 -2
- package/dist/src/{version-D9zu9FWB.cjs → version-VzUqOBZk.cjs} +2 -2
- package/dist/src/{version-0frU0UTr.js → version-qVEN5qCm.js} +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +49 -23
- package/dist/src/app/assets/Report-vjzrbgce.js +0 -1
- package/dist/src/app/assets/index-B3NQ8HTd.js +0 -385
- package/dist/src/app/assets/index-Cli2yAXv.css +0 -1
- package/dist/src/app/assets/sync-IjzpWrOE.js +0 -4
- package/dist/src/app/assets/vendor-charts-BNdH8TCw.js +0 -36
- package/dist/src/cache-BRkhlH3k.cjs +0 -3
- package/dist/src/cache-BlC6aeJ0.js +0 -3
- package/dist/src/cloud-CoD5OacT.js +0 -3
- package/dist/src/codex-sdk-1jm_qPHf.js +0 -3
- package/dist/src/codex-sdk-Danroptg.cjs +0 -2
- package/dist/src/evalResult-BBJAHAtw.cjs +0 -2
- package/dist/src/evalResult-BBK58h2B.js +0 -3
- package/dist/src/evalResult-spPqh1G_.js +0 -2
- package/dist/src/evaluator-DgLKaZk8.js +0 -3
- package/dist/src/fetch-8viavNv8.js +0 -3
- package/dist/src/graders-C84JI-m5.js +0 -2
- package/dist/src/graders-CBbd0K0Q.cjs +0 -2
- package/dist/src/graders-CbQqpHSN.js +0 -3
- package/dist/src/graders-DS42d3ZG.js +0 -2
- package/dist/src/image-BmilRNqO.js +0 -258
- package/dist/src/image-CxJoa3aW.cjs +0 -280
- package/dist/src/image-DsGRlkh7.js +0 -257
- package/dist/src/image-a_SGUobh.js +0 -257
- package/dist/src/providers-BuyzKt7C.js +0 -2
- package/dist/src/providers-C7lNVBjX.cjs +0 -3
- package/dist/src/providers-CCE2COJi2.js +0 -2
- package/dist/src/render-7uNJ2V14.js +0 -135
- package/dist/src/render-DlscvAUJ.js +0 -135
- package/dist/src/render-eui5p5mL.js +0 -136
- package/dist/src/render-tG6ir9_g.cjs +0 -165
- package/dist/src/rubyUtils-4hjGxvju.js +0 -3
- package/dist/src/rubyUtils-CO-tuszQ.cjs +0 -2
- package/dist/src/server-ByiF3qlg.js +0 -386
- package/dist/src/server-C0XKRNB_.cjs +0 -2
- package/dist/src/server-C_15p79-.js +0 -3
- package/dist/src/store-2OXm_eBY.js +0 -240
- package/dist/src/store-BELqNwvz.js +0 -3
- package/dist/src/store-uQZ4AjPe.cjs +0 -2
- package/dist/src/telemetry-DjNoC_n3.cjs +0 -2
- package/dist/src/telemetry-ZdPZc0fm.js +0 -3
- package/dist/src/transform-BQt0BeAW.js +0 -3
- package/dist/src/transform-Bq5oqC0s.cjs +0 -2
- package/dist/src/transform-C9izGX54.cjs +0 -228
- package/dist/src/transform-CwbAZ84V.js +0 -216
- package/dist/src/transform-DzCF-wqV.js +0 -213
- package/dist/src/transform-eGiUAv86.js +0 -216
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { t as __exportAll } from "./chunk-DEq-mXcV.js";
|
|
2
2
|
import { S as getEnvBool, T as getEnvString, a as logger, i as logRequestResponse, k as state, p as sanitizeUrl, w as getEnvInt, x as getConfigDirectoryPath } from "./logger-Ct2S6Yx-.js";
|
|
3
3
|
import { t as invariant } from "./invariant-Ddh24eXh.js";
|
|
4
|
-
import { n as VERSION } from "./version-
|
|
4
|
+
import { n as VERSION } from "./version-qVEN5qCm.js";
|
|
5
5
|
import * as fs$2 from "fs";
|
|
6
6
|
import * as path$1 from "path";
|
|
7
7
|
import path from "path";
|
|
8
8
|
import yaml from "js-yaml";
|
|
9
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
9
10
|
import * as fsPromises from "fs/promises";
|
|
10
11
|
import { getProxyForUrl } from "proxy-from-env";
|
|
11
12
|
import { Agent, ProxyAgent } from "undici";
|
|
@@ -72,7 +73,10 @@ function writeGlobalConfigPartial(partialConfig) {
|
|
|
72
73
|
});
|
|
73
74
|
writeGlobalConfig(updatedConfig);
|
|
74
75
|
}
|
|
75
|
-
|
|
76
|
+
//#endregion
|
|
77
|
+
//#region src/globalConfig/cloud.ts
|
|
78
|
+
const CLOUD_API_HOST = "https://api.promptfoo.app";
|
|
79
|
+
const API_HOST = getEnvString("API_HOST", CLOUD_API_HOST);
|
|
76
80
|
const SHARING_CUTOFF_DATE = /* @__PURE__ */ new Date("2026-03-09T00:00:00Z");
|
|
77
81
|
var CloudConfig = class {
|
|
78
82
|
config;
|
|
@@ -272,8 +276,8 @@ function calculateCost(modelName, config, promptTokens, completionTokens, models
|
|
|
272
276
|
const model = models.find((m) => m.id === modelName);
|
|
273
277
|
if (!model || !model.cost) return;
|
|
274
278
|
const longContextCost = model.cost.longContext && promptTokens > model.cost.longContext.threshold ? model.cost.longContext : void 0;
|
|
275
|
-
const inputCost = config.cost ?? longContextCost?.input ?? model.cost.input;
|
|
276
|
-
const outputCost = config.cost ?? longContextCost?.output ?? model.cost.output;
|
|
279
|
+
const inputCost = config.inputCost ?? config.cost ?? longContextCost?.input ?? model.cost.input;
|
|
280
|
+
const outputCost = config.outputCost ?? config.cost ?? longContextCost?.output ?? model.cost.output;
|
|
277
281
|
return inputCost * promptTokens + outputCost * completionTokens;
|
|
278
282
|
}
|
|
279
283
|
/**
|
|
@@ -649,6 +653,14 @@ function isConnectionError(error) {
|
|
|
649
653
|
/**
|
|
650
654
|
* Enhanced fetch wrapper that adds logging, authentication, error handling, and optional compression
|
|
651
655
|
*/
|
|
656
|
+
function isPromptfooCloudApiHost(url) {
|
|
657
|
+
try {
|
|
658
|
+
const targetUrl = url instanceof Request ? url.url : url.toString();
|
|
659
|
+
return new URL(targetUrl).origin === CLOUD_API_HOST;
|
|
660
|
+
} catch {
|
|
661
|
+
return false;
|
|
662
|
+
}
|
|
663
|
+
}
|
|
652
664
|
async function monkeyPatchFetch(url, options) {
|
|
653
665
|
const NO_LOG_URLS = [
|
|
654
666
|
R_ENDPOINT,
|
|
@@ -668,7 +680,7 @@ async function monkeyPatchFetch(url, options) {
|
|
|
668
680
|
} catch (e) {
|
|
669
681
|
logger.warn(`Failed to compress request body: ${e}`);
|
|
670
682
|
}
|
|
671
|
-
if (
|
|
683
|
+
if (isPromptfooCloudApiHost(url)) {
|
|
672
684
|
const token = cloudConfig.getApiKey();
|
|
673
685
|
opts.headers = {
|
|
674
686
|
...opts.headers || {},
|
|
@@ -702,11 +714,31 @@ async function monkeyPatchFetch(url, options) {
|
|
|
702
714
|
}
|
|
703
715
|
}
|
|
704
716
|
//#endregion
|
|
717
|
+
//#region src/util/fetch/retryContext.ts
|
|
718
|
+
const fetchRetryContext = new AsyncLocalStorage();
|
|
719
|
+
/**
|
|
720
|
+
* Run `fn` with a fetch retry context so nested `fetchWithRetries` /
|
|
721
|
+
* `fetchWithProxy` calls inherit the provider's configured `maxRetries`.
|
|
722
|
+
*
|
|
723
|
+
* When `maxRetries` is `undefined`, the new scope deliberately shadows any
|
|
724
|
+
* outer provider context so providers without an override fall back to defaults.
|
|
725
|
+
*/
|
|
726
|
+
function withFetchRetryContext(maxRetries, fn) {
|
|
727
|
+
return fetchRetryContext.run({ maxRetries }, fn);
|
|
728
|
+
}
|
|
729
|
+
/**
|
|
730
|
+
* Read the active context's `maxRetries`, or `undefined` when none is set.
|
|
731
|
+
*/
|
|
732
|
+
function getFetchRetryContextMaxRetries() {
|
|
733
|
+
return fetchRetryContext.getStore()?.maxRetries;
|
|
734
|
+
}
|
|
735
|
+
//#endregion
|
|
705
736
|
//#region src/util/fetch/index.ts
|
|
706
737
|
var fetch_exports = /* @__PURE__ */ __exportAll({
|
|
707
738
|
fetchWithProxy: () => fetchWithProxy,
|
|
708
739
|
fetchWithRetries: () => fetchWithRetries,
|
|
709
740
|
fetchWithTimeout: () => fetchWithTimeout,
|
|
741
|
+
getFetchWithProxyHeaders: () => getFetchWithProxyHeaders,
|
|
710
742
|
handleRateLimit: () => handleRateLimit,
|
|
711
743
|
isRateLimited: () => isRateLimited,
|
|
712
744
|
isTransientError: () => isTransientError
|
|
@@ -761,20 +793,44 @@ function getOrCreateProxyAgent(proxyUrl, tlsOptions) {
|
|
|
761
793
|
cachedProxyAgents.set(cacheKey, agent);
|
|
762
794
|
return agent;
|
|
763
795
|
}
|
|
796
|
+
/**
|
|
797
|
+
* Resolve whether to disable transient-error retries. An explicit caller flag
|
|
798
|
+
* always wins (a caller may opt back in even when the provider set
|
|
799
|
+
* `maxRetries: 0`); otherwise we disable only when the retry context carries
|
|
800
|
+
* `maxRetries === 0`.
|
|
801
|
+
*/
|
|
802
|
+
function resolveTransientRetryDisabled(explicit) {
|
|
803
|
+
if (explicit !== void 0) return explicit;
|
|
804
|
+
return getFetchRetryContextMaxRetries() === 0;
|
|
805
|
+
}
|
|
806
|
+
function headersInitToRecord(headers) {
|
|
807
|
+
if (!headers) return {};
|
|
808
|
+
if (headers instanceof Headers) return Object.fromEntries(headers.entries());
|
|
809
|
+
if (Array.isArray(headers)) return Object.fromEntries(new Headers(headers).entries());
|
|
810
|
+
return { ...headers };
|
|
811
|
+
}
|
|
812
|
+
function getFetchWithProxyHeaders(url, options) {
|
|
813
|
+
const requestHeaders = url instanceof Request && options.headers === void 0 ? headersInitToRecord(url.headers) : {};
|
|
814
|
+
const optionHeaders = headersInitToRecord(options.headers);
|
|
815
|
+
return {
|
|
816
|
+
...requestHeaders,
|
|
817
|
+
...optionHeaders,
|
|
818
|
+
"x-promptfoo-version": VERSION
|
|
819
|
+
};
|
|
820
|
+
}
|
|
821
|
+
function getFetchUrlString(url) {
|
|
822
|
+
if (typeof url === "string") return url;
|
|
823
|
+
if (url instanceof URL) return url.toString();
|
|
824
|
+
if (url instanceof Request) return url.url;
|
|
825
|
+
}
|
|
764
826
|
async function fetchWithProxy(url, options = {}, abortSignal) {
|
|
765
827
|
let finalUrl = url;
|
|
766
|
-
let finalUrlString;
|
|
767
|
-
if (typeof url === "string") finalUrlString = url;
|
|
768
|
-
else if (url instanceof URL) finalUrlString = url.toString();
|
|
769
|
-
else if (url instanceof Request) finalUrlString = url.url;
|
|
828
|
+
let finalUrlString = getFetchUrlString(url);
|
|
770
829
|
if (!finalUrlString) throw new Error("Invalid URL");
|
|
771
830
|
const combinedSignal = abortSignal ? options.signal ? AbortSignal.any([options.signal, abortSignal]) : abortSignal : options.signal;
|
|
772
831
|
const finalOptions = {
|
|
773
832
|
...options,
|
|
774
|
-
headers:
|
|
775
|
-
...options.headers,
|
|
776
|
-
"x-promptfoo-version": VERSION
|
|
777
|
-
},
|
|
833
|
+
headers: getFetchWithProxyHeaders(url, options),
|
|
778
834
|
signal: combinedSignal
|
|
779
835
|
};
|
|
780
836
|
if (typeof url === "string") try {
|
|
@@ -812,10 +868,11 @@ async function fetchWithProxy(url, options = {}, abortSignal) {
|
|
|
812
868
|
logger.debug(`Using proxy: ${sanitizeUrl(proxyUrl)}`);
|
|
813
869
|
finalOptions.dispatcher = getOrCreateProxyAgent(proxyUrl, tlsOptions);
|
|
814
870
|
} else finalOptions.dispatcher = getOrCreateAgent(tlsOptions);
|
|
815
|
-
const
|
|
871
|
+
const disableTransientRetries = resolveTransientRetryDisabled(options.disableTransientRetries);
|
|
872
|
+
const maxTransientRetries = disableTransientRetries ? 0 : 3;
|
|
816
873
|
for (let attempt = 0; attempt <= maxTransientRetries; attempt++) {
|
|
817
874
|
const response = await monkeyPatchFetch(finalUrl, finalOptions);
|
|
818
|
-
if (!
|
|
875
|
+
if (!disableTransientRetries && isTransientError(response) && attempt < maxTransientRetries) {
|
|
819
876
|
const backoffMs = Math.pow(2, attempt) * 1e3;
|
|
820
877
|
logger.debug(`Transient error (${response.status} ${response.statusText}), retry ${attempt + 1}/${maxTransientRetries} after ${backoffMs}ms`);
|
|
821
878
|
await sleep(backoffMs);
|
|
@@ -888,8 +945,17 @@ function isTransientError(response) {
|
|
|
888
945
|
default: return false;
|
|
889
946
|
}
|
|
890
947
|
}
|
|
948
|
+
function formatFetchErrorMessage(error) {
|
|
949
|
+
if (!(error instanceof Error)) return String(error);
|
|
950
|
+
const typedError = error;
|
|
951
|
+
let message = `${typedError.name}: ${typedError.message}`;
|
|
952
|
+
if (typedError.cause) message += ` (Cause: ${typedError.cause})`;
|
|
953
|
+
if (typedError.code) message += ` (Code: ${typedError.code})`;
|
|
954
|
+
return message;
|
|
955
|
+
}
|
|
891
956
|
async function fetchWithRetries(url, options = {}, timeout, maxRetries) {
|
|
892
|
-
|
|
957
|
+
const contextMaxRetries = getFetchRetryContextMaxRetries();
|
|
958
|
+
maxRetries = Math.max(0, maxRetries ?? contextMaxRetries ?? 4);
|
|
893
959
|
let lastErrorMessage;
|
|
894
960
|
const backoff = getEnvInt("PROMPTFOO_REQUEST_BACKOFF_MS", 5e3);
|
|
895
961
|
for (let i = 0; i <= maxRetries; i++) {
|
|
@@ -901,21 +967,19 @@ async function fetchWithRetries(url, options = {}, timeout, maxRetries) {
|
|
|
901
967
|
}, timeout);
|
|
902
968
|
if (getEnvBool("PROMPTFOO_RETRY_5XX") && response.status >= 500 && response.status < 600) throw new Error(`Internal Server Error: ${response.status} ${response.statusText}`);
|
|
903
969
|
if (response && isRateLimited(response)) {
|
|
904
|
-
logger.debug(`Rate limited on URL ${url}: ${response.status} ${response.statusText}, attempt ${i + 1}/${maxRetries + 1}, waiting before retry...`);
|
|
905
970
|
lastErrorMessage = `Rate limited: ${response.status} ${response.statusText}`;
|
|
971
|
+
if (i >= maxRetries) {
|
|
972
|
+
logger.debug(`Rate limited on URL ${url}: ${response.status} ${response.statusText}, attempt ${i + 1}/${maxRetries + 1}, no retries remain.`);
|
|
973
|
+
break;
|
|
974
|
+
}
|
|
975
|
+
logger.debug(`Rate limited on URL ${url}: ${response.status} ${response.statusText}, attempt ${i + 1}/${maxRetries + 1}, waiting before retry...`);
|
|
906
976
|
await handleRateLimit(response);
|
|
907
977
|
continue;
|
|
908
978
|
}
|
|
909
979
|
return response;
|
|
910
980
|
} catch (error) {
|
|
911
981
|
if (error instanceof Error && error.name === "AbortError") throw error;
|
|
912
|
-
|
|
913
|
-
if (error instanceof Error) {
|
|
914
|
-
const typedError = error;
|
|
915
|
-
errorMessage = `${typedError.name}: ${typedError.message}`;
|
|
916
|
-
if (typedError.cause) errorMessage += ` (Cause: ${typedError.cause})`;
|
|
917
|
-
if (typedError.code) errorMessage += ` (Code: ${typedError.code})`;
|
|
918
|
-
} else errorMessage = String(error);
|
|
982
|
+
const errorMessage = formatFetchErrorMessage(error);
|
|
919
983
|
logger.debug(`Request to ${url} failed (attempt #${i + 1}), retrying: ${errorMessage}`);
|
|
920
984
|
if (i < maxRetries) await sleep(Math.pow(2, i) * (backoff + 1e3 * Math.random()));
|
|
921
985
|
lastErrorMessage = errorMessage;
|
|
@@ -924,6 +988,6 @@ async function fetchWithRetries(url, options = {}, timeout, maxRetries) {
|
|
|
924
988
|
throw new Error(`Request failed after ${maxRetries} retries: ${lastErrorMessage}`);
|
|
925
989
|
}
|
|
926
990
|
//#endregion
|
|
927
|
-
export {
|
|
991
|
+
export { CONSENT_ENDPOINT as A, transformTools as C, writeGlobalConfig as D, readGlobalConfig as E, getShareApiBaseUrl as F, getShareViewBaseUrl as I, FILE_METADATA_KEY as L, R_ENDPOINT as M, TERMINAL_MAX_WIDTH as N, writeGlobalConfigPartial as O, getDefaultShareViewBaseUrl as P, HUMAN_ASSERTION_TYPE as R, transformToolChoice as S, cloudConfig as T, isPromptfooSampleTarget as _, getFetchWithProxyHeaders as a, parseChatPrompt as b, getCurrentTimestamp as c, parseRetryAfter as d, LONG_RUNNING_MODEL_TIMEOUT_MS as f, isOpenAIToolChoice as g, isOpenAIToolArray as h, fetch_exports as i, EVENTS_ENDPOINT as j, CLOUD_PROVIDER_PREFIX as k, sleep as l, calculateCost as m, fetchWithRetries as n, withFetchRetryContext as o, REQUEST_TIMEOUT_MS as p, fetchWithTimeout as r, isPromptfooCloudApiHost as s, fetchWithProxy as t, parseRateLimitHeaders as u, openaiToolChoiceToBedrock as v, CloudConfig as w, toTitleCase as x, openaiToolsToBedrock as y };
|
|
928
992
|
|
|
929
|
-
//# sourceMappingURL=fetch-
|
|
993
|
+
//# sourceMappingURL=fetch-Doks14zQ.js.map
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
require("./rolldown-runtime-D_mwlA32.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/validators/shared.ts
|
|
4
|
+
const NunjucksFilterMapSchema = zod.z.record(zod.z.string(), zod.z.custom((v) => typeof v === "function"));
|
|
5
|
+
/**
|
|
6
|
+
* Zod schema accepting a string or a function.
|
|
7
|
+
* Used for transform fields that accept inline JS expressions, file:// references,
|
|
8
|
+
* or direct functions when using the Node.js package.
|
|
9
|
+
*/
|
|
10
|
+
const StringOrFunctionSchema = zod.z.union([zod.z.string(), zod.z.custom((val) => typeof val === "function", { message: "Transform must be a string expression, file:// path, or a function (Node.js package)" })]);
|
|
11
|
+
//#endregion
|
|
1
12
|
//#region src/util/fileExtensions.ts
|
|
2
13
|
/**
|
|
3
14
|
* Array of supported JavaScript and TypeScript file extensions
|
|
@@ -86,6 +97,18 @@ Object.defineProperty(exports, "JAVASCRIPT_EXTENSIONS", {
|
|
|
86
97
|
return JAVASCRIPT_EXTENSIONS;
|
|
87
98
|
}
|
|
88
99
|
});
|
|
100
|
+
Object.defineProperty(exports, "NunjucksFilterMapSchema", {
|
|
101
|
+
enumerable: true,
|
|
102
|
+
get: function() {
|
|
103
|
+
return NunjucksFilterMapSchema;
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
Object.defineProperty(exports, "StringOrFunctionSchema", {
|
|
107
|
+
enumerable: true,
|
|
108
|
+
get: function() {
|
|
109
|
+
return StringOrFunctionSchema;
|
|
110
|
+
}
|
|
111
|
+
});
|
|
89
112
|
Object.defineProperty(exports, "isAudioFile", {
|
|
90
113
|
enumerable: true,
|
|
91
114
|
get: function() {
|
|
@@ -111,4 +134,4 @@ Object.defineProperty(exports, "isVideoFile", {
|
|
|
111
134
|
}
|
|
112
135
|
});
|
|
113
136
|
|
|
114
|
-
//# sourceMappingURL=fileExtensions-
|
|
137
|
+
//# sourceMappingURL=fileExtensions-BhdwzYaD.cjs.map
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
//#region src/validators/shared.ts
|
|
3
|
+
const NunjucksFilterMapSchema = z.record(z.string(), z.custom((v) => typeof v === "function"));
|
|
4
|
+
/**
|
|
5
|
+
* Zod schema accepting a string or a function.
|
|
6
|
+
* Used for transform fields that accept inline JS expressions, file:// references,
|
|
7
|
+
* or direct functions when using the Node.js package.
|
|
8
|
+
*/
|
|
9
|
+
const StringOrFunctionSchema = z.union([z.string(), z.custom((val) => typeof val === "function", { message: "Transform must be a string expression, file:// path, or a function (Node.js package)" })]);
|
|
10
|
+
//#endregion
|
|
1
11
|
//#region src/util/fileExtensions.ts
|
|
2
12
|
/**
|
|
3
13
|
* Array of supported JavaScript and TypeScript file extensions
|
|
@@ -80,6 +90,6 @@ function isAudioFile(filePath) {
|
|
|
80
90
|
return audioExtensions.includes(fileExtension);
|
|
81
91
|
}
|
|
82
92
|
//#endregion
|
|
83
|
-
export { isVideoFile as a, isJavascriptFile as i, isAudioFile as n, isImageFile as r, JAVASCRIPT_EXTENSIONS as t };
|
|
93
|
+
export { isVideoFile as a, isJavascriptFile as i, isAudioFile as n, NunjucksFilterMapSchema as o, isImageFile as r, StringOrFunctionSchema as s, JAVASCRIPT_EXTENSIONS as t };
|
|
84
94
|
|
|
85
|
-
//# sourceMappingURL=fileExtensions-
|
|
95
|
+
//# sourceMappingURL=fileExtensions-CXRfY3Ss.js.map
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/validators/shared.ts
|
|
4
|
+
const NunjucksFilterMapSchema = z.record(z.string(), z.custom((v) => typeof v === "function"));
|
|
5
|
+
/**
|
|
6
|
+
* Zod schema accepting a string or a function.
|
|
7
|
+
* Used for transform fields that accept inline JS expressions, file:// references,
|
|
8
|
+
* or direct functions when using the Node.js package.
|
|
9
|
+
*/
|
|
10
|
+
const StringOrFunctionSchema = z.union([z.string(), z.custom((val) => typeof val === "function", { message: "Transform must be a string expression, file:// path, or a function (Node.js package)" })]);
|
|
11
|
+
//#endregion
|
|
2
12
|
//#region src/util/fileExtensions.ts
|
|
3
13
|
/**
|
|
4
14
|
* Array of supported JavaScript and TypeScript file extensions
|
|
@@ -81,6 +91,6 @@ function isAudioFile(filePath) {
|
|
|
81
91
|
return audioExtensions.includes(fileExtension);
|
|
82
92
|
}
|
|
83
93
|
//#endregion
|
|
84
|
-
export { isVideoFile as a, isJavascriptFile as i, isAudioFile as n, isImageFile as r, JAVASCRIPT_EXTENSIONS as t };
|
|
94
|
+
export { isVideoFile as a, isJavascriptFile as i, isAudioFile as n, NunjucksFilterMapSchema as o, isImageFile as r, StringOrFunctionSchema as s, JAVASCRIPT_EXTENSIONS as t };
|
|
85
95
|
|
|
86
|
-
//# sourceMappingURL=fileExtensions-
|
|
96
|
+
//# sourceMappingURL=fileExtensions-D4GCJ67J.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require("./
|
|
1
|
+
require("./rolldown-runtime-D_mwlA32.cjs");
|
|
2
2
|
let _opentelemetry_api = require("@opentelemetry/api");
|
|
3
3
|
//#region src/tracing/genaiTracer.ts
|
|
4
4
|
const TRACER_NAME = "promptfoo.providers";
|
|
@@ -256,12 +256,24 @@ function getTraceparent() {
|
|
|
256
256
|
return `00-${ctx.traceId}-${ctx.spanId}-${traceFlags}`;
|
|
257
257
|
}
|
|
258
258
|
//#endregion
|
|
259
|
+
Object.defineProperty(exports, "getGenAITracer", {
|
|
260
|
+
enumerable: true,
|
|
261
|
+
get: function() {
|
|
262
|
+
return getGenAITracer;
|
|
263
|
+
}
|
|
264
|
+
});
|
|
259
265
|
Object.defineProperty(exports, "getTraceparent", {
|
|
260
266
|
enumerable: true,
|
|
261
267
|
get: function() {
|
|
262
268
|
return getTraceparent;
|
|
263
269
|
}
|
|
264
270
|
});
|
|
271
|
+
Object.defineProperty(exports, "sanitizeBody", {
|
|
272
|
+
enumerable: true,
|
|
273
|
+
get: function() {
|
|
274
|
+
return sanitizeBody;
|
|
275
|
+
}
|
|
276
|
+
});
|
|
265
277
|
Object.defineProperty(exports, "withGenAISpan", {
|
|
266
278
|
enumerable: true,
|
|
267
279
|
get: function() {
|
|
@@ -269,4 +281,4 @@ Object.defineProperty(exports, "withGenAISpan", {
|
|
|
269
281
|
}
|
|
270
282
|
});
|
|
271
283
|
|
|
272
|
-
//# sourceMappingURL=genaiTracer-
|
|
284
|
+
//# sourceMappingURL=genaiTracer-14nugQQx.cjs.map
|
|
@@ -256,6 +256,6 @@ function getTraceparent() {
|
|
|
256
256
|
return `00-${ctx.traceId}-${ctx.spanId}-${traceFlags}`;
|
|
257
257
|
}
|
|
258
258
|
//#endregion
|
|
259
|
-
export { withGenAISpan as
|
|
259
|
+
export { withGenAISpan as i, getTraceparent as n, sanitizeBody as r, getGenAITracer as t };
|
|
260
260
|
|
|
261
|
-
//# sourceMappingURL=genaiTracer-
|
|
261
|
+
//# sourceMappingURL=genaiTracer-BPVvltoW.js.map
|
|
@@ -255,6 +255,6 @@ function getTraceparent() {
|
|
|
255
255
|
return `00-${ctx.traceId}-${ctx.spanId}-${traceFlags}`;
|
|
256
256
|
}
|
|
257
257
|
//#endregion
|
|
258
|
-
export { withGenAISpan as
|
|
258
|
+
export { withGenAISpan as i, getTraceparent as n, sanitizeBody as r, getGenAITracer as t };
|
|
259
259
|
|
|
260
|
-
//# sourceMappingURL=genaiTracer-
|
|
260
|
+
//# sourceMappingURL=genaiTracer-D18lYzhB.js.map
|
|
@@ -255,6 +255,6 @@ function getTraceparent() {
|
|
|
255
255
|
return `00-${ctx.traceId}-${ctx.spanId}-${traceFlags}`;
|
|
256
256
|
}
|
|
257
257
|
//#endregion
|
|
258
|
-
export { withGenAISpan as
|
|
258
|
+
export { withGenAISpan as i, getTraceparent as n, sanitizeBody as r, getGenAITracer as t };
|
|
259
259
|
|
|
260
|
-
//# sourceMappingURL=genaiTracer-
|
|
260
|
+
//# sourceMappingURL=genaiTracer-jJKYsnjc.js.map
|