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,248 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { H as safeJsonStringify, c as logger, o as isDebugEnabled } from "./logger-pCNnmVuz.js";
|
|
3
|
-
import { t as invariant } from "./invariant-CbHB1xyx.js";
|
|
4
|
-
import { n as sleep } from "./time-Ct6CnABs.js";
|
|
5
|
-
import { i as maybeLoadConfigFromExternalFile } from "./file-DnhgJopr.js";
|
|
6
|
-
import { o as getNunjucksEngine } from "./render-DdqOpT1Z.js";
|
|
7
|
-
import { d as createEmptyTokenUsage, s as accumulateResponseTokenUsage } from "./tokenUsageUtils-CHs91tUW.js";
|
|
8
|
-
import { o as getSessionId } from "./util-f14-CPij.js";
|
|
9
|
-
import { r as PromptfooSimulatedUserProvider } from "./promptfoo-Cq5AVI3I.js";
|
|
10
|
-
//#region src/providers/simulatedUser.ts
|
|
11
|
-
function providerOutputToString(output) {
|
|
12
|
-
if (output == null) return "";
|
|
13
|
-
if (typeof output === "string") return output;
|
|
14
|
-
return safeJsonStringify(output) ?? String(output);
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* TODO(Will): Ideally this class is an Abstract Base Class that's implemented by the
|
|
18
|
-
* Redteam and Non-Redteam SimulatedUser Providers. Address this in a follow-up PR.
|
|
19
|
-
*/
|
|
20
|
-
var SimulatedUser = class {
|
|
21
|
-
identifier;
|
|
22
|
-
maxTurns;
|
|
23
|
-
rawInstructions;
|
|
24
|
-
redteamGenerationContext;
|
|
25
|
-
stateful;
|
|
26
|
-
configInitialMessages;
|
|
27
|
-
/**
|
|
28
|
-
* Because the SimulatedUser is inherited by the RedteamMischievousUserProvider, and different
|
|
29
|
-
* Cloud tasks are used for each, the taskId needs to be explicitly defined/scoped.
|
|
30
|
-
*/
|
|
31
|
-
taskId = "tau";
|
|
32
|
-
constructor({ id, label, config }) {
|
|
33
|
-
this.identifier = id ?? label ?? "agent-provider";
|
|
34
|
-
this.maxTurns = config.maxTurns ?? 10;
|
|
35
|
-
this.rawInstructions = config.instructions || "{{instructions}}";
|
|
36
|
-
this.redteamGenerationContext = config.redteamGenerationContext ?? (config.targetId ? {
|
|
37
|
-
providerTargetIds: [],
|
|
38
|
-
cloudTargetId: config.targetId
|
|
39
|
-
} : void 0);
|
|
40
|
-
this.stateful = config.stateful ?? false;
|
|
41
|
-
this.configInitialMessages = config.initialMessages;
|
|
42
|
-
}
|
|
43
|
-
id() {
|
|
44
|
-
return this.identifier;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Validates that a message has the required structure.
|
|
48
|
-
*/
|
|
49
|
-
isValidMessage(msg) {
|
|
50
|
-
return msg && typeof msg === "object" && typeof msg.content === "string" && (msg.role === "user" || msg.role === "assistant" || msg.role === "system");
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Safely renders a Nunjucks template string, falling back to the original value on error.
|
|
54
|
-
*/
|
|
55
|
-
renderTemplate(template, vars) {
|
|
56
|
-
if (typeof template !== "string") return template;
|
|
57
|
-
try {
|
|
58
|
-
return getNunjucksEngine().renderString(template, vars || {});
|
|
59
|
-
} catch (err) {
|
|
60
|
-
logger.warn(`[SimulatedUser] Failed to render template: ${template.substring(0, 100)}. Error: ${err instanceof Error ? err.message : err}`);
|
|
61
|
-
return template;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Validates and filters an array of messages, logging warnings for invalid entries.
|
|
66
|
-
*/
|
|
67
|
-
validateMessages(messages) {
|
|
68
|
-
const validMessages = [];
|
|
69
|
-
for (let i = 0; i < messages.length; i++) if (this.isValidMessage(messages[i])) validMessages.push(messages[i]);
|
|
70
|
-
else logger.warn(`[SimulatedUser] Invalid message at index ${i}, skipping. Expected {role: 'user'|'assistant'|'system', content: string}, got: ${JSON.stringify(messages[i]).substring(0, 100)}`);
|
|
71
|
-
return validMessages;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Resolves initial messages from either an array or a file:// path.
|
|
75
|
-
* Supports loading messages from JSON and YAML files.
|
|
76
|
-
*/
|
|
77
|
-
resolveInitialMessages(initialMessages) {
|
|
78
|
-
if (!initialMessages) return [];
|
|
79
|
-
if (Array.isArray(initialMessages)) return initialMessages;
|
|
80
|
-
if (typeof initialMessages === "string") {
|
|
81
|
-
if (initialMessages.trim() === "") return [];
|
|
82
|
-
if (initialMessages.startsWith("file://")) {
|
|
83
|
-
try {
|
|
84
|
-
const resolved = maybeLoadConfigFromExternalFile(initialMessages);
|
|
85
|
-
if (Array.isArray(resolved)) return resolved;
|
|
86
|
-
logger.warn(`[SimulatedUser] Expected array of messages from file, got: ${typeof resolved}. Value: ${JSON.stringify(resolved).substring(0, 200)}`);
|
|
87
|
-
} catch (error) {
|
|
88
|
-
logger.warn(`[SimulatedUser] Failed to load initialMessages from file: ${error instanceof Error ? error.message : error}`);
|
|
89
|
-
}
|
|
90
|
-
return [];
|
|
91
|
-
}
|
|
92
|
-
if (initialMessages.trim().startsWith("[")) try {
|
|
93
|
-
const parsed = JSON.parse(initialMessages);
|
|
94
|
-
if (Array.isArray(parsed)) return parsed;
|
|
95
|
-
logger.warn(`[SimulatedUser] Parsed JSON but got ${typeof parsed} instead of array. Value: ${initialMessages.substring(0, 200)}`);
|
|
96
|
-
} catch (error) {
|
|
97
|
-
logger.warn(`[SimulatedUser] Failed to parse initialMessages as JSON: ${error}. Value: ${initialMessages.substring(0, 200)}`);
|
|
98
|
-
}
|
|
99
|
-
logger.warn(`[SimulatedUser] initialMessages is a string but could not be resolved: ${initialMessages.substring(0, 200)}`);
|
|
100
|
-
return [];
|
|
101
|
-
}
|
|
102
|
-
return [];
|
|
103
|
-
}
|
|
104
|
-
async sendMessageToUser(messages, userProvider) {
|
|
105
|
-
logger.debug("[SimulatedUser] Sending message to simulated user provider");
|
|
106
|
-
const flippedMessages = messages.map((message) => {
|
|
107
|
-
return {
|
|
108
|
-
role: message.role === "user" ? "assistant" : "user",
|
|
109
|
-
content: message.content
|
|
110
|
-
};
|
|
111
|
-
});
|
|
112
|
-
const response = await userProvider.callApi(JSON.stringify(flippedMessages));
|
|
113
|
-
if (response.error) return {
|
|
114
|
-
messages,
|
|
115
|
-
response
|
|
116
|
-
};
|
|
117
|
-
const content = providerOutputToString(response.output);
|
|
118
|
-
logger.debug(`User: ${content}`);
|
|
119
|
-
return {
|
|
120
|
-
messages: [...messages, {
|
|
121
|
-
role: "user",
|
|
122
|
-
content
|
|
123
|
-
}],
|
|
124
|
-
response
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Accumulate usage for the model that simulates the user. Red-team subclasses can
|
|
129
|
-
* override this hook to keep attack generation separate from target usage.
|
|
130
|
-
*/
|
|
131
|
-
accumulateSimulatedUserTokenUsage(tokenUsage, response) {
|
|
132
|
-
accumulateResponseTokenUsage(tokenUsage, response);
|
|
133
|
-
}
|
|
134
|
-
/** Preserve logical target usage while separately recording cache-missed requests. */
|
|
135
|
-
accumulateTargetTokenUsage(tokenUsage, response) {
|
|
136
|
-
accumulateResponseTokenUsage(tokenUsage, response);
|
|
137
|
-
}
|
|
138
|
-
async sendMessageToAgent(prompt, messages, targetProvider, context) {
|
|
139
|
-
invariant(context?.prompt?.raw, "Expected context.prompt.raw to be set");
|
|
140
|
-
const renderedPrompt = context.prompt.function ? prompt : getNunjucksEngine().renderString(context.prompt.raw, context.vars);
|
|
141
|
-
const targetPrompt = this.stateful ? context.vars?.sessionId ? JSON.stringify([{
|
|
142
|
-
role: "user",
|
|
143
|
-
content: messages[messages.length - 1].content
|
|
144
|
-
}]) : JSON.stringify([{
|
|
145
|
-
role: "system",
|
|
146
|
-
content: renderedPrompt
|
|
147
|
-
}, {
|
|
148
|
-
role: "user",
|
|
149
|
-
content: messages[messages.length - 1].content
|
|
150
|
-
}]) : JSON.stringify([{
|
|
151
|
-
role: "system",
|
|
152
|
-
content: renderedPrompt
|
|
153
|
-
}, ...messages]);
|
|
154
|
-
logger.debug(`[SimulatedUser] Sending message to target provider: ${targetPrompt}`);
|
|
155
|
-
const response = await targetProvider.callApi(targetPrompt, context);
|
|
156
|
-
if (response.sessionId) {
|
|
157
|
-
context = context ?? {
|
|
158
|
-
vars: {},
|
|
159
|
-
prompt: {
|
|
160
|
-
raw: "",
|
|
161
|
-
label: "target"
|
|
162
|
-
}
|
|
163
|
-
};
|
|
164
|
-
context.vars.sessionId = response.sessionId;
|
|
165
|
-
}
|
|
166
|
-
if (targetProvider.delay) {
|
|
167
|
-
logger.debug(`[SimulatedUser] Sleeping for ${targetProvider.delay}ms`);
|
|
168
|
-
await sleep(targetProvider.delay);
|
|
169
|
-
}
|
|
170
|
-
if (isDebugEnabled()) logger.debug(`[SimulatedUser] Agent: ${providerOutputToString(response.output)}`);
|
|
171
|
-
return response;
|
|
172
|
-
}
|
|
173
|
-
async callApi(prompt, context, _callApiOptions) {
|
|
174
|
-
invariant(context?.originalProvider, "Expected originalProvider to be set");
|
|
175
|
-
const targetProvider = context.originalProvider;
|
|
176
|
-
const instructions = getNunjucksEngine().renderString(this.rawInstructions, context?.vars);
|
|
177
|
-
const userProvider = new PromptfooSimulatedUserProvider({
|
|
178
|
-
instructions,
|
|
179
|
-
redteamGenerationContext: this.redteamGenerationContext
|
|
180
|
-
}, this.taskId);
|
|
181
|
-
logger.debug(`[SimulatedUser] Formatted user instructions: ${instructions}`);
|
|
182
|
-
const varsInitialMessages = context?.vars?.initialMessages;
|
|
183
|
-
const templatedMessages = this.resolveInitialMessages(varsInitialMessages || this.configInitialMessages).map((msg) => ({
|
|
184
|
-
role: this.renderTemplate(msg.role, context?.vars),
|
|
185
|
-
content: this.renderTemplate(msg.content, context?.vars)
|
|
186
|
-
}));
|
|
187
|
-
const messages = this.validateMessages(templatedMessages);
|
|
188
|
-
if (messages.length > 0) logger.debug(`[SimulatedUser] Starting with ${messages.length} initial messages`);
|
|
189
|
-
const maxTurns = this.maxTurns;
|
|
190
|
-
const tokenUsage = createEmptyTokenUsage();
|
|
191
|
-
let agentResponse;
|
|
192
|
-
if ((messages.length > 0 ? messages[messages.length - 1].role : null) === "user") {
|
|
193
|
-
logger.debug("[SimulatedUser] Initial messages end with user message, getting agent response first");
|
|
194
|
-
agentResponse = await this.sendMessageToAgent(prompt, messages, targetProvider, context);
|
|
195
|
-
this.accumulateTargetTokenUsage(tokenUsage, agentResponse);
|
|
196
|
-
if (agentResponse.error) return {
|
|
197
|
-
error: agentResponse.error,
|
|
198
|
-
tokenUsage
|
|
199
|
-
};
|
|
200
|
-
messages.push({
|
|
201
|
-
role: "assistant",
|
|
202
|
-
content: providerOutputToString(agentResponse.output)
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
for (let i = 0; i < maxTurns; i++) {
|
|
206
|
-
logger.debug(`[SimulatedUser] Turn ${i + 1} of ${maxTurns}`);
|
|
207
|
-
const userResult = await this.sendMessageToUser(messages, userProvider);
|
|
208
|
-
this.accumulateSimulatedUserTokenUsage(tokenUsage, userResult.response);
|
|
209
|
-
if (userResult.response.error) return {
|
|
210
|
-
error: userResult.response.error,
|
|
211
|
-
tokenUsage
|
|
212
|
-
};
|
|
213
|
-
const { messages: messagesToUser } = userResult;
|
|
214
|
-
const lastMessage = messagesToUser[messagesToUser.length - 1];
|
|
215
|
-
if (lastMessage.content && typeof lastMessage.content === "string" && lastMessage.content.includes("###STOP###")) break;
|
|
216
|
-
messages.push(lastMessage);
|
|
217
|
-
agentResponse = await this.sendMessageToAgent(prompt, messagesToUser, targetProvider, context);
|
|
218
|
-
this.accumulateTargetTokenUsage(tokenUsage, agentResponse);
|
|
219
|
-
if (agentResponse.error) return {
|
|
220
|
-
error: agentResponse.error,
|
|
221
|
-
tokenUsage
|
|
222
|
-
};
|
|
223
|
-
messages.push({
|
|
224
|
-
role: "assistant",
|
|
225
|
-
content: providerOutputToString(agentResponse.output)
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
return this.serializeOutput(messages, tokenUsage, agentResponse, getSessionId(agentResponse, context));
|
|
229
|
-
}
|
|
230
|
-
toString() {
|
|
231
|
-
return "AgentProvider";
|
|
232
|
-
}
|
|
233
|
-
serializeOutput(messages, tokenUsage, finalTargetResponse, sessionId) {
|
|
234
|
-
return {
|
|
235
|
-
output: messages.map((message) => `${message.role === "assistant" ? "Assistant" : "User"}: ${message.content}`).join("\n---\n"),
|
|
236
|
-
tokenUsage,
|
|
237
|
-
metadata: {
|
|
238
|
-
messages,
|
|
239
|
-
sessionId
|
|
240
|
-
},
|
|
241
|
-
guardrails: finalTargetResponse?.guardrails
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
};
|
|
245
|
-
//#endregion
|
|
246
|
-
export { SimulatedUser as t };
|
|
247
|
-
|
|
248
|
-
//# sourceMappingURL=simulatedUser-D1Kh_cwA.js.map
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { Z as getProviderEnvString, o as logger, q as getEnvString } from "./logger-CNHLbG5Y.js";
|
|
2
|
-
import { t as fetchWithProviderProxy } from "./fetch-C08w4vVl.js";
|
|
3
|
-
import { WebAPIPlatformError, WebAPIRateLimitedError, WebClient } from "@slack/web-api";
|
|
4
|
-
//#region src/providers/slack.ts
|
|
5
|
-
var SlackProvider = class {
|
|
6
|
-
client;
|
|
7
|
-
options;
|
|
8
|
-
constructor(options = {}) {
|
|
9
|
-
this.options = options;
|
|
10
|
-
const token = options.config?.token || (getProviderEnvString(options.env, "SLACK_BOT_TOKEN") ?? getEnvString("SLACK_BOT_TOKEN"));
|
|
11
|
-
if (!token) throw new Error("Slack provider requires a token. Set SLACK_BOT_TOKEN or provide it in config.");
|
|
12
|
-
if (!options.config?.channel) throw new Error("Slack provider requires a channel ID");
|
|
13
|
-
this.client = new WebClient(token, { fetch: (url, options) => {
|
|
14
|
-
const headers = new Headers(options?.headers);
|
|
15
|
-
headers.set("x-promptfoo-silent", "true");
|
|
16
|
-
return fetchWithProviderProxy(url.toString(), {
|
|
17
|
-
...options,
|
|
18
|
-
headers
|
|
19
|
-
});
|
|
20
|
-
} });
|
|
21
|
-
}
|
|
22
|
-
id() {
|
|
23
|
-
return this.options.id || "slack";
|
|
24
|
-
}
|
|
25
|
-
async callApi(prompt, _context, _options) {
|
|
26
|
-
const config = this.options.config;
|
|
27
|
-
const channel = config.channel;
|
|
28
|
-
const timeout = config.timeout || 6e4;
|
|
29
|
-
const responseStrategy = config.responseStrategy || "first";
|
|
30
|
-
let responseChannel = channel;
|
|
31
|
-
try {
|
|
32
|
-
const messageText = config.formatMessage ? config.formatMessage(prompt) : prompt;
|
|
33
|
-
const startTime = Date.now();
|
|
34
|
-
const postResult = await this.client.chat.postMessage({
|
|
35
|
-
channel,
|
|
36
|
-
text: messageText,
|
|
37
|
-
thread_ts: config.threadTs,
|
|
38
|
-
mrkdwn: true
|
|
39
|
-
});
|
|
40
|
-
if (!postResult.ok || !postResult.ts) throw new Error("Failed to post message to Slack");
|
|
41
|
-
const messageTs = postResult.ts;
|
|
42
|
-
responseChannel = postResult.channel || channel;
|
|
43
|
-
let responseText;
|
|
44
|
-
const responseMetadata = {
|
|
45
|
-
messageTs,
|
|
46
|
-
channel: responseChannel
|
|
47
|
-
};
|
|
48
|
-
switch (responseStrategy) {
|
|
49
|
-
case "timeout":
|
|
50
|
-
responseText = await this.collectResponsesUntilTimeout(responseChannel, messageTs, timeout);
|
|
51
|
-
break;
|
|
52
|
-
case "user":
|
|
53
|
-
if (!config.waitForUser) throw new Error("waitForUser must be specified when using \"user\" response strategy");
|
|
54
|
-
responseText = await this.waitForUserResponse(responseChannel, messageTs, config.waitForUser, timeout);
|
|
55
|
-
responseMetadata.waitForUser = config.waitForUser;
|
|
56
|
-
break;
|
|
57
|
-
default: responseText = await this.waitForFirstResponse(responseChannel, messageTs, timeout);
|
|
58
|
-
}
|
|
59
|
-
if (config.includeThread) responseMetadata.threadTs = messageTs;
|
|
60
|
-
responseMetadata.responseTime = Date.now() - startTime;
|
|
61
|
-
return {
|
|
62
|
-
output: responseText,
|
|
63
|
-
metadata: responseMetadata
|
|
64
|
-
};
|
|
65
|
-
} catch (error) {
|
|
66
|
-
logger.error(`Slack provider error: ${error}`);
|
|
67
|
-
if (error instanceof WebAPIRateLimitedError) return { error: "Slack API rate limit exceeded. Please try again later." };
|
|
68
|
-
if (error instanceof WebAPIPlatformError) {
|
|
69
|
-
const slackError = error.data.error;
|
|
70
|
-
switch (slackError) {
|
|
71
|
-
case "channel_not_found": return { error: `Channel ${responseChannel} not found. Please check the channel ID.` };
|
|
72
|
-
case "not_in_channel": return { error: `Bot is not in channel ${responseChannel}. Please invite the bot first.` };
|
|
73
|
-
case "missing_scope": return { error: "Bot token is missing required scopes. Please check permissions." };
|
|
74
|
-
case "ratelimited": return { error: "Slack API rate limit exceeded. Please try again later." };
|
|
75
|
-
default: return { error: `Slack API error: ${slackError}` };
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return { error: error instanceof Error ? error.message : "Unknown error" };
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
async waitForFirstResponse(channel, afterTs, timeout) {
|
|
82
|
-
const startTime = Date.now();
|
|
83
|
-
while (Date.now() - startTime < timeout) try {
|
|
84
|
-
const result = await this.client.conversations.history({
|
|
85
|
-
channel,
|
|
86
|
-
oldest: afterTs,
|
|
87
|
-
limit: 10
|
|
88
|
-
});
|
|
89
|
-
if (result.messages && result.messages.length > 0) {
|
|
90
|
-
const response = result.messages.filter((msg) => msg.ts !== afterTs && msg.type === "message" && !msg.bot_id).sort((a, b) => parseFloat(a.ts || "0") - parseFloat(b.ts || "0"))[0];
|
|
91
|
-
if (response && response.text) return response.text;
|
|
92
|
-
}
|
|
93
|
-
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
94
|
-
} catch (error) {
|
|
95
|
-
logger.error(`Error fetching Slack messages: ${error}`);
|
|
96
|
-
throw error;
|
|
97
|
-
}
|
|
98
|
-
throw new Error(`Timeout waiting for Slack response after ${timeout}ms`);
|
|
99
|
-
}
|
|
100
|
-
async waitForUserResponse(channel, afterTs, userId, timeout) {
|
|
101
|
-
const startTime = Date.now();
|
|
102
|
-
while (Date.now() - startTime < timeout) try {
|
|
103
|
-
const result = await this.client.conversations.history({
|
|
104
|
-
channel,
|
|
105
|
-
oldest: afterTs,
|
|
106
|
-
limit: 20
|
|
107
|
-
});
|
|
108
|
-
if (result.messages && result.messages.length > 0) {
|
|
109
|
-
const response = result.messages.filter((msg) => msg.ts !== afterTs && msg.type === "message" && msg.user === userId).sort((a, b) => parseFloat(a.ts || "0") - parseFloat(b.ts || "0"))[0];
|
|
110
|
-
if (response && response.text) return response.text;
|
|
111
|
-
}
|
|
112
|
-
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
113
|
-
} catch (error) {
|
|
114
|
-
logger.error(`Error fetching Slack messages: ${error}`);
|
|
115
|
-
throw error;
|
|
116
|
-
}
|
|
117
|
-
throw new Error(`Timeout waiting for response from user ${userId} after ${timeout}ms`);
|
|
118
|
-
}
|
|
119
|
-
async collectResponsesUntilTimeout(channel, afterTs, timeout) {
|
|
120
|
-
const startTime = Date.now();
|
|
121
|
-
const responses = [];
|
|
122
|
-
const seenTimestamps = /* @__PURE__ */ new Set([afterTs]);
|
|
123
|
-
while (Date.now() - startTime < timeout) try {
|
|
124
|
-
const result = await this.client.conversations.history({
|
|
125
|
-
channel,
|
|
126
|
-
oldest: afterTs,
|
|
127
|
-
limit: 50
|
|
128
|
-
});
|
|
129
|
-
if (result.messages && result.messages.length > 0) result.messages.filter((msg) => !seenTimestamps.has(msg.ts || "") && msg.type === "message" && !msg.bot_id).sort((a, b) => parseFloat(a.ts || "0") - parseFloat(b.ts || "0")).forEach((msg) => {
|
|
130
|
-
if (msg.ts) seenTimestamps.add(msg.ts);
|
|
131
|
-
if (msg.text) responses.push(msg.text);
|
|
132
|
-
});
|
|
133
|
-
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
134
|
-
} catch (error) {
|
|
135
|
-
logger.error(`Error fetching Slack messages: ${error}`);
|
|
136
|
-
throw error;
|
|
137
|
-
}
|
|
138
|
-
return responses.join("\n\n");
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
//#endregion
|
|
142
|
-
export { SlackProvider };
|
|
143
|
-
|
|
144
|
-
//# sourceMappingURL=slack-BX0FUevO.js.map
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
const require_logger = require("./logger-DXUHJBHJ.cjs");
|
|
2
|
-
const require_fetch = require("./fetch-DBxy8Tlb.cjs");
|
|
3
|
-
let _slack_web_api = require("@slack/web-api");
|
|
4
|
-
//#region src/providers/slack.ts
|
|
5
|
-
var SlackProvider = class {
|
|
6
|
-
client;
|
|
7
|
-
options;
|
|
8
|
-
constructor(options = {}) {
|
|
9
|
-
this.options = options;
|
|
10
|
-
const token = options.config?.token || (require_logger.getProviderEnvString(options.env, "SLACK_BOT_TOKEN") ?? require_logger.getEnvString("SLACK_BOT_TOKEN"));
|
|
11
|
-
if (!token) throw new Error("Slack provider requires a token. Set SLACK_BOT_TOKEN or provide it in config.");
|
|
12
|
-
if (!options.config?.channel) throw new Error("Slack provider requires a channel ID");
|
|
13
|
-
this.client = new _slack_web_api.WebClient(token, { fetch: (url, options) => {
|
|
14
|
-
const headers = new Headers(options?.headers);
|
|
15
|
-
headers.set("x-promptfoo-silent", "true");
|
|
16
|
-
return require_fetch.fetchWithProviderProxy(url.toString(), {
|
|
17
|
-
...options,
|
|
18
|
-
headers
|
|
19
|
-
});
|
|
20
|
-
} });
|
|
21
|
-
}
|
|
22
|
-
id() {
|
|
23
|
-
return this.options.id || "slack";
|
|
24
|
-
}
|
|
25
|
-
async callApi(prompt, _context, _options) {
|
|
26
|
-
const config = this.options.config;
|
|
27
|
-
const channel = config.channel;
|
|
28
|
-
const timeout = config.timeout || 6e4;
|
|
29
|
-
const responseStrategy = config.responseStrategy || "first";
|
|
30
|
-
let responseChannel = channel;
|
|
31
|
-
try {
|
|
32
|
-
const messageText = config.formatMessage ? config.formatMessage(prompt) : prompt;
|
|
33
|
-
const startTime = Date.now();
|
|
34
|
-
const postResult = await this.client.chat.postMessage({
|
|
35
|
-
channel,
|
|
36
|
-
text: messageText,
|
|
37
|
-
thread_ts: config.threadTs,
|
|
38
|
-
mrkdwn: true
|
|
39
|
-
});
|
|
40
|
-
if (!postResult.ok || !postResult.ts) throw new Error("Failed to post message to Slack");
|
|
41
|
-
const messageTs = postResult.ts;
|
|
42
|
-
responseChannel = postResult.channel || channel;
|
|
43
|
-
let responseText;
|
|
44
|
-
const responseMetadata = {
|
|
45
|
-
messageTs,
|
|
46
|
-
channel: responseChannel
|
|
47
|
-
};
|
|
48
|
-
switch (responseStrategy) {
|
|
49
|
-
case "timeout":
|
|
50
|
-
responseText = await this.collectResponsesUntilTimeout(responseChannel, messageTs, timeout);
|
|
51
|
-
break;
|
|
52
|
-
case "user":
|
|
53
|
-
if (!config.waitForUser) throw new Error("waitForUser must be specified when using \"user\" response strategy");
|
|
54
|
-
responseText = await this.waitForUserResponse(responseChannel, messageTs, config.waitForUser, timeout);
|
|
55
|
-
responseMetadata.waitForUser = config.waitForUser;
|
|
56
|
-
break;
|
|
57
|
-
default: responseText = await this.waitForFirstResponse(responseChannel, messageTs, timeout);
|
|
58
|
-
}
|
|
59
|
-
if (config.includeThread) responseMetadata.threadTs = messageTs;
|
|
60
|
-
responseMetadata.responseTime = Date.now() - startTime;
|
|
61
|
-
return {
|
|
62
|
-
output: responseText,
|
|
63
|
-
metadata: responseMetadata
|
|
64
|
-
};
|
|
65
|
-
} catch (error) {
|
|
66
|
-
require_logger.logger.error(`Slack provider error: ${error}`);
|
|
67
|
-
if (error instanceof _slack_web_api.WebAPIRateLimitedError) return { error: "Slack API rate limit exceeded. Please try again later." };
|
|
68
|
-
if (error instanceof _slack_web_api.WebAPIPlatformError) {
|
|
69
|
-
const slackError = error.data.error;
|
|
70
|
-
switch (slackError) {
|
|
71
|
-
case "channel_not_found": return { error: `Channel ${responseChannel} not found. Please check the channel ID.` };
|
|
72
|
-
case "not_in_channel": return { error: `Bot is not in channel ${responseChannel}. Please invite the bot first.` };
|
|
73
|
-
case "missing_scope": return { error: "Bot token is missing required scopes. Please check permissions." };
|
|
74
|
-
case "ratelimited": return { error: "Slack API rate limit exceeded. Please try again later." };
|
|
75
|
-
default: return { error: `Slack API error: ${slackError}` };
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return { error: error instanceof Error ? error.message : "Unknown error" };
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
async waitForFirstResponse(channel, afterTs, timeout) {
|
|
82
|
-
const startTime = Date.now();
|
|
83
|
-
while (Date.now() - startTime < timeout) try {
|
|
84
|
-
const result = await this.client.conversations.history({
|
|
85
|
-
channel,
|
|
86
|
-
oldest: afterTs,
|
|
87
|
-
limit: 10
|
|
88
|
-
});
|
|
89
|
-
if (result.messages && result.messages.length > 0) {
|
|
90
|
-
const response = result.messages.filter((msg) => msg.ts !== afterTs && msg.type === "message" && !msg.bot_id).sort((a, b) => parseFloat(a.ts || "0") - parseFloat(b.ts || "0"))[0];
|
|
91
|
-
if (response && response.text) return response.text;
|
|
92
|
-
}
|
|
93
|
-
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
94
|
-
} catch (error) {
|
|
95
|
-
require_logger.logger.error(`Error fetching Slack messages: ${error}`);
|
|
96
|
-
throw error;
|
|
97
|
-
}
|
|
98
|
-
throw new Error(`Timeout waiting for Slack response after ${timeout}ms`);
|
|
99
|
-
}
|
|
100
|
-
async waitForUserResponse(channel, afterTs, userId, timeout) {
|
|
101
|
-
const startTime = Date.now();
|
|
102
|
-
while (Date.now() - startTime < timeout) try {
|
|
103
|
-
const result = await this.client.conversations.history({
|
|
104
|
-
channel,
|
|
105
|
-
oldest: afterTs,
|
|
106
|
-
limit: 20
|
|
107
|
-
});
|
|
108
|
-
if (result.messages && result.messages.length > 0) {
|
|
109
|
-
const response = result.messages.filter((msg) => msg.ts !== afterTs && msg.type === "message" && msg.user === userId).sort((a, b) => parseFloat(a.ts || "0") - parseFloat(b.ts || "0"))[0];
|
|
110
|
-
if (response && response.text) return response.text;
|
|
111
|
-
}
|
|
112
|
-
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
113
|
-
} catch (error) {
|
|
114
|
-
require_logger.logger.error(`Error fetching Slack messages: ${error}`);
|
|
115
|
-
throw error;
|
|
116
|
-
}
|
|
117
|
-
throw new Error(`Timeout waiting for response from user ${userId} after ${timeout}ms`);
|
|
118
|
-
}
|
|
119
|
-
async collectResponsesUntilTimeout(channel, afterTs, timeout) {
|
|
120
|
-
const startTime = Date.now();
|
|
121
|
-
const responses = [];
|
|
122
|
-
const seenTimestamps = /* @__PURE__ */ new Set([afterTs]);
|
|
123
|
-
while (Date.now() - startTime < timeout) try {
|
|
124
|
-
const result = await this.client.conversations.history({
|
|
125
|
-
channel,
|
|
126
|
-
oldest: afterTs,
|
|
127
|
-
limit: 50
|
|
128
|
-
});
|
|
129
|
-
if (result.messages && result.messages.length > 0) result.messages.filter((msg) => !seenTimestamps.has(msg.ts || "") && msg.type === "message" && !msg.bot_id).sort((a, b) => parseFloat(a.ts || "0") - parseFloat(b.ts || "0")).forEach((msg) => {
|
|
130
|
-
if (msg.ts) seenTimestamps.add(msg.ts);
|
|
131
|
-
if (msg.text) responses.push(msg.text);
|
|
132
|
-
});
|
|
133
|
-
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
134
|
-
} catch (error) {
|
|
135
|
-
require_logger.logger.error(`Error fetching Slack messages: ${error}`);
|
|
136
|
-
throw error;
|
|
137
|
-
}
|
|
138
|
-
return responses.join("\n\n");
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
//#endregion
|
|
142
|
-
exports.SlackProvider = SlackProvider;
|
|
143
|
-
|
|
144
|
-
//# sourceMappingURL=slack-CcwXFiJE.cjs.map
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { Q as getEnvString, c as logger, nt as getProviderEnvString } from "./logger-pCNnmVuz.js";
|
|
3
|
-
import { t as fetchWithProviderProxy } from "./fetch-ElpfcAVG.js";
|
|
4
|
-
import { WebAPIPlatformError, WebAPIRateLimitedError, WebClient } from "@slack/web-api";
|
|
5
|
-
//#region src/providers/slack.ts
|
|
6
|
-
var SlackProvider = class {
|
|
7
|
-
client;
|
|
8
|
-
options;
|
|
9
|
-
constructor(options = {}) {
|
|
10
|
-
this.options = options;
|
|
11
|
-
const token = options.config?.token || (getProviderEnvString(options.env, "SLACK_BOT_TOKEN") ?? getEnvString("SLACK_BOT_TOKEN"));
|
|
12
|
-
if (!token) throw new Error("Slack provider requires a token. Set SLACK_BOT_TOKEN or provide it in config.");
|
|
13
|
-
if (!options.config?.channel) throw new Error("Slack provider requires a channel ID");
|
|
14
|
-
this.client = new WebClient(token, { fetch: (url, options) => {
|
|
15
|
-
const headers = new Headers(options?.headers);
|
|
16
|
-
headers.set("x-promptfoo-silent", "true");
|
|
17
|
-
return fetchWithProviderProxy(url.toString(), {
|
|
18
|
-
...options,
|
|
19
|
-
headers
|
|
20
|
-
});
|
|
21
|
-
} });
|
|
22
|
-
}
|
|
23
|
-
id() {
|
|
24
|
-
return this.options.id || "slack";
|
|
25
|
-
}
|
|
26
|
-
async callApi(prompt, _context, _options) {
|
|
27
|
-
const config = this.options.config;
|
|
28
|
-
const channel = config.channel;
|
|
29
|
-
const timeout = config.timeout || 6e4;
|
|
30
|
-
const responseStrategy = config.responseStrategy || "first";
|
|
31
|
-
let responseChannel = channel;
|
|
32
|
-
try {
|
|
33
|
-
const messageText = config.formatMessage ? config.formatMessage(prompt) : prompt;
|
|
34
|
-
const startTime = Date.now();
|
|
35
|
-
const postResult = await this.client.chat.postMessage({
|
|
36
|
-
channel,
|
|
37
|
-
text: messageText,
|
|
38
|
-
thread_ts: config.threadTs,
|
|
39
|
-
mrkdwn: true
|
|
40
|
-
});
|
|
41
|
-
if (!postResult.ok || !postResult.ts) throw new Error("Failed to post message to Slack");
|
|
42
|
-
const messageTs = postResult.ts;
|
|
43
|
-
responseChannel = postResult.channel || channel;
|
|
44
|
-
let responseText;
|
|
45
|
-
const responseMetadata = {
|
|
46
|
-
messageTs,
|
|
47
|
-
channel: responseChannel
|
|
48
|
-
};
|
|
49
|
-
switch (responseStrategy) {
|
|
50
|
-
case "timeout":
|
|
51
|
-
responseText = await this.collectResponsesUntilTimeout(responseChannel, messageTs, timeout);
|
|
52
|
-
break;
|
|
53
|
-
case "user":
|
|
54
|
-
if (!config.waitForUser) throw new Error("waitForUser must be specified when using \"user\" response strategy");
|
|
55
|
-
responseText = await this.waitForUserResponse(responseChannel, messageTs, config.waitForUser, timeout);
|
|
56
|
-
responseMetadata.waitForUser = config.waitForUser;
|
|
57
|
-
break;
|
|
58
|
-
default: responseText = await this.waitForFirstResponse(responseChannel, messageTs, timeout);
|
|
59
|
-
}
|
|
60
|
-
if (config.includeThread) responseMetadata.threadTs = messageTs;
|
|
61
|
-
responseMetadata.responseTime = Date.now() - startTime;
|
|
62
|
-
return {
|
|
63
|
-
output: responseText,
|
|
64
|
-
metadata: responseMetadata
|
|
65
|
-
};
|
|
66
|
-
} catch (error) {
|
|
67
|
-
logger.error(`Slack provider error: ${error}`);
|
|
68
|
-
if (error instanceof WebAPIRateLimitedError) return { error: "Slack API rate limit exceeded. Please try again later." };
|
|
69
|
-
if (error instanceof WebAPIPlatformError) {
|
|
70
|
-
const slackError = error.data.error;
|
|
71
|
-
switch (slackError) {
|
|
72
|
-
case "channel_not_found": return { error: `Channel ${responseChannel} not found. Please check the channel ID.` };
|
|
73
|
-
case "not_in_channel": return { error: `Bot is not in channel ${responseChannel}. Please invite the bot first.` };
|
|
74
|
-
case "missing_scope": return { error: "Bot token is missing required scopes. Please check permissions." };
|
|
75
|
-
case "ratelimited": return { error: "Slack API rate limit exceeded. Please try again later." };
|
|
76
|
-
default: return { error: `Slack API error: ${slackError}` };
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return { error: error instanceof Error ? error.message : "Unknown error" };
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
async waitForFirstResponse(channel, afterTs, timeout) {
|
|
83
|
-
const startTime = Date.now();
|
|
84
|
-
while (Date.now() - startTime < timeout) try {
|
|
85
|
-
const result = await this.client.conversations.history({
|
|
86
|
-
channel,
|
|
87
|
-
oldest: afterTs,
|
|
88
|
-
limit: 10
|
|
89
|
-
});
|
|
90
|
-
if (result.messages && result.messages.length > 0) {
|
|
91
|
-
const response = result.messages.filter((msg) => msg.ts !== afterTs && msg.type === "message" && !msg.bot_id).sort((a, b) => parseFloat(a.ts || "0") - parseFloat(b.ts || "0"))[0];
|
|
92
|
-
if (response && response.text) return response.text;
|
|
93
|
-
}
|
|
94
|
-
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
95
|
-
} catch (error) {
|
|
96
|
-
logger.error(`Error fetching Slack messages: ${error}`);
|
|
97
|
-
throw error;
|
|
98
|
-
}
|
|
99
|
-
throw new Error(`Timeout waiting for Slack response after ${timeout}ms`);
|
|
100
|
-
}
|
|
101
|
-
async waitForUserResponse(channel, afterTs, userId, timeout) {
|
|
102
|
-
const startTime = Date.now();
|
|
103
|
-
while (Date.now() - startTime < timeout) try {
|
|
104
|
-
const result = await this.client.conversations.history({
|
|
105
|
-
channel,
|
|
106
|
-
oldest: afterTs,
|
|
107
|
-
limit: 20
|
|
108
|
-
});
|
|
109
|
-
if (result.messages && result.messages.length > 0) {
|
|
110
|
-
const response = result.messages.filter((msg) => msg.ts !== afterTs && msg.type === "message" && msg.user === userId).sort((a, b) => parseFloat(a.ts || "0") - parseFloat(b.ts || "0"))[0];
|
|
111
|
-
if (response && response.text) return response.text;
|
|
112
|
-
}
|
|
113
|
-
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
114
|
-
} catch (error) {
|
|
115
|
-
logger.error(`Error fetching Slack messages: ${error}`);
|
|
116
|
-
throw error;
|
|
117
|
-
}
|
|
118
|
-
throw new Error(`Timeout waiting for response from user ${userId} after ${timeout}ms`);
|
|
119
|
-
}
|
|
120
|
-
async collectResponsesUntilTimeout(channel, afterTs, timeout) {
|
|
121
|
-
const startTime = Date.now();
|
|
122
|
-
const responses = [];
|
|
123
|
-
const seenTimestamps = /* @__PURE__ */ new Set([afterTs]);
|
|
124
|
-
while (Date.now() - startTime < timeout) try {
|
|
125
|
-
const result = await this.client.conversations.history({
|
|
126
|
-
channel,
|
|
127
|
-
oldest: afterTs,
|
|
128
|
-
limit: 50
|
|
129
|
-
});
|
|
130
|
-
if (result.messages && result.messages.length > 0) result.messages.filter((msg) => !seenTimestamps.has(msg.ts || "") && msg.type === "message" && !msg.bot_id).sort((a, b) => parseFloat(a.ts || "0") - parseFloat(b.ts || "0")).forEach((msg) => {
|
|
131
|
-
if (msg.ts) seenTimestamps.add(msg.ts);
|
|
132
|
-
if (msg.text) responses.push(msg.text);
|
|
133
|
-
});
|
|
134
|
-
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
135
|
-
} catch (error) {
|
|
136
|
-
logger.error(`Error fetching Slack messages: ${error}`);
|
|
137
|
-
throw error;
|
|
138
|
-
}
|
|
139
|
-
return responses.join("\n\n");
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
//#endregion
|
|
143
|
-
export { SlackProvider };
|
|
144
|
-
|
|
145
|
-
//# sourceMappingURL=slack-CnfqKfXp.js.map
|