promptfoo 0.125.0 → 0.125.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/src/accounts-BOxNYxVN.js +229 -0
- package/dist/src/accounts-BezXLdAW.cjs +276 -0
- package/dist/src/accounts-CPISMNlh.js +227 -0
- package/dist/src/accounts-vJBPs89d.js +222 -0
- package/dist/src/agentWorkspace-Bom7SpF2.js +592 -0
- package/dist/src/agentWorkspace-CEomAcws.cjs +619 -0
- package/dist/src/agentWorkspace-DPtMLrlI.js +593 -0
- package/dist/src/agentWorkspace-DkAeEYLz.js +592 -0
- package/dist/src/agentic-utils-121v7mJo.js +197 -0
- package/dist/src/agentic-utils-CBWD_rcd.cjs +237 -0
- package/dist/src/agentic-utils-D8wyQwPG.js +198 -0
- package/dist/src/agentic-utils-EP1QkQCs.js +197 -0
- package/dist/src/agents-Br3ah8iA.js +778 -0
- package/dist/src/agents-C5wj_UTv.js +777 -0
- package/dist/src/agents-C9Efp4mC.js +266 -0
- package/dist/src/agents-CQYwaVCO.js +267 -0
- package/dist/src/agents-CjCd4Vo8.js +777 -0
- package/dist/src/agents-DRWiCHYz.js +266 -0
- package/dist/src/agents-F2rhx0iL.cjs +266 -0
- package/dist/src/agents-RTYyy69h.cjs +777 -0
- package/dist/src/agents-api-CY72O86e.js +711 -0
- package/dist/src/agents-api-CsSsC21b.js +710 -0
- package/dist/src/agents-api-DN-ibDc8.js +710 -0
- package/dist/src/agents-api-cNDsCCv1.cjs +710 -0
- package/dist/src/ai.studio-Bj6Dyi6o.js +2 -0
- package/dist/src/ai.studio-C-e0LzyW.js +369 -0
- package/dist/src/ai.studio-CR8M6Aqf.cjs +391 -0
- package/dist/src/ai.studio-YKk7F0tv.js +374 -0
- package/dist/src/aimlapi-BGunsuTu.js +30 -0
- package/dist/src/aimlapi-BkzcfBsL.js +29 -0
- package/dist/src/aimlapi-DXFcEdP8.js +28 -0
- package/dist/src/aimlapi-r-8iCcAw.cjs +29 -0
- package/dist/src/anthropicMessages-7-YNRgQR.js +114 -0
- package/dist/src/anthropicMessages-C8m9Whrd.cjs +114 -0
- package/dist/src/anthropicMessages-DS1vXD0f.js +115 -0
- package/dist/src/anthropicMessages-DmvGkz-0.js +114 -0
- package/dist/src/app/assets/index-CrdXWTXm.js +392 -0
- package/dist/src/app/browser-inventory.json +4 -4
- package/dist/src/app/index.html +1 -1
- package/dist/src/audio-BLgFgyw-.cjs +104 -0
- package/dist/src/audio-C2sibT7Q.js +104 -0
- package/dist/src/audio-DXEXb03H.js +104 -0
- package/dist/src/audio-TkvojpwO.js +105 -0
- package/dist/src/authoritativeMarkupInjection-BAT9B-Wj.js +79 -0
- package/dist/src/authoritativeMarkupInjection-B_yHETKT.js +78 -0
- package/dist/src/authoritativeMarkupInjection-BfjecQ3Q.cjs +78 -0
- package/dist/src/authoritativeMarkupInjection-D-hDKrhD.js +78 -0
- package/dist/src/aws-B_9unI_-.js +1149 -0
- package/dist/src/aws-D0FY3qkc.js +2433 -0
- package/dist/src/aws-Dh1-a90n.js +2433 -0
- package/dist/src/aws-qskKGczY.cjs +2454 -0
- package/dist/src/base-CaWlBkVz.js +462 -0
- package/dist/src/base-CcViNwVs.js +255 -0
- package/dist/src/base-CsVbPJkU.cjs +467 -0
- package/dist/src/base-DNK9py25.js +255 -0
- package/dist/src/base-DlH5tjEZ.js +463 -0
- package/dist/src/base-DyLOZ_iX.js +256 -0
- package/dist/src/base-RRYXfG7l.cjs +305 -0
- package/dist/src/base-oXVgvtVn.js +462 -0
- package/dist/src/bedrock-BP17ZXbR.cjs +2 -0
- package/dist/src/bedrock-CsjM1dOt.js +1300 -0
- package/dist/src/bedrock-CzPwj8GO.js +1 -0
- package/dist/src/bedrock-eGXZw8oh.js +1 -0
- package/dist/src/bedrock-tSWjmXdj.js +2 -0
- package/dist/src/bestOfN-BQ93nUKV.js +160 -0
- package/dist/src/bestOfN-ByGGwlcb.cjs +161 -0
- package/dist/src/bestOfN-CbP7csHr.js +159 -0
- package/dist/src/bestOfN-xn6i2Xs2.js +159 -0
- package/dist/src/cache-CHq9hPz9.js +2 -0
- package/dist/src/cache-D-9eZN3I.js +754 -0
- package/dist/src/cache-DSm6t1MZ.js +741 -0
- package/dist/src/cache-DeF5zIEN.js +782 -0
- package/dist/src/cache-iG87oYan.cjs +856 -0
- package/dist/src/cerebras-CTtM4yMH.js +98 -0
- package/dist/src/cerebras-CogcJ3ce.cjs +97 -0
- package/dist/src/cerebras-DmkRypTh.js +97 -0
- package/dist/src/cerebras-GUp0B8JY.js +97 -0
- package/dist/src/chat-B4ihd3fw.js +226 -0
- package/dist/src/chat-B9cAQ_rS.js +227 -0
- package/dist/src/chat-BU7EB4R-.cjs +76 -0
- package/dist/src/chat-C8yxJ2-s.cjs +226 -0
- package/dist/src/chat-ClTFM3qq.js +934 -0
- package/dist/src/chat-Cnq0Is68.js +123 -0
- package/dist/src/chat-CwrurR57.cjs +987 -0
- package/dist/src/chat-D0lsojPv.js +124 -0
- package/dist/src/chat-D7_8yFIx.js +76 -0
- package/dist/src/chat-DCoETlLG.js +226 -0
- package/dist/src/chat-DHE7xaTR.js +76 -0
- package/dist/src/chat-DmhT6rz2.cjs +123 -0
- package/dist/src/chat-DvfMe8KI.js +123 -0
- package/dist/src/chat-DwP5kVnl.js +935 -0
- package/dist/src/chat-MB7U-QE2.js +77 -0
- package/dist/src/chat-zCWuBKAj.js +934 -0
- package/dist/src/claude-agent-sdk-23bIVI75.js +999 -0
- package/dist/src/claude-agent-sdk-BACpnIJi.cjs +1005 -0
- package/dist/src/claude-agent-sdk-BlYlmcEr.js +999 -0
- package/dist/src/claude-agent-sdk-Cr-jqJZl.js +1000 -0
- package/dist/src/client-BktbiPx9.cjs +357 -0
- package/dist/src/client-CjztEBmW.js +351 -0
- package/dist/src/client-mRs2UvH9.js +351 -0
- package/dist/src/client-uCz0ydjC.js +352 -0
- package/dist/src/cloud-BtYF555L.js +2 -0
- package/dist/src/cloud-CVSUEmAy.js +287 -0
- package/dist/src/cloud-D7Ifb-Fl.js +599 -0
- package/dist/src/cloud-DB5oK5NX.cjs +666 -0
- package/dist/src/cloud-ecu989Em.js +657 -0
- package/dist/src/cloud-ramjGURF.js +599 -0
- package/dist/src/cloudflare-ai-BfDkIjO8.js +133 -0
- package/dist/src/cloudflare-ai-D9HaXz1M.js +134 -0
- package/dist/src/cloudflare-ai-HrD5WUK8.js +132 -0
- package/dist/src/cloudflare-ai-Qdj8aKP2.cjs +133 -0
- package/dist/src/cloudflare-gateway-C81uKETQ.js +276 -0
- package/dist/src/cloudflare-gateway-CX5Z9X0k.js +276 -0
- package/dist/src/cloudflare-gateway-DW-og8gb.js +277 -0
- package/dist/src/cloudflare-gateway-iRyXo9n2.cjs +276 -0
- package/dist/src/codex-app-server-BFIrSgdy.js +2155 -0
- package/dist/src/codex-app-server-By1eDVD4.js +2 -0
- package/dist/src/codex-app-server-DKsF4qmY.js +2156 -0
- package/dist/src/codex-app-server-n7n4uZzC.cjs +2162 -0
- package/dist/src/codex-app-server-xAoELVxu.js +2155 -0
- package/dist/src/codex-sdk-C2ZLxa6r.js +1552 -0
- package/dist/src/codex-sdk-CzG02tQt.cjs +1588 -0
- package/dist/src/codex-sdk-DNxAOhiV.js +2 -0
- package/dist/src/codex-sdk-DT3aQezK.js +1557 -0
- package/dist/src/codex-sdk-pw9DpcJP.js +1557 -0
- package/dist/src/codex-security-B0bLmXJF.js +406 -0
- package/dist/src/codex-security-BhYs-3iY.js +406 -0
- package/dist/src/codex-security-DQcOfxYW.js +407 -0
- package/dist/src/codex-security-DsCWr6GZ.cjs +411 -0
- package/dist/src/cometapi-B16asPLX.cjs +55 -0
- package/dist/src/cometapi-MgTbZA_H.js +53 -0
- package/dist/src/cometapi-i33vKzPV.js +55 -0
- package/dist/src/cometapi-wK2UWK0X.js +56 -0
- package/dist/src/compatible-COj8ZCy9.js +24 -0
- package/dist/src/compatible-CRSsIUGb.cjs +24 -0
- package/dist/src/compatible-Dy1vCcNF.js +25 -0
- package/dist/src/compatible-aUItQrpk.js +24 -0
- package/dist/src/completion-Bn7COFMk.js +119 -0
- package/dist/src/completion-Bub2N48b.js +118 -0
- package/dist/src/completion-Cf2G9OlM.cjs +123 -0
- package/dist/src/conversationScoring-BiTYJ9MD.js +374 -0
- package/dist/src/conversationScoring-CKL47uIu.js +373 -0
- package/dist/src/conversationScoring-DCvQKp6k.cjs +398 -0
- package/dist/src/conversationScoring-DLNJtDZI.js +373 -0
- package/dist/src/crescendo-5iLk9WiJ.cjs +734 -0
- package/dist/src/crescendo-B5ylG7kW.js +733 -0
- package/dist/src/crescendo-BD7k6TIx.js +730 -0
- package/dist/src/crescendo-DqO2Ch0P.js +732 -0
- package/dist/src/custom-8rv_aG2K.js +617 -0
- package/dist/src/custom-BOtrIHFN.js +619 -0
- package/dist/src/custom-BvN8seCs.cjs +620 -0
- package/dist/src/custom-Cld9v_Y4.js +618 -0
- package/dist/src/dataUrl-BdHUey2l.cjs +3187 -0
- package/dist/src/dataUrl-DBMifX6C.js +3133 -0
- package/dist/src/dataUrl-DUSr-ZvI.js +2868 -0
- package/dist/src/decisions-CLazADTw.js +516 -0
- package/dist/src/decisions-D5X93awq.js +515 -0
- package/dist/src/decisions-DmaeArEn.js +515 -0
- package/dist/src/decisions-DyQJyHJz.cjs +514 -0
- package/dist/src/docker-C9NYQFeu.js +94 -0
- package/dist/src/docker-CGq3mMol.cjs +94 -0
- package/dist/src/docker-DOm7nmpl.js +95 -0
- package/dist/src/docker-skFN-Kfo.js +93 -0
- package/dist/src/embedding-0UbzkTk9.js +82 -0
- package/dist/src/embedding-DTrSDt7k.cjs +86 -0
- package/dist/src/embedding-j2ORNl5H.js +81 -0
- package/dist/src/envoy-BvS8XTQO.js +60 -0
- package/dist/src/envoy-Cn6Hzw0e.js +60 -0
- package/dist/src/envoy-DC3KWcUY.cjs +60 -0
- package/dist/src/envoy-DetHjo5B.js +61 -0
- package/dist/src/eval-Cer9dPe9.js +1920 -0
- package/dist/src/eval-CytYmI2Z.js +2 -0
- package/dist/src/evalResult-DzOq5wt9.js +1300 -0
- package/dist/src/evaluator-BxCmvGtv.js +10578 -0
- package/dist/src/evaluator-Ct7YDELm.js +2 -0
- package/dist/src/evaluatorHelpers-B_AwIrsl.js +600 -0
- package/dist/src/evaluatorHelpers-D1Tpc7gd.js +601 -0
- package/dist/src/evaluatorHelpers-DRR3rLq0.cjs +622 -0
- package/dist/src/fetch-B5KxZuKu.js +1559 -0
- package/dist/src/fetch-BG_Jl7ty.js +1556 -0
- package/dist/src/fetch-BKlgUg08.cjs +1853 -0
- package/dist/src/fetch-C9Fsja0R.js +2 -0
- package/dist/src/fetch-CM7P8KWA.cjs +14 -0
- package/dist/src/fetch-D0FkIB3G.js +9 -0
- package/dist/src/fetch-RXHsZF-J.js +1280 -0
- package/dist/src/fetch-rSECy8jR.js +10 -0
- package/dist/src/functionCallbackUtils-BB9tmf6a.cjs +262 -0
- package/dist/src/functionCallbackUtils-BXk2iY01.js +246 -0
- package/dist/src/functionCallbackUtils-B_cYp7P5.js +245 -0
- package/dist/src/functionCallbackUtils-BfXnPo0o.js +245 -0
- package/dist/src/gemini-image-BXLMADDz.js +471 -0
- package/dist/src/gemini-image-BYUZyEUx.js +472 -0
- package/dist/src/gemini-image-DSt1QubZ.cjs +471 -0
- package/dist/src/gemini-image-DdNDMiZ_.js +471 -0
- package/dist/src/goat-9b-uU_k6.js +514 -0
- package/dist/src/goat-BCJuiDd0.js +515 -0
- package/dist/src/goat-CmAHbemm.js +512 -0
- package/dist/src/goat-DdOTdyoS.cjs +515 -0
- package/dist/src/goblin-Bp5C5lyb.js +22 -0
- package/dist/src/goblin-Dmr7GItI.js +23 -0
- package/dist/src/goblin-DpM8wxlf.cjs +22 -0
- package/dist/src/goblin-cJyH6Pq-.js +22 -0
- package/dist/src/google-B6eaPAbE.js +142 -0
- package/dist/src/google-D-FStdN6.cjs +142 -0
- package/dist/src/google-DAC7BsCW.js +142 -0
- package/dist/src/google-Id18H0Va.js +143 -0
- package/dist/src/graders-BjNQWkaB.js +2 -0
- package/dist/src/graders-CqdIp_vl.js +15470 -0
- package/dist/src/hydra-6Ouh74DE.js +610 -0
- package/dist/src/hydra-BHjhZnLB.cjs +612 -0
- package/dist/src/hydra-BL6k2REV.js +2 -0
- package/dist/src/hydra-BWUc0o67.js +613 -0
- package/dist/src/hydra-CUkEOLKw.js +612 -0
- package/dist/src/image-B6hG_xhb.js +481 -0
- package/dist/src/image-BFaq7Krd.cjs +209 -0
- package/dist/src/image-Bql5C0N9.cjs +504 -0
- package/dist/src/image-BtZfI2pT.js +163 -0
- package/dist/src/image-CIM4oN7Z.cjs +163 -0
- package/dist/src/image-CbAl7Jpu.js +209 -0
- package/dist/src/image-CiYm_yFw.js +209 -0
- package/dist/src/image-DCMNvBiV.js +163 -0
- package/dist/src/image-DL7pIuUZ.js +210 -0
- package/dist/src/image-ey0kxF8o.js +164 -0
- package/dist/src/image-smgIk3rE.js +482 -0
- package/dist/src/index.cjs +27 -27
- package/dist/src/index.d.cts +8 -8
- package/dist/src/index.js +27 -27
- package/dist/src/indirectWebPwn-B_-UpWY5.js +285 -0
- package/dist/src/indirectWebPwn-Cz3SLiEq.js +434 -0
- package/dist/src/indirectWebPwn-D2s8zGiM.cjs +463 -0
- package/dist/src/indirectWebPwn-DXbj2wGu.cjs +285 -0
- package/dist/src/indirectWebPwn-D_4H44E6.js +285 -0
- package/dist/src/indirectWebPwn-L044SrpV.js +434 -0
- package/dist/src/indirectWebPwn-cnmvdavH.js +435 -0
- package/dist/src/indirectWebPwn-zUBzsqTt.js +286 -0
- package/dist/src/interactions-Bu3oVQ-j.js +850 -0
- package/dist/src/interactions-CND010Lh.cjs +850 -0
- package/dist/src/interactions-DAx7tqUz.js +851 -0
- package/dist/src/interactions-DPkIumeh.js +850 -0
- package/dist/src/iterative-BO4JRnpG.js +545 -0
- package/dist/src/iterative-CAK-k9rz.js +548 -0
- package/dist/src/iterative-CDgHc0xO.cjs +549 -0
- package/dist/src/iterative-CXJlHLl9.js +547 -0
- package/dist/src/iterativeImage-BEdGKSmh.cjs +419 -0
- package/dist/src/iterativeImage-BfL0QZw5.js +417 -0
- package/dist/src/iterativeImage-C9KhnibC.js +417 -0
- package/dist/src/iterativeImage-btjkOfWG.js +418 -0
- package/dist/src/iterativeMeta-B5Bdw6QA.js +437 -0
- package/dist/src/iterativeMeta-C3mI4gpT.js +440 -0
- package/dist/src/iterativeMeta-Co2BKyqS.cjs +439 -0
- package/dist/src/iterativeMeta-DD8ihRWD.js +439 -0
- package/dist/src/iterativeTree-AMi4GV2O.js +878 -0
- package/dist/src/iterativeTree-C8FJOEje.cjs +879 -0
- package/dist/src/iterativeTree-CvrY1f2Z.js +877 -0
- package/dist/src/iterativeTree-bPtESmaD.js +876 -0
- package/dist/src/knowledgeBase-Cf5871e3.js +163 -0
- package/dist/src/knowledgeBase-D2PQhqLH.js +164 -0
- package/dist/src/knowledgeBase-DpoMw1IH.cjs +163 -0
- package/dist/src/knowledgeBase-npGFl763.js +163 -0
- package/dist/src/litellm-BBB5DQdt.cjs +146 -0
- package/dist/src/litellm-Bo43ow7r.js +145 -0
- package/dist/src/litellm-CaU8CMLS.js +146 -0
- package/dist/src/litellm-wY7Unh8o.js +147 -0
- package/dist/src/live-5g2w-M-E.js +891 -0
- package/dist/src/live-BfaXsDyD.cjs +891 -0
- package/dist/src/live-C1xewnGD.js +2 -0
- package/dist/src/live-DaF7nYy5.js +892 -0
- package/dist/src/live-lp3urLUw.js +891 -0
- package/dist/src/luma-ray-B7zvKGVG.js +309 -0
- package/dist/src/luma-ray-DCf5fnrz.cjs +309 -0
- package/dist/src/luma-ray-DepBcn6z.js +309 -0
- package/dist/src/luma-ray-XQC4M1pt.js +310 -0
- package/dist/src/main.js +26 -26
- package/dist/src/mantleChat-7xm95vSV.js +154 -0
- package/dist/src/mantleChat-CXhAs5RD.js +155 -0
- package/dist/src/mantleChat-CcE-zjfj.cjs +154 -0
- package/dist/src/mantleChat-Cpefl7Zm.js +154 -0
- package/dist/src/mcp-B0V0ikdM.js +84 -0
- package/dist/src/mcp-CV2k2gwj.js +85 -0
- package/dist/src/memoryPoisoning-BC5FQQWZ.js +111 -0
- package/dist/src/memoryPoisoning-BDwrtZKX.js +111 -0
- package/dist/src/memoryPoisoning-BFemS_FF.js +112 -0
- package/dist/src/memoryPoisoning-DRs2rbVV.cjs +111 -0
- package/dist/src/messages-Bc5oZoAJ.js +1128 -0
- package/dist/src/messages-BkaH8fRW.js +1127 -0
- package/dist/src/messages-CoHlziS5.js +1127 -0
- package/dist/src/messages-Cv_m6kYs.cjs +1161 -0
- package/dist/src/mischievousUser-BcyFxrqJ.js +51 -0
- package/dist/src/mischievousUser-BlhOQSd2.js +52 -0
- package/dist/src/mischievousUser-BuQiKE8D.js +51 -0
- package/dist/src/mischievousUser-ChIOk6cT.cjs +51 -0
- package/dist/src/modelslab-BXIWBTgX.js +171 -0
- package/dist/src/modelslab-ChVsUiaJ.js +170 -0
- package/dist/src/modelslab-DZ6BFlDv.js +170 -0
- package/dist/src/modelslab-DhRr-vyo.cjs +170 -0
- package/dist/src/nova-reel-BL8DrN4_.js +272 -0
- package/dist/src/nova-reel-BiOMUm5q.cjs +272 -0
- package/dist/src/nova-reel-CTsya1hV.js +273 -0
- package/dist/src/nova-reel-kgBY4Svd.js +272 -0
- package/dist/src/nova-sonic-CaSSA3Jq.cjs +374 -0
- package/dist/src/nova-sonic-DLpmoGsR.js +375 -0
- package/dist/src/nova-sonic-DwWc4SoN.js +374 -0
- package/dist/src/nova-sonic-qnReTaXm.js +374 -0
- package/dist/src/novita-B5mAt3Ui.js +114 -0
- package/dist/src/novita-D57vCjDD.js +116 -0
- package/dist/src/novita-ITRtG8IJ.js +115 -0
- package/dist/src/novita-Rh3T13YO.cjs +115 -0
- package/dist/src/nscale-8V7iZ_pI.js +210 -0
- package/dist/src/nscale-BQnMv4pH.cjs +209 -0
- package/dist/src/nscale-BWZXHZVF.js +209 -0
- package/dist/src/nscale-BqrHiUqU.js +207 -0
- package/dist/src/openaiResponses-BMtGTu8R.js +317 -0
- package/dist/src/openaiResponses-CvcI_viE.js +318 -0
- package/dist/src/openaiResponses-DYPZEMX1.cjs +318 -0
- package/dist/src/openaiResponses-DZTg1-kb.js +319 -0
- package/dist/src/openclaw-BeKuig4g.js +1338 -0
- package/dist/src/openclaw-COkdQ83y.js +1337 -0
- package/dist/src/openclaw-CSoX_HQ5.cjs +1344 -0
- package/dist/src/openclaw-DJlhPGCb.js +1336 -0
- package/dist/src/opencode-sdk-BEJftEs6.cjs +1018 -0
- package/dist/src/opencode-sdk-DMvBB3V7.js +1013 -0
- package/dist/src/opencode-sdk-Df7hMjLO.js +1012 -0
- package/dist/src/opencode-sdk-bQp5Xf3W.js +1012 -0
- package/dist/src/openinterpreter-B3GgVZjK.js +431 -0
- package/dist/src/openinterpreter-BiGcU-HN.cjs +435 -0
- package/dist/src/openinterpreter-Buj2l3Eh.js +432 -0
- package/dist/src/openinterpreter-C3_Cg5b_.js +431 -0
- package/dist/src/pricing-0Pampf0q.cjs +999 -0
- package/dist/src/pricing-B8VdhEhY.js +976 -0
- package/dist/src/pricing-CtLA-rKA.js +976 -0
- package/dist/src/promptfoo-4OkHtH9P.cjs +341 -0
- package/dist/src/promptfoo-Bhpm7sH6.js +286 -0
- package/dist/src/promptfoo-BqV8ogVA.js +285 -0
- package/dist/src/promptfoo-S1Q9OHk_.js +286 -0
- package/dist/src/providers-B5zs1ZRv.js +24437 -0
- package/dist/src/providers-Cd6CJh6m.js +2 -0
- package/dist/src/providers-CpJlgHET.js +24039 -0
- package/dist/src/providers-CzvLvK6G.cjs +24180 -0
- package/dist/src/quiverai-1E_IvLHn.js +325 -0
- package/dist/src/quiverai-BXH004Vv.js +325 -0
- package/dist/src/quiverai-Ccya2z8Y.cjs +325 -0
- package/dist/src/quiverai-Cez57oe-.js +326 -0
- package/dist/src/registry-3zX_M9Ik.js +131 -0
- package/dist/src/registry-AuCrKTvS.js +132 -0
- package/dist/src/registry-CxXWKtQG.js +131 -0
- package/dist/src/registry-DG3o66JQ.cjs +131 -0
- package/dist/src/remoteGeneration-CAtvamG6.js +370 -0
- package/dist/src/remoteGeneration-CF225pDl.cjs +482 -0
- package/dist/src/remoteGeneration-DtnqocnL.js +370 -0
- package/dist/src/remoteGeneration-g3KvW-sP.js +371 -0
- package/dist/src/responses-BMbaUXQI.js +1098 -0
- package/dist/src/responses-B_TOSof-.js +1099 -0
- package/dist/src/responses-v-yANwTA.cjs +1109 -0
- package/dist/src/runtimeTransform-BBZv-oUZ.js +156 -0
- package/dist/src/runtimeTransform-DT2v5ovW.js +156 -0
- package/dist/src/runtimeTransform-GXXEIXdS.cjs +161 -0
- package/dist/src/runtimeTransform-JTwBQc-P.js +157 -0
- package/dist/src/sagemaker-B8D0L4rj.cjs +716 -0
- package/dist/src/sagemaker-CR2_AGdB.js +713 -0
- package/dist/src/sagemaker-Cd9qSQUV.js +714 -0
- package/dist/src/sagemaker-mKlltN4p.js +713 -0
- package/dist/src/scanner-PG_8lh8r.js +1971 -0
- package/dist/src/server/index.js +55 -55
- package/dist/src/server-Bmh7sd9F.js +155 -0
- package/dist/src/server-C7b8z6aC.js +63 -0
- package/dist/src/server-CAcovgtL.js +2 -0
- package/dist/src/server-CuuMfKlh.cjs +74 -0
- package/dist/src/server-DMPCj9jy.js +189 -0
- package/dist/src/session-BksXvRH_.cjs +69 -0
- package/dist/src/session-DOxUjqGQ.js +63 -0
- package/dist/src/session-Dujsc-b9.js +62 -0
- package/dist/src/session-VjtIxREd.js +62 -0
- package/dist/src/shared-Bkyz_7e5.cjs +2185 -0
- package/dist/src/shared-DDJg8ycC.js +1929 -0
- package/dist/src/shared-Dh3yfRBd.js +1927 -0
- package/dist/src/shared-tfPT8Tna.js +1928 -0
- package/dist/src/simulatedUser-6JdkyL3k.cjs +252 -0
- package/dist/src/simulatedUser-CFr2mr3M.js +248 -0
- package/dist/src/simulatedUser-DjwwUqx-.js +247 -0
- package/dist/src/slack-C_gIYiUs.js +144 -0
- package/dist/src/slack-DhNbz9CM.cjs +144 -0
- package/dist/src/slack-Dm2iI1zu.js +145 -0
- package/dist/src/strategies-BIY-bNul.js +2248 -0
- package/dist/src/strategies-C1KQQj9G.cjs +2420 -0
- package/dist/src/strategies-DM_3mReG.js +2385 -0
- package/dist/src/telemetry-BhMTibZO.js +2 -0
- package/dist/src/telemetry-C04d25BM.cjs +216 -0
- package/dist/src/telemetry-CIqy4fSC.js +201 -0
- package/dist/src/telemetry-CXozp_6C.js +205 -0
- package/dist/src/telemetry-g7PkBxmY.js +205 -0
- package/dist/src/togetherai-BvCim68-.js +50 -0
- package/dist/src/togetherai-CWyDCA9m.cjs +49 -0
- package/dist/src/togetherai-CeSE31vK.js +49 -0
- package/dist/src/togetherai-_2W0URf8.js +48 -0
- package/dist/src/traceContext-Brw3Oe41.js +1016 -0
- package/dist/src/traceContext-DpAYv27G.js +1015 -0
- package/dist/src/traceContext-KSqhzZI2.cjs +1032 -0
- package/dist/src/transcription-BySopazW.js +175 -0
- package/dist/src/transcription-DO4UPkRI.cjs +178 -0
- package/dist/src/transcription-RJGBa-pC.js +176 -0
- package/dist/src/transcription-fZenF3G5.js +175 -0
- package/dist/src/transform-BzhRc5z2.js +125 -0
- package/dist/src/transform-CPQu05u6.cjs +154 -0
- package/dist/src/transform-DAED8imp.js +126 -0
- package/dist/src/transform-DIOIQDmM.js +125 -0
- package/dist/src/typesafe-ByE0Kxfg.js +253 -0
- package/dist/src/typesafe-CFqGFY34.js +253 -0
- package/dist/src/typesafe-DCWIw-CP.cjs +253 -0
- package/dist/src/typesafe-DyHFV5Qk.js +254 -0
- package/dist/src/util-BHkj9joz.js +2049 -0
- package/dist/src/util-CICwIpmu.cjs +934 -0
- package/dist/src/util-CePiY2xZ.js +286 -0
- package/dist/src/util-CgT3uf4p.js +743 -0
- package/dist/src/util-Cj9drvOY.js +1770 -0
- package/dist/src/util-ClJRjlQA.cjs +357 -0
- package/dist/src/util-Cxf8VF2M.js +395 -0
- package/dist/src/util-D7RdV7rS.js +395 -0
- package/dist/src/util-DMNFhk47.js +351 -0
- package/dist/src/util-DNzh3M0z.js +396 -0
- package/dist/src/util-Df7rfMGb.cjs +2305 -0
- package/dist/src/util-Kf0KnG_6.js +2051 -0
- package/dist/src/util-LEbeiYw_.js +743 -0
- package/dist/src/util-WH8CgVs4.js +352 -0
- package/dist/src/util-cx6Xw8Lw.cjs +478 -0
- package/dist/src/util-qzBqirBH.js +2050 -0
- package/dist/src/vertex-CBAMfRz3.js +854 -0
- package/dist/src/vertex-CMP2IpN9.js +2 -0
- package/dist/src/vertex-CZ5YOotT.js +848 -0
- package/dist/src/vertex-DNsh1F1M.cjs +871 -0
- package/dist/src/vertexLive-BTXYj3-F.js +55 -0
- package/dist/src/vertexLive-Ba_LAqEF.cjs +55 -0
- package/dist/src/vertexLive-DM4sFaaj.js +56 -0
- package/dist/src/vertexLive-JqZOw7HC.js +55 -0
- package/dist/src/video-BY7Q2Gii.cjs +706 -0
- package/dist/src/video-CYElP-CK.js +703 -0
- package/dist/src/video-C_AdEDH0.js +702 -0
- package/dist/src/video-DGvjQ_4j.js +702 -0
- package/package.json +1 -1
- package/dist/src/accounts-Dpb43yde.cjs +0 -276
- package/dist/src/accounts-GKrO1olH.js +0 -229
- package/dist/src/accounts-e4FGOsji.js +0 -227
- package/dist/src/accounts-sUiEJfkB.js +0 -222
- package/dist/src/agentWorkspace-B8A_wuMR.cjs +0 -619
- package/dist/src/agentWorkspace-DSPIscXR.js +0 -593
- package/dist/src/agentWorkspace-DxUqd-XK.js +0 -592
- package/dist/src/agentWorkspace-n0uOJXhD.js +0 -592
- package/dist/src/agentic-utils-9bCj4twQ.js +0 -197
- package/dist/src/agentic-utils-CyCLuLoj.js +0 -197
- package/dist/src/agentic-utils-D23qtOlx.cjs +0 -237
- package/dist/src/agentic-utils-DuBMMNCw.js +0 -198
- package/dist/src/agents-6hDRNoYD.js +0 -777
- package/dist/src/agents-B8w2o7Sc.cjs +0 -777
- package/dist/src/agents-Ck0NXl7v.js +0 -777
- package/dist/src/agents-CwT3B1qB.js +0 -778
- package/dist/src/agents-DOLjfOEq.js +0 -266
- package/dist/src/agents-OcF9hq--.js +0 -267
- package/dist/src/agents-api-CnZZt8bn.cjs +0 -710
- package/dist/src/agents-api-D04u3bmL.js +0 -711
- package/dist/src/agents-api-DWw0_Vio.js +0 -710
- package/dist/src/agents-api-IWHEwp8i.js +0 -710
- package/dist/src/agents-mHt2Mh9O.cjs +0 -266
- package/dist/src/agents-sICccZCA.js +0 -266
- package/dist/src/ai.studio-Ci4rypDT.js +0 -2
- package/dist/src/ai.studio-KkQ6KaHa.js +0 -369
- package/dist/src/ai.studio-gSXK2cGI.js +0 -374
- package/dist/src/ai.studio-nQF_B4DH.cjs +0 -391
- package/dist/src/aimlapi-BeSk5BDV.js +0 -30
- package/dist/src/aimlapi-CzNUhdKu.cjs +0 -29
- package/dist/src/aimlapi-DCkazDPI.js +0 -29
- package/dist/src/aimlapi-WeH5B6K1.js +0 -28
- package/dist/src/anthropicMessages-AcNWTpYO.js +0 -115
- package/dist/src/anthropicMessages-BUtvzbpL.js +0 -114
- package/dist/src/anthropicMessages-DTWhZDCd.js +0 -114
- package/dist/src/anthropicMessages-lGVnSgyx.cjs +0 -114
- package/dist/src/app/assets/index-CyEI5aDN.js +0 -392
- package/dist/src/audio-BE_Duiu1.js +0 -104
- package/dist/src/audio-CiUd00k2.cjs +0 -104
- package/dist/src/audio-Dop6omna.js +0 -105
- package/dist/src/audio-EZNTInr_.js +0 -104
- package/dist/src/authoritativeMarkupInjection-BUqH6hNk.js +0 -78
- package/dist/src/authoritativeMarkupInjection-BmbJdJO0.cjs +0 -78
- package/dist/src/authoritativeMarkupInjection-Cpz12Y3w.js +0 -78
- package/dist/src/authoritativeMarkupInjection-W4XfcH91.js +0 -79
- package/dist/src/aws-B2Jqbnet.js +0 -2433
- package/dist/src/aws-DHtuUIzQ.js +0 -1149
- package/dist/src/aws-DLqXP6wY.js +0 -2433
- package/dist/src/aws-DfduhmwL.cjs +0 -2454
- package/dist/src/base-B9L2Xvpc.js +0 -255
- package/dist/src/base-BTZnIsuH.cjs +0 -305
- package/dist/src/base-BhaWNQPJ.js +0 -462
- package/dist/src/base-Br-G_Xou.js +0 -256
- package/dist/src/base-Bzo8hiUS.cjs +0 -467
- package/dist/src/base-C82fd2jq.js +0 -463
- package/dist/src/base-CRdQwC1W.js +0 -462
- package/dist/src/base-CjGwZNOQ.js +0 -255
- package/dist/src/bedrock-BdMru_ro.js +0 -1300
- package/dist/src/bedrock-CBUmfLX1.cjs +0 -2
- package/dist/src/bedrock-DBDxBaF9.js +0 -2
- package/dist/src/bedrock-DDrECM21.js +0 -1
- package/dist/src/bedrock-DVwkgvRS.js +0 -1
- package/dist/src/bestOfN-AKF5beq4.js +0 -159
- package/dist/src/bestOfN-C1UIVGJV.js +0 -160
- package/dist/src/bestOfN-DlkETbXy.cjs +0 -161
- package/dist/src/bestOfN-XIfEgU-g.js +0 -159
- package/dist/src/cache-BZaVoKaA.js +0 -2
- package/dist/src/cache-CEYhFUsH.js +0 -741
- package/dist/src/cache-Cbw1zH6q.js +0 -782
- package/dist/src/cache-CdaZNb75.js +0 -754
- package/dist/src/cache-DpuIzPxh.cjs +0 -856
- package/dist/src/cerebras-Bpn6FPkJ.js +0 -97
- package/dist/src/cerebras-CqJ0BRCJ.cjs +0 -97
- package/dist/src/cerebras-D4ILa_TY.js +0 -97
- package/dist/src/cerebras-DR8uc7ee.js +0 -98
- package/dist/src/chat-B7PZfaYp.cjs +0 -987
- package/dist/src/chat-BVuSjdEb.js +0 -227
- package/dist/src/chat-BsaZRjXN.js +0 -76
- package/dist/src/chat-C5liqe3Y.js +0 -226
- package/dist/src/chat-C9hyHf5B.js +0 -124
- package/dist/src/chat-CFLalAck.js +0 -226
- package/dist/src/chat-CN8JGrHu.js +0 -76
- package/dist/src/chat-CaHBBpCb.js +0 -123
- package/dist/src/chat-CcbLSghx.js +0 -123
- package/dist/src/chat-CoSN6sr2.js +0 -934
- package/dist/src/chat-CsJRFX8a.cjs +0 -226
- package/dist/src/chat-DFoZLvO_.js +0 -934
- package/dist/src/chat-DiLQvL7r.js +0 -77
- package/dist/src/chat-F6qVSDk3.cjs +0 -123
- package/dist/src/chat-Oq4FaJgI.cjs +0 -76
- package/dist/src/chat-knMfQUKz.js +0 -935
- package/dist/src/claude-agent-sdk-CJkOLpnI.js +0 -999
- package/dist/src/claude-agent-sdk-Ckn76PRD.js +0 -999
- package/dist/src/claude-agent-sdk-DX0gTr11.cjs +0 -1005
- package/dist/src/claude-agent-sdk-LMeikxoR.js +0 -1000
- package/dist/src/client-BFf1r6Z8.js +0 -352
- package/dist/src/client-CdXyDdDi.js +0 -351
- package/dist/src/client-DV8XMu7i.js +0 -351
- package/dist/src/client-iEXtOBKW.cjs +0 -357
- package/dist/src/cloud-B02qcpjf.js +0 -2
- package/dist/src/cloud-BlHP-g1v.cjs +0 -666
- package/dist/src/cloud-C9BI4isF.js +0 -287
- package/dist/src/cloud-CTTLNdvj.js +0 -657
- package/dist/src/cloud-D5X5yQ_d.js +0 -599
- package/dist/src/cloud-QxPkpsHA.js +0 -599
- package/dist/src/cloudflare-ai-DRTRT1fc.js +0 -132
- package/dist/src/cloudflare-ai-DgaXapAV.cjs +0 -133
- package/dist/src/cloudflare-ai-DkuJXijS.js +0 -134
- package/dist/src/cloudflare-ai-wy9QCHku.js +0 -133
- package/dist/src/cloudflare-gateway-9cAN8g29.cjs +0 -276
- package/dist/src/cloudflare-gateway-BVFMD292.js +0 -277
- package/dist/src/cloudflare-gateway-BuUI4p6I.js +0 -276
- package/dist/src/cloudflare-gateway-TlYHizbW.js +0 -276
- package/dist/src/codex-app-server-BPz_feug.cjs +0 -2162
- package/dist/src/codex-app-server-C9noXM9C.js +0 -2155
- package/dist/src/codex-app-server-CEmD-Y5U.js +0 -2
- package/dist/src/codex-app-server-DZolc18r.js +0 -2156
- package/dist/src/codex-app-server-Dd0A37nO.js +0 -2155
- package/dist/src/codex-sdk-BbxjBvBk.cjs +0 -1588
- package/dist/src/codex-sdk-BpXeIs-_.js +0 -1557
- package/dist/src/codex-sdk-BtQp5X0f.js +0 -1552
- package/dist/src/codex-sdk-CH0v9Bk1.js +0 -2
- package/dist/src/codex-sdk-CgrN7JB8.js +0 -1557
- package/dist/src/codex-security-B5fENNUr.js +0 -406
- package/dist/src/codex-security-C6uuJx-y.cjs +0 -411
- package/dist/src/codex-security-CifWtZR_.js +0 -407
- package/dist/src/codex-security-Kg2bOEKy.js +0 -406
- package/dist/src/cometapi-BFpIDLIx.js +0 -55
- package/dist/src/cometapi-C6O2PIrN.js +0 -56
- package/dist/src/cometapi-D5Yupc6F.js +0 -53
- package/dist/src/cometapi-DzgIwJzJ.cjs +0 -55
- package/dist/src/compatible-0jhmVfOp.js +0 -25
- package/dist/src/compatible-DdtwWdJi.cjs +0 -24
- package/dist/src/compatible-Di4nR3sU.js +0 -24
- package/dist/src/compatible-iJKLWdnf.js +0 -24
- package/dist/src/completion-B0_hVUDG.js +0 -119
- package/dist/src/completion-BdI6v0-Q.cjs +0 -123
- package/dist/src/completion-CWcJscwv.js +0 -118
- package/dist/src/conversationScoring-99EOPJRa.js +0 -373
- package/dist/src/conversationScoring-BIq4J0Cq.js +0 -374
- package/dist/src/conversationScoring-DARyeATr.cjs +0 -398
- package/dist/src/conversationScoring-DS48t4Hb.js +0 -373
- package/dist/src/crescendo-CebvXIu4.js +0 -730
- package/dist/src/crescendo-CxrLS0oo.js +0 -732
- package/dist/src/crescendo-DZQXBSkj.js +0 -733
- package/dist/src/crescendo-wjEx68uD.cjs +0 -734
- package/dist/src/custom-BiQ-aUNw.cjs +0 -620
- package/dist/src/custom-ByyB5Z93.js +0 -619
- package/dist/src/custom-C5jOevNb.js +0 -617
- package/dist/src/custom-CCrsCz8o.js +0 -618
- package/dist/src/dataUrl-C9J7wz9H.js +0 -3133
- package/dist/src/dataUrl-CGsBT7UZ.cjs +0 -3187
- package/dist/src/dataUrl-CzKvvWNO.js +0 -2868
- package/dist/src/decisions-BTusXCUx.cjs +0 -514
- package/dist/src/decisions-BYtL9edD.js +0 -515
- package/dist/src/decisions-jYix_gCF.js +0 -515
- package/dist/src/decisions-nxxfHRAN.js +0 -516
- package/dist/src/docker-DDIv4zkg.js +0 -93
- package/dist/src/docker-DVLp_5OG.js +0 -94
- package/dist/src/docker-INm9w0SY.cjs +0 -94
- package/dist/src/docker-sGuoCul_.js +0 -95
- package/dist/src/embedding-CAhqLLrR.js +0 -82
- package/dist/src/embedding-D94GAsti.cjs +0 -86
- package/dist/src/embedding-zb4MAzQy.js +0 -81
- package/dist/src/envoy-BMPszwEa.cjs +0 -60
- package/dist/src/envoy-Bp-s39_8.js +0 -60
- package/dist/src/envoy-BswDt-Ou.js +0 -61
- package/dist/src/envoy-rVbYcV80.js +0 -60
- package/dist/src/eval-B1-XfrC7.js +0 -2
- package/dist/src/eval-pC4qCvLw.js +0 -1920
- package/dist/src/evalResult-CzjCb5bd.js +0 -1300
- package/dist/src/evaluator-CNq2K7J_.js +0 -10578
- package/dist/src/evaluator-LtfxdxEu.js +0 -2
- package/dist/src/evaluatorHelpers-C5J0NYpQ.js +0 -601
- package/dist/src/evaluatorHelpers-DcdCglCs.cjs +0 -622
- package/dist/src/evaluatorHelpers-Rvb88W6B.js +0 -600
- package/dist/src/fetch-5HtnNhHg.js +0 -1556
- package/dist/src/fetch-BCwjoIFd.js +0 -1559
- package/dist/src/fetch-BhfUnKen.js +0 -1280
- package/dist/src/fetch-C08w4vVl.js +0 -9
- package/dist/src/fetch-DBxy8Tlb.cjs +0 -14
- package/dist/src/fetch-DYte6oQX.cjs +0 -1853
- package/dist/src/fetch-ElpfcAVG.js +0 -10
- package/dist/src/fetch-lM1OIaSt.js +0 -2
- package/dist/src/functionCallbackUtils-BCAdWfHO.js +0 -246
- package/dist/src/functionCallbackUtils-BYq9qOhG.js +0 -245
- package/dist/src/functionCallbackUtils-ByWkmVud.cjs +0 -262
- package/dist/src/functionCallbackUtils-D_C_JaFd.js +0 -245
- package/dist/src/gemini-image-CAlwaJhZ.js +0 -471
- package/dist/src/gemini-image-DJoVoOnZ.cjs +0 -471
- package/dist/src/gemini-image-Waio-9Xx.js +0 -472
- package/dist/src/gemini-image-vbY6Ftbf.js +0 -471
- package/dist/src/goat-BWbtyY9c.js +0 -512
- package/dist/src/goat-CXzzeCOQ.cjs +0 -515
- package/dist/src/goat-CfgvzSgZ.js +0 -514
- package/dist/src/goat-DLeoIHBp.js +0 -515
- package/dist/src/goblin-CmfCfwqk.cjs +0 -22
- package/dist/src/goblin-CtcaORRH.js +0 -22
- package/dist/src/goblin-DF6DDhM-.js +0 -22
- package/dist/src/goblin-Nai0xxBV.js +0 -23
- package/dist/src/google-ClpkLtKL.cjs +0 -142
- package/dist/src/google-CrFgKu9k.js +0 -143
- package/dist/src/google-Dj_EIBqS.js +0 -142
- package/dist/src/google-e4-vARv6.js +0 -142
- package/dist/src/graders-BN1IIa71.js +0 -15470
- package/dist/src/graders-C5sCfSP5.js +0 -2
- package/dist/src/hydra-B7RfXVBK.js +0 -2
- package/dist/src/hydra-C1cFN-Jg.js +0 -613
- package/dist/src/hydra-CK6Uc1ia.js +0 -612
- package/dist/src/hydra-Dg65rAP_.js +0 -610
- package/dist/src/hydra-Fqx8l_Xu.cjs +0 -612
- package/dist/src/image-BdlUDAtp.js +0 -163
- package/dist/src/image-C-KwEhwt.cjs +0 -163
- package/dist/src/image-C76fp6NK.cjs +0 -209
- package/dist/src/image-D75ehv3D.js +0 -482
- package/dist/src/image-DKtc5v5W.js +0 -209
- package/dist/src/image-DT_xOkJY.js +0 -163
- package/dist/src/image-DVpdllEE.js +0 -209
- package/dist/src/image-DXZ8AzMf.js +0 -481
- package/dist/src/image-DZl_1mvy.js +0 -164
- package/dist/src/image-DcTD7Ak0.cjs +0 -504
- package/dist/src/image-ndxEvBKB.js +0 -210
- package/dist/src/indirectWebPwn-70WA5x_q.js +0 -435
- package/dist/src/indirectWebPwn-BRVyd3qV.cjs +0 -463
- package/dist/src/indirectWebPwn-BsJVsu0q.js +0 -285
- package/dist/src/indirectWebPwn-Cw6yJu0i.js +0 -285
- package/dist/src/indirectWebPwn-D-PhJzo4.js +0 -286
- package/dist/src/indirectWebPwn-DRPHt2I8.js +0 -434
- package/dist/src/indirectWebPwn-DXtfFhd9.cjs +0 -285
- package/dist/src/indirectWebPwn-DvpNouzc.js +0 -434
- package/dist/src/interactions-5ixfW7Cl.js +0 -850
- package/dist/src/interactions-BOUzfmg1.cjs +0 -850
- package/dist/src/interactions-CSSXcGNc.js +0 -851
- package/dist/src/interactions-WB_sgkN0.js +0 -850
- package/dist/src/iterative-BShRNqjC.cjs +0 -549
- package/dist/src/iterative-BcW_ELtB.js +0 -548
- package/dist/src/iterative-BpHbHz8B.js +0 -547
- package/dist/src/iterative-YcchP12d.js +0 -545
- package/dist/src/iterativeImage-BMFE5Hl7.cjs +0 -419
- package/dist/src/iterativeImage-CkSaYLMY.js +0 -417
- package/dist/src/iterativeImage-DAEUlQX_.js +0 -418
- package/dist/src/iterativeImage-DeUSkEnj.js +0 -417
- package/dist/src/iterativeMeta-DbdaKdEO.cjs +0 -439
- package/dist/src/iterativeMeta-DcF9JWEK.js +0 -437
- package/dist/src/iterativeMeta-DkfPqWIC.js +0 -439
- package/dist/src/iterativeMeta-DkrpnVSs.js +0 -440
- package/dist/src/iterativeTree-CEMY1FhE.cjs +0 -879
- package/dist/src/iterativeTree-Cv5W4tX9.js +0 -877
- package/dist/src/iterativeTree-DGvomd3M.js +0 -876
- package/dist/src/iterativeTree-KbtC2Mkz.js +0 -878
- package/dist/src/knowledgeBase-AYRXn4wO.js +0 -163
- package/dist/src/knowledgeBase-BNqQfx01.js +0 -163
- package/dist/src/knowledgeBase-C0IaCCVs.js +0 -164
- package/dist/src/knowledgeBase-C2uj6wK4.cjs +0 -163
- package/dist/src/litellm-CN1ScAwZ.js +0 -147
- package/dist/src/litellm-CTjwiKSa.js +0 -146
- package/dist/src/litellm-Cd4Nj5ue.js +0 -145
- package/dist/src/litellm-DMqLpEBg.cjs +0 -146
- package/dist/src/live-Bt50-InO.cjs +0 -891
- package/dist/src/live-Bu2ujadG.js +0 -2
- package/dist/src/live-C3M52i3p.js +0 -891
- package/dist/src/live-CRfHMO3B.js +0 -892
- package/dist/src/live-iCIpO14m.js +0 -891
- package/dist/src/luma-ray-B8eHC4c8.cjs +0 -309
- package/dist/src/luma-ray-BIvkPw0s.js +0 -309
- package/dist/src/luma-ray-ChsiBxMA.js +0 -309
- package/dist/src/luma-ray-DAvKrInz.js +0 -310
- package/dist/src/mantleChat-5YeEXAZI.js +0 -154
- package/dist/src/mantleChat-D--mW3hl.js +0 -154
- package/dist/src/mantleChat-DHP3siNg.cjs +0 -154
- package/dist/src/mantleChat-wBfAX46o.js +0 -155
- package/dist/src/mcp-49jlEcTQ.js +0 -85
- package/dist/src/mcp-__PIz81I.js +0 -84
- package/dist/src/memoryPoisoning-Chxge74M.js +0 -111
- package/dist/src/memoryPoisoning-QH6NCUVE.js +0 -112
- package/dist/src/memoryPoisoning-tCxZt8Nz.js +0 -111
- package/dist/src/memoryPoisoning-ymrRItRR.cjs +0 -111
- package/dist/src/messages-BE_eZ7NA.js +0 -1127
- package/dist/src/messages-Bo638ShI.js +0 -1127
- package/dist/src/messages-BzR0-NQ1.js +0 -1128
- package/dist/src/messages-Cbg5Pfd0.cjs +0 -1161
- package/dist/src/mischievousUser-BtED2Z5Z.cjs +0 -51
- package/dist/src/mischievousUser-KqSOjrDJ.js +0 -51
- package/dist/src/mischievousUser-YMD41YNZ.js +0 -51
- package/dist/src/mischievousUser-zBxlNdCu.js +0 -52
- package/dist/src/modelslab-B8gZxtfE.js +0 -171
- package/dist/src/modelslab-C7bmVpTB.js +0 -170
- package/dist/src/modelslab-CCeQCTZg.js +0 -170
- package/dist/src/modelslab-CvBJGv7y.cjs +0 -170
- package/dist/src/nova-reel-BOEWsEKA.cjs +0 -272
- package/dist/src/nova-reel-BtyBXq5M.js +0 -273
- package/dist/src/nova-reel-C1eF3-EE.js +0 -272
- package/dist/src/nova-reel-YhgrxEKT.js +0 -272
- package/dist/src/nova-sonic-BaERP20w.js +0 -374
- package/dist/src/nova-sonic-CxgM3O-P.cjs +0 -374
- package/dist/src/nova-sonic-DJS22fC3.js +0 -375
- package/dist/src/nova-sonic-DwvwHyRX.js +0 -374
- package/dist/src/novita-D1l2tG0O.js +0 -116
- package/dist/src/novita-D84VM3v0.cjs +0 -115
- package/dist/src/novita-DGInvwfR.js +0 -115
- package/dist/src/novita-vXHkXhTg.js +0 -114
- package/dist/src/nscale-CU0Ldr00.js +0 -209
- package/dist/src/nscale-ClfKlQeM.cjs +0 -209
- package/dist/src/nscale-DxaVnF0x.js +0 -210
- package/dist/src/nscale-_poVxIrO.js +0 -207
- package/dist/src/openaiResponses-CJGsneNj.js +0 -317
- package/dist/src/openaiResponses-CKSl5Sdg.js +0 -319
- package/dist/src/openaiResponses-DC8rzFUc.js +0 -318
- package/dist/src/openaiResponses-rMHIA3dV.cjs +0 -318
- package/dist/src/openclaw-CCbvsNFW.cjs +0 -1344
- package/dist/src/openclaw-CZw1lCDZ.js +0 -1336
- package/dist/src/openclaw-ChFLgC-a.js +0 -1338
- package/dist/src/openclaw-DrPMoRrH.js +0 -1337
- package/dist/src/opencode-sdk-2EfIDhFp.cjs +0 -1018
- package/dist/src/opencode-sdk-CHw3F845.js +0 -1013
- package/dist/src/opencode-sdk-D0EGGxvy.js +0 -1012
- package/dist/src/opencode-sdk-jSS7NI2Q.js +0 -1012
- package/dist/src/openinterpreter-CY622xHC.js +0 -431
- package/dist/src/openinterpreter-DATyhuhP.js +0 -432
- package/dist/src/openinterpreter-DDUMyIf1.js +0 -431
- package/dist/src/openinterpreter-s5Tz6Lid.cjs +0 -435
- package/dist/src/pricing-C498twd2.js +0 -976
- package/dist/src/pricing-DBd_bMIh.cjs +0 -999
- package/dist/src/pricing-ISrMCskv.js +0 -976
- package/dist/src/promptfoo-6p0WG2ih.js +0 -286
- package/dist/src/promptfoo-BQRfgNs_.js +0 -285
- package/dist/src/promptfoo-Bqo88z20.cjs +0 -341
- package/dist/src/promptfoo-Cq5AVI3I.js +0 -286
- package/dist/src/providers-ATbeMX5E.cjs +0 -24180
- package/dist/src/providers-B7F1FiNI.js +0 -2
- package/dist/src/providers-DazIw8mI.js +0 -24039
- package/dist/src/providers-QvGlNAD0.js +0 -24437
- package/dist/src/quiverai-BPlNcLkV.cjs +0 -325
- package/dist/src/quiverai-By99-YmJ.js +0 -325
- package/dist/src/quiverai-CmmByDqo.js +0 -325
- package/dist/src/quiverai-HZkoJJqw.js +0 -326
- package/dist/src/registry-BLTnTfjT.cjs +0 -131
- package/dist/src/registry-BMC-COHT.js +0 -132
- package/dist/src/registry-C8UZtmBp.js +0 -131
- package/dist/src/registry-CfwEUYXG.js +0 -131
- package/dist/src/remoteGeneration-Bgg6kC5V.js +0 -370
- package/dist/src/remoteGeneration-CKJFE960.cjs +0 -482
- package/dist/src/remoteGeneration-DaxwJDKv.js +0 -370
- package/dist/src/remoteGeneration-vHMGVKr1.js +0 -371
- package/dist/src/responses-BvnyIHrq.js +0 -1099
- package/dist/src/responses-CERAgvf-.js +0 -1098
- package/dist/src/responses-CwgjeuOg.cjs +0 -1109
- package/dist/src/runtimeTransform-3RF9Avyg.cjs +0 -161
- package/dist/src/runtimeTransform-C51Z5j4H.js +0 -156
- package/dist/src/runtimeTransform-CKE_Iyv8.js +0 -157
- package/dist/src/runtimeTransform-Cs11xJpj.js +0 -156
- package/dist/src/sagemaker-BJ4dOCxE.js +0 -713
- package/dist/src/sagemaker-Bt3JUAWq.js +0 -714
- package/dist/src/sagemaker-QVKyLgLF.cjs +0 -716
- package/dist/src/sagemaker-l3IB8iTs.js +0 -713
- package/dist/src/scanner-DGjIiTZ1.js +0 -1971
- package/dist/src/server-BNaLZH6u.js +0 -63
- package/dist/src/server-CBMuQul3.js +0 -189
- package/dist/src/server-CMKKIzKv.cjs +0 -74
- package/dist/src/server-CN2IS9Cs.js +0 -155
- package/dist/src/server-ua4cqbjC.js +0 -2
- package/dist/src/session-CQIjq_HZ.cjs +0 -69
- package/dist/src/session-FTlg8sEu.js +0 -62
- package/dist/src/session-GBQXtPWp.js +0 -63
- package/dist/src/session-_0-rTdwY.js +0 -62
- package/dist/src/shared-BtuO-OAM.js +0 -1927
- package/dist/src/shared-Ci78wTZX.js +0 -1928
- package/dist/src/shared-Dd3rimdM.js +0 -1929
- package/dist/src/shared-KAjFxRre.cjs +0 -2185
- package/dist/src/simulatedUser--OjW6xCx.js +0 -247
- package/dist/src/simulatedUser-D0-slRye.cjs +0 -252
- package/dist/src/simulatedUser-D1Kh_cwA.js +0 -248
- package/dist/src/slack-BX0FUevO.js +0 -144
- package/dist/src/slack-CcwXFiJE.cjs +0 -144
- package/dist/src/slack-CnfqKfXp.js +0 -145
- package/dist/src/strategies-2ntcK4tN.js +0 -2248
- package/dist/src/strategies-DZIW7Zcs.js +0 -2385
- package/dist/src/strategies-YRDF2j-N.cjs +0 -2420
- package/dist/src/telemetry-CL8CVA4p.js +0 -205
- package/dist/src/telemetry-Cix90qqz.js +0 -201
- package/dist/src/telemetry-CkmlqTjV.js +0 -205
- package/dist/src/telemetry-DQH7l5bb.js +0 -2
- package/dist/src/telemetry-DUCXc1-r.cjs +0 -216
- package/dist/src/togetherai-3yUt5Ck7.js +0 -49
- package/dist/src/togetherai-BJUByLwt.cjs +0 -49
- package/dist/src/togetherai-Bh6KZkmd.js +0 -50
- package/dist/src/togetherai-DDl9yk3b.js +0 -48
- package/dist/src/traceContext-BiJVppjT.cjs +0 -1032
- package/dist/src/traceContext-CKKluULP.js +0 -1016
- package/dist/src/traceContext-D3Sk8fO-.js +0 -1015
- package/dist/src/transcription-BoVQKIVz.js +0 -175
- package/dist/src/transcription-Bs5u8780.js +0 -175
- package/dist/src/transcription-Dl654d1p.cjs +0 -178
- package/dist/src/transcription-VEvhM1Fu.js +0 -176
- package/dist/src/transform-BAbkGpvl.js +0 -125
- package/dist/src/transform-C_j4hUH8.js +0 -126
- package/dist/src/transform-Da86hs4M.cjs +0 -154
- package/dist/src/transform-_i1raQNo.js +0 -125
- package/dist/src/typesafe-CKXBeh82.cjs +0 -253
- package/dist/src/typesafe-D3VaGeNm.js +0 -253
- package/dist/src/typesafe-DYM-SFNH.js +0 -253
- package/dist/src/typesafe-LXmSbw8F.js +0 -254
- package/dist/src/util-41rb0XHX.js +0 -743
- package/dist/src/util-B0WlHYFM.js +0 -2049
- package/dist/src/util-BD1R_PsR.js +0 -1770
- package/dist/src/util-BLbM_ItC.js +0 -395
- package/dist/src/util-C72P0iIa.js +0 -352
- package/dist/src/util-C7MpGlJ6.cjs +0 -2305
- package/dist/src/util-CCtqagKc.js +0 -286
- package/dist/src/util-CM2Ec_uY.js +0 -2051
- package/dist/src/util-CSSAWO8v.js +0 -351
- package/dist/src/util-CkQc-fx3.cjs +0 -934
- package/dist/src/util-DcOlFTFa.cjs +0 -478
- package/dist/src/util-DluGTGVB.js +0 -395
- package/dist/src/util-PfQ60chz.js +0 -743
- package/dist/src/util-f14-CPij.js +0 -396
- package/dist/src/util-l9pXX3Eu.cjs +0 -357
- package/dist/src/util-o_BnlYqS.js +0 -2050
- package/dist/src/vertex-B_-gQgzc.js +0 -2
- package/dist/src/vertex-CU4gqoYa.js +0 -854
- package/dist/src/vertex-DZ42UHb3.js +0 -848
- package/dist/src/vertex-DsYQJA0T.cjs +0 -871
- package/dist/src/vertexLive-BvIaHKGB.js +0 -55
- package/dist/src/vertexLive-CTULqNx7.js +0 -56
- package/dist/src/vertexLive-DjJ_YQBe.cjs +0 -55
- package/dist/src/vertexLive-STUGcteB.js +0 -55
- package/dist/src/video-CAQGmtEV.js +0 -703
- package/dist/src/video-_FSTWlwX.js +0 -702
- package/dist/src/video-aBPJPWdt.js +0 -702
- package/dist/src/video-gDjkWv5m.cjs +0 -706
|
@@ -1,622 +0,0 @@
|
|
|
1
|
-
const require_rolldown_runtime = require("./rolldown-runtime-C0BPl7ul.cjs");
|
|
2
|
-
const require_logger = require("./logger-DXUHJBHJ.cjs");
|
|
3
|
-
const require_invariant = require("./invariant-C2JOzzO2.cjs");
|
|
4
|
-
require("./dataUrl-CGsBT7UZ.cjs");
|
|
5
|
-
const require_fetch = require("./fetch-DYte6oQX.cjs");
|
|
6
|
-
const require_fileExtensions = require("./fileExtensions-B9VbVFu0.cjs");
|
|
7
|
-
const require_esm = require("./esm-DITT-qdS.cjs");
|
|
8
|
-
const require_pythonUtils = require("./pythonUtils-BD70UoPw.cjs");
|
|
9
|
-
const require_file = require("./file-CPfaem7U.cjs");
|
|
10
|
-
const require_render = require("./render-j-UNQw7s.cjs");
|
|
11
|
-
const require_packageVersion = require("./packageVersion-CJ4hVGlE.cjs");
|
|
12
|
-
const require_util = require("./util-CbYgIWBp.cjs");
|
|
13
|
-
const require_packageImportErrors = require("./packageImportErrors-B2JxLURu.cjs");
|
|
14
|
-
const require_packageParser = require("./packageParser-DugQVQxQ.cjs");
|
|
15
|
-
const require_transform = require("./transform-Ba58YIYU.cjs");
|
|
16
|
-
const require_telemetry = require("./telemetry-DUCXc1-r.cjs");
|
|
17
|
-
let fs_promises = require("fs/promises");
|
|
18
|
-
fs_promises = require_rolldown_runtime.__toESM(fs_promises, 1);
|
|
19
|
-
let path = require("path");
|
|
20
|
-
path = require_rolldown_runtime.__toESM(path, 1);
|
|
21
|
-
let node_path = require("node:path");
|
|
22
|
-
node_path = require_rolldown_runtime.__toESM(node_path, 1);
|
|
23
|
-
let node_module = require("node:module");
|
|
24
|
-
let semver_functions_satisfies_js = require("semver/functions/satisfies.js");
|
|
25
|
-
semver_functions_satisfies_js = require_rolldown_runtime.__toESM(semver_functions_satisfies_js, 1);
|
|
26
|
-
//#region src/integrations/helicone.ts
|
|
27
|
-
const buildFilter = (majorVersion, minorVersion) => {
|
|
28
|
-
if (majorVersion === void 0 && minorVersion === void 0) return {};
|
|
29
|
-
return {
|
|
30
|
-
left: { prompts_versions: { [majorVersion === void 0 ? "minor_version" : "major_version"]: { equals: majorVersion === void 0 ? minorVersion : majorVersion } } },
|
|
31
|
-
operator: "and",
|
|
32
|
-
right: majorVersion !== void 0 && minorVersion !== void 0 ? { prompts_versions: { minor_version: { equals: minorVersion } } } : "all"
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
async function getPrompt$2(id, variables, majorVersion, minorVersion) {
|
|
36
|
-
const getHeliconePrompt = async () => {
|
|
37
|
-
return await (await require_fetch.fetchWithProxy(`https://api.helicone.ai/v1/prompt/${id}/compile`, {
|
|
38
|
-
headers: {
|
|
39
|
-
Authorization: `Bearer ${require_logger.getEnvString("HELICONE_API_KEY")}`,
|
|
40
|
-
"Content-Type": "application/json"
|
|
41
|
-
},
|
|
42
|
-
method: "POST",
|
|
43
|
-
body: JSON.stringify({
|
|
44
|
-
filter: buildFilter(majorVersion, minorVersion),
|
|
45
|
-
inputs: variables
|
|
46
|
-
})
|
|
47
|
-
})).json();
|
|
48
|
-
};
|
|
49
|
-
const heliconePrompt = await getHeliconePrompt();
|
|
50
|
-
if (heliconePrompt.error) throw new Error(heliconePrompt.error);
|
|
51
|
-
return heliconePrompt.data?.prompt_compiled;
|
|
52
|
-
}
|
|
53
|
-
//#endregion
|
|
54
|
-
//#region src/integrations/langfuse-availability.ts
|
|
55
|
-
const installCommand = "npm install promptfoo @langfuse/client@^5.11.1";
|
|
56
|
-
/** Validate the opt-in SDK before loading it for Langfuse prompt management. */
|
|
57
|
-
async function loadLangfuseClient(load) {
|
|
58
|
-
try {
|
|
59
|
-
const entryPoint = (0, node_module.createRequire)(node_path.default.join(require_esm.getDirectory(), "package.json")).resolve("@langfuse/client");
|
|
60
|
-
const version = require_packageVersion.getPackageVersion("@langfuse/client", entryPoint);
|
|
61
|
-
if (!version || !(0, semver_functions_satisfies_js.default)(version, "^5.11.1")) throw new Error(`Langfuse prompt management requires @langfuse/client@^5.11.1 (found ${version ?? "unknown"}). ${require_packageImportErrors.optionalPackageInstallHint(installCommand)}`);
|
|
62
|
-
return await load();
|
|
63
|
-
} catch (error) {
|
|
64
|
-
if (require_packageImportErrors.isMissingPackageImportError(error, "@langfuse/client")) throw new Error(`The @langfuse/client package is required for Langfuse prompt management. ${require_packageImportErrors.optionalPackageInstallHint(installCommand)}`);
|
|
65
|
-
throw error;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
//#endregion
|
|
69
|
-
//#region src/integrations/langfuse.ts
|
|
70
|
-
let langfuseState;
|
|
71
|
-
function getLangfuseParams() {
|
|
72
|
-
return {
|
|
73
|
-
publicKey: require_logger.getEnvString("LANGFUSE_PUBLIC_KEY") || void 0,
|
|
74
|
-
secretKey: require_logger.getEnvString("LANGFUSE_SECRET_KEY") || void 0,
|
|
75
|
-
baseUrl: require_logger.getEnvString("LANGFUSE_HOST") || require_logger.getEnvString("LANGFUSE_BASE_URL") || void 0
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
async function createLangfuseClient(params) {
|
|
79
|
-
return loadLangfuseClient(async () => {
|
|
80
|
-
const { LangfuseClient } = await import("@langfuse/client");
|
|
81
|
-
return new LangfuseClient(params);
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
function getLangfuseState() {
|
|
85
|
-
const params = getLangfuseParams();
|
|
86
|
-
if (langfuseState && langfuseState.params.publicKey === params.publicKey && langfuseState.params.secretKey === params.secretKey && langfuseState.params.baseUrl === params.baseUrl) return langfuseState;
|
|
87
|
-
const state = {
|
|
88
|
-
params,
|
|
89
|
-
client: createLangfuseClient(params),
|
|
90
|
-
inFlightPrompts: /* @__PURE__ */ new Map()
|
|
91
|
-
};
|
|
92
|
-
state.client.catch(() => {
|
|
93
|
-
if (langfuseState === state) langfuseState = void 0;
|
|
94
|
-
});
|
|
95
|
-
langfuseState = state;
|
|
96
|
-
return state;
|
|
97
|
-
}
|
|
98
|
-
async function getPrompt$1(id, vars, type, version, label) {
|
|
99
|
-
const { client, inFlightPrompts } = getLangfuseState();
|
|
100
|
-
const langfuse = await client;
|
|
101
|
-
const promptType = type === "chat" ? "chat" : "text";
|
|
102
|
-
const requestKey = JSON.stringify([
|
|
103
|
-
id,
|
|
104
|
-
promptType,
|
|
105
|
-
version ?? null,
|
|
106
|
-
label ?? null
|
|
107
|
-
]);
|
|
108
|
-
let request = inFlightPrompts.get(requestKey);
|
|
109
|
-
if (!request) {
|
|
110
|
-
const options = label ? { label } : {};
|
|
111
|
-
request = promptType === "chat" ? langfuse.prompt.get(id, {
|
|
112
|
-
version,
|
|
113
|
-
...options,
|
|
114
|
-
type: "chat"
|
|
115
|
-
}) : langfuse.prompt.get(id, {
|
|
116
|
-
version,
|
|
117
|
-
...options,
|
|
118
|
-
type: "text"
|
|
119
|
-
});
|
|
120
|
-
inFlightPrompts.set(requestKey, request);
|
|
121
|
-
const clearRequest = () => inFlightPrompts.delete(requestKey);
|
|
122
|
-
request.then(clearRequest, clearRequest);
|
|
123
|
-
}
|
|
124
|
-
let prompt;
|
|
125
|
-
try {
|
|
126
|
-
prompt = await request;
|
|
127
|
-
} catch (err) {
|
|
128
|
-
const error = err;
|
|
129
|
-
if (label) throw new Error(`Failed to fetch Langfuse prompt "${id}" with label "${label}": ${error.message || error}`);
|
|
130
|
-
else if (version === void 0) throw new Error(`Failed to fetch Langfuse prompt "${id}": ${error.message || error}`);
|
|
131
|
-
else throw new Error(`Failed to fetch Langfuse prompt "${id}" version ${version}: ${error.message || error}`);
|
|
132
|
-
}
|
|
133
|
-
const stringVars = {};
|
|
134
|
-
for (const [key, value] of Object.entries(vars)) stringVars[key] = typeof value === "string" ? value : JSON.stringify(value);
|
|
135
|
-
const compiledPrompt = prompt.compile(stringVars);
|
|
136
|
-
if (typeof compiledPrompt !== "string") return JSON.stringify(compiledPrompt);
|
|
137
|
-
return compiledPrompt;
|
|
138
|
-
}
|
|
139
|
-
//#endregion
|
|
140
|
-
//#region src/integrations/portkey.ts
|
|
141
|
-
async function getPrompt(id, variables) {
|
|
142
|
-
const apiKey = require_logger.getEnvString("PORTKEY_API_KEY");
|
|
143
|
-
require_invariant.invariant(apiKey, "PORTKEY_API_KEY is required");
|
|
144
|
-
const url = `https://api.portkey.ai/v1/prompts/${id}/render`;
|
|
145
|
-
const response = await require_fetch.fetchWithProxy(url, {
|
|
146
|
-
method: "POST",
|
|
147
|
-
headers: {
|
|
148
|
-
"Content-Type": "application/json",
|
|
149
|
-
"x-portkey-api-key": apiKey
|
|
150
|
-
},
|
|
151
|
-
body: JSON.stringify({ variables })
|
|
152
|
-
});
|
|
153
|
-
if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
|
|
154
|
-
const result = await response.json();
|
|
155
|
-
if (!result.success) throw new Error(`Portkey error! ${JSON.stringify(result)}`);
|
|
156
|
-
return result.data;
|
|
157
|
-
}
|
|
158
|
-
//#endregion
|
|
159
|
-
//#region src/evaluatorHelpers.ts
|
|
160
|
-
async function extractTextFromPDF(pdfPath) {
|
|
161
|
-
require_logger.logger.debug(`Extracting text from PDF: ${pdfPath}`);
|
|
162
|
-
try {
|
|
163
|
-
const { PDFParse } = await import("pdf-parse");
|
|
164
|
-
const parser = new PDFParse({ data: await fs_promises.default.readFile(pdfPath) });
|
|
165
|
-
const result = await parser.getText();
|
|
166
|
-
await parser.destroy();
|
|
167
|
-
return result.text.trim();
|
|
168
|
-
} catch (error) {
|
|
169
|
-
if (error instanceof Error && error.message.includes("Cannot find module 'pdf-parse'")) throw new Error("pdf-parse is not installed. Please install it with: npm install pdf-parse");
|
|
170
|
-
throw new Error(`Failed to extract text from PDF ${pdfPath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
function resolveVariables(variables, skipResolveVars, varsResolvedFromSkipped) {
|
|
174
|
-
let resolved;
|
|
175
|
-
const regex = /\{\{\s*(\w+)\s*\}\}/;
|
|
176
|
-
let iterations = 0;
|
|
177
|
-
do {
|
|
178
|
-
resolved = true;
|
|
179
|
-
for (const key of Object.keys(variables)) {
|
|
180
|
-
if (skipResolveVars?.includes(key) || varsResolvedFromSkipped?.has(key) || typeof variables[key] !== "string") continue;
|
|
181
|
-
const value = variables[key];
|
|
182
|
-
const match = regex.exec(value);
|
|
183
|
-
if (match) {
|
|
184
|
-
const [placeholder, varName] = match;
|
|
185
|
-
if (variables[varName] === void 0) {} else {
|
|
186
|
-
variables[key] = value.replace(placeholder, () => variables[varName]);
|
|
187
|
-
if (skipResolveVars?.includes(varName) || varsResolvedFromSkipped?.has(varName)) varsResolvedFromSkipped?.add(key);
|
|
188
|
-
resolved = false;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
iterations++;
|
|
193
|
-
} while (!resolved && iterations < 5);
|
|
194
|
-
return variables;
|
|
195
|
-
}
|
|
196
|
-
function autoWrapRawIfPartialNunjucks(prompt) {
|
|
197
|
-
const hasPartialTag = /({%[^%]*$|{{[^}]*$|{#[^#]*$)/m.test(prompt);
|
|
198
|
-
const alreadyWrapped = /{\%\s*raw\s*\%}/.test(prompt) && /{\%\s*endraw\s*\%}/.test(prompt);
|
|
199
|
-
if (hasPartialTag && !alreadyWrapped) return `{% raw %}${prompt}{% endraw %}`;
|
|
200
|
-
return prompt;
|
|
201
|
-
}
|
|
202
|
-
function referencesUndefinedVariables(template, vars) {
|
|
203
|
-
return require_render.extractVariablesFromTemplate(template).some((variableName) => {
|
|
204
|
-
const rootVariableName = /^([A-Za-z_]\w*)/.exec(variableName)?.[1];
|
|
205
|
-
return Boolean(rootVariableName && rootVariableName !== "env" && vars[rootVariableName] === void 0);
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Collects metadata about file variables in the vars object.
|
|
210
|
-
* @param vars The variables object containing potential file references
|
|
211
|
-
* @returns An object mapping variable names to their file metadata
|
|
212
|
-
*/
|
|
213
|
-
function collectFileMetadata(vars) {
|
|
214
|
-
const fileMetadata = {};
|
|
215
|
-
for (const [varName, value] of Object.entries(vars)) if (typeof value === "string" && value.startsWith("file://")) {
|
|
216
|
-
const filePath = path.resolve(require_logger.state.basePath || "", value.slice(7));
|
|
217
|
-
const fileExtension = filePath.split(".").pop() || "";
|
|
218
|
-
if (require_fileExtensions.isImageFile(filePath)) fileMetadata[varName] = {
|
|
219
|
-
path: value,
|
|
220
|
-
type: "image",
|
|
221
|
-
format: fileExtension
|
|
222
|
-
};
|
|
223
|
-
else if (require_fileExtensions.isVideoFile(filePath)) fileMetadata[varName] = {
|
|
224
|
-
path: value,
|
|
225
|
-
type: "video",
|
|
226
|
-
format: fileExtension
|
|
227
|
-
};
|
|
228
|
-
else if (require_fileExtensions.isAudioFile(filePath)) fileMetadata[varName] = {
|
|
229
|
-
path: value,
|
|
230
|
-
type: "audio",
|
|
231
|
-
format: fileExtension
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
return fileMetadata;
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Gets MIME type from file extension
|
|
238
|
-
*
|
|
239
|
-
* Supported formats:
|
|
240
|
-
* - JPEG/JPG (image/jpeg)
|
|
241
|
-
* - PNG (image/png)
|
|
242
|
-
* - GIF (image/gif)
|
|
243
|
-
* - WebP (image/webp)
|
|
244
|
-
* - BMP (image/bmp)
|
|
245
|
-
* - SVG (image/svg+xml)
|
|
246
|
-
* - TIFF (image/tiff)
|
|
247
|
-
* - ICO (image/x-icon)
|
|
248
|
-
* - AVIF (image/avif)
|
|
249
|
-
* - HEIC/HEIF (image/heic)
|
|
250
|
-
*
|
|
251
|
-
* @param extension File extension (with or without dot)
|
|
252
|
-
* @returns MIME type string (defaults to image/jpeg for unknown formats)
|
|
253
|
-
*/
|
|
254
|
-
function getMimeTypeFromExtension(extension) {
|
|
255
|
-
return {
|
|
256
|
-
jpg: "image/jpeg",
|
|
257
|
-
jpeg: "image/jpeg",
|
|
258
|
-
png: "image/png",
|
|
259
|
-
gif: "image/gif",
|
|
260
|
-
bmp: "image/bmp",
|
|
261
|
-
webp: "image/webp",
|
|
262
|
-
svg: "image/svg+xml",
|
|
263
|
-
tif: "image/tiff",
|
|
264
|
-
tiff: "image/tiff",
|
|
265
|
-
ico: "image/x-icon",
|
|
266
|
-
avif: "image/avif",
|
|
267
|
-
heic: "image/heic",
|
|
268
|
-
heif: "image/heif"
|
|
269
|
-
}[extension.toLowerCase().replace(/^\./, "")] || "image/jpeg";
|
|
270
|
-
}
|
|
271
|
-
/**
|
|
272
|
-
* Detects MIME type from base64 magic numbers for additional accuracy
|
|
273
|
-
*
|
|
274
|
-
* Magic numbers (base64-encoded file signatures):
|
|
275
|
-
* - JPEG: /9j/ (0xFFD8FF)
|
|
276
|
-
* - PNG: iVBORw0KGgo (0x89504E47)
|
|
277
|
-
* - GIF: R0lGODlh or R0lGODdh (GIF87a/GIF89a)
|
|
278
|
-
* - WebP: UklGR (RIFF)
|
|
279
|
-
* - BMP: Qk0 or Qk1 (BM)
|
|
280
|
-
* - TIFF: SUkq or TU0A (II* or MM*)
|
|
281
|
-
* - ICO: AAABAA (0x00000100)
|
|
282
|
-
*
|
|
283
|
-
* @param base64Data Base64 encoded image data
|
|
284
|
-
* @returns MIME type string or null if format cannot be detected
|
|
285
|
-
*/
|
|
286
|
-
function detectMimeFromBase64(base64Data) {
|
|
287
|
-
if (base64Data.startsWith("/9j/")) return "image/jpeg";
|
|
288
|
-
else if (base64Data.startsWith("iVBORw0KGgo")) return "image/png";
|
|
289
|
-
else if (base64Data.startsWith("R0lGODlh") || base64Data.startsWith("R0lGODdh")) return "image/gif";
|
|
290
|
-
else if (base64Data.startsWith("UklGR")) return "image/webp";
|
|
291
|
-
else if (base64Data.startsWith("Qk0") || base64Data.startsWith("Qk1")) return "image/bmp";
|
|
292
|
-
else if (base64Data.startsWith("SUkq") || base64Data.startsWith("TU0A")) return "image/tiff";
|
|
293
|
-
else if (base64Data.startsWith("AAABAA")) return "image/x-icon";
|
|
294
|
-
return null;
|
|
295
|
-
}
|
|
296
|
-
/**
|
|
297
|
-
* Renders a prompt template with variable substitution using Nunjucks.
|
|
298
|
-
*
|
|
299
|
-
* @param prompt - The prompt template to render
|
|
300
|
-
* @param vars - Variables to substitute into the template
|
|
301
|
-
* @param nunjucksFilters - Optional custom Nunjucks filters
|
|
302
|
-
* @param provider - Optional API provider for context
|
|
303
|
-
* @param skipRenderVars - Optional array of variable names to skip special loading and template
|
|
304
|
-
* rendering for. This is critical for red team testing where injection
|
|
305
|
-
* variables contain attack payloads (e.g., SSTI, XSS) that should NOT be
|
|
306
|
-
* evaluated by Promptfoo before reaching the target.
|
|
307
|
-
* @returns The rendered prompt string
|
|
308
|
-
*/
|
|
309
|
-
async function renderPrompt(prompt, vars, nunjucksFilters, provider, skipRenderVars) {
|
|
310
|
-
const nunjucks = require_render.getNunjucksEngine(nunjucksFilters);
|
|
311
|
-
const loadedMimeTypes = require_file.setLoadedFileMimeTypes(vars);
|
|
312
|
-
let basePrompt = prompt.raw;
|
|
313
|
-
for (const [varName, value] of Object.entries(vars)) {
|
|
314
|
-
if (skipRenderVars?.includes(varName)) continue;
|
|
315
|
-
if (typeof value === "string" && value.startsWith("file://")) {
|
|
316
|
-
const basePath = require_logger.state.basePath || "";
|
|
317
|
-
const filePath = path.resolve(process.cwd(), basePath, value.slice(7));
|
|
318
|
-
const fileExtension = filePath.split(".").pop();
|
|
319
|
-
require_logger.logger.debug(`Loading var ${varName} from file: ${filePath}`);
|
|
320
|
-
if (require_fileExtensions.isJavascriptFile(filePath)) {
|
|
321
|
-
const javascriptOutput = await (await require_esm.importModule(filePath))(varName, basePrompt, vars, provider);
|
|
322
|
-
if (javascriptOutput.error) throw new Error(`Error running ${filePath}: ${javascriptOutput.error}`);
|
|
323
|
-
if (typeof javascriptOutput.output !== "string") throw new Error(`Expected ${filePath} to return { output: string } but got ${javascriptOutput}`);
|
|
324
|
-
vars[varName] = javascriptOutput.output;
|
|
325
|
-
} else if (fileExtension === "py") {
|
|
326
|
-
const pythonScriptOutput = await require_pythonUtils.runPython(filePath, "get_var", [
|
|
327
|
-
varName,
|
|
328
|
-
basePrompt,
|
|
329
|
-
vars
|
|
330
|
-
]);
|
|
331
|
-
if (pythonScriptOutput.error) throw new Error(`Error running Python script ${filePath}: ${pythonScriptOutput.error}`);
|
|
332
|
-
if (pythonScriptOutput.output == null) throw new Error(`Python script ${filePath} did not return any output`);
|
|
333
|
-
require_invariant.invariant(typeof pythonScriptOutput.output === "string", `pythonScriptOutput.output must be a string. Received: ${typeof pythonScriptOutput.output}`);
|
|
334
|
-
vars[varName] = pythonScriptOutput.output.trim();
|
|
335
|
-
} else if (fileExtension === "yaml" || fileExtension === "yml") vars[varName] = JSON.stringify(require_logger.loadYaml(await fs_promises.default.readFile(filePath, "utf8")));
|
|
336
|
-
else if (fileExtension === "pdf" && !require_logger.getEnvBool("PROMPTFOO_DISABLE_PDF_AS_TEXT")) {
|
|
337
|
-
require_telemetry.telemetry.record("feature_used", { feature: "extract_text_from_pdf" });
|
|
338
|
-
vars[varName] = await extractTextFromPDF(filePath);
|
|
339
|
-
} else if ((require_fileExtensions.isImageFile(filePath) || require_fileExtensions.isVideoFile(filePath) || require_fileExtensions.isAudioFile(filePath)) && !require_logger.getEnvBool("PROMPTFOO_DISABLE_MULTIMEDIA_AS_BASE64")) {
|
|
340
|
-
const fileType = require_fileExtensions.isImageFile(filePath) ? "image" : require_fileExtensions.isVideoFile(filePath) ? "video" : "audio";
|
|
341
|
-
require_telemetry.telemetry.record("feature_used", { feature: `load_${fileType}_as_base64` });
|
|
342
|
-
require_logger.logger.debug(`Loading ${fileType} as base64: ${filePath}`);
|
|
343
|
-
try {
|
|
344
|
-
const base64Data = (await fs_promises.default.readFile(filePath)).toString("base64");
|
|
345
|
-
if (fileType === "image") {
|
|
346
|
-
let mimeType = getMimeTypeFromExtension(path.extname(filePath));
|
|
347
|
-
const extensionWasUnknown = !path.extname(filePath) || mimeType === "image/jpeg";
|
|
348
|
-
const detectedType = detectMimeFromBase64(base64Data);
|
|
349
|
-
if (detectedType) {
|
|
350
|
-
if (detectedType !== mimeType) {
|
|
351
|
-
require_logger.logger.debug(`Magic number detection overriding extension-based MIME type: ${detectedType} (was ${mimeType}) for ${filePath}`);
|
|
352
|
-
mimeType = detectedType;
|
|
353
|
-
}
|
|
354
|
-
} else if (extensionWasUnknown) require_logger.logger.warn(`Could not detect image format for ${filePath}, defaulting to image/jpeg. Supported formats: JPEG, PNG, GIF, WebP, BMP, TIFF, ICO, AVIF, HEIC, SVG`);
|
|
355
|
-
vars[varName] = `data:${mimeType};base64,${base64Data}`;
|
|
356
|
-
} else {
|
|
357
|
-
vars[varName] = base64Data;
|
|
358
|
-
if (fileType === "audio" && fileExtension?.toLowerCase() === "m4a" && provider?.getAudioInputFormat?.() === "google") {
|
|
359
|
-
loadedMimeTypes.set(base64Data, "audio/mp4");
|
|
360
|
-
require_file.setLoadedFileMimeTypes(vars, loadedMimeTypes);
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
} catch (error) {
|
|
364
|
-
throw new Error(`Failed to load ${fileType} ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
365
|
-
}
|
|
366
|
-
} else vars[varName] = (await fs_promises.default.readFile(filePath, "utf8")).trim();
|
|
367
|
-
} else if (require_packageParser.isPackagePath(value)) {
|
|
368
|
-
const basePath = require_logger.state.basePath || "";
|
|
369
|
-
const requiredModule = await require_packageParser.loadFromPackage(value, basePath);
|
|
370
|
-
if (typeof requiredModule !== "function") throw new Error(`Variable source malformed: ${value} must export a function. Received: ${typeof requiredModule}`);
|
|
371
|
-
const javascriptOutput = await requiredModule(varName, basePrompt, vars, provider);
|
|
372
|
-
if (javascriptOutput.error) throw new Error(`Error running ${value}: ${javascriptOutput.error}`);
|
|
373
|
-
if (typeof javascriptOutput.output !== "string") throw new Error(`Expected ${value} to return { output: string } but got ${javascriptOutput}`);
|
|
374
|
-
vars[varName] = javascriptOutput.output;
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
if (prompt.function) {
|
|
378
|
-
const result = await prompt.function({
|
|
379
|
-
vars,
|
|
380
|
-
provider
|
|
381
|
-
});
|
|
382
|
-
if (typeof result === "string") basePrompt = result;
|
|
383
|
-
else if (typeof result === "object") {
|
|
384
|
-
if ("prompt" in result) {
|
|
385
|
-
basePrompt = typeof result.prompt === "string" ? result.prompt : JSON.stringify(result.prompt);
|
|
386
|
-
if (result.config) prompt.config = {
|
|
387
|
-
...prompt.config || {},
|
|
388
|
-
...result.config
|
|
389
|
-
};
|
|
390
|
-
} else basePrompt = JSON.stringify(result);
|
|
391
|
-
} else throw new Error(`Prompt function must return a string or object, got ${typeof result}`);
|
|
392
|
-
}
|
|
393
|
-
for (const key of Object.keys(vars)) if (typeof vars[key] === "string" && !skipRenderVars?.includes(key)) vars[key] = vars[key].replace(/\n$/, "");
|
|
394
|
-
const varsResolvedFromSkipped = /* @__PURE__ */ new Set();
|
|
395
|
-
resolveVariables(vars, skipRenderVars, varsResolvedFromSkipped);
|
|
396
|
-
if (prompt.raw.startsWith("portkey://")) {
|
|
397
|
-
const portKeyResult = await getPrompt(prompt.raw.slice(10), vars);
|
|
398
|
-
return JSON.stringify(portKeyResult.messages);
|
|
399
|
-
} else if (prompt.raw.startsWith("langfuse://")) {
|
|
400
|
-
const langfusePrompt = prompt.raw.slice(11);
|
|
401
|
-
let helper;
|
|
402
|
-
let version;
|
|
403
|
-
let label;
|
|
404
|
-
let promptType = "text";
|
|
405
|
-
const labelMatch = langfusePrompt.match(/^(.+)@([^:@]+)(?::(.+))?$/);
|
|
406
|
-
const versionMatch = langfusePrompt.match(/^([^:]+):([^:]+)(?::(.+))?$/);
|
|
407
|
-
if (labelMatch) {
|
|
408
|
-
helper = labelMatch[1];
|
|
409
|
-
label = labelMatch[2];
|
|
410
|
-
if (labelMatch[3]) promptType = labelMatch[3];
|
|
411
|
-
} else if (versionMatch) {
|
|
412
|
-
helper = versionMatch[1];
|
|
413
|
-
const versionOrLabel = versionMatch[2];
|
|
414
|
-
if (/^\d+$/.test(versionOrLabel)) version = versionOrLabel;
|
|
415
|
-
else {
|
|
416
|
-
label = versionOrLabel;
|
|
417
|
-
if (label === "latest") version = void 0;
|
|
418
|
-
}
|
|
419
|
-
if (versionMatch[3]) promptType = versionMatch[3];
|
|
420
|
-
} else helper = langfusePrompt;
|
|
421
|
-
if (promptType !== "text" && promptType !== "chat") throw new Error(`Invalid Langfuse prompt type: ${promptType}. Must be 'text' or 'chat'.`);
|
|
422
|
-
return await getPrompt$1(helper, vars, promptType, version === void 0 || version === "latest" ? void 0 : Number(version), label);
|
|
423
|
-
} else if (prompt.raw.startsWith("helicone://")) {
|
|
424
|
-
const [id, version] = prompt.raw.slice(11).split(":");
|
|
425
|
-
const [majorVersion, minorVersion] = version ? version.split(".") : [void 0, void 0];
|
|
426
|
-
return await getPrompt$2(id, vars, majorVersion === void 0 ? void 0 : Number(majorVersion), minorVersion === void 0 ? void 0 : Number(minorVersion));
|
|
427
|
-
}
|
|
428
|
-
try {
|
|
429
|
-
if (require_logger.getEnvBool("PROMPTFOO_DISABLE_JSON_AUTOESCAPE")) {
|
|
430
|
-
basePrompt = autoWrapRawIfPartialNunjucks(basePrompt);
|
|
431
|
-
return nunjucks.renderString(basePrompt, vars);
|
|
432
|
-
}
|
|
433
|
-
const parsed = JSON.parse(basePrompt);
|
|
434
|
-
return JSON.stringify(require_render.renderVarsInObject(parsed, vars), null, 2);
|
|
435
|
-
} catch {
|
|
436
|
-
const renderedVars = Object.fromEntries(Object.entries(vars).map(([key, value]) => {
|
|
437
|
-
if (typeof value !== "string" || skipRenderVars?.includes(key) || varsResolvedFromSkipped.has(key)) return [key, value];
|
|
438
|
-
if (referencesUndefinedVariables(value, vars)) return [key, value];
|
|
439
|
-
return [key, nunjucks.renderString(autoWrapRawIfPartialNunjucks(value), vars)];
|
|
440
|
-
}));
|
|
441
|
-
basePrompt = autoWrapRawIfPartialNunjucks(basePrompt);
|
|
442
|
-
return nunjucks.renderString(basePrompt, renderedVars);
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
/**
|
|
446
|
-
* Runs extension hooks for the given hook name and context. The hook will be called with the context object,
|
|
447
|
-
* and can update the context object to persist data into provider calls.
|
|
448
|
-
* @param extensions - An array of extension paths, or null.
|
|
449
|
-
* @param hookName - The name of the hook to run.
|
|
450
|
-
* @param context - The context object to pass to the hook. T depends on the type of the hook.
|
|
451
|
-
* @returns A Promise that resolves with one of the following:
|
|
452
|
-
* - The original context object, if no extensions are provided OR if the returned context is not valid.
|
|
453
|
-
* - The updated context object, if the extension hook returns a valid context object. The updated context,
|
|
454
|
-
* if defined, must conform to the type T; otherwise, a validation error is thrown.
|
|
455
|
-
*/
|
|
456
|
-
/**
|
|
457
|
-
* Valid hook names that can be used to filter which hooks an extension runs for.
|
|
458
|
-
* If an extension specifies one of these as its function name (e.g., file://path:beforeAll),
|
|
459
|
-
* it will only run for that specific hook and use the NEW calling convention: (context, { hookName }).
|
|
460
|
-
* If an extension specifies a custom function name (e.g., file://path:myHandler),
|
|
461
|
-
* it will run for ALL hooks and use the LEGACY calling convention: (hookName, context).
|
|
462
|
-
*/
|
|
463
|
-
const EXTENSION_HOOK_NAMES = /* @__PURE__ */ new Set([
|
|
464
|
-
"beforeAll",
|
|
465
|
-
"beforeEach",
|
|
466
|
-
"afterEach",
|
|
467
|
-
"afterAll"
|
|
468
|
-
]);
|
|
469
|
-
/**
|
|
470
|
-
* Extracts the hook name from an extension path.
|
|
471
|
-
* Format: file://path/to/file.js:hookName or file://path/to/file.py:hook_name
|
|
472
|
-
* @returns The hook name or undefined if not specified
|
|
473
|
-
*/
|
|
474
|
-
function getExtensionHookName(extension) {
|
|
475
|
-
if (!extension.startsWith("file://")) return;
|
|
476
|
-
const lastColonIndex = extension.lastIndexOf(":");
|
|
477
|
-
if (lastColonIndex > 8) return extension.slice(lastColonIndex + 1) || void 0;
|
|
478
|
-
}
|
|
479
|
-
/**
|
|
480
|
-
* Re-attaches the non-serializable `function` callable to prompts returned from a
|
|
481
|
-
* `beforeAll` extension hook.
|
|
482
|
-
*
|
|
483
|
-
* Python extension hooks run in a subprocess, so the context is serialized with
|
|
484
|
-
* `JSON.stringify` on the way in and parsed on the way out. (JavaScript hooks run
|
|
485
|
-
* in-process and keep live references, so they are unaffected unless they clone the
|
|
486
|
-
* suite themselves.) JSON cannot represent the `function` property that
|
|
487
|
-
* `file://...:fn` prompts carry, so it is dropped on the round-trip. Without
|
|
488
|
-
* restoring it, the evaluator falls back to sending the prompt's raw source as text
|
|
489
|
-
* instead of executing the function
|
|
490
|
-
* (https://github.com/promptfoo/promptfoo/issues/9653).
|
|
491
|
-
*
|
|
492
|
-
* A returned prompt is matched to an original by `label` (the stable identifier for
|
|
493
|
-
* file-based prompts) and the function is only restored when the original carried one
|
|
494
|
-
* and the `raw` source is unchanged — so a hook that intentionally rewrites a prompt
|
|
495
|
-
* keeps its new behavior. Labels shared by more than one function-carrying original
|
|
496
|
-
* are treated as ambiguous and skipped to avoid restoring the wrong function.
|
|
497
|
-
*/
|
|
498
|
-
function restorePromptFunctions(returnedPrompts, originalPrompts) {
|
|
499
|
-
if (!Array.isArray(returnedPrompts) || !Array.isArray(originalPrompts)) return returnedPrompts;
|
|
500
|
-
const originalsByLabel = /* @__PURE__ */ new Map();
|
|
501
|
-
for (const original of originalPrompts) {
|
|
502
|
-
if (!original || typeof original.function !== "function" || original.label == null) continue;
|
|
503
|
-
originalsByLabel.set(original.label, originalsByLabel.has(original.label) ? null : original);
|
|
504
|
-
}
|
|
505
|
-
if (originalsByLabel.size === 0) return returnedPrompts;
|
|
506
|
-
const restored = returnedPrompts.map((returned) => {
|
|
507
|
-
if (!returned || typeof returned.function === "function" || returned.label == null) return returned;
|
|
508
|
-
const original = originalsByLabel.get(returned.label);
|
|
509
|
-
if (original && original.raw === returned.raw) return {
|
|
510
|
-
...returned,
|
|
511
|
-
function: original.function
|
|
512
|
-
};
|
|
513
|
-
return returned;
|
|
514
|
-
});
|
|
515
|
-
const labelsWithFunction = /* @__PURE__ */ new Set();
|
|
516
|
-
const returnedLabels = /* @__PURE__ */ new Set();
|
|
517
|
-
for (const prompt of restored) if (prompt?.label != null) {
|
|
518
|
-
returnedLabels.add(prompt.label);
|
|
519
|
-
if (typeof prompt.function === "function") labelsWithFunction.add(prompt.label);
|
|
520
|
-
}
|
|
521
|
-
for (const [label, original] of originalsByLabel) {
|
|
522
|
-
if (labelsWithFunction.has(label)) continue;
|
|
523
|
-
if (original === null) {
|
|
524
|
-
if (returnedLabels.has(label)) require_logger.logger.warn(`beforeAll extension hook: multiple prompts share the label "${label}", so their prompt functions cannot be safely restored after the hook's serialized round-trip. These prompts will render their raw source as text. Give each prompt a unique label to fix this.`);
|
|
525
|
-
} else if (returnedLabels.has(label)) require_logger.logger.debug(`beforeAll extension hook rewrote prompt "${label}"; its original prompt function was not re-attached.`);
|
|
526
|
-
else if (restored.some((prompt) => prompt && typeof prompt.function !== "function" && prompt.raw === original.raw)) require_logger.logger.warn(`beforeAll extension hook: prompt "${label}" carried a prompt function, but the hook returned its content under a different label. The function cannot be restored, so the prompt will render its raw source as text. Keep prompt labels unchanged to preserve prompt functions.`);
|
|
527
|
-
else require_logger.logger.debug(`beforeAll extension hook removed prompt "${label}"; its prompt function no longer applies.`);
|
|
528
|
-
}
|
|
529
|
-
return restored;
|
|
530
|
-
}
|
|
531
|
-
async function runExtensionHook(extensions, hookName, context) {
|
|
532
|
-
if (!extensions || !Array.isArray(extensions) || extensions.length === 0) return context;
|
|
533
|
-
require_telemetry.telemetry.record("feature_used", { feature: "extension_hook" });
|
|
534
|
-
require_logger.logger.debug(`Running ${hookName} hook with ${extensions.length} extension(s)`);
|
|
535
|
-
let updatedContext = { ...context };
|
|
536
|
-
for (const extension of extensions) {
|
|
537
|
-
require_invariant.invariant(typeof extension === "string", "extension must be a string");
|
|
538
|
-
const extensionHookName = getExtensionHookName(extension);
|
|
539
|
-
if (extensionHookName && EXTENSION_HOOK_NAMES.has(extensionHookName) && extensionHookName !== hookName) {
|
|
540
|
-
require_logger.logger.debug(`Skipping extension ${extension} for hook ${hookName} (extension targets ${extensionHookName} only)`);
|
|
541
|
-
continue;
|
|
542
|
-
}
|
|
543
|
-
const useNewCallingConvention = extensionHookName && EXTENSION_HOOK_NAMES.has(extensionHookName);
|
|
544
|
-
require_logger.logger.debug(`Running extension ${extension} for hook ${hookName} (${useNewCallingConvention ? "new" : "legacy"} convention)`);
|
|
545
|
-
let extensionReturnValue;
|
|
546
|
-
try {
|
|
547
|
-
if (useNewCallingConvention) extensionReturnValue = await require_transform.transform(extension, updatedContext, { hookName }, false);
|
|
548
|
-
else extensionReturnValue = await require_transform.transform(extension, hookName, updatedContext, false);
|
|
549
|
-
} catch (error) {
|
|
550
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
551
|
-
const wrappedError = /* @__PURE__ */ new Error(`Extension hook "${hookName}" failed for ${extension}: ${errorMessage}`);
|
|
552
|
-
wrappedError.cause = error;
|
|
553
|
-
throw wrappedError;
|
|
554
|
-
}
|
|
555
|
-
if (extensionReturnValue) switch (hookName) {
|
|
556
|
-
case "beforeAll":
|
|
557
|
-
updatedContext = { suite: {
|
|
558
|
-
...updatedContext.suite,
|
|
559
|
-
prompts: restorePromptFunctions(extensionReturnValue.suite.prompts, updatedContext.suite.prompts),
|
|
560
|
-
providerPromptMap: extensionReturnValue.suite.providerPromptMap,
|
|
561
|
-
tests: extensionReturnValue.suite.tests,
|
|
562
|
-
scenarios: extensionReturnValue.suite.scenarios,
|
|
563
|
-
defaultTest: extensionReturnValue.suite.defaultTest,
|
|
564
|
-
nunjucksFilters: extensionReturnValue.suite.nunjucksFilters,
|
|
565
|
-
derivedMetrics: extensionReturnValue.suite.derivedMetrics,
|
|
566
|
-
redteam: extensionReturnValue.suite.redteam
|
|
567
|
-
} };
|
|
568
|
-
break;
|
|
569
|
-
case "beforeEach":
|
|
570
|
-
updatedContext = { test: extensionReturnValue.test };
|
|
571
|
-
break;
|
|
572
|
-
case "afterEach": if (extensionReturnValue.result) {
|
|
573
|
-
const currentResult = updatedContext.result;
|
|
574
|
-
const mergedResponse = currentResult.response && extensionReturnValue.result.response?.metadata ? {
|
|
575
|
-
...currentResult.response,
|
|
576
|
-
metadata: {
|
|
577
|
-
...currentResult.response.metadata,
|
|
578
|
-
...extensionReturnValue.result.response.metadata
|
|
579
|
-
}
|
|
580
|
-
} : currentResult.response;
|
|
581
|
-
const validScores = require_util.filterFiniteScores(extensionReturnValue.result.namedScores || {});
|
|
582
|
-
updatedContext = {
|
|
583
|
-
test: updatedContext.test,
|
|
584
|
-
result: {
|
|
585
|
-
...currentResult,
|
|
586
|
-
namedScores: {
|
|
587
|
-
...currentResult.namedScores,
|
|
588
|
-
...validScores
|
|
589
|
-
},
|
|
590
|
-
metadata: {
|
|
591
|
-
...currentResult.metadata,
|
|
592
|
-
...extensionReturnValue.result.metadata || {}
|
|
593
|
-
},
|
|
594
|
-
response: mergedResponse
|
|
595
|
-
}
|
|
596
|
-
};
|
|
597
|
-
}
|
|
598
|
-
}
|
|
599
|
-
}
|
|
600
|
-
return updatedContext;
|
|
601
|
-
}
|
|
602
|
-
//#endregion
|
|
603
|
-
Object.defineProperty(exports, "collectFileMetadata", {
|
|
604
|
-
enumerable: true,
|
|
605
|
-
get: function() {
|
|
606
|
-
return collectFileMetadata;
|
|
607
|
-
}
|
|
608
|
-
});
|
|
609
|
-
Object.defineProperty(exports, "renderPrompt", {
|
|
610
|
-
enumerable: true,
|
|
611
|
-
get: function() {
|
|
612
|
-
return renderPrompt;
|
|
613
|
-
}
|
|
614
|
-
});
|
|
615
|
-
Object.defineProperty(exports, "runExtensionHook", {
|
|
616
|
-
enumerable: true,
|
|
617
|
-
get: function() {
|
|
618
|
-
return runExtensionHook;
|
|
619
|
-
}
|
|
620
|
-
});
|
|
621
|
-
|
|
622
|
-
//# sourceMappingURL=evaluatorHelpers-DcdCglCs.cjs.map
|