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,6 +1,5 @@
|
|
|
1
|
-
const require_fetch = require(
|
|
2
|
-
const require_transform = require(
|
|
3
|
-
|
|
1
|
+
const require_fetch = require("./fetch-BxUk8odA.cjs");
|
|
2
|
+
const require_transform = require("./transform-DOcQeLld.cjs");
|
|
4
3
|
//#region src/providers/anthropic/util.ts
|
|
5
4
|
const ANTHROPIC_MODELS = [
|
|
6
5
|
...["claude-sonnet-4-6", "claude-sonnet-4-6-latest"].map((model) => ({
|
|
@@ -288,42 +287,42 @@ function transformWebSearchTool(config) {
|
|
|
288
287
|
if (config.cache_control) tool.cache_control = config.cache_control;
|
|
289
288
|
return tool;
|
|
290
289
|
}
|
|
291
|
-
|
|
292
290
|
//#endregion
|
|
293
|
-
Object.defineProperty(exports,
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
291
|
+
Object.defineProperty(exports, "ANTHROPIC_MODELS", {
|
|
292
|
+
enumerable: true,
|
|
293
|
+
get: function() {
|
|
294
|
+
return ANTHROPIC_MODELS;
|
|
295
|
+
}
|
|
298
296
|
});
|
|
299
|
-
Object.defineProperty(exports,
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
297
|
+
Object.defineProperty(exports, "calculateAnthropicCost", {
|
|
298
|
+
enumerable: true,
|
|
299
|
+
get: function() {
|
|
300
|
+
return calculateAnthropicCost;
|
|
301
|
+
}
|
|
304
302
|
});
|
|
305
|
-
Object.defineProperty(exports,
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
303
|
+
Object.defineProperty(exports, "getTokenUsage", {
|
|
304
|
+
enumerable: true,
|
|
305
|
+
get: function() {
|
|
306
|
+
return getTokenUsage;
|
|
307
|
+
}
|
|
310
308
|
});
|
|
311
|
-
Object.defineProperty(exports,
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
309
|
+
Object.defineProperty(exports, "outputFromMessage", {
|
|
310
|
+
enumerable: true,
|
|
311
|
+
get: function() {
|
|
312
|
+
return outputFromMessage;
|
|
313
|
+
}
|
|
316
314
|
});
|
|
317
|
-
Object.defineProperty(exports,
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
315
|
+
Object.defineProperty(exports, "parseMessages", {
|
|
316
|
+
enumerable: true,
|
|
317
|
+
get: function() {
|
|
318
|
+
return parseMessages;
|
|
319
|
+
}
|
|
322
320
|
});
|
|
323
|
-
Object.defineProperty(exports,
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
321
|
+
Object.defineProperty(exports, "processAnthropicTools", {
|
|
322
|
+
enumerable: true,
|
|
323
|
+
get: function() {
|
|
324
|
+
return processAnthropicTools;
|
|
325
|
+
}
|
|
328
326
|
});
|
|
329
|
-
|
|
327
|
+
|
|
328
|
+
//# sourceMappingURL=util-CchiqXh_.cjs.map
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { x as parseDataUrl } from "./transform-
|
|
3
|
-
|
|
1
|
+
import { m as calculateCost } from "./fetch-60Gzydls.js";
|
|
2
|
+
import { x as parseDataUrl } from "./transform-DGLazrMm.js";
|
|
4
3
|
//#region src/providers/anthropic/util.ts
|
|
5
4
|
const ANTHROPIC_MODELS = [
|
|
6
5
|
...["claude-sonnet-4-6", "claude-sonnet-4-6-latest"].map((model) => ({
|
|
@@ -288,7 +287,7 @@ function transformWebSearchTool(config) {
|
|
|
288
287
|
if (config.cache_control) tool.cache_control = config.cache_control;
|
|
289
288
|
return tool;
|
|
290
289
|
}
|
|
291
|
-
|
|
292
290
|
//#endregion
|
|
293
291
|
export { parseMessages as a, outputFromMessage as i, calculateAnthropicCost as n, processAnthropicTools as o, getTokenUsage as r, ANTHROPIC_MODELS as t };
|
|
294
|
-
|
|
292
|
+
|
|
293
|
+
//# sourceMappingURL=util-DaWTWKBK.js.map
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
const require_logger = require(
|
|
2
|
-
const require_util = require(
|
|
3
|
-
const require_fetch = require(
|
|
1
|
+
const require_logger = require("./logger-Cp1GPUjj.cjs");
|
|
2
|
+
const require_util = require("./util-Yz-1aEhW.cjs");
|
|
3
|
+
const require_fetch = require("./fetch-BxUk8odA.cjs");
|
|
4
4
|
let openai = require("openai");
|
|
5
5
|
openai = require_logger.__toESM(openai);
|
|
6
|
-
|
|
7
6
|
//#region src/providers/openai/util.ts
|
|
8
7
|
const ajv = require_logger.getAjv();
|
|
9
8
|
const OPENAI_CHAT_MODELS = [
|
|
@@ -595,60 +594,60 @@ function formatOpenAiError(data) {
|
|
|
595
594
|
errorMessage += "\n\n" + require_logger.safeJsonStringify(data, true);
|
|
596
595
|
return errorMessage;
|
|
597
596
|
}
|
|
598
|
-
|
|
599
597
|
//#endregion
|
|
600
|
-
Object.defineProperty(exports,
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
598
|
+
Object.defineProperty(exports, "OPENAI_CHAT_MODELS", {
|
|
599
|
+
enumerable: true,
|
|
600
|
+
get: function() {
|
|
601
|
+
return OPENAI_CHAT_MODELS;
|
|
602
|
+
}
|
|
605
603
|
});
|
|
606
|
-
Object.defineProperty(exports,
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
604
|
+
Object.defineProperty(exports, "OPENAI_COMPLETION_MODELS", {
|
|
605
|
+
enumerable: true,
|
|
606
|
+
get: function() {
|
|
607
|
+
return OPENAI_COMPLETION_MODELS;
|
|
608
|
+
}
|
|
611
609
|
});
|
|
612
|
-
Object.defineProperty(exports,
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
610
|
+
Object.defineProperty(exports, "OPENAI_REALTIME_MODELS", {
|
|
611
|
+
enumerable: true,
|
|
612
|
+
get: function() {
|
|
613
|
+
return OPENAI_REALTIME_MODELS;
|
|
614
|
+
}
|
|
617
615
|
});
|
|
618
|
-
Object.defineProperty(exports,
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
616
|
+
Object.defineProperty(exports, "OPENAI_TRANSCRIPTION_MODELS", {
|
|
617
|
+
enumerable: true,
|
|
618
|
+
get: function() {
|
|
619
|
+
return OPENAI_TRANSCRIPTION_MODELS;
|
|
620
|
+
}
|
|
623
621
|
});
|
|
624
|
-
Object.defineProperty(exports,
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
622
|
+
Object.defineProperty(exports, "calculateOpenAICost", {
|
|
623
|
+
enumerable: true,
|
|
624
|
+
get: function() {
|
|
625
|
+
return calculateOpenAICost;
|
|
626
|
+
}
|
|
629
627
|
});
|
|
630
|
-
Object.defineProperty(exports,
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
628
|
+
Object.defineProperty(exports, "failApiCall", {
|
|
629
|
+
enumerable: true,
|
|
630
|
+
get: function() {
|
|
631
|
+
return failApiCall;
|
|
632
|
+
}
|
|
635
633
|
});
|
|
636
|
-
Object.defineProperty(exports,
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
634
|
+
Object.defineProperty(exports, "formatOpenAiError", {
|
|
635
|
+
enumerable: true,
|
|
636
|
+
get: function() {
|
|
637
|
+
return formatOpenAiError;
|
|
638
|
+
}
|
|
641
639
|
});
|
|
642
|
-
Object.defineProperty(exports,
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
640
|
+
Object.defineProperty(exports, "getTokenUsage", {
|
|
641
|
+
enumerable: true,
|
|
642
|
+
get: function() {
|
|
643
|
+
return getTokenUsage;
|
|
644
|
+
}
|
|
647
645
|
});
|
|
648
|
-
Object.defineProperty(exports,
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
646
|
+
Object.defineProperty(exports, "validateFunctionCall", {
|
|
647
|
+
enumerable: true,
|
|
648
|
+
get: function() {
|
|
649
|
+
return validateFunctionCall;
|
|
650
|
+
}
|
|
653
651
|
});
|
|
654
|
-
|
|
652
|
+
|
|
653
|
+
//# sourceMappingURL=util-Db0a0AFH.cjs.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { _ as getEnvBool, i as
|
|
2
|
-
import { t as invariant } from "./invariant-
|
|
3
|
-
import { o as safeResolve, r as importModule, t as getDirectory } from "./esm-
|
|
4
|
-
import { r as runPython } from "./pythonUtils-
|
|
5
|
-
import { i as isJavascriptFile, t as JAVASCRIPT_EXTENSIONS } from "./fileExtensions-
|
|
6
|
-
import { A as isApiProvider, g as ResultFailureReason, h as OutputFileExtension, j as isProviderOptions } from "./types-
|
|
7
|
-
import {
|
|
1
|
+
import { _ as getEnvBool, i as logger, s as sanitizeObject, w as state } from "./logger-CT3IKMKA.js";
|
|
2
|
+
import { t as invariant } from "./invariant-Ddh24eXh.js";
|
|
3
|
+
import { o as safeResolve, r as importModule, t as getDirectory } from "./esm-Cd1AjG1D.js";
|
|
4
|
+
import { r as runPython } from "./pythonUtils-D5nxkQ0P.js";
|
|
5
|
+
import { i as isJavascriptFile, t as JAVASCRIPT_EXTENSIONS } from "./fileExtensions-DnqA1y9x.js";
|
|
6
|
+
import { A as isApiProvider, g as ResultFailureReason, h as OutputFileExtension, j as isProviderOptions } from "./types-CLKiCBW3.js";
|
|
7
|
+
import { N as VERSION, O as TERMINAL_MAX_WIDTH, t as fetchWithProxy } from "./fetch-60Gzydls.js";
|
|
8
8
|
import * as fs$1 from "fs";
|
|
9
9
|
import * as path$1 from "path";
|
|
10
10
|
import path from "path";
|
|
@@ -19,7 +19,6 @@ import { parse as parse$1 } from "csv-parse/sync";
|
|
|
19
19
|
import nunjucks from "nunjucks";
|
|
20
20
|
import { XMLBuilder } from "fast-xml-parser";
|
|
21
21
|
import { stringify } from "csv-stringify/sync";
|
|
22
|
-
|
|
23
22
|
//#region src/util/provider.ts
|
|
24
23
|
function canonicalizeProviderId(id) {
|
|
25
24
|
if (id.startsWith("file://")) {
|
|
@@ -190,7 +189,6 @@ function isGoogleProvider(providerId) {
|
|
|
190
189
|
}
|
|
191
190
|
return false;
|
|
192
191
|
}
|
|
193
|
-
|
|
194
192
|
//#endregion
|
|
195
193
|
//#region src/util/comparison.ts
|
|
196
194
|
/**
|
|
@@ -289,7 +287,7 @@ function resultIsForTestCase(result, testCase) {
|
|
|
289
287
|
const isMatch = doVarsMatch && providersMatch;
|
|
290
288
|
if (!isMatch) {
|
|
291
289
|
const varKeys = testVars ? Object.keys(testVars).join(", ") : "none";
|
|
292
|
-
|
|
290
|
+
logger.debug(`[resultIsForTestCase] No match: vars=${doVarsMatch}, providers=${providersMatch}`, {
|
|
293
291
|
testProvider: testProviderId || "none",
|
|
294
292
|
resultProvider: resultProviderId || "none",
|
|
295
293
|
testVarKeys: varKeys
|
|
@@ -297,7 +295,6 @@ function resultIsForTestCase(result, testCase) {
|
|
|
297
295
|
}
|
|
298
296
|
return isMatch;
|
|
299
297
|
}
|
|
300
|
-
|
|
301
298
|
//#endregion
|
|
302
299
|
//#region src/util/env.ts
|
|
303
300
|
/**
|
|
@@ -314,8 +311,8 @@ function setupEnv(envPath) {
|
|
|
314
311
|
return;
|
|
315
312
|
}
|
|
316
313
|
for (const p of paths) if (!fs$1.existsSync(p)) throw new Error(`Environment file not found: ${p}`);
|
|
317
|
-
if (paths.length === 1)
|
|
318
|
-
else
|
|
314
|
+
if (paths.length === 1) logger.info(`Loading environment variables from ${paths[0]}`);
|
|
315
|
+
else logger.info(`Loading environment variables from: ${paths.join(", ")}`);
|
|
319
316
|
const pathArg = paths.length === 1 ? paths[0] : paths;
|
|
320
317
|
dotenv.config({
|
|
321
318
|
path: pathArg,
|
|
@@ -324,7 +321,6 @@ function setupEnv(envPath) {
|
|
|
324
321
|
});
|
|
325
322
|
} else dotenv.config({ quiet: true });
|
|
326
323
|
}
|
|
327
|
-
|
|
328
324
|
//#endregion
|
|
329
325
|
//#region src/util/functions/loadFunction.ts
|
|
330
326
|
const functionCache = {};
|
|
@@ -333,7 +329,7 @@ const functionCache = {};
|
|
|
333
329
|
* @param options Options for loading the function
|
|
334
330
|
* @returns The loaded function
|
|
335
331
|
*/
|
|
336
|
-
async function loadFunction({ filePath, functionName, defaultFunctionName = "func", basePath =
|
|
332
|
+
async function loadFunction({ filePath, functionName, defaultFunctionName = "func", basePath = state.basePath, useCache = true }) {
|
|
337
333
|
const cacheKey = `${filePath}${functionName ? `:${functionName}` : ""}`;
|
|
338
334
|
if (useCache && functionCache[cacheKey]) return functionCache[cacheKey];
|
|
339
335
|
const resolvedPath = basePath ? path.resolve(basePath, filePath) : filePath;
|
|
@@ -354,7 +350,7 @@ async function loadFunction({ filePath, functionName, defaultFunctionName = "fun
|
|
|
354
350
|
if (useCache) functionCache[cacheKey] = func;
|
|
355
351
|
return func;
|
|
356
352
|
} catch (err) {
|
|
357
|
-
|
|
353
|
+
logger.error(`Failed to load function: ${err.message}`);
|
|
358
354
|
throw err;
|
|
359
355
|
}
|
|
360
356
|
}
|
|
@@ -373,7 +369,6 @@ function parseFileUrl(fileUrl) {
|
|
|
373
369
|
};
|
|
374
370
|
return { filePath: urlWithoutProtocol };
|
|
375
371
|
}
|
|
376
|
-
|
|
377
372
|
//#endregion
|
|
378
373
|
//#region src/util/templates.ts
|
|
379
374
|
/**
|
|
@@ -392,7 +387,7 @@ function getNunjucksEngine(filters, throwOnUndefined = false, isGrader = false)
|
|
|
392
387
|
});
|
|
393
388
|
const envGlobals = {
|
|
394
389
|
...getEnvBool("PROMPTFOO_DISABLE_TEMPLATE_ENV_VARS", getEnvBool("PROMPTFOO_SELF_HOSTED", false)) ? {} : process.env,
|
|
395
|
-
...
|
|
390
|
+
...state.config?.env
|
|
396
391
|
};
|
|
397
392
|
env.addGlobal("env", envGlobals);
|
|
398
393
|
env.addFilter("load", function(str) {
|
|
@@ -432,7 +427,6 @@ function extractVariablesFromTemplates(templates) {
|
|
|
432
427
|
for (const template of templates) extractVariablesFromTemplate(template).forEach((variable) => variableSet.add(variable));
|
|
433
428
|
return Array.from(variableSet);
|
|
434
429
|
}
|
|
435
|
-
|
|
436
430
|
//#endregion
|
|
437
431
|
//#region src/util/render.ts
|
|
438
432
|
/**
|
|
@@ -462,7 +456,7 @@ function renderEnvOnlyInObject(obj, envOverrides, replaceBase) {
|
|
|
462
456
|
if (getEnvBool("PROMPTFOO_DISABLE_TEMPLATING")) return obj;
|
|
463
457
|
if (typeof obj === "string") {
|
|
464
458
|
if (obj.length > 5e4) {
|
|
465
|
-
|
|
459
|
+
logger.warn(`String too long (${obj.length} chars) for template matching. Skipping env var rendering.`);
|
|
466
460
|
return obj;
|
|
467
461
|
}
|
|
468
462
|
const nunjucks = getNunjucksEngine();
|
|
@@ -478,7 +472,7 @@ function renderEnvOnlyInObject(obj, envOverrides, replaceBase) {
|
|
|
478
472
|
if (match.includes("|") || varName && varName in envGlobals && envGlobals[varName] !== void 0) try {
|
|
479
473
|
return nunjucks.renderString(match, { env: envGlobals });
|
|
480
474
|
} catch (error) {
|
|
481
|
-
|
|
475
|
+
logger.debug(`Failed to render env template "${match}": ${error instanceof Error ? error.message : String(error)}`);
|
|
482
476
|
return match;
|
|
483
477
|
}
|
|
484
478
|
return match;
|
|
@@ -503,7 +497,6 @@ function renderVarsInObject(obj, vars) {
|
|
|
503
497
|
} else if (typeof obj === "function") return renderVarsInObject(obj({ vars }));
|
|
504
498
|
return obj;
|
|
505
499
|
}
|
|
506
|
-
|
|
507
500
|
//#endregion
|
|
508
501
|
//#region src/util/file.ts
|
|
509
502
|
/**
|
|
@@ -514,7 +507,7 @@ function getNunjucksEngineForFilePath() {
|
|
|
514
507
|
const env = nunjucks.configure({ autoescape: false });
|
|
515
508
|
env.addGlobal("env", {
|
|
516
509
|
...process.env,
|
|
517
|
-
...
|
|
510
|
+
...state.config?.env
|
|
518
511
|
});
|
|
519
512
|
return env;
|
|
520
513
|
}
|
|
@@ -541,16 +534,16 @@ function maybeLoadFromExternalFile(filePath, context) {
|
|
|
541
534
|
const renderedFilePath = getNunjucksEngineForFilePath().renderString(filePath, {});
|
|
542
535
|
const { filePath: cleanPath, functionName } = parseFileUrl(renderedFilePath);
|
|
543
536
|
if (context === "assertion" && (cleanPath.endsWith(".py") || isJavascriptFile(cleanPath))) {
|
|
544
|
-
|
|
537
|
+
logger.debug(`Preserving Python/JS file reference in assertion context: ${renderedFilePath}`);
|
|
545
538
|
return renderedFilePath;
|
|
546
539
|
}
|
|
547
540
|
if (context === "vars") {
|
|
548
|
-
|
|
541
|
+
logger.debug(`Preserving file reference in vars context: ${renderedFilePath}`);
|
|
549
542
|
return renderedFilePath;
|
|
550
543
|
}
|
|
551
544
|
if (functionName && (cleanPath.endsWith(".py") || isJavascriptFile(cleanPath))) return renderedFilePath;
|
|
552
545
|
const pathToUse = functionName && !(cleanPath.endsWith(".py") || isJavascriptFile(cleanPath)) ? renderedFilePath.slice(7) : cleanPath;
|
|
553
|
-
const resolvedPath = path$1.resolve(
|
|
546
|
+
const resolvedPath = path$1.resolve(state.basePath || "", pathToUse);
|
|
554
547
|
if (hasMagic(pathToUse)) {
|
|
555
548
|
const matchedFiles = globSync(resolvedPath, { windowsPathsNoEscape: true });
|
|
556
549
|
if (matchedFiles.length === 0) throw new Error(`No files found matching pattern: ${resolvedPath}`);
|
|
@@ -561,7 +554,7 @@ function maybeLoadFromExternalFile(filePath, context) {
|
|
|
561
554
|
contents = fs$1.readFileSync(matchedFile, "utf8");
|
|
562
555
|
} catch (error) {
|
|
563
556
|
if (error.code === "ENOENT") {
|
|
564
|
-
|
|
557
|
+
logger.debug(`File disappeared during glob expansion: ${matchedFile}`);
|
|
565
558
|
continue;
|
|
566
559
|
}
|
|
567
560
|
throw error;
|
|
@@ -771,37 +764,37 @@ async function maybeLoadToolsFromExternalFile(tools, vars) {
|
|
|
771
764
|
const { filePath, functionName } = parseFileUrl(rendered);
|
|
772
765
|
if (functionName && (filePath.endsWith(".py") || isJavascriptFile(filePath))) {
|
|
773
766
|
const fileType = filePath.endsWith(".py") ? "Python" : "JavaScript";
|
|
774
|
-
|
|
767
|
+
logger.debug(`[maybeLoadToolsFromExternalFile] Loading tools from ${fileType} file: ${filePath}:${functionName}`);
|
|
775
768
|
try {
|
|
776
769
|
let toolDefinitions;
|
|
777
770
|
if (filePath.endsWith(".py")) {
|
|
778
|
-
const absPath = safeResolve(
|
|
779
|
-
|
|
771
|
+
const absPath = safeResolve(state.basePath || process.cwd(), filePath);
|
|
772
|
+
logger.debug(`[maybeLoadToolsFromExternalFile] Resolved Python path: ${absPath}`);
|
|
780
773
|
toolDefinitions = await runPython(absPath, functionName, []);
|
|
781
774
|
} else {
|
|
782
|
-
const absPath = safeResolve(
|
|
783
|
-
|
|
775
|
+
const absPath = safeResolve(state.basePath || process.cwd(), filePath);
|
|
776
|
+
logger.debug(`[maybeLoadToolsFromExternalFile] Resolved JavaScript path: ${absPath}`);
|
|
784
777
|
const module = await importModule(absPath);
|
|
785
778
|
const fn = module[functionName] || module.default?.[functionName];
|
|
786
779
|
if (typeof fn !== "function") {
|
|
787
780
|
const availableExports = Object.keys(module).filter((k) => k !== "default");
|
|
788
|
-
const basePath =
|
|
781
|
+
const basePath = state.basePath || process.cwd();
|
|
789
782
|
throw new Error(`Function "${functionName}" not found in ${filePath}. Available exports: ${availableExports.length > 0 ? availableExports.join(", ") : "(none)"}\nResolved from: ${basePath}`);
|
|
790
783
|
}
|
|
791
784
|
toolDefinitions = await Promise.resolve(fn());
|
|
792
785
|
}
|
|
793
786
|
if (!toolDefinitions || typeof toolDefinitions === "string" || typeof toolDefinitions === "number" || typeof toolDefinitions === "boolean") throw new Error(`Function "${functionName}" must return an array or object of tool definitions, but returned: ${toolDefinitions === null ? "null" : typeof toolDefinitions}`);
|
|
794
|
-
|
|
787
|
+
logger.debug(`[maybeLoadToolsFromExternalFile] Successfully loaded ${Array.isArray(toolDefinitions) ? toolDefinitions.length : "object"} tools`);
|
|
795
788
|
return toolDefinitions;
|
|
796
789
|
} catch (err) {
|
|
797
790
|
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
798
|
-
const basePath =
|
|
791
|
+
const basePath = state.basePath || process.cwd();
|
|
799
792
|
throw new Error(`Failed to load tools from ${rendered}:\n${errorMessage}\n\nMake sure the function "${functionName}" exists and returns a valid tool definition array.\nResolved from: ${basePath}`);
|
|
800
793
|
}
|
|
801
794
|
}
|
|
802
795
|
if (filePath.endsWith(".py") || isJavascriptFile(filePath)) {
|
|
803
796
|
const ext = filePath.endsWith(".py") ? "Python" : "JavaScript";
|
|
804
|
-
const basePath =
|
|
797
|
+
const basePath = state.basePath || process.cwd();
|
|
805
798
|
throw new Error(`Cannot load tools from ${rendered}\n${ext} files require a function name. Use this format:\n tools: file://${filePath}:get_tools\n\nYour ${ext} file should export a function that returns tool definitions:\n` + (filePath.endsWith(".py") ? ` def get_tools():\n return [{"type": "function", "function": {...}}]` : ` module.exports.get_tools = () => [{ type: "function", function: {...} }];`) + `\n\nResolved from: ${basePath}`);
|
|
806
799
|
}
|
|
807
800
|
}
|
|
@@ -819,7 +812,6 @@ async function maybeLoadToolsFromExternalFile(tools, vars) {
|
|
|
819
812
|
}
|
|
820
813
|
return loaded;
|
|
821
814
|
}
|
|
822
|
-
|
|
823
815
|
//#endregion
|
|
824
816
|
//#region src/googleSheets.ts
|
|
825
817
|
async function checkGoogleSheetAccess(url) {
|
|
@@ -834,7 +826,7 @@ async function checkGoogleSheetAccess(url) {
|
|
|
834
826
|
status: response.status
|
|
835
827
|
};
|
|
836
828
|
} catch (error) {
|
|
837
|
-
|
|
829
|
+
logger.error(`Error checking sheet access: ${error}`);
|
|
838
830
|
return { public: false };
|
|
839
831
|
}
|
|
840
832
|
}
|
|
@@ -886,7 +878,7 @@ async function fetchCsvFromGoogleSheetAuthenticated(url) {
|
|
|
886
878
|
}
|
|
887
879
|
async function fetchCsvFromGoogleSheet(url) {
|
|
888
880
|
const { public: isPublic } = await checkGoogleSheetAccess(url);
|
|
889
|
-
|
|
881
|
+
logger.debug(`Google Sheets URL: ${url}, isPublic: ${isPublic}`);
|
|
890
882
|
if (isPublic) return fetchCsvFromGoogleSheetUnauthenticated(url);
|
|
891
883
|
return fetchCsvFromGoogleSheetAuthenticated(url);
|
|
892
884
|
}
|
|
@@ -929,7 +921,7 @@ async function writeCsvToGoogleSheet(rows, url) {
|
|
|
929
921
|
});
|
|
930
922
|
range = `${newSheetTitle}!A1:${endColumn}${numRows}`;
|
|
931
923
|
}
|
|
932
|
-
|
|
924
|
+
logger.debug(`Writing CSV to Google Sheets URL: ${url} with ${values.length} rows`);
|
|
933
925
|
await sheets.spreadsheets.values.update({
|
|
934
926
|
spreadsheetId,
|
|
935
927
|
range,
|
|
@@ -938,7 +930,6 @@ async function writeCsvToGoogleSheet(rows, url) {
|
|
|
938
930
|
requestBody: { values }
|
|
939
931
|
});
|
|
940
932
|
}
|
|
941
|
-
|
|
942
933
|
//#endregion
|
|
943
934
|
//#region src/server/utils/evalTableUtils.ts
|
|
944
935
|
/**
|
|
@@ -1137,7 +1128,6 @@ async function streamEvalCsv(eval_, options) {
|
|
|
1137
1128
|
isRedteam
|
|
1138
1129
|
})]));
|
|
1139
1130
|
}
|
|
1140
|
-
|
|
1141
1131
|
//#endregion
|
|
1142
1132
|
//#region src/util/output.ts
|
|
1143
1133
|
const outputToSimpleString = (output) => {
|
|
@@ -1202,7 +1192,7 @@ async function writeJsonOutputSafely(outputPath, evalRecord, shareableUrl) {
|
|
|
1202
1192
|
const isHeapOOM = /heap out of memory|Array buffer allocation failed|ERR_STRING_TOO_LONG/i.test(msg);
|
|
1203
1193
|
if (isStringLen || isHeapOOM) {
|
|
1204
1194
|
const resultCount = await evalRecord.getResultsCount();
|
|
1205
|
-
|
|
1195
|
+
logger.error(`Dataset too large for JSON export (${resultCount} results).`);
|
|
1206
1196
|
throw new Error(`Dataset too large for JSON export. The evaluation has ${resultCount} results which exceeds memory limits. Consider using JSONL format instead: --output output.jsonl`);
|
|
1207
1197
|
} else throw error;
|
|
1208
1198
|
}
|
|
@@ -1221,7 +1211,7 @@ async function writeOutput(outputPath, evalRecord, shareableUrl) {
|
|
|
1221
1211
|
});
|
|
1222
1212
|
return csvRow;
|
|
1223
1213
|
});
|
|
1224
|
-
|
|
1214
|
+
logger.info(`Writing ${rows.length} rows to Google Sheets...`);
|
|
1225
1215
|
await writeCsvToGoogleSheet(rows, outputPath);
|
|
1226
1216
|
return;
|
|
1227
1217
|
}
|
|
@@ -1303,14 +1293,13 @@ async function writeOutput(outputPath, evalRecord, shareableUrl) {
|
|
|
1303
1293
|
async function writeMultipleOutputs(outputPaths, evalRecord, shareableUrl) {
|
|
1304
1294
|
await Promise.all(outputPaths.map((outputPath) => writeOutput(outputPath, evalRecord, shareableUrl)));
|
|
1305
1295
|
}
|
|
1306
|
-
|
|
1307
1296
|
//#endregion
|
|
1308
1297
|
//#region src/util/runtime.ts
|
|
1309
1298
|
function printBorder() {
|
|
1310
1299
|
const border = "=".repeat(TERMINAL_MAX_WIDTH);
|
|
1311
|
-
|
|
1300
|
+
logger.info(border);
|
|
1312
1301
|
}
|
|
1313
|
-
|
|
1314
1302
|
//#endregion
|
|
1315
1303
|
export { getProviderDescription as A, deduplicateTestCases as C, resultIsForTestCase as D, getTestCaseDeduplicationKey as E, isGoogleProvider as M, isOpenAiProvider as N, checkProviderApiKeys as O, isProviderAllowed as P, setupEnv as S, filterRuntimeVars as T, extractVariablesFromTemplate as _, getNunjucksEngineForFilePath as a, loadFunction as b, maybeLoadFromExternalFile as c, maybeLoadToolsFromExternalFile as d, parsePathOrGlob as f, renderVarsInObject as g, renderEnvOnlyInObject as h, fetchCsvFromGoogleSheet as i, isAnthropicProvider as j, doesProviderRefMatch as k, maybeLoadFromExternalFileWithVars as l, readOutput as m, writeMultipleOutputs as n, getResolvedRelativePath as o, readFilters as p, writeOutput as r, maybeLoadConfigFromExternalFile as s, printBorder as t, maybeLoadResponseFormatFromExternalFile as u, extractVariablesFromTemplates as v, extractRuntimeVars as w, parseFileUrl as x, getNunjucksEngine as y };
|
|
1316
|
-
|
|
1304
|
+
|
|
1305
|
+
//# sourceMappingURL=util-Dlz_Wvgm.js.map
|