promptfoo 0.121.2 → 0.121.4
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 +2 -0
- package/dist/src/{ListApp-Du7YVwj5.js → ListApp-DQkFNqE9.js} +1 -1
- package/dist/src/{accounts-B0pgC1oV.js → accounts-DdJ2pHMI.js} +5 -5
- package/dist/src/{accounts-CiBLOnA7.js → accounts-DhMYUUbu.js} +5 -5
- package/dist/src/{accounts-gtkH-5KX.cjs → accounts-Dy17bs4D.cjs} +5 -5
- package/dist/src/{accounts-Bm2D8Db9.js → accounts-F9d_5sMC.js} +6 -6
- package/dist/src/{cometapi-C4xSqeID.cjs → agentic-utils-BpX5b23w.cjs} +24 -62
- package/dist/src/{cometapi-CUQq3H_a.js → agentic-utils-P172hM8B.js} +4 -61
- package/dist/src/agentic-utils-qFlm6zes.js +153 -0
- package/dist/src/{agentic-utils-DS1g3GLF.js → agentic-utils-w68v6_Dz.js} +3 -3
- package/dist/src/{agents-CmvBq8LV.js → agents-8FDnTriG.js} +6 -7
- package/dist/src/{agents-DbRtpYxR.cjs → agents-BahDpe5G.cjs} +255 -20
- package/dist/src/{agents-DgF2zDag.js → agents-C-R_jfzI.js} +255 -20
- package/dist/src/{agents-9qiOy0ho.js → agents-CgaMXvLM.js} +5 -7
- package/dist/src/{agents-Di9DKPzn.cjs → agents-D7-HGxUj.cjs} +5 -7
- package/dist/src/{agents-CBr9A01V.js → agents-DJ35I3Nt.js} +255 -20
- package/dist/src/{agents-cLXA8a_8.js → agents-aYPQLf8W.js} +5 -9
- package/dist/src/{agents-D__IdAlg.js → agents-pQeBEXMm.js} +255 -21
- package/dist/src/{aimlapi-B4rcnZgv.js → aimlapi-BCq3MHeL.js} +8 -14
- package/dist/src/{aimlapi-DHJU_kcV.js → aimlapi-BD6J9oKt.js} +7 -14
- package/dist/src/{aimlapi-BvlNH0gr.cjs → aimlapi-qcK4OT55.cjs} +8 -15
- package/dist/src/{aimlapi-CnkC2HqE.js → aimlapi-sgYnkE54.js} +7 -16
- package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -0
- package/dist/src/app/assets/Report-CQYFezYu.js +1 -0
- package/dist/src/app/assets/index-BXGkeMwh.css +1 -0
- package/dist/src/app/assets/index-BzJt18Jz.js +385 -0
- package/dist/src/app/assets/rolldown-runtime-COnpUsM8.js +1 -0
- package/dist/src/app/assets/scroll-timeline-D9IT_e8Z.js +1 -0
- package/dist/src/app/assets/sync-IjzpWrOE.js +4 -0
- package/dist/src/app/assets/vendor-charts-BNdH8TCw.js +36 -0
- package/dist/src/app/assets/vendor-markdown-Ch00wnNI.js +29 -0
- package/dist/src/app/assets/vendor-react-CVvmk1UB.js +9 -0
- package/dist/src/app/assets/vendor-utils-BnEYbx2Q.js +37 -0
- package/dist/src/app/index.html +7 -7
- package/dist/src/{audio-Dz3z7s3J.js → audio-B7izf48x.js} +4 -5
- package/dist/src/{audio-CGMyULza.cjs → audio-BQtNuYBj.cjs} +4 -4
- package/dist/src/{audio-Bkv46et0.js → audio-COrn8rM6.js} +4 -4
- package/dist/src/{audio-ClI_AFre.js → audio-DcVKoInv.js} +4 -4
- package/dist/src/{base-CGrhspbK.cjs → base-D-670DX8.cjs} +3 -3
- package/dist/src/{base-CpjcHe4e.js → base-PYJvBE1i.js} +3 -3
- package/dist/src/{base-Dy1V8--Z.js → base-fZ9wgg50.js} +3 -3
- package/dist/src/{base-DLKtKMFh.js → base-yrI1Yal4.js} +3 -3
- package/dist/src/{blobs-BDbfYdrJ.js → blobs-BCZavS8s.js} +4 -4
- package/dist/src/{blobs-CMHN0Qcz.js → blobs-BQWqnnvL.js} +4 -4
- package/dist/src/{blobs-CBO20krR.js → blobs-C-F78Kfn.js} +3 -3
- package/dist/src/{blobs-D23XLin-.cjs → blobs-D2FAd1Q5.cjs} +3 -3
- package/dist/src/cache-BIyPcp5v.cjs +376 -0
- package/dist/src/cache-C4Xb-hNb.js +310 -0
- package/dist/src/cache-Cr9oLMUa.js +3 -0
- package/dist/src/cache-D5NZmMiT.js +310 -0
- package/dist/src/cache-DbLsVWB2.cjs +3 -0
- package/dist/src/cache-mb7c8hbp.js +280 -0
- package/dist/src/{chat-C2jrdPMx.js → chat-0bwXjVP0.js} +3 -13
- package/dist/src/{chat-C1Qst7jL.cjs → chat-BPXSW8Bv.cjs} +3 -13
- package/dist/src/{chat-DJIw17u0.js → chat-BfPaS15_.js} +68 -42
- package/dist/src/{chat-CgF-J-Jj.cjs → chat-CclRbxGf.cjs} +68 -42
- package/dist/src/{chat-BiKyneZl.js → chat-Dr3DUQ0D.js} +68 -42
- package/dist/src/{chat-DqxYYtWA.js → chat-I9izLm49.js} +67 -41
- package/dist/src/{chat-CzkrVDfz.js → chat-MKxMnZJZ.js} +3 -13
- package/dist/src/{chat-qmatte1u.js → chat-mW0ORo8G.js} +3 -14
- package/dist/src/{chatkit-DKyPi1Gs.cjs → chatkit-BoWoSgXl.cjs} +4 -4
- package/dist/src/{chatkit-65VXf5SR.js → chatkit-CJnHRRMM.js} +4 -4
- package/dist/src/{chatkit-Be-Q-a9F.js → chatkit-Cv6AhukM.js} +4 -4
- package/dist/src/{chatkit-BxFvW8KY.js → chatkit-zUIVoDos.js} +4 -4
- package/dist/src/{claude-agent-sdk-Apiy0iaz.js → claude-agent-sdk-BQNuLaAK.js} +41 -18
- package/dist/src/{claude-agent-sdk-D9Z5Pr9X.cjs → claude-agent-sdk-CPJo3dBQ.cjs} +45 -22
- package/dist/src/{claude-agent-sdk-D2bJee9S.js → claude-agent-sdk-Dtq_L-Sc.js} +40 -17
- package/dist/src/{claude-agent-sdk-DfCoW0E6.js → claude-agent-sdk-nfAIcxNf.js} +42 -20
- package/dist/src/{cloud-C0dlstV_.js → cloud-DQZ5sVjW.js} +25 -13
- package/dist/src/cloud-Hphvo8kr.js +3 -0
- package/dist/src/{cloudflare-ai-8TDxHR0x.js → cloudflare-ai-BIB567w6.js} +5 -14
- package/dist/src/{cloudflare-ai-g7PB6VHR.js → cloudflare-ai-DGLte7Py.js} +5 -14
- package/dist/src/{cloudflare-ai-CknbZ5LJ.cjs → cloudflare-ai-Dl3N9OVD.cjs} +6 -15
- package/dist/src/{cloudflare-ai-BxAGvfju.js → cloudflare-ai-DlKr0rY7.js} +5 -15
- package/dist/src/{cloudflare-gateway-B9HWA5wf.js → cloudflare-gateway-BDZrYydE.js} +4 -16
- package/dist/src/{cloudflare-gateway-BSnDmHYo.cjs → cloudflare-gateway-BYDp495F.cjs} +4 -15
- package/dist/src/{cloudflare-gateway-CKDb4dJ8.js → cloudflare-gateway-CiIZHU0Q.js} +5 -164
- package/dist/src/{cloudflare-gateway-CP9QEWYS.js → cloudflare-gateway-DI1HNP5F.js} +4 -15
- package/dist/src/codex-sdk-BAmYE7qy.js +3 -0
- package/dist/src/codex-sdk-C2_M2pl_.cjs +1172 -0
- package/dist/src/codex-sdk-CErXn7qh.js +1165 -0
- package/dist/src/codex-sdk-CWEnH70W.cjs +2 -0
- package/dist/src/codex-sdk-CpqiOqDO.js +1164 -0
- package/dist/src/codex-sdk-Rtky3M4I.js +1165 -0
- package/dist/src/{cometapi-BL9yvj_f.js → cometapi-BUlt_ELa.js} +8 -15
- package/dist/src/{cometapi-DFNiKmSz.js → cometapi-CtJ-mS8R.js} +8 -16
- package/dist/src/cometapi-DT-jlVCB.js +55 -0
- package/dist/src/cometapi-UVOryo4W.cjs +55 -0
- package/dist/src/{completion-CM6oK8PS.cjs → completion-BozdoXba.cjs} +7 -62
- package/dist/src/{completion-5MzrpJxT.js → completion-Dnxn7E-j.js} +8 -57
- package/dist/src/{completion-qRoZAYRB.js → completion-HUe8wDhZ.js} +8 -57
- package/dist/src/{completion-DZ083F31.js → completion-x0a_c2y1.js} +8 -57
- package/dist/src/{createHash-CTQmL3G2.js → createHash-4gFQpDDv.js} +3 -3
- package/dist/src/{createHash-CfZSc0b4.cjs → createHash-B7KvgoOD.cjs} +4 -4
- package/dist/src/{createHash-Da8fMwqB.js → createHash-ChI45QR1.js} +3 -3
- package/dist/src/{createHash-DmPQkvBh.js → createHash-CwDVU5xr.js} +3 -3
- package/dist/src/{docker-ExVyLp0S.js → docker-CQmlA2NU.js} +7 -14
- package/dist/src/{docker-Bb5dcxr8.js → docker-ClnmCf1Z.js} +6 -14
- package/dist/src/{docker-BvfL2BrW.js → docker-DCgsveLD.js} +6 -16
- package/dist/src/{docker-DcF2pRrj.cjs → docker-DS4_Osau.cjs} +7 -15
- package/dist/src/embedding-D3xTseo7.js +59 -0
- package/dist/src/embedding-DD9wa3ae.js +58 -0
- package/dist/src/embedding-I45KG3o7.cjs +63 -0
- package/dist/src/embedding-nFbumxcv.js +58 -0
- package/dist/src/entrypoint.js +69 -6
- package/dist/src/{errors-P6ll7XSJ.js → errors-Cw810C93.js} +1 -1
- package/dist/src/{esm-CaIwzWR5.js → esm-C7PnfdF8.js} +16 -7
- package/dist/src/{esm-CnNt7sI4.cjs → esm-CtEPLdAj.cjs} +15 -6
- package/dist/src/{esm-Cd1AjG1D.js → esm-Dh4dOLlt.js} +15 -6
- package/dist/src/{esm-C03C-mv3.js → esm-tVgYPY-f.js} +27 -18
- package/dist/src/eval-CzJFfFO9.js +3 -0
- package/dist/src/{eval-Dg2nG4v2.js → eval-u4UVafl6.js} +49 -20
- package/dist/src/{evalResult-BDMqrapS.js → evalResult-Bgm9ZH31.js} +7 -7
- package/dist/src/{evalResult-BBRNtX4I.js → evalResult-D3hVYFis.js} +7 -7
- package/dist/src/evalResult-D8MT9p0s.js +3 -0
- package/dist/src/evalResult-DElBuddX.js +2 -0
- package/dist/src/evalResult-Dvc-iucu.cjs +2 -0
- package/dist/src/{evalResult-fuaI8HkH.cjs → evalResult-KZqXl4XP.cjs} +7 -7
- package/dist/src/evaluator-CVessDWe.js +3 -0
- package/dist/src/{evaluator-BhoWwp5b.js → evaluator-IvuDYSvQ.js} +3080 -1254
- package/dist/src/{extractor-D25qpmGX.js → extractor-CAfTSraf.js} +6 -6
- package/dist/src/{extractor-DReVID0K.js → extractor-DNSeBVOJ.js} +6 -6
- package/dist/src/{extractor-C0EVHewb.js → extractor-Dk6bRWkv.js} +6 -6
- package/dist/src/{extractor-pYLLi3wS.cjs → extractor-WVPOrH43.cjs} +6 -6
- package/dist/src/{fetch-HaqdX7U1.js → fetch-B0Z3Oe4k.js} +218 -55
- package/dist/src/{fetch-Dxpd4_sr.js → fetch-BEWnXrrG.js} +195 -45
- package/dist/src/fetch-C7bGKDlQ.js +3 -0
- package/dist/src/{fetch-BPkYtG8K.cjs → fetch-CJU5ELPa.cjs} +223 -48
- package/dist/src/{fetch-Cwxnd8zz.js → fetch-Di00EQrc.js} +218 -55
- package/dist/src/{fileExtensions-Ds-foDzt.js → fileExtensions-AWa2ZML4.js} +1 -1
- package/dist/src/{fileExtensions-LcDYkU4v.js → fileExtensions-BArZuxsI.js} +1 -1
- package/dist/src/{formatDuration-DgBVMN65.js → formatDuration-DZzPsexs.js} +1 -1
- package/dist/src/{genaiTracer-D3fD9dNV.js → genaiTracer-COYDi-tC.js} +6 -2
- package/dist/src/{genaiTracer-C1rxGO8Q.js → genaiTracer-DWdZ28hY.js} +6 -2
- package/dist/src/{genaiTracer-70Z8BIuV.js → genaiTracer-XnrcgDCe.js} +6 -2
- package/dist/src/{genaiTracer-DN4dQywX.cjs → genaiTracer-yRuxj9-L.cjs} +7 -3
- package/dist/src/golang/wrapper.go +1 -1
- package/dist/src/{graders-DU49_J8Y.cjs → graders--zknU_uk.cjs} +5747 -3206
- package/dist/src/graders-BOAzQEUe.cjs +2 -0
- package/dist/src/graders-D4BTsZdG2.js +3 -0
- package/dist/src/graders-DOJK1XpV.js +2 -0
- package/dist/src/graders-NAv9LcBn.js +2 -0
- package/dist/src/{graders-BTeBGqjJ.js → graders-Zy3x0zqX.js} +5727 -3218
- package/dist/src/{graders-Bj_Odv7c.js → graders-eIHhRqoC.js} +5719 -3210
- package/dist/src/{graders-DP7KFFo-.js → graders-pvbReLLn.js} +5728 -3219
- package/dist/src/{image-B0h9VEMc.js → image-9302QVqR.js} +4 -4
- package/dist/src/{image-CHfWvljl.js → image-B5Mv-Z3h.js} +8 -8
- package/dist/src/{image-DS-o-0ph.js → image-DVz2RiMF.js} +8 -8
- package/dist/src/{image-C1madmKh.cjs → image-De2FBmYV.cjs} +4 -4
- package/dist/src/{image-B02ogr_b.js → image-dnoUgPrC.js} +4 -5
- package/dist/src/{image-Dpxa1Jt6.js → image-qUpPvmNZ.js} +8 -8
- package/dist/src/{image-Bb4vWQLM.js → image-u7-rKnYU.js} +4 -4
- package/dist/src/{image-BLmROtN3.cjs → image-x6KqLQl4.cjs} +8 -8
- package/dist/src/index.cjs +3728 -1482
- package/dist/src/index.d.cts +3232 -79
- package/dist/src/index.d.ts +3232 -79
- package/dist/src/index.js +3735 -1490
- package/dist/src/{interactiveCheck-BgLZUIt3.js → interactiveCheck-CLERUB0c.js} +2 -2
- package/dist/src/{knowledgeBase-DOO_BM9b.cjs → knowledgeBase-Bpoe_nLu.cjs} +6 -8
- package/dist/src/{knowledgeBase-D33Ty2l6.js → knowledgeBase-Dgc7CBWF.js} +6 -8
- package/dist/src/{knowledgeBase-B3OoKIej.js → knowledgeBase-RhFPGWDc.js} +6 -8
- package/dist/src/{knowledgeBase-CYTLHOt1.js → knowledgeBase-lm9RXSAm.js} +6 -9
- package/dist/src/{litellm-NbjknEh6.js → litellm-C2kqjxqp.js} +6 -14
- package/dist/src/{litellm-I_hbp_dc.cjs → litellm-CoyI4IAl.cjs} +6 -15
- package/dist/src/{litellm-TrljxD9G.js → litellm-DRjpcSa7.js} +5 -14
- package/dist/src/{litellm-AaeZcZQF.js → litellm-p37R1dzQ.js} +5 -16
- package/dist/src/{logger-DLcq4dWf.js → logger-B88EkIn6.js} +48 -23
- package/dist/src/{logger-Cp1GPUjj.cjs → logger-COuQb2xB.cjs} +77 -22
- package/dist/src/{logger-CT3IKMKA.js → logger-Ct2S6Yx-.js} +48 -23
- package/dist/src/{logger-KkObSCzq.js → logger-DksKw1Qc.js} +48 -23
- package/dist/src/{luma-ray-f6I2fft-.js → luma-ray-B863CmuZ.js} +6 -10
- package/dist/src/{luma-ray-DDsjcgZZ.js → luma-ray-BTTLtqQ8.js} +7 -10
- package/dist/src/{luma-ray-Due0n7di.cjs → luma-ray-BxVKaW2a.cjs} +6 -10
- package/dist/src/{luma-ray-BS2_tY8L.js → luma-ray-KgTCXrZC.js} +6 -12
- package/dist/src/main.d.ts +1 -26
- package/dist/src/main.js +1011 -548
- package/dist/src/{messages-Bs1kC7P4.cjs → messages-811uVVW5.cjs} +74 -19
- package/dist/src/{messages-BS17jdMx.js → messages-BTQz42fn.js} +74 -19
- package/dist/src/{messages-ZJk778GH.js → messages-MYTQ2TWp.js} +74 -19
- package/dist/src/{messages-D0lx5qK7.js → messages-zWbkLLHz.js} +74 -19
- package/dist/src/{meteor-D-SotUw9.js → meteor-CU5UAE-H.js} +1 -1
- package/dist/src/{meteor-DLZZ3osF.cjs → meteor-Co1VQ1u5.cjs} +1 -1
- package/dist/src/{meteor-44VjEACX.js → meteor-DHdzY1Ss.js} +1 -1
- package/dist/src/{meteor-DUiCJRC-.js → meteor-DuAFv6gF.js} +1 -1
- package/dist/src/{modelslab-Bmni6skY.js → modelslab-D0erNWKe.js} +7 -10
- package/dist/src/{modelslab-DRb74SP4.js → modelslab-DIq-6y7x.js} +7 -10
- package/dist/src/{modelslab-CoUX6Jc_.cjs → modelslab-Dk1JAtVo.cjs} +7 -10
- package/dist/src/{modelslab-Bx9IrZfS.js → modelslab-wu9yi5GE.js} +7 -11
- package/dist/src/{nova-reel-BfPq-0Yk.js → nova-reel-CCFRfeRb.js} +7 -10
- package/dist/src/{nova-reel-C_QM18Xn.cjs → nova-reel-CrLXVKQf.cjs} +6 -10
- package/dist/src/{nova-reel-bgjxilYW.js → nova-reel-DQrm74ng.js} +6 -10
- package/dist/src/{nova-reel-D_W1tjMH.js → nova-reel-gr11WG7f.js} +6 -12
- package/dist/src/{nova-sonic-DIGQNR07.js → nova-sonic-BYdp-QLs.js} +5 -7
- package/dist/src/{nova-sonic-CFb5GYhg.js → nova-sonic-B_ZXcUJB.js} +4 -7
- package/dist/src/{nova-sonic-De1HW5fD.js → nova-sonic-TDgrlTk7.js} +4 -9
- package/dist/src/{nova-sonic-zfcljeRp.cjs → nova-sonic-i5tUvXKn.cjs} +4 -7
- package/dist/src/{openai-DElQ-fPX.js → openai-DhVEmgeZ.js} +6 -3
- package/dist/src/{openai-DhbB7eWK.js → openai-Qsvz25mV.js} +6 -3
- package/dist/src/{openai-Cuif0GEt.cjs → openai-URNyItar.cjs} +6 -3
- package/dist/src/{openai-j-sE2O7r.js → openai-iYtrXzOX.js} +6 -3
- package/dist/src/openclaw-CLWrW03k.js +1200 -0
- package/dist/src/openclaw-CnQ363Wi.js +1199 -0
- package/dist/src/openclaw-CwzlQSQX.js +1199 -0
- package/dist/src/openclaw-wX9rtfke.cjs +1205 -0
- package/dist/src/{opencode-sdk-B3CWY9h_.js → opencode-sdk-BUu5Nevv.js} +12 -14
- package/dist/src/{opencode-sdk-BL764Jdi.cjs → opencode-sdk-BZ2idgYA.cjs} +16 -18
- package/dist/src/{opencode-sdk-0j6rTWNb.js → opencode-sdk-BxD8vXp_.js} +12 -15
- package/dist/src/{opencode-sdk-C2y6UkP2.js → opencode-sdk-GI2KaAXq.js} +12 -14
- package/dist/src/{otlpReceiver-C99PPb48.js → otlpReceiver-B2z58l4e.js} +154 -98
- package/dist/src/{otlpReceiver-CGq6LspY.cjs → otlpReceiver-BfcVq2Nq.cjs} +154 -98
- package/dist/src/{otlpReceiver-D89fR-rC.js → otlpReceiver-BntK801g.js} +154 -98
- package/dist/src/{otlpReceiver-CdNBdbsk.js → otlpReceiver-DmVulbhC.js} +154 -98
- package/dist/src/{providerRegistry-CD8MEar9.js → providerRegistry-Bvh8mv85.js} +2 -2
- package/dist/src/{providerRegistry-DM8rZYol.js → providerRegistry-CPQ_CmVO.js} +2 -2
- package/dist/src/{providerRegistry-Civky8Ar.cjs → providerRegistry-CQMdTmHP.cjs} +2 -2
- package/dist/src/{providerRegistry-B0RUOLI_.js → providerRegistry-CWoPjKFZ.js} +2 -2
- package/dist/src/{providers-CgKOSgTR.cjs → providers-1eKkXBKp.cjs} +1435 -930
- package/dist/src/{providers-BlqUifFg.js → providers-BV_KMZje.js} +1419 -944
- package/dist/src/providers-Bp4S-FvO.js +2 -0
- package/dist/src/providers-DV3ax9e_.cjs +3 -0
- package/dist/src/{providers-D8lF1sqW.js → providers-Domz_llv.js} +1427 -952
- package/dist/src/{providers-Dk_6ocUX.js → providers-DruaQfwu.js} +1424 -949
- package/dist/src/providers-iUt5fbAN.js +3 -0
- package/dist/src/providers-u9Enmfok.js +2 -0
- package/dist/src/python/persistent_wrapper.py +0 -5
- package/dist/src/{pythonUtils-D6fwaDSg.js → pythonUtils-C2UQ30Rz.js} +4 -4
- package/dist/src/{pythonUtils-D5nxkQ0P.js → pythonUtils-Cldx7huE.js} +4 -4
- package/dist/src/{pythonUtils-C3py6GC1.js → pythonUtils-CnndUbW-.js} +3 -3
- package/dist/src/{pythonUtils-CTU3Y3lw.cjs → pythonUtils-tAJvvpS-.cjs} +3 -3
- package/dist/src/{quiverai-CIaELU_m.js → quiverai-CtWi6x_g.js} +4 -4
- package/dist/src/{quiverai-PdShCPox.cjs → quiverai-DFotyafY.cjs} +4 -4
- package/dist/src/{quiverai-BbOUOn2L.js → quiverai-DR0SnIQV.js} +4 -4
- package/dist/src/{quiverai-uH-dcTIr.js → quiverai-aPPvXOgn.js} +4 -5
- package/dist/src/render-CH-62LbA.js +135 -0
- package/dist/src/render-CMEpfLaO.js +136 -0
- package/dist/src/{render-Drod8m7K.js → render-CgVDrJmM.js} +2 -3
- package/dist/src/render-DHIZ6_k8.js +135 -0
- package/dist/src/render-DfQSFxGE.cjs +165 -0
- package/dist/src/{responses-DIR9Ud3j.js → responses--OsX2aYW.js} +23 -14
- package/dist/src/{responses-D8SBTL64.cjs → responses-Bi9vBuW_.cjs} +24 -15
- package/dist/src/{responses-CB2jwoAr.js → responses-C-flexAY.js} +24 -15
- package/dist/src/{responses-WNGNYe3K.js → responses-DL9m8CyY.js} +24 -15
- package/dist/src/{rubyUtils-DhCAlxZr.cjs → rubyUtils-B6eljPuh.cjs} +3 -3
- package/dist/src/{rubyUtils-BcuGX77l.js → rubyUtils-CYSQEG4a.js} +3 -3
- package/dist/src/rubyUtils-D1L2d3jb.js +3 -0
- package/dist/src/rubyUtils-DUbq4tff.cjs +2 -0
- package/dist/src/{rubyUtils-BUVePouc.js → rubyUtils-DVLeA2jg.js} +3 -3
- package/dist/src/{rubyUtils-Boc4HZzX.js → rubyUtils-DsGrTx8R.js} +3 -3
- package/dist/src/{sagemaker-CNBxx5CJ.js → sagemaker-BVkaG2-l.js} +14 -18
- package/dist/src/{sagemaker-CemTFp2h.js → sagemaker-BveBvuxm.js} +14 -18
- package/dist/src/{sagemaker-YSyBXQQh.js → sagemaker-D67yzMzs.js} +14 -19
- package/dist/src/{sagemaker-Cl28mZU2.cjs → sagemaker-XnfhheQv.cjs} +14 -18
- package/dist/src/{scanner-BsBlNXNn.js → scanner-1DqWi1Ej.js} +130 -35
- package/dist/src/server/golang/wrapper.go +1 -1
- package/dist/src/server/index.js +3757 -1511
- package/dist/src/server/python/persistent_wrapper.py +0 -5
- package/dist/src/{server-CqzrVGpF.js → server-BNYztJkh.js} +128 -9
- package/dist/src/{server-CuxBbeSY.js → server-BSB45Nt9.js} +127 -8
- package/dist/src/{server-VWgWb00X.js → server-D6Il2Sob.js} +126 -7
- package/dist/src/server-DCtHUqlp.js +3 -0
- package/dist/src/server-DaA2eR26.cjs +2 -0
- package/dist/src/{server-C_7Ax-hA.cjs → server-Dx2TyCH2.cjs} +140 -6
- package/dist/src/{signal-4U3mfRvL.js → signal-CE5G3a7x.js} +3 -3
- package/dist/src/{slack-BmVAVGaK.cjs → slack-1Rhq0EoV.cjs} +2 -2
- package/dist/src/{slack-DCUPTzS2.js → slack-D5Wpy8LM.js} +2 -2
- package/dist/src/{slack-DXMKtA-f.js → slack-DDUe-5MC.js} +2 -2
- package/dist/src/{slack-DOdy_kyv.js → slack-acRb0IqQ.js} +2 -2
- package/dist/src/store-CWOSz6D_.cjs +2 -0
- package/dist/src/{store-Dim__MDd.js → store-CYEy5J2D.js} +17 -5
- package/dist/src/{store-DLlFCC4h.cjs → store-DAAyxcy6.cjs} +17 -5
- package/dist/src/store-DCDBhv7B.js +3 -0
- package/dist/src/{store-CXGFv4aR.js → store-Dn9HUkdW.js} +17 -5
- package/dist/src/{store-DXilxTl-.js → store-M0b1WfYb.js} +17 -5
- package/dist/src/{tables-gftXzE9I.js → tables-C4CH3zRr.js} +3 -3
- package/dist/src/{tables-DLJPUdUE.js → tables-CsWou1Bx.js} +3 -3
- package/dist/src/{tables-6YKwjN9-.js → tables-DQ4WU5tX.js} +3 -3
- package/dist/src/{tables-DPi7wKeM.cjs → tables-DUfh1F7Z.cjs} +3 -3
- package/dist/src/telemetry-C1IqxcdW.js +3 -0
- package/dist/src/telemetry-C4ZEa_es.cjs +2 -0
- package/dist/src/{telemetry-CMrFgtPB.js → telemetry-CQPez_Jp.js} +4 -4
- package/dist/src/{telemetry-DaX14Chu.cjs → telemetry-Dsw_faFj.cjs} +4 -4
- package/dist/src/{telemetry-Dthj_BbD.js → telemetry-Dvqxv3YC.js} +4 -4
- package/dist/src/{telemetry-Cps3mIU-.js → telemetry-dbaJ0E98.js} +4 -4
- package/dist/src/{text-CW1cyrwj.cjs → text-BVi-cLPJ.cjs} +1 -1
- package/dist/src/{text-B_UCRPp2.js → text-CZr46tp_.js} +1 -1
- package/dist/src/{text-TIv0QYnd.js → text-DHxdyQqT.js} +1 -1
- package/dist/src/{text-Db-Wt2u2.js → text-KvuD2Iko.js} +1 -1
- package/dist/src/{tokenUsageUtils-bVa1ga6f.cjs → tokenUsageUtils-Bb7DkZPz.cjs} +7 -3
- package/dist/src/{tokenUsageUtils-NYT-WKS6.js → tokenUsageUtils-C-bmyHoE.js} +7 -3
- package/dist/src/{tokenUsageUtils-DflFMjS0.js → tokenUsageUtils-CXrvO-wA.js} +7 -3
- package/dist/src/{transcription-NLVG9MT1.cjs → transcription-BvjmiYB1.cjs} +12 -16
- package/dist/src/{transcription-BNYURcXg.js → transcription-CJspiD2c.js} +11 -14
- package/dist/src/{transcription-B_OdaHp7.js → transcription-DuWDupG7.js} +10 -14
- package/dist/src/{transcription-s6A-bNrZ.js → transcription-V2HaAmy2.js} +10 -16
- package/dist/src/{transform-DECvGmzp.js → transform-Bbg6A8Jk.js} +4 -4
- package/dist/src/{transform-vNucnNr0.js → transform-CG0ehZNG.js} +11 -7
- package/dist/src/{transform-DuHvhZpj.cjs → transform-CTeuTR3S.cjs} +31 -9
- package/dist/src/{transform-CzK1Q0zl.cjs → transform-CUnzlsbn.cjs} +4 -4
- package/dist/src/{transform-aa6tmVpZ.js → transform-DYX1_Xnh.js} +5 -5
- package/dist/src/transform-DgKlRr73.cjs +2 -0
- package/dist/src/transform-M6ITAESf.js +3 -0
- package/dist/src/{transform-DilY9wbS.js → transform-UN5UGu8U.js} +5 -5
- package/dist/src/{transform-uAytVuyX.js → transform-lQrDE1BQ.js} +11 -7
- package/dist/src/{transform-D5HsjduX.js → transform-zDhMmzwX.js} +11 -7
- package/dist/src/{transformersAvailability-CEVM2GNQ.js → transformersAvailability-CcHusyhw.js} +1 -1
- package/dist/src/{transformersAvailability-CwayUSlh.cjs → transformersAvailability-Cju9mHgR.cjs} +1 -1
- package/dist/src/{transformersAvailability-D6c6ROpT.js → transformersAvailability-DLlROWhg.js} +1 -1
- package/dist/src/{types-DmyIJ-sR.js → types-BGQDAP8i.js} +357 -22
- package/dist/src/{types-CzW2QFyi.js → types-Bgh5SOn6.js} +358 -24
- package/dist/src/{types-C_7nyzr1.cjs → types-CeaeaZdP.cjs} +393 -22
- package/dist/src/{types-Cbd8uOMq.js → types-Dm9JM6Vb.js} +368 -23
- package/dist/src/{util-BHGHw5G1.js → util-BYvQUPp7.js} +138 -36
- package/dist/src/{util-B9vlHIIh.cjs → util-Bxn8emtE.cjs} +15 -168
- package/dist/src/{util-ZzmqNPlg.js → util-C8e5uydV.js} +19 -142
- package/dist/src/{util-CMy69ZgQ.js → util-C9J8ahRn.js} +18 -4
- package/dist/src/{util-BzMcevZc.cjs → util-CN3SrLT4.cjs} +18 -4
- package/dist/src/{util-BV4XUC0n.js → util-D3q0WQ-0.js} +18 -4
- package/dist/src/{util-Dnmk2mBQ.js → util-D9TisOyk.js} +18 -4
- package/dist/src/{util-B3xGByQh.js → util-DDs-7g6-.js} +138 -36
- package/dist/src/{util-Bv6uGDfH.js → util-DvU2Pw8c.js} +138 -36
- package/dist/src/{util-C1CeHl-P.js → util-DxWpWjhc.js} +13 -136
- package/dist/src/{util-BRYkYPTd.js → util-oGMLA7vc.js} +17 -140
- package/dist/src/{util-DGNOS1db.cjs → util-olYL5C6N.cjs} +143 -35
- package/dist/src/{utils-Cz9qXqII.cjs → utils-B05gLxER.cjs} +6 -4
- package/dist/src/{utils-f2-Moju7.js → utils-BLJKfv0y.js} +6 -4
- package/dist/src/{utils-dLokC-eR.js → utils-DJfvjyMj.js} +6 -4
- package/dist/src/{utils-XiOAgly5.js → utils-hXtCYanr.js} +6 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +66 -57
- package/dist/src/app/assets/index-4LKxG2CG.js +0 -439
- package/dist/src/app/assets/index-C3zcsZFQ.css +0 -1
- package/dist/src/app/assets/scroll-timeline-BdJZVXlz.js +0 -1
- package/dist/src/app/assets/sync-9qqYcY-B.js +0 -4
- package/dist/src/app/assets/vendor-charts-BnDWwBlI.js +0 -36
- package/dist/src/app/assets/vendor-markdown-0tekx3KX.js +0 -29
- package/dist/src/app/assets/vendor-react-AtKqiNEf.js +0 -4
- package/dist/src/app/assets/vendor-syntax-D06x6TQF.js +0 -2
- package/dist/src/app/assets/vendor-utils-BvMHZmO7.js +0 -37
- package/dist/src/app/tsconfig.app.tsbuildinfo +0 -1
- package/dist/src/cache-BVeDlD87.js +0 -726
- package/dist/src/cache-C4Nxf52C.js +0 -756
- package/dist/src/cache-CeUpFm3M.cjs +0 -5
- package/dist/src/cache-Dh5WtQps.cjs +0 -816
- package/dist/src/cache-i1P6crbO.js +0 -756
- package/dist/src/cache-n-RCJ-hL.js +0 -6
- package/dist/src/cloud-BBh91EUK.js +0 -4
- package/dist/src/codex-sdk-C6UMlxwV.js +0 -665
- package/dist/src/codex-sdk-DUwKWezN.js +0 -665
- package/dist/src/codex-sdk-GGAw0qbD.js +0 -666
- package/dist/src/codex-sdk-fAO0c3yA.cjs +0 -669
- package/dist/src/eval-B3r2CVXr.js +0 -15
- package/dist/src/evalResult-5xwYnECe.js +0 -12
- package/dist/src/evalResult-71lY93Kj.cjs +0 -10
- package/dist/src/evalResult-Dx5P5cIv.js +0 -10
- package/dist/src/evaluator-Jx6bRZV6.js +0 -36
- package/dist/src/fetch-BxNb_Lp3.js +0 -5
- package/dist/src/graders-B_pgMLS2.js +0 -34
- package/dist/src/graders-DErokPDO.cjs +0 -32
- package/dist/src/graders-DR_uNe54.js +0 -32
- package/dist/src/graders-w3176Wz-.js +0 -32
- package/dist/src/openclaw-CSugPYAr.cjs +0 -586
- package/dist/src/openclaw-DiSz3I5L.js +0 -582
- package/dist/src/openclaw-DuvJKEW5.js +0 -580
- package/dist/src/openclaw-tiVYRtr-.js +0 -580
- package/dist/src/providers-B7V0njNs.js +0 -32
- package/dist/src/providers-BEwbhv0X.js +0 -30
- package/dist/src/providers-CH3C7zf7.js +0 -30
- package/dist/src/providers-zyB6k_38.cjs +0 -31
- package/dist/src/rubyUtils-BUHu6PhO.js +0 -5
- package/dist/src/rubyUtils-CP42kMvq.cjs +0 -4
- package/dist/src/server-DA4Cyrrq.js +0 -7
- package/dist/src/server-Dulb-4-K.cjs +0 -5
- package/dist/src/store-CXS-Q_91.js +0 -6
- package/dist/src/store-eYkaKMwq.cjs +0 -5
- package/dist/src/telemetry-BpMfhthR.cjs +0 -5
- package/dist/src/telemetry-Dw38hanS.js +0 -7
- package/dist/src/tokenUsageUtils-BDGe-iyI.js +0 -138
- package/dist/src/transform-DTGDnAzW.js +0 -6
- package/dist/src/transform-m3qNw4KP.cjs +0 -5
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
const require_logger = require("./logger-
|
|
2
|
-
const require_util = require("./util-
|
|
3
|
-
const require_fetch = require("./fetch-
|
|
4
|
-
const require_cache = require("./cache-
|
|
5
|
-
const require_genaiTracer = require("./genaiTracer-
|
|
6
|
-
const require_chat = require("./chat-
|
|
7
|
-
const require_tokenUsageUtils = require("./tokenUsageUtils-
|
|
8
|
-
const require_transform = require("./transform-
|
|
9
|
-
const require_util$1 = require("./util-
|
|
1
|
+
const require_logger = require("./logger-COuQb2xB.cjs");
|
|
2
|
+
const require_util = require("./util-Bxn8emtE.cjs");
|
|
3
|
+
const require_fetch = require("./fetch-CJU5ELPa.cjs");
|
|
4
|
+
const require_cache = require("./cache-BIyPcp5v.cjs");
|
|
5
|
+
const require_genaiTracer = require("./genaiTracer-yRuxj9-L.cjs");
|
|
6
|
+
const require_chat = require("./chat-CclRbxGf.cjs");
|
|
7
|
+
const require_tokenUsageUtils = require("./tokenUsageUtils-Bb7DkZPz.cjs");
|
|
8
|
+
const require_transform = require("./transform-CTeuTR3S.cjs");
|
|
9
|
+
const require_util$1 = require("./util-olYL5C6N.cjs");
|
|
10
10
|
let _anthropic_ai_sdk = require("@anthropic-ai/sdk");
|
|
11
11
|
_anthropic_ai_sdk = require_logger.__toESM(_anthropic_ai_sdk);
|
|
12
12
|
//#region src/providers/anthropic/generic.ts
|
|
@@ -56,6 +56,17 @@ var AnthropicGenericProvider = class {
|
|
|
56
56
|
};
|
|
57
57
|
//#endregion
|
|
58
58
|
//#region src/providers/anthropic/messages.ts
|
|
59
|
+
function parseEnvFloat(value) {
|
|
60
|
+
if (value === void 0) return;
|
|
61
|
+
const parsed = Number.parseFloat(value);
|
|
62
|
+
return Number.isNaN(parsed) ? void 0 : parsed;
|
|
63
|
+
}
|
|
64
|
+
function resolveThinkingConfig(configThinking, promptThinking) {
|
|
65
|
+
return configThinking ?? promptThinking;
|
|
66
|
+
}
|
|
67
|
+
function isThinkingEnabled(thinking) {
|
|
68
|
+
return thinking?.type === "enabled" || thinking?.type === "adaptive";
|
|
69
|
+
}
|
|
59
70
|
var AnthropicMessagesProvider = class AnthropicMessagesProvider extends AnthropicGenericProvider {
|
|
60
71
|
mcpClient = null;
|
|
61
72
|
initializationPromise = null;
|
|
@@ -105,7 +116,8 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
105
116
|
prompt: response.tokenUsage.prompt,
|
|
106
117
|
completion: response.tokenUsage.completion,
|
|
107
118
|
total: response.tokenUsage.total,
|
|
108
|
-
cached: response.tokenUsage.cached
|
|
119
|
+
cached: response.tokenUsage.cached,
|
|
120
|
+
completionDetails: response.tokenUsage.completionDetails
|
|
109
121
|
};
|
|
110
122
|
if (response.finishReason) result.finishReasons = [response.finishReason];
|
|
111
123
|
if (response.cached !== void 0) result.cacheHit = response.cached;
|
|
@@ -128,17 +140,42 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
128
140
|
const { processedTools: processedConfigTools, requiredBetaFeatures } = require_util$1.processAnthropicTools(require_fetch.transformTools(await require_util.maybeLoadToolsFromExternalFile(config.tools, context?.vars) || [], "anthropic"));
|
|
129
141
|
const allTools = [...mcpTools, ...processedConfigTools];
|
|
130
142
|
const processedOutputFormat = require_util.maybeLoadResponseFormatFromExternalFile(config.output_format, context?.vars);
|
|
143
|
+
const resolvedThinking = resolveThinkingConfig(config.thinking, thinking);
|
|
144
|
+
const thinkingEnabled = isThinkingEnabled(resolvedThinking);
|
|
145
|
+
if (thinkingEnabled) {
|
|
146
|
+
if (config.top_k != null) require_logger.logger.warn("top_k is incompatible with extended thinking and will be omitted. Remove top_k from your config or disable thinking.");
|
|
147
|
+
if (config.temperature != null) require_logger.logger.warn("temperature is incompatible with extended thinking and will be omitted. Remove temperature from your config or disable thinking.");
|
|
148
|
+
if (config.top_p != null && (config.top_p < .95 || config.top_p > 1)) require_logger.logger.warn(`top_p must be between 0.95 and 1.0 with extended thinking (got ${config.top_p}). Clamping to valid range.`);
|
|
149
|
+
}
|
|
150
|
+
let resolvedToolChoice;
|
|
151
|
+
if (config.tool_choice) {
|
|
152
|
+
const transformed = require_fetch.transformToolChoice(config.tool_choice, "anthropic");
|
|
153
|
+
if (thinkingEnabled && (transformed.type === "any" || transformed.type === "tool")) require_logger.logger.warn(`tool_choice type '${transformed.type}' (forced tool use) is incompatible with extended thinking and will be omitted. Use 'auto' or remove tool_choice.`);
|
|
154
|
+
else resolvedToolChoice = transformed;
|
|
155
|
+
}
|
|
156
|
+
let resolvedTopP;
|
|
157
|
+
if (config.top_p != null) resolvedTopP = thinkingEnabled ? Math.max(.95, Math.min(1, config.top_p)) : config.top_p;
|
|
158
|
+
if (config.temperature != null && resolvedTopP != null && !thinkingEnabled) require_logger.logger.warn("temperature is incompatible with top_p on Anthropic and will be omitted. Remove one of these parameters.");
|
|
159
|
+
if (this.modelName.startsWith("claude-opus-4-6") && extractedMessages.length > 0) {
|
|
160
|
+
if (extractedMessages[extractedMessages.length - 1].role === "assistant") require_logger.logger.warn("Assistant message prefilling is not supported on Claude Opus 4.6 and will cause a 400 error. Remove the trailing assistant message from your prompt.");
|
|
161
|
+
}
|
|
131
162
|
const shouldStream = config.stream ?? false;
|
|
132
163
|
const params = {
|
|
133
164
|
model: this.modelName,
|
|
134
165
|
...system ? { system } : {},
|
|
135
|
-
max_tokens: config
|
|
166
|
+
max_tokens: config.max_tokens ?? require_logger.getEnvInt("ANTHROPIC_MAX_TOKENS", thinkingEnabled ? 2048 : 1024),
|
|
136
167
|
messages: extractedMessages,
|
|
137
168
|
stream: shouldStream,
|
|
138
|
-
|
|
169
|
+
...resolvedTopP != null || thinkingEnabled ? {} : { temperature: config.temperature ?? parseEnvFloat(this.env?.ANTHROPIC_TEMPERATURE) ?? require_logger.getEnvFloat("ANTHROPIC_TEMPERATURE", 0) },
|
|
170
|
+
...resolvedTopP == null ? {} : { top_p: resolvedTopP },
|
|
171
|
+
...config.top_k == null || thinkingEnabled ? {} : { top_k: config.top_k },
|
|
172
|
+
...config.cache_control ? { cache_control: config.cache_control } : {},
|
|
173
|
+
...config.service_tier ? { service_tier: config.service_tier } : {},
|
|
174
|
+
...config.stop_sequences?.length ? { stop_sequences: config.stop_sequences } : {},
|
|
175
|
+
...config.metadata ? { metadata: config.metadata } : {},
|
|
139
176
|
...allTools.length > 0 ? { tools: allTools } : {},
|
|
140
|
-
...
|
|
141
|
-
...
|
|
177
|
+
...resolvedToolChoice ? { tool_choice: resolvedToolChoice } : {},
|
|
178
|
+
...resolvedThinking ? { thinking: resolvedThinking } : {},
|
|
142
179
|
...processedOutputFormat || config.effort ? { output_config: {
|
|
143
180
|
...processedOutputFormat ? { format: processedOutputFormat } : {},
|
|
144
181
|
...config.effort ? { effort: config.effort } : {}
|
|
@@ -152,7 +189,8 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
152
189
|
allBetaFeatures = [...new Set(allBetaFeatures)];
|
|
153
190
|
if (allBetaFeatures.length > 0) headers["anthropic-beta"] = allBetaFeatures.join(",");
|
|
154
191
|
const cache = await require_cache.getCache();
|
|
155
|
-
const
|
|
192
|
+
const { metadata: _metadata, ...cacheKeyParams } = params;
|
|
193
|
+
const cacheKey = `anthropic:${JSON.stringify(cacheKeyParams)}`;
|
|
156
194
|
if (require_cache.isCacheEnabled()) {
|
|
157
195
|
const cachedResponse = await cache.get(cacheKey);
|
|
158
196
|
if (cachedResponse) {
|
|
@@ -166,11 +204,16 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
166
204
|
} catch (error) {
|
|
167
205
|
require_logger.logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
|
|
168
206
|
}
|
|
207
|
+
const cachedRefusalDetails = require_util$1.getRefusalDetails(parsedCachedResponse);
|
|
169
208
|
return {
|
|
170
209
|
output,
|
|
171
210
|
tokenUsage: require_util$1.getTokenUsage(parsedCachedResponse, true),
|
|
172
211
|
...finishReason && { finishReason },
|
|
173
|
-
|
|
212
|
+
...cachedRefusalDetails && { guardrails: {
|
|
213
|
+
flagged: true,
|
|
214
|
+
reason: cachedRefusalDetails
|
|
215
|
+
} },
|
|
216
|
+
cost: require_util$1.calculateAnthropicCost(this.modelName, config, parsedCachedResponse.usage?.input_tokens, parsedCachedResponse.usage?.output_tokens, parsedCachedResponse.usage?.cache_read_input_tokens ?? void 0, parsedCachedResponse.usage?.cache_creation_input_tokens ?? void 0),
|
|
174
217
|
cached: true
|
|
175
218
|
};
|
|
176
219
|
} catch {
|
|
@@ -197,11 +240,17 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
197
240
|
} catch (error) {
|
|
198
241
|
require_logger.logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
|
|
199
242
|
}
|
|
243
|
+
const refusalDetails = require_util$1.getRefusalDetails(finalMessage);
|
|
244
|
+
if (refusalDetails) require_logger.logger.warn(refusalDetails);
|
|
200
245
|
return {
|
|
201
246
|
output,
|
|
202
247
|
tokenUsage: require_util$1.getTokenUsage(finalMessage, false),
|
|
203
248
|
...finishReason && { finishReason },
|
|
204
|
-
|
|
249
|
+
...refusalDetails && { guardrails: {
|
|
250
|
+
flagged: true,
|
|
251
|
+
reason: refusalDetails
|
|
252
|
+
} },
|
|
253
|
+
cost: require_util$1.calculateAnthropicCost(this.modelName, config, finalMessage.usage?.input_tokens, finalMessage.usage?.output_tokens, finalMessage.usage?.cache_read_input_tokens ?? void 0, finalMessage.usage?.cache_creation_input_tokens ?? void 0)
|
|
205
254
|
};
|
|
206
255
|
} else {
|
|
207
256
|
const response = await this.anthropic.messages.create(params, { ...typeof headers === "object" && Object.keys(headers).length > 0 ? { headers } : {} });
|
|
@@ -218,11 +267,17 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
218
267
|
} catch (error) {
|
|
219
268
|
require_logger.logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
|
|
220
269
|
}
|
|
270
|
+
const refusalDetails = require_util$1.getRefusalDetails(response);
|
|
271
|
+
if (refusalDetails) require_logger.logger.warn(refusalDetails);
|
|
221
272
|
return {
|
|
222
273
|
output,
|
|
223
274
|
tokenUsage: require_util$1.getTokenUsage(response, false),
|
|
224
275
|
...finishReason && { finishReason },
|
|
225
|
-
|
|
276
|
+
...refusalDetails && { guardrails: {
|
|
277
|
+
flagged: true,
|
|
278
|
+
reason: refusalDetails
|
|
279
|
+
} },
|
|
280
|
+
cost: require_util$1.calculateAnthropicCost(this.modelName, config, response.usage?.input_tokens, response.usage?.output_tokens, response.usage?.cache_read_input_tokens ?? void 0, response.usage?.cache_creation_input_tokens ?? void 0)
|
|
226
281
|
};
|
|
227
282
|
}
|
|
228
283
|
} catch (err) {
|
|
@@ -249,4 +304,4 @@ Object.defineProperty(exports, "AnthropicMessagesProvider", {
|
|
|
249
304
|
}
|
|
250
305
|
});
|
|
251
306
|
|
|
252
|
-
//# sourceMappingURL=messages-
|
|
307
|
+
//# sourceMappingURL=messages-811uVVW5.cjs.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { d as maybeLoadToolsFromExternalFile, u as maybeLoadResponseFormatFromExternalFile } from "./util-
|
|
3
|
-
import {
|
|
4
|
-
import { a as isCacheEnabled, i as getCache } from "./cache-
|
|
5
|
-
import { n as withGenAISpan } from "./genaiTracer-
|
|
6
|
-
import { i as normalizeFinishReason, n as MCPClient } from "./chat-
|
|
7
|
-
import { a as createEmptyTokenUsage } from "./tokenUsageUtils-
|
|
8
|
-
import { n as transformMCPToolsToAnthropic } from "./transform-
|
|
9
|
-
import { a as
|
|
1
|
+
import { C as getEnvFloat, T as getEnvString, a as logger, w as getEnvInt } from "./logger-Ct2S6Yx-.js";
|
|
2
|
+
import { d as maybeLoadToolsFromExternalFile, u as maybeLoadResponseFormatFromExternalFile } from "./util-oGMLA7vc.js";
|
|
3
|
+
import { T as transformTools, w as transformToolChoice } from "./fetch-Di00EQrc.js";
|
|
4
|
+
import { a as isCacheEnabled, i as getCache } from "./cache-D5NZmMiT.js";
|
|
5
|
+
import { n as withGenAISpan } from "./genaiTracer-XnrcgDCe.js";
|
|
6
|
+
import { i as normalizeFinishReason, n as MCPClient } from "./chat-I9izLm49.js";
|
|
7
|
+
import { a as createEmptyTokenUsage } from "./tokenUsageUtils-C-bmyHoE.js";
|
|
8
|
+
import { n as transformMCPToolsToAnthropic } from "./transform-CG0ehZNG.js";
|
|
9
|
+
import { a as outputFromMessage, i as getTokenUsage, n as calculateAnthropicCost, o as parseMessages, r as getRefusalDetails, s as processAnthropicTools, t as ANTHROPIC_MODELS } from "./util-DvU2Pw8c.js";
|
|
10
10
|
import Anthropic, { APIError } from "@anthropic-ai/sdk";
|
|
11
11
|
//#region src/providers/anthropic/generic.ts
|
|
12
12
|
/**
|
|
@@ -55,6 +55,17 @@ var AnthropicGenericProvider = class {
|
|
|
55
55
|
};
|
|
56
56
|
//#endregion
|
|
57
57
|
//#region src/providers/anthropic/messages.ts
|
|
58
|
+
function parseEnvFloat(value) {
|
|
59
|
+
if (value === void 0) return;
|
|
60
|
+
const parsed = Number.parseFloat(value);
|
|
61
|
+
return Number.isNaN(parsed) ? void 0 : parsed;
|
|
62
|
+
}
|
|
63
|
+
function resolveThinkingConfig(configThinking, promptThinking) {
|
|
64
|
+
return configThinking ?? promptThinking;
|
|
65
|
+
}
|
|
66
|
+
function isThinkingEnabled(thinking) {
|
|
67
|
+
return thinking?.type === "enabled" || thinking?.type === "adaptive";
|
|
68
|
+
}
|
|
58
69
|
var AnthropicMessagesProvider = class AnthropicMessagesProvider extends AnthropicGenericProvider {
|
|
59
70
|
mcpClient = null;
|
|
60
71
|
initializationPromise = null;
|
|
@@ -104,7 +115,8 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
104
115
|
prompt: response.tokenUsage.prompt,
|
|
105
116
|
completion: response.tokenUsage.completion,
|
|
106
117
|
total: response.tokenUsage.total,
|
|
107
|
-
cached: response.tokenUsage.cached
|
|
118
|
+
cached: response.tokenUsage.cached,
|
|
119
|
+
completionDetails: response.tokenUsage.completionDetails
|
|
108
120
|
};
|
|
109
121
|
if (response.finishReason) result.finishReasons = [response.finishReason];
|
|
110
122
|
if (response.cached !== void 0) result.cacheHit = response.cached;
|
|
@@ -127,17 +139,42 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
127
139
|
const { processedTools: processedConfigTools, requiredBetaFeatures } = processAnthropicTools(transformTools(await maybeLoadToolsFromExternalFile(config.tools, context?.vars) || [], "anthropic"));
|
|
128
140
|
const allTools = [...mcpTools, ...processedConfigTools];
|
|
129
141
|
const processedOutputFormat = maybeLoadResponseFormatFromExternalFile(config.output_format, context?.vars);
|
|
142
|
+
const resolvedThinking = resolveThinkingConfig(config.thinking, thinking);
|
|
143
|
+
const thinkingEnabled = isThinkingEnabled(resolvedThinking);
|
|
144
|
+
if (thinkingEnabled) {
|
|
145
|
+
if (config.top_k != null) logger.warn("top_k is incompatible with extended thinking and will be omitted. Remove top_k from your config or disable thinking.");
|
|
146
|
+
if (config.temperature != null) logger.warn("temperature is incompatible with extended thinking and will be omitted. Remove temperature from your config or disable thinking.");
|
|
147
|
+
if (config.top_p != null && (config.top_p < .95 || config.top_p > 1)) logger.warn(`top_p must be between 0.95 and 1.0 with extended thinking (got ${config.top_p}). Clamping to valid range.`);
|
|
148
|
+
}
|
|
149
|
+
let resolvedToolChoice;
|
|
150
|
+
if (config.tool_choice) {
|
|
151
|
+
const transformed = transformToolChoice(config.tool_choice, "anthropic");
|
|
152
|
+
if (thinkingEnabled && (transformed.type === "any" || transformed.type === "tool")) logger.warn(`tool_choice type '${transformed.type}' (forced tool use) is incompatible with extended thinking and will be omitted. Use 'auto' or remove tool_choice.`);
|
|
153
|
+
else resolvedToolChoice = transformed;
|
|
154
|
+
}
|
|
155
|
+
let resolvedTopP;
|
|
156
|
+
if (config.top_p != null) resolvedTopP = thinkingEnabled ? Math.max(.95, Math.min(1, config.top_p)) : config.top_p;
|
|
157
|
+
if (config.temperature != null && resolvedTopP != null && !thinkingEnabled) logger.warn("temperature is incompatible with top_p on Anthropic and will be omitted. Remove one of these parameters.");
|
|
158
|
+
if (this.modelName.startsWith("claude-opus-4-6") && extractedMessages.length > 0) {
|
|
159
|
+
if (extractedMessages[extractedMessages.length - 1].role === "assistant") logger.warn("Assistant message prefilling is not supported on Claude Opus 4.6 and will cause a 400 error. Remove the trailing assistant message from your prompt.");
|
|
160
|
+
}
|
|
130
161
|
const shouldStream = config.stream ?? false;
|
|
131
162
|
const params = {
|
|
132
163
|
model: this.modelName,
|
|
133
164
|
...system ? { system } : {},
|
|
134
|
-
max_tokens: config
|
|
165
|
+
max_tokens: config.max_tokens ?? getEnvInt("ANTHROPIC_MAX_TOKENS", thinkingEnabled ? 2048 : 1024),
|
|
135
166
|
messages: extractedMessages,
|
|
136
167
|
stream: shouldStream,
|
|
137
|
-
|
|
168
|
+
...resolvedTopP != null || thinkingEnabled ? {} : { temperature: config.temperature ?? parseEnvFloat(this.env?.ANTHROPIC_TEMPERATURE) ?? getEnvFloat("ANTHROPIC_TEMPERATURE", 0) },
|
|
169
|
+
...resolvedTopP == null ? {} : { top_p: resolvedTopP },
|
|
170
|
+
...config.top_k == null || thinkingEnabled ? {} : { top_k: config.top_k },
|
|
171
|
+
...config.cache_control ? { cache_control: config.cache_control } : {},
|
|
172
|
+
...config.service_tier ? { service_tier: config.service_tier } : {},
|
|
173
|
+
...config.stop_sequences?.length ? { stop_sequences: config.stop_sequences } : {},
|
|
174
|
+
...config.metadata ? { metadata: config.metadata } : {},
|
|
138
175
|
...allTools.length > 0 ? { tools: allTools } : {},
|
|
139
|
-
...
|
|
140
|
-
...
|
|
176
|
+
...resolvedToolChoice ? { tool_choice: resolvedToolChoice } : {},
|
|
177
|
+
...resolvedThinking ? { thinking: resolvedThinking } : {},
|
|
141
178
|
...processedOutputFormat || config.effort ? { output_config: {
|
|
142
179
|
...processedOutputFormat ? { format: processedOutputFormat } : {},
|
|
143
180
|
...config.effort ? { effort: config.effort } : {}
|
|
@@ -151,7 +188,8 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
151
188
|
allBetaFeatures = [...new Set(allBetaFeatures)];
|
|
152
189
|
if (allBetaFeatures.length > 0) headers["anthropic-beta"] = allBetaFeatures.join(",");
|
|
153
190
|
const cache = await getCache();
|
|
154
|
-
const
|
|
191
|
+
const { metadata: _metadata, ...cacheKeyParams } = params;
|
|
192
|
+
const cacheKey = `anthropic:${JSON.stringify(cacheKeyParams)}`;
|
|
155
193
|
if (isCacheEnabled()) {
|
|
156
194
|
const cachedResponse = await cache.get(cacheKey);
|
|
157
195
|
if (cachedResponse) {
|
|
@@ -165,11 +203,16 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
165
203
|
} catch (error) {
|
|
166
204
|
logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
|
|
167
205
|
}
|
|
206
|
+
const cachedRefusalDetails = getRefusalDetails(parsedCachedResponse);
|
|
168
207
|
return {
|
|
169
208
|
output,
|
|
170
209
|
tokenUsage: getTokenUsage(parsedCachedResponse, true),
|
|
171
210
|
...finishReason && { finishReason },
|
|
172
|
-
|
|
211
|
+
...cachedRefusalDetails && { guardrails: {
|
|
212
|
+
flagged: true,
|
|
213
|
+
reason: cachedRefusalDetails
|
|
214
|
+
} },
|
|
215
|
+
cost: calculateAnthropicCost(this.modelName, config, parsedCachedResponse.usage?.input_tokens, parsedCachedResponse.usage?.output_tokens, parsedCachedResponse.usage?.cache_read_input_tokens ?? void 0, parsedCachedResponse.usage?.cache_creation_input_tokens ?? void 0),
|
|
173
216
|
cached: true
|
|
174
217
|
};
|
|
175
218
|
} catch {
|
|
@@ -196,11 +239,17 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
196
239
|
} catch (error) {
|
|
197
240
|
logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
|
|
198
241
|
}
|
|
242
|
+
const refusalDetails = getRefusalDetails(finalMessage);
|
|
243
|
+
if (refusalDetails) logger.warn(refusalDetails);
|
|
199
244
|
return {
|
|
200
245
|
output,
|
|
201
246
|
tokenUsage: getTokenUsage(finalMessage, false),
|
|
202
247
|
...finishReason && { finishReason },
|
|
203
|
-
|
|
248
|
+
...refusalDetails && { guardrails: {
|
|
249
|
+
flagged: true,
|
|
250
|
+
reason: refusalDetails
|
|
251
|
+
} },
|
|
252
|
+
cost: calculateAnthropicCost(this.modelName, config, finalMessage.usage?.input_tokens, finalMessage.usage?.output_tokens, finalMessage.usage?.cache_read_input_tokens ?? void 0, finalMessage.usage?.cache_creation_input_tokens ?? void 0)
|
|
204
253
|
};
|
|
205
254
|
} else {
|
|
206
255
|
const response = await this.anthropic.messages.create(params, { ...typeof headers === "object" && Object.keys(headers).length > 0 ? { headers } : {} });
|
|
@@ -217,11 +266,17 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
217
266
|
} catch (error) {
|
|
218
267
|
logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
|
|
219
268
|
}
|
|
269
|
+
const refusalDetails = getRefusalDetails(response);
|
|
270
|
+
if (refusalDetails) logger.warn(refusalDetails);
|
|
220
271
|
return {
|
|
221
272
|
output,
|
|
222
273
|
tokenUsage: getTokenUsage(response, false),
|
|
223
274
|
...finishReason && { finishReason },
|
|
224
|
-
|
|
275
|
+
...refusalDetails && { guardrails: {
|
|
276
|
+
flagged: true,
|
|
277
|
+
reason: refusalDetails
|
|
278
|
+
} },
|
|
279
|
+
cost: calculateAnthropicCost(this.modelName, config, response.usage?.input_tokens, response.usage?.output_tokens, response.usage?.cache_read_input_tokens ?? void 0, response.usage?.cache_creation_input_tokens ?? void 0)
|
|
225
280
|
};
|
|
226
281
|
}
|
|
227
282
|
} catch (err) {
|
|
@@ -237,4 +292,4 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
237
292
|
//#endregion
|
|
238
293
|
export { AnthropicGenericProvider as n, AnthropicMessagesProvider as t };
|
|
239
294
|
|
|
240
|
-
//# sourceMappingURL=messages-
|
|
295
|
+
//# sourceMappingURL=messages-BTQz42fn.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { a as
|
|
5
|
-
import {
|
|
6
|
-
import { D as maybeLoadResponseFormatFromExternalFile, O as maybeLoadToolsFromExternalFile } from "./util-
|
|
7
|
-
import { i as normalizeFinishReason, n as MCPClient } from "./chat-
|
|
8
|
-
import { n as transformMCPToolsToAnthropic } from "./transform-
|
|
9
|
-
import { a as
|
|
1
|
+
import { C as getEnvFloat, T as getEnvString, a as logger, w as getEnvInt } from "./logger-B88EkIn6.js";
|
|
2
|
+
import { T as transformTools, w as transformToolChoice } from "./fetch-B0Z3Oe4k.js";
|
|
3
|
+
import { n as withGenAISpan } from "./genaiTracer-COYDi-tC.js";
|
|
4
|
+
import { a as isCacheEnabled, i as getCache } from "./cache-C4Xb-hNb.js";
|
|
5
|
+
import { a as createEmptyTokenUsage } from "./tokenUsageUtils-C-bmyHoE.js";
|
|
6
|
+
import { D as maybeLoadResponseFormatFromExternalFile, O as maybeLoadToolsFromExternalFile } from "./util-C8e5uydV.js";
|
|
7
|
+
import { i as normalizeFinishReason, n as MCPClient } from "./chat-BfPaS15_.js";
|
|
8
|
+
import { n as transformMCPToolsToAnthropic } from "./transform-lQrDE1BQ.js";
|
|
9
|
+
import { a as outputFromMessage, i as getTokenUsage, n as calculateAnthropicCost, o as parseMessages, r as getRefusalDetails, s as processAnthropicTools, t as ANTHROPIC_MODELS } from "./util-BYvQUPp7.js";
|
|
10
10
|
import Anthropic, { APIError } from "@anthropic-ai/sdk";
|
|
11
11
|
//#region src/providers/anthropic/generic.ts
|
|
12
12
|
/**
|
|
@@ -55,6 +55,17 @@ var AnthropicGenericProvider = class {
|
|
|
55
55
|
};
|
|
56
56
|
//#endregion
|
|
57
57
|
//#region src/providers/anthropic/messages.ts
|
|
58
|
+
function parseEnvFloat(value) {
|
|
59
|
+
if (value === void 0) return;
|
|
60
|
+
const parsed = Number.parseFloat(value);
|
|
61
|
+
return Number.isNaN(parsed) ? void 0 : parsed;
|
|
62
|
+
}
|
|
63
|
+
function resolveThinkingConfig(configThinking, promptThinking) {
|
|
64
|
+
return configThinking ?? promptThinking;
|
|
65
|
+
}
|
|
66
|
+
function isThinkingEnabled(thinking) {
|
|
67
|
+
return thinking?.type === "enabled" || thinking?.type === "adaptive";
|
|
68
|
+
}
|
|
58
69
|
var AnthropicMessagesProvider = class AnthropicMessagesProvider extends AnthropicGenericProvider {
|
|
59
70
|
mcpClient = null;
|
|
60
71
|
initializationPromise = null;
|
|
@@ -104,7 +115,8 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
104
115
|
prompt: response.tokenUsage.prompt,
|
|
105
116
|
completion: response.tokenUsage.completion,
|
|
106
117
|
total: response.tokenUsage.total,
|
|
107
|
-
cached: response.tokenUsage.cached
|
|
118
|
+
cached: response.tokenUsage.cached,
|
|
119
|
+
completionDetails: response.tokenUsage.completionDetails
|
|
108
120
|
};
|
|
109
121
|
if (response.finishReason) result.finishReasons = [response.finishReason];
|
|
110
122
|
if (response.cached !== void 0) result.cacheHit = response.cached;
|
|
@@ -127,17 +139,42 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
127
139
|
const { processedTools: processedConfigTools, requiredBetaFeatures } = processAnthropicTools(transformTools(await maybeLoadToolsFromExternalFile(config.tools, context?.vars) || [], "anthropic"));
|
|
128
140
|
const allTools = [...mcpTools, ...processedConfigTools];
|
|
129
141
|
const processedOutputFormat = maybeLoadResponseFormatFromExternalFile(config.output_format, context?.vars);
|
|
142
|
+
const resolvedThinking = resolveThinkingConfig(config.thinking, thinking);
|
|
143
|
+
const thinkingEnabled = isThinkingEnabled(resolvedThinking);
|
|
144
|
+
if (thinkingEnabled) {
|
|
145
|
+
if (config.top_k != null) logger.warn("top_k is incompatible with extended thinking and will be omitted. Remove top_k from your config or disable thinking.");
|
|
146
|
+
if (config.temperature != null) logger.warn("temperature is incompatible with extended thinking and will be omitted. Remove temperature from your config or disable thinking.");
|
|
147
|
+
if (config.top_p != null && (config.top_p < .95 || config.top_p > 1)) logger.warn(`top_p must be between 0.95 and 1.0 with extended thinking (got ${config.top_p}). Clamping to valid range.`);
|
|
148
|
+
}
|
|
149
|
+
let resolvedToolChoice;
|
|
150
|
+
if (config.tool_choice) {
|
|
151
|
+
const transformed = transformToolChoice(config.tool_choice, "anthropic");
|
|
152
|
+
if (thinkingEnabled && (transformed.type === "any" || transformed.type === "tool")) logger.warn(`tool_choice type '${transformed.type}' (forced tool use) is incompatible with extended thinking and will be omitted. Use 'auto' or remove tool_choice.`);
|
|
153
|
+
else resolvedToolChoice = transformed;
|
|
154
|
+
}
|
|
155
|
+
let resolvedTopP;
|
|
156
|
+
if (config.top_p != null) resolvedTopP = thinkingEnabled ? Math.max(.95, Math.min(1, config.top_p)) : config.top_p;
|
|
157
|
+
if (config.temperature != null && resolvedTopP != null && !thinkingEnabled) logger.warn("temperature is incompatible with top_p on Anthropic and will be omitted. Remove one of these parameters.");
|
|
158
|
+
if (this.modelName.startsWith("claude-opus-4-6") && extractedMessages.length > 0) {
|
|
159
|
+
if (extractedMessages[extractedMessages.length - 1].role === "assistant") logger.warn("Assistant message prefilling is not supported on Claude Opus 4.6 and will cause a 400 error. Remove the trailing assistant message from your prompt.");
|
|
160
|
+
}
|
|
130
161
|
const shouldStream = config.stream ?? false;
|
|
131
162
|
const params = {
|
|
132
163
|
model: this.modelName,
|
|
133
164
|
...system ? { system } : {},
|
|
134
|
-
max_tokens: config
|
|
165
|
+
max_tokens: config.max_tokens ?? getEnvInt("ANTHROPIC_MAX_TOKENS", thinkingEnabled ? 2048 : 1024),
|
|
135
166
|
messages: extractedMessages,
|
|
136
167
|
stream: shouldStream,
|
|
137
|
-
|
|
168
|
+
...resolvedTopP != null || thinkingEnabled ? {} : { temperature: config.temperature ?? parseEnvFloat(this.env?.ANTHROPIC_TEMPERATURE) ?? getEnvFloat("ANTHROPIC_TEMPERATURE", 0) },
|
|
169
|
+
...resolvedTopP == null ? {} : { top_p: resolvedTopP },
|
|
170
|
+
...config.top_k == null || thinkingEnabled ? {} : { top_k: config.top_k },
|
|
171
|
+
...config.cache_control ? { cache_control: config.cache_control } : {},
|
|
172
|
+
...config.service_tier ? { service_tier: config.service_tier } : {},
|
|
173
|
+
...config.stop_sequences?.length ? { stop_sequences: config.stop_sequences } : {},
|
|
174
|
+
...config.metadata ? { metadata: config.metadata } : {},
|
|
138
175
|
...allTools.length > 0 ? { tools: allTools } : {},
|
|
139
|
-
...
|
|
140
|
-
...
|
|
176
|
+
...resolvedToolChoice ? { tool_choice: resolvedToolChoice } : {},
|
|
177
|
+
...resolvedThinking ? { thinking: resolvedThinking } : {},
|
|
141
178
|
...processedOutputFormat || config.effort ? { output_config: {
|
|
142
179
|
...processedOutputFormat ? { format: processedOutputFormat } : {},
|
|
143
180
|
...config.effort ? { effort: config.effort } : {}
|
|
@@ -151,7 +188,8 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
151
188
|
allBetaFeatures = [...new Set(allBetaFeatures)];
|
|
152
189
|
if (allBetaFeatures.length > 0) headers["anthropic-beta"] = allBetaFeatures.join(",");
|
|
153
190
|
const cache = await getCache();
|
|
154
|
-
const
|
|
191
|
+
const { metadata: _metadata, ...cacheKeyParams } = params;
|
|
192
|
+
const cacheKey = `anthropic:${JSON.stringify(cacheKeyParams)}`;
|
|
155
193
|
if (isCacheEnabled()) {
|
|
156
194
|
const cachedResponse = await cache.get(cacheKey);
|
|
157
195
|
if (cachedResponse) {
|
|
@@ -165,11 +203,16 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
165
203
|
} catch (error) {
|
|
166
204
|
logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
|
|
167
205
|
}
|
|
206
|
+
const cachedRefusalDetails = getRefusalDetails(parsedCachedResponse);
|
|
168
207
|
return {
|
|
169
208
|
output,
|
|
170
209
|
tokenUsage: getTokenUsage(parsedCachedResponse, true),
|
|
171
210
|
...finishReason && { finishReason },
|
|
172
|
-
|
|
211
|
+
...cachedRefusalDetails && { guardrails: {
|
|
212
|
+
flagged: true,
|
|
213
|
+
reason: cachedRefusalDetails
|
|
214
|
+
} },
|
|
215
|
+
cost: calculateAnthropicCost(this.modelName, config, parsedCachedResponse.usage?.input_tokens, parsedCachedResponse.usage?.output_tokens, parsedCachedResponse.usage?.cache_read_input_tokens ?? void 0, parsedCachedResponse.usage?.cache_creation_input_tokens ?? void 0),
|
|
173
216
|
cached: true
|
|
174
217
|
};
|
|
175
218
|
} catch {
|
|
@@ -196,11 +239,17 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
196
239
|
} catch (error) {
|
|
197
240
|
logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
|
|
198
241
|
}
|
|
242
|
+
const refusalDetails = getRefusalDetails(finalMessage);
|
|
243
|
+
if (refusalDetails) logger.warn(refusalDetails);
|
|
199
244
|
return {
|
|
200
245
|
output,
|
|
201
246
|
tokenUsage: getTokenUsage(finalMessage, false),
|
|
202
247
|
...finishReason && { finishReason },
|
|
203
|
-
|
|
248
|
+
...refusalDetails && { guardrails: {
|
|
249
|
+
flagged: true,
|
|
250
|
+
reason: refusalDetails
|
|
251
|
+
} },
|
|
252
|
+
cost: calculateAnthropicCost(this.modelName, config, finalMessage.usage?.input_tokens, finalMessage.usage?.output_tokens, finalMessage.usage?.cache_read_input_tokens ?? void 0, finalMessage.usage?.cache_creation_input_tokens ?? void 0)
|
|
204
253
|
};
|
|
205
254
|
} else {
|
|
206
255
|
const response = await this.anthropic.messages.create(params, { ...typeof headers === "object" && Object.keys(headers).length > 0 ? { headers } : {} });
|
|
@@ -217,11 +266,17 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
217
266
|
} catch (error) {
|
|
218
267
|
logger.error(`Failed to parse JSON output from structured outputs: ${error}`);
|
|
219
268
|
}
|
|
269
|
+
const refusalDetails = getRefusalDetails(response);
|
|
270
|
+
if (refusalDetails) logger.warn(refusalDetails);
|
|
220
271
|
return {
|
|
221
272
|
output,
|
|
222
273
|
tokenUsage: getTokenUsage(response, false),
|
|
223
274
|
...finishReason && { finishReason },
|
|
224
|
-
|
|
275
|
+
...refusalDetails && { guardrails: {
|
|
276
|
+
flagged: true,
|
|
277
|
+
reason: refusalDetails
|
|
278
|
+
} },
|
|
279
|
+
cost: calculateAnthropicCost(this.modelName, config, response.usage?.input_tokens, response.usage?.output_tokens, response.usage?.cache_read_input_tokens ?? void 0, response.usage?.cache_creation_input_tokens ?? void 0)
|
|
225
280
|
};
|
|
226
281
|
}
|
|
227
282
|
} catch (err) {
|
|
@@ -237,4 +292,4 @@ var AnthropicMessagesProvider = class AnthropicMessagesProvider extends Anthropi
|
|
|
237
292
|
//#endregion
|
|
238
293
|
export { AnthropicGenericProvider as n, AnthropicMessagesProvider as t };
|
|
239
294
|
|
|
240
|
-
//# sourceMappingURL=messages-
|
|
295
|
+
//# sourceMappingURL=messages-MYTQ2TWp.js.map
|