promptfoo 0.120.26 → 0.121.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/drizzle/0023_wooden_mandrill.sql +2 -0
- package/dist/drizzle/meta/0023_snapshot.json +1496 -0
- package/dist/drizzle/meta/_journal.json +7 -0
- package/dist/src/{ListApp-D3DG0F8h.js → ListApp-Du7YVwj5.js} +2 -4
- package/dist/src/accounts-BgNJDBE6.js +206 -0
- package/dist/src/{accounts-BzEY8H3v.cjs → accounts-Bx-x3bmW.cjs} +99 -80
- package/dist/src/{accounts-DHHiXsy6.js → accounts-CMqkzrVf.js} +61 -36
- package/dist/src/{accounts-R3gfCR_g.js → accounts-xrUGFA6n.js} +60 -35
- package/dist/src/{agentic-utils-D6_gzOUF.js → agentic-utils-BKIN5PKu.js} +9 -10
- package/dist/src/{agents-CwM7re15.cjs → agents-B0f4HICh.cjs} +37 -40
- package/dist/src/{agents-Cnph5GLD.js → agents-C-dDThPK.js} +37 -37
- package/dist/src/{agents-C7BiinFI.cjs → agents-CErsqg5U.cjs} +19 -27
- package/dist/src/{agents-v4cW_ZgC.js → agents-CVIn-Utx.js} +19 -22
- package/dist/src/{agents-GiUianme.js → agents-CXknwsFX.js} +37 -40
- package/dist/src/{agents-DETIQHqF.js → agents-DeH4Gu94.js} +21 -28
- package/dist/src/{agents-DYIT-hQy.js → agents-Dy2YpZpa.js} +38 -41
- package/dist/src/{agents-Cao4i7AX.js → agents-aF4-T121.js} +19 -30
- package/dist/src/{aimlapi-DMF6v_vb.js → aimlapi-BAGZDo5G.js} +16 -18
- package/dist/src/{aimlapi-CMJpKK-B.js → aimlapi-BNfTBexL.js} +15 -17
- package/dist/src/{aimlapi-DtSf1ykJ.js → aimlapi-DHRKlBEA.js} +15 -4
- package/dist/src/{aimlapi-DoGLcQW_.cjs → aimlapi-tg0Gkcvr.cjs} +15 -16
- package/dist/src/app/assets/index-BFCZg7hQ.js +439 -0
- package/dist/src/app/assets/index-NCn4eVBv.css +1 -0
- package/dist/src/app/assets/{vendor-charts-CYyo8R8v.js → vendor-charts-CCl15Imd.js} +1 -1
- package/dist/src/app/assets/{vendor-markdown-DSmzq4Jh.js → vendor-markdown-0tekx3KX.js} +1 -1
- package/dist/src/app/index.html +4 -34
- package/dist/src/{audio-DUH4q0Xq.js → audio-BRODU0UK.js} +7 -9
- package/dist/src/{audio-BWjyvHn9.cjs → audio-BWeaWovU.cjs} +6 -7
- package/dist/src/{audio-U580w8jM.js → audio-CHQ4r-RV.js} +6 -5
- package/dist/src/{audio-BrJBFN2b.js → audio-tf_NBjlC.js} +6 -8
- package/dist/src/base-B0tcrnq_.js +193 -0
- package/dist/src/base-B4QJRyFS.js +194 -0
- package/dist/src/base-DBtwl2FR.cjs +222 -0
- package/dist/src/base-fEDN28WM.js +193 -0
- package/dist/src/{blobs-kt8v3UyH.js → blobs-BAU-dXan.js} +9 -12
- package/dist/src/{blobs-C9J2mVgo.js → blobs-Bpg5rH6i.js} +9 -12
- package/dist/src/{blobs-673H0jCl.cjs → blobs-DvS-O6be.cjs} +34 -37
- package/dist/src/blobs-qTYm-1PY.js +236 -0
- package/dist/src/{cache-BLLayYEN.js → cache-8XhNqPKW.js} +64 -67
- package/dist/src/cache-Bbn1Nyrd.cjs +5 -0
- package/dist/src/cache-BwsMSda7.js +6 -0
- package/dist/src/{cache-mIszOnuz.js → cache-CG0SlR1d.js} +64 -66
- package/dist/src/{cache-7xULbvt3.cjs → cache-COish3-W.cjs} +114 -117
- package/dist/src/cache-D3eqDYGU.js +739 -0
- package/dist/src/{chat-Fl6TZJRS.cjs → chat-2K608PeQ.cjs} +20 -21
- package/dist/src/chat-BKm79wib.js +764 -0
- package/dist/src/{chat-XPN9YHhr.js → chat-CM_kyI8B.js} +20 -9
- package/dist/src/{chat-DIywASPG.js → chat-CRWNNq73.js} +49 -49
- package/dist/src/{chat-C8Ei4f87.js → chat-CznLWr_D.js} +49 -49
- package/dist/src/{chat-CgyGj2hC.js → chat-DHMH-N64.js} +20 -22
- package/dist/src/{chat-C4zqjObh.cjs → chat-DaqekjFr.cjs} +69 -69
- package/dist/src/{chat-Cpz3O-Xl.js → chat-DxysjBvt.js} +21 -23
- package/dist/src/{chatkit-Dpxrq4eD.js → chatkit-65VXf5SR.js} +58 -58
- package/dist/src/{chatkit-DIrJX8xk.js → chatkit-Be-Q-a9F.js} +58 -60
- package/dist/src/{chatkit-DEls11hE.js → chatkit-BxFvW8KY.js} +58 -60
- package/dist/src/{chatkit-e25Ziu17.cjs → chatkit-DKyPi1Gs.cjs} +58 -60
- package/dist/src/chunk-DEq-mXcV.js +15 -0
- package/dist/src/chunk-DRamLcfz.js +16 -0
- package/dist/src/{claude-agent-sdk-6-xTaLwM.js → claude-agent-sdk-BLTu0WBO.js} +45 -31
- package/dist/src/{claude-agent-sdk-BzxF6NIJ.cjs → claude-agent-sdk-CJH22shf.cjs} +44 -29
- package/dist/src/{claude-agent-sdk-CmkTnKGH.js → claude-agent-sdk-D6_k9FKA.js} +45 -33
- package/dist/src/{claude-agent-sdk-rXCBLK_o.js → claude-agent-sdk-Dy5lT-Tx.js} +46 -21
- package/dist/src/{cloud-BMbRVJFw.js → cloud-Bc9526yV.js} +32 -12
- package/dist/src/cloud-DmE0EwsY.js +4 -0
- package/dist/src/{cloudflare-ai-CUg4BTcj.js → cloudflare-ai-C9r2sRhw.js} +16 -18
- package/dist/src/{cloudflare-ai-Z9X219gp.js → cloudflare-ai-CWWJCRim.js} +16 -4
- package/dist/src/{cloudflare-ai-BAQ0u_dg.cjs → cloudflare-ai-ClWSdor4.cjs} +16 -17
- package/dist/src/{cloudflare-ai-CobxMTR4.js → cloudflare-ai-ICsOuD-z.js} +17 -19
- package/dist/src/{cloudflare-gateway-C0sgfr_z.cjs → cloudflare-gateway-C2_-KG5o.cjs} +21 -22
- package/dist/src/{cloudflare-gateway-_itGuXry.js → cloudflare-gateway-D6O7AlYb.js} +23 -23
- package/dist/src/{cloudflare-gateway-D2_yi-Fh.js → cloudflare-gateway-D6xFc5pa.js} +21 -25
- package/dist/src/{cloudflare-gateway-Djf3F3_H.js → cloudflare-gateway-pXGHxJ47.js} +26 -14
- package/dist/src/{codex-sdk-ibXwdglL.js → codex-sdk-C6UMlxwV.js} +49 -32
- package/dist/src/{codex-sdk-BASDNkIl.js → codex-sdk-DUwKWezN.js} +49 -30
- package/dist/src/{codex-sdk-dSnGdgIp.js → codex-sdk-GGAw0qbD.js} +49 -32
- package/dist/src/{codex-sdk-wTEpMM_X.cjs → codex-sdk-fAO0c3yA.cjs} +49 -32
- package/dist/src/{cometapi-B01btbfb.js → cometapi-BasUi7-_.js} +17 -19
- package/dist/src/{cometapi-DHUAH6nK.js → cometapi-Bbjp5V4x.js} +16 -4
- package/dist/src/{cometapi-ChAaRjg5.js → cometapi-DkXrKi5z.js} +21 -24
- package/dist/src/{cometapi-JbvOJSCO.cjs → cometapi-vY6aDZgo.cjs} +21 -22
- package/dist/src/{completion-D9_MDlnd.js → completion-6Mx_iXxK.js} +11 -13
- package/dist/src/{completion-BBJ6zmG3.js → completion-C5rtR_9P.js} +11 -13
- package/dist/src/{completion-DDyL3Cb2.cjs → completion-CDOouNzq.cjs} +21 -23
- package/dist/src/completion-C_P3ypkJ.js +120 -0
- package/dist/src/createHash-CTQmL3G2.js +15 -0
- package/dist/src/createHash-CfZSc0b4.cjs +27 -0
- package/dist/src/createHash-Da8fMwqB.js +16 -0
- package/dist/src/createHash-DmPQkvBh.js +15 -0
- package/dist/src/{docker-JAAubMw3.js → docker-5KcG-_86.js} +18 -20
- package/dist/src/{docker-Ckw-j7Rr.cjs → docker-BwsKwxFs.cjs} +18 -19
- package/dist/src/{docker-vnOg96gi.js → docker-CZnqU1XV.js} +18 -7
- package/dist/src/{docker-BuButc4D.js → docker-DzxyDPIj.js} +19 -21
- package/dist/src/entrypoint.js +2 -3
- package/dist/src/{errors-DnGCbnx8.js → errors-P6ll7XSJ.js} +2 -2
- package/dist/src/{esm-CYhseqj4.js → esm-C03C-mv3.js} +17 -20
- package/dist/src/{esm-rDtG_2rg.js → esm-CaIwzWR5.js} +18 -21
- package/dist/src/esm-Cd1AjG1D.js +379 -0
- package/dist/src/{esm-BQkx5roy.cjs → esm-CnNt7sI4.cjs} +47 -49
- package/dist/src/eval-17JizQIv.js +15 -0
- package/dist/src/{eval-CYrbG57o.js → eval-DmFyWU7i.js} +49 -55
- package/dist/src/{evalResult-COsVttMA.js → evalResult-CDQiuUuf.js} +16 -12
- package/dist/src/{evalResult-6JaUIStC.js → evalResult-CTG2AHOS.js} +10 -11
- package/dist/src/evalResult-Cqj8pldJ.js +12 -0
- package/dist/src/{evalResult-DlRfu_Rq.cjs → evalResult-Dap2CekP.cjs} +20 -21
- package/dist/src/evalResult-DvcJAWJU.cjs +10 -0
- package/dist/src/evalResult-Hftn-S_i.js +10 -0
- package/dist/src/evaluator-B2CFNt-P.js +36 -0
- package/dist/src/{evaluator-3EJCMTs0.js → evaluator-DPFRbFIL.js} +210 -232
- package/dist/src/{extractor-LSYjrhK0.js → extractor-CFG6bcWJ.js} +23 -38
- package/dist/src/{extractor-DbhlYEeo.cjs → extractor-DX36oYEv.cjs} +37 -64
- package/dist/src/{extractor-Hs7la_19.js → extractor-M67RUtg6.js} +23 -38
- package/dist/src/extractor-YMU_Gvt8.js +374 -0
- package/dist/src/fetch-4M3YRaqL.js +780 -0
- package/dist/src/{fetch-18MuNu9i.js → fetch-60Gzydls.js} +60 -46
- package/dist/src/{fetch-SRsE6Ctl.js → fetch-BMv0O527.js} +41 -35
- package/dist/src/{fetch-ZMn_oemb.cjs → fetch-BxUk8odA.cjs} +268 -279
- package/dist/src/fetch-KV5kNASw.js +5 -0
- package/dist/src/{fileExtensions-ePDqouxn.js → fileExtensions-DnqA1y9x.js} +2 -2
- package/dist/src/{fileExtensions-BpuMmaFL.js → fileExtensions-Ds-foDzt.js} +2 -2
- package/dist/src/fileExtensions-LcDYkU4v.js +85 -0
- package/dist/src/{fileExtensions-DkJYkWUy.cjs → fileExtensions-bYh77CN8.cjs} +27 -28
- package/dist/src/{formatDuration-Doo0xq-z.js → formatDuration-DgBVMN65.js} +2 -2
- package/dist/src/{genaiTracer-Ce19n68P.js → genaiTracer-70Z8BIuV.js} +2 -3
- package/dist/src/{genaiTracer-CqNnnXrE.js → genaiTracer-C1rxGO8Q.js} +2 -3
- package/dist/src/genaiTracer-D3fD9dNV.js +256 -0
- package/dist/src/{genaiTracer-CQlpZkrp.cjs → genaiTracer-DN4dQywX.cjs} +13 -14
- package/dist/src/graders-Bu0H9nXi.js +32 -0
- package/dist/src/{graders-BaMCwIKp.js → graders-CHO8EPM4.js} +385 -417
- package/dist/src/graders-Cfhkvx-e.js +34 -0
- package/dist/src/{graders-QsALpIdy.js → graders-CpdqD9PI.js} +385 -417
- package/dist/src/graders-DClJVpGP.cjs +32 -0
- package/dist/src/{graders-DzUUnUjC.cjs → graders-DOXycdlG.cjs} +721 -753
- package/dist/src/graders-DcnJsrMO.js +32 -0
- package/dist/src/graders-R9rYUM0d.js +13466 -0
- package/dist/src/{image-BiEVdpdP.js → image-BmEZqVmk.js} +57 -18
- package/dist/src/{image-mhAGP07h.js → image-CBBVXWuT.js} +57 -18
- package/dist/src/{image-D10zEe1f.cjs → image-CDLQOcqT.cjs} +6 -7
- package/dist/src/{image-COCWy5dX.js → image-DJEvKveK.js} +6 -5
- package/dist/src/{image-C3BjJUAU.cjs → image-DTedmQPg.cjs} +77 -32
- package/dist/src/{image-DB4sHxdJ.js → image-gvmivTEe.js} +7 -9
- package/dist/src/image-pAX56tPG.js +257 -0
- package/dist/src/{image-BXt_7u0v.js → image-tL5hIOFh.js} +6 -8
- package/dist/src/index.cjs +696 -693
- package/dist/src/index.d.cts +113 -10
- package/dist/src/index.d.ts +113 -6
- package/dist/src/index.js +657 -658
- package/dist/src/{interactiveCheck-DU-MAhp5.js → interactiveCheck-BgLZUIt3.js} +7 -8
- package/dist/src/{invariant-DT20jrBd.js → invariant-BtWWVVhl.js} +2 -2
- package/dist/src/{invariant-1pAf2CD1.js → invariant-Ddh24eXh.js} +2 -2
- package/dist/src/{invariant-CKcJAQ6M.cjs → invariant-kfQ8Bu82.cjs} +7 -8
- package/dist/src/invariant-vgHWClmd.js +25 -0
- package/dist/src/{knowledgeBase-DotRBzUE.js → knowledgeBase-CLJybhnF.js} +19 -34
- package/dist/src/{knowledgeBase-XJQ0Qyez.js → knowledgeBase-CoU-UQBg.js} +17 -41
- package/dist/src/{knowledgeBase-CMvMlLZR.js → knowledgeBase-DjWPVqSb.js} +17 -43
- package/dist/src/{knowledgeBase-Bnb00xKs.cjs → knowledgeBase-wkxuRFhA.cjs} +17 -40
- package/dist/src/{litellm-CHrRmPAe.js → litellm-B9Hysuri.js} +16 -18
- package/dist/src/{litellm-CrLJrPIm.js → litellm-CTfa0hqi.js} +15 -17
- package/dist/src/{litellm-BrnZhMcL.cjs → litellm-NYpQ8RQu.cjs} +15 -16
- package/dist/src/{litellm-BECdjOTx.js → litellm-ePxtr9F1.js} +15 -4
- package/dist/src/{logger-w8Ozp0Td.js → logger-CT3IKMKA.js} +24 -41
- package/dist/src/{logger-BdZ-IqBc.cjs → logger-Cp1GPUjj.cjs} +166 -192
- package/dist/src/logger-DLcq4dWf.js +713 -0
- package/dist/src/{logger-BotXmWKW.js → logger-KkObSCzq.js} +27 -43
- package/dist/src/{luma-ray-C0RkI3lt.cjs → luma-ray-B0GGNRc1.cjs} +20 -21
- package/dist/src/{luma-ray-C-w6EsJm.js → luma-ray-BE2mOt6N.js} +20 -13
- package/dist/src/{luma-ray-BOeX-h0M.js → luma-ray-BW9IRGIc.js} +22 -21
- package/dist/src/{luma-ray-DgKLS0BF.js → luma-ray-Cm1KZBhs.js} +20 -23
- package/dist/src/main.js +1985 -2055
- package/dist/src/{messages-DXV3Qh8_.cjs → messages-1JrJs91T.cjs} +35 -34
- package/dist/src/{messages-D61tPFQo.js → messages-1x9atZmP.js} +25 -24
- package/dist/src/{messages-CDZYGNlS.js → messages-BLbWdsyt.js} +25 -24
- package/dist/src/messages-D8EA0oDc.js +240 -0
- package/dist/src/{meteor-P2rUE-Uz.js → meteor-44VjEACX.js} +3 -4
- package/dist/src/{meteor-SLNTgmXm.js → meteor-D-SotUw9.js} +3 -4
- package/dist/src/{meteor-odmwVbyG.cjs → meteor-DLZZ3osF.cjs} +3 -4
- package/dist/src/{meteor-Dj8cTkU_.js → meteor-DUiCJRC-.js} +3 -4
- package/dist/src/modelslab-C1OLRmVX.js +166 -0
- package/dist/src/modelslab-CqXBy3U8.js +168 -0
- package/dist/src/modelslab-DcOSFwKh.cjs +166 -0
- package/dist/src/modelslab-X5-4LroM.js +166 -0
- package/dist/src/{nova-reel-C2LFfVTf.js → nova-reel-BgS1ZWuK.js} +20 -13
- package/dist/src/{nova-reel-DtCjbD5O.js → nova-reel-D2ZkOSyr.js} +22 -21
- package/dist/src/{nova-reel-D9FXq3Mt.cjs → nova-reel-D9xfaMBs.cjs} +20 -21
- package/dist/src/{nova-reel-Bk5npr2q.js → nova-reel-DihqLeol.js} +20 -23
- package/dist/src/{nova-sonic-BoRSY_U6.cjs → nova-sonic-DVu3mMIy.cjs} +30 -31
- package/dist/src/{nova-sonic-D_qERM-K.js → nova-sonic-DezhVUYT.js} +30 -26
- package/dist/src/{nova-sonic-CgaWLDM1.js → nova-sonic-P-CdUMlV.js} +30 -31
- package/dist/src/{nova-sonic-BXRfQyF-.js → nova-sonic-Q3BOJeig.js} +31 -32
- package/dist/src/{openai-Bigwjgo1.cjs → openai-Cuif0GEt.cjs} +8 -9
- package/dist/src/{openai-Dz3surb_.js → openai-DElQ-fPX.js} +3 -4
- package/dist/src/{openai-CT5fwbve.js → openai-DhbB7eWK.js} +3 -4
- package/dist/src/openai-j-sE2O7r.js +44 -0
- package/dist/src/{openclaw-dHLcXUWZ.js → openclaw-BiSZPL7J.js} +20 -14
- package/dist/src/{openclaw-CpPrXwf6.js → openclaw-Bv1DINsX.js} +20 -27
- package/dist/src/{openclaw-B6XY2kUf.js → openclaw-D1D_ej1z.js} +21 -28
- package/dist/src/{openclaw-DDSfq5fp.cjs → openclaw-DAfWQn-o.cjs} +33 -39
- package/dist/src/opencode-sdk-C7m-wRfI.js +560 -0
- package/dist/src/opencode-sdk-CfaLN8PY.cjs +564 -0
- package/dist/src/opencode-sdk-D95s6SnR.js +562 -0
- package/dist/src/opencode-sdk-DxUPkLT7.js +560 -0
- package/dist/src/{otlpReceiver-DmRb0NBj.js → otlpReceiver--AIRW_S4.js} +53 -51
- package/dist/src/{otlpReceiver-Dg817agV.js → otlpReceiver-Bn5wGB1v.js} +53 -55
- package/dist/src/{otlpReceiver-B6Xo4KZM.cjs → otlpReceiver-Diec4cln.cjs} +53 -55
- package/dist/src/{otlpReceiver-BO0rbDzh.js → otlpReceiver-g3ByGaXs.js} +53 -55
- package/dist/src/{providerRegistry-Xf0qdqGQ.js → providerRegistry-B0RUOLI_.js} +7 -8
- package/dist/src/{providerRegistry-wCWd7sKQ.js → providerRegistry-CD8MEar9.js} +7 -8
- package/dist/src/{providerRegistry-lc7a7utN.cjs → providerRegistry-Civky8Ar.cjs} +12 -13
- package/dist/src/providerRegistry-DM8rZYol.js +45 -0
- package/dist/src/providers-B3HvufyI.js +33246 -0
- package/dist/src/{providers-BiNq_Iyc.js → providers-BKRJTjBz.js} +1743 -1795
- package/dist/src/providers-C1rOSHiR.js +32 -0
- package/dist/src/{providers-BlEhY5mi.js → providers-CFLy1_ji.js} +1750 -1802
- package/dist/src/{providers-BNKVY53V.cjs → providers-CFu-TZl-.cjs} +2111 -2163
- package/dist/src/providers-CxmDwEFf.cjs +31 -0
- package/dist/src/providers-Dodakqr0.js +30 -0
- package/dist/src/providers-GIQ2TcsA.js +30 -0
- package/dist/src/{pythonUtils-r1uBuA0n.js → pythonUtils-C3py6GC1.js} +18 -19
- package/dist/src/{pythonUtils-DZ6EbdY4.cjs → pythonUtils-CTU3Y3lw.cjs} +42 -43
- package/dist/src/{pythonUtils-vMlk9Qp5.js → pythonUtils-D5nxkQ0P.js} +18 -19
- package/dist/src/pythonUtils-D6fwaDSg.js +249 -0
- package/dist/src/quiverai-C2jVwbH1.js +213 -0
- package/dist/src/quiverai-CI6gYJVI.js +213 -0
- package/dist/src/quiverai-CLkWkyZc.cjs +213 -0
- package/dist/src/quiverai-MHSxbmmZ.js +215 -0
- package/dist/src/{render-CAZvKKkB.js → render-Drod8m7K.js} +4 -5
- package/dist/src/{responses-DLLjADw5.js → responses-BKqJmhhc.js} +34 -27
- package/dist/src/{responses-TsdODUpm.js → responses-CGw0DCzh.js} +34 -27
- package/dist/src/responses-jxdehPkC.js +660 -0
- package/dist/src/{responses-zOtKtnY_.cjs → responses-tD4Bd4dc.cjs} +49 -42
- package/dist/src/rubyUtils-BUHu6PhO.js +5 -0
- package/dist/src/{rubyUtils-Cs35SDYa.js → rubyUtils-BUVePouc.js} +27 -20
- package/dist/src/rubyUtils-BcuGX77l.js +222 -0
- package/dist/src/{rubyUtils-BtjlqyXt.js → rubyUtils-Boc4HZzX.js} +18 -19
- package/dist/src/rubyUtils-CP42kMvq.cjs +4 -0
- package/dist/src/{rubyUtils-DCVaJ3mc.cjs → rubyUtils-DhCAlxZr.cjs} +48 -50
- package/dist/src/{sagemaker-Du4LIR97.js → sagemaker-BK4Zb993.js} +75 -70
- package/dist/src/{sagemaker-CLdUAv5z.js → sagemaker-BfiWTmvn.js} +77 -77
- package/dist/src/{sagemaker-DwNnEVYt.cjs → sagemaker-CcQHM1jV.cjs} +75 -76
- package/dist/src/{sagemaker-BcgLu0U4.js → sagemaker-D2Q1c-sD.js} +75 -79
- package/dist/src/{scanner-Dyw21Wg_.js → scanner-J8CA3LsV.js} +149 -122
- package/dist/src/server/index.js +5620 -67302
- package/dist/src/{server-CgUQ25qW.cjs → server-B0PPuDw-.cjs} +57 -67
- package/dist/src/server-B1vi21hA.js +7 -0
- package/dist/src/{server-CbMTRQkg.js → server-BC7XJFgr.js} +19 -24
- package/dist/src/server-Cm9Kai_h.cjs +5 -0
- package/dist/src/{server-DWmZLfCy.js → server-DbFphssR.js} +26 -29
- package/dist/src/server-OAs3nBRT.js +229 -0
- package/dist/src/{signal-Bl32q42d.js → signal-BOTbd53Z.js} +9 -11
- package/dist/src/{slack-BtMkB6xP.cjs → slack-BmVAVGaK.cjs} +7 -8
- package/dist/src/{slack-OZYxoVON.js → slack-DCUPTzS2.js} +8 -8
- package/dist/src/{slack-DPqj42Ts.js → slack-DOdy_kyv.js} +7 -8
- package/dist/src/{slack-BfdBx2tO.js → slack-DXMKtA-f.js} +7 -9
- package/dist/src/store-BNmZ1KAz.cjs +5 -0
- package/dist/src/{store-BqwfFEyF.cjs → store-BSc-TF2w.cjs} +44 -45
- package/dist/src/store-BltJg2cd.js +6 -0
- package/dist/src/{store-D4gdn9ih.js → store-D1tv90v3.js} +34 -35
- package/dist/src/{store-2ocbYY9D.js → store-DQLEjuEO.js} +40 -36
- package/dist/src/store-Ub2vaGJ1.js +228 -0
- package/dist/src/{tables-D-NSwNIb.js → tables-5EvT_Bwn.js} +23 -23
- package/dist/src/{tables-B9E1kRp-.cjs → tables-C7K-XKWp.cjs} +93 -93
- package/dist/src/{tables-C7TT2XVn.js → tables-D36WTqKX.js} +25 -25
- package/dist/src/tables-xKANLRBD.js +288 -0
- package/dist/src/telemetry-5BCRNBbe.cjs +5 -0
- package/dist/src/{telemetry-DZ_7PaVq.js → telemetry-C15ziL8u.js} +17 -14
- package/dist/src/{telemetry-BXyVqyAg.js → telemetry-C2YDkUQH.js} +11 -13
- package/dist/src/{telemetry-D0_yFdtU.cjs → telemetry-CbrnxHp_.cjs} +21 -24
- package/dist/src/telemetry-D4W5hboe.js +7 -0
- package/dist/src/telemetry-DMb2Mpfm.js +171 -0
- package/dist/src/{text-Dm78AVGG.js → text-B_UCRPp2.js} +2 -2
- package/dist/src/{text-DF2hMKdg.cjs → text-CW1cyrwj.cjs} +12 -13
- package/dist/src/{text-DgMr_tiM.js → text-Db-Wt2u2.js} +2 -2
- package/dist/src/text-TIv0QYnd.js +22 -0
- package/dist/src/{tokenUsageUtils-FZd5O_4A.js → tokenUsageUtils-BDGe-iyI.js} +2 -2
- package/dist/src/{tokenUsageUtils-DmZSD2eU.js → tokenUsageUtils-DflFMjS0.js} +2 -2
- package/dist/src/tokenUsageUtils-NYT-WKS6.js +138 -0
- package/dist/src/{tokenUsageUtils-CXhxVj72.cjs → tokenUsageUtils-bVa1ga6f.cjs} +32 -33
- package/dist/src/{transcription-FNIz3YOe.cjs → transcription-CL78qbOU.cjs} +14 -15
- package/dist/src/{transcription-C-M81iDA.js → transcription-DAtxHhAM.js} +14 -7
- package/dist/src/{transcription-CYuY5sFO.js → transcription-LNZTNUUL.js} +14 -16
- package/dist/src/{transcription-Ch7S-LWw.js → transcription-QHh3AH6Z.js} +15 -17
- package/dist/src/{transform-CoP2bJ7P.js → transform-Cgi24fJ7.js} +94 -66
- package/dist/src/{transform-Kd6u-oNm.cjs → transform-CzK1Q0zl.cjs} +24 -26
- package/dist/src/{transform-D8dILpfZ.js → transform-DECvGmzp.js} +15 -13
- package/dist/src/{transform-DMaxQwDx.js → transform-DGLazrMm.js} +94 -66
- package/dist/src/transform-DGxXocjk.js +1506 -0
- package/dist/src/{transform-ivxEY4f7.cjs → transform-DOcQeLld.cjs} +234 -206
- package/dist/src/transform-DTGDnAzW.js +6 -0
- package/dist/src/{transform-CqTFr7KR.js → transform-DilY9wbS.js} +10 -12
- package/dist/src/transform-aa6tmVpZ.js +216 -0
- package/dist/src/transform-m3qNw4KP.cjs +5 -0
- package/dist/src/{transformersAvailability-DEU2naS1.js → transformersAvailability-CEVM2GNQ.js} +2 -2
- package/dist/src/{transformersAvailability-Bkep3ka7.cjs → transformersAvailability-CwayUSlh.cjs} +2 -3
- package/dist/src/{transformersAvailability-DwmezkVe.js → transformersAvailability-D6c6ROpT.js} +2 -2
- package/dist/src/{types-t52w-XsS.js → types-CH3Ge2sE.js} +103 -92
- package/dist/src/{types-DMVjYLpx.js → types-CLKiCBW3.js} +98 -91
- package/dist/src/types-CN_TZ2GJ.js +3260 -0
- package/dist/src/{types-BIfttHrT.cjs → types-LJ0r3wbR.cjs} +573 -566
- package/dist/src/util-5cB-L7U3.js +1430 -0
- package/dist/src/util-6-GqIvzS.js +599 -0
- package/dist/src/{util-vjscpUzy.js → util-B7T3SiBS.js} +5 -6
- package/dist/src/{util-Cl0zfT3V.js → util-Betm42rL.js} +44 -17
- package/dist/src/{util-CUEt0Vum.js → util-C-PPYSMq.js} +44 -17
- package/dist/src/{util-DkFTvieG.cjs → util-CchiqXh_.cjs} +35 -36
- package/dist/src/{util-mJ58qbbw.js → util-DaWTWKBK.js} +5 -6
- package/dist/src/{util-C08Kns6-.cjs → util-Db0a0AFH.cjs} +89 -62
- package/dist/src/{util-DiCePfDu.js → util-Dlz_Wvgm.js} +102 -53
- package/dist/src/{util-BSh4a_Q8.js → util-YT5HPZaS.js} +102 -53
- package/dist/src/{util-DUYOvxAy.cjs → util-Yz-1aEhW.cjs} +274 -219
- package/dist/src/util-ZZH-3QZz.js +293 -0
- package/dist/src/{utils-DFaZa6Rf.cjs → utils-Cz9qXqII.cjs} +32 -35
- package/dist/src/{utils-CVzb4YiI.js → utils-XiOAgly5.js} +4 -7
- package/dist/src/utils-dLokC-eR.js +94 -0
- package/dist/src/{utils-JaY9veb5.js → utils-f2-Moju7.js} +4 -7
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +59 -53
- package/dist/src/app/assets/index-BOgkICuY.css +0 -1
- package/dist/src/app/assets/index-CSgqn_Vd.js +0 -428
- package/dist/src/app/tsconfig.app.tsbuildinfo +0 -1
- package/dist/src/base-BaXmtXYp.js +0 -107
- package/dist/src/base-Dtp8b4_N.js +0 -106
- package/dist/src/base-f71xxWai.cjs +0 -111
- package/dist/src/cache-BUPcq0Ad.js +0 -6
- package/dist/src/cache-CVfRb-HD.cjs +0 -6
- package/dist/src/cache-O4EuX2JV.js +0 -8
- package/dist/src/chunk-DHDDz29n.js +0 -22
- package/dist/src/chunk-FhC4c-0y.js +0 -21
- package/dist/src/cloud-CZ4hytdm.js +0 -5
- package/dist/src/eval-CKHWqG9f.js +0 -16
- package/dist/src/evalResult-CxTP-LMm.cjs +0 -11
- package/dist/src/evalResult-CzLURDcP.js +0 -13
- package/dist/src/evalResult-DyttNQ_G.js +0 -11
- package/dist/src/evaluator-0PvfeBYh.js +0 -38
- package/dist/src/fetch-Bi0o-fdp.js +0 -4
- package/dist/src/fetch-CMptBDVg.cjs +0 -4
- package/dist/src/fetch-DAZkv3gV.js +0 -6
- package/dist/src/graders-BCytzXrb.js +0 -34
- package/dist/src/graders-CGZQShfJ.cjs +0 -33
- package/dist/src/graders-spkuVC-E.js +0 -36
- package/dist/src/opencode-sdk-CImWVqy9.js +0 -382
- package/dist/src/opencode-sdk-CuCztr4P.js +0 -380
- package/dist/src/opencode-sdk-DhcfRbBH.js +0 -376
- package/dist/src/opencode-sdk-mqF-Oj3f.cjs +0 -383
- package/dist/src/providers-BMZZmPBJ.cjs +0 -32
- package/dist/src/providers-CQQrNaJk.js +0 -32
- package/dist/src/providers-Ck8HyrC-.js +0 -34
- package/dist/src/quiverai-BNfIwKCO.cjs +0 -54
- package/dist/src/quiverai-BQigKdIH.js +0 -57
- package/dist/src/quiverai-Bfy2WnE2.js +0 -55
- package/dist/src/quiverai-CedIP0PJ.js +0 -43
- package/dist/src/rubyUtils-D7--T12C.js +0 -6
- package/dist/src/rubyUtils-DRRiMFV2.js +0 -5
- package/dist/src/rubyUtils-vb8OYFC-.cjs +0 -5
- package/dist/src/server-BUbS0Qfh.js +0 -6
- package/dist/src/server-XpGXFHkS.cjs +0 -6
- package/dist/src/server-gfOx5Zrk.js +0 -8
- package/dist/src/store-5u2yriTV.js +0 -7
- package/dist/src/store-D_lq_8oQ.js +0 -6
- package/dist/src/store-m5KT6Ly7.cjs +0 -6
- package/dist/src/telemetry-5RHFoCJh.js +0 -6
- package/dist/src/telemetry-Do8wMnA-.js +0 -8
- package/dist/src/telemetry-LojxPoFq.cjs +0 -6
- package/dist/src/transform-8eGmaH-7.js +0 -7
- package/dist/src/transform-BRVvWaG4.cjs +0 -6
- package/dist/src/transform-GybT0X0u.js +0 -8
- package/dist/src/transformersAvailability-DkAWaK5B.js +0 -35
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { b as getEnvString, i as
|
|
2
|
-
import { i as resolvePackageEntryPoint, r as importModule } from "./esm-
|
|
3
|
-
import { n as withGenAISpan, t as getTraceparent } from "./genaiTracer-
|
|
1
|
+
import { b as getEnvString, i as logger, w as state } from "./logger-CT3IKMKA.js";
|
|
2
|
+
import { i as resolvePackageEntryPoint, r as importModule } from "./esm-Cd1AjG1D.js";
|
|
3
|
+
import { n as withGenAISpan, t as getTraceparent } from "./genaiTracer-D3fD9dNV.js";
|
|
4
4
|
import fs from "fs";
|
|
5
5
|
import path from "path";
|
|
6
6
|
import dedent from "dedent";
|
|
7
7
|
import crypto from "crypto";
|
|
8
8
|
import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
|
9
|
-
|
|
10
9
|
//#region src/providers/openai/codex-sdk.ts
|
|
11
10
|
/**
|
|
12
11
|
* Helper to load the OpenAI Codex SDK ESM module
|
|
13
12
|
* Uses resolvePackageEntryPoint to handle ESM-only packages with restrictive exports
|
|
14
13
|
*/
|
|
15
14
|
async function loadCodexSDK() {
|
|
16
|
-
const codexPath = resolvePackageEntryPoint("@openai/codex-sdk",
|
|
15
|
+
const codexPath = resolvePackageEntryPoint("@openai/codex-sdk", state.basePath && path.isAbsolute(state.basePath) ? state.basePath : process.cwd());
|
|
17
16
|
if (!codexPath) throw new Error(dedent`The @openai/codex-sdk package is required but not installed.
|
|
18
17
|
|
|
19
18
|
To use the OpenAI Codex SDK provider, install it with:
|
|
@@ -25,8 +24,8 @@ async function loadCodexSDK() {
|
|
|
25
24
|
try {
|
|
26
25
|
return await importModule(codexPath);
|
|
27
26
|
} catch (err) {
|
|
28
|
-
|
|
29
|
-
if (err.stack)
|
|
27
|
+
logger.error(`Failed to load OpenAI Codex SDK: ${err}`);
|
|
28
|
+
if (err.stack) logger.error(err.stack);
|
|
30
29
|
throw new Error(dedent`Failed to load @openai/codex-sdk.
|
|
31
30
|
|
|
32
31
|
The package was found but could not be loaded. This may be due to:
|
|
@@ -40,6 +39,16 @@ async function loadCodexSDK() {
|
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
41
|
const CODEX_MODEL_PRICING = {
|
|
42
|
+
"gpt-5.4": {
|
|
43
|
+
input: 2.5,
|
|
44
|
+
output: 15,
|
|
45
|
+
cache_read: .25
|
|
46
|
+
},
|
|
47
|
+
"gpt-5.4-pro": {
|
|
48
|
+
input: 30,
|
|
49
|
+
output: 180,
|
|
50
|
+
cache_read: 30
|
|
51
|
+
},
|
|
43
52
|
"gpt-5.3-codex": {
|
|
44
53
|
input: 1.75,
|
|
45
54
|
output: 14,
|
|
@@ -51,9 +60,14 @@ const CODEX_MODEL_PRICING = {
|
|
|
51
60
|
cache_read: .05
|
|
52
61
|
},
|
|
53
62
|
"gpt-5.2": {
|
|
54
|
-
input:
|
|
55
|
-
output:
|
|
56
|
-
cache_read: .
|
|
63
|
+
input: 1.75,
|
|
64
|
+
output: 14,
|
|
65
|
+
cache_read: .175
|
|
66
|
+
},
|
|
67
|
+
"gpt-5.2-codex": {
|
|
68
|
+
input: 1.75,
|
|
69
|
+
output: 14,
|
|
70
|
+
cache_read: .175
|
|
57
71
|
},
|
|
58
72
|
"gpt-5.1-codex": {
|
|
59
73
|
input: 2,
|
|
@@ -88,9 +102,12 @@ const CODEX_MODEL_PRICING = {
|
|
|
88
102
|
};
|
|
89
103
|
var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
90
104
|
static OPENAI_MODELS = [
|
|
105
|
+
"gpt-5.4",
|
|
106
|
+
"gpt-5.4-pro",
|
|
91
107
|
"gpt-5.3-codex",
|
|
92
108
|
"gpt-5.3-codex-spark",
|
|
93
109
|
"gpt-5.2",
|
|
110
|
+
"gpt-5.2-codex",
|
|
94
111
|
"gpt-5.1-codex",
|
|
95
112
|
"gpt-5.1-codex-max",
|
|
96
113
|
"gpt-5.1-codex-mini",
|
|
@@ -113,7 +130,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
113
130
|
this.env = env;
|
|
114
131
|
this.apiKey = this.getApiKey();
|
|
115
132
|
this.providerId = id ?? this.providerId;
|
|
116
|
-
if (this.config.model && !OpenAICodexSDKProvider.OPENAI_MODELS.includes(this.config.model))
|
|
133
|
+
if (this.config.model && !OpenAICodexSDKProvider.OPENAI_MODELS.includes(this.config.model)) logger.warn(`Using unknown model for OpenAI Codex SDK: ${this.config.model}`);
|
|
117
134
|
}
|
|
118
135
|
id() {
|
|
119
136
|
return this.providerId;
|
|
@@ -139,7 +156,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
139
156
|
try {
|
|
140
157
|
await this.destroyInstance(this.codexInstance);
|
|
141
158
|
} catch (error) {
|
|
142
|
-
|
|
159
|
+
logger.warn("[CodexSDK] Error during cleanup", { error });
|
|
143
160
|
}
|
|
144
161
|
this.codexInstance = void 0;
|
|
145
162
|
this.codexInstanceEnvHash = void 0;
|
|
@@ -163,7 +180,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
163
180
|
if (!sortedEnv.OTEL_SERVICE_NAME) sortedEnv.OTEL_SERVICE_NAME = "codex-cli";
|
|
164
181
|
if (!sortedEnv.OTEL_TRACES_EXPORTER) sortedEnv.OTEL_TRACES_EXPORTER = "otlp";
|
|
165
182
|
if (traceparent) sortedEnv.TRACEPARENT = traceparent;
|
|
166
|
-
|
|
183
|
+
logger.debug("[CodexSDK] Injecting OTEL config for deep tracing", {
|
|
167
184
|
traceparent: traceparent || "(none - CLI will start own trace)",
|
|
168
185
|
endpoint: sortedEnv.OTEL_EXPORTER_OTLP_ENDPOINT,
|
|
169
186
|
userConfigured: {
|
|
@@ -268,11 +285,11 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
268
285
|
case "item.started": {
|
|
269
286
|
const item = event.item;
|
|
270
287
|
if (!item) {
|
|
271
|
-
|
|
288
|
+
logger.warn("Codex item.started event missing item", { event });
|
|
272
289
|
break;
|
|
273
290
|
}
|
|
274
291
|
if (!item.id) {
|
|
275
|
-
|
|
292
|
+
logger.debug("Codex item.started without id, will create span at completion", { type: item.type });
|
|
276
293
|
break;
|
|
277
294
|
}
|
|
278
295
|
const itemId = String(item.id);
|
|
@@ -287,7 +304,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
287
304
|
});
|
|
288
305
|
activeSpans.set(itemId, span);
|
|
289
306
|
itemStartTimes.set(itemId, eventTime);
|
|
290
|
-
|
|
307
|
+
logger.debug("Codex item started", {
|
|
291
308
|
itemId,
|
|
292
309
|
type: item.type
|
|
293
310
|
});
|
|
@@ -296,7 +313,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
296
313
|
case "item.completed": {
|
|
297
314
|
const item = event.item;
|
|
298
315
|
if (!item) {
|
|
299
|
-
|
|
316
|
+
logger.warn("Codex item.completed event missing item", { event });
|
|
300
317
|
break;
|
|
301
318
|
}
|
|
302
319
|
const itemId = item.id ? String(item.id) : crypto.randomUUID();
|
|
@@ -337,7 +354,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
337
354
|
span.end();
|
|
338
355
|
activeSpans.delete(itemId);
|
|
339
356
|
itemStartTimes.delete(itemId);
|
|
340
|
-
|
|
357
|
+
logger.debug("Codex item completed", {
|
|
341
358
|
itemId,
|
|
342
359
|
type: item.type,
|
|
343
360
|
durationMs
|
|
@@ -354,7 +371,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
354
371
|
for (const [key, value] of Object.entries(updatedAttrs)) span.setAttribute(key, value);
|
|
355
372
|
}
|
|
356
373
|
}
|
|
357
|
-
|
|
374
|
+
logger.debug("Codex item updated", {
|
|
358
375
|
itemId: item?.id,
|
|
359
376
|
type: item?.type
|
|
360
377
|
});
|
|
@@ -362,20 +379,20 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
362
379
|
}
|
|
363
380
|
case "turn.completed":
|
|
364
381
|
usage = event.usage;
|
|
365
|
-
|
|
382
|
+
logger.debug("Codex turn completed", { usage });
|
|
366
383
|
break;
|
|
367
384
|
case "turn.failed": {
|
|
368
385
|
const errorMsg = event.error?.message || "Turn failed";
|
|
369
|
-
|
|
386
|
+
logger.error("Codex turn failed", { error: errorMsg });
|
|
370
387
|
throw new Error(`Codex turn failed: ${errorMsg}`);
|
|
371
388
|
}
|
|
372
|
-
default:
|
|
389
|
+
default: logger.debug("Codex unknown event type", { type: event.type });
|
|
373
390
|
}
|
|
374
391
|
lastEventTime = eventTime;
|
|
375
392
|
}
|
|
376
393
|
} finally {
|
|
377
394
|
for (const [itemId, span] of activeSpans) {
|
|
378
|
-
|
|
395
|
+
logger.warn("Codex item span not properly closed", { itemId });
|
|
379
396
|
span.setStatus({
|
|
380
397
|
code: SpanStatusCode.ERROR,
|
|
381
398
|
message: "Span not properly closed"
|
|
@@ -562,7 +579,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
562
579
|
const useLocalInstance = config.deep_tracing;
|
|
563
580
|
if (useLocalInstance) {
|
|
564
581
|
if ((config.persist_threads || config.thread_id || (config.thread_pool_size ?? 0) > 1) && !this.deepTracingWarningShown) {
|
|
565
|
-
|
|
582
|
+
logger.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.");
|
|
566
583
|
this.deepTracingWarningShown = true;
|
|
567
584
|
}
|
|
568
585
|
localInstance = new this.codexModule.Codex(this.buildCodexOptions(env, config));
|
|
@@ -573,11 +590,11 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
573
590
|
const envChanged = this.codexInstanceEnvHash !== envHash;
|
|
574
591
|
if (!this.codexInstance || envChanged) {
|
|
575
592
|
if (envChanged && this.codexInstance) {
|
|
576
|
-
|
|
593
|
+
logger.debug("[CodexSDK] Recreating instance due to configuration change");
|
|
577
594
|
try {
|
|
578
595
|
await this.destroyInstance(this.codexInstance);
|
|
579
596
|
} catch (cleanupError) {
|
|
580
|
-
|
|
597
|
+
logger.warn("[CodexSDK] Error cleaning up old instance", { error: cleanupError });
|
|
581
598
|
}
|
|
582
599
|
this.threads.clear();
|
|
583
600
|
}
|
|
@@ -613,7 +630,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
613
630
|
cost = inputCost + cacheReadCost + outputCost;
|
|
614
631
|
}
|
|
615
632
|
}
|
|
616
|
-
|
|
633
|
+
logger.debug("OpenAI Codex SDK response", {
|
|
617
634
|
output,
|
|
618
635
|
usage: turn.usage
|
|
619
636
|
});
|
|
@@ -626,23 +643,23 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
626
643
|
};
|
|
627
644
|
} catch (error) {
|
|
628
645
|
if (error instanceof Error && error.name === "AbortError" || callOptions?.abortSignal?.aborted) {
|
|
629
|
-
|
|
646
|
+
logger.warn("OpenAI Codex SDK call aborted");
|
|
630
647
|
return { error: "OpenAI Codex SDK call aborted" };
|
|
631
648
|
}
|
|
632
649
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
633
|
-
|
|
650
|
+
logger.error("Error calling OpenAI Codex SDK", { error: errorMessage });
|
|
634
651
|
return { error: `Error calling OpenAI Codex SDK: ${errorMessage}` };
|
|
635
652
|
} finally {
|
|
636
653
|
if (!config.deep_tracing && !config.persist_threads && !config.thread_id && cacheKey) this.threads.delete(cacheKey);
|
|
637
654
|
if (useLocalInstance && localInstance) try {
|
|
638
655
|
await this.destroyInstance(localInstance);
|
|
639
656
|
} catch (cleanupError) {
|
|
640
|
-
|
|
657
|
+
logger.debug("[CodexSDK] Error cleaning up local instance", { error: cleanupError });
|
|
641
658
|
}
|
|
642
659
|
}
|
|
643
660
|
}
|
|
644
661
|
};
|
|
645
|
-
|
|
646
662
|
//#endregion
|
|
647
663
|
export { OpenAICodexSDKProvider };
|
|
648
|
-
|
|
664
|
+
|
|
665
|
+
//# sourceMappingURL=codex-sdk-C6UMlxwV.js.map
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { b as getEnvString, i as logger, w as state } from "./logger-DLcq4dWf.js";
|
|
2
|
+
import { i as resolvePackageEntryPoint, r as importModule } from "./esm-CaIwzWR5.js";
|
|
3
|
+
import { n as withGenAISpan, t as getTraceparent } from "./genaiTracer-70Z8BIuV.js";
|
|
2
4
|
import fs from "fs";
|
|
3
5
|
import path from "path";
|
|
4
6
|
import dedent from "dedent";
|
|
5
7
|
import crypto from "crypto";
|
|
6
8
|
import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
|
7
|
-
|
|
8
9
|
//#region src/providers/openai/codex-sdk.ts
|
|
9
10
|
/**
|
|
10
11
|
* Helper to load the OpenAI Codex SDK ESM module
|
|
11
12
|
* Uses resolvePackageEntryPoint to handle ESM-only packages with restrictive exports
|
|
12
13
|
*/
|
|
13
14
|
async function loadCodexSDK() {
|
|
14
|
-
const codexPath = resolvePackageEntryPoint("@openai/codex-sdk",
|
|
15
|
+
const codexPath = resolvePackageEntryPoint("@openai/codex-sdk", state.basePath && path.isAbsolute(state.basePath) ? state.basePath : process.cwd());
|
|
15
16
|
if (!codexPath) throw new Error(dedent`The @openai/codex-sdk package is required but not installed.
|
|
16
17
|
|
|
17
18
|
To use the OpenAI Codex SDK provider, install it with:
|
|
@@ -23,8 +24,8 @@ async function loadCodexSDK() {
|
|
|
23
24
|
try {
|
|
24
25
|
return await importModule(codexPath);
|
|
25
26
|
} catch (err) {
|
|
26
|
-
|
|
27
|
-
if (err.stack)
|
|
27
|
+
logger.error(`Failed to load OpenAI Codex SDK: ${err}`);
|
|
28
|
+
if (err.stack) logger.error(err.stack);
|
|
28
29
|
throw new Error(dedent`Failed to load @openai/codex-sdk.
|
|
29
30
|
|
|
30
31
|
The package was found but could not be loaded. This may be due to:
|
|
@@ -38,6 +39,16 @@ async function loadCodexSDK() {
|
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
const CODEX_MODEL_PRICING = {
|
|
42
|
+
"gpt-5.4": {
|
|
43
|
+
input: 2.5,
|
|
44
|
+
output: 15,
|
|
45
|
+
cache_read: .25
|
|
46
|
+
},
|
|
47
|
+
"gpt-5.4-pro": {
|
|
48
|
+
input: 30,
|
|
49
|
+
output: 180,
|
|
50
|
+
cache_read: 30
|
|
51
|
+
},
|
|
41
52
|
"gpt-5.3-codex": {
|
|
42
53
|
input: 1.75,
|
|
43
54
|
output: 14,
|
|
@@ -49,9 +60,14 @@ const CODEX_MODEL_PRICING = {
|
|
|
49
60
|
cache_read: .05
|
|
50
61
|
},
|
|
51
62
|
"gpt-5.2": {
|
|
52
|
-
input:
|
|
53
|
-
output:
|
|
54
|
-
cache_read: .
|
|
63
|
+
input: 1.75,
|
|
64
|
+
output: 14,
|
|
65
|
+
cache_read: .175
|
|
66
|
+
},
|
|
67
|
+
"gpt-5.2-codex": {
|
|
68
|
+
input: 1.75,
|
|
69
|
+
output: 14,
|
|
70
|
+
cache_read: .175
|
|
55
71
|
},
|
|
56
72
|
"gpt-5.1-codex": {
|
|
57
73
|
input: 2,
|
|
@@ -86,9 +102,12 @@ const CODEX_MODEL_PRICING = {
|
|
|
86
102
|
};
|
|
87
103
|
var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
88
104
|
static OPENAI_MODELS = [
|
|
105
|
+
"gpt-5.4",
|
|
106
|
+
"gpt-5.4-pro",
|
|
89
107
|
"gpt-5.3-codex",
|
|
90
108
|
"gpt-5.3-codex-spark",
|
|
91
109
|
"gpt-5.2",
|
|
110
|
+
"gpt-5.2-codex",
|
|
92
111
|
"gpt-5.1-codex",
|
|
93
112
|
"gpt-5.1-codex-max",
|
|
94
113
|
"gpt-5.1-codex-mini",
|
|
@@ -111,7 +130,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
111
130
|
this.env = env;
|
|
112
131
|
this.apiKey = this.getApiKey();
|
|
113
132
|
this.providerId = id ?? this.providerId;
|
|
114
|
-
if (this.config.model && !OpenAICodexSDKProvider.OPENAI_MODELS.includes(this.config.model))
|
|
133
|
+
if (this.config.model && !OpenAICodexSDKProvider.OPENAI_MODELS.includes(this.config.model)) logger.warn(`Using unknown model for OpenAI Codex SDK: ${this.config.model}`);
|
|
115
134
|
}
|
|
116
135
|
id() {
|
|
117
136
|
return this.providerId;
|
|
@@ -137,7 +156,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
137
156
|
try {
|
|
138
157
|
await this.destroyInstance(this.codexInstance);
|
|
139
158
|
} catch (error) {
|
|
140
|
-
|
|
159
|
+
logger.warn("[CodexSDK] Error during cleanup", { error });
|
|
141
160
|
}
|
|
142
161
|
this.codexInstance = void 0;
|
|
143
162
|
this.codexInstanceEnvHash = void 0;
|
|
@@ -161,7 +180,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
161
180
|
if (!sortedEnv.OTEL_SERVICE_NAME) sortedEnv.OTEL_SERVICE_NAME = "codex-cli";
|
|
162
181
|
if (!sortedEnv.OTEL_TRACES_EXPORTER) sortedEnv.OTEL_TRACES_EXPORTER = "otlp";
|
|
163
182
|
if (traceparent) sortedEnv.TRACEPARENT = traceparent;
|
|
164
|
-
|
|
183
|
+
logger.debug("[CodexSDK] Injecting OTEL config for deep tracing", {
|
|
165
184
|
traceparent: traceparent || "(none - CLI will start own trace)",
|
|
166
185
|
endpoint: sortedEnv.OTEL_EXPORTER_OTLP_ENDPOINT,
|
|
167
186
|
userConfigured: {
|
|
@@ -266,11 +285,11 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
266
285
|
case "item.started": {
|
|
267
286
|
const item = event.item;
|
|
268
287
|
if (!item) {
|
|
269
|
-
|
|
288
|
+
logger.warn("Codex item.started event missing item", { event });
|
|
270
289
|
break;
|
|
271
290
|
}
|
|
272
291
|
if (!item.id) {
|
|
273
|
-
|
|
292
|
+
logger.debug("Codex item.started without id, will create span at completion", { type: item.type });
|
|
274
293
|
break;
|
|
275
294
|
}
|
|
276
295
|
const itemId = String(item.id);
|
|
@@ -285,7 +304,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
285
304
|
});
|
|
286
305
|
activeSpans.set(itemId, span);
|
|
287
306
|
itemStartTimes.set(itemId, eventTime);
|
|
288
|
-
|
|
307
|
+
logger.debug("Codex item started", {
|
|
289
308
|
itemId,
|
|
290
309
|
type: item.type
|
|
291
310
|
});
|
|
@@ -294,7 +313,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
294
313
|
case "item.completed": {
|
|
295
314
|
const item = event.item;
|
|
296
315
|
if (!item) {
|
|
297
|
-
|
|
316
|
+
logger.warn("Codex item.completed event missing item", { event });
|
|
298
317
|
break;
|
|
299
318
|
}
|
|
300
319
|
const itemId = item.id ? String(item.id) : crypto.randomUUID();
|
|
@@ -335,7 +354,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
335
354
|
span.end();
|
|
336
355
|
activeSpans.delete(itemId);
|
|
337
356
|
itemStartTimes.delete(itemId);
|
|
338
|
-
|
|
357
|
+
logger.debug("Codex item completed", {
|
|
339
358
|
itemId,
|
|
340
359
|
type: item.type,
|
|
341
360
|
durationMs
|
|
@@ -352,7 +371,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
352
371
|
for (const [key, value] of Object.entries(updatedAttrs)) span.setAttribute(key, value);
|
|
353
372
|
}
|
|
354
373
|
}
|
|
355
|
-
|
|
374
|
+
logger.debug("Codex item updated", {
|
|
356
375
|
itemId: item?.id,
|
|
357
376
|
type: item?.type
|
|
358
377
|
});
|
|
@@ -360,20 +379,20 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
360
379
|
}
|
|
361
380
|
case "turn.completed":
|
|
362
381
|
usage = event.usage;
|
|
363
|
-
|
|
382
|
+
logger.debug("Codex turn completed", { usage });
|
|
364
383
|
break;
|
|
365
384
|
case "turn.failed": {
|
|
366
385
|
const errorMsg = event.error?.message || "Turn failed";
|
|
367
|
-
|
|
386
|
+
logger.error("Codex turn failed", { error: errorMsg });
|
|
368
387
|
throw new Error(`Codex turn failed: ${errorMsg}`);
|
|
369
388
|
}
|
|
370
|
-
default:
|
|
389
|
+
default: logger.debug("Codex unknown event type", { type: event.type });
|
|
371
390
|
}
|
|
372
391
|
lastEventTime = eventTime;
|
|
373
392
|
}
|
|
374
393
|
} finally {
|
|
375
394
|
for (const [itemId, span] of activeSpans) {
|
|
376
|
-
|
|
395
|
+
logger.warn("Codex item span not properly closed", { itemId });
|
|
377
396
|
span.setStatus({
|
|
378
397
|
code: SpanStatusCode.ERROR,
|
|
379
398
|
message: "Span not properly closed"
|
|
@@ -560,7 +579,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
560
579
|
const useLocalInstance = config.deep_tracing;
|
|
561
580
|
if (useLocalInstance) {
|
|
562
581
|
if ((config.persist_threads || config.thread_id || (config.thread_pool_size ?? 0) > 1) && !this.deepTracingWarningShown) {
|
|
563
|
-
|
|
582
|
+
logger.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.");
|
|
564
583
|
this.deepTracingWarningShown = true;
|
|
565
584
|
}
|
|
566
585
|
localInstance = new this.codexModule.Codex(this.buildCodexOptions(env, config));
|
|
@@ -571,11 +590,11 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
571
590
|
const envChanged = this.codexInstanceEnvHash !== envHash;
|
|
572
591
|
if (!this.codexInstance || envChanged) {
|
|
573
592
|
if (envChanged && this.codexInstance) {
|
|
574
|
-
|
|
593
|
+
logger.debug("[CodexSDK] Recreating instance due to configuration change");
|
|
575
594
|
try {
|
|
576
595
|
await this.destroyInstance(this.codexInstance);
|
|
577
596
|
} catch (cleanupError) {
|
|
578
|
-
|
|
597
|
+
logger.warn("[CodexSDK] Error cleaning up old instance", { error: cleanupError });
|
|
579
598
|
}
|
|
580
599
|
this.threads.clear();
|
|
581
600
|
}
|
|
@@ -611,7 +630,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
611
630
|
cost = inputCost + cacheReadCost + outputCost;
|
|
612
631
|
}
|
|
613
632
|
}
|
|
614
|
-
|
|
633
|
+
logger.debug("OpenAI Codex SDK response", {
|
|
615
634
|
output,
|
|
616
635
|
usage: turn.usage
|
|
617
636
|
});
|
|
@@ -624,23 +643,23 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
|
|
|
624
643
|
};
|
|
625
644
|
} catch (error) {
|
|
626
645
|
if (error instanceof Error && error.name === "AbortError" || callOptions?.abortSignal?.aborted) {
|
|
627
|
-
|
|
646
|
+
logger.warn("OpenAI Codex SDK call aborted");
|
|
628
647
|
return { error: "OpenAI Codex SDK call aborted" };
|
|
629
648
|
}
|
|
630
649
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
631
|
-
|
|
650
|
+
logger.error("Error calling OpenAI Codex SDK", { error: errorMessage });
|
|
632
651
|
return { error: `Error calling OpenAI Codex SDK: ${errorMessage}` };
|
|
633
652
|
} finally {
|
|
634
653
|
if (!config.deep_tracing && !config.persist_threads && !config.thread_id && cacheKey) this.threads.delete(cacheKey);
|
|
635
654
|
if (useLocalInstance && localInstance) try {
|
|
636
655
|
await this.destroyInstance(localInstance);
|
|
637
656
|
} catch (cleanupError) {
|
|
638
|
-
|
|
657
|
+
logger.debug("[CodexSDK] Error cleaning up local instance", { error: cleanupError });
|
|
639
658
|
}
|
|
640
659
|
}
|
|
641
660
|
}
|
|
642
661
|
};
|
|
643
|
-
|
|
644
662
|
//#endregion
|
|
645
663
|
export { OpenAICodexSDKProvider };
|
|
646
|
-
|
|
664
|
+
|
|
665
|
+
//# sourceMappingURL=codex-sdk-DUwKWezN.js.map
|