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
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { b as getEnvString, i as logger, y as getEnvInt } from "./logger-CT3IKMKA.js";
|
|
2
|
+
import { t as telemetry } from "./telemetry-C15ziL8u.js";
|
|
3
|
+
//#region src/providers/bedrock/util.ts
|
|
4
|
+
const REQUEST_TIMEOUT_MS = 3e5;
|
|
5
|
+
function hasProxyEnv() {
|
|
6
|
+
return Boolean(getEnvString("HTTP_PROXY") || getEnvString("HTTPS_PROXY"));
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Creates a NodeHttpHandler (HTTP/1.1) for Bedrock SDK clients.
|
|
10
|
+
*
|
|
11
|
+
* The @aws-sdk/client-bedrock-runtime package defaults to HTTP/2, which causes
|
|
12
|
+
* "http2 request did not get a response" errors in many environments (see #7756).
|
|
13
|
+
* This function forces HTTP/1.1 via NodeHttpHandler.
|
|
14
|
+
*
|
|
15
|
+
* For @aws-sdk/client-bedrock-agent-runtime (which already defaults to HTTP/1.1),
|
|
16
|
+
* this is only needed when proxy or API key authentication is required.
|
|
17
|
+
*/
|
|
18
|
+
async function createBedrockRequestHandler(options) {
|
|
19
|
+
const hasProxy = hasProxyEnv();
|
|
20
|
+
try {
|
|
21
|
+
const { NodeHttpHandler } = await import("@smithy/node-http-handler");
|
|
22
|
+
let proxyAgent;
|
|
23
|
+
if (hasProxy) {
|
|
24
|
+
const { ProxyAgent } = await import("proxy-agent");
|
|
25
|
+
proxyAgent = new ProxyAgent();
|
|
26
|
+
}
|
|
27
|
+
const handler = new NodeHttpHandler({
|
|
28
|
+
...proxyAgent ? { httpsAgent: proxyAgent } : {},
|
|
29
|
+
requestTimeout: REQUEST_TIMEOUT_MS
|
|
30
|
+
});
|
|
31
|
+
if (options?.apiKey) {
|
|
32
|
+
const originalHandle = handler.handle.bind(handler);
|
|
33
|
+
handler.handle = async (request, handlerOptions) => {
|
|
34
|
+
request.headers = {
|
|
35
|
+
...request.headers,
|
|
36
|
+
Authorization: `Bearer ${options.apiKey}`
|
|
37
|
+
};
|
|
38
|
+
return originalHandle(request, handlerOptions);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return handler;
|
|
42
|
+
} catch {
|
|
43
|
+
const reason = options?.apiKey ? "API key authentication requires the @smithy/node-http-handler package" : hasProxy ? "Proxy configuration requires the @smithy/node-http-handler package" : "Bedrock provider requires the @smithy/node-http-handler package";
|
|
44
|
+
throw new Error(`${reason}. Please install it in your project or globally.`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function novaOutputFromMessage(response) {
|
|
48
|
+
if (response.output?.message?.content.some((block) => block.toolUse?.toolUseId)) return response.output?.message?.content.map((block) => {
|
|
49
|
+
if (block.text) return null;
|
|
50
|
+
return JSON.stringify(block.toolUse);
|
|
51
|
+
}).filter((block) => block).join("\n\n");
|
|
52
|
+
return response.output?.message?.content.map((block) => {
|
|
53
|
+
return block.text;
|
|
54
|
+
}).join("\n\n");
|
|
55
|
+
}
|
|
56
|
+
function novaParseMessages(messages) {
|
|
57
|
+
try {
|
|
58
|
+
const parsed = JSON.parse(messages);
|
|
59
|
+
if (Array.isArray(parsed)) {
|
|
60
|
+
const systemMessage = parsed.find((msg) => msg.role === "system");
|
|
61
|
+
return {
|
|
62
|
+
extractedMessages: parsed.filter((msg) => msg.role !== "system").map((msg) => ({
|
|
63
|
+
role: msg.role,
|
|
64
|
+
content: Array.isArray(msg.content) ? msg.content : [{ text: msg.content }]
|
|
65
|
+
})),
|
|
66
|
+
system: systemMessage ? Array.isArray(systemMessage.content) ? systemMessage.content : [{ text: systemMessage.content }] : void 0
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
} catch {}
|
|
70
|
+
const lines = messages.split("\n").map((line) => line.trim()).filter((line) => line);
|
|
71
|
+
let system;
|
|
72
|
+
const extractedMessages = [];
|
|
73
|
+
let currentRole = null;
|
|
74
|
+
let currentContent = [];
|
|
75
|
+
const pushMessage = () => {
|
|
76
|
+
if (currentRole && currentContent.length > 0) {
|
|
77
|
+
extractedMessages.push({
|
|
78
|
+
role: currentRole,
|
|
79
|
+
content: [{ text: currentContent.join("\n") }]
|
|
80
|
+
});
|
|
81
|
+
currentContent = [];
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
for (const line of lines) if (line.startsWith("system:")) system = [{ text: line.slice(7).trim() }];
|
|
85
|
+
else if (line.startsWith("user:") || line.startsWith("assistant:")) {
|
|
86
|
+
pushMessage();
|
|
87
|
+
currentRole = line.startsWith("user:") ? "user" : "assistant";
|
|
88
|
+
currentContent.push(line.slice(line.indexOf(":") + 1).trim());
|
|
89
|
+
} else if (currentRole) currentContent.push(line);
|
|
90
|
+
else {
|
|
91
|
+
currentRole = "user";
|
|
92
|
+
currentContent.push(line);
|
|
93
|
+
}
|
|
94
|
+
pushMessage();
|
|
95
|
+
if (extractedMessages.length === 0 && !system) extractedMessages.push({
|
|
96
|
+
role: "user",
|
|
97
|
+
content: [{ text: messages.trim() }]
|
|
98
|
+
});
|
|
99
|
+
return {
|
|
100
|
+
system,
|
|
101
|
+
extractedMessages
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region src/providers/bedrock/base.ts
|
|
106
|
+
/**
|
|
107
|
+
* AWS Bedrock Base Provider
|
|
108
|
+
*
|
|
109
|
+
* Contains the abstract base class for all Bedrock providers.
|
|
110
|
+
* This is extracted to avoid circular dependency issues.
|
|
111
|
+
*/
|
|
112
|
+
var AwsBedrockGenericProvider = class {
|
|
113
|
+
modelName;
|
|
114
|
+
env;
|
|
115
|
+
bedrock;
|
|
116
|
+
config;
|
|
117
|
+
constructor(modelName, options = {}) {
|
|
118
|
+
const { config, id, env } = options;
|
|
119
|
+
this.env = env;
|
|
120
|
+
this.modelName = modelName;
|
|
121
|
+
this.config = config || {};
|
|
122
|
+
this.id = id ? () => id : this.id;
|
|
123
|
+
if (this.config.guardrailIdentifier) telemetry.record("feature_used", {
|
|
124
|
+
feature: "guardrail",
|
|
125
|
+
provider: "bedrock"
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
id() {
|
|
129
|
+
return `bedrock:${this.modelName}`;
|
|
130
|
+
}
|
|
131
|
+
toString() {
|
|
132
|
+
return `[Amazon Bedrock Provider ${this.modelName}]`;
|
|
133
|
+
}
|
|
134
|
+
requiresApiKey() {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
getApiKey() {
|
|
138
|
+
return this.config.apiKey || getEnvString("AWS_BEARER_TOKEN_BEDROCK");
|
|
139
|
+
}
|
|
140
|
+
async getCredentials() {
|
|
141
|
+
if (this.config.accessKeyId && this.config.secretAccessKey) {
|
|
142
|
+
logger.debug(`Using credentials from config file`);
|
|
143
|
+
return {
|
|
144
|
+
accessKeyId: this.config.accessKeyId,
|
|
145
|
+
secretAccessKey: this.config.secretAccessKey,
|
|
146
|
+
sessionToken: this.config.sessionToken
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
if (this.getApiKey()) {
|
|
150
|
+
logger.debug(`Using Bedrock API key authentication`);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (this.config.profile) {
|
|
154
|
+
logger.debug(`Using SSO profile: ${this.config.profile}`);
|
|
155
|
+
try {
|
|
156
|
+
const { fromSSO } = await import("@aws-sdk/credential-provider-sso");
|
|
157
|
+
return fromSSO({ profile: this.config.profile });
|
|
158
|
+
} catch (err) {
|
|
159
|
+
logger.error(`Error loading @aws-sdk/credential-provider-sso: ${err}`);
|
|
160
|
+
throw new Error("The @aws-sdk/credential-provider-sso package is required for SSO profiles. Please install it: npm install @aws-sdk/credential-provider-sso");
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
logger.debug(`No explicit credentials in config, falling back to AWS default chain`);
|
|
164
|
+
}
|
|
165
|
+
async getBedrockInstance() {
|
|
166
|
+
if (!this.bedrock) {
|
|
167
|
+
const handler = await createBedrockRequestHandler({ apiKey: this.getApiKey() });
|
|
168
|
+
try {
|
|
169
|
+
const { BedrockRuntime } = await import("@aws-sdk/client-bedrock-runtime");
|
|
170
|
+
const credentials = await this.getCredentials();
|
|
171
|
+
this.bedrock = new BedrockRuntime({
|
|
172
|
+
region: this.getRegion(),
|
|
173
|
+
maxAttempts: getEnvInt("AWS_BEDROCK_MAX_RETRIES", 10),
|
|
174
|
+
retryMode: "adaptive",
|
|
175
|
+
requestHandler: handler,
|
|
176
|
+
...credentials ? { credentials } : {},
|
|
177
|
+
...this.config.endpoint ? { endpoint: this.config.endpoint } : {}
|
|
178
|
+
});
|
|
179
|
+
} catch (err) {
|
|
180
|
+
logger.error(`Error creating BedrockRuntime: ${err}`);
|
|
181
|
+
throw new Error("The @aws-sdk/client-bedrock-runtime package is required as a peer dependency. Please install it in your project or globally.");
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return this.bedrock;
|
|
185
|
+
}
|
|
186
|
+
getRegion() {
|
|
187
|
+
return this.config?.region || this.env?.AWS_BEDROCK_REGION || getEnvString("AWS_BEDROCK_REGION") || "us-east-1";
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
//#endregion
|
|
191
|
+
export { novaParseMessages as a, novaOutputFromMessage as i, createBedrockRequestHandler as n, hasProxyEnv as r, AwsBedrockGenericProvider as t };
|
|
192
|
+
|
|
193
|
+
//# sourceMappingURL=base-B0tcrnq_.js.map
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { C as getEnvString, S as getEnvInt, o as logger } from "./logger-KkObSCzq.js";
|
|
3
|
+
import { r as telemetry } from "./telemetry-C2YDkUQH.js";
|
|
4
|
+
//#region src/providers/bedrock/util.ts
|
|
5
|
+
const REQUEST_TIMEOUT_MS = 3e5;
|
|
6
|
+
function hasProxyEnv() {
|
|
7
|
+
return Boolean(getEnvString("HTTP_PROXY") || getEnvString("HTTPS_PROXY"));
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Creates a NodeHttpHandler (HTTP/1.1) for Bedrock SDK clients.
|
|
11
|
+
*
|
|
12
|
+
* The @aws-sdk/client-bedrock-runtime package defaults to HTTP/2, which causes
|
|
13
|
+
* "http2 request did not get a response" errors in many environments (see #7756).
|
|
14
|
+
* This function forces HTTP/1.1 via NodeHttpHandler.
|
|
15
|
+
*
|
|
16
|
+
* For @aws-sdk/client-bedrock-agent-runtime (which already defaults to HTTP/1.1),
|
|
17
|
+
* this is only needed when proxy or API key authentication is required.
|
|
18
|
+
*/
|
|
19
|
+
async function createBedrockRequestHandler(options) {
|
|
20
|
+
const hasProxy = hasProxyEnv();
|
|
21
|
+
try {
|
|
22
|
+
const { NodeHttpHandler } = await import("@smithy/node-http-handler");
|
|
23
|
+
let proxyAgent;
|
|
24
|
+
if (hasProxy) {
|
|
25
|
+
const { ProxyAgent } = await import("proxy-agent");
|
|
26
|
+
proxyAgent = new ProxyAgent();
|
|
27
|
+
}
|
|
28
|
+
const handler = new NodeHttpHandler({
|
|
29
|
+
...proxyAgent ? { httpsAgent: proxyAgent } : {},
|
|
30
|
+
requestTimeout: REQUEST_TIMEOUT_MS
|
|
31
|
+
});
|
|
32
|
+
if (options?.apiKey) {
|
|
33
|
+
const originalHandle = handler.handle.bind(handler);
|
|
34
|
+
handler.handle = async (request, handlerOptions) => {
|
|
35
|
+
request.headers = {
|
|
36
|
+
...request.headers,
|
|
37
|
+
Authorization: `Bearer ${options.apiKey}`
|
|
38
|
+
};
|
|
39
|
+
return originalHandle(request, handlerOptions);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return handler;
|
|
43
|
+
} catch {
|
|
44
|
+
const reason = options?.apiKey ? "API key authentication requires the @smithy/node-http-handler package" : hasProxy ? "Proxy configuration requires the @smithy/node-http-handler package" : "Bedrock provider requires the @smithy/node-http-handler package";
|
|
45
|
+
throw new Error(`${reason}. Please install it in your project or globally.`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function novaOutputFromMessage(response) {
|
|
49
|
+
if (response.output?.message?.content.some((block) => block.toolUse?.toolUseId)) return response.output?.message?.content.map((block) => {
|
|
50
|
+
if (block.text) return null;
|
|
51
|
+
return JSON.stringify(block.toolUse);
|
|
52
|
+
}).filter((block) => block).join("\n\n");
|
|
53
|
+
return response.output?.message?.content.map((block) => {
|
|
54
|
+
return block.text;
|
|
55
|
+
}).join("\n\n");
|
|
56
|
+
}
|
|
57
|
+
function novaParseMessages(messages) {
|
|
58
|
+
try {
|
|
59
|
+
const parsed = JSON.parse(messages);
|
|
60
|
+
if (Array.isArray(parsed)) {
|
|
61
|
+
const systemMessage = parsed.find((msg) => msg.role === "system");
|
|
62
|
+
return {
|
|
63
|
+
extractedMessages: parsed.filter((msg) => msg.role !== "system").map((msg) => ({
|
|
64
|
+
role: msg.role,
|
|
65
|
+
content: Array.isArray(msg.content) ? msg.content : [{ text: msg.content }]
|
|
66
|
+
})),
|
|
67
|
+
system: systemMessage ? Array.isArray(systemMessage.content) ? systemMessage.content : [{ text: systemMessage.content }] : void 0
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
} catch {}
|
|
71
|
+
const lines = messages.split("\n").map((line) => line.trim()).filter((line) => line);
|
|
72
|
+
let system;
|
|
73
|
+
const extractedMessages = [];
|
|
74
|
+
let currentRole = null;
|
|
75
|
+
let currentContent = [];
|
|
76
|
+
const pushMessage = () => {
|
|
77
|
+
if (currentRole && currentContent.length > 0) {
|
|
78
|
+
extractedMessages.push({
|
|
79
|
+
role: currentRole,
|
|
80
|
+
content: [{ text: currentContent.join("\n") }]
|
|
81
|
+
});
|
|
82
|
+
currentContent = [];
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
for (const line of lines) if (line.startsWith("system:")) system = [{ text: line.slice(7).trim() }];
|
|
86
|
+
else if (line.startsWith("user:") || line.startsWith("assistant:")) {
|
|
87
|
+
pushMessage();
|
|
88
|
+
currentRole = line.startsWith("user:") ? "user" : "assistant";
|
|
89
|
+
currentContent.push(line.slice(line.indexOf(":") + 1).trim());
|
|
90
|
+
} else if (currentRole) currentContent.push(line);
|
|
91
|
+
else {
|
|
92
|
+
currentRole = "user";
|
|
93
|
+
currentContent.push(line);
|
|
94
|
+
}
|
|
95
|
+
pushMessage();
|
|
96
|
+
if (extractedMessages.length === 0 && !system) extractedMessages.push({
|
|
97
|
+
role: "user",
|
|
98
|
+
content: [{ text: messages.trim() }]
|
|
99
|
+
});
|
|
100
|
+
return {
|
|
101
|
+
system,
|
|
102
|
+
extractedMessages
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
//#endregion
|
|
106
|
+
//#region src/providers/bedrock/base.ts
|
|
107
|
+
/**
|
|
108
|
+
* AWS Bedrock Base Provider
|
|
109
|
+
*
|
|
110
|
+
* Contains the abstract base class for all Bedrock providers.
|
|
111
|
+
* This is extracted to avoid circular dependency issues.
|
|
112
|
+
*/
|
|
113
|
+
var AwsBedrockGenericProvider = class {
|
|
114
|
+
modelName;
|
|
115
|
+
env;
|
|
116
|
+
bedrock;
|
|
117
|
+
config;
|
|
118
|
+
constructor(modelName, options = {}) {
|
|
119
|
+
const { config, id, env } = options;
|
|
120
|
+
this.env = env;
|
|
121
|
+
this.modelName = modelName;
|
|
122
|
+
this.config = config || {};
|
|
123
|
+
this.id = id ? () => id : this.id;
|
|
124
|
+
if (this.config.guardrailIdentifier) telemetry.record("feature_used", {
|
|
125
|
+
feature: "guardrail",
|
|
126
|
+
provider: "bedrock"
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
id() {
|
|
130
|
+
return `bedrock:${this.modelName}`;
|
|
131
|
+
}
|
|
132
|
+
toString() {
|
|
133
|
+
return `[Amazon Bedrock Provider ${this.modelName}]`;
|
|
134
|
+
}
|
|
135
|
+
requiresApiKey() {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
getApiKey() {
|
|
139
|
+
return this.config.apiKey || getEnvString("AWS_BEARER_TOKEN_BEDROCK");
|
|
140
|
+
}
|
|
141
|
+
async getCredentials() {
|
|
142
|
+
if (this.config.accessKeyId && this.config.secretAccessKey) {
|
|
143
|
+
logger.debug(`Using credentials from config file`);
|
|
144
|
+
return {
|
|
145
|
+
accessKeyId: this.config.accessKeyId,
|
|
146
|
+
secretAccessKey: this.config.secretAccessKey,
|
|
147
|
+
sessionToken: this.config.sessionToken
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
if (this.getApiKey()) {
|
|
151
|
+
logger.debug(`Using Bedrock API key authentication`);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
if (this.config.profile) {
|
|
155
|
+
logger.debug(`Using SSO profile: ${this.config.profile}`);
|
|
156
|
+
try {
|
|
157
|
+
const { fromSSO } = await import("@aws-sdk/credential-provider-sso");
|
|
158
|
+
return fromSSO({ profile: this.config.profile });
|
|
159
|
+
} catch (err) {
|
|
160
|
+
logger.error(`Error loading @aws-sdk/credential-provider-sso: ${err}`);
|
|
161
|
+
throw new Error("The @aws-sdk/credential-provider-sso package is required for SSO profiles. Please install it: npm install @aws-sdk/credential-provider-sso");
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
logger.debug(`No explicit credentials in config, falling back to AWS default chain`);
|
|
165
|
+
}
|
|
166
|
+
async getBedrockInstance() {
|
|
167
|
+
if (!this.bedrock) {
|
|
168
|
+
const handler = await createBedrockRequestHandler({ apiKey: this.getApiKey() });
|
|
169
|
+
try {
|
|
170
|
+
const { BedrockRuntime } = await import("@aws-sdk/client-bedrock-runtime");
|
|
171
|
+
const credentials = await this.getCredentials();
|
|
172
|
+
this.bedrock = new BedrockRuntime({
|
|
173
|
+
region: this.getRegion(),
|
|
174
|
+
maxAttempts: getEnvInt("AWS_BEDROCK_MAX_RETRIES", 10),
|
|
175
|
+
retryMode: "adaptive",
|
|
176
|
+
requestHandler: handler,
|
|
177
|
+
...credentials ? { credentials } : {},
|
|
178
|
+
...this.config.endpoint ? { endpoint: this.config.endpoint } : {}
|
|
179
|
+
});
|
|
180
|
+
} catch (err) {
|
|
181
|
+
logger.error(`Error creating BedrockRuntime: ${err}`);
|
|
182
|
+
throw new Error("The @aws-sdk/client-bedrock-runtime package is required as a peer dependency. Please install it in your project or globally.");
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return this.bedrock;
|
|
186
|
+
}
|
|
187
|
+
getRegion() {
|
|
188
|
+
return this.config?.region || this.env?.AWS_BEDROCK_REGION || getEnvString("AWS_BEDROCK_REGION") || "us-east-1";
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
//#endregion
|
|
192
|
+
export { novaParseMessages as a, novaOutputFromMessage as i, createBedrockRequestHandler as n, hasProxyEnv as r, AwsBedrockGenericProvider as t };
|
|
193
|
+
|
|
194
|
+
//# sourceMappingURL=base-B4QJRyFS.js.map
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
const require_logger = require("./logger-Cp1GPUjj.cjs");
|
|
2
|
+
const require_telemetry = require("./telemetry-CbrnxHp_.cjs");
|
|
3
|
+
//#region src/providers/bedrock/util.ts
|
|
4
|
+
const REQUEST_TIMEOUT_MS = 3e5;
|
|
5
|
+
function hasProxyEnv() {
|
|
6
|
+
return Boolean(require_logger.getEnvString("HTTP_PROXY") || require_logger.getEnvString("HTTPS_PROXY"));
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Creates a NodeHttpHandler (HTTP/1.1) for Bedrock SDK clients.
|
|
10
|
+
*
|
|
11
|
+
* The @aws-sdk/client-bedrock-runtime package defaults to HTTP/2, which causes
|
|
12
|
+
* "http2 request did not get a response" errors in many environments (see #7756).
|
|
13
|
+
* This function forces HTTP/1.1 via NodeHttpHandler.
|
|
14
|
+
*
|
|
15
|
+
* For @aws-sdk/client-bedrock-agent-runtime (which already defaults to HTTP/1.1),
|
|
16
|
+
* this is only needed when proxy or API key authentication is required.
|
|
17
|
+
*/
|
|
18
|
+
async function createBedrockRequestHandler(options) {
|
|
19
|
+
const hasProxy = hasProxyEnv();
|
|
20
|
+
try {
|
|
21
|
+
const { NodeHttpHandler } = await import("@smithy/node-http-handler");
|
|
22
|
+
let proxyAgent;
|
|
23
|
+
if (hasProxy) {
|
|
24
|
+
const { ProxyAgent } = await import("proxy-agent");
|
|
25
|
+
proxyAgent = new ProxyAgent();
|
|
26
|
+
}
|
|
27
|
+
const handler = new NodeHttpHandler({
|
|
28
|
+
...proxyAgent ? { httpsAgent: proxyAgent } : {},
|
|
29
|
+
requestTimeout: REQUEST_TIMEOUT_MS
|
|
30
|
+
});
|
|
31
|
+
if (options?.apiKey) {
|
|
32
|
+
const originalHandle = handler.handle.bind(handler);
|
|
33
|
+
handler.handle = async (request, handlerOptions) => {
|
|
34
|
+
request.headers = {
|
|
35
|
+
...request.headers,
|
|
36
|
+
Authorization: `Bearer ${options.apiKey}`
|
|
37
|
+
};
|
|
38
|
+
return originalHandle(request, handlerOptions);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return handler;
|
|
42
|
+
} catch {
|
|
43
|
+
const reason = options?.apiKey ? "API key authentication requires the @smithy/node-http-handler package" : hasProxy ? "Proxy configuration requires the @smithy/node-http-handler package" : "Bedrock provider requires the @smithy/node-http-handler package";
|
|
44
|
+
throw new Error(`${reason}. Please install it in your project or globally.`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function novaOutputFromMessage(response) {
|
|
48
|
+
if (response.output?.message?.content.some((block) => block.toolUse?.toolUseId)) return response.output?.message?.content.map((block) => {
|
|
49
|
+
if (block.text) return null;
|
|
50
|
+
return JSON.stringify(block.toolUse);
|
|
51
|
+
}).filter((block) => block).join("\n\n");
|
|
52
|
+
return response.output?.message?.content.map((block) => {
|
|
53
|
+
return block.text;
|
|
54
|
+
}).join("\n\n");
|
|
55
|
+
}
|
|
56
|
+
function novaParseMessages(messages) {
|
|
57
|
+
try {
|
|
58
|
+
const parsed = JSON.parse(messages);
|
|
59
|
+
if (Array.isArray(parsed)) {
|
|
60
|
+
const systemMessage = parsed.find((msg) => msg.role === "system");
|
|
61
|
+
return {
|
|
62
|
+
extractedMessages: parsed.filter((msg) => msg.role !== "system").map((msg) => ({
|
|
63
|
+
role: msg.role,
|
|
64
|
+
content: Array.isArray(msg.content) ? msg.content : [{ text: msg.content }]
|
|
65
|
+
})),
|
|
66
|
+
system: systemMessage ? Array.isArray(systemMessage.content) ? systemMessage.content : [{ text: systemMessage.content }] : void 0
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
} catch {}
|
|
70
|
+
const lines = messages.split("\n").map((line) => line.trim()).filter((line) => line);
|
|
71
|
+
let system;
|
|
72
|
+
const extractedMessages = [];
|
|
73
|
+
let currentRole = null;
|
|
74
|
+
let currentContent = [];
|
|
75
|
+
const pushMessage = () => {
|
|
76
|
+
if (currentRole && currentContent.length > 0) {
|
|
77
|
+
extractedMessages.push({
|
|
78
|
+
role: currentRole,
|
|
79
|
+
content: [{ text: currentContent.join("\n") }]
|
|
80
|
+
});
|
|
81
|
+
currentContent = [];
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
for (const line of lines) if (line.startsWith("system:")) system = [{ text: line.slice(7).trim() }];
|
|
85
|
+
else if (line.startsWith("user:") || line.startsWith("assistant:")) {
|
|
86
|
+
pushMessage();
|
|
87
|
+
currentRole = line.startsWith("user:") ? "user" : "assistant";
|
|
88
|
+
currentContent.push(line.slice(line.indexOf(":") + 1).trim());
|
|
89
|
+
} else if (currentRole) currentContent.push(line);
|
|
90
|
+
else {
|
|
91
|
+
currentRole = "user";
|
|
92
|
+
currentContent.push(line);
|
|
93
|
+
}
|
|
94
|
+
pushMessage();
|
|
95
|
+
if (extractedMessages.length === 0 && !system) extractedMessages.push({
|
|
96
|
+
role: "user",
|
|
97
|
+
content: [{ text: messages.trim() }]
|
|
98
|
+
});
|
|
99
|
+
return {
|
|
100
|
+
system,
|
|
101
|
+
extractedMessages
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region src/providers/bedrock/base.ts
|
|
106
|
+
/**
|
|
107
|
+
* AWS Bedrock Base Provider
|
|
108
|
+
*
|
|
109
|
+
* Contains the abstract base class for all Bedrock providers.
|
|
110
|
+
* This is extracted to avoid circular dependency issues.
|
|
111
|
+
*/
|
|
112
|
+
var AwsBedrockGenericProvider = class {
|
|
113
|
+
modelName;
|
|
114
|
+
env;
|
|
115
|
+
bedrock;
|
|
116
|
+
config;
|
|
117
|
+
constructor(modelName, options = {}) {
|
|
118
|
+
const { config, id, env } = options;
|
|
119
|
+
this.env = env;
|
|
120
|
+
this.modelName = modelName;
|
|
121
|
+
this.config = config || {};
|
|
122
|
+
this.id = id ? () => id : this.id;
|
|
123
|
+
if (this.config.guardrailIdentifier) require_telemetry.telemetry.record("feature_used", {
|
|
124
|
+
feature: "guardrail",
|
|
125
|
+
provider: "bedrock"
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
id() {
|
|
129
|
+
return `bedrock:${this.modelName}`;
|
|
130
|
+
}
|
|
131
|
+
toString() {
|
|
132
|
+
return `[Amazon Bedrock Provider ${this.modelName}]`;
|
|
133
|
+
}
|
|
134
|
+
requiresApiKey() {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
getApiKey() {
|
|
138
|
+
return this.config.apiKey || require_logger.getEnvString("AWS_BEARER_TOKEN_BEDROCK");
|
|
139
|
+
}
|
|
140
|
+
async getCredentials() {
|
|
141
|
+
if (this.config.accessKeyId && this.config.secretAccessKey) {
|
|
142
|
+
require_logger.logger.debug(`Using credentials from config file`);
|
|
143
|
+
return {
|
|
144
|
+
accessKeyId: this.config.accessKeyId,
|
|
145
|
+
secretAccessKey: this.config.secretAccessKey,
|
|
146
|
+
sessionToken: this.config.sessionToken
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
if (this.getApiKey()) {
|
|
150
|
+
require_logger.logger.debug(`Using Bedrock API key authentication`);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (this.config.profile) {
|
|
154
|
+
require_logger.logger.debug(`Using SSO profile: ${this.config.profile}`);
|
|
155
|
+
try {
|
|
156
|
+
const { fromSSO } = await import("@aws-sdk/credential-provider-sso");
|
|
157
|
+
return fromSSO({ profile: this.config.profile });
|
|
158
|
+
} catch (err) {
|
|
159
|
+
require_logger.logger.error(`Error loading @aws-sdk/credential-provider-sso: ${err}`);
|
|
160
|
+
throw new Error("The @aws-sdk/credential-provider-sso package is required for SSO profiles. Please install it: npm install @aws-sdk/credential-provider-sso");
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
require_logger.logger.debug(`No explicit credentials in config, falling back to AWS default chain`);
|
|
164
|
+
}
|
|
165
|
+
async getBedrockInstance() {
|
|
166
|
+
if (!this.bedrock) {
|
|
167
|
+
const handler = await createBedrockRequestHandler({ apiKey: this.getApiKey() });
|
|
168
|
+
try {
|
|
169
|
+
const { BedrockRuntime } = await import("@aws-sdk/client-bedrock-runtime");
|
|
170
|
+
const credentials = await this.getCredentials();
|
|
171
|
+
this.bedrock = new BedrockRuntime({
|
|
172
|
+
region: this.getRegion(),
|
|
173
|
+
maxAttempts: require_logger.getEnvInt("AWS_BEDROCK_MAX_RETRIES", 10),
|
|
174
|
+
retryMode: "adaptive",
|
|
175
|
+
requestHandler: handler,
|
|
176
|
+
...credentials ? { credentials } : {},
|
|
177
|
+
...this.config.endpoint ? { endpoint: this.config.endpoint } : {}
|
|
178
|
+
});
|
|
179
|
+
} catch (err) {
|
|
180
|
+
require_logger.logger.error(`Error creating BedrockRuntime: ${err}`);
|
|
181
|
+
throw new Error("The @aws-sdk/client-bedrock-runtime package is required as a peer dependency. Please install it in your project or globally.");
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return this.bedrock;
|
|
185
|
+
}
|
|
186
|
+
getRegion() {
|
|
187
|
+
return this.config?.region || this.env?.AWS_BEDROCK_REGION || require_logger.getEnvString("AWS_BEDROCK_REGION") || "us-east-1";
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
//#endregion
|
|
191
|
+
Object.defineProperty(exports, "AwsBedrockGenericProvider", {
|
|
192
|
+
enumerable: true,
|
|
193
|
+
get: function() {
|
|
194
|
+
return AwsBedrockGenericProvider;
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
Object.defineProperty(exports, "createBedrockRequestHandler", {
|
|
198
|
+
enumerable: true,
|
|
199
|
+
get: function() {
|
|
200
|
+
return createBedrockRequestHandler;
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
Object.defineProperty(exports, "hasProxyEnv", {
|
|
204
|
+
enumerable: true,
|
|
205
|
+
get: function() {
|
|
206
|
+
return hasProxyEnv;
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
Object.defineProperty(exports, "novaOutputFromMessage", {
|
|
210
|
+
enumerable: true,
|
|
211
|
+
get: function() {
|
|
212
|
+
return novaOutputFromMessage;
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
Object.defineProperty(exports, "novaParseMessages", {
|
|
216
|
+
enumerable: true,
|
|
217
|
+
get: function() {
|
|
218
|
+
return novaParseMessages;
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
|
|
222
|
+
//# sourceMappingURL=base-DBtwl2FR.cjs.map
|