promptfoo 0.120.26 → 0.121.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 +1 -1
- package/dist/drizzle/0023_wooden_mandrill.sql +2 -0
- package/dist/drizzle/meta/0023_snapshot.json +1496 -0
- package/dist/drizzle/meta/_journal.json +7 -0
- package/dist/src/{ListApp-D3DG0F8h.js → ListApp-Du7YVwj5.js} +2 -4
- package/dist/src/accounts-BgNJDBE6.js +206 -0
- package/dist/src/{accounts-BzEY8H3v.cjs → accounts-Bx-x3bmW.cjs} +99 -80
- package/dist/src/{accounts-DHHiXsy6.js → accounts-CMqkzrVf.js} +61 -36
- package/dist/src/{accounts-R3gfCR_g.js → accounts-xrUGFA6n.js} +60 -35
- package/dist/src/{agentic-utils-D6_gzOUF.js → agentic-utils-BKIN5PKu.js} +9 -10
- package/dist/src/{agents-CwM7re15.cjs → agents-B0f4HICh.cjs} +37 -40
- package/dist/src/{agents-Cnph5GLD.js → agents-C-dDThPK.js} +37 -37
- package/dist/src/{agents-C7BiinFI.cjs → agents-CErsqg5U.cjs} +19 -27
- package/dist/src/{agents-v4cW_ZgC.js → agents-CVIn-Utx.js} +19 -22
- package/dist/src/{agents-GiUianme.js → agents-CXknwsFX.js} +37 -40
- package/dist/src/{agents-DETIQHqF.js → agents-DeH4Gu94.js} +21 -28
- package/dist/src/{agents-DYIT-hQy.js → agents-Dy2YpZpa.js} +38 -41
- package/dist/src/{agents-Cao4i7AX.js → agents-aF4-T121.js} +19 -30
- package/dist/src/{aimlapi-DMF6v_vb.js → aimlapi-BAGZDo5G.js} +16 -18
- package/dist/src/{aimlapi-CMJpKK-B.js → aimlapi-BNfTBexL.js} +15 -17
- package/dist/src/{aimlapi-DtSf1ykJ.js → aimlapi-DHRKlBEA.js} +15 -4
- package/dist/src/{aimlapi-DoGLcQW_.cjs → aimlapi-tg0Gkcvr.cjs} +15 -16
- package/dist/src/app/assets/index-BFCZg7hQ.js +439 -0
- package/dist/src/app/assets/index-NCn4eVBv.css +1 -0
- package/dist/src/app/assets/{vendor-charts-CYyo8R8v.js → vendor-charts-CCl15Imd.js} +1 -1
- package/dist/src/app/assets/{vendor-markdown-DSmzq4Jh.js → vendor-markdown-0tekx3KX.js} +1 -1
- package/dist/src/app/index.html +4 -34
- package/dist/src/{audio-DUH4q0Xq.js → audio-BRODU0UK.js} +7 -9
- package/dist/src/{audio-BWjyvHn9.cjs → audio-BWeaWovU.cjs} +6 -7
- package/dist/src/{audio-U580w8jM.js → audio-CHQ4r-RV.js} +6 -5
- package/dist/src/{audio-BrJBFN2b.js → audio-tf_NBjlC.js} +6 -8
- package/dist/src/base-B0tcrnq_.js +193 -0
- package/dist/src/base-B4QJRyFS.js +194 -0
- package/dist/src/base-DBtwl2FR.cjs +222 -0
- package/dist/src/base-fEDN28WM.js +193 -0
- package/dist/src/{blobs-kt8v3UyH.js → blobs-BAU-dXan.js} +9 -12
- package/dist/src/{blobs-C9J2mVgo.js → blobs-Bpg5rH6i.js} +9 -12
- package/dist/src/{blobs-673H0jCl.cjs → blobs-DvS-O6be.cjs} +34 -37
- package/dist/src/blobs-qTYm-1PY.js +236 -0
- package/dist/src/{cache-BLLayYEN.js → cache-8XhNqPKW.js} +64 -67
- package/dist/src/cache-Bbn1Nyrd.cjs +5 -0
- package/dist/src/cache-BwsMSda7.js +6 -0
- package/dist/src/{cache-mIszOnuz.js → cache-CG0SlR1d.js} +64 -66
- package/dist/src/{cache-7xULbvt3.cjs → cache-COish3-W.cjs} +114 -117
- package/dist/src/cache-D3eqDYGU.js +739 -0
- package/dist/src/{chat-Fl6TZJRS.cjs → chat-2K608PeQ.cjs} +20 -21
- package/dist/src/chat-BKm79wib.js +764 -0
- package/dist/src/{chat-XPN9YHhr.js → chat-CM_kyI8B.js} +20 -9
- package/dist/src/{chat-DIywASPG.js → chat-CRWNNq73.js} +49 -49
- package/dist/src/{chat-C8Ei4f87.js → chat-CznLWr_D.js} +49 -49
- package/dist/src/{chat-CgyGj2hC.js → chat-DHMH-N64.js} +20 -22
- package/dist/src/{chat-C4zqjObh.cjs → chat-DaqekjFr.cjs} +69 -69
- package/dist/src/{chat-Cpz3O-Xl.js → chat-DxysjBvt.js} +21 -23
- package/dist/src/{chatkit-Dpxrq4eD.js → chatkit-65VXf5SR.js} +58 -58
- package/dist/src/{chatkit-DIrJX8xk.js → chatkit-Be-Q-a9F.js} +58 -60
- package/dist/src/{chatkit-DEls11hE.js → chatkit-BxFvW8KY.js} +58 -60
- package/dist/src/{chatkit-e25Ziu17.cjs → chatkit-DKyPi1Gs.cjs} +58 -60
- package/dist/src/chunk-DEq-mXcV.js +15 -0
- package/dist/src/chunk-DRamLcfz.js +16 -0
- package/dist/src/{claude-agent-sdk-6-xTaLwM.js → claude-agent-sdk-BLTu0WBO.js} +45 -31
- package/dist/src/{claude-agent-sdk-BzxF6NIJ.cjs → claude-agent-sdk-CJH22shf.cjs} +44 -29
- package/dist/src/{claude-agent-sdk-CmkTnKGH.js → claude-agent-sdk-D6_k9FKA.js} +45 -33
- package/dist/src/{claude-agent-sdk-rXCBLK_o.js → claude-agent-sdk-Dy5lT-Tx.js} +46 -21
- package/dist/src/{cloud-BMbRVJFw.js → cloud-Bc9526yV.js} +32 -12
- package/dist/src/cloud-DmE0EwsY.js +4 -0
- package/dist/src/{cloudflare-ai-CUg4BTcj.js → cloudflare-ai-C9r2sRhw.js} +16 -18
- package/dist/src/{cloudflare-ai-Z9X219gp.js → cloudflare-ai-CWWJCRim.js} +16 -4
- package/dist/src/{cloudflare-ai-BAQ0u_dg.cjs → cloudflare-ai-ClWSdor4.cjs} +16 -17
- package/dist/src/{cloudflare-ai-CobxMTR4.js → cloudflare-ai-ICsOuD-z.js} +17 -19
- package/dist/src/{cloudflare-gateway-C0sgfr_z.cjs → cloudflare-gateway-C2_-KG5o.cjs} +21 -22
- package/dist/src/{cloudflare-gateway-_itGuXry.js → cloudflare-gateway-D6O7AlYb.js} +23 -23
- package/dist/src/{cloudflare-gateway-D2_yi-Fh.js → cloudflare-gateway-D6xFc5pa.js} +21 -25
- package/dist/src/{cloudflare-gateway-Djf3F3_H.js → cloudflare-gateway-pXGHxJ47.js} +26 -14
- package/dist/src/{codex-sdk-ibXwdglL.js → codex-sdk-C6UMlxwV.js} +49 -32
- package/dist/src/{codex-sdk-BASDNkIl.js → codex-sdk-DUwKWezN.js} +49 -30
- package/dist/src/{codex-sdk-dSnGdgIp.js → codex-sdk-GGAw0qbD.js} +49 -32
- package/dist/src/{codex-sdk-wTEpMM_X.cjs → codex-sdk-fAO0c3yA.cjs} +49 -32
- package/dist/src/{cometapi-B01btbfb.js → cometapi-BasUi7-_.js} +17 -19
- package/dist/src/{cometapi-DHUAH6nK.js → cometapi-Bbjp5V4x.js} +16 -4
- package/dist/src/{cometapi-ChAaRjg5.js → cometapi-DkXrKi5z.js} +21 -24
- package/dist/src/{cometapi-JbvOJSCO.cjs → cometapi-vY6aDZgo.cjs} +21 -22
- package/dist/src/{completion-D9_MDlnd.js → completion-6Mx_iXxK.js} +11 -13
- package/dist/src/{completion-BBJ6zmG3.js → completion-C5rtR_9P.js} +11 -13
- package/dist/src/{completion-DDyL3Cb2.cjs → completion-CDOouNzq.cjs} +21 -23
- package/dist/src/completion-C_P3ypkJ.js +120 -0
- package/dist/src/createHash-CTQmL3G2.js +15 -0
- package/dist/src/createHash-CfZSc0b4.cjs +27 -0
- package/dist/src/createHash-Da8fMwqB.js +16 -0
- package/dist/src/createHash-DmPQkvBh.js +15 -0
- package/dist/src/{docker-JAAubMw3.js → docker-5KcG-_86.js} +18 -20
- package/dist/src/{docker-Ckw-j7Rr.cjs → docker-BwsKwxFs.cjs} +18 -19
- package/dist/src/{docker-vnOg96gi.js → docker-CZnqU1XV.js} +18 -7
- package/dist/src/{docker-BuButc4D.js → docker-DzxyDPIj.js} +19 -21
- package/dist/src/entrypoint.js +2 -3
- package/dist/src/{errors-DnGCbnx8.js → errors-P6ll7XSJ.js} +2 -2
- package/dist/src/{esm-CYhseqj4.js → esm-C03C-mv3.js} +17 -20
- package/dist/src/{esm-rDtG_2rg.js → esm-CaIwzWR5.js} +18 -21
- package/dist/src/esm-Cd1AjG1D.js +379 -0
- package/dist/src/{esm-BQkx5roy.cjs → esm-CnNt7sI4.cjs} +47 -49
- package/dist/src/eval-17JizQIv.js +15 -0
- package/dist/src/{eval-CYrbG57o.js → eval-DmFyWU7i.js} +49 -55
- package/dist/src/{evalResult-COsVttMA.js → evalResult-CDQiuUuf.js} +16 -12
- package/dist/src/{evalResult-6JaUIStC.js → evalResult-CTG2AHOS.js} +10 -11
- package/dist/src/evalResult-Cqj8pldJ.js +12 -0
- package/dist/src/{evalResult-DlRfu_Rq.cjs → evalResult-Dap2CekP.cjs} +20 -21
- package/dist/src/evalResult-DvcJAWJU.cjs +10 -0
- package/dist/src/evalResult-Hftn-S_i.js +10 -0
- package/dist/src/evaluator-B2CFNt-P.js +36 -0
- package/dist/src/{evaluator-3EJCMTs0.js → evaluator-DPFRbFIL.js} +210 -232
- package/dist/src/{extractor-LSYjrhK0.js → extractor-CFG6bcWJ.js} +23 -38
- package/dist/src/{extractor-DbhlYEeo.cjs → extractor-DX36oYEv.cjs} +37 -64
- package/dist/src/{extractor-Hs7la_19.js → extractor-M67RUtg6.js} +23 -38
- package/dist/src/extractor-YMU_Gvt8.js +374 -0
- package/dist/src/fetch-4M3YRaqL.js +780 -0
- package/dist/src/{fetch-18MuNu9i.js → fetch-60Gzydls.js} +60 -46
- package/dist/src/{fetch-SRsE6Ctl.js → fetch-BMv0O527.js} +41 -35
- package/dist/src/{fetch-ZMn_oemb.cjs → fetch-BxUk8odA.cjs} +268 -279
- package/dist/src/fetch-KV5kNASw.js +5 -0
- package/dist/src/{fileExtensions-ePDqouxn.js → fileExtensions-DnqA1y9x.js} +2 -2
- package/dist/src/{fileExtensions-BpuMmaFL.js → fileExtensions-Ds-foDzt.js} +2 -2
- package/dist/src/fileExtensions-LcDYkU4v.js +85 -0
- package/dist/src/{fileExtensions-DkJYkWUy.cjs → fileExtensions-bYh77CN8.cjs} +27 -28
- package/dist/src/{formatDuration-Doo0xq-z.js → formatDuration-DgBVMN65.js} +2 -2
- package/dist/src/{genaiTracer-Ce19n68P.js → genaiTracer-70Z8BIuV.js} +2 -3
- package/dist/src/{genaiTracer-CqNnnXrE.js → genaiTracer-C1rxGO8Q.js} +2 -3
- package/dist/src/genaiTracer-D3fD9dNV.js +256 -0
- package/dist/src/{genaiTracer-CQlpZkrp.cjs → genaiTracer-DN4dQywX.cjs} +13 -14
- package/dist/src/graders-Bu0H9nXi.js +32 -0
- package/dist/src/{graders-BaMCwIKp.js → graders-CHO8EPM4.js} +385 -417
- package/dist/src/graders-Cfhkvx-e.js +34 -0
- package/dist/src/{graders-QsALpIdy.js → graders-CpdqD9PI.js} +385 -417
- package/dist/src/graders-DClJVpGP.cjs +32 -0
- package/dist/src/{graders-DzUUnUjC.cjs → graders-DOXycdlG.cjs} +721 -753
- package/dist/src/graders-DcnJsrMO.js +32 -0
- package/dist/src/graders-R9rYUM0d.js +13466 -0
- package/dist/src/{image-BiEVdpdP.js → image-BmEZqVmk.js} +57 -18
- package/dist/src/{image-mhAGP07h.js → image-CBBVXWuT.js} +57 -18
- package/dist/src/{image-D10zEe1f.cjs → image-CDLQOcqT.cjs} +6 -7
- package/dist/src/{image-COCWy5dX.js → image-DJEvKveK.js} +6 -5
- package/dist/src/{image-C3BjJUAU.cjs → image-DTedmQPg.cjs} +77 -32
- package/dist/src/{image-DB4sHxdJ.js → image-gvmivTEe.js} +7 -9
- package/dist/src/image-pAX56tPG.js +257 -0
- package/dist/src/{image-BXt_7u0v.js → image-tL5hIOFh.js} +6 -8
- package/dist/src/index.cjs +696 -693
- package/dist/src/index.d.cts +113 -10
- package/dist/src/index.d.ts +113 -6
- package/dist/src/index.js +657 -658
- package/dist/src/{interactiveCheck-DU-MAhp5.js → interactiveCheck-BgLZUIt3.js} +7 -8
- package/dist/src/{invariant-DT20jrBd.js → invariant-BtWWVVhl.js} +2 -2
- package/dist/src/{invariant-1pAf2CD1.js → invariant-Ddh24eXh.js} +2 -2
- package/dist/src/{invariant-CKcJAQ6M.cjs → invariant-kfQ8Bu82.cjs} +7 -8
- package/dist/src/invariant-vgHWClmd.js +25 -0
- package/dist/src/{knowledgeBase-DotRBzUE.js → knowledgeBase-CLJybhnF.js} +19 -34
- package/dist/src/{knowledgeBase-XJQ0Qyez.js → knowledgeBase-CoU-UQBg.js} +17 -41
- package/dist/src/{knowledgeBase-CMvMlLZR.js → knowledgeBase-DjWPVqSb.js} +17 -43
- package/dist/src/{knowledgeBase-Bnb00xKs.cjs → knowledgeBase-wkxuRFhA.cjs} +17 -40
- package/dist/src/{litellm-CHrRmPAe.js → litellm-B9Hysuri.js} +16 -18
- package/dist/src/{litellm-CrLJrPIm.js → litellm-CTfa0hqi.js} +15 -17
- package/dist/src/{litellm-BrnZhMcL.cjs → litellm-NYpQ8RQu.cjs} +15 -16
- package/dist/src/{litellm-BECdjOTx.js → litellm-ePxtr9F1.js} +15 -4
- package/dist/src/{logger-w8Ozp0Td.js → logger-CT3IKMKA.js} +24 -41
- package/dist/src/{logger-BdZ-IqBc.cjs → logger-Cp1GPUjj.cjs} +166 -192
- package/dist/src/logger-DLcq4dWf.js +713 -0
- package/dist/src/{logger-BotXmWKW.js → logger-KkObSCzq.js} +27 -43
- package/dist/src/{luma-ray-C0RkI3lt.cjs → luma-ray-B0GGNRc1.cjs} +20 -21
- package/dist/src/{luma-ray-C-w6EsJm.js → luma-ray-BE2mOt6N.js} +20 -13
- package/dist/src/{luma-ray-BOeX-h0M.js → luma-ray-BW9IRGIc.js} +22 -21
- package/dist/src/{luma-ray-DgKLS0BF.js → luma-ray-Cm1KZBhs.js} +20 -23
- package/dist/src/main.js +1985 -2055
- package/dist/src/{messages-DXV3Qh8_.cjs → messages-1JrJs91T.cjs} +35 -34
- package/dist/src/{messages-D61tPFQo.js → messages-1x9atZmP.js} +25 -24
- package/dist/src/{messages-CDZYGNlS.js → messages-BLbWdsyt.js} +25 -24
- package/dist/src/messages-D8EA0oDc.js +240 -0
- package/dist/src/{meteor-P2rUE-Uz.js → meteor-44VjEACX.js} +3 -4
- package/dist/src/{meteor-SLNTgmXm.js → meteor-D-SotUw9.js} +3 -4
- package/dist/src/{meteor-odmwVbyG.cjs → meteor-DLZZ3osF.cjs} +3 -4
- package/dist/src/{meteor-Dj8cTkU_.js → meteor-DUiCJRC-.js} +3 -4
- package/dist/src/modelslab-C1OLRmVX.js +166 -0
- package/dist/src/modelslab-CqXBy3U8.js +168 -0
- package/dist/src/modelslab-DcOSFwKh.cjs +166 -0
- package/dist/src/modelslab-X5-4LroM.js +166 -0
- package/dist/src/{nova-reel-C2LFfVTf.js → nova-reel-BgS1ZWuK.js} +20 -13
- package/dist/src/{nova-reel-DtCjbD5O.js → nova-reel-D2ZkOSyr.js} +22 -21
- package/dist/src/{nova-reel-D9FXq3Mt.cjs → nova-reel-D9xfaMBs.cjs} +20 -21
- package/dist/src/{nova-reel-Bk5npr2q.js → nova-reel-DihqLeol.js} +20 -23
- package/dist/src/{nova-sonic-BoRSY_U6.cjs → nova-sonic-DVu3mMIy.cjs} +30 -31
- package/dist/src/{nova-sonic-D_qERM-K.js → nova-sonic-DezhVUYT.js} +30 -26
- package/dist/src/{nova-sonic-CgaWLDM1.js → nova-sonic-P-CdUMlV.js} +30 -31
- package/dist/src/{nova-sonic-BXRfQyF-.js → nova-sonic-Q3BOJeig.js} +31 -32
- package/dist/src/{openai-Bigwjgo1.cjs → openai-Cuif0GEt.cjs} +8 -9
- package/dist/src/{openai-Dz3surb_.js → openai-DElQ-fPX.js} +3 -4
- package/dist/src/{openai-CT5fwbve.js → openai-DhbB7eWK.js} +3 -4
- package/dist/src/openai-j-sE2O7r.js +44 -0
- package/dist/src/{openclaw-dHLcXUWZ.js → openclaw-BiSZPL7J.js} +20 -14
- package/dist/src/{openclaw-CpPrXwf6.js → openclaw-Bv1DINsX.js} +20 -27
- package/dist/src/{openclaw-B6XY2kUf.js → openclaw-D1D_ej1z.js} +21 -28
- package/dist/src/{openclaw-DDSfq5fp.cjs → openclaw-DAfWQn-o.cjs} +33 -39
- package/dist/src/opencode-sdk-C7m-wRfI.js +560 -0
- package/dist/src/opencode-sdk-CfaLN8PY.cjs +564 -0
- package/dist/src/opencode-sdk-D95s6SnR.js +562 -0
- package/dist/src/opencode-sdk-DxUPkLT7.js +560 -0
- package/dist/src/{otlpReceiver-DmRb0NBj.js → otlpReceiver--AIRW_S4.js} +53 -51
- package/dist/src/{otlpReceiver-Dg817agV.js → otlpReceiver-Bn5wGB1v.js} +53 -55
- package/dist/src/{otlpReceiver-B6Xo4KZM.cjs → otlpReceiver-Diec4cln.cjs} +53 -55
- package/dist/src/{otlpReceiver-BO0rbDzh.js → otlpReceiver-g3ByGaXs.js} +53 -55
- package/dist/src/{providerRegistry-Xf0qdqGQ.js → providerRegistry-B0RUOLI_.js} +7 -8
- package/dist/src/{providerRegistry-wCWd7sKQ.js → providerRegistry-CD8MEar9.js} +7 -8
- package/dist/src/{providerRegistry-lc7a7utN.cjs → providerRegistry-Civky8Ar.cjs} +12 -13
- package/dist/src/providerRegistry-DM8rZYol.js +45 -0
- package/dist/src/providers-B3HvufyI.js +33246 -0
- package/dist/src/{providers-BiNq_Iyc.js → providers-BKRJTjBz.js} +1743 -1795
- package/dist/src/providers-C1rOSHiR.js +32 -0
- package/dist/src/{providers-BlEhY5mi.js → providers-CFLy1_ji.js} +1750 -1802
- package/dist/src/{providers-BNKVY53V.cjs → providers-CFu-TZl-.cjs} +2111 -2163
- package/dist/src/providers-CxmDwEFf.cjs +31 -0
- package/dist/src/providers-Dodakqr0.js +30 -0
- package/dist/src/providers-GIQ2TcsA.js +30 -0
- package/dist/src/{pythonUtils-r1uBuA0n.js → pythonUtils-C3py6GC1.js} +18 -19
- package/dist/src/{pythonUtils-DZ6EbdY4.cjs → pythonUtils-CTU3Y3lw.cjs} +42 -43
- package/dist/src/{pythonUtils-vMlk9Qp5.js → pythonUtils-D5nxkQ0P.js} +18 -19
- package/dist/src/pythonUtils-D6fwaDSg.js +249 -0
- package/dist/src/quiverai-C2jVwbH1.js +213 -0
- package/dist/src/quiverai-CI6gYJVI.js +213 -0
- package/dist/src/quiverai-CLkWkyZc.cjs +213 -0
- package/dist/src/quiverai-MHSxbmmZ.js +215 -0
- package/dist/src/{render-CAZvKKkB.js → render-Drod8m7K.js} +4 -5
- package/dist/src/{responses-DLLjADw5.js → responses-BKqJmhhc.js} +34 -27
- package/dist/src/{responses-TsdODUpm.js → responses-CGw0DCzh.js} +34 -27
- package/dist/src/responses-jxdehPkC.js +660 -0
- package/dist/src/{responses-zOtKtnY_.cjs → responses-tD4Bd4dc.cjs} +49 -42
- package/dist/src/rubyUtils-BUHu6PhO.js +5 -0
- package/dist/src/{rubyUtils-Cs35SDYa.js → rubyUtils-BUVePouc.js} +27 -20
- package/dist/src/rubyUtils-BcuGX77l.js +222 -0
- package/dist/src/{rubyUtils-BtjlqyXt.js → rubyUtils-Boc4HZzX.js} +18 -19
- package/dist/src/rubyUtils-CP42kMvq.cjs +4 -0
- package/dist/src/{rubyUtils-DCVaJ3mc.cjs → rubyUtils-DhCAlxZr.cjs} +48 -50
- package/dist/src/{sagemaker-Du4LIR97.js → sagemaker-BK4Zb993.js} +75 -70
- package/dist/src/{sagemaker-CLdUAv5z.js → sagemaker-BfiWTmvn.js} +77 -77
- package/dist/src/{sagemaker-DwNnEVYt.cjs → sagemaker-CcQHM1jV.cjs} +75 -76
- package/dist/src/{sagemaker-BcgLu0U4.js → sagemaker-D2Q1c-sD.js} +75 -79
- package/dist/src/{scanner-Dyw21Wg_.js → scanner-J8CA3LsV.js} +149 -122
- package/dist/src/server/index.js +5620 -67302
- package/dist/src/{server-CgUQ25qW.cjs → server-B0PPuDw-.cjs} +57 -67
- package/dist/src/server-B1vi21hA.js +7 -0
- package/dist/src/{server-CbMTRQkg.js → server-BC7XJFgr.js} +19 -24
- package/dist/src/server-Cm9Kai_h.cjs +5 -0
- package/dist/src/{server-DWmZLfCy.js → server-DbFphssR.js} +26 -29
- package/dist/src/server-OAs3nBRT.js +229 -0
- package/dist/src/{signal-Bl32q42d.js → signal-BOTbd53Z.js} +9 -11
- package/dist/src/{slack-BtMkB6xP.cjs → slack-BmVAVGaK.cjs} +7 -8
- package/dist/src/{slack-OZYxoVON.js → slack-DCUPTzS2.js} +8 -8
- package/dist/src/{slack-DPqj42Ts.js → slack-DOdy_kyv.js} +7 -8
- package/dist/src/{slack-BfdBx2tO.js → slack-DXMKtA-f.js} +7 -9
- package/dist/src/store-BNmZ1KAz.cjs +5 -0
- package/dist/src/{store-BqwfFEyF.cjs → store-BSc-TF2w.cjs} +44 -45
- package/dist/src/store-BltJg2cd.js +6 -0
- package/dist/src/{store-D4gdn9ih.js → store-D1tv90v3.js} +34 -35
- package/dist/src/{store-2ocbYY9D.js → store-DQLEjuEO.js} +40 -36
- package/dist/src/store-Ub2vaGJ1.js +228 -0
- package/dist/src/{tables-D-NSwNIb.js → tables-5EvT_Bwn.js} +23 -23
- package/dist/src/{tables-B9E1kRp-.cjs → tables-C7K-XKWp.cjs} +93 -93
- package/dist/src/{tables-C7TT2XVn.js → tables-D36WTqKX.js} +25 -25
- package/dist/src/tables-xKANLRBD.js +288 -0
- package/dist/src/telemetry-5BCRNBbe.cjs +5 -0
- package/dist/src/{telemetry-DZ_7PaVq.js → telemetry-C15ziL8u.js} +17 -14
- package/dist/src/{telemetry-BXyVqyAg.js → telemetry-C2YDkUQH.js} +11 -13
- package/dist/src/{telemetry-D0_yFdtU.cjs → telemetry-CbrnxHp_.cjs} +21 -24
- package/dist/src/telemetry-D4W5hboe.js +7 -0
- package/dist/src/telemetry-DMb2Mpfm.js +171 -0
- package/dist/src/{text-Dm78AVGG.js → text-B_UCRPp2.js} +2 -2
- package/dist/src/{text-DF2hMKdg.cjs → text-CW1cyrwj.cjs} +12 -13
- package/dist/src/{text-DgMr_tiM.js → text-Db-Wt2u2.js} +2 -2
- package/dist/src/text-TIv0QYnd.js +22 -0
- package/dist/src/{tokenUsageUtils-FZd5O_4A.js → tokenUsageUtils-BDGe-iyI.js} +2 -2
- package/dist/src/{tokenUsageUtils-DmZSD2eU.js → tokenUsageUtils-DflFMjS0.js} +2 -2
- package/dist/src/tokenUsageUtils-NYT-WKS6.js +138 -0
- package/dist/src/{tokenUsageUtils-CXhxVj72.cjs → tokenUsageUtils-bVa1ga6f.cjs} +32 -33
- package/dist/src/{transcription-FNIz3YOe.cjs → transcription-CL78qbOU.cjs} +14 -15
- package/dist/src/{transcription-C-M81iDA.js → transcription-DAtxHhAM.js} +14 -7
- package/dist/src/{transcription-CYuY5sFO.js → transcription-LNZTNUUL.js} +14 -16
- package/dist/src/{transcription-Ch7S-LWw.js → transcription-QHh3AH6Z.js} +15 -17
- package/dist/src/{transform-CoP2bJ7P.js → transform-Cgi24fJ7.js} +94 -66
- package/dist/src/{transform-Kd6u-oNm.cjs → transform-CzK1Q0zl.cjs} +24 -26
- package/dist/src/{transform-D8dILpfZ.js → transform-DECvGmzp.js} +15 -13
- package/dist/src/{transform-DMaxQwDx.js → transform-DGLazrMm.js} +94 -66
- package/dist/src/transform-DGxXocjk.js +1506 -0
- package/dist/src/{transform-ivxEY4f7.cjs → transform-DOcQeLld.cjs} +234 -206
- package/dist/src/transform-DTGDnAzW.js +6 -0
- package/dist/src/{transform-CqTFr7KR.js → transform-DilY9wbS.js} +10 -12
- package/dist/src/transform-aa6tmVpZ.js +216 -0
- package/dist/src/transform-m3qNw4KP.cjs +5 -0
- package/dist/src/{transformersAvailability-DEU2naS1.js → transformersAvailability-CEVM2GNQ.js} +2 -2
- package/dist/src/{transformersAvailability-Bkep3ka7.cjs → transformersAvailability-CwayUSlh.cjs} +2 -3
- package/dist/src/{transformersAvailability-DwmezkVe.js → transformersAvailability-D6c6ROpT.js} +2 -2
- package/dist/src/{types-t52w-XsS.js → types-CH3Ge2sE.js} +103 -92
- package/dist/src/{types-DMVjYLpx.js → types-CLKiCBW3.js} +98 -91
- package/dist/src/types-CN_TZ2GJ.js +3260 -0
- package/dist/src/{types-BIfttHrT.cjs → types-LJ0r3wbR.cjs} +573 -566
- package/dist/src/util-5cB-L7U3.js +1430 -0
- package/dist/src/util-6-GqIvzS.js +599 -0
- package/dist/src/{util-vjscpUzy.js → util-B7T3SiBS.js} +5 -6
- package/dist/src/{util-Cl0zfT3V.js → util-Betm42rL.js} +44 -17
- package/dist/src/{util-CUEt0Vum.js → util-C-PPYSMq.js} +44 -17
- package/dist/src/{util-DkFTvieG.cjs → util-CchiqXh_.cjs} +35 -36
- package/dist/src/{util-mJ58qbbw.js → util-DaWTWKBK.js} +5 -6
- package/dist/src/{util-C08Kns6-.cjs → util-Db0a0AFH.cjs} +89 -62
- package/dist/src/{util-DiCePfDu.js → util-Dlz_Wvgm.js} +102 -53
- package/dist/src/{util-BSh4a_Q8.js → util-YT5HPZaS.js} +102 -53
- package/dist/src/{util-DUYOvxAy.cjs → util-Yz-1aEhW.cjs} +274 -219
- package/dist/src/util-ZZH-3QZz.js +293 -0
- package/dist/src/{utils-DFaZa6Rf.cjs → utils-Cz9qXqII.cjs} +32 -35
- package/dist/src/{utils-CVzb4YiI.js → utils-XiOAgly5.js} +4 -7
- package/dist/src/utils-dLokC-eR.js +94 -0
- package/dist/src/{utils-JaY9veb5.js → utils-f2-Moju7.js} +4 -7
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +59 -53
- package/dist/src/app/assets/index-BOgkICuY.css +0 -1
- package/dist/src/app/assets/index-CSgqn_Vd.js +0 -428
- package/dist/src/app/tsconfig.app.tsbuildinfo +0 -1
- package/dist/src/base-BaXmtXYp.js +0 -107
- package/dist/src/base-Dtp8b4_N.js +0 -106
- package/dist/src/base-f71xxWai.cjs +0 -111
- package/dist/src/cache-BUPcq0Ad.js +0 -6
- package/dist/src/cache-CVfRb-HD.cjs +0 -6
- package/dist/src/cache-O4EuX2JV.js +0 -8
- package/dist/src/chunk-DHDDz29n.js +0 -22
- package/dist/src/chunk-FhC4c-0y.js +0 -21
- package/dist/src/cloud-CZ4hytdm.js +0 -5
- package/dist/src/eval-CKHWqG9f.js +0 -16
- package/dist/src/evalResult-CxTP-LMm.cjs +0 -11
- package/dist/src/evalResult-CzLURDcP.js +0 -13
- package/dist/src/evalResult-DyttNQ_G.js +0 -11
- package/dist/src/evaluator-0PvfeBYh.js +0 -38
- package/dist/src/fetch-Bi0o-fdp.js +0 -4
- package/dist/src/fetch-CMptBDVg.cjs +0 -4
- package/dist/src/fetch-DAZkv3gV.js +0 -6
- package/dist/src/graders-BCytzXrb.js +0 -34
- package/dist/src/graders-CGZQShfJ.cjs +0 -33
- package/dist/src/graders-spkuVC-E.js +0 -36
- package/dist/src/opencode-sdk-CImWVqy9.js +0 -382
- package/dist/src/opencode-sdk-CuCztr4P.js +0 -380
- package/dist/src/opencode-sdk-DhcfRbBH.js +0 -376
- package/dist/src/opencode-sdk-mqF-Oj3f.cjs +0 -383
- package/dist/src/providers-BMZZmPBJ.cjs +0 -32
- package/dist/src/providers-CQQrNaJk.js +0 -32
- package/dist/src/providers-Ck8HyrC-.js +0 -34
- package/dist/src/quiverai-BNfIwKCO.cjs +0 -54
- package/dist/src/quiverai-BQigKdIH.js +0 -57
- package/dist/src/quiverai-Bfy2WnE2.js +0 -55
- package/dist/src/quiverai-CedIP0PJ.js +0 -43
- package/dist/src/rubyUtils-D7--T12C.js +0 -6
- package/dist/src/rubyUtils-DRRiMFV2.js +0 -5
- package/dist/src/rubyUtils-vb8OYFC-.cjs +0 -5
- package/dist/src/server-BUbS0Qfh.js +0 -6
- package/dist/src/server-XpGXFHkS.cjs +0 -6
- package/dist/src/server-gfOx5Zrk.js +0 -8
- package/dist/src/store-5u2yriTV.js +0 -7
- package/dist/src/store-D_lq_8oQ.js +0 -6
- package/dist/src/store-m5KT6Ly7.cjs +0 -6
- package/dist/src/telemetry-5RHFoCJh.js +0 -6
- package/dist/src/telemetry-Do8wMnA-.js +0 -8
- package/dist/src/telemetry-LojxPoFq.cjs +0 -6
- package/dist/src/transform-8eGmaH-7.js +0 -7
- package/dist/src/transform-BRVvWaG4.cjs +0 -6
- package/dist/src/transform-GybT0X0u.js +0 -8
- package/dist/src/transformersAvailability-DkAWaK5B.js +0 -35
|
@@ -1,28 +1,27 @@
|
|
|
1
|
-
import { i as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { t as OpenAiGenericProvider } from "./openai-
|
|
1
|
+
import { i as logger, w as state } from "./logger-DLcq4dWf.js";
|
|
2
|
+
import { t as fetchWithProxy } from "./fetch-4M3YRaqL.js";
|
|
3
|
+
import { r as importModule } from "./esm-CaIwzWR5.js";
|
|
4
|
+
import { t as OpenAiGenericProvider } from "./openai-j-sE2O7r.js";
|
|
5
5
|
import path from "path";
|
|
6
6
|
import { BatchTraceProcessor, addTraceProcessor, getOrCreateTrace, run, startTraceExportLoop } from "@openai/agents";
|
|
7
|
-
|
|
8
7
|
//#region src/providers/openai/agents-loader.ts
|
|
9
8
|
/**
|
|
10
9
|
* Load agent definition from file path or return inline definition
|
|
11
10
|
*/
|
|
12
11
|
async function loadAgentDefinition(agentConfig) {
|
|
13
12
|
if (isAgentInstance(agentConfig)) {
|
|
14
|
-
|
|
13
|
+
logger.debug("[AgentsLoader] Using provided Agent instance");
|
|
15
14
|
return agentConfig;
|
|
16
15
|
}
|
|
17
16
|
if (typeof agentConfig === "string" && agentConfig.startsWith("file://")) {
|
|
18
|
-
|
|
17
|
+
logger.debug("[AgentsLoader] Loading agent from file", { path: agentConfig });
|
|
19
18
|
return await loadAgentFromFile(agentConfig);
|
|
20
19
|
}
|
|
21
20
|
if (typeof agentConfig === "object") {
|
|
22
|
-
|
|
21
|
+
logger.debug("[AgentsLoader] Creating agent from inline definition");
|
|
23
22
|
return await createAgentFromDefinition(agentConfig);
|
|
24
23
|
}
|
|
25
|
-
|
|
24
|
+
logger.debug("[AgentsLoader] Invalid agent configuration", {
|
|
26
25
|
type: typeof agentConfig,
|
|
27
26
|
keys: typeof agentConfig === "object" && agentConfig !== null ? Object.keys(agentConfig).slice(0, 5) : void 0
|
|
28
27
|
});
|
|
@@ -33,14 +32,14 @@ async function loadAgentDefinition(agentConfig) {
|
|
|
33
32
|
*/
|
|
34
33
|
async function loadAgentFromFile(filePath) {
|
|
35
34
|
const resolvedPath = resolveFilePath(filePath);
|
|
36
|
-
|
|
35
|
+
logger.debug("[AgentsLoader] Loading agent from resolved path", { path: resolvedPath });
|
|
37
36
|
try {
|
|
38
37
|
const module = await importModule(resolvedPath);
|
|
39
38
|
const agent = module.default || module;
|
|
40
39
|
if (!isAgentInstance(agent)) throw new Error(`File ${resolvedPath} does not export an Agent instance`);
|
|
41
40
|
return agent;
|
|
42
41
|
} catch (error) {
|
|
43
|
-
|
|
42
|
+
logger.error("[AgentsLoader] Failed to load agent from file", {
|
|
44
43
|
path: resolvedPath,
|
|
45
44
|
error
|
|
46
45
|
});
|
|
@@ -63,7 +62,7 @@ async function createAgentFromDefinition(definition) {
|
|
|
63
62
|
handoffs: definition.handoffs
|
|
64
63
|
});
|
|
65
64
|
} catch (error) {
|
|
66
|
-
|
|
65
|
+
logger.error("[AgentsLoader] Failed to create agent from definition", {
|
|
67
66
|
name: definition?.name,
|
|
68
67
|
model: definition?.model,
|
|
69
68
|
toolCount: definition?.tools?.length,
|
|
@@ -85,16 +84,15 @@ function isAgentInstance(value) {
|
|
|
85
84
|
function resolveFilePath(filePath) {
|
|
86
85
|
const cleanPath = filePath.replace(/^file:\/\//, "");
|
|
87
86
|
if (path.isAbsolute(cleanPath)) return cleanPath;
|
|
88
|
-
const basePath =
|
|
87
|
+
const basePath = state.basePath || process.cwd();
|
|
89
88
|
const resolvedPath = path.resolve(basePath, cleanPath);
|
|
90
|
-
|
|
89
|
+
logger.debug("[AgentsLoader] Resolved file path", {
|
|
91
90
|
original: filePath,
|
|
92
91
|
basePath,
|
|
93
92
|
resolved: resolvedPath
|
|
94
93
|
});
|
|
95
94
|
return resolvedPath;
|
|
96
95
|
}
|
|
97
|
-
|
|
98
96
|
//#endregion
|
|
99
97
|
//#region src/providers/openai/agents-tracing.ts
|
|
100
98
|
/**
|
|
@@ -117,14 +115,14 @@ var OTLPTracingExporter = class {
|
|
|
117
115
|
*/
|
|
118
116
|
async export(items, signal) {
|
|
119
117
|
if (items.length === 0) {
|
|
120
|
-
|
|
118
|
+
logger.debug("[AgentsTracing] No items to export");
|
|
121
119
|
return;
|
|
122
120
|
}
|
|
123
|
-
|
|
121
|
+
logger.debug(`[AgentsTracing] Exporting ${items.length} items to OTLP`);
|
|
124
122
|
try {
|
|
125
123
|
const otlpPayload = this.transformToOTLP(items);
|
|
126
124
|
const url = `${this.otlpEndpoint}/v1/traces`;
|
|
127
|
-
|
|
125
|
+
logger.debug("[AgentsTracing] Sending OTLP payload", {
|
|
128
126
|
url,
|
|
129
127
|
spanCount: otlpPayload.resourceSpans[0]?.scopeSpans[0]?.spans?.length || 0
|
|
130
128
|
});
|
|
@@ -134,10 +132,10 @@ var OTLPTracingExporter = class {
|
|
|
134
132
|
body: JSON.stringify(otlpPayload),
|
|
135
133
|
signal
|
|
136
134
|
});
|
|
137
|
-
if (response.ok)
|
|
138
|
-
else
|
|
135
|
+
if (response.ok) logger.debug("[AgentsTracing] Successfully exported traces to OTLP");
|
|
136
|
+
else logger.error(`[AgentsTracing] OTLP export failed: ${response.status} ${response.statusText}`);
|
|
139
137
|
} catch (error) {
|
|
140
|
-
|
|
138
|
+
logger.error("[AgentsTracing] Failed to export traces to OTLP", { error });
|
|
141
139
|
}
|
|
142
140
|
}
|
|
143
141
|
/**
|
|
@@ -251,7 +249,7 @@ var OTLPTracingExporter = class {
|
|
|
251
249
|
else if (cleanHex.length < targetLength) cleanHex = cleanHex.padEnd(targetLength, "0");
|
|
252
250
|
return Buffer.from(cleanHex, "hex").toString("base64");
|
|
253
251
|
} catch (error) {
|
|
254
|
-
|
|
252
|
+
logger.error(`[AgentsTracing] Failed to convert hex to base64: ${hex}`, { error });
|
|
255
253
|
const fallbackLen = kind === "span" ? 16 : 32;
|
|
256
254
|
return Buffer.from(this.generateRandomHex(fallbackLen), "hex").toString("base64");
|
|
257
255
|
}
|
|
@@ -278,7 +276,6 @@ var OTLPTracingExporter = class {
|
|
|
278
276
|
return buffer.toString("hex").substring(0, length);
|
|
279
277
|
}
|
|
280
278
|
};
|
|
281
|
-
|
|
282
279
|
//#endregion
|
|
283
280
|
//#region src/providers/openai/agents.ts
|
|
284
281
|
/**
|
|
@@ -305,7 +302,7 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
305
302
|
* Call the agent with the given prompt
|
|
306
303
|
*/
|
|
307
304
|
async callApi(prompt, context, callApiOptions) {
|
|
308
|
-
|
|
305
|
+
logger.debug("[AgentsProvider] Starting agent call", {
|
|
309
306
|
prompt: prompt.substring(0, 100),
|
|
310
307
|
hasContext: !!context
|
|
311
308
|
});
|
|
@@ -313,13 +310,13 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
313
310
|
if (!this.agent) this.agent = await this.initializeAgent();
|
|
314
311
|
await this.setupTracingIfNeeded(context);
|
|
315
312
|
const result = await this.runAgent(prompt, context, callApiOptions);
|
|
316
|
-
|
|
313
|
+
logger.debug("[AgentsProvider] Agent run completed", {
|
|
317
314
|
outputLength: result.output?.length || 0,
|
|
318
315
|
tokenUsage: result.tokenUsage
|
|
319
316
|
});
|
|
320
317
|
return result;
|
|
321
318
|
} catch (error) {
|
|
322
|
-
|
|
319
|
+
logger.error("[AgentsProvider] Agent call failed", { error });
|
|
323
320
|
throw error;
|
|
324
321
|
}
|
|
325
322
|
}
|
|
@@ -327,14 +324,14 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
327
324
|
* Initialize the agent from configuration
|
|
328
325
|
*/
|
|
329
326
|
async initializeAgent() {
|
|
330
|
-
|
|
327
|
+
logger.debug("[AgentsProvider] Initializing agent");
|
|
331
328
|
if (!this.agentConfig.agent) throw new Error("No agent configuration provided");
|
|
332
329
|
try {
|
|
333
330
|
const agent = await loadAgentDefinition(this.agentConfig.agent);
|
|
334
|
-
|
|
331
|
+
logger.debug("[AgentsProvider] Agent initialized successfully", { name: agent.name });
|
|
335
332
|
return agent;
|
|
336
333
|
} catch (error) {
|
|
337
|
-
|
|
334
|
+
logger.error("[AgentsProvider] Failed to initialize agent", { error });
|
|
338
335
|
throw new Error(`Failed to initialize agent: ${error}`);
|
|
339
336
|
}
|
|
340
337
|
}
|
|
@@ -343,10 +340,10 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
343
340
|
*/
|
|
344
341
|
async setupTracingIfNeeded(context) {
|
|
345
342
|
if (!(this.agentConfig.tracing === true || context?.test?.metadata?.tracingEnabled === true || process.env.PROMPTFOO_TRACING_ENABLED === "true")) {
|
|
346
|
-
|
|
343
|
+
logger.debug("[AgentsProvider] Tracing not enabled");
|
|
347
344
|
return;
|
|
348
345
|
}
|
|
349
|
-
|
|
346
|
+
logger.debug("[AgentsProvider] Setting up tracing");
|
|
350
347
|
try {
|
|
351
348
|
this.tracingExporter = new OTLPTracingExporter({
|
|
352
349
|
otlpEndpoint: this.agentConfig.otlpEndpoint,
|
|
@@ -355,9 +352,9 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
355
352
|
});
|
|
356
353
|
await this.registerTracingExporter(this.tracingExporter);
|
|
357
354
|
startTraceExportLoop();
|
|
358
|
-
|
|
355
|
+
logger.debug("[AgentsProvider] Tracing setup complete");
|
|
359
356
|
} catch (error) {
|
|
360
|
-
|
|
357
|
+
logger.error("[AgentsProvider] Failed to setup tracing", { error });
|
|
361
358
|
}
|
|
362
359
|
}
|
|
363
360
|
/**
|
|
@@ -370,9 +367,9 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
370
367
|
maxBatchSize: 10,
|
|
371
368
|
scheduleDelay: 1e3
|
|
372
369
|
}));
|
|
373
|
-
|
|
370
|
+
logger.debug("[AgentsProvider] Tracing processor registered");
|
|
374
371
|
} catch (error) {
|
|
375
|
-
|
|
372
|
+
logger.error("[AgentsProvider] Failed to register tracing processor", { error });
|
|
376
373
|
throw error;
|
|
377
374
|
}
|
|
378
375
|
}
|
|
@@ -381,7 +378,7 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
381
378
|
*/
|
|
382
379
|
async runAgent(prompt, context, callApiOptions) {
|
|
383
380
|
try {
|
|
384
|
-
|
|
381
|
+
logger.debug("[AgentsProvider] Running agent", {
|
|
385
382
|
agentName: this.agent?.name,
|
|
386
383
|
maxTurns: this.agentConfig.maxTurns || 10
|
|
387
384
|
});
|
|
@@ -395,7 +392,7 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
395
392
|
const result = await getOrCreateTrace(async () => {
|
|
396
393
|
return await run(this.agent, prompt, runOptions);
|
|
397
394
|
});
|
|
398
|
-
|
|
395
|
+
logger.debug("[AgentsProvider] Agent run result", {
|
|
399
396
|
hasOutput: !!result.finalOutput,
|
|
400
397
|
turns: result.newItems?.length || 0
|
|
401
398
|
});
|
|
@@ -406,7 +403,7 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
406
403
|
cost: this.calculateCost(result)
|
|
407
404
|
};
|
|
408
405
|
} catch (error) {
|
|
409
|
-
|
|
406
|
+
logger.error("[AgentsProvider] Failed to run agent", { error });
|
|
410
407
|
throw error;
|
|
411
408
|
}
|
|
412
409
|
}
|
|
@@ -427,7 +424,7 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
427
424
|
*/
|
|
428
425
|
calculateCost(_result) {}
|
|
429
426
|
};
|
|
430
|
-
|
|
431
427
|
//#endregion
|
|
432
428
|
export { OpenAiAgentsProvider };
|
|
433
|
-
|
|
429
|
+
|
|
430
|
+
//# sourceMappingURL=agents-CXknwsFX.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import "./fetch-
|
|
4
|
-
import
|
|
5
|
-
import "./
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { S as getEnvInt, o as logger } from "./logger-KkObSCzq.js";
|
|
3
|
+
import "./fetch-BMv0O527.js";
|
|
4
|
+
import "./accounts-CMqkzrVf.js";
|
|
5
|
+
import "./cloud-Bc9526yV.js";
|
|
6
|
+
import { r as telemetry } from "./telemetry-C2YDkUQH.js";
|
|
7
|
+
import { o as getCache, s as isCacheEnabled } from "./cache-CG0SlR1d.js";
|
|
8
|
+
import { n as createBedrockRequestHandler, r as hasProxyEnv, t as AwsBedrockGenericProvider } from "./base-B4QJRyFS.js";
|
|
9
9
|
//#region src/providers/bedrock/agents.ts
|
|
10
10
|
/**
|
|
11
11
|
* AWS Bedrock Agents provider for invoking deployed AI agents.
|
|
@@ -56,7 +56,7 @@ var AwsBedrockAgentsProvider = class extends AwsBedrockGenericProvider {
|
|
|
56
56
|
...options.config,
|
|
57
57
|
agentId: options.config?.agentId || agentId
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
telemetry.record("feature_used", {
|
|
60
60
|
feature: "bedrock-agents",
|
|
61
61
|
provider: "bedrock"
|
|
62
62
|
});
|
|
@@ -72,14 +72,7 @@ var AwsBedrockAgentsProvider = class extends AwsBedrockGenericProvider {
|
|
|
72
72
|
*/
|
|
73
73
|
async getAgentRuntimeClient() {
|
|
74
74
|
if (!this.agentRuntimeClient) {
|
|
75
|
-
|
|
76
|
-
if (getEnvString("HTTP_PROXY") || getEnvString("HTTPS_PROXY")) try {
|
|
77
|
-
const { NodeHttpHandler } = await import("@smithy/node-http-handler");
|
|
78
|
-
const { ProxyAgent } = await import("proxy-agent");
|
|
79
|
-
handler = new NodeHttpHandler({ httpsAgent: new ProxyAgent() });
|
|
80
|
-
} catch {
|
|
81
|
-
throw new Error("The @smithy/node-http-handler package is required for proxy support. Please install it.");
|
|
82
|
-
}
|
|
75
|
+
const handler = hasProxyEnv() ? await createBedrockRequestHandler() : void 0;
|
|
83
76
|
try {
|
|
84
77
|
const { BedrockAgentRuntimeClient } = await import("@aws-sdk/client-bedrock-agent-runtime");
|
|
85
78
|
const credentials = await this.getCredentials();
|
|
@@ -87,11 +80,11 @@ var AwsBedrockAgentsProvider = class extends AwsBedrockGenericProvider {
|
|
|
87
80
|
region: this.getRegion(),
|
|
88
81
|
maxAttempts: getEnvInt("AWS_BEDROCK_MAX_RETRIES", 10),
|
|
89
82
|
retryMode: "adaptive",
|
|
90
|
-
...
|
|
91
|
-
...
|
|
83
|
+
...handler ? { requestHandler: handler } : {},
|
|
84
|
+
...credentials ? { credentials } : {}
|
|
92
85
|
});
|
|
93
86
|
} catch (err) {
|
|
94
|
-
|
|
87
|
+
logger.error(`Error creating BedrockAgentRuntimeClient: ${err}`);
|
|
95
88
|
throw new Error("The @aws-sdk/client-bedrock-agent-runtime package is required. Please install it: npm install @aws-sdk/client-bedrock-agent-runtime");
|
|
96
89
|
}
|
|
97
90
|
}
|
|
@@ -148,7 +141,7 @@ var AwsBedrockAgentsProvider = class extends AwsBedrockGenericProvider {
|
|
|
148
141
|
}
|
|
149
142
|
output += decoder.decode();
|
|
150
143
|
} catch (error) {
|
|
151
|
-
|
|
144
|
+
logger.error(`Error processing agent response stream: ${error}`);
|
|
152
145
|
throw error;
|
|
153
146
|
}
|
|
154
147
|
}
|
|
@@ -181,7 +174,7 @@ var AwsBedrockAgentsProvider = class extends AwsBedrockGenericProvider {
|
|
|
181
174
|
...this.config.actionGroups && { actionGroups: this.config.actionGroups },
|
|
182
175
|
...this.config.inputDataConfig && { inputDataConfig: this.config.inputDataConfig }
|
|
183
176
|
};
|
|
184
|
-
|
|
177
|
+
logger.debug(`Invoking Bedrock agent ${this.config.agentId} with session ${sessionId}`);
|
|
185
178
|
const cache = await getCache();
|
|
186
179
|
const cacheKey = `bedrock-agent:${this.config.agentId}:${JSON.stringify({
|
|
187
180
|
prompt,
|
|
@@ -191,7 +184,7 @@ var AwsBedrockAgentsProvider = class extends AwsBedrockGenericProvider {
|
|
|
191
184
|
if (isCacheEnabled()) {
|
|
192
185
|
const cached = await cache.get(cacheKey);
|
|
193
186
|
if (cached) {
|
|
194
|
-
|
|
187
|
+
logger.debug("Returning cached Bedrock Agents response");
|
|
195
188
|
try {
|
|
196
189
|
const parsed = JSON.parse(cached);
|
|
197
190
|
if (parsed && typeof parsed === "object") return {
|
|
@@ -199,7 +192,7 @@ var AwsBedrockAgentsProvider = class extends AwsBedrockGenericProvider {
|
|
|
199
192
|
cached: true
|
|
200
193
|
};
|
|
201
194
|
} catch {
|
|
202
|
-
|
|
195
|
+
logger.warn("Failed to parse cached Bedrock Agents response, ignoring cache");
|
|
203
196
|
}
|
|
204
197
|
}
|
|
205
198
|
}
|
|
@@ -223,11 +216,11 @@ var AwsBedrockAgentsProvider = class extends AwsBedrockGenericProvider {
|
|
|
223
216
|
if (isCacheEnabled()) try {
|
|
224
217
|
await cache.set(cacheKey, JSON.stringify(result));
|
|
225
218
|
} catch (err) {
|
|
226
|
-
|
|
219
|
+
logger.error(`Failed to cache response: ${err}`);
|
|
227
220
|
}
|
|
228
221
|
return result;
|
|
229
222
|
} catch (error) {
|
|
230
|
-
|
|
223
|
+
logger.error(`Bedrock Agents invocation failed: ${error}`);
|
|
231
224
|
if (error.name === "ResourceNotFoundException") return { error: `Agent or alias not found. Verify agentId: ${this.config.agentId} and agentAliasId: ${this.config.agentAliasId}` };
|
|
232
225
|
else if (error.name === "AccessDeniedException") return { error: "Access denied. Check IAM permissions for bedrock:InvokeAgent" };
|
|
233
226
|
else if (error.name === "ValidationException") return { error: `Invalid configuration: ${error.message}` };
|
|
@@ -236,7 +229,7 @@ var AwsBedrockAgentsProvider = class extends AwsBedrockGenericProvider {
|
|
|
236
229
|
}
|
|
237
230
|
}
|
|
238
231
|
};
|
|
239
|
-
|
|
240
232
|
//#endregion
|
|
241
233
|
export { AwsBedrockAgentsProvider };
|
|
242
|
-
|
|
234
|
+
|
|
235
|
+
//# sourceMappingURL=agents-DeH4Gu94.js.map
|
|
@@ -1,30 +1,29 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { O as
|
|
3
|
-
import { n as fetchWithProxy } from "./fetch-
|
|
4
|
-
import "./cloud-
|
|
5
|
-
import { r as importModule } from "./esm-
|
|
6
|
-
import { t as OpenAiGenericProvider } from "./openai-
|
|
2
|
+
import { O as state, o as logger } from "./logger-KkObSCzq.js";
|
|
3
|
+
import { n as fetchWithProxy } from "./fetch-BMv0O527.js";
|
|
4
|
+
import "./cloud-Bc9526yV.js";
|
|
5
|
+
import { r as importModule } from "./esm-C03C-mv3.js";
|
|
6
|
+
import { t as OpenAiGenericProvider } from "./openai-DhbB7eWK.js";
|
|
7
7
|
import path from "path";
|
|
8
8
|
import { BatchTraceProcessor, addTraceProcessor, getOrCreateTrace, run, startTraceExportLoop } from "@openai/agents";
|
|
9
|
-
|
|
10
9
|
//#region src/providers/openai/agents-loader.ts
|
|
11
10
|
/**
|
|
12
11
|
* Load agent definition from file path or return inline definition
|
|
13
12
|
*/
|
|
14
13
|
async function loadAgentDefinition(agentConfig) {
|
|
15
14
|
if (isAgentInstance(agentConfig)) {
|
|
16
|
-
|
|
15
|
+
logger.debug("[AgentsLoader] Using provided Agent instance");
|
|
17
16
|
return agentConfig;
|
|
18
17
|
}
|
|
19
18
|
if (typeof agentConfig === "string" && agentConfig.startsWith("file://")) {
|
|
20
|
-
|
|
19
|
+
logger.debug("[AgentsLoader] Loading agent from file", { path: agentConfig });
|
|
21
20
|
return await loadAgentFromFile(agentConfig);
|
|
22
21
|
}
|
|
23
22
|
if (typeof agentConfig === "object") {
|
|
24
|
-
|
|
23
|
+
logger.debug("[AgentsLoader] Creating agent from inline definition");
|
|
25
24
|
return await createAgentFromDefinition(agentConfig);
|
|
26
25
|
}
|
|
27
|
-
|
|
26
|
+
logger.debug("[AgentsLoader] Invalid agent configuration", {
|
|
28
27
|
type: typeof agentConfig,
|
|
29
28
|
keys: typeof agentConfig === "object" && agentConfig !== null ? Object.keys(agentConfig).slice(0, 5) : void 0
|
|
30
29
|
});
|
|
@@ -35,14 +34,14 @@ async function loadAgentDefinition(agentConfig) {
|
|
|
35
34
|
*/
|
|
36
35
|
async function loadAgentFromFile(filePath) {
|
|
37
36
|
const resolvedPath = resolveFilePath(filePath);
|
|
38
|
-
|
|
37
|
+
logger.debug("[AgentsLoader] Loading agent from resolved path", { path: resolvedPath });
|
|
39
38
|
try {
|
|
40
39
|
const module = await importModule(resolvedPath);
|
|
41
40
|
const agent = module.default || module;
|
|
42
41
|
if (!isAgentInstance(agent)) throw new Error(`File ${resolvedPath} does not export an Agent instance`);
|
|
43
42
|
return agent;
|
|
44
43
|
} catch (error) {
|
|
45
|
-
|
|
44
|
+
logger.error("[AgentsLoader] Failed to load agent from file", {
|
|
46
45
|
path: resolvedPath,
|
|
47
46
|
error
|
|
48
47
|
});
|
|
@@ -65,7 +64,7 @@ async function createAgentFromDefinition(definition) {
|
|
|
65
64
|
handoffs: definition.handoffs
|
|
66
65
|
});
|
|
67
66
|
} catch (error) {
|
|
68
|
-
|
|
67
|
+
logger.error("[AgentsLoader] Failed to create agent from definition", {
|
|
69
68
|
name: definition?.name,
|
|
70
69
|
model: definition?.model,
|
|
71
70
|
toolCount: definition?.tools?.length,
|
|
@@ -87,16 +86,15 @@ function isAgentInstance(value) {
|
|
|
87
86
|
function resolveFilePath(filePath) {
|
|
88
87
|
const cleanPath = filePath.replace(/^file:\/\//, "");
|
|
89
88
|
if (path.isAbsolute(cleanPath)) return cleanPath;
|
|
90
|
-
const basePath =
|
|
89
|
+
const basePath = state.basePath || process.cwd();
|
|
91
90
|
const resolvedPath = path.resolve(basePath, cleanPath);
|
|
92
|
-
|
|
91
|
+
logger.debug("[AgentsLoader] Resolved file path", {
|
|
93
92
|
original: filePath,
|
|
94
93
|
basePath,
|
|
95
94
|
resolved: resolvedPath
|
|
96
95
|
});
|
|
97
96
|
return resolvedPath;
|
|
98
97
|
}
|
|
99
|
-
|
|
100
98
|
//#endregion
|
|
101
99
|
//#region src/providers/openai/agents-tracing.ts
|
|
102
100
|
/**
|
|
@@ -119,14 +117,14 @@ var OTLPTracingExporter = class {
|
|
|
119
117
|
*/
|
|
120
118
|
async export(items, signal) {
|
|
121
119
|
if (items.length === 0) {
|
|
122
|
-
|
|
120
|
+
logger.debug("[AgentsTracing] No items to export");
|
|
123
121
|
return;
|
|
124
122
|
}
|
|
125
|
-
|
|
123
|
+
logger.debug(`[AgentsTracing] Exporting ${items.length} items to OTLP`);
|
|
126
124
|
try {
|
|
127
125
|
const otlpPayload = this.transformToOTLP(items);
|
|
128
126
|
const url = `${this.otlpEndpoint}/v1/traces`;
|
|
129
|
-
|
|
127
|
+
logger.debug("[AgentsTracing] Sending OTLP payload", {
|
|
130
128
|
url,
|
|
131
129
|
spanCount: otlpPayload.resourceSpans[0]?.scopeSpans[0]?.spans?.length || 0
|
|
132
130
|
});
|
|
@@ -136,10 +134,10 @@ var OTLPTracingExporter = class {
|
|
|
136
134
|
body: JSON.stringify(otlpPayload),
|
|
137
135
|
signal
|
|
138
136
|
});
|
|
139
|
-
if (response.ok)
|
|
140
|
-
else
|
|
137
|
+
if (response.ok) logger.debug("[AgentsTracing] Successfully exported traces to OTLP");
|
|
138
|
+
else logger.error(`[AgentsTracing] OTLP export failed: ${response.status} ${response.statusText}`);
|
|
141
139
|
} catch (error) {
|
|
142
|
-
|
|
140
|
+
logger.error("[AgentsTracing] Failed to export traces to OTLP", { error });
|
|
143
141
|
}
|
|
144
142
|
}
|
|
145
143
|
/**
|
|
@@ -253,7 +251,7 @@ var OTLPTracingExporter = class {
|
|
|
253
251
|
else if (cleanHex.length < targetLength) cleanHex = cleanHex.padEnd(targetLength, "0");
|
|
254
252
|
return Buffer.from(cleanHex, "hex").toString("base64");
|
|
255
253
|
} catch (error) {
|
|
256
|
-
|
|
254
|
+
logger.error(`[AgentsTracing] Failed to convert hex to base64: ${hex}`, { error });
|
|
257
255
|
const fallbackLen = kind === "span" ? 16 : 32;
|
|
258
256
|
return Buffer.from(this.generateRandomHex(fallbackLen), "hex").toString("base64");
|
|
259
257
|
}
|
|
@@ -280,7 +278,6 @@ var OTLPTracingExporter = class {
|
|
|
280
278
|
return buffer.toString("hex").substring(0, length);
|
|
281
279
|
}
|
|
282
280
|
};
|
|
283
|
-
|
|
284
281
|
//#endregion
|
|
285
282
|
//#region src/providers/openai/agents.ts
|
|
286
283
|
/**
|
|
@@ -307,7 +304,7 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
307
304
|
* Call the agent with the given prompt
|
|
308
305
|
*/
|
|
309
306
|
async callApi(prompt, context, callApiOptions) {
|
|
310
|
-
|
|
307
|
+
logger.debug("[AgentsProvider] Starting agent call", {
|
|
311
308
|
prompt: prompt.substring(0, 100),
|
|
312
309
|
hasContext: !!context
|
|
313
310
|
});
|
|
@@ -315,13 +312,13 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
315
312
|
if (!this.agent) this.agent = await this.initializeAgent();
|
|
316
313
|
await this.setupTracingIfNeeded(context);
|
|
317
314
|
const result = await this.runAgent(prompt, context, callApiOptions);
|
|
318
|
-
|
|
315
|
+
logger.debug("[AgentsProvider] Agent run completed", {
|
|
319
316
|
outputLength: result.output?.length || 0,
|
|
320
317
|
tokenUsage: result.tokenUsage
|
|
321
318
|
});
|
|
322
319
|
return result;
|
|
323
320
|
} catch (error) {
|
|
324
|
-
|
|
321
|
+
logger.error("[AgentsProvider] Agent call failed", { error });
|
|
325
322
|
throw error;
|
|
326
323
|
}
|
|
327
324
|
}
|
|
@@ -329,14 +326,14 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
329
326
|
* Initialize the agent from configuration
|
|
330
327
|
*/
|
|
331
328
|
async initializeAgent() {
|
|
332
|
-
|
|
329
|
+
logger.debug("[AgentsProvider] Initializing agent");
|
|
333
330
|
if (!this.agentConfig.agent) throw new Error("No agent configuration provided");
|
|
334
331
|
try {
|
|
335
332
|
const agent = await loadAgentDefinition(this.agentConfig.agent);
|
|
336
|
-
|
|
333
|
+
logger.debug("[AgentsProvider] Agent initialized successfully", { name: agent.name });
|
|
337
334
|
return agent;
|
|
338
335
|
} catch (error) {
|
|
339
|
-
|
|
336
|
+
logger.error("[AgentsProvider] Failed to initialize agent", { error });
|
|
340
337
|
throw new Error(`Failed to initialize agent: ${error}`);
|
|
341
338
|
}
|
|
342
339
|
}
|
|
@@ -345,10 +342,10 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
345
342
|
*/
|
|
346
343
|
async setupTracingIfNeeded(context) {
|
|
347
344
|
if (!(this.agentConfig.tracing === true || context?.test?.metadata?.tracingEnabled === true || process.env.PROMPTFOO_TRACING_ENABLED === "true")) {
|
|
348
|
-
|
|
345
|
+
logger.debug("[AgentsProvider] Tracing not enabled");
|
|
349
346
|
return;
|
|
350
347
|
}
|
|
351
|
-
|
|
348
|
+
logger.debug("[AgentsProvider] Setting up tracing");
|
|
352
349
|
try {
|
|
353
350
|
this.tracingExporter = new OTLPTracingExporter({
|
|
354
351
|
otlpEndpoint: this.agentConfig.otlpEndpoint,
|
|
@@ -357,9 +354,9 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
357
354
|
});
|
|
358
355
|
await this.registerTracingExporter(this.tracingExporter);
|
|
359
356
|
startTraceExportLoop();
|
|
360
|
-
|
|
357
|
+
logger.debug("[AgentsProvider] Tracing setup complete");
|
|
361
358
|
} catch (error) {
|
|
362
|
-
|
|
359
|
+
logger.error("[AgentsProvider] Failed to setup tracing", { error });
|
|
363
360
|
}
|
|
364
361
|
}
|
|
365
362
|
/**
|
|
@@ -372,9 +369,9 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
372
369
|
maxBatchSize: 10,
|
|
373
370
|
scheduleDelay: 1e3
|
|
374
371
|
}));
|
|
375
|
-
|
|
372
|
+
logger.debug("[AgentsProvider] Tracing processor registered");
|
|
376
373
|
} catch (error) {
|
|
377
|
-
|
|
374
|
+
logger.error("[AgentsProvider] Failed to register tracing processor", { error });
|
|
378
375
|
throw error;
|
|
379
376
|
}
|
|
380
377
|
}
|
|
@@ -383,7 +380,7 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
383
380
|
*/
|
|
384
381
|
async runAgent(prompt, context, callApiOptions) {
|
|
385
382
|
try {
|
|
386
|
-
|
|
383
|
+
logger.debug("[AgentsProvider] Running agent", {
|
|
387
384
|
agentName: this.agent?.name,
|
|
388
385
|
maxTurns: this.agentConfig.maxTurns || 10
|
|
389
386
|
});
|
|
@@ -397,7 +394,7 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
397
394
|
const result = await getOrCreateTrace(async () => {
|
|
398
395
|
return await run(this.agent, prompt, runOptions);
|
|
399
396
|
});
|
|
400
|
-
|
|
397
|
+
logger.debug("[AgentsProvider] Agent run result", {
|
|
401
398
|
hasOutput: !!result.finalOutput,
|
|
402
399
|
turns: result.newItems?.length || 0
|
|
403
400
|
});
|
|
@@ -408,7 +405,7 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
408
405
|
cost: this.calculateCost(result)
|
|
409
406
|
};
|
|
410
407
|
} catch (error) {
|
|
411
|
-
|
|
408
|
+
logger.error("[AgentsProvider] Failed to run agent", { error });
|
|
412
409
|
throw error;
|
|
413
410
|
}
|
|
414
411
|
}
|
|
@@ -429,7 +426,7 @@ var OpenAiAgentsProvider = class extends OpenAiGenericProvider {
|
|
|
429
426
|
*/
|
|
430
427
|
calculateCost(_result) {}
|
|
431
428
|
};
|
|
432
|
-
|
|
433
429
|
//#endregion
|
|
434
430
|
export { OpenAiAgentsProvider };
|
|
435
|
-
|
|
431
|
+
|
|
432
|
+
//# sourceMappingURL=agents-Dy2YpZpa.js.map
|