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,25 +1,23 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { C as getEnvString, E as isCI, o as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { C as getEnvString, E as isCI, o as logger } from "./logger-KkObSCzq.js";
|
|
3
|
+
import { D as TERMINAL_MAX_WIDTH, i as fetchWithTimeout } from "./fetch-BMv0O527.js";
|
|
4
|
+
import { c as writeGlobalConfigPartial, o as readGlobalConfig, r as CloudConfig, s as writeGlobalConfig } from "./cloud-Bc9526yV.js";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
import input from "@inquirer/input";
|
|
7
7
|
import chalk from "chalk";
|
|
8
|
-
|
|
9
|
-
//#region src/types/email.ts
|
|
10
|
-
const EMAIL_OK_STATUS = "ok";
|
|
11
8
|
const BAD_EMAIL_RESULT = "bad_email";
|
|
12
9
|
const EmailValidationStatus = {
|
|
13
|
-
OK:
|
|
10
|
+
OK: "ok",
|
|
14
11
|
EXCEEDED_LIMIT: "exceeded_limit",
|
|
15
12
|
SHOW_USAGE_WARNING: "show_usage_warning",
|
|
13
|
+
EMAIL_VERIFICATION_REQUIRED: "email_verification_required",
|
|
16
14
|
RISKY_EMAIL: "risky_email",
|
|
17
15
|
DISPOSABLE_EMAIL: "disposable_email"
|
|
18
16
|
};
|
|
19
17
|
const NO_EMAIL_STATUS = "no_email";
|
|
20
|
-
|
|
21
18
|
//#endregion
|
|
22
19
|
//#region src/globalConfig/accounts.ts
|
|
20
|
+
const CI_PLACEHOLDER_EMAIL = "ci-placeholder@promptfoo.dev";
|
|
23
21
|
function getUserId() {
|
|
24
22
|
let globalConfig = readGlobalConfig();
|
|
25
23
|
if (!globalConfig?.id) {
|
|
@@ -85,31 +83,46 @@ function getAuthMethod() {
|
|
|
85
83
|
* Used by both CLI and server routes
|
|
86
84
|
*/
|
|
87
85
|
async function checkEmailStatus(options) {
|
|
88
|
-
const { default: telemetry } = await import("./telemetry-
|
|
89
|
-
const
|
|
86
|
+
const { default: telemetry } = await import("./telemetry-D4W5hboe.js");
|
|
87
|
+
const ciMode = isCI();
|
|
88
|
+
const userEmail = ciMode ? CI_PLACEHOLDER_EMAIL : getUserEmail();
|
|
90
89
|
if (!userEmail) return {
|
|
91
90
|
status: NO_EMAIL_STATUS,
|
|
92
91
|
hasEmail: false,
|
|
93
92
|
message: "Redteam evals require email verification. Please enter your work email:"
|
|
94
93
|
};
|
|
94
|
+
if (ciMode) return {
|
|
95
|
+
status: EmailValidationStatus.OK,
|
|
96
|
+
hasEmail: true,
|
|
97
|
+
email: userEmail
|
|
98
|
+
};
|
|
95
99
|
try {
|
|
96
100
|
const validateParam = options?.validate ? "&validate=true" : "";
|
|
97
101
|
const timeout = options?.validate ? 3e3 : 500;
|
|
98
|
-
if (options?.validate)
|
|
102
|
+
if (options?.validate) logger.info(`Checking email...`);
|
|
99
103
|
const data = await (await fetchWithTimeout(`${getEnvString("PROMPTFOO_CLOUD_API_URL", "https://api.promptfoo.app")}/api/users/status?email=${encodeURIComponent(userEmail)}${validateParam}`, void 0, timeout)).json();
|
|
100
|
-
if (options?.validate) if (new Set([
|
|
101
|
-
|
|
104
|
+
if (options?.validate) if (new Set([
|
|
105
|
+
EmailValidationStatus.RISKY_EMAIL,
|
|
106
|
+
EmailValidationStatus.DISPOSABLE_EMAIL,
|
|
107
|
+
EmailValidationStatus.EMAIL_VERIFICATION_REQUIRED
|
|
108
|
+
]).has(data.status)) {
|
|
109
|
+
if (data.status === EmailValidationStatus.EMAIL_VERIFICATION_REQUIRED) {
|
|
110
|
+
setUserEmailValidated(false);
|
|
111
|
+
setUserEmailNeedsValidation(true);
|
|
112
|
+
}
|
|
113
|
+
if (data.status === EmailValidationStatus.RISKY_EMAIL || data.status === EmailValidationStatus.DISPOSABLE_EMAIL) await telemetry.saveConsent(userEmail, { source: "filteredInvalidEmail" });
|
|
114
|
+
} else {
|
|
102
115
|
setUserEmailValidated(true);
|
|
103
116
|
await telemetry.saveConsent(userEmail, { source: "promptForEmailValidated" });
|
|
104
117
|
}
|
|
105
118
|
return {
|
|
106
119
|
status: data.status,
|
|
107
|
-
message: data.message,
|
|
120
|
+
message: data.message ?? data.error,
|
|
108
121
|
email: userEmail,
|
|
109
122
|
hasEmail: true
|
|
110
123
|
};
|
|
111
124
|
} catch (e) {
|
|
112
|
-
|
|
125
|
+
logger.debug(`Failed to check user status: ${e}`);
|
|
113
126
|
return {
|
|
114
127
|
status: EmailValidationStatus.OK,
|
|
115
128
|
message: "Unable to verify email status, but proceeding",
|
|
@@ -119,22 +132,23 @@ async function checkEmailStatus(options) {
|
|
|
119
132
|
}
|
|
120
133
|
}
|
|
121
134
|
async function promptForEmailUnverified() {
|
|
122
|
-
const { default: telemetry } = await import("./telemetry-
|
|
135
|
+
const { default: telemetry } = await import("./telemetry-D4W5hboe.js");
|
|
136
|
+
const ciMode = isCI();
|
|
123
137
|
const existingEmail = getUserEmail();
|
|
124
|
-
let email =
|
|
125
|
-
const existingEmailNeedsValidation = !
|
|
126
|
-
const existingEmailValidated =
|
|
138
|
+
let email = ciMode ? CI_PLACEHOLDER_EMAIL : existingEmail;
|
|
139
|
+
const existingEmailNeedsValidation = !ciMode && getUserEmailNeedsValidation();
|
|
140
|
+
const existingEmailValidated = ciMode || getUserEmailValidated();
|
|
127
141
|
let emailNeedsValidation = existingEmailNeedsValidation && !existingEmailValidated;
|
|
128
142
|
if (!email) {
|
|
129
143
|
await telemetry.record("feature_used", { feature: "promptForEmailUnverified" });
|
|
130
144
|
const border = "─".repeat(TERMINAL_MAX_WIDTH);
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
145
|
+
logger.info("");
|
|
146
|
+
logger.info(chalk.cyan(border));
|
|
147
|
+
logger.info(chalk.cyan.bold(" Email Verification Required"));
|
|
148
|
+
logger.info(chalk.cyan(border));
|
|
149
|
+
logger.info("");
|
|
150
|
+
logger.info(" Red team scans require email verification to continue.");
|
|
151
|
+
logger.info("");
|
|
138
152
|
const emailSchema = z.email();
|
|
139
153
|
try {
|
|
140
154
|
email = await input({
|
|
@@ -147,7 +161,7 @@ async function promptForEmailUnverified() {
|
|
|
147
161
|
} catch (error) {
|
|
148
162
|
const err = error;
|
|
149
163
|
if (err?.name === "AbortPromptError" || err?.name === "ExitPromptError") process.exit(1);
|
|
150
|
-
|
|
164
|
+
logger.error(`failed to prompt for email: ${err}`);
|
|
151
165
|
throw err;
|
|
152
166
|
}
|
|
153
167
|
setUserEmail(email);
|
|
@@ -160,24 +174,35 @@ async function promptForEmailUnverified() {
|
|
|
160
174
|
}
|
|
161
175
|
async function checkEmailStatusAndMaybeExit(options) {
|
|
162
176
|
const result = await checkEmailStatus(options);
|
|
177
|
+
if (isCI()) return "ok";
|
|
163
178
|
if (result.status === EmailValidationStatus.RISKY_EMAIL || result.status === EmailValidationStatus.DISPOSABLE_EMAIL) {
|
|
164
|
-
|
|
179
|
+
logger.error("Please use a valid work email.");
|
|
165
180
|
setUserEmail("");
|
|
166
181
|
return BAD_EMAIL_RESULT;
|
|
167
182
|
}
|
|
168
183
|
if (result.status === EmailValidationStatus.EXCEEDED_LIMIT) {
|
|
169
|
-
|
|
184
|
+
logger.error("You have exceeded the maximum cloud inference limit. Please contact inquiries@promptfoo.dev to upgrade your account.");
|
|
185
|
+
process.exit(1);
|
|
186
|
+
}
|
|
187
|
+
if (result.status === EmailValidationStatus.EMAIL_VERIFICATION_REQUIRED) {
|
|
188
|
+
setUserEmailNeedsValidation(true);
|
|
189
|
+
setUserEmailValidated(false);
|
|
190
|
+
const message = result.message || "Your email address is not verified. Check your inbox for a verification link, then rerun the command.";
|
|
191
|
+
logger.error(message, {
|
|
192
|
+
status: result.status,
|
|
193
|
+
hasEmail: result.hasEmail
|
|
194
|
+
});
|
|
170
195
|
process.exit(1);
|
|
171
196
|
}
|
|
172
197
|
if (result.status === EmailValidationStatus.SHOW_USAGE_WARNING && result.message) {
|
|
173
198
|
const border = "=".repeat(TERMINAL_MAX_WIDTH);
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
199
|
+
logger.info(chalk.yellow(border));
|
|
200
|
+
logger.warn(chalk.yellow(result.message));
|
|
201
|
+
logger.info(chalk.yellow(border));
|
|
177
202
|
}
|
|
178
|
-
return
|
|
203
|
+
return "ok";
|
|
179
204
|
}
|
|
180
|
-
|
|
181
205
|
//#endregion
|
|
182
|
-
export { getAuthor as a, isLoggedIntoCloud as c,
|
|
183
|
-
|
|
206
|
+
export { getAuthor as a, isLoggedIntoCloud as c, getAuthMethod as i, promptForEmailUnverified as l, checkEmailStatusAndMaybeExit as n, getUserEmail as o, clearUserEmail as r, getUserId as s, checkEmailStatus as t, setUserEmail as u };
|
|
207
|
+
|
|
208
|
+
//# sourceMappingURL=accounts-CMqkzrVf.js.map
|
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
import { C as isCI, b as getEnvString, i as
|
|
2
|
-
import {
|
|
1
|
+
import { C as isCI, b as getEnvString, i as logger } from "./logger-CT3IKMKA.js";
|
|
2
|
+
import { O as TERMINAL_MAX_WIDTH, a as CloudConfig, c as writeGlobalConfig, l as writeGlobalConfigPartial, r as fetchWithTimeout, s as readGlobalConfig } from "./fetch-60Gzydls.js";
|
|
3
3
|
import chalk from "chalk";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import input from "@inquirer/input";
|
|
6
|
-
|
|
7
|
-
//#region src/types/email.ts
|
|
8
|
-
const EMAIL_OK_STATUS = "ok";
|
|
9
6
|
const BAD_EMAIL_RESULT = "bad_email";
|
|
10
7
|
const EmailValidationStatus = {
|
|
11
|
-
OK:
|
|
8
|
+
OK: "ok",
|
|
12
9
|
EXCEEDED_LIMIT: "exceeded_limit",
|
|
13
10
|
SHOW_USAGE_WARNING: "show_usage_warning",
|
|
11
|
+
EMAIL_VERIFICATION_REQUIRED: "email_verification_required",
|
|
14
12
|
RISKY_EMAIL: "risky_email",
|
|
15
13
|
DISPOSABLE_EMAIL: "disposable_email"
|
|
16
14
|
};
|
|
17
15
|
const NO_EMAIL_STATUS = "no_email";
|
|
18
|
-
|
|
19
16
|
//#endregion
|
|
20
17
|
//#region src/globalConfig/accounts.ts
|
|
18
|
+
const CI_PLACEHOLDER_EMAIL = "ci-placeholder@promptfoo.dev";
|
|
21
19
|
function getUserId() {
|
|
22
20
|
let globalConfig = readGlobalConfig();
|
|
23
21
|
if (!globalConfig?.id) {
|
|
@@ -78,31 +76,46 @@ function getAuthMethod() {
|
|
|
78
76
|
* Used by both CLI and server routes
|
|
79
77
|
*/
|
|
80
78
|
async function checkEmailStatus(options) {
|
|
81
|
-
const { default: telemetry } = await import("./telemetry-
|
|
82
|
-
const
|
|
79
|
+
const { default: telemetry } = await import("./telemetry-C15ziL8u.js").then((n) => n.n);
|
|
80
|
+
const ciMode = isCI();
|
|
81
|
+
const userEmail = ciMode ? CI_PLACEHOLDER_EMAIL : getUserEmail();
|
|
83
82
|
if (!userEmail) return {
|
|
84
83
|
status: NO_EMAIL_STATUS,
|
|
85
84
|
hasEmail: false,
|
|
86
85
|
message: "Redteam evals require email verification. Please enter your work email:"
|
|
87
86
|
};
|
|
87
|
+
if (ciMode) return {
|
|
88
|
+
status: EmailValidationStatus.OK,
|
|
89
|
+
hasEmail: true,
|
|
90
|
+
email: userEmail
|
|
91
|
+
};
|
|
88
92
|
try {
|
|
89
93
|
const validateParam = options?.validate ? "&validate=true" : "";
|
|
90
94
|
const timeout = options?.validate ? 3e3 : 500;
|
|
91
|
-
if (options?.validate)
|
|
95
|
+
if (options?.validate) logger.info(`Checking email...`);
|
|
92
96
|
const data = await (await fetchWithTimeout(`${getEnvString("PROMPTFOO_CLOUD_API_URL", "https://api.promptfoo.app")}/api/users/status?email=${encodeURIComponent(userEmail)}${validateParam}`, void 0, timeout)).json();
|
|
93
|
-
if (options?.validate) if (new Set([
|
|
94
|
-
|
|
97
|
+
if (options?.validate) if (new Set([
|
|
98
|
+
EmailValidationStatus.RISKY_EMAIL,
|
|
99
|
+
EmailValidationStatus.DISPOSABLE_EMAIL,
|
|
100
|
+
EmailValidationStatus.EMAIL_VERIFICATION_REQUIRED
|
|
101
|
+
]).has(data.status)) {
|
|
102
|
+
if (data.status === EmailValidationStatus.EMAIL_VERIFICATION_REQUIRED) {
|
|
103
|
+
setUserEmailValidated(false);
|
|
104
|
+
setUserEmailNeedsValidation(true);
|
|
105
|
+
}
|
|
106
|
+
if (data.status === EmailValidationStatus.RISKY_EMAIL || data.status === EmailValidationStatus.DISPOSABLE_EMAIL) await telemetry.saveConsent(userEmail, { source: "filteredInvalidEmail" });
|
|
107
|
+
} else {
|
|
95
108
|
setUserEmailValidated(true);
|
|
96
109
|
await telemetry.saveConsent(userEmail, { source: "promptForEmailValidated" });
|
|
97
110
|
}
|
|
98
111
|
return {
|
|
99
112
|
status: data.status,
|
|
100
|
-
message: data.message,
|
|
113
|
+
message: data.message ?? data.error,
|
|
101
114
|
email: userEmail,
|
|
102
115
|
hasEmail: true
|
|
103
116
|
};
|
|
104
117
|
} catch (e) {
|
|
105
|
-
|
|
118
|
+
logger.debug(`Failed to check user status: ${e}`);
|
|
106
119
|
return {
|
|
107
120
|
status: EmailValidationStatus.OK,
|
|
108
121
|
message: "Unable to verify email status, but proceeding",
|
|
@@ -112,22 +125,23 @@ async function checkEmailStatus(options) {
|
|
|
112
125
|
}
|
|
113
126
|
}
|
|
114
127
|
async function promptForEmailUnverified() {
|
|
115
|
-
const { default: telemetry } = await import("./telemetry-
|
|
128
|
+
const { default: telemetry } = await import("./telemetry-C15ziL8u.js").then((n) => n.n);
|
|
129
|
+
const ciMode = isCI();
|
|
116
130
|
const existingEmail = getUserEmail();
|
|
117
|
-
let email =
|
|
118
|
-
const existingEmailNeedsValidation = !
|
|
119
|
-
const existingEmailValidated =
|
|
131
|
+
let email = ciMode ? CI_PLACEHOLDER_EMAIL : existingEmail;
|
|
132
|
+
const existingEmailNeedsValidation = !ciMode && getUserEmailNeedsValidation();
|
|
133
|
+
const existingEmailValidated = ciMode || getUserEmailValidated();
|
|
120
134
|
let emailNeedsValidation = existingEmailNeedsValidation && !existingEmailValidated;
|
|
121
135
|
if (!email) {
|
|
122
136
|
await telemetry.record("feature_used", { feature: "promptForEmailUnverified" });
|
|
123
137
|
const border = "─".repeat(TERMINAL_MAX_WIDTH);
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
138
|
+
logger.info("");
|
|
139
|
+
logger.info(chalk.cyan(border));
|
|
140
|
+
logger.info(chalk.cyan.bold(" Email Verification Required"));
|
|
141
|
+
logger.info(chalk.cyan(border));
|
|
142
|
+
logger.info("");
|
|
143
|
+
logger.info(" Red team scans require email verification to continue.");
|
|
144
|
+
logger.info("");
|
|
131
145
|
const emailSchema = z.email();
|
|
132
146
|
try {
|
|
133
147
|
email = await input({
|
|
@@ -140,7 +154,7 @@ async function promptForEmailUnverified() {
|
|
|
140
154
|
} catch (error) {
|
|
141
155
|
const err = error;
|
|
142
156
|
if (err?.name === "AbortPromptError" || err?.name === "ExitPromptError") process.exit(1);
|
|
143
|
-
|
|
157
|
+
logger.error(`failed to prompt for email: ${err}`);
|
|
144
158
|
throw err;
|
|
145
159
|
}
|
|
146
160
|
setUserEmail(email);
|
|
@@ -153,24 +167,35 @@ async function promptForEmailUnverified() {
|
|
|
153
167
|
}
|
|
154
168
|
async function checkEmailStatusAndMaybeExit(options) {
|
|
155
169
|
const result = await checkEmailStatus(options);
|
|
170
|
+
if (isCI()) return "ok";
|
|
156
171
|
if (result.status === EmailValidationStatus.RISKY_EMAIL || result.status === EmailValidationStatus.DISPOSABLE_EMAIL) {
|
|
157
|
-
|
|
172
|
+
logger.error("Please use a valid work email.");
|
|
158
173
|
setUserEmail("");
|
|
159
174
|
return BAD_EMAIL_RESULT;
|
|
160
175
|
}
|
|
161
176
|
if (result.status === EmailValidationStatus.EXCEEDED_LIMIT) {
|
|
162
|
-
|
|
177
|
+
logger.error("You have exceeded the maximum cloud inference limit. Please contact inquiries@promptfoo.dev to upgrade your account.");
|
|
178
|
+
process.exit(1);
|
|
179
|
+
}
|
|
180
|
+
if (result.status === EmailValidationStatus.EMAIL_VERIFICATION_REQUIRED) {
|
|
181
|
+
setUserEmailNeedsValidation(true);
|
|
182
|
+
setUserEmailValidated(false);
|
|
183
|
+
const message = result.message || "Your email address is not verified. Check your inbox for a verification link, then rerun the command.";
|
|
184
|
+
logger.error(message, {
|
|
185
|
+
status: result.status,
|
|
186
|
+
hasEmail: result.hasEmail
|
|
187
|
+
});
|
|
163
188
|
process.exit(1);
|
|
164
189
|
}
|
|
165
190
|
if (result.status === EmailValidationStatus.SHOW_USAGE_WARNING && result.message) {
|
|
166
191
|
const border = "=".repeat(TERMINAL_MAX_WIDTH);
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
192
|
+
logger.info(chalk.yellow(border));
|
|
193
|
+
logger.warn(chalk.yellow(result.message));
|
|
194
|
+
logger.info(chalk.yellow(border));
|
|
170
195
|
}
|
|
171
|
-
return
|
|
196
|
+
return "ok";
|
|
172
197
|
}
|
|
173
|
-
|
|
174
198
|
//#endregion
|
|
175
|
-
export { getUserId as a, setUserEmail as c, getUserEmail as i,
|
|
176
|
-
|
|
199
|
+
export { getUserId as a, setUserEmail as c, getUserEmail as i, getAuthMethod as n, isLoggedIntoCloud as o, getAuthor as r, promptForEmailUnverified as s, checkEmailStatusAndMaybeExit as t };
|
|
200
|
+
|
|
201
|
+
//# sourceMappingURL=accounts-xrUGFA6n.js.map
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { o as
|
|
3
|
-
import { o as getCache, s as isCacheEnabled } from "./cache-
|
|
2
|
+
import { o as logger } from "./logger-KkObSCzq.js";
|
|
3
|
+
import { o as getCache, s as isCacheEnabled } from "./cache-CG0SlR1d.js";
|
|
4
4
|
import fs from "fs";
|
|
5
5
|
import path from "path";
|
|
6
6
|
import dedent from "dedent";
|
|
7
7
|
import crypto from "crypto";
|
|
8
|
-
|
|
9
8
|
//#region src/providers/agentic-utils.ts
|
|
10
9
|
/**
|
|
11
10
|
* Shared utilities for agentic providers (Claude Agent SDK, OpenCode SDK, etc.)
|
|
@@ -88,7 +87,7 @@ async function initializeAgenticCache(options, cacheKeyData) {
|
|
|
88
87
|
if (options.workingDir) try {
|
|
89
88
|
workingDirFingerprint = await getWorkingDirFingerprint(options.workingDir);
|
|
90
89
|
} catch (error) {
|
|
91
|
-
|
|
90
|
+
logger.error(dedent`Error getting working directory fingerprint for cache key - ${options.workingDir}: ${String(error)}
|
|
92
91
|
|
|
93
92
|
Caching is disabled.`);
|
|
94
93
|
return {
|
|
@@ -124,14 +123,14 @@ async function getCachedResponse(cacheResult, debugContext) {
|
|
|
124
123
|
try {
|
|
125
124
|
const cachedResponse = await cacheResult.cache.get(cacheResult.cacheKey);
|
|
126
125
|
if (cachedResponse) {
|
|
127
|
-
|
|
126
|
+
logger.debug(`Returning cached response${debugContext ? ` for ${debugContext}` : ""} (cache key: ${cacheResult.cacheKey})`);
|
|
128
127
|
return {
|
|
129
128
|
...JSON.parse(cachedResponse),
|
|
130
129
|
cached: true
|
|
131
130
|
};
|
|
132
131
|
}
|
|
133
132
|
} catch (error) {
|
|
134
|
-
|
|
133
|
+
logger.error(`Error getting cached response: ${String(error)}`);
|
|
135
134
|
}
|
|
136
135
|
}
|
|
137
136
|
/**
|
|
@@ -146,10 +145,10 @@ async function cacheResponse(cacheResult, response, debugContext) {
|
|
|
146
145
|
try {
|
|
147
146
|
await cacheResult.cache.set(cacheResult.cacheKey, JSON.stringify(response));
|
|
148
147
|
} catch (error) {
|
|
149
|
-
|
|
148
|
+
logger.error(`Error caching response${debugContext ? ` for ${debugContext}` : ""}: ${String(error)}`);
|
|
150
149
|
}
|
|
151
150
|
}
|
|
152
|
-
|
|
153
151
|
//#endregion
|
|
154
|
-
export {
|
|
155
|
-
|
|
152
|
+
export { initializeAgenticCache as i, generateCacheKey as n, getCachedResponse as r, cacheResponse as t };
|
|
153
|
+
|
|
154
|
+
//# sourceMappingURL=agentic-utils-BKIN5PKu.js.map
|
|
@@ -1,29 +1,28 @@
|
|
|
1
|
-
const require_logger = require(
|
|
2
|
-
const require_esm = require(
|
|
3
|
-
const require_fetch = require(
|
|
4
|
-
const require_openai = require(
|
|
1
|
+
const require_logger = require("./logger-Cp1GPUjj.cjs");
|
|
2
|
+
const require_esm = require("./esm-CnNt7sI4.cjs");
|
|
3
|
+
const require_fetch = require("./fetch-BxUk8odA.cjs");
|
|
4
|
+
const require_openai = require("./openai-Cuif0GEt.cjs");
|
|
5
5
|
let path = require("path");
|
|
6
6
|
path = require_logger.__toESM(path);
|
|
7
7
|
let _openai_agents = require("@openai/agents");
|
|
8
|
-
|
|
9
8
|
//#region src/providers/openai/agents-loader.ts
|
|
10
9
|
/**
|
|
11
10
|
* Load agent definition from file path or return inline definition
|
|
12
11
|
*/
|
|
13
12
|
async function loadAgentDefinition(agentConfig) {
|
|
14
13
|
if (isAgentInstance(agentConfig)) {
|
|
15
|
-
require_logger.
|
|
14
|
+
require_logger.logger.debug("[AgentsLoader] Using provided Agent instance");
|
|
16
15
|
return agentConfig;
|
|
17
16
|
}
|
|
18
17
|
if (typeof agentConfig === "string" && agentConfig.startsWith("file://")) {
|
|
19
|
-
require_logger.
|
|
18
|
+
require_logger.logger.debug("[AgentsLoader] Loading agent from file", { path: agentConfig });
|
|
20
19
|
return await loadAgentFromFile(agentConfig);
|
|
21
20
|
}
|
|
22
21
|
if (typeof agentConfig === "object") {
|
|
23
|
-
require_logger.
|
|
22
|
+
require_logger.logger.debug("[AgentsLoader] Creating agent from inline definition");
|
|
24
23
|
return await createAgentFromDefinition(agentConfig);
|
|
25
24
|
}
|
|
26
|
-
require_logger.
|
|
25
|
+
require_logger.logger.debug("[AgentsLoader] Invalid agent configuration", {
|
|
27
26
|
type: typeof agentConfig,
|
|
28
27
|
keys: typeof agentConfig === "object" && agentConfig !== null ? Object.keys(agentConfig).slice(0, 5) : void 0
|
|
29
28
|
});
|
|
@@ -34,14 +33,14 @@ async function loadAgentDefinition(agentConfig) {
|
|
|
34
33
|
*/
|
|
35
34
|
async function loadAgentFromFile(filePath) {
|
|
36
35
|
const resolvedPath = resolveFilePath(filePath);
|
|
37
|
-
require_logger.
|
|
36
|
+
require_logger.logger.debug("[AgentsLoader] Loading agent from resolved path", { path: resolvedPath });
|
|
38
37
|
try {
|
|
39
38
|
const module = await require_esm.importModule(resolvedPath);
|
|
40
39
|
const agent = module.default || module;
|
|
41
40
|
if (!isAgentInstance(agent)) throw new Error(`File ${resolvedPath} does not export an Agent instance`);
|
|
42
41
|
return agent;
|
|
43
42
|
} catch (error) {
|
|
44
|
-
require_logger.
|
|
43
|
+
require_logger.logger.error("[AgentsLoader] Failed to load agent from file", {
|
|
45
44
|
path: resolvedPath,
|
|
46
45
|
error
|
|
47
46
|
});
|
|
@@ -64,7 +63,7 @@ async function createAgentFromDefinition(definition) {
|
|
|
64
63
|
handoffs: definition.handoffs
|
|
65
64
|
});
|
|
66
65
|
} catch (error) {
|
|
67
|
-
require_logger.
|
|
66
|
+
require_logger.logger.error("[AgentsLoader] Failed to create agent from definition", {
|
|
68
67
|
name: definition?.name,
|
|
69
68
|
model: definition?.model,
|
|
70
69
|
toolCount: definition?.tools?.length,
|
|
@@ -86,16 +85,15 @@ function isAgentInstance(value) {
|
|
|
86
85
|
function resolveFilePath(filePath) {
|
|
87
86
|
const cleanPath = filePath.replace(/^file:\/\//, "");
|
|
88
87
|
if (path.default.isAbsolute(cleanPath)) return cleanPath;
|
|
89
|
-
const basePath = require_logger.
|
|
88
|
+
const basePath = require_logger.state.basePath || process.cwd();
|
|
90
89
|
const resolvedPath = path.default.resolve(basePath, cleanPath);
|
|
91
|
-
require_logger.
|
|
90
|
+
require_logger.logger.debug("[AgentsLoader] Resolved file path", {
|
|
92
91
|
original: filePath,
|
|
93
92
|
basePath,
|
|
94
93
|
resolved: resolvedPath
|
|
95
94
|
});
|
|
96
95
|
return resolvedPath;
|
|
97
96
|
}
|
|
98
|
-
|
|
99
97
|
//#endregion
|
|
100
98
|
//#region src/providers/openai/agents-tracing.ts
|
|
101
99
|
/**
|
|
@@ -118,14 +116,14 @@ var OTLPTracingExporter = class {
|
|
|
118
116
|
*/
|
|
119
117
|
async export(items, signal) {
|
|
120
118
|
if (items.length === 0) {
|
|
121
|
-
require_logger.
|
|
119
|
+
require_logger.logger.debug("[AgentsTracing] No items to export");
|
|
122
120
|
return;
|
|
123
121
|
}
|
|
124
|
-
require_logger.
|
|
122
|
+
require_logger.logger.debug(`[AgentsTracing] Exporting ${items.length} items to OTLP`);
|
|
125
123
|
try {
|
|
126
124
|
const otlpPayload = this.transformToOTLP(items);
|
|
127
125
|
const url = `${this.otlpEndpoint}/v1/traces`;
|
|
128
|
-
require_logger.
|
|
126
|
+
require_logger.logger.debug("[AgentsTracing] Sending OTLP payload", {
|
|
129
127
|
url,
|
|
130
128
|
spanCount: otlpPayload.resourceSpans[0]?.scopeSpans[0]?.spans?.length || 0
|
|
131
129
|
});
|
|
@@ -135,10 +133,10 @@ var OTLPTracingExporter = class {
|
|
|
135
133
|
body: JSON.stringify(otlpPayload),
|
|
136
134
|
signal
|
|
137
135
|
});
|
|
138
|
-
if (response.ok) require_logger.
|
|
139
|
-
else require_logger.
|
|
136
|
+
if (response.ok) require_logger.logger.debug("[AgentsTracing] Successfully exported traces to OTLP");
|
|
137
|
+
else require_logger.logger.error(`[AgentsTracing] OTLP export failed: ${response.status} ${response.statusText}`);
|
|
140
138
|
} catch (error) {
|
|
141
|
-
require_logger.
|
|
139
|
+
require_logger.logger.error("[AgentsTracing] Failed to export traces to OTLP", { error });
|
|
142
140
|
}
|
|
143
141
|
}
|
|
144
142
|
/**
|
|
@@ -252,7 +250,7 @@ var OTLPTracingExporter = class {
|
|
|
252
250
|
else if (cleanHex.length < targetLength) cleanHex = cleanHex.padEnd(targetLength, "0");
|
|
253
251
|
return Buffer.from(cleanHex, "hex").toString("base64");
|
|
254
252
|
} catch (error) {
|
|
255
|
-
require_logger.
|
|
253
|
+
require_logger.logger.error(`[AgentsTracing] Failed to convert hex to base64: ${hex}`, { error });
|
|
256
254
|
const fallbackLen = kind === "span" ? 16 : 32;
|
|
257
255
|
return Buffer.from(this.generateRandomHex(fallbackLen), "hex").toString("base64");
|
|
258
256
|
}
|
|
@@ -279,7 +277,6 @@ var OTLPTracingExporter = class {
|
|
|
279
277
|
return buffer.toString("hex").substring(0, length);
|
|
280
278
|
}
|
|
281
279
|
};
|
|
282
|
-
|
|
283
280
|
//#endregion
|
|
284
281
|
//#region src/providers/openai/agents.ts
|
|
285
282
|
/**
|
|
@@ -306,7 +303,7 @@ var OpenAiAgentsProvider = class extends require_openai.OpenAiGenericProvider {
|
|
|
306
303
|
* Call the agent with the given prompt
|
|
307
304
|
*/
|
|
308
305
|
async callApi(prompt, context, callApiOptions) {
|
|
309
|
-
require_logger.
|
|
306
|
+
require_logger.logger.debug("[AgentsProvider] Starting agent call", {
|
|
310
307
|
prompt: prompt.substring(0, 100),
|
|
311
308
|
hasContext: !!context
|
|
312
309
|
});
|
|
@@ -314,13 +311,13 @@ var OpenAiAgentsProvider = class extends require_openai.OpenAiGenericProvider {
|
|
|
314
311
|
if (!this.agent) this.agent = await this.initializeAgent();
|
|
315
312
|
await this.setupTracingIfNeeded(context);
|
|
316
313
|
const result = await this.runAgent(prompt, context, callApiOptions);
|
|
317
|
-
require_logger.
|
|
314
|
+
require_logger.logger.debug("[AgentsProvider] Agent run completed", {
|
|
318
315
|
outputLength: result.output?.length || 0,
|
|
319
316
|
tokenUsage: result.tokenUsage
|
|
320
317
|
});
|
|
321
318
|
return result;
|
|
322
319
|
} catch (error) {
|
|
323
|
-
require_logger.
|
|
320
|
+
require_logger.logger.error("[AgentsProvider] Agent call failed", { error });
|
|
324
321
|
throw error;
|
|
325
322
|
}
|
|
326
323
|
}
|
|
@@ -328,14 +325,14 @@ var OpenAiAgentsProvider = class extends require_openai.OpenAiGenericProvider {
|
|
|
328
325
|
* Initialize the agent from configuration
|
|
329
326
|
*/
|
|
330
327
|
async initializeAgent() {
|
|
331
|
-
require_logger.
|
|
328
|
+
require_logger.logger.debug("[AgentsProvider] Initializing agent");
|
|
332
329
|
if (!this.agentConfig.agent) throw new Error("No agent configuration provided");
|
|
333
330
|
try {
|
|
334
331
|
const agent = await loadAgentDefinition(this.agentConfig.agent);
|
|
335
|
-
require_logger.
|
|
332
|
+
require_logger.logger.debug("[AgentsProvider] Agent initialized successfully", { name: agent.name });
|
|
336
333
|
return agent;
|
|
337
334
|
} catch (error) {
|
|
338
|
-
require_logger.
|
|
335
|
+
require_logger.logger.error("[AgentsProvider] Failed to initialize agent", { error });
|
|
339
336
|
throw new Error(`Failed to initialize agent: ${error}`);
|
|
340
337
|
}
|
|
341
338
|
}
|
|
@@ -344,10 +341,10 @@ var OpenAiAgentsProvider = class extends require_openai.OpenAiGenericProvider {
|
|
|
344
341
|
*/
|
|
345
342
|
async setupTracingIfNeeded(context) {
|
|
346
343
|
if (!(this.agentConfig.tracing === true || context?.test?.metadata?.tracingEnabled === true || process.env.PROMPTFOO_TRACING_ENABLED === "true")) {
|
|
347
|
-
require_logger.
|
|
344
|
+
require_logger.logger.debug("[AgentsProvider] Tracing not enabled");
|
|
348
345
|
return;
|
|
349
346
|
}
|
|
350
|
-
require_logger.
|
|
347
|
+
require_logger.logger.debug("[AgentsProvider] Setting up tracing");
|
|
351
348
|
try {
|
|
352
349
|
this.tracingExporter = new OTLPTracingExporter({
|
|
353
350
|
otlpEndpoint: this.agentConfig.otlpEndpoint,
|
|
@@ -356,9 +353,9 @@ var OpenAiAgentsProvider = class extends require_openai.OpenAiGenericProvider {
|
|
|
356
353
|
});
|
|
357
354
|
await this.registerTracingExporter(this.tracingExporter);
|
|
358
355
|
(0, _openai_agents.startTraceExportLoop)();
|
|
359
|
-
require_logger.
|
|
356
|
+
require_logger.logger.debug("[AgentsProvider] Tracing setup complete");
|
|
360
357
|
} catch (error) {
|
|
361
|
-
require_logger.
|
|
358
|
+
require_logger.logger.error("[AgentsProvider] Failed to setup tracing", { error });
|
|
362
359
|
}
|
|
363
360
|
}
|
|
364
361
|
/**
|
|
@@ -371,9 +368,9 @@ var OpenAiAgentsProvider = class extends require_openai.OpenAiGenericProvider {
|
|
|
371
368
|
maxBatchSize: 10,
|
|
372
369
|
scheduleDelay: 1e3
|
|
373
370
|
}));
|
|
374
|
-
require_logger.
|
|
371
|
+
require_logger.logger.debug("[AgentsProvider] Tracing processor registered");
|
|
375
372
|
} catch (error) {
|
|
376
|
-
require_logger.
|
|
373
|
+
require_logger.logger.error("[AgentsProvider] Failed to register tracing processor", { error });
|
|
377
374
|
throw error;
|
|
378
375
|
}
|
|
379
376
|
}
|
|
@@ -382,7 +379,7 @@ var OpenAiAgentsProvider = class extends require_openai.OpenAiGenericProvider {
|
|
|
382
379
|
*/
|
|
383
380
|
async runAgent(prompt, context, callApiOptions) {
|
|
384
381
|
try {
|
|
385
|
-
require_logger.
|
|
382
|
+
require_logger.logger.debug("[AgentsProvider] Running agent", {
|
|
386
383
|
agentName: this.agent?.name,
|
|
387
384
|
maxTurns: this.agentConfig.maxTurns || 10
|
|
388
385
|
});
|
|
@@ -396,7 +393,7 @@ var OpenAiAgentsProvider = class extends require_openai.OpenAiGenericProvider {
|
|
|
396
393
|
const result = await (0, _openai_agents.getOrCreateTrace)(async () => {
|
|
397
394
|
return await (0, _openai_agents.run)(this.agent, prompt, runOptions);
|
|
398
395
|
});
|
|
399
|
-
require_logger.
|
|
396
|
+
require_logger.logger.debug("[AgentsProvider] Agent run result", {
|
|
400
397
|
hasOutput: !!result.finalOutput,
|
|
401
398
|
turns: result.newItems?.length || 0
|
|
402
399
|
});
|
|
@@ -407,7 +404,7 @@ var OpenAiAgentsProvider = class extends require_openai.OpenAiGenericProvider {
|
|
|
407
404
|
cost: this.calculateCost(result)
|
|
408
405
|
};
|
|
409
406
|
} catch (error) {
|
|
410
|
-
require_logger.
|
|
407
|
+
require_logger.logger.error("[AgentsProvider] Failed to run agent", { error });
|
|
411
408
|
throw error;
|
|
412
409
|
}
|
|
413
410
|
}
|
|
@@ -428,7 +425,7 @@ var OpenAiAgentsProvider = class extends require_openai.OpenAiGenericProvider {
|
|
|
428
425
|
*/
|
|
429
426
|
calculateCost(_result) {}
|
|
430
427
|
};
|
|
431
|
-
|
|
432
428
|
//#endregion
|
|
433
429
|
exports.OpenAiAgentsProvider = OpenAiAgentsProvider;
|
|
434
|
-
|
|
430
|
+
|
|
431
|
+
//# sourceMappingURL=agents-B0f4HICh.cjs.map
|