promptfoo 0.120.24 → 0.120.26
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 +35 -22
- package/dist/src/{ListApp-55OAHww3.js → ListApp-D3DG0F8h.js} +1 -1
- package/dist/src/{accounts-BwVGYllP.cjs → accounts-BzEY8H3v.cjs} +5 -5
- package/dist/src/{accounts-BOlMHrvn.js → accounts-DHHiXsy6.js} +6 -6
- package/dist/src/{accounts-DxR9x_En.js → accounts-R3gfCR_g.js} +5 -5
- package/dist/src/{agentic-utils-t9-1raty.js → agentic-utils-D6_gzOUF.js} +3 -3
- package/dist/src/{agents-DMpQ860j.cjs → agents-C7BiinFI.cjs} +7 -7
- package/dist/src/{agents-9Z7pO8yx.js → agents-Cao4i7AX.js} +8 -8
- package/dist/src/{agents-DjExVR3v.js → agents-Cnph5GLD.js} +2 -2
- package/dist/src/{agents-CI0Ad69d.cjs → agents-CwM7re15.cjs} +5 -5
- package/dist/src/{agents-BwI-Tm5m.js → agents-DETIQHqF.js} +7 -7
- package/dist/src/{agents-CRAmwjo-.js → agents-DYIT-hQy.js} +6 -6
- package/dist/src/{agents-BbIpDhgp.js → agents-GiUianme.js} +5 -5
- package/dist/src/{agents-yL5DzIKY.js → agents-v4cW_ZgC.js} +2 -2
- package/dist/src/{aimlapi-xHHqwNg8.js → aimlapi-CMJpKK-B.js} +13 -13
- package/dist/src/{aimlapi-BM9P45Bp.js → aimlapi-DMF6v_vb.js} +15 -15
- package/dist/src/{aimlapi-DKo7IxJg.cjs → aimlapi-DoGLcQW_.cjs} +14 -14
- package/dist/src/{aimlapi-ivzDkqbs.js → aimlapi-DtSf1ykJ.js} +2 -2
- package/dist/src/app/assets/index-BOgkICuY.css +1 -0
- package/dist/src/app/assets/index-CSgqn_Vd.js +428 -0
- package/dist/src/app/assets/{vendor-charts-DnwydkkY.js → vendor-charts-CYyo8R8v.js} +1 -1
- package/dist/src/app/assets/{vendor-markdown-DjKAU15k.js → vendor-markdown-DSmzq4Jh.js} +1 -1
- package/dist/src/app/assets/vendor-react-AtKqiNEf.js +4 -0
- package/dist/src/app/assets/{vendor-syntax-Dc86c4Bu.js → vendor-syntax-D06x6TQF.js} +1 -1
- package/dist/src/app/index.html +6 -6
- package/dist/src/app/tsconfig.app.tsbuildinfo +1 -1
- package/dist/src/{audio-B3QGL6Nl.cjs → audio-BWjyvHn9.cjs} +4 -4
- package/dist/src/{audio-C-1oBiVZ.js → audio-BrJBFN2b.js} +4 -4
- package/dist/src/{audio-DnfDVjhL.js → audio-DUH4q0Xq.js} +5 -5
- package/dist/src/{audio-DQWHfAr8.js → audio-U580w8jM.js} +2 -2
- package/dist/src/{base-DHam07ip.js → base-BaXmtXYp.js} +3 -3
- package/dist/src/{base-BjsgxJp9.js → base-Dtp8b4_N.js} +3 -3
- package/dist/src/{base-Bso8ccGu.cjs → base-f71xxWai.cjs} +3 -3
- package/dist/src/{blobs-DOdc-E8L.cjs → blobs-673H0jCl.cjs} +3 -3
- package/dist/src/{blobs-Dcm272OH.js → blobs-C9J2mVgo.js} +3 -3
- package/dist/src/{blobs-MlVQyoSc.js → blobs-kt8v3UyH.js} +3 -3
- package/dist/src/{cache-KNsTJLKP.cjs → cache-7xULbvt3.cjs} +35 -8
- package/dist/src/{cache-BMl3AIo5.js → cache-BLLayYEN.js} +24 -9
- package/dist/src/{cache-B0ptF7sO.js → cache-BUPcq0Ad.js} +3 -3
- package/dist/src/cache-CVfRb-HD.cjs +6 -0
- package/dist/src/{cache-DPztwHxt.js → cache-O4EuX2JV.js} +4 -4
- package/dist/src/{cache-DHm8Pc8l.js → cache-mIszOnuz.js} +5 -22
- package/dist/src/{chat-DOQIJx7O.cjs → chat-C4zqjObh.cjs} +10 -10
- package/dist/src/{chat-DDGU7Tik.js → chat-C8Ei4f87.js} +9 -9
- package/dist/src/{chat-BnzIuoTQ.js → chat-CgyGj2hC.js} +12 -12
- package/dist/src/{chat-BRMJOuCv.js → chat-Cpz3O-Xl.js} +14 -14
- package/dist/src/{chat-CVOyOBYk.js → chat-DIywASPG.js} +11 -11
- package/dist/src/{chat-CrnXMbvh.cjs → chat-Fl6TZJRS.cjs} +13 -13
- package/dist/src/{chat-D8GcWK9l.js → chat-XPN9YHhr.js} +2 -2
- package/dist/src/{chatkit-IWIuhxFE.js → chatkit-DEls11hE.js} +4 -4
- package/dist/src/{chatkit-DlOZ-eNb.js → chatkit-DIrJX8xk.js} +4 -4
- package/dist/src/{chatkit-CcktkleS.js → chatkit-Dpxrq4eD.js} +2 -2
- package/dist/src/{chatkit-yeVtURUi.cjs → chatkit-e25Ziu17.cjs} +4 -4
- package/dist/src/{claude-agent-sdk-BiMgSH9g.js → claude-agent-sdk-6-xTaLwM.js} +48 -19
- package/dist/src/{claude-agent-sdk-Yj9Hq0cH.cjs → claude-agent-sdk-BzxF6NIJ.cjs} +48 -19
- package/dist/src/{claude-agent-sdk-rVqlUIJl.js → claude-agent-sdk-CmkTnKGH.js} +49 -20
- package/dist/src/{claude-agent-sdk-yid1kGsL.js → claude-agent-sdk-rXCBLK_o.js} +40 -11
- package/dist/src/{cloud-ByJVRSQI.js → cloud-BMbRVJFw.js} +3 -3
- package/dist/src/cloud-CZ4hytdm.js +5 -0
- package/dist/src/{cloudflare-ai-DmJZcvVx.cjs → cloudflare-ai-BAQ0u_dg.cjs} +14 -14
- package/dist/src/{cloudflare-ai-CWKYPCCF.js → cloudflare-ai-CUg4BTcj.js} +13 -13
- package/dist/src/{cloudflare-ai-goDJ5bwr.js → cloudflare-ai-CobxMTR4.js} +15 -15
- package/dist/src/{cloudflare-ai-CdKv38f6.js → cloudflare-ai-Z9X219gp.js} +2 -2
- package/dist/src/{cloudflare-gateway-BW8hcdB0.cjs → cloudflare-gateway-C0sgfr_z.cjs} +15 -15
- package/dist/src/{cloudflare-gateway-CDCOS1Os.js → cloudflare-gateway-D2_yi-Fh.js} +16 -16
- package/dist/src/{cloudflare-gateway-Dz_HCMGY.js → cloudflare-gateway-Djf3F3_H.js} +2 -2
- package/dist/src/{cloudflare-gateway-gzmTsXcd.js → cloudflare-gateway-_itGuXry.js} +14 -14
- package/dist/src/{codex-sdk-BlvhxMr0.js → codex-sdk-BASDNkIl.js} +90 -34
- package/dist/src/{codex-sdk-BC5qbCjh.js → codex-sdk-dSnGdgIp.js} +92 -36
- package/dist/src/{codex-sdk-CBpm53B8.js → codex-sdk-ibXwdglL.js} +91 -35
- package/dist/src/{codex-sdk-Cf5_CQch.cjs → codex-sdk-wTEpMM_X.cjs} +92 -36
- package/dist/src/{cometapi-DoaO5SLq.js → cometapi-B01btbfb.js} +16 -16
- package/dist/src/{cometapi-BUKGSUCw.js → cometapi-ChAaRjg5.js} +14 -14
- package/dist/src/{cometapi-C6BSw9k3.js → cometapi-DHUAH6nK.js} +2 -2
- package/dist/src/{cometapi-B3TzpkNI.cjs → cometapi-JbvOJSCO.cjs} +15 -15
- package/dist/src/{completion-BLe7SUA4.js → completion-BBJ6zmG3.js} +6 -6
- package/dist/src/{completion-1RAiLcwi.js → completion-D9_MDlnd.js} +6 -6
- package/dist/src/{completion-D6BTVt6e.cjs → completion-DDyL3Cb2.cjs} +6 -6
- package/dist/src/{docker-CkOzlD1W.js → docker-BuButc4D.js} +15 -15
- package/dist/src/{docker-BWsSX8Pn.cjs → docker-Ckw-j7Rr.cjs} +14 -14
- package/dist/src/{docker-CMf5SGLq.js → docker-JAAubMw3.js} +13 -13
- package/dist/src/{docker-C0AzMsuf.js → docker-vnOg96gi.js} +2 -2
- package/dist/src/errors-DnGCbnx8.js +36 -0
- package/dist/src/{esm-gWVPXn3r.cjs → esm-BQkx5roy.cjs} +2 -2
- package/dist/src/{esm-Lh6czAFT.js → esm-CYhseqj4.js} +2 -2
- package/dist/src/{esm-D40XsWlR.js → esm-rDtG_2rg.js} +2 -2
- package/dist/src/eval-CKHWqG9f.js +16 -0
- package/dist/src/{eval-WaSg64w3.js → eval-CYrbG57o.js} +106 -29
- package/dist/src/{evalResult-CGrGU_cG.js → evalResult-6JaUIStC.js} +7 -7
- package/dist/src/{evalResult-C_UM63nn.js → evalResult-COsVttMA.js} +7 -7
- package/dist/src/evalResult-CxTP-LMm.cjs +11 -0
- package/dist/src/evalResult-CzLURDcP.js +13 -0
- package/dist/src/{evalResult-BU4huold.cjs → evalResult-DlRfu_Rq.cjs} +7 -7
- package/dist/src/evalResult-DyttNQ_G.js +11 -0
- package/dist/src/evaluator-0PvfeBYh.js +38 -0
- package/dist/src/{evaluator-gmF3Vddp.js → evaluator-3EJCMTs0.js} +75 -49
- package/dist/src/{extractor-D-RM2m6A.cjs → extractor-DbhlYEeo.cjs} +23 -6
- package/dist/src/{extractor-Da8IxCeS.js → extractor-Hs7la_19.js} +23 -6
- package/dist/src/{extractor-BA90EtLq.js → extractor-LSYjrhK0.js} +23 -6
- package/dist/src/{fetch-BIfcW-Fd.js → fetch-18MuNu9i.js} +21 -7
- package/dist/src/{fetch-CW9GabAi.js → fetch-Bi0o-fdp.js} +2 -2
- package/dist/src/fetch-CMptBDVg.cjs +4 -0
- package/dist/src/fetch-DAZkv3gV.js +6 -0
- package/dist/src/{fetch-Mb7SbeM-.js → fetch-SRsE6Ctl.js} +21 -7
- package/dist/src/{fetch-MvWxCS5U.cjs → fetch-ZMn_oemb.cjs} +21 -7
- package/dist/src/{fileExtensions-CzcPkiKZ.js → fileExtensions-BpuMmaFL.js} +1 -1
- package/dist/src/{formatDuration-CCiZ-wBY.js → formatDuration-Doo0xq-z.js} +1 -1
- package/dist/src/{genaiTracer-BQ8AmajD.cjs → genaiTracer-CQlpZkrp.cjs} +2 -2
- package/dist/src/{genaiTracer-foKtbVa2.js → genaiTracer-CqNnnXrE.js} +1 -1
- package/dist/src/graders-BCytzXrb.js +34 -0
- package/dist/src/{graders-CwtelA9k.js → graders-BaMCwIKp.js} +212 -91
- package/dist/src/graders-CGZQShfJ.cjs +33 -0
- package/dist/src/{graders-2dabIkXs.cjs → graders-DzUUnUjC.cjs} +212 -91
- package/dist/src/{graders-BscQ6O1Q.js → graders-QsALpIdy.js} +211 -90
- package/dist/src/graders-spkuVC-E.js +36 -0
- package/dist/src/{image-Dv0o-Ab7.js → image-BXt_7u0v.js} +4 -4
- package/dist/src/{image-B6TV9l0v.js → image-BiEVdpdP.js} +7 -7
- package/dist/src/{image-DS9hlgSc.cjs → image-C3BjJUAU.cjs} +7 -7
- package/dist/src/{image-_jKUeeh9.js → image-COCWy5dX.js} +2 -2
- package/dist/src/{image-DqElR73O.cjs → image-D10zEe1f.cjs} +4 -4
- package/dist/src/{image-BVEVjrwl.js → image-DB4sHxdJ.js} +5 -5
- package/dist/src/{image-C1i3NoZo.js → image-mhAGP07h.js} +7 -7
- package/dist/src/index.cjs +305 -112
- package/dist/src/index.d.cts +137 -3
- package/dist/src/index.d.ts +137 -3
- package/dist/src/index.js +304 -111
- package/dist/src/{interactiveCheck-CjK2R4rB.js → interactiveCheck-DU-MAhp5.js} +2 -2
- package/dist/src/{knowledgeBase-K5fJN2kC.cjs → knowledgeBase-Bnb00xKs.cjs} +8 -8
- package/dist/src/{knowledgeBase-D-xthvn0.js → knowledgeBase-CMvMlLZR.js} +9 -9
- package/dist/src/{knowledgeBase-DJZHeJqg.js → knowledgeBase-DotRBzUE.js} +2 -2
- package/dist/src/{knowledgeBase-BSs2ldSR.js → knowledgeBase-XJQ0Qyez.js} +8 -8
- package/dist/src/{litellm-kPhaZkzz.js → litellm-BECdjOTx.js} +3 -3
- package/dist/src/{litellm-uRLukY7s.cjs → litellm-BrnZhMcL.cjs} +15 -15
- package/dist/src/{litellm-DH_rVIOd.js → litellm-CHrRmPAe.js} +16 -16
- package/dist/src/{litellm-DoXGHlpD.js → litellm-CrLJrPIm.js} +14 -14
- package/dist/src/{logger-CMp-NS-e.cjs → logger-BdZ-IqBc.cjs} +5 -2
- package/dist/src/{logger-Bzi5o47S.js → logger-BotXmWKW.js} +5 -2
- package/dist/src/{logger-q5I8CByj.js → logger-w8Ozp0Td.js} +5 -2
- package/dist/src/{luma-ray-B3GiVpuq.js → luma-ray-BOeX-h0M.js} +10 -10
- package/dist/src/{luma-ray-CPISsLu-.js → luma-ray-C-w6EsJm.js} +2 -2
- package/dist/src/{luma-ray-BrWrKIIB.cjs → luma-ray-C0RkI3lt.cjs} +10 -10
- package/dist/src/{luma-ray-gyI_GEy2.js → luma-ray-DgKLS0BF.js} +11 -11
- package/dist/src/main.js +3260 -2537
- package/dist/src/{messages-CJgEjRQF.js → messages-CDZYGNlS.js} +13 -10
- package/dist/src/{messages-BMkwrfmt.js → messages-D61tPFQo.js} +14 -11
- package/dist/src/{messages-B5HsO_dM.cjs → messages-DXV3Qh8_.cjs} +14 -11
- package/dist/src/{meteor-CBciquOS.js → meteor-Dj8cTkU_.js} +1 -1
- package/dist/src/{meteor-0cLf9TIn.js → meteor-P2rUE-Uz.js} +1 -1
- package/dist/src/{meteor-BQ6Ws9k2.js → meteor-SLNTgmXm.js} +2 -2
- package/dist/src/{meteor-DRuEfzuQ.cjs → meteor-odmwVbyG.cjs} +1 -1
- package/dist/src/{nova-reel-B5SOonY2.js → nova-reel-Bk5npr2q.js} +11 -11
- package/dist/src/{nova-reel-CT9ZuhJ3.js → nova-reel-C2LFfVTf.js} +2 -2
- package/dist/src/{nova-reel-ByTx85ed.cjs → nova-reel-D9FXq3Mt.cjs} +10 -10
- package/dist/src/{nova-reel-ChM7WaHR.js → nova-reel-DtCjbD5O.js} +10 -10
- package/dist/src/{nova-sonic-D4M3kKYu.js → nova-sonic-BXRfQyF-.js} +8 -8
- package/dist/src/{nova-sonic-C-H3eDvL.cjs → nova-sonic-BoRSY_U6.cjs} +7 -7
- package/dist/src/{nova-sonic-DgifpOKF.js → nova-sonic-CgaWLDM1.js} +7 -7
- package/dist/src/{nova-sonic-BqP59oOu.js → nova-sonic-D_qERM-K.js} +2 -2
- package/dist/src/{openai-BjpdxIOG.cjs → openai-Bigwjgo1.cjs} +2 -2
- package/dist/src/{openai-Cv9pEKxp.js → openai-CT5fwbve.js} +2 -2
- package/dist/src/{openai-CitF-gEN.js → openai-Dz3surb_.js} +2 -2
- package/dist/src/openclaw-B6XY2kUf.js +526 -0
- package/dist/src/openclaw-CpPrXwf6.js +524 -0
- package/dist/src/openclaw-DDSfq5fp.cjs +528 -0
- package/dist/src/openclaw-dHLcXUWZ.js +511 -0
- package/dist/src/{opencode-sdk-Dakn4QMp.js → opencode-sdk-CImWVqy9.js} +7 -7
- package/dist/src/{opencode-sdk-BcLvVMV-.js → opencode-sdk-CuCztr4P.js} +6 -6
- package/dist/src/{opencode-sdk-z7KKOCdB.js → opencode-sdk-DhcfRbBH.js} +3 -3
- package/dist/src/{opencode-sdk-Cqszt4br.cjs → opencode-sdk-mqF-Oj3f.cjs} +6 -6
- package/dist/src/{otlpReceiver-BvmMgacx.cjs → otlpReceiver-B6Xo4KZM.cjs} +6 -6
- package/dist/src/{otlpReceiver-DRNetlJH.js → otlpReceiver-BO0rbDzh.js} +6 -6
- package/dist/src/{otlpReceiver-Bhj_vnzl.js → otlpReceiver-Dg817agV.js} +6 -6
- package/dist/src/{otlpReceiver-Cpnk-Hjf.js → otlpReceiver-DmRb0NBj.js} +2 -2
- package/dist/src/{providerRegistry-D32Lt9vp.js → providerRegistry-Xf0qdqGQ.js} +2 -2
- package/dist/src/{providerRegistry-HGQd2MF6.cjs → providerRegistry-lc7a7utN.cjs} +2 -2
- package/dist/src/{providerRegistry-BdKWcUa8.js → providerRegistry-wCWd7sKQ.js} +2 -2
- package/dist/src/providers-BMZZmPBJ.cjs +32 -0
- package/dist/src/{providers-BWoVY_Wz.cjs → providers-BNKVY53V.cjs} +294 -782
- package/dist/src/{providers-Co_FGgH8.js → providers-BiNq_Iyc.js} +281 -769
- package/dist/src/{providers-CUCHJCHD.js → providers-BlEhY5mi.js} +286 -779
- package/dist/src/providers-CQQrNaJk.js +32 -0
- package/dist/src/providers-Ck8HyrC-.js +34 -0
- package/dist/src/{pythonUtils-rOCm9w_5.cjs → pythonUtils-DZ6EbdY4.cjs} +3 -3
- package/dist/src/{pythonUtils-B9JA-gsC.js → pythonUtils-r1uBuA0n.js} +3 -3
- package/dist/src/{pythonUtils-eNq6Wsfr.js → pythonUtils-vMlk9Qp5.js} +3 -3
- package/dist/src/{quiverai-BpWtOEQZ.cjs → quiverai-BNfIwKCO.cjs} +13 -13
- package/dist/src/{quiverai-Cj-PUa3p.js → quiverai-BQigKdIH.js} +14 -14
- package/dist/src/{quiverai-BN8OVvDE.js → quiverai-Bfy2WnE2.js} +12 -12
- package/dist/src/{quiverai-D5MSsd2c.js → quiverai-CedIP0PJ.js} +2 -2
- package/dist/src/{render-D2710HbA.js → render-CAZvKKkB.js} +4 -4
- package/dist/src/responses-DLLjADw5.js +653 -0
- package/dist/src/responses-TsdODUpm.js +654 -0
- package/dist/src/responses-zOtKtnY_.cjs +671 -0
- package/dist/src/{rubyUtils-Dn6MGcsk.js → rubyUtils-BtjlqyXt.js} +3 -3
- package/dist/src/{rubyUtils-LBsk3zIm.js → rubyUtils-Cs35SDYa.js} +3 -3
- package/dist/src/rubyUtils-D7--T12C.js +6 -0
- package/dist/src/{rubyUtils-rnCVDgH-.cjs → rubyUtils-DCVaJ3mc.cjs} +3 -3
- package/dist/src/rubyUtils-DRRiMFV2.js +5 -0
- package/dist/src/rubyUtils-vb8OYFC-.cjs +5 -0
- package/dist/src/{sagemaker-C8MeZIkH.js → sagemaker-BcgLu0U4.js} +18 -18
- package/dist/src/{sagemaker-4ukMNSN0.js → sagemaker-CLdUAv5z.js} +17 -17
- package/dist/src/{sagemaker-DyVHy2BW.js → sagemaker-Du4LIR97.js} +2 -2
- package/dist/src/{sagemaker-DB3Eojau.cjs → sagemaker-DwNnEVYt.cjs} +17 -17
- package/dist/src/{scanner-C28XVEq2.js → scanner-Dyw21Wg_.js} +12 -12
- package/dist/src/server/index.js +1818 -605
- package/dist/src/server-BUbS0Qfh.js +6 -0
- package/dist/src/{server-BF3HkMhe.js → server-CbMTRQkg.js} +8 -6
- package/dist/src/{server-CSbLW-UI.cjs → server-CgUQ25qW.cjs} +8 -6
- package/dist/src/{server-mycZbUH8.js → server-DWmZLfCy.js} +10 -7
- package/dist/src/server-XpGXFHkS.cjs +6 -0
- package/dist/src/server-gfOx5Zrk.js +8 -0
- package/dist/src/{signal-DM_SPNmi.js → signal-Bl32q42d.js} +3 -3
- package/dist/src/{slack-Ed1yyt_j.js → slack-BfdBx2tO.js} +2 -2
- package/dist/src/{slack-D1F9Y7CH.cjs → slack-BtMkB6xP.cjs} +2 -2
- package/dist/src/{slack-DkAF58Tr.js → slack-DPqj42Ts.js} +2 -2
- package/dist/src/{slack-BK312SXM.js → slack-OZYxoVON.js} +2 -2
- package/dist/src/{store-CT_e5OZX.js → store-2ocbYY9D.js} +3 -3
- package/dist/src/store-5u2yriTV.js +7 -0
- package/dist/src/{store-BpumNYCl.cjs → store-BqwfFEyF.cjs} +3 -3
- package/dist/src/{store-BFLqwuc_.js → store-D4gdn9ih.js} +3 -3
- package/dist/src/store-D_lq_8oQ.js +6 -0
- package/dist/src/store-m5KT6Ly7.cjs +6 -0
- package/dist/src/{tables-Dansasnu.cjs → tables-B9E1kRp-.cjs} +3 -3
- package/dist/src/{tables-BjaApSAB.js → tables-C7TT2XVn.js} +3 -3
- package/dist/src/{tables-Dwexr5Z6.js → tables-D-NSwNIb.js} +3 -3
- package/dist/src/telemetry-5RHFoCJh.js +6 -0
- package/dist/src/{telemetry-MVkZQxt9.js → telemetry-BXyVqyAg.js} +5 -4
- package/dist/src/{telemetry-DFDFKdnr.cjs → telemetry-D0_yFdtU.cjs} +5 -4
- package/dist/src/{telemetry-Ds5Nn81l.js → telemetry-DZ_7PaVq.js} +5 -4
- package/dist/src/telemetry-Do8wMnA-.js +8 -0
- package/dist/src/telemetry-LojxPoFq.cjs +6 -0
- package/dist/src/{text-PYISqVm1.cjs → text-DF2hMKdg.cjs} +1 -1
- package/dist/src/{text-DuYSUYPB.js → text-DgMr_tiM.js} +1 -1
- package/dist/src/{text-Dx0GJOCN.js → text-Dm78AVGG.js} +1 -1
- package/dist/src/{tokenUsageUtils-BtZd3sP7.cjs → tokenUsageUtils-CXhxVj72.cjs} +9 -4
- package/dist/src/{tokenUsageUtils-DoinwgKF.js → tokenUsageUtils-DmZSD2eU.js} +9 -4
- package/dist/src/{tokenUsageUtils-cFdLMERB.js → tokenUsageUtils-FZd5O_4A.js} +9 -4
- package/dist/src/{transcription-Cp19m_Mt.js → transcription-C-M81iDA.js} +2 -2
- package/dist/src/{transcription-CLRpAg07.js → transcription-CYuY5sFO.js} +10 -10
- package/dist/src/{transcription-D8ifIKOv.js → transcription-Ch7S-LWw.js} +11 -11
- package/dist/src/{transcription-CXXFEVM_.cjs → transcription-FNIz3YOe.cjs} +10 -10
- package/dist/src/transform-8eGmaH-7.js +7 -0
- package/dist/src/transform-BRVvWaG4.cjs +6 -0
- package/dist/src/{transform-Bn-lgBE2.js → transform-CoP2bJ7P.js} +44 -5
- package/dist/src/{transform-BFPYuBaW.js → transform-CqTFr7KR.js} +5 -5
- package/dist/src/{transform-DvQWeBSR.js → transform-D8dILpfZ.js} +4 -4
- package/dist/src/{transform-BUrxadlA.js → transform-DMaxQwDx.js} +44 -5
- package/dist/src/transform-GybT0X0u.js +8 -0
- package/dist/src/{transform-DshYLyBq.cjs → transform-Kd6u-oNm.cjs} +4 -4
- package/dist/src/{transform-Bw1IstDE.cjs → transform-ivxEY4f7.cjs} +55 -4
- package/dist/src/{transformersAvailability-BaoWHpu1.cjs → transformersAvailability-Bkep3ka7.cjs} +1 -1
- package/dist/src/{transformersAvailability-Dhh45n5P.js → transformersAvailability-DEU2naS1.js} +1 -1
- package/dist/src/{transformersAvailability-DtpwoeFC.js → transformersAvailability-DkAWaK5B.js} +1 -1
- package/dist/src/{transformersAvailability-O2YaCv9Z.js → transformersAvailability-DwmezkVe.js} +1 -1
- package/dist/src/{types-B-XUqfNs.cjs → types-BIfttHrT.cjs} +22 -2
- package/dist/src/{types-BsU_PxR3.js → types-DMVjYLpx.js} +16 -2
- package/dist/src/{types-CgrxBFgm.js → types-t52w-XsS.js} +19 -3
- package/dist/src/{util-M2MoNCUR.js → util-BSh4a_Q8.js} +7 -7
- package/dist/src/{util-DTJWKLkl.cjs → util-C08Kns6-.cjs} +18 -4
- package/dist/src/{util-DHBpsbZE.js → util-CUEt0Vum.js} +18 -4
- package/dist/src/{util-Bnw6EyZN.js → util-Cl0zfT3V.js} +18 -4
- package/dist/src/{util-C7A-PlKK.cjs → util-DUYOvxAy.cjs} +6 -6
- package/dist/src/{util-WYC3rB_p.js → util-DiCePfDu.js} +6 -6
- package/dist/src/{util-CV99ps44.cjs → util-DkFTvieG.cjs} +17 -5
- package/dist/src/{util-CfepsNVK.js → util-mJ58qbbw.js} +17 -5
- package/dist/src/{util-BZaMVBMq.js → util-vjscpUzy.js} +17 -5
- package/dist/src/{utils-BryuD3vq.js → utils-CVzb4YiI.js} +3 -3
- package/dist/src/{utils-Dezi3MBH.cjs → utils-DFaZa6Rf.cjs} +3 -3
- package/dist/src/{utils-GiyI2K4P.js → utils-JaY9veb5.js} +3 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +75 -77
- package/dist/src/app/assets/index-07dbAcWK.js +0 -427
- package/dist/src/app/assets/index-DnEcCQgk.css +0 -1
- package/dist/src/app/assets/vendor-react-DHoaNLma.js +0 -4
- package/dist/src/cache-BujOdYlc.cjs +0 -6
- package/dist/src/cloud-BHYz0XkH.js +0 -5
- package/dist/src/eval-0IFf8hON.js +0 -16
- package/dist/src/evalResult-BCCv6FXj.js +0 -13
- package/dist/src/evalResult-C8iVgVvr.js +0 -11
- package/dist/src/evalResult-CqFeWKYx.cjs +0 -11
- package/dist/src/evaluator-DwS5NAEj.js +0 -37
- package/dist/src/fetch-BH9KSaUC.cjs +0 -4
- package/dist/src/fetch-BL6kqunF.js +0 -6
- package/dist/src/graders-BK3LuhJ8.cjs +0 -32
- package/dist/src/graders-Bpjtip-E.js +0 -35
- package/dist/src/graders-KIf6Uej3.js +0 -33
- package/dist/src/providers-41mSodR_.js +0 -31
- package/dist/src/providers-CiZCpIxz.cjs +0 -31
- package/dist/src/providers-G531909f.js +0 -33
- package/dist/src/rubyUtils-BLd6EE1u.cjs +0 -5
- package/dist/src/rubyUtils-CVELPvUH.js +0 -6
- package/dist/src/rubyUtils-_t9Gmf7U.js +0 -5
- package/dist/src/server-Bc4T4XDt.cjs +0 -6
- package/dist/src/server-CMyxJ7ct.js +0 -6
- package/dist/src/server-D9FuxNYE.js +0 -8
- package/dist/src/store-CrMinjmN.cjs +0 -6
- package/dist/src/store-EaWZOoxz.js +0 -7
- package/dist/src/store-KXWnHB15.js +0 -6
- package/dist/src/telemetry-BXD2mCyr.cjs +0 -6
- package/dist/src/telemetry-CYiBm56v.js +0 -8
- package/dist/src/telemetry-lICYKIMB.js +0 -6
- package/dist/src/transform-DZI2t8-9.js +0 -8
- package/dist/src/transform-DZUV3qpO.js +0 -7
- package/dist/src/transform-XcotjzZX.cjs +0 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { E as resolvePackageEntryPoint, I as getEnvString, L as cliState_default, T as importModule, g as withGenAISpan, h as getTraceparent, j as logger_default } from "./server/index.js";
|
|
2
2
|
import fs from "fs";
|
|
3
3
|
import path from "path";
|
|
4
4
|
import dedent from "dedent";
|
|
@@ -38,37 +38,56 @@ async function loadCodexSDK() {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
const CODEX_MODEL_PRICING = {
|
|
41
|
+
"gpt-5.3-codex": {
|
|
42
|
+
input: 1.75,
|
|
43
|
+
output: 14,
|
|
44
|
+
cache_read: .175
|
|
45
|
+
},
|
|
46
|
+
"gpt-5.3-codex-spark": {
|
|
47
|
+
input: .5,
|
|
48
|
+
output: 4,
|
|
49
|
+
cache_read: .05
|
|
50
|
+
},
|
|
41
51
|
"gpt-5.2": {
|
|
42
52
|
input: 2,
|
|
43
|
-
output: 8
|
|
53
|
+
output: 8,
|
|
54
|
+
cache_read: .2
|
|
44
55
|
},
|
|
45
56
|
"gpt-5.1-codex": {
|
|
46
57
|
input: 2,
|
|
47
|
-
output: 8
|
|
58
|
+
output: 8,
|
|
59
|
+
cache_read: .2
|
|
48
60
|
},
|
|
49
61
|
"gpt-5.1-codex-max": {
|
|
50
62
|
input: 3,
|
|
51
|
-
output: 12
|
|
63
|
+
output: 12,
|
|
64
|
+
cache_read: .3
|
|
52
65
|
},
|
|
53
66
|
"gpt-5.1-codex-mini": {
|
|
54
67
|
input: .5,
|
|
55
|
-
output: 2
|
|
68
|
+
output: 2,
|
|
69
|
+
cache_read: .05
|
|
56
70
|
},
|
|
57
71
|
"gpt-5-codex": {
|
|
58
72
|
input: 2,
|
|
59
|
-
output: 8
|
|
73
|
+
output: 8,
|
|
74
|
+
cache_read: .2
|
|
60
75
|
},
|
|
61
76
|
"gpt-5-codex-mini": {
|
|
62
77
|
input: .5,
|
|
63
|
-
output: 2
|
|
78
|
+
output: 2,
|
|
79
|
+
cache_read: .05
|
|
64
80
|
},
|
|
65
81
|
"gpt-5": {
|
|
66
82
|
input: 2,
|
|
67
|
-
output: 8
|
|
83
|
+
output: 8,
|
|
84
|
+
cache_read: .2
|
|
68
85
|
}
|
|
69
86
|
};
|
|
70
87
|
var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
71
88
|
static OPENAI_MODELS = [
|
|
89
|
+
"gpt-5.3-codex",
|
|
90
|
+
"gpt-5.3-codex-spark",
|
|
72
91
|
"gpt-5.2",
|
|
73
92
|
"gpt-5.1-codex",
|
|
74
93
|
"gpt-5.1-codex-max",
|
|
@@ -103,13 +122,20 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
103
122
|
toString() {
|
|
104
123
|
return "[OpenAI Codex SDK Provider]";
|
|
105
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Safely tear down a Codex instance by calling its cleanup method
|
|
127
|
+
* (destroy, cleanup, or close -- whichever is available).
|
|
128
|
+
*/
|
|
129
|
+
async destroyInstance(instance) {
|
|
130
|
+
if (typeof instance.destroy === "function") await instance.destroy();
|
|
131
|
+
else if (typeof instance.cleanup === "function") await instance.cleanup();
|
|
132
|
+
else if (typeof instance.close === "function") await instance.close();
|
|
133
|
+
}
|
|
106
134
|
async cleanup() {
|
|
107
135
|
this.threads.clear();
|
|
108
136
|
if (this.codexInstance) {
|
|
109
137
|
try {
|
|
110
|
-
|
|
111
|
-
else if (typeof this.codexInstance.cleanup === "function") await this.codexInstance.cleanup();
|
|
112
|
-
else if (typeof this.codexInstance.close === "function") await this.codexInstance.close();
|
|
138
|
+
await this.destroyInstance(this.codexInstance);
|
|
113
139
|
} catch (error) {
|
|
114
140
|
logger_default.warn("[CodexSDK] Error during cleanup", { error });
|
|
115
141
|
}
|
|
@@ -164,6 +190,19 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
164
190
|
To bypass this check, set skip_git_repo_check: true in your provider config.`);
|
|
165
191
|
}
|
|
166
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* Build Codex constructor options from provider config.
|
|
195
|
+
* Used when creating both local (deep-tracing) and cached instances.
|
|
196
|
+
*/
|
|
197
|
+
buildCodexOptions(env, config) {
|
|
198
|
+
return {
|
|
199
|
+
env,
|
|
200
|
+
...this.apiKey ? { apiKey: this.apiKey } : {},
|
|
201
|
+
...config.codex_path_override ? { codexPathOverride: config.codex_path_override } : {},
|
|
202
|
+
...config.base_url ? { baseUrl: config.base_url } : {},
|
|
203
|
+
...config.cli_config ? { config: config.cli_config } : {}
|
|
204
|
+
};
|
|
205
|
+
}
|
|
167
206
|
buildThreadOptions(config) {
|
|
168
207
|
return {
|
|
169
208
|
workingDirectory: config.working_dir,
|
|
@@ -173,9 +212,9 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
173
212
|
...config.sandbox_mode ? { sandboxMode: config.sandbox_mode } : {},
|
|
174
213
|
...config.model_reasoning_effort ? { modelReasoningEffort: config.model_reasoning_effort } : {},
|
|
175
214
|
...config.network_access_enabled !== void 0 ? { networkAccessEnabled: config.network_access_enabled } : {},
|
|
176
|
-
...config.
|
|
177
|
-
...config.
|
|
178
|
-
...config.
|
|
215
|
+
...config.web_search_mode ? { webSearchMode: config.web_search_mode } : {},
|
|
216
|
+
...config.web_search_enabled !== void 0 && !config.web_search_mode ? { webSearchEnabled: config.web_search_enabled } : {},
|
|
217
|
+
...config.approval_policy ? { approvalPolicy: config.approval_policy } : {}
|
|
179
218
|
};
|
|
180
219
|
}
|
|
181
220
|
async getOrCreateThread(config, cacheKey, instance) {
|
|
@@ -303,10 +342,31 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
303
342
|
});
|
|
304
343
|
break;
|
|
305
344
|
}
|
|
345
|
+
case "item.updated": {
|
|
346
|
+
const item = event.item;
|
|
347
|
+
if (item?.id) {
|
|
348
|
+
const itemId = String(item.id);
|
|
349
|
+
const span = activeSpans.get(itemId);
|
|
350
|
+
if (span) {
|
|
351
|
+
const updatedAttrs = this.getCompletionAttributesForItem(item);
|
|
352
|
+
for (const [key, value] of Object.entries(updatedAttrs)) span.setAttribute(key, value);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
logger_default.debug("Codex item updated", {
|
|
356
|
+
itemId: item?.id,
|
|
357
|
+
type: item?.type
|
|
358
|
+
});
|
|
359
|
+
break;
|
|
360
|
+
}
|
|
306
361
|
case "turn.completed":
|
|
307
362
|
usage = event.usage;
|
|
308
363
|
logger_default.debug("Codex turn completed", { usage });
|
|
309
364
|
break;
|
|
365
|
+
case "turn.failed": {
|
|
366
|
+
const errorMsg = event.error?.message || "Turn failed";
|
|
367
|
+
logger_default.error("Codex turn failed", { error: errorMsg });
|
|
368
|
+
throw new Error(`Codex turn failed: ${errorMsg}`);
|
|
369
|
+
}
|
|
310
370
|
default: logger_default.debug("Codex unknown event type", { type: event.type });
|
|
311
371
|
}
|
|
312
372
|
lastEventTime = eventTime;
|
|
@@ -426,6 +486,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
426
486
|
model_reasoning_effort: config.model_reasoning_effort,
|
|
427
487
|
network_access_enabled: config.network_access_enabled,
|
|
428
488
|
web_search_enabled: config.web_search_enabled,
|
|
489
|
+
web_search_mode: config.web_search_mode,
|
|
429
490
|
approval_policy: config.approval_policy,
|
|
430
491
|
prompt
|
|
431
492
|
};
|
|
@@ -502,11 +563,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
502
563
|
logger_default.warn("[CodexSDK] deep_tracing is incompatible with thread persistence. Thread options (persist_threads, thread_id, thread_pool_size) are ignored when deep_tracing is enabled.");
|
|
503
564
|
this.deepTracingWarningShown = true;
|
|
504
565
|
}
|
|
505
|
-
localInstance = new this.codexModule.Codex(
|
|
506
|
-
env,
|
|
507
|
-
...config.codex_path_override ? { codexPathOverride: config.codex_path_override } : {},
|
|
508
|
-
...config.base_url ? { baseUrl: config.base_url } : {}
|
|
509
|
-
});
|
|
566
|
+
localInstance = new this.codexModule.Codex(this.buildCodexOptions(env, config));
|
|
510
567
|
} else {
|
|
511
568
|
const stableEnv = { ...env };
|
|
512
569
|
delete stableEnv.TRACEPARENT;
|
|
@@ -516,19 +573,13 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
516
573
|
if (envChanged && this.codexInstance) {
|
|
517
574
|
logger_default.debug("[CodexSDK] Recreating instance due to configuration change");
|
|
518
575
|
try {
|
|
519
|
-
|
|
520
|
-
else if (typeof this.codexInstance.cleanup === "function") await this.codexInstance.cleanup();
|
|
521
|
-
else if (typeof this.codexInstance.close === "function") await this.codexInstance.close();
|
|
576
|
+
await this.destroyInstance(this.codexInstance);
|
|
522
577
|
} catch (cleanupError) {
|
|
523
578
|
logger_default.warn("[CodexSDK] Error cleaning up old instance", { error: cleanupError });
|
|
524
579
|
}
|
|
525
580
|
this.threads.clear();
|
|
526
581
|
}
|
|
527
|
-
this.codexInstance = new this.codexModule.Codex(
|
|
528
|
-
env,
|
|
529
|
-
...config.codex_path_override ? { codexPathOverride: config.codex_path_override } : {},
|
|
530
|
-
...config.base_url ? { baseUrl: config.base_url } : {}
|
|
531
|
-
});
|
|
582
|
+
this.codexInstance = new this.codexModule.Codex(this.buildCodexOptions(env, config));
|
|
532
583
|
this.codexInstanceEnvHash = envHash;
|
|
533
584
|
}
|
|
534
585
|
}
|
|
@@ -544,14 +595,21 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
544
595
|
const output = turn.finalResponse || "";
|
|
545
596
|
const raw = JSON.stringify(turn);
|
|
546
597
|
const tokenUsage = turn.usage ? {
|
|
547
|
-
prompt: turn.usage.input_tokens
|
|
598
|
+
prompt: turn.usage.input_tokens,
|
|
548
599
|
completion: turn.usage.output_tokens,
|
|
549
|
-
total: turn.usage.input_tokens +
|
|
600
|
+
total: turn.usage.input_tokens + turn.usage.output_tokens,
|
|
601
|
+
cached: turn.usage.cached_input_tokens || 0
|
|
550
602
|
} : void 0;
|
|
551
603
|
let cost = 0;
|
|
552
604
|
if (tokenUsage && config.model) {
|
|
553
605
|
const pricing = CODEX_MODEL_PRICING[config.model];
|
|
554
|
-
if (pricing)
|
|
606
|
+
if (pricing) {
|
|
607
|
+
const cachedTokens = tokenUsage.cached || 0;
|
|
608
|
+
const inputCost = ((tokenUsage.prompt || 0) - cachedTokens) * (pricing.input / 1e6);
|
|
609
|
+
const cacheReadCost = cachedTokens * (pricing.cache_read / 1e6);
|
|
610
|
+
const outputCost = (tokenUsage.completion || 0) * (pricing.output / 1e6);
|
|
611
|
+
cost = inputCost + cacheReadCost + outputCost;
|
|
612
|
+
}
|
|
555
613
|
}
|
|
556
614
|
logger_default.debug("OpenAI Codex SDK response", {
|
|
557
615
|
output,
|
|
@@ -575,9 +633,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
575
633
|
} finally {
|
|
576
634
|
if (!config.deep_tracing && !config.persist_threads && !config.thread_id && cacheKey) this.threads.delete(cacheKey);
|
|
577
635
|
if (useLocalInstance && localInstance) try {
|
|
578
|
-
|
|
579
|
-
else if (typeof localInstance.cleanup === "function") await localInstance.cleanup();
|
|
580
|
-
else if (typeof localInstance.close === "function") await localInstance.close();
|
|
636
|
+
await this.destroyInstance(localInstance);
|
|
581
637
|
} catch (cleanupError) {
|
|
582
638
|
logger_default.debug("[CodexSDK] Error cleaning up local instance", { error: cleanupError });
|
|
583
639
|
}
|
|
@@ -587,4 +643,4 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
587
643
|
|
|
588
644
|
//#endregion
|
|
589
645
|
export { OpenAICodexSDKProvider };
|
|
590
|
-
//# sourceMappingURL=codex-sdk-
|
|
646
|
+
//# sourceMappingURL=codex-sdk-BASDNkIl.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { C as getEnvString, O as cliState_default, o as logger_default } from "./logger-
|
|
3
|
-
import { i as resolvePackageEntryPoint, r as importModule } from "./esm-
|
|
4
|
-
import { n as withGenAISpan, t as getTraceparent } from "./genaiTracer-
|
|
2
|
+
import { C as getEnvString, O as cliState_default, o as logger_default } from "./logger-BotXmWKW.js";
|
|
3
|
+
import { i as resolvePackageEntryPoint, r as importModule } from "./esm-CYhseqj4.js";
|
|
4
|
+
import { n as withGenAISpan, t as getTraceparent } from "./genaiTracer-CqNnnXrE.js";
|
|
5
5
|
import fs from "fs";
|
|
6
6
|
import path from "path";
|
|
7
7
|
import dedent from "dedent";
|
|
@@ -41,37 +41,56 @@ async function loadCodexSDK() {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
const CODEX_MODEL_PRICING = {
|
|
44
|
+
"gpt-5.3-codex": {
|
|
45
|
+
input: 1.75,
|
|
46
|
+
output: 14,
|
|
47
|
+
cache_read: .175
|
|
48
|
+
},
|
|
49
|
+
"gpt-5.3-codex-spark": {
|
|
50
|
+
input: .5,
|
|
51
|
+
output: 4,
|
|
52
|
+
cache_read: .05
|
|
53
|
+
},
|
|
44
54
|
"gpt-5.2": {
|
|
45
55
|
input: 2,
|
|
46
|
-
output: 8
|
|
56
|
+
output: 8,
|
|
57
|
+
cache_read: .2
|
|
47
58
|
},
|
|
48
59
|
"gpt-5.1-codex": {
|
|
49
60
|
input: 2,
|
|
50
|
-
output: 8
|
|
61
|
+
output: 8,
|
|
62
|
+
cache_read: .2
|
|
51
63
|
},
|
|
52
64
|
"gpt-5.1-codex-max": {
|
|
53
65
|
input: 3,
|
|
54
|
-
output: 12
|
|
66
|
+
output: 12,
|
|
67
|
+
cache_read: .3
|
|
55
68
|
},
|
|
56
69
|
"gpt-5.1-codex-mini": {
|
|
57
70
|
input: .5,
|
|
58
|
-
output: 2
|
|
71
|
+
output: 2,
|
|
72
|
+
cache_read: .05
|
|
59
73
|
},
|
|
60
74
|
"gpt-5-codex": {
|
|
61
75
|
input: 2,
|
|
62
|
-
output: 8
|
|
76
|
+
output: 8,
|
|
77
|
+
cache_read: .2
|
|
63
78
|
},
|
|
64
79
|
"gpt-5-codex-mini": {
|
|
65
80
|
input: .5,
|
|
66
|
-
output: 2
|
|
81
|
+
output: 2,
|
|
82
|
+
cache_read: .05
|
|
67
83
|
},
|
|
68
84
|
"gpt-5": {
|
|
69
85
|
input: 2,
|
|
70
|
-
output: 8
|
|
86
|
+
output: 8,
|
|
87
|
+
cache_read: .2
|
|
71
88
|
}
|
|
72
89
|
};
|
|
73
90
|
var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
74
91
|
static OPENAI_MODELS = [
|
|
92
|
+
"gpt-5.3-codex",
|
|
93
|
+
"gpt-5.3-codex-spark",
|
|
75
94
|
"gpt-5.2",
|
|
76
95
|
"gpt-5.1-codex",
|
|
77
96
|
"gpt-5.1-codex-max",
|
|
@@ -106,13 +125,20 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
106
125
|
toString() {
|
|
107
126
|
return "[OpenAI Codex SDK Provider]";
|
|
108
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Safely tear down a Codex instance by calling its cleanup method
|
|
130
|
+
* (destroy, cleanup, or close -- whichever is available).
|
|
131
|
+
*/
|
|
132
|
+
async destroyInstance(instance) {
|
|
133
|
+
if (typeof instance.destroy === "function") await instance.destroy();
|
|
134
|
+
else if (typeof instance.cleanup === "function") await instance.cleanup();
|
|
135
|
+
else if (typeof instance.close === "function") await instance.close();
|
|
136
|
+
}
|
|
109
137
|
async cleanup() {
|
|
110
138
|
this.threads.clear();
|
|
111
139
|
if (this.codexInstance) {
|
|
112
140
|
try {
|
|
113
|
-
|
|
114
|
-
else if (typeof this.codexInstance.cleanup === "function") await this.codexInstance.cleanup();
|
|
115
|
-
else if (typeof this.codexInstance.close === "function") await this.codexInstance.close();
|
|
141
|
+
await this.destroyInstance(this.codexInstance);
|
|
116
142
|
} catch (error) {
|
|
117
143
|
logger_default.warn("[CodexSDK] Error during cleanup", { error });
|
|
118
144
|
}
|
|
@@ -167,6 +193,19 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
167
193
|
To bypass this check, set skip_git_repo_check: true in your provider config.`);
|
|
168
194
|
}
|
|
169
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Build Codex constructor options from provider config.
|
|
198
|
+
* Used when creating both local (deep-tracing) and cached instances.
|
|
199
|
+
*/
|
|
200
|
+
buildCodexOptions(env, config) {
|
|
201
|
+
return {
|
|
202
|
+
env,
|
|
203
|
+
...this.apiKey ? { apiKey: this.apiKey } : {},
|
|
204
|
+
...config.codex_path_override ? { codexPathOverride: config.codex_path_override } : {},
|
|
205
|
+
...config.base_url ? { baseUrl: config.base_url } : {},
|
|
206
|
+
...config.cli_config ? { config: config.cli_config } : {}
|
|
207
|
+
};
|
|
208
|
+
}
|
|
170
209
|
buildThreadOptions(config) {
|
|
171
210
|
return {
|
|
172
211
|
workingDirectory: config.working_dir,
|
|
@@ -176,9 +215,9 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
176
215
|
...config.sandbox_mode ? { sandboxMode: config.sandbox_mode } : {},
|
|
177
216
|
...config.model_reasoning_effort ? { modelReasoningEffort: config.model_reasoning_effort } : {},
|
|
178
217
|
...config.network_access_enabled !== void 0 ? { networkAccessEnabled: config.network_access_enabled } : {},
|
|
179
|
-
...config.
|
|
180
|
-
...config.
|
|
181
|
-
...config.
|
|
218
|
+
...config.web_search_mode ? { webSearchMode: config.web_search_mode } : {},
|
|
219
|
+
...config.web_search_enabled !== void 0 && !config.web_search_mode ? { webSearchEnabled: config.web_search_enabled } : {},
|
|
220
|
+
...config.approval_policy ? { approvalPolicy: config.approval_policy } : {}
|
|
182
221
|
};
|
|
183
222
|
}
|
|
184
223
|
async getOrCreateThread(config, cacheKey, instance) {
|
|
@@ -306,10 +345,31 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
306
345
|
});
|
|
307
346
|
break;
|
|
308
347
|
}
|
|
348
|
+
case "item.updated": {
|
|
349
|
+
const item = event.item;
|
|
350
|
+
if (item?.id) {
|
|
351
|
+
const itemId = String(item.id);
|
|
352
|
+
const span = activeSpans.get(itemId);
|
|
353
|
+
if (span) {
|
|
354
|
+
const updatedAttrs = this.getCompletionAttributesForItem(item);
|
|
355
|
+
for (const [key, value] of Object.entries(updatedAttrs)) span.setAttribute(key, value);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
logger_default.debug("Codex item updated", {
|
|
359
|
+
itemId: item?.id,
|
|
360
|
+
type: item?.type
|
|
361
|
+
});
|
|
362
|
+
break;
|
|
363
|
+
}
|
|
309
364
|
case "turn.completed":
|
|
310
365
|
usage = event.usage;
|
|
311
366
|
logger_default.debug("Codex turn completed", { usage });
|
|
312
367
|
break;
|
|
368
|
+
case "turn.failed": {
|
|
369
|
+
const errorMsg = event.error?.message || "Turn failed";
|
|
370
|
+
logger_default.error("Codex turn failed", { error: errorMsg });
|
|
371
|
+
throw new Error(`Codex turn failed: ${errorMsg}`);
|
|
372
|
+
}
|
|
313
373
|
default: logger_default.debug("Codex unknown event type", { type: event.type });
|
|
314
374
|
}
|
|
315
375
|
lastEventTime = eventTime;
|
|
@@ -429,6 +489,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
429
489
|
model_reasoning_effort: config.model_reasoning_effort,
|
|
430
490
|
network_access_enabled: config.network_access_enabled,
|
|
431
491
|
web_search_enabled: config.web_search_enabled,
|
|
492
|
+
web_search_mode: config.web_search_mode,
|
|
432
493
|
approval_policy: config.approval_policy,
|
|
433
494
|
prompt
|
|
434
495
|
};
|
|
@@ -505,11 +566,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
505
566
|
logger_default.warn("[CodexSDK] deep_tracing is incompatible with thread persistence. Thread options (persist_threads, thread_id, thread_pool_size) are ignored when deep_tracing is enabled.");
|
|
506
567
|
this.deepTracingWarningShown = true;
|
|
507
568
|
}
|
|
508
|
-
localInstance = new this.codexModule.Codex(
|
|
509
|
-
env,
|
|
510
|
-
...config.codex_path_override ? { codexPathOverride: config.codex_path_override } : {},
|
|
511
|
-
...config.base_url ? { baseUrl: config.base_url } : {}
|
|
512
|
-
});
|
|
569
|
+
localInstance = new this.codexModule.Codex(this.buildCodexOptions(env, config));
|
|
513
570
|
} else {
|
|
514
571
|
const stableEnv = { ...env };
|
|
515
572
|
delete stableEnv.TRACEPARENT;
|
|
@@ -519,19 +576,13 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
519
576
|
if (envChanged && this.codexInstance) {
|
|
520
577
|
logger_default.debug("[CodexSDK] Recreating instance due to configuration change");
|
|
521
578
|
try {
|
|
522
|
-
|
|
523
|
-
else if (typeof this.codexInstance.cleanup === "function") await this.codexInstance.cleanup();
|
|
524
|
-
else if (typeof this.codexInstance.close === "function") await this.codexInstance.close();
|
|
579
|
+
await this.destroyInstance(this.codexInstance);
|
|
525
580
|
} catch (cleanupError) {
|
|
526
581
|
logger_default.warn("[CodexSDK] Error cleaning up old instance", { error: cleanupError });
|
|
527
582
|
}
|
|
528
583
|
this.threads.clear();
|
|
529
584
|
}
|
|
530
|
-
this.codexInstance = new this.codexModule.Codex(
|
|
531
|
-
env,
|
|
532
|
-
...config.codex_path_override ? { codexPathOverride: config.codex_path_override } : {},
|
|
533
|
-
...config.base_url ? { baseUrl: config.base_url } : {}
|
|
534
|
-
});
|
|
585
|
+
this.codexInstance = new this.codexModule.Codex(this.buildCodexOptions(env, config));
|
|
535
586
|
this.codexInstanceEnvHash = envHash;
|
|
536
587
|
}
|
|
537
588
|
}
|
|
@@ -547,14 +598,21 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
547
598
|
const output = turn.finalResponse || "";
|
|
548
599
|
const raw = JSON.stringify(turn);
|
|
549
600
|
const tokenUsage = turn.usage ? {
|
|
550
|
-
prompt: turn.usage.input_tokens
|
|
601
|
+
prompt: turn.usage.input_tokens,
|
|
551
602
|
completion: turn.usage.output_tokens,
|
|
552
|
-
total: turn.usage.input_tokens +
|
|
603
|
+
total: turn.usage.input_tokens + turn.usage.output_tokens,
|
|
604
|
+
cached: turn.usage.cached_input_tokens || 0
|
|
553
605
|
} : void 0;
|
|
554
606
|
let cost = 0;
|
|
555
607
|
if (tokenUsage && config.model) {
|
|
556
608
|
const pricing = CODEX_MODEL_PRICING[config.model];
|
|
557
|
-
if (pricing)
|
|
609
|
+
if (pricing) {
|
|
610
|
+
const cachedTokens = tokenUsage.cached || 0;
|
|
611
|
+
const inputCost = ((tokenUsage.prompt || 0) - cachedTokens) * (pricing.input / 1e6);
|
|
612
|
+
const cacheReadCost = cachedTokens * (pricing.cache_read / 1e6);
|
|
613
|
+
const outputCost = (tokenUsage.completion || 0) * (pricing.output / 1e6);
|
|
614
|
+
cost = inputCost + cacheReadCost + outputCost;
|
|
615
|
+
}
|
|
558
616
|
}
|
|
559
617
|
logger_default.debug("OpenAI Codex SDK response", {
|
|
560
618
|
output,
|
|
@@ -578,9 +636,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
578
636
|
} finally {
|
|
579
637
|
if (!config.deep_tracing && !config.persist_threads && !config.thread_id && cacheKey) this.threads.delete(cacheKey);
|
|
580
638
|
if (useLocalInstance && localInstance) try {
|
|
581
|
-
|
|
582
|
-
else if (typeof localInstance.cleanup === "function") await localInstance.cleanup();
|
|
583
|
-
else if (typeof localInstance.close === "function") await localInstance.close();
|
|
639
|
+
await this.destroyInstance(localInstance);
|
|
584
640
|
} catch (cleanupError) {
|
|
585
641
|
logger_default.debug("[CodexSDK] Error cleaning up local instance", { error: cleanupError });
|
|
586
642
|
}
|
|
@@ -590,4 +646,4 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
590
646
|
|
|
591
647
|
//#endregion
|
|
592
648
|
export { OpenAICodexSDKProvider };
|
|
593
|
-
//# sourceMappingURL=codex-sdk-
|
|
649
|
+
//# sourceMappingURL=codex-sdk-dSnGdgIp.js.map
|