promptfoo 0.120.27 → 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/src/{ListApp-8WOe2nT6.js → ListApp-Du7YVwj5.js} +2 -4
- package/dist/src/accounts-BgNJDBE6.js +206 -0
- package/dist/src/{accounts-Fl2J3_Fu.cjs → accounts-Bx-x3bmW.cjs} +77 -78
- package/dist/src/{accounts-DVINui-2.js → accounts-CMqkzrVf.js} +39 -34
- package/dist/src/{accounts-CPDRAMND.js → accounts-xrUGFA6n.js} +38 -33
- package/dist/src/{agentic-utils-D922n6mm.js → agentic-utils-BKIN5PKu.js} +9 -10
- package/dist/src/{agents-BO2n8Z0d.cjs → agents-B0f4HICh.cjs} +37 -40
- package/dist/src/{agents-BXLmVsxR.js → agents-C-dDThPK.js} +37 -37
- package/dist/src/{agents-DgJf2-ez.cjs → agents-CErsqg5U.cjs} +16 -17
- package/dist/src/{agents-BcsN_BgB.js → agents-CVIn-Utx.js} +16 -12
- package/dist/src/{agents-hqgSV-3o.js → agents-CXknwsFX.js} +37 -40
- package/dist/src/{agents-pMfppv9Z.js → agents-DeH4Gu94.js} +18 -18
- package/dist/src/{agents-BdUTAwi-.js → agents-Dy2YpZpa.js} +38 -41
- package/dist/src/{agents-DNvSH78i.js → agents-aF4-T121.js} +16 -20
- package/dist/src/{aimlapi-DOib86oE.js → aimlapi-BAGZDo5G.js} +16 -18
- package/dist/src/{aimlapi-DtgPI0nE.js → aimlapi-BNfTBexL.js} +15 -17
- package/dist/src/{aimlapi-DTPACCB1.js → aimlapi-DHRKlBEA.js} +15 -4
- package/dist/src/{aimlapi-BE_Tg9Fl.cjs → aimlapi-tg0Gkcvr.cjs} +15 -16
- package/dist/src/app/assets/index-BFCZg7hQ.js +439 -0
- package/dist/src/app/index.html +1 -1
- package/dist/src/{audio-BRYU0BFo.js → audio-BRODU0UK.js} +7 -9
- package/dist/src/{audio-Cwo68yZS.cjs → audio-BWeaWovU.cjs} +6 -7
- package/dist/src/{audio-BnRUGAm_.js → audio-CHQ4r-RV.js} +6 -5
- package/dist/src/{audio-MSRki4JU.js → audio-tf_NBjlC.js} +6 -8
- package/dist/src/{base-h961VXYk.js → base-B0tcrnq_.js} +11 -13
- package/dist/src/{base-XB2tDJrB.js → base-B4QJRyFS.js} +11 -13
- package/dist/src/{base-pGVmXNl4.cjs → base-DBtwl2FR.cjs} +36 -38
- package/dist/src/base-fEDN28WM.js +193 -0
- package/dist/src/{blobs-BM_e6hCa.js → blobs-BAU-dXan.js} +9 -12
- package/dist/src/{blobs-CR5C4Ihh.js → blobs-Bpg5rH6i.js} +9 -12
- package/dist/src/{blobs-B-KQAFhX.cjs → blobs-DvS-O6be.cjs} +34 -37
- package/dist/src/blobs-qTYm-1PY.js +236 -0
- package/dist/src/{cache-CIpsoBZR.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-jsiwsAJv.js → cache-CG0SlR1d.js} +64 -66
- package/dist/src/{cache-BTVYfbka.cjs → cache-COish3-W.cjs} +114 -117
- package/dist/src/cache-D3eqDYGU.js +739 -0
- package/dist/src/{chat-D31K7C4u.cjs → chat-2K608PeQ.cjs} +20 -21
- package/dist/src/chat-BKm79wib.js +764 -0
- package/dist/src/{chat-B84t99NW.js → chat-CM_kyI8B.js} +20 -9
- package/dist/src/{chat-BcPjZXIp.js → chat-CRWNNq73.js} +41 -44
- package/dist/src/{chat-CcUCysjU.js → chat-CznLWr_D.js} +41 -44
- package/dist/src/{chat-DwWifjxi.js → chat-DHMH-N64.js} +20 -22
- package/dist/src/{chat-BE44YOc6.cjs → chat-DaqekjFr.cjs} +61 -64
- package/dist/src/{chat-DZM2GUHO.js → chat-DxysjBvt.js} +21 -23
- package/dist/src/{chatkit-D67HS_0b.js → chatkit-65VXf5SR.js} +58 -58
- package/dist/src/{chatkit-DAB_qfzI.js → chatkit-Be-Q-a9F.js} +58 -60
- package/dist/src/{chatkit-Biqb_wsD.js → chatkit-BxFvW8KY.js} +58 -60
- package/dist/src/{chatkit-PGG4ZYIn.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-SVM6AdBu.js → claude-agent-sdk-BLTu0WBO.js} +31 -31
- package/dist/src/{claude-agent-sdk-C9SiaQub.cjs → claude-agent-sdk-CJH22shf.cjs} +31 -28
- package/dist/src/{claude-agent-sdk-C-IOTPfo.js → claude-agent-sdk-D6_k9FKA.js} +31 -29
- package/dist/src/{claude-agent-sdk-CiluSyW1.js → claude-agent-sdk-Dy5lT-Tx.js} +33 -20
- package/dist/src/{cloud-CZ-q9Ier.js → cloud-Bc9526yV.js} +7 -9
- package/dist/src/cloud-DmE0EwsY.js +4 -0
- package/dist/src/{cloudflare-ai-BahKHyhh.js → cloudflare-ai-C9r2sRhw.js} +16 -18
- package/dist/src/{cloudflare-ai-Dxyt50Nl.js → cloudflare-ai-CWWJCRim.js} +16 -4
- package/dist/src/{cloudflare-ai-Dfahv5SY.cjs → cloudflare-ai-ClWSdor4.cjs} +16 -17
- package/dist/src/{cloudflare-ai-v_qZD6_q.js → cloudflare-ai-ICsOuD-z.js} +17 -19
- package/dist/src/{cloudflare-gateway-BPWoZIzJ.cjs → cloudflare-gateway-C2_-KG5o.cjs} +21 -22
- package/dist/src/{cloudflare-gateway-Bi_FpOFy.js → cloudflare-gateway-D6O7AlYb.js} +23 -23
- package/dist/src/{cloudflare-gateway-btS7h1OZ.js → cloudflare-gateway-D6xFc5pa.js} +21 -25
- package/dist/src/{cloudflare-gateway-C0guUNwk.js → cloudflare-gateway-pXGHxJ47.js} +26 -14
- package/dist/src/{codex-sdk-DSxAnbfT.js → codex-sdk-C6UMlxwV.js} +28 -29
- package/dist/src/{codex-sdk-IYVi9fuM.js → codex-sdk-DUwKWezN.js} +28 -27
- package/dist/src/{codex-sdk-DulY0ZRq.js → codex-sdk-GGAw0qbD.js} +28 -29
- package/dist/src/{codex-sdk-DFKMtAyf.cjs → codex-sdk-fAO0c3yA.cjs} +28 -29
- package/dist/src/{cometapi-DkNBMk0G.js → cometapi-BasUi7-_.js} +17 -19
- package/dist/src/{cometapi-DzrR3SR_.js → cometapi-Bbjp5V4x.js} +16 -4
- package/dist/src/{cometapi-C9EEpJzT.js → cometapi-DkXrKi5z.js} +21 -24
- package/dist/src/{cometapi-DIO64tf4.cjs → cometapi-vY6aDZgo.cjs} +21 -22
- package/dist/src/{completion-CG29bfKX.js → completion-6Mx_iXxK.js} +11 -13
- package/dist/src/{completion-Bgf1VJoq.js → completion-C5rtR_9P.js} +11 -13
- package/dist/src/{completion-CCRT4kX1.cjs → completion-CDOouNzq.cjs} +21 -23
- package/dist/src/completion-C_P3ypkJ.js +120 -0
- package/dist/src/{createHash-Dw_iLu31.js → createHash-CTQmL3G2.js} +2 -3
- package/dist/src/{createHash-CYQy4YeL.cjs → createHash-CfZSc0b4.cjs} +13 -14
- package/dist/src/{createHash-CJcfskIZ.js → createHash-Da8fMwqB.js} +2 -3
- package/dist/src/createHash-DmPQkvBh.js +15 -0
- package/dist/src/{docker-D-ayp2FW.js → docker-5KcG-_86.js} +18 -20
- package/dist/src/{docker-DNcLR4Ig.cjs → docker-BwsKwxFs.cjs} +18 -19
- package/dist/src/{docker-egERKxCF.js → docker-CZnqU1XV.js} +18 -7
- package/dist/src/{docker-B81N0t4e.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-B9dPm_BF.js → esm-C03C-mv3.js} +17 -20
- package/dist/src/{esm-D2pZ87fL.js → esm-CaIwzWR5.js} +18 -21
- package/dist/src/esm-Cd1AjG1D.js +379 -0
- package/dist/src/{esm-Ct-Joyue.cjs → esm-CnNt7sI4.cjs} +47 -49
- package/dist/src/eval-17JizQIv.js +15 -0
- package/dist/src/{eval-C-Nr6wX_.js → eval-DmFyWU7i.js} +47 -54
- package/dist/src/{evalResult-4BzI2tmj.js → evalResult-CDQiuUuf.js} +16 -12
- package/dist/src/{evalResult-DXMWJ3sx.js → evalResult-CTG2AHOS.js} +10 -11
- package/dist/src/evalResult-Cqj8pldJ.js +12 -0
- package/dist/src/{evalResult-CX8wQecI.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-8aGyV12L.js → evaluator-DPFRbFIL.js} +201 -229
- package/dist/src/{extractor-CD5yKL-G.js → extractor-CFG6bcWJ.js} +22 -24
- package/dist/src/{extractor-C031XmTA.cjs → extractor-DX36oYEv.cjs} +37 -39
- package/dist/src/{extractor-V5x_m1i0.js → extractor-M67RUtg6.js} +22 -24
- package/dist/src/extractor-YMU_Gvt8.js +374 -0
- package/dist/src/{fetch-D3OHf-lV.js → fetch-4M3YRaqL.js} +40 -45
- package/dist/src/fetch-60Gzydls.js +777 -0
- package/dist/src/{fetch-CXZI9RRr.js → fetch-BMv0O527.js} +23 -35
- package/dist/src/{fetch-BmbD-v1L.cjs → fetch-BxUk8odA.cjs} +244 -277
- 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-CdevI3An.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-Dres3qrN.cjs → genaiTracer-DN4dQywX.cjs} +13 -14
- package/dist/src/graders-Bu0H9nXi.js +32 -0
- package/dist/src/{graders-DTeBrzWp.js → graders-CHO8EPM4.js} +349 -397
- package/dist/src/graders-Cfhkvx-e.js +34 -0
- package/dist/src/{graders--1y2u9HO.js → graders-CpdqD9PI.js} +349 -397
- package/dist/src/graders-DClJVpGP.cjs +32 -0
- package/dist/src/{graders-DohM2dir.cjs → graders-DOXycdlG.cjs} +684 -732
- package/dist/src/graders-DcnJsrMO.js +32 -0
- package/dist/src/graders-R9rYUM0d.js +13466 -0
- package/dist/src/{image-C3wHC9_h.js → image-BmEZqVmk.js} +9 -10
- package/dist/src/{image-O1u4bCFg.js → image-CBBVXWuT.js} +9 -10
- package/dist/src/{image-DpKl2F15.cjs → image-CDLQOcqT.cjs} +6 -7
- package/dist/src/{image-DmE-niFE.js → image-DJEvKveK.js} +6 -5
- package/dist/src/{image-CuKHuccK.cjs → image-DTedmQPg.cjs} +29 -30
- package/dist/src/{image-B0U4Hqll.js → image-gvmivTEe.js} +7 -9
- package/dist/src/image-pAX56tPG.js +257 -0
- package/dist/src/{image-DNEIf_aI.js → image-tL5hIOFh.js} +6 -8
- package/dist/src/index.cjs +605 -689
- package/dist/src/index.d.cts +11 -7
- package/dist/src/index.d.ts +11 -3
- package/dist/src/index.js +570 -658
- package/dist/src/{interactiveCheck-Bxj1Swex.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-Be_zyW4L.js → knowledgeBase-CLJybhnF.js} +16 -16
- package/dist/src/{knowledgeBase-CEzQobWX.js → knowledgeBase-CoU-UQBg.js} +14 -9
- package/dist/src/{knowledgeBase-BZ41IFwq.js → knowledgeBase-DjWPVqSb.js} +14 -18
- package/dist/src/{knowledgeBase-D-5BMXlr.cjs → knowledgeBase-wkxuRFhA.cjs} +14 -15
- package/dist/src/{litellm-DnbRJ2if.js → litellm-B9Hysuri.js} +16 -18
- package/dist/src/{litellm-CRDqPhNI.js → litellm-CTfa0hqi.js} +15 -17
- package/dist/src/{litellm-hUSNM_M2.cjs → litellm-NYpQ8RQu.cjs} +15 -16
- package/dist/src/{litellm-9vR8zpfU.js → litellm-ePxtr9F1.js} +15 -4
- package/dist/src/{logger-CG1uZPbQ.js → logger-CT3IKMKA.js} +10 -29
- package/dist/src/{logger-B7sBeGa0.cjs → logger-Cp1GPUjj.cjs} +152 -180
- package/dist/src/logger-DLcq4dWf.js +713 -0
- package/dist/src/{logger-LSBxlt7a.js → logger-KkObSCzq.js} +13 -31
- package/dist/src/{luma-ray-Hm3d6VJE.cjs → luma-ray-B0GGNRc1.cjs} +20 -21
- package/dist/src/{luma-ray-drvgdpP9.js → luma-ray-BE2mOt6N.js} +20 -13
- package/dist/src/{luma-ray-4blv9iZ2.js → luma-ray-BW9IRGIc.js} +22 -21
- package/dist/src/{luma-ray-B2__8lYH.js → luma-ray-Cm1KZBhs.js} +20 -23
- package/dist/src/main.js +1170 -1321
- package/dist/src/{messages-XhiwCbi4.cjs → messages-1JrJs91T.cjs} +32 -34
- package/dist/src/{messages-CGPPidQr.js → messages-1x9atZmP.js} +22 -24
- package/dist/src/{messages-Uee41Mj5.js → messages-BLbWdsyt.js} +22 -24
- package/dist/src/messages-D8EA0oDc.js +240 -0
- package/dist/src/{meteor-BYykdXrV.js → meteor-44VjEACX.js} +3 -4
- package/dist/src/{meteor-CsopaHrH.js → meteor-D-SotUw9.js} +3 -4
- package/dist/src/{meteor-e-E-2vVl.cjs → meteor-DLZZ3osF.cjs} +3 -4
- package/dist/src/{meteor-C8lGP6P4.js → meteor-DUiCJRC-.js} +3 -4
- package/dist/src/{modelslab-yKz-ZNB4.js → modelslab-C1OLRmVX.js} +17 -10
- package/dist/src/{modelslab-E9gO-bYd.js → modelslab-CqXBy3U8.js} +18 -20
- package/dist/src/{modelslab-lUVW0cmB.cjs → modelslab-DcOSFwKh.cjs} +17 -18
- package/dist/src/{modelslab-ClBkr8_9.js → modelslab-X5-4LroM.js} +17 -19
- package/dist/src/{nova-reel-Dk8jNpId.js → nova-reel-BgS1ZWuK.js} +20 -13
- package/dist/src/{nova-reel-u2eF2Cxm.js → nova-reel-D2ZkOSyr.js} +22 -21
- package/dist/src/{nova-reel-D8CuO6QH.cjs → nova-reel-D9xfaMBs.cjs} +20 -21
- package/dist/src/{nova-reel-P9bwvtYX.js → nova-reel-DihqLeol.js} +20 -23
- package/dist/src/{nova-sonic-Ds1C-dpm.cjs → nova-sonic-DVu3mMIy.cjs} +30 -31
- package/dist/src/{nova-sonic-CK2rAiKi.js → nova-sonic-DezhVUYT.js} +30 -26
- package/dist/src/{nova-sonic-BaqWlkds.js → nova-sonic-P-CdUMlV.js} +30 -31
- package/dist/src/{nova-sonic-yZapPLv7.js → nova-sonic-Q3BOJeig.js} +31 -32
- package/dist/src/{openai-DUFopMrH.cjs → openai-Cuif0GEt.cjs} +8 -9
- package/dist/src/{openai-PblZ3jUE.js → openai-DElQ-fPX.js} +3 -4
- package/dist/src/{openai-CcN1B8Sb.js → openai-DhbB7eWK.js} +3 -4
- package/dist/src/openai-j-sE2O7r.js +44 -0
- package/dist/src/{openclaw-A-3_loM7.js → openclaw-BiSZPL7J.js} +20 -14
- package/dist/src/{openclaw-COn6QzDi.js → openclaw-Bv1DINsX.js} +20 -27
- package/dist/src/{openclaw-a3lylB-V.js → openclaw-D1D_ej1z.js} +21 -28
- package/dist/src/{openclaw-B6qqDr_u.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-oyf5wLGC.js → otlpReceiver--AIRW_S4.js} +53 -51
- package/dist/src/{otlpReceiver-BmmTiMjA.js → otlpReceiver-Bn5wGB1v.js} +53 -55
- package/dist/src/{otlpReceiver-lXsYVbpj.cjs → otlpReceiver-Diec4cln.cjs} +53 -55
- package/dist/src/{otlpReceiver-94URx7UW.js → otlpReceiver-g3ByGaXs.js} +53 -55
- package/dist/src/{providerRegistry-Cq_JK_CJ.js → providerRegistry-B0RUOLI_.js} +7 -8
- package/dist/src/{providerRegistry-DSSHjMKf.js → providerRegistry-CD8MEar9.js} +7 -8
- package/dist/src/{providerRegistry-CvHEVJad.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-BnFpbY_s.js → providers-BKRJTjBz.js} +1536 -1669
- package/dist/src/providers-C1rOSHiR.js +32 -0
- package/dist/src/{providers-Iil64vk9.js → providers-CFLy1_ji.js} +1543 -1676
- package/dist/src/{providers-DHbjzW2e.cjs → providers-CFu-TZl-.cjs} +1896 -2029
- 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-CcT5LH1M.js → pythonUtils-C3py6GC1.js} +18 -19
- package/dist/src/{pythonUtils-DBbuI3QJ.cjs → pythonUtils-CTU3Y3lw.cjs} +42 -43
- package/dist/src/{pythonUtils-hZ8LeQLv.js → pythonUtils-D5nxkQ0P.js} +18 -19
- package/dist/src/pythonUtils-D6fwaDSg.js +249 -0
- package/dist/src/{quiverai-BuI0tE39.js → quiverai-C2jVwbH1.js} +8 -7
- package/dist/src/{quiverai-DCGSZt4U.js → quiverai-CI6gYJVI.js} +8 -10
- package/dist/src/{quiverai-DiMVJQDz.cjs → quiverai-CLkWkyZc.cjs} +8 -9
- package/dist/src/{quiverai-fQNkExW4.js → quiverai-MHSxbmmZ.js} +9 -11
- package/dist/src/{render-Dj1smHEb.js → render-Drod8m7K.js} +4 -5
- package/dist/src/{responses-DOAFFENS.js → responses-BKqJmhhc.js} +22 -25
- package/dist/src/{responses-CxzoQoBe.js → responses-CGw0DCzh.js} +22 -25
- package/dist/src/responses-jxdehPkC.js +660 -0
- package/dist/src/{responses-ghR3IOfy.cjs → responses-tD4Bd4dc.cjs} +37 -40
- package/dist/src/rubyUtils-BUHu6PhO.js +5 -0
- package/dist/src/{rubyUtils-CwbGmgYN.js → rubyUtils-BUVePouc.js} +27 -20
- package/dist/src/rubyUtils-BcuGX77l.js +222 -0
- package/dist/src/{rubyUtils-DudlFZed.js → rubyUtils-Boc4HZzX.js} +18 -19
- package/dist/src/rubyUtils-CP42kMvq.cjs +4 -0
- package/dist/src/{rubyUtils-C8MhKGHb.cjs → rubyUtils-DhCAlxZr.cjs} +48 -50
- package/dist/src/{sagemaker-gmskuyre.js → sagemaker-BK4Zb993.js} +75 -70
- package/dist/src/{sagemaker-DuM71dVU.js → sagemaker-BfiWTmvn.js} +77 -77
- package/dist/src/{sagemaker-77zbJ2Q2.cjs → sagemaker-CcQHM1jV.cjs} +75 -76
- package/dist/src/{sagemaker-CcxhlOAR.js → sagemaker-D2Q1c-sD.js} +75 -79
- package/dist/src/{scanner-DJYiSXQj.js → scanner-J8CA3LsV.js} +100 -121
- package/dist/src/server/index.js +5505 -67416
- package/dist/src/{server-B5v33lvE.cjs → server-B0PPuDw-.cjs} +57 -67
- package/dist/src/server-B1vi21hA.js +7 -0
- package/dist/src/{server-RV_i_YX5.js → server-BC7XJFgr.js} +19 -24
- package/dist/src/server-Cm9Kai_h.cjs +5 -0
- package/dist/src/{server-BJ4m4f1D.js → server-DbFphssR.js} +26 -29
- package/dist/src/server-OAs3nBRT.js +229 -0
- package/dist/src/{signal-BW33JuId.js → signal-BOTbd53Z.js} +9 -11
- package/dist/src/{slack-DEURelTy.cjs → slack-BmVAVGaK.cjs} +7 -8
- package/dist/src/{slack-BQYeW9L3.js → slack-DCUPTzS2.js} +8 -8
- package/dist/src/{slack-BB6yuZzp.js → slack-DOdy_kyv.js} +7 -8
- package/dist/src/{slack-2pRrhhgJ.js → slack-DXMKtA-f.js} +7 -9
- package/dist/src/store-BNmZ1KAz.cjs +5 -0
- package/dist/src/{store-D7CgQzAR.cjs → store-BSc-TF2w.cjs} +44 -45
- package/dist/src/store-BltJg2cd.js +6 -0
- package/dist/src/{store-s3SftUwF.js → store-D1tv90v3.js} +34 -35
- package/dist/src/{store-DJNsD1iC.js → store-DQLEjuEO.js} +40 -36
- package/dist/src/store-Ub2vaGJ1.js +228 -0
- package/dist/src/{tables-DfTsNN7X.js → tables-5EvT_Bwn.js} +19 -21
- package/dist/src/{tables-BKTmd6u7.cjs → tables-C7K-XKWp.cjs} +89 -91
- package/dist/src/{tables-DMegD0Xf.js → tables-D36WTqKX.js} +21 -23
- package/dist/src/tables-xKANLRBD.js +288 -0
- package/dist/src/telemetry-5BCRNBbe.cjs +5 -0
- package/dist/src/{telemetry-BedSm-bZ.js → telemetry-C15ziL8u.js} +17 -14
- package/dist/src/{telemetry--WAdAfVi.js → telemetry-C2YDkUQH.js} +11 -13
- package/dist/src/{telemetry-DQgVBCAb.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-oiSbwSOI.js → text-B_UCRPp2.js} +2 -2
- package/dist/src/{text-oKzCBnK6.cjs → text-CW1cyrwj.cjs} +12 -13
- package/dist/src/{text-B_IrO4GZ.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-BO1AHegO.cjs → transcription-CL78qbOU.cjs} +14 -15
- package/dist/src/{transcription-mYS9vd5v.js → transcription-DAtxHhAM.js} +14 -7
- package/dist/src/{transcription-X2-B4vkX.js → transcription-LNZTNUUL.js} +14 -16
- package/dist/src/{transcription-lzBLiTFJ.js → transcription-QHh3AH6Z.js} +15 -17
- package/dist/src/{transform-DeGlxb0D.js → transform-Cgi24fJ7.js} +39 -47
- package/dist/src/{transform-B1Hi5lWS.cjs → transform-CzK1Q0zl.cjs} +24 -26
- package/dist/src/{transform-CYDILYDe.js → transform-DECvGmzp.js} +15 -13
- package/dist/src/{transform-Dfl89yi4.js → transform-DGLazrMm.js} +39 -47
- package/dist/src/transform-DGxXocjk.js +1506 -0
- package/dist/src/{transform-D5PjiWiZ.cjs → transform-DOcQeLld.cjs} +179 -187
- package/dist/src/transform-DTGDnAzW.js +6 -0
- package/dist/src/{transform-BEgStbHK.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-SZnTS3pJ.js → transformersAvailability-CEVM2GNQ.js} +2 -2
- package/dist/src/{transformersAvailability-D-glmEy7.cjs → transformersAvailability-CwayUSlh.cjs} +2 -3
- package/dist/src/{transformersAvailability-CjeFXhuJ.js → transformersAvailability-D6c6ROpT.js} +2 -2
- package/dist/src/{types-CXQduE9o.js → types-CH3Ge2sE.js} +30 -90
- package/dist/src/{types-C5hEkb-x.js → types-CLKiCBW3.js} +25 -89
- package/dist/src/types-CN_TZ2GJ.js +3260 -0
- package/dist/src/{types-DWNf48sT.cjs → types-LJ0r3wbR.cjs} +500 -564
- package/dist/src/util-5cB-L7U3.js +1430 -0
- package/dist/src/util-6-GqIvzS.js +599 -0
- package/dist/src/{util-CoQjmE3u.js → util-B7T3SiBS.js} +4 -5
- package/dist/src/{util-D9eLdGfa.js → util-Betm42rL.js} +5 -6
- package/dist/src/{util-Bm_-UMD_.js → util-C-PPYSMq.js} +5 -6
- package/dist/src/{util-CyUdMzV0.cjs → util-CchiqXh_.cjs} +34 -35
- package/dist/src/{util-Du96oyYS.js → util-DaWTWKBK.js} +4 -5
- package/dist/src/{util-1wWM599Z.cjs → util-Db0a0AFH.cjs} +50 -51
- package/dist/src/{util-DQ984syk.js → util-Dlz_Wvgm.js} +37 -48
- package/dist/src/{util-_h4pVqrz.js → util-YT5HPZaS.js} +37 -48
- package/dist/src/{util-aLhtl3fe.cjs → util-Yz-1aEhW.cjs} +209 -220
- package/dist/src/util-ZZH-3QZz.js +293 -0
- package/dist/src/{utils-BjLy-Q72.cjs → utils-Cz9qXqII.cjs} +29 -32
- package/dist/src/{utils-CFMn2yHW.js → utils-XiOAgly5.js} +4 -7
- package/dist/src/utils-dLokC-eR.js +94 -0
- package/dist/src/{utils-DvWMzuMx.js → utils-f2-Moju7.js} +4 -7
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +30 -30
- package/dist/src/app/assets/index-B2D0bCSI.js +0 -439
- package/dist/src/app/tsconfig.app.tsbuildinfo +0 -1
- package/dist/src/cache-ChPcurj7.js +0 -6
- package/dist/src/cache-VVu_W-yg.js +0 -8
- package/dist/src/cache-YLNCFEM2.cjs +0 -6
- package/dist/src/chunk-DHDDz29n.js +0 -22
- package/dist/src/chunk-FhC4c-0y.js +0 -21
- package/dist/src/cloud-BndfXy4H.js +0 -5
- package/dist/src/eval-BhHvMY82.js +0 -17
- package/dist/src/evalResult-Dq2gFNQY.js +0 -12
- package/dist/src/evalResult-nmcP5VKH.cjs +0 -12
- package/dist/src/evalResult-trqZjVYh.js +0 -14
- package/dist/src/evaluator-CnfPstzT.js +0 -39
- package/dist/src/fetch-IDPDue6F.cjs +0 -4
- package/dist/src/fetch-hKJ-It8q.js +0 -6
- package/dist/src/fetch-ouKnrWK-.js +0 -4
- package/dist/src/graders-CQn7WUsd.cjs +0 -34
- package/dist/src/graders-DC6QAbpW.js +0 -35
- package/dist/src/graders-DUWz3Y7j.js +0 -37
- package/dist/src/opencode-sdk-4bL9n-Gk.js +0 -382
- package/dist/src/opencode-sdk-BfC2zWcR.js +0 -376
- package/dist/src/opencode-sdk-DMJyuwMg.js +0 -380
- package/dist/src/opencode-sdk-Da-9adza.cjs +0 -383
- package/dist/src/providers-CsXB2Ix-.js +0 -35
- package/dist/src/providers-DO8ltjLC.js +0 -33
- package/dist/src/providers-Dtq-xnXd.cjs +0 -33
- package/dist/src/rubyUtils-BUbcND2f.js +0 -6
- package/dist/src/rubyUtils-Cr55X_KE.js +0 -5
- package/dist/src/rubyUtils-DlIiqoYo.cjs +0 -5
- package/dist/src/server-C2eQH4Gu.js +0 -6
- package/dist/src/server-CXWycu7H.cjs +0 -6
- package/dist/src/server-Q6OGlxxT.js +0 -8
- package/dist/src/store-B3EDO9Q3.js +0 -7
- package/dist/src/store-Dl9F8aw5.js +0 -6
- package/dist/src/store-SnrGrlt9.cjs +0 -6
- package/dist/src/telemetry-BGhiPZtl.js +0 -8
- package/dist/src/telemetry-CFfiYan6.cjs +0 -6
- package/dist/src/telemetry-DHzEduxX.js +0 -6
- package/dist/src/transform-C1x1ZlMQ.cjs +0 -6
- package/dist/src/transform-DYHjFmQu.js +0 -8
- package/dist/src/transform-rmwJT5JQ.js +0 -7
- package/dist/src/transformersAvailability-eJooj0gX.js +0 -35
|
@@ -1,14 +1,11 @@
|
|
|
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",
|
|
14
11
|
EMAIL_VERIFICATION_REQUIRED: "email_verification_required",
|
|
@@ -16,9 +13,9 @@ const EmailValidationStatus = {
|
|
|
16
13
|
DISPOSABLE_EMAIL: "disposable_email"
|
|
17
14
|
};
|
|
18
15
|
const NO_EMAIL_STATUS = "no_email";
|
|
19
|
-
|
|
20
16
|
//#endregion
|
|
21
17
|
//#region src/globalConfig/accounts.ts
|
|
18
|
+
const CI_PLACEHOLDER_EMAIL = "ci-placeholder@promptfoo.dev";
|
|
22
19
|
function getUserId() {
|
|
23
20
|
let globalConfig = readGlobalConfig();
|
|
24
21
|
if (!globalConfig?.id) {
|
|
@@ -79,17 +76,23 @@ function getAuthMethod() {
|
|
|
79
76
|
* Used by both CLI and server routes
|
|
80
77
|
*/
|
|
81
78
|
async function checkEmailStatus(options) {
|
|
82
|
-
const { default: telemetry } = await import("./telemetry-
|
|
83
|
-
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();
|
|
84
82
|
if (!userEmail) return {
|
|
85
83
|
status: NO_EMAIL_STATUS,
|
|
86
84
|
hasEmail: false,
|
|
87
85
|
message: "Redteam evals require email verification. Please enter your work email:"
|
|
88
86
|
};
|
|
87
|
+
if (ciMode) return {
|
|
88
|
+
status: EmailValidationStatus.OK,
|
|
89
|
+
hasEmail: true,
|
|
90
|
+
email: userEmail
|
|
91
|
+
};
|
|
89
92
|
try {
|
|
90
93
|
const validateParam = options?.validate ? "&validate=true" : "";
|
|
91
94
|
const timeout = options?.validate ? 3e3 : 500;
|
|
92
|
-
if (options?.validate)
|
|
95
|
+
if (options?.validate) logger.info(`Checking email...`);
|
|
93
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();
|
|
94
97
|
if (options?.validate) if (new Set([
|
|
95
98
|
EmailValidationStatus.RISKY_EMAIL,
|
|
@@ -112,7 +115,7 @@ async function checkEmailStatus(options) {
|
|
|
112
115
|
hasEmail: true
|
|
113
116
|
};
|
|
114
117
|
} catch (e) {
|
|
115
|
-
|
|
118
|
+
logger.debug(`Failed to check user status: ${e}`);
|
|
116
119
|
return {
|
|
117
120
|
status: EmailValidationStatus.OK,
|
|
118
121
|
message: "Unable to verify email status, but proceeding",
|
|
@@ -122,22 +125,23 @@ async function checkEmailStatus(options) {
|
|
|
122
125
|
}
|
|
123
126
|
}
|
|
124
127
|
async function promptForEmailUnverified() {
|
|
125
|
-
const { default: telemetry } = await import("./telemetry-
|
|
128
|
+
const { default: telemetry } = await import("./telemetry-C15ziL8u.js").then((n) => n.n);
|
|
129
|
+
const ciMode = isCI();
|
|
126
130
|
const existingEmail = getUserEmail();
|
|
127
|
-
let email =
|
|
128
|
-
const existingEmailNeedsValidation = !
|
|
129
|
-
const existingEmailValidated =
|
|
131
|
+
let email = ciMode ? CI_PLACEHOLDER_EMAIL : existingEmail;
|
|
132
|
+
const existingEmailNeedsValidation = !ciMode && getUserEmailNeedsValidation();
|
|
133
|
+
const existingEmailValidated = ciMode || getUserEmailValidated();
|
|
130
134
|
let emailNeedsValidation = existingEmailNeedsValidation && !existingEmailValidated;
|
|
131
135
|
if (!email) {
|
|
132
136
|
await telemetry.record("feature_used", { feature: "promptForEmailUnverified" });
|
|
133
137
|
const border = "─".repeat(TERMINAL_MAX_WIDTH);
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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("");
|
|
141
145
|
const emailSchema = z.email();
|
|
142
146
|
try {
|
|
143
147
|
email = await input({
|
|
@@ -150,7 +154,7 @@ async function promptForEmailUnverified() {
|
|
|
150
154
|
} catch (error) {
|
|
151
155
|
const err = error;
|
|
152
156
|
if (err?.name === "AbortPromptError" || err?.name === "ExitPromptError") process.exit(1);
|
|
153
|
-
|
|
157
|
+
logger.error(`failed to prompt for email: ${err}`);
|
|
154
158
|
throw err;
|
|
155
159
|
}
|
|
156
160
|
setUserEmail(email);
|
|
@@ -163,20 +167,21 @@ async function promptForEmailUnverified() {
|
|
|
163
167
|
}
|
|
164
168
|
async function checkEmailStatusAndMaybeExit(options) {
|
|
165
169
|
const result = await checkEmailStatus(options);
|
|
170
|
+
if (isCI()) return "ok";
|
|
166
171
|
if (result.status === EmailValidationStatus.RISKY_EMAIL || result.status === EmailValidationStatus.DISPOSABLE_EMAIL) {
|
|
167
|
-
|
|
172
|
+
logger.error("Please use a valid work email.");
|
|
168
173
|
setUserEmail("");
|
|
169
174
|
return BAD_EMAIL_RESULT;
|
|
170
175
|
}
|
|
171
176
|
if (result.status === EmailValidationStatus.EXCEEDED_LIMIT) {
|
|
172
|
-
|
|
177
|
+
logger.error("You have exceeded the maximum cloud inference limit. Please contact inquiries@promptfoo.dev to upgrade your account.");
|
|
173
178
|
process.exit(1);
|
|
174
179
|
}
|
|
175
180
|
if (result.status === EmailValidationStatus.EMAIL_VERIFICATION_REQUIRED) {
|
|
176
181
|
setUserEmailNeedsValidation(true);
|
|
177
182
|
setUserEmailValidated(false);
|
|
178
183
|
const message = result.message || "Your email address is not verified. Check your inbox for a verification link, then rerun the command.";
|
|
179
|
-
|
|
184
|
+
logger.error(message, {
|
|
180
185
|
status: result.status,
|
|
181
186
|
hasEmail: result.hasEmail
|
|
182
187
|
});
|
|
@@ -184,13 +189,13 @@ async function checkEmailStatusAndMaybeExit(options) {
|
|
|
184
189
|
}
|
|
185
190
|
if (result.status === EmailValidationStatus.SHOW_USAGE_WARNING && result.message) {
|
|
186
191
|
const border = "=".repeat(TERMINAL_MAX_WIDTH);
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
192
|
+
logger.info(chalk.yellow(border));
|
|
193
|
+
logger.warn(chalk.yellow(result.message));
|
|
194
|
+
logger.info(chalk.yellow(border));
|
|
190
195
|
}
|
|
191
|
-
return
|
|
196
|
+
return "ok";
|
|
192
197
|
}
|
|
193
|
-
|
|
194
198
|
//#endregion
|
|
195
|
-
export { getUserId as a, setUserEmail as c, getUserEmail as i,
|
|
196
|
-
|
|
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
|