langwatch 0.33.0 → 0.33.2
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/dist/add-52KP5RUX.mjs +148 -0
- package/dist/add-7Y6MH725.js +148 -0
- package/dist/add-7Y6MH725.js.map +1 -0
- package/dist/archive-MHACABLP.js +41 -0
- package/dist/archive-MHACABLP.js.map +1 -0
- package/dist/archive-ZKTGGFDU.mjs +41 -0
- package/dist/assign-NCK27ZW5.js +54 -0
- package/dist/assign-NCK27ZW5.js.map +1 -0
- package/dist/assign-W7HMZLLA.mjs +54 -0
- package/dist/chunk-26WXZOLY.js +70 -0
- package/dist/chunk-26WXZOLY.js.map +1 -0
- package/dist/chunk-2XTZ7GBC.mjs +90 -0
- package/dist/chunk-43OERQAS.js +96 -0
- package/dist/chunk-43OERQAS.js.map +1 -0
- package/dist/chunk-4F3LCT7U.js +42 -0
- package/dist/chunk-4F3LCT7U.js.map +1 -0
- package/dist/chunk-4VOXYSVX.mjs +196 -0
- package/dist/chunk-5C7DPGRK.mjs +34 -0
- package/dist/chunk-5U4XEWEX.mjs +136 -0
- package/dist/chunk-7YJMKWOH.mjs +80 -0
- package/dist/chunk-A6HNRJNS.js +92 -0
- package/dist/chunk-A6HNRJNS.js.map +1 -0
- package/dist/chunk-AJUCX3LD.mjs +40 -0
- package/dist/chunk-BMBIZJCM.js +103 -0
- package/dist/chunk-BMBIZJCM.js.map +1 -0
- package/dist/chunk-BU2DXABO.mjs +85 -0
- package/dist/chunk-BWALMZEU.mjs +101 -0
- package/dist/chunk-C6ZREBUA.js +300 -0
- package/dist/chunk-C6ZREBUA.js.map +1 -0
- package/dist/chunk-DBKEEEEC.js +66 -0
- package/dist/chunk-DBKEEEEC.js.map +1 -0
- package/dist/chunk-DC7HLQID.mjs +51 -0
- package/dist/chunk-E5ZEMGE7.mjs +63 -0
- package/dist/chunk-E5ZEMGE7.mjs.map +1 -0
- package/dist/chunk-F4FGQZND.mjs +348 -0
- package/dist/chunk-FAXQN7S5.js +68 -0
- package/dist/chunk-FAXQN7S5.js.map +1 -0
- package/dist/chunk-FLYABTMA.js +855 -0
- package/dist/chunk-FLYABTMA.js.map +1 -0
- package/dist/chunk-FMPW7DZ3.mjs +80 -0
- package/dist/chunk-GIT5RVG4.mjs +76 -0
- package/dist/chunk-GW2YXZYN.js +300 -0
- package/dist/chunk-GW2YXZYN.js.map +1 -0
- package/dist/chunk-H2DTN2TK.mjs +70 -0
- package/dist/chunk-HKFNWLCD.js +663 -0
- package/dist/chunk-HKFNWLCD.js.map +1 -0
- package/dist/chunk-I2663VLP.js +85 -0
- package/dist/chunk-I2663VLP.js.map +1 -0
- package/dist/chunk-I6QOTFMP.mjs +53 -0
- package/dist/chunk-IRBHL4BD.js +80 -0
- package/dist/chunk-IRBHL4BD.js.map +1 -0
- package/dist/chunk-IRVNIJXP.js +51 -0
- package/dist/chunk-IRVNIJXP.js.map +1 -0
- package/dist/chunk-JBEVRIYW.mjs +894 -0
- package/dist/chunk-KUEKEUKX.mjs +36 -0
- package/dist/chunk-LEJQMDGN.js +894 -0
- package/dist/chunk-LEJQMDGN.js.map +1 -0
- package/dist/chunk-M52LTOUT.js +1433 -0
- package/dist/chunk-M52LTOUT.js.map +1 -0
- package/dist/chunk-MHMMZ653.js +40 -0
- package/dist/chunk-MHMMZ653.js.map +1 -0
- package/dist/chunk-MLGGUNZK.js +90 -0
- package/dist/chunk-MLGGUNZK.js.map +1 -0
- package/dist/chunk-N37FLXEP.js +76 -0
- package/dist/chunk-N37FLXEP.js.map +1 -0
- package/dist/chunk-NC42BNF4.js +63 -0
- package/dist/chunk-NC42BNF4.js.map +1 -0
- package/dist/chunk-NNPQSPYD.js +348 -0
- package/dist/chunk-NNPQSPYD.js.map +1 -0
- package/dist/chunk-NW4HASQV.js +80 -0
- package/dist/chunk-NW4HASQV.js.map +1 -0
- package/dist/chunk-O444ZEPO.mjs +300 -0
- package/dist/chunk-O444ZEPO.mjs.map +1 -0
- package/dist/chunk-O75KIBCK.js +512 -0
- package/dist/chunk-O75KIBCK.js.map +1 -0
- package/dist/chunk-OJ4URNYC.mjs +54 -0
- package/dist/chunk-ONN7U6WN.js +54 -0
- package/dist/chunk-ONN7U6WN.js.map +1 -0
- package/dist/chunk-OUJ7Z4TK.mjs +103 -0
- package/dist/chunk-PVOHCPWP.mjs +855 -0
- package/dist/chunk-PVOHCPWP.mjs.map +1 -0
- package/dist/chunk-PXW5C7HA.js +36 -0
- package/dist/chunk-PXW5C7HA.js.map +1 -0
- package/dist/chunk-QAZHQ7SZ.mjs +300 -0
- package/dist/chunk-QGGX6LSK.mjs +512 -0
- package/dist/chunk-R3PLRKDO.mjs +68 -0
- package/dist/chunk-SBBELZKD.js +101 -0
- package/dist/chunk-SBBELZKD.js.map +1 -0
- package/dist/chunk-SIIRLUO4.js +136 -0
- package/dist/chunk-SIIRLUO4.js.map +1 -0
- package/dist/chunk-SRGYS3N7.js +196 -0
- package/dist/chunk-SRGYS3N7.js.map +1 -0
- package/dist/chunk-SUANHT23.mjs +92 -0
- package/dist/chunk-SWPMKS2X.mjs +1433 -0
- package/dist/chunk-SWPMKS2X.mjs.map +1 -0
- package/dist/chunk-T7AFY3JF.js +63 -0
- package/dist/chunk-T7AFY3JF.js.map +1 -0
- package/dist/chunk-U4PE5N4K.js +34 -0
- package/dist/chunk-U4PE5N4K.js.map +1 -0
- package/dist/chunk-W35QTHIH.mjs +63 -0
- package/dist/chunk-W7DAEYAO.js +53 -0
- package/dist/chunk-W7DAEYAO.js.map +1 -0
- package/dist/chunk-X6NSR74I.mjs +663 -0
- package/dist/chunk-XHQP55GA.mjs +42 -0
- package/dist/chunk-XLJ5GJTK.mjs +42 -0
- package/dist/chunk-XMAAQWBG.mjs +96 -0
- package/dist/chunk-YF4IFY2X.js +42 -0
- package/dist/chunk-YF4IFY2X.js.map +1 -0
- package/dist/chunk-YIACSQXG.mjs +66 -0
- package/dist/chunk-YP4LDCP6.mjs +277 -0
- package/dist/chunk-YP4LDCP6.mjs.map +1 -0
- package/dist/chunk-ZA5BH7IZ.js +277 -0
- package/dist/chunk-ZA5BH7IZ.js.map +1 -0
- package/dist/cli/index.js +152 -149
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/index.mjs +146 -143
- package/dist/cli/index.mjs.map +1 -1
- package/dist/config-QAMXJYXX.js +96 -0
- package/dist/config-QAMXJYXX.js.map +1 -0
- package/dist/config-VPRQKJMJ.mjs +96 -0
- package/dist/create-2FRM4WVA.mjs +52 -0
- package/dist/create-34FEJBYM.js +49 -0
- package/dist/create-34FEJBYM.js.map +1 -0
- package/dist/create-36DDGEPS.js +50 -0
- package/dist/create-36DDGEPS.js.map +1 -0
- package/dist/create-3IUBLMI7.mjs +43 -0
- package/dist/create-3NCRMEMB.mjs +72 -0
- package/dist/create-4GFIXF5E.mjs +58 -0
- package/dist/create-4ODQ66VV.mjs +91 -0
- package/dist/create-5TFOS2OJ.mjs +42 -0
- package/dist/create-7OBPYNWK.js +42 -0
- package/dist/create-7OBPYNWK.js.map +1 -0
- package/dist/create-ACC73K6P.mjs +87 -0
- package/dist/create-DRTKTUVY.js +48 -0
- package/dist/create-DRTKTUVY.js.map +1 -0
- package/dist/create-DYCE3DG5.mjs +75 -0
- package/dist/create-EASGLRR7.js +58 -0
- package/dist/create-EASGLRR7.js.map +1 -0
- package/dist/create-EBEOJS2H.mjs +50 -0
- package/dist/create-FJMGFFCM.mjs +92 -0
- package/dist/create-I5INSZYR.mjs +88 -0
- package/dist/create-IPLFOXBK.js +91 -0
- package/dist/create-IPLFOXBK.js.map +1 -0
- package/dist/create-IZAVSAXI.js +72 -0
- package/dist/create-IZAVSAXI.js.map +1 -0
- package/dist/create-P3647AMU.mjs +94 -0
- package/dist/create-PL3BMGB5.js +43 -0
- package/dist/create-PL3BMGB5.js.map +1 -0
- package/dist/create-Q6WY7YSF.js +52 -0
- package/dist/create-Q6WY7YSF.js.map +1 -0
- package/dist/create-RGZUQUZO.js +94 -0
- package/dist/create-RGZUQUZO.js.map +1 -0
- package/dist/create-SPAXSFIN.mjs +88 -0
- package/dist/create-SYHW6YGS.js +88 -0
- package/dist/create-SYHW6YGS.js.map +1 -0
- package/dist/create-T3V4JRJQ.mjs +71 -0
- package/dist/create-TCP2VODP.js +88 -0
- package/dist/create-TCP2VODP.js.map +1 -0
- package/dist/create-TZ76BDWV.mjs +49 -0
- package/dist/create-UKY4IZ7G.js +87 -0
- package/dist/create-UKY4IZ7G.js.map +1 -0
- package/dist/create-WGU3PIT2.js +71 -0
- package/dist/create-WGU3PIT2.js.map +1 -0
- package/dist/create-WTO4NPVP.js +75 -0
- package/dist/create-WTO4NPVP.js.map +1 -0
- package/dist/create-XPJS3IZT.mjs +48 -0
- package/dist/create-ZBLKIRIH.js +23 -0
- package/dist/create-ZBLKIRIH.js.map +1 -0
- package/dist/create-ZU4LXLBN.mjs +23 -0
- package/dist/create-ZW3J4VVP.js +92 -0
- package/dist/create-ZW3J4VVP.js.map +1 -0
- package/dist/delete-3PMEY5RH.mjs +42 -0
- package/dist/delete-6FRZ6LJJ.mjs +61 -0
- package/dist/delete-7KSO3V3O.js +39 -0
- package/dist/delete-7KSO3V3O.js.map +1 -0
- package/dist/delete-BPKFSXIY.js +52 -0
- package/dist/delete-BPKFSXIY.js.map +1 -0
- package/dist/delete-BSYUEGEX.js +52 -0
- package/dist/delete-BSYUEGEX.js.map +1 -0
- package/dist/delete-DOIVCA44.js +52 -0
- package/dist/delete-DOIVCA44.js.map +1 -0
- package/dist/delete-DSDE42CQ.js +41 -0
- package/dist/delete-DSDE42CQ.js.map +1 -0
- package/dist/delete-E2O6CPEK.mjs +38 -0
- package/dist/delete-FLA25Y4H.js +39 -0
- package/dist/delete-FLA25Y4H.js.map +1 -0
- package/dist/delete-G5IYZ6R5.mjs +59 -0
- package/dist/delete-HZIBPYQY.js +61 -0
- package/dist/delete-HZIBPYQY.js.map +1 -0
- package/dist/delete-IRJG3K2J.mjs +41 -0
- package/dist/delete-JMX33YI4.mjs +52 -0
- package/dist/delete-KNAPRRCM.js +44 -0
- package/dist/delete-KNAPRRCM.js.map +1 -0
- package/dist/delete-M7EG5VPB.mjs +39 -0
- package/dist/delete-MSAI4E5L.js +52 -0
- package/dist/delete-MSAI4E5L.js.map +1 -0
- package/dist/delete-NH4NQLFP.mjs +57 -0
- package/dist/delete-NPKRSFGU.js +57 -0
- package/dist/delete-NPKRSFGU.js.map +1 -0
- package/dist/delete-POZCY7IQ.mjs +52 -0
- package/dist/delete-R2HXHQBB.js +42 -0
- package/dist/delete-R2HXHQBB.js.map +1 -0
- package/dist/delete-TSXQER52.js +59 -0
- package/dist/delete-TSXQER52.js.map +1 -0
- package/dist/delete-U655HP5R.mjs +39 -0
- package/dist/delete-UERL72WN.js +38 -0
- package/dist/delete-UERL72WN.js.map +1 -0
- package/dist/delete-UTKUA6Z4.mjs +52 -0
- package/dist/delete-WP3JYGLE.mjs +59 -0
- package/dist/delete-X6JLYJCH.js +59 -0
- package/dist/delete-X6JLYJCH.js.map +1 -0
- package/dist/delete-XAUAF53M.mjs +52 -0
- package/dist/delete-YT3ID37D.mjs +44 -0
- package/dist/download-F2DXRLJP.mjs +100 -0
- package/dist/download-PK2DSPEO.js +100 -0
- package/dist/download-PK2DSPEO.js.map +1 -0
- package/dist/duplicate-B7OUVDVB.mjs +45 -0
- package/dist/duplicate-IGMNYMPS.js +45 -0
- package/dist/duplicate-IGMNYMPS.js.map +1 -0
- package/dist/export-SNBK2AV4.mjs +103 -0
- package/dist/export-VIEFMUVQ.js +103 -0
- package/dist/export-VIEFMUVQ.js.map +1 -0
- package/dist/get-45ULRVIG.js +49 -0
- package/dist/get-45ULRVIG.js.map +1 -0
- package/dist/get-4NKLZBDS.mjs +85 -0
- package/dist/get-5HAYNLXN.js +85 -0
- package/dist/get-5HAYNLXN.js.map +1 -0
- package/dist/get-6CNGBUW6.js +71 -0
- package/dist/get-6CNGBUW6.js.map +1 -0
- package/dist/get-6ECLGAOQ.js +67 -0
- package/dist/get-6ECLGAOQ.js.map +1 -0
- package/dist/get-ATD54O5U.js +94 -0
- package/dist/get-ATD54O5U.js.map +1 -0
- package/dist/get-BOXL42XW.mjs +66 -0
- package/dist/get-C6OSKZH3.js +51 -0
- package/dist/get-C6OSKZH3.js.map +1 -0
- package/dist/get-C7SCGYAT.js +70 -0
- package/dist/get-C7SCGYAT.js.map +1 -0
- package/dist/get-CLTPKM7D.mjs +68 -0
- package/dist/get-CRGWXOZP.mjs +70 -0
- package/dist/get-D6SHECLX.mjs +51 -0
- package/dist/get-EH37CXA2.js +149 -0
- package/dist/get-EH37CXA2.js.map +1 -0
- package/dist/get-FBWUXIQN.js +76 -0
- package/dist/get-FBWUXIQN.js.map +1 -0
- package/dist/get-FCJFZY5M.js +56 -0
- package/dist/get-FCJFZY5M.js.map +1 -0
- package/dist/get-H3DWTNDA.js +71 -0
- package/dist/get-H3DWTNDA.js.map +1 -0
- package/dist/get-JKRW7OHW.mjs +52 -0
- package/dist/get-KS3QMH5A.mjs +76 -0
- package/dist/get-NP6FEVLY.mjs +49 -0
- package/dist/get-P7W3V3CB.mjs +52 -0
- package/dist/get-QO7VEIRN.mjs +149 -0
- package/dist/get-QUXBSMZE.js +52 -0
- package/dist/get-QUXBSMZE.js.map +1 -0
- package/dist/get-ROAE6T5N.mjs +56 -0
- package/dist/get-RYIZPF25.mjs +71 -0
- package/dist/get-T5BHOLX2.js +68 -0
- package/dist/get-T5BHOLX2.js.map +1 -0
- package/dist/get-TITUKTHE.mjs +71 -0
- package/dist/get-UOZBGGCG.mjs +71 -0
- package/dist/get-WW7HVSUY.mjs +67 -0
- package/dist/get-XDNDTHQU.js +71 -0
- package/dist/get-XDNDTHQU.js.map +1 -0
- package/dist/get-YPCHKUHM.js +52 -0
- package/dist/get-YPCHKUHM.js.map +1 -0
- package/dist/get-ZLSHYP57.js +66 -0
- package/dist/get-ZLSHYP57.js.map +1 -0
- package/dist/get-ZXTDMVWX.mjs +94 -0
- package/dist/health-LCGP7UDT.js +73 -0
- package/dist/health-LCGP7UDT.js.map +1 -0
- package/dist/health-MCMRR6RQ.mjs +73 -0
- package/dist/implementation-Cbelb5TK.d.ts +716 -0
- package/dist/implementation-Oz1fNv8p.d.mts +716 -0
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +45 -45
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +21 -21
- package/dist/ingestion-templates-7TLETXIF.mjs +169 -0
- package/dist/ingestion-templates-AT5AKWJB.js +169 -0
- package/dist/ingestion-templates-AT5AKWJB.js.map +1 -0
- package/dist/init-shell-AEPYN2KV.mjs +72 -0
- package/dist/init-shell-ULEEQ522.js +72 -0
- package/dist/init-shell-ULEEQ522.js.map +1 -0
- package/dist/install-PQACVMPW.mjs +191 -0
- package/dist/install-UAGU7V2O.js +191 -0
- package/dist/install-UAGU7V2O.js.map +1 -0
- package/dist/list-44QMJJBX.js +82 -0
- package/dist/list-44QMJJBX.js.map +1 -0
- package/dist/list-45DYTLFR.js +86 -0
- package/dist/list-45DYTLFR.js.map +1 -0
- package/dist/list-53O3I5OT.js +53 -0
- package/dist/list-53O3I5OT.js.map +1 -0
- package/dist/list-5RDJDIDE.js +78 -0
- package/dist/list-5RDJDIDE.js.map +1 -0
- package/dist/list-6ZUZ54WZ.mjs +83 -0
- package/dist/list-7TJVXJW3.mjs +75 -0
- package/dist/list-B5QJP7XO.mjs +122 -0
- package/dist/list-BJXU6QSV.js +87 -0
- package/dist/list-BJXU6QSV.js.map +1 -0
- package/dist/list-C4TIICKC.mjs +82 -0
- package/dist/list-CH36A6CW.js +80 -0
- package/dist/list-CH36A6CW.js.map +1 -0
- package/dist/list-CSPHALVP.mjs +111 -0
- package/dist/list-CSZZQTHD.mjs +82 -0
- package/dist/list-DEQI2KOQ.js +72 -0
- package/dist/list-DEQI2KOQ.js.map +1 -0
- package/dist/list-FJ2T2GJT.js +104 -0
- package/dist/list-FJ2T2GJT.js.map +1 -0
- package/dist/list-FRLZQVS6.js +71 -0
- package/dist/list-FRLZQVS6.js.map +1 -0
- package/dist/list-FYKAGJ6V.mjs +87 -0
- package/dist/list-G3ASKJUN.mjs +104 -0
- package/dist/list-GGTQOQA4.js +111 -0
- package/dist/list-GGTQOQA4.js.map +1 -0
- package/dist/list-GL4SXZ2E.js +82 -0
- package/dist/list-GL4SXZ2E.js.map +1 -0
- package/dist/list-GYJNBKUF.mjs +53 -0
- package/dist/list-J33YMH3T.js +78 -0
- package/dist/list-J33YMH3T.js.map +1 -0
- package/dist/list-J55FWBDR.js +75 -0
- package/dist/list-J55FWBDR.js.map +1 -0
- package/dist/list-JMX456IB.js +75 -0
- package/dist/list-JMX456IB.js.map +1 -0
- package/dist/list-KX4MIAJE.mjs +85 -0
- package/dist/list-L33MTOSA.mjs +80 -0
- package/dist/list-LKF24T6D.js +83 -0
- package/dist/list-LKF24T6D.js.map +1 -0
- package/dist/list-M3IEVLUD.mjs +86 -0
- package/dist/list-M77G2Y5F.js +76 -0
- package/dist/list-M77G2Y5F.js.map +1 -0
- package/dist/list-MSIHIWG5.js +80 -0
- package/dist/list-MSIHIWG5.js.map +1 -0
- package/dist/list-N4LN7RVG.mjs +90 -0
- package/dist/list-OZDM5FA6.mjs +75 -0
- package/dist/list-PKDYDBNU.js +75 -0
- package/dist/list-PKDYDBNU.js.map +1 -0
- package/dist/list-PYQZKUBA.js +85 -0
- package/dist/list-PYQZKUBA.js.map +1 -0
- package/dist/list-QZZLS5TP.js +78 -0
- package/dist/list-QZZLS5TP.js.map +1 -0
- package/dist/list-R4SZ3SMF.mjs +78 -0
- package/dist/list-TAFBD6EY.mjs +71 -0
- package/dist/list-VJL5TZ4T.mjs +72 -0
- package/dist/list-VKNEMSY4.mjs +80 -0
- package/dist/list-WJNJNMQC.mjs +75 -0
- package/dist/list-XRW6CP7E.js +90 -0
- package/dist/list-XRW6CP7E.js.map +1 -0
- package/dist/list-YAR5NB2Q.mjs +76 -0
- package/dist/list-YUYYYQ7E.js +122 -0
- package/dist/list-YUYYYQ7E.js.map +1 -0
- package/dist/list-Z3YOLIK2.mjs +78 -0
- package/dist/list-Z6OG6DLD.mjs +78 -0
- package/dist/login-7N3FOJOH.mjs +280 -0
- package/dist/login-7N3FOJOH.mjs.map +1 -0
- package/dist/login-JC4YGO3M.js +280 -0
- package/dist/login-JC4YGO3M.js.map +1 -0
- package/dist/observability-sdk/index.d.mts +3 -3
- package/dist/observability-sdk/index.d.ts +3 -3
- package/dist/observability-sdk/index.js +5 -5
- package/dist/observability-sdk/index.js.map +1 -1
- package/dist/observability-sdk/index.mjs +8 -8
- package/dist/observability-sdk/instrumentation/langchain/index.d.mts +1 -1
- package/dist/observability-sdk/instrumentation/langchain/index.d.ts +1 -1
- package/dist/observability-sdk/instrumentation/langchain/index.js +3 -3
- package/dist/observability-sdk/instrumentation/langchain/index.mjs +1 -1
- package/dist/observability-sdk/setup/node/index.js +4 -4
- package/dist/observability-sdk/setup/node/index.mjs +3 -3
- package/dist/pull-GBTWGZX6.js +27 -0
- package/dist/pull-GBTWGZX6.js.map +1 -0
- package/dist/pull-VHGPIULB.mjs +27 -0
- package/dist/push-5CNRDWJU.js +27 -0
- package/dist/push-5CNRDWJU.js.map +1 -0
- package/dist/push-ZPL2UNNV.mjs +27 -0
- package/dist/query-5R2V74N2.js +122 -0
- package/dist/query-5R2V74N2.js.map +1 -0
- package/dist/query-PRJT7GQY.mjs +122 -0
- package/dist/records-add-E3S34UNT.js +98 -0
- package/dist/records-add-E3S34UNT.js.map +1 -0
- package/dist/records-add-P2FTGDNL.mjs +98 -0
- package/dist/records-delete-GCB6S4F3.js +46 -0
- package/dist/records-delete-GCB6S4F3.js.map +1 -0
- package/dist/records-delete-TZATYNEX.mjs +46 -0
- package/dist/records-list-AI5CT26J.mjs +89 -0
- package/dist/records-list-XXOWLCZT.js +89 -0
- package/dist/records-list-XXOWLCZT.js.map +1 -0
- package/dist/records-update-TK3HWM2C.mjs +53 -0
- package/dist/records-update-ZVKQVZHW.js +53 -0
- package/dist/records-update-ZVKQVZHW.js.map +1 -0
- package/dist/remove-DPTA2GMZ.js +114 -0
- package/dist/remove-DPTA2GMZ.js.map +1 -0
- package/dist/remove-XAF4RTKP.mjs +114 -0
- package/dist/rename-AAQZTQCF.mjs +42 -0
- package/dist/rename-YG4P5PRQ.js +42 -0
- package/dist/rename-YG4P5PRQ.js.map +1 -0
- package/dist/restore-6TIHZUPS.js +73 -0
- package/dist/restore-6TIHZUPS.js.map +1 -0
- package/dist/restore-VJDHJ7Y3.mjs +73 -0
- package/dist/revoke-7HUYDQZ6.mjs +44 -0
- package/dist/revoke-OHOLPKBQ.js +44 -0
- package/dist/revoke-OHOLPKBQ.js.map +1 -0
- package/dist/revoke-OQQ56B2Z.js +41 -0
- package/dist/revoke-OQQ56B2Z.js.map +1 -0
- package/dist/revoke-UUVPYOPV.mjs +41 -0
- package/dist/rotate-D2QBTQC7.js +52 -0
- package/dist/rotate-D2QBTQC7.js.map +1 -0
- package/dist/rotate-MU4L6YPU.mjs +52 -0
- package/dist/run-2KISYEZP.js +83 -0
- package/dist/run-2KISYEZP.js.map +1 -0
- package/dist/run-ARQ7O43R.js +142 -0
- package/dist/run-ARQ7O43R.js.map +1 -0
- package/dist/run-D4YIYYTE.mjs +144 -0
- package/dist/run-GC3RJI74.mjs +131 -0
- package/dist/run-HPDENKM2.js +77 -0
- package/dist/run-HPDENKM2.js.map +1 -0
- package/dist/run-NRODARJS.js +144 -0
- package/dist/run-NRODARJS.js.map +1 -0
- package/dist/run-PC5KFO4B.mjs +142 -0
- package/dist/run-URPG3S24.mjs +83 -0
- package/dist/run-V3O4TEQ2.js +131 -0
- package/dist/run-V3O4TEQ2.js.map +1 -0
- package/dist/run-WWBEHGYG.mjs +77 -0
- package/dist/search-L7IAXT4D.mjs +108 -0
- package/dist/search-M34FSP25.js +108 -0
- package/dist/search-M34FSP25.js.map +1 -0
- package/dist/set-5YJE4NOS.mjs +105 -0
- package/dist/set-6QKEZXES.js +59 -0
- package/dist/set-6QKEZXES.js.map +1 -0
- package/dist/set-ECD6VHQI.js +105 -0
- package/dist/set-ECD6VHQI.js.map +1 -0
- package/dist/set-X7XDEFU5.mjs +59 -0
- package/dist/status-6UGUEKSC.mjs +120 -0
- package/dist/status-DOPST7HX.js +120 -0
- package/dist/status-DOPST7HX.js.map +1 -0
- package/dist/status-GSPWZ255.mjs +56 -0
- package/dist/status-M4GI2HR3.js +56 -0
- package/dist/status-M4GI2HR3.js.map +1 -0
- package/dist/status-PXWG34DC.mjs +153 -0
- package/dist/status-TA4AIE6X.js +153 -0
- package/dist/status-TA4AIE6X.js.map +1 -0
- package/dist/sync-IVZ5VCKT.js +132 -0
- package/dist/sync-IVZ5VCKT.js.map +1 -0
- package/dist/sync-JRLKLXA6.mjs +132 -0
- package/dist/tail-CKK6GFNI.js +108 -0
- package/dist/tail-CKK6GFNI.js.map +1 -0
- package/dist/tail-D26CEKSH.mjs +108 -0
- package/dist/types-BNbQoBnh.d.mts +15022 -0
- package/dist/types-CmMOt86P.d.ts +15022 -0
- package/dist/unset-GLPKW2JV.js +107 -0
- package/dist/unset-GLPKW2JV.js.map +1 -0
- package/dist/unset-WSH675SN.mjs +107 -0
- package/dist/update-3EI6SA7W.mjs +65 -0
- package/dist/update-3YLN3YXF.mjs +83 -0
- package/dist/update-4DSTSBSA.js +51 -0
- package/dist/update-4DSTSBSA.js.map +1 -0
- package/dist/update-4IRKH5VI.js +48 -0
- package/dist/update-4IRKH5VI.js.map +1 -0
- package/dist/update-62D6MLES.mjs +79 -0
- package/dist/update-7YUF7UJG.js +61 -0
- package/dist/update-7YUF7UJG.js.map +1 -0
- package/dist/update-AS7FCV5B.mjs +61 -0
- package/dist/update-BNJEOWPP.mjs +71 -0
- package/dist/update-CU4Z6XQR.mjs +106 -0
- package/dist/update-DSRRR6J7.js +76 -0
- package/dist/update-DSRRR6J7.js.map +1 -0
- package/dist/update-E6BQSBVN.mjs +63 -0
- package/dist/update-ELVULBIN.mjs +63 -0
- package/dist/update-EWBAZK64.mjs +48 -0
- package/dist/update-EWS5LIXP.mjs +51 -0
- package/dist/update-G2LS465K.js +65 -0
- package/dist/update-G2LS465K.js.map +1 -0
- package/dist/update-GEKVSLEY.js +79 -0
- package/dist/update-GEKVSLEY.js.map +1 -0
- package/dist/update-GFAZJBC2.mjs +75 -0
- package/dist/update-JJDVXFLD.mjs +48 -0
- package/dist/update-JXSPKDKA.mjs +66 -0
- package/dist/update-KDJ64TZ2.js +48 -0
- package/dist/update-KDJ64TZ2.js.map +1 -0
- package/dist/update-MF56UHWY.js +106 -0
- package/dist/update-MF56UHWY.js.map +1 -0
- package/dist/update-MTHJCYKT.js +63 -0
- package/dist/update-MTHJCYKT.js.map +1 -0
- package/dist/update-NGJUN2VK.mjs +76 -0
- package/dist/update-SFGJMGKD.js +75 -0
- package/dist/update-SFGJMGKD.js.map +1 -0
- package/dist/update-SZNXZ7Y3.js +83 -0
- package/dist/update-SZNXZ7Y3.js.map +1 -0
- package/dist/update-UJYDVNOF.js +63 -0
- package/dist/update-UJYDVNOF.js.map +1 -0
- package/dist/update-XNHGNAQL.js +66 -0
- package/dist/update-XNHGNAQL.js.map +1 -0
- package/dist/update-YA6C47QH.js +71 -0
- package/dist/update-YA6C47QH.js.map +1 -0
- package/dist/upload-FXQRYNQC.js +80 -0
- package/dist/upload-FXQRYNQC.js.map +1 -0
- package/dist/upload-LERNY5WA.mjs +80 -0
- package/dist/versions-FI44YDAP.js +85 -0
- package/dist/versions-FI44YDAP.js.map +1 -0
- package/dist/versions-HP6HA2TT.mjs +85 -0
- package/dist/wrap-G3UCHRFN.mjs +34 -0
- package/dist/wrap-SJHGCERM.js +34 -0
- package/dist/wrap-SJHGCERM.js.map +1 -0
- package/package.json +1 -1
- package/dist/add-Q2IP7YH3.mjs +0 -148
- package/dist/add-X3B3DLPD.js +0 -148
- package/dist/add-X3B3DLPD.js.map +0 -1
- package/dist/archive-G3LVQFLL.js +0 -41
- package/dist/archive-G3LVQFLL.js.map +0 -1
- package/dist/archive-KA3DDEKA.mjs +0 -41
- package/dist/assign-MHDHXJLE.mjs +0 -54
- package/dist/assign-ZQ6IWPRW.js +0 -54
- package/dist/assign-ZQ6IWPRW.js.map +0 -1
- package/dist/chunk-35TLPU6Q.mjs +0 -1411
- package/dist/chunk-35TLPU6Q.mjs.map +0 -1
- package/dist/chunk-3E6W6KZ7.js +0 -277
- package/dist/chunk-3E6W6KZ7.js.map +0 -1
- package/dist/chunk-56HLVZTH.mjs +0 -101
- package/dist/chunk-5YPBJ2RX.js +0 -300
- package/dist/chunk-5YPBJ2RX.js.map +0 -1
- package/dist/chunk-6JLYEKSN.mjs +0 -136
- package/dist/chunk-76F3JX5P.mjs +0 -63
- package/dist/chunk-7DLH2I54.js +0 -1411
- package/dist/chunk-7DLH2I54.js.map +0 -1
- package/dist/chunk-A665WGBN.js +0 -68
- package/dist/chunk-A665WGBN.js.map +0 -1
- package/dist/chunk-A7JNYV5M.js +0 -264
- package/dist/chunk-A7JNYV5M.js.map +0 -1
- package/dist/chunk-BCWCQQVZ.js +0 -103
- package/dist/chunk-BCWCQQVZ.js.map +0 -1
- package/dist/chunk-BZCUVXVX.js +0 -136
- package/dist/chunk-BZCUVXVX.js.map +0 -1
- package/dist/chunk-C3AJ77YT.js +0 -70
- package/dist/chunk-C3AJ77YT.js.map +0 -1
- package/dist/chunk-C5MLYQPW.mjs +0 -512
- package/dist/chunk-D3UYY7BE.mjs +0 -90
- package/dist/chunk-EOPOUETF.js +0 -76
- package/dist/chunk-EOPOUETF.js.map +0 -1
- package/dist/chunk-FHIZZVOY.mjs +0 -894
- package/dist/chunk-G7XWPZVF.mjs +0 -264
- package/dist/chunk-G7XWPZVF.mjs.map +0 -1
- package/dist/chunk-GCSSYCND.mjs +0 -103
- package/dist/chunk-GPKFTIVT.mjs +0 -300
- package/dist/chunk-GWQIWOSA.js +0 -51
- package/dist/chunk-GWQIWOSA.js.map +0 -1
- package/dist/chunk-HAIPL262.mjs +0 -63
- package/dist/chunk-HAIPL262.mjs.map +0 -1
- package/dist/chunk-HLWOZ2EB.js +0 -842
- package/dist/chunk-HLWOZ2EB.js.map +0 -1
- package/dist/chunk-ILLSPR66.js +0 -85
- package/dist/chunk-ILLSPR66.js.map +0 -1
- package/dist/chunk-IV5D5ONR.mjs +0 -92
- package/dist/chunk-J7DHDTC2.js +0 -92
- package/dist/chunk-J7DHDTC2.js.map +0 -1
- package/dist/chunk-JU4TVC65.mjs +0 -76
- package/dist/chunk-JZBRGWCQ.js +0 -42
- package/dist/chunk-JZBRGWCQ.js.map +0 -1
- package/dist/chunk-K6DOYWPS.js +0 -34
- package/dist/chunk-K6DOYWPS.js.map +0 -1
- package/dist/chunk-KSHHFBLP.mjs +0 -663
- package/dist/chunk-KTETIIUG.mjs +0 -277
- package/dist/chunk-KTETIIUG.mjs.map +0 -1
- package/dist/chunk-L22NFE2Y.js +0 -80
- package/dist/chunk-L22NFE2Y.js.map +0 -1
- package/dist/chunk-M44BH7B5.js +0 -663
- package/dist/chunk-M44BH7B5.js.map +0 -1
- package/dist/chunk-M5CWQUST.mjs +0 -348
- package/dist/chunk-NQBQ73TT.js +0 -894
- package/dist/chunk-NQBQ73TT.js.map +0 -1
- package/dist/chunk-NUN3A2JL.js +0 -36
- package/dist/chunk-NUN3A2JL.js.map +0 -1
- package/dist/chunk-NWO6WIEY.js +0 -80
- package/dist/chunk-NWO6WIEY.js.map +0 -1
- package/dist/chunk-O6GI7MOK.js +0 -196
- package/dist/chunk-O6GI7MOK.js.map +0 -1
- package/dist/chunk-OAKLOXKJ.mjs +0 -42
- package/dist/chunk-OMGZWYBX.js +0 -66
- package/dist/chunk-OMGZWYBX.js.map +0 -1
- package/dist/chunk-Q6Y2L7K2.js +0 -54
- package/dist/chunk-Q6Y2L7K2.js.map +0 -1
- package/dist/chunk-QQNL7EER.js +0 -96
- package/dist/chunk-QQNL7EER.js.map +0 -1
- package/dist/chunk-QTQSPKSO.js +0 -90
- package/dist/chunk-QTQSPKSO.js.map +0 -1
- package/dist/chunk-QU7P4VY4.mjs +0 -66
- package/dist/chunk-SENLTNDW.js +0 -512
- package/dist/chunk-SENLTNDW.js.map +0 -1
- package/dist/chunk-SR6IXG3H.js +0 -53
- package/dist/chunk-SR6IXG3H.js.map +0 -1
- package/dist/chunk-TJ6BZNZN.js +0 -63
- package/dist/chunk-TJ6BZNZN.js.map +0 -1
- package/dist/chunk-TXNH2FAV.mjs +0 -85
- package/dist/chunk-U64ZSIAG.mjs +0 -34
- package/dist/chunk-UGCEHB5O.mjs +0 -68
- package/dist/chunk-ULSEH636.js +0 -348
- package/dist/chunk-ULSEH636.js.map +0 -1
- package/dist/chunk-VRGHREA7.mjs +0 -36
- package/dist/chunk-VSI557PV.mjs +0 -40
- package/dist/chunk-WUHNQOQS.js +0 -42
- package/dist/chunk-WUHNQOQS.js.map +0 -1
- package/dist/chunk-XQQJNND7.js +0 -40
- package/dist/chunk-XQQJNND7.js.map +0 -1
- package/dist/chunk-XZP4XGSU.js +0 -101
- package/dist/chunk-XZP4XGSU.js.map +0 -1
- package/dist/chunk-Y4SR2XOX.mjs +0 -53
- package/dist/chunk-Y4VNZ6M4.mjs +0 -842
- package/dist/chunk-Y4VNZ6M4.mjs.map +0 -1
- package/dist/chunk-YCYMQFCK.mjs +0 -80
- package/dist/chunk-YD7YGJGS.mjs +0 -51
- package/dist/chunk-YOFMLSCR.mjs +0 -196
- package/dist/chunk-Z44MRFLB.mjs +0 -42
- package/dist/chunk-ZHDSVAH4.mjs +0 -80
- package/dist/chunk-ZK7JBAZA.mjs +0 -54
- package/dist/chunk-ZPNBTB6K.mjs +0 -70
- package/dist/chunk-ZW6FPEKB.js +0 -63
- package/dist/chunk-ZW6FPEKB.js.map +0 -1
- package/dist/chunk-ZXNNEA3K.mjs +0 -96
- package/dist/config-GLVFORAH.mjs +0 -96
- package/dist/config-S5IJEKP4.js +0 -96
- package/dist/config-S5IJEKP4.js.map +0 -1
- package/dist/create-3JMML7UG.js +0 -43
- package/dist/create-3JMML7UG.js.map +0 -1
- package/dist/create-47NY6B73.js +0 -49
- package/dist/create-47NY6B73.js.map +0 -1
- package/dist/create-4DNEGL3M.js +0 -71
- package/dist/create-4DNEGL3M.js.map +0 -1
- package/dist/create-4QN5LUKH.js +0 -58
- package/dist/create-4QN5LUKH.js.map +0 -1
- package/dist/create-4Z7UHJRP.mjs +0 -88
- package/dist/create-5LJE5X75.mjs +0 -71
- package/dist/create-6P52UISK.mjs +0 -42
- package/dist/create-77WBXXQP.js +0 -94
- package/dist/create-77WBXXQP.js.map +0 -1
- package/dist/create-AE4DHK4X.js +0 -92
- package/dist/create-AE4DHK4X.js.map +0 -1
- package/dist/create-BAQA2KNQ.mjs +0 -88
- package/dist/create-CELHF3VQ.mjs +0 -58
- package/dist/create-CFNC3NS7.js +0 -48
- package/dist/create-CFNC3NS7.js.map +0 -1
- package/dist/create-CSFX5PK2.js +0 -23
- package/dist/create-CSFX5PK2.js.map +0 -1
- package/dist/create-CUXVFTCC.mjs +0 -72
- package/dist/create-ENWDXW4L.js +0 -88
- package/dist/create-ENWDXW4L.js.map +0 -1
- package/dist/create-IBNHVCH3.mjs +0 -92
- package/dist/create-JF67X7QF.mjs +0 -94
- package/dist/create-JOHDQFGP.mjs +0 -43
- package/dist/create-KBL3RQJD.js +0 -72
- package/dist/create-KBL3RQJD.js.map +0 -1
- package/dist/create-LIZ5IYDO.mjs +0 -49
- package/dist/create-MFWGGCWU.mjs +0 -91
- package/dist/create-NWRMJPUH.mjs +0 -52
- package/dist/create-NZK24RKX.mjs +0 -75
- package/dist/create-OADST6TX.js +0 -88
- package/dist/create-OADST6TX.js.map +0 -1
- package/dist/create-Q4S2ROG7.mjs +0 -87
- package/dist/create-QG5BF2IZ.mjs +0 -48
- package/dist/create-QTSZ4MV6.js +0 -50
- package/dist/create-QTSZ4MV6.js.map +0 -1
- package/dist/create-RDMVYC32.js +0 -91
- package/dist/create-RDMVYC32.js.map +0 -1
- package/dist/create-RNNGGW2N.js +0 -42
- package/dist/create-RNNGGW2N.js.map +0 -1
- package/dist/create-RRA765DL.mjs +0 -50
- package/dist/create-TC73WSZM.mjs +0 -23
- package/dist/create-TZOL2HUE.js +0 -87
- package/dist/create-TZOL2HUE.js.map +0 -1
- package/dist/create-UM645TPT.js +0 -75
- package/dist/create-UM645TPT.js.map +0 -1
- package/dist/create-UNHWTHF6.js +0 -52
- package/dist/create-UNHWTHF6.js.map +0 -1
- package/dist/delete-2DVGKYHJ.mjs +0 -59
- package/dist/delete-4XNQI4FR.js +0 -52
- package/dist/delete-4XNQI4FR.js.map +0 -1
- package/dist/delete-5IGR7LFW.mjs +0 -61
- package/dist/delete-6NZTBEBA.mjs +0 -59
- package/dist/delete-7JQHM5XL.js +0 -61
- package/dist/delete-7JQHM5XL.js.map +0 -1
- package/dist/delete-ALNP3GIL.js +0 -39
- package/dist/delete-ALNP3GIL.js.map +0 -1
- package/dist/delete-B5X5TQDN.js +0 -59
- package/dist/delete-B5X5TQDN.js.map +0 -1
- package/dist/delete-BWYSFEUP.js +0 -57
- package/dist/delete-BWYSFEUP.js.map +0 -1
- package/dist/delete-CIT5VULY.mjs +0 -52
- package/dist/delete-FCSC3CZJ.mjs +0 -52
- package/dist/delete-FPQVCWJE.js +0 -41
- package/dist/delete-FPQVCWJE.js.map +0 -1
- package/dist/delete-HLM5EIZ7.js +0 -44
- package/dist/delete-HLM5EIZ7.js.map +0 -1
- package/dist/delete-HRUPAVC6.mjs +0 -52
- package/dist/delete-IRP6N4SD.mjs +0 -52
- package/dist/delete-IX7TARG5.js +0 -42
- package/dist/delete-IX7TARG5.js.map +0 -1
- package/dist/delete-M636IL4I.mjs +0 -39
- package/dist/delete-O7PZ3S77.js +0 -52
- package/dist/delete-O7PZ3S77.js.map +0 -1
- package/dist/delete-PX6VKIDA.mjs +0 -44
- package/dist/delete-Q7FP7CAK.js +0 -52
- package/dist/delete-Q7FP7CAK.js.map +0 -1
- package/dist/delete-QO5X4SUG.js +0 -39
- package/dist/delete-QO5X4SUG.js.map +0 -1
- package/dist/delete-RZOYIWR3.mjs +0 -42
- package/dist/delete-SEOO5442.js +0 -59
- package/dist/delete-SEOO5442.js.map +0 -1
- package/dist/delete-UZN3D2XY.js +0 -52
- package/dist/delete-UZN3D2XY.js.map +0 -1
- package/dist/delete-VK4SOKET.js +0 -38
- package/dist/delete-VK4SOKET.js.map +0 -1
- package/dist/delete-WT5ZPOW5.mjs +0 -39
- package/dist/delete-XKXIQGY2.mjs +0 -38
- package/dist/delete-XVELJHBT.mjs +0 -41
- package/dist/delete-ZCOMJXJN.mjs +0 -57
- package/dist/download-CHMFKTTA.js +0 -100
- package/dist/download-CHMFKTTA.js.map +0 -1
- package/dist/download-LBZQQGAW.mjs +0 -100
- package/dist/duplicate-4CYGY3CB.js +0 -45
- package/dist/duplicate-4CYGY3CB.js.map +0 -1
- package/dist/duplicate-CK5CK7EE.mjs +0 -45
- package/dist/export-PCNLQKT7.mjs +0 -103
- package/dist/export-RJUV4K5G.js +0 -103
- package/dist/export-RJUV4K5G.js.map +0 -1
- package/dist/get-2FCVWEAR.mjs +0 -52
- package/dist/get-2FFH55XR.mjs +0 -71
- package/dist/get-33M3ULUA.mjs +0 -56
- package/dist/get-4FUVJWUP.js +0 -56
- package/dist/get-4FUVJWUP.js.map +0 -1
- package/dist/get-5J5ZCVO3.mjs +0 -51
- package/dist/get-5LPZZBFE.mjs +0 -76
- package/dist/get-62HI4WSZ.mjs +0 -52
- package/dist/get-6EASKLZD.js +0 -52
- package/dist/get-6EASKLZD.js.map +0 -1
- package/dist/get-AZ5B7JMV.js +0 -71
- package/dist/get-AZ5B7JMV.js.map +0 -1
- package/dist/get-C7F4Q4SZ.mjs +0 -85
- package/dist/get-C7M6MBK7.mjs +0 -71
- package/dist/get-DB7HWIK5.mjs +0 -49
- package/dist/get-DRVCLWK2.js +0 -71
- package/dist/get-DRVCLWK2.js.map +0 -1
- package/dist/get-E6UZ4RIO.mjs +0 -67
- package/dist/get-G6I4TTVS.mjs +0 -70
- package/dist/get-GBKBVQ4Z.mjs +0 -94
- package/dist/get-GV5SFKJX.js +0 -51
- package/dist/get-GV5SFKJX.js.map +0 -1
- package/dist/get-HBDFWG5S.js +0 -71
- package/dist/get-HBDFWG5S.js.map +0 -1
- package/dist/get-I5S7Y3AV.js +0 -66
- package/dist/get-I5S7Y3AV.js.map +0 -1
- package/dist/get-IPSTC3JQ.js +0 -52
- package/dist/get-IPSTC3JQ.js.map +0 -1
- package/dist/get-KY6NDIFX.js +0 -67
- package/dist/get-KY6NDIFX.js.map +0 -1
- package/dist/get-MDKUNVII.js +0 -76
- package/dist/get-MDKUNVII.js.map +0 -1
- package/dist/get-MPWMWBP5.js +0 -149
- package/dist/get-MPWMWBP5.js.map +0 -1
- package/dist/get-MYCFTBG2.js +0 -68
- package/dist/get-MYCFTBG2.js.map +0 -1
- package/dist/get-Q3ML5RPZ.js +0 -85
- package/dist/get-Q3ML5RPZ.js.map +0 -1
- package/dist/get-QLQE2CRR.js +0 -70
- package/dist/get-QLQE2CRR.js.map +0 -1
- package/dist/get-R57XCMUI.js +0 -49
- package/dist/get-R57XCMUI.js.map +0 -1
- package/dist/get-SBEWJXMA.mjs +0 -66
- package/dist/get-USU7CKKV.mjs +0 -149
- package/dist/get-V2XSCF5A.mjs +0 -71
- package/dist/get-Z3CCLLV2.mjs +0 -68
- package/dist/get-Z6Y2IMIC.js +0 -94
- package/dist/get-Z6Y2IMIC.js.map +0 -1
- package/dist/health-N2OH2AY2.js +0 -73
- package/dist/health-N2OH2AY2.js.map +0 -1
- package/dist/health-TRFE5XP6.mjs +0 -73
- package/dist/implementation-BnHDvCiV.d.ts +0 -716
- package/dist/implementation-DAJWafyn.d.mts +0 -716
- package/dist/ingestion-templates-JKPKSBKU.mjs +0 -169
- package/dist/ingestion-templates-VMYNI5PE.js +0 -169
- package/dist/ingestion-templates-VMYNI5PE.js.map +0 -1
- package/dist/init-shell-HDRZNWT5.mjs +0 -72
- package/dist/init-shell-TRIEEIBG.js +0 -72
- package/dist/init-shell-TRIEEIBG.js.map +0 -1
- package/dist/install-C7BQPKYW.js +0 -191
- package/dist/install-C7BQPKYW.js.map +0 -1
- package/dist/install-OZGCZVAX.mjs +0 -191
- package/dist/list-2CFFGBXV.mjs +0 -76
- package/dist/list-2D5L7NDX.mjs +0 -71
- package/dist/list-3RNYOMH3.js +0 -75
- package/dist/list-3RNYOMH3.js.map +0 -1
- package/dist/list-4SBPZS55.js +0 -76
- package/dist/list-4SBPZS55.js.map +0 -1
- package/dist/list-4SFFUJEU.js +0 -78
- package/dist/list-4SFFUJEU.js.map +0 -1
- package/dist/list-4WXNGK5M.mjs +0 -80
- package/dist/list-6U376WQD.mjs +0 -86
- package/dist/list-7JHALKIB.js +0 -122
- package/dist/list-7JHALKIB.js.map +0 -1
- package/dist/list-AAETVUWI.js +0 -82
- package/dist/list-AAETVUWI.js.map +0 -1
- package/dist/list-BB5WZ6RT.js +0 -71
- package/dist/list-BB5WZ6RT.js.map +0 -1
- package/dist/list-D3PAG5BA.mjs +0 -75
- package/dist/list-DYTJUCV5.mjs +0 -82
- package/dist/list-E5DZRDYB.mjs +0 -85
- package/dist/list-EAMGM7UH.mjs +0 -72
- package/dist/list-FKBXBSNK.js +0 -75
- package/dist/list-FKBXBSNK.js.map +0 -1
- package/dist/list-FMVSTEJQ.js +0 -78
- package/dist/list-FMVSTEJQ.js.map +0 -1
- package/dist/list-H342LAW7.js +0 -72
- package/dist/list-H342LAW7.js.map +0 -1
- package/dist/list-HW5FPLPX.js +0 -83
- package/dist/list-HW5FPLPX.js.map +0 -1
- package/dist/list-I7DSQZP3.js +0 -90
- package/dist/list-I7DSQZP3.js.map +0 -1
- package/dist/list-IG2LS5FB.mjs +0 -111
- package/dist/list-J4UCDIO7.mjs +0 -122
- package/dist/list-J7CSHIO7.mjs +0 -75
- package/dist/list-KQRCGH46.mjs +0 -87
- package/dist/list-LLMHZ4VJ.js +0 -85
- package/dist/list-LLMHZ4VJ.js.map +0 -1
- package/dist/list-LOMKG7GX.mjs +0 -78
- package/dist/list-LUTBRHMC.js +0 -87
- package/dist/list-LUTBRHMC.js.map +0 -1
- package/dist/list-MPI3XBWH.mjs +0 -80
- package/dist/list-MYHFWCOJ.js +0 -80
- package/dist/list-MYHFWCOJ.js.map +0 -1
- package/dist/list-NACMHMLI.mjs +0 -53
- package/dist/list-OFXYAGCR.mjs +0 -78
- package/dist/list-OSYUGPEL.js +0 -75
- package/dist/list-OSYUGPEL.js.map +0 -1
- package/dist/list-OZ3SJY3K.js +0 -53
- package/dist/list-OZ3SJY3K.js.map +0 -1
- package/dist/list-QDHXY3UU.js +0 -111
- package/dist/list-QDHXY3UU.js.map +0 -1
- package/dist/list-QEDZMWZH.mjs +0 -75
- package/dist/list-QN26UM36.mjs +0 -82
- package/dist/list-UI6UIPJA.mjs +0 -90
- package/dist/list-W2MSW6OM.js +0 -78
- package/dist/list-W2MSW6OM.js.map +0 -1
- package/dist/list-W5WMNQC4.js +0 -86
- package/dist/list-W5WMNQC4.js.map +0 -1
- package/dist/list-WHL45EER.mjs +0 -83
- package/dist/list-XXZR7LE7.js +0 -104
- package/dist/list-XXZR7LE7.js.map +0 -1
- package/dist/list-YLMF4OM2.mjs +0 -104
- package/dist/list-YXMRMNSO.js +0 -80
- package/dist/list-YXMRMNSO.js.map +0 -1
- package/dist/list-YZFZHZWK.mjs +0 -78
- package/dist/list-Z3UVHWV6.js +0 -82
- package/dist/list-Z3UVHWV6.js.map +0 -1
- package/dist/login-47UJCUSU.js +0 -236
- package/dist/login-47UJCUSU.js.map +0 -1
- package/dist/login-JR7TJML3.mjs +0 -236
- package/dist/login-JR7TJML3.mjs.map +0 -1
- package/dist/pull-D2BGVRRQ.js +0 -27
- package/dist/pull-D2BGVRRQ.js.map +0 -1
- package/dist/pull-WYMWXDEI.mjs +0 -27
- package/dist/push-IEQSXRML.js +0 -27
- package/dist/push-IEQSXRML.js.map +0 -1
- package/dist/push-RVSTM24X.mjs +0 -27
- package/dist/query-4AKTSCJ4.js +0 -122
- package/dist/query-4AKTSCJ4.js.map +0 -1
- package/dist/query-NXIO4E43.mjs +0 -122
- package/dist/records-add-H42W7OL2.js +0 -98
- package/dist/records-add-H42W7OL2.js.map +0 -1
- package/dist/records-add-MEZAQFMP.mjs +0 -98
- package/dist/records-delete-3SW57JBS.js +0 -46
- package/dist/records-delete-3SW57JBS.js.map +0 -1
- package/dist/records-delete-TULWUHBK.mjs +0 -46
- package/dist/records-list-DCWD3EQ7.mjs +0 -89
- package/dist/records-list-IXZPDMXF.js +0 -89
- package/dist/records-list-IXZPDMXF.js.map +0 -1
- package/dist/records-update-3SCCJWLV.js +0 -53
- package/dist/records-update-3SCCJWLV.js.map +0 -1
- package/dist/records-update-HUPBIWQH.mjs +0 -53
- package/dist/remove-I7H6G24M.mjs +0 -114
- package/dist/remove-R4XQSQ7T.js +0 -114
- package/dist/remove-R4XQSQ7T.js.map +0 -1
- package/dist/rename-MX5O5TQS.mjs +0 -42
- package/dist/rename-UCWITCVB.js +0 -42
- package/dist/rename-UCWITCVB.js.map +0 -1
- package/dist/restore-URMJWFUH.js +0 -73
- package/dist/restore-URMJWFUH.js.map +0 -1
- package/dist/restore-YX52WBPO.mjs +0 -73
- package/dist/revoke-EBRCPCNZ.js +0 -41
- package/dist/revoke-EBRCPCNZ.js.map +0 -1
- package/dist/revoke-MOIPQURQ.mjs +0 -44
- package/dist/revoke-NT346HCC.js +0 -44
- package/dist/revoke-NT346HCC.js.map +0 -1
- package/dist/revoke-QM3XGPFO.mjs +0 -41
- package/dist/rotate-KRJIPA7Y.js +0 -52
- package/dist/rotate-KRJIPA7Y.js.map +0 -1
- package/dist/rotate-SFFTJBX6.mjs +0 -52
- package/dist/run-22CWT4SE.mjs +0 -83
- package/dist/run-BECC4Z4P.mjs +0 -142
- package/dist/run-E2TMYRV3.js +0 -144
- package/dist/run-E2TMYRV3.js.map +0 -1
- package/dist/run-E74YQQP5.js +0 -77
- package/dist/run-E74YQQP5.js.map +0 -1
- package/dist/run-IOZEKG5Z.js +0 -83
- package/dist/run-IOZEKG5Z.js.map +0 -1
- package/dist/run-M4SYFW7B.mjs +0 -144
- package/dist/run-R65VGQKC.js +0 -131
- package/dist/run-R65VGQKC.js.map +0 -1
- package/dist/run-SO2EUV4M.mjs +0 -131
- package/dist/run-WDKEERR7.js +0 -142
- package/dist/run-WDKEERR7.js.map +0 -1
- package/dist/run-XWZPJ7D7.mjs +0 -77
- package/dist/search-DK5YZUWJ.js +0 -108
- package/dist/search-DK5YZUWJ.js.map +0 -1
- package/dist/search-EE5ILLO5.mjs +0 -108
- package/dist/set-6JLOE6A3.js +0 -59
- package/dist/set-6JLOE6A3.js.map +0 -1
- package/dist/set-N2YD4CWA.mjs +0 -105
- package/dist/set-NCCBGSZI.js +0 -105
- package/dist/set-NCCBGSZI.js.map +0 -1
- package/dist/set-SQWMRODU.mjs +0 -59
- package/dist/status-A63BEBHA.mjs +0 -153
- package/dist/status-AZKXVX5K.js +0 -120
- package/dist/status-AZKXVX5K.js.map +0 -1
- package/dist/status-BRJAXF7H.mjs +0 -56
- package/dist/status-QEI7AEFU.mjs +0 -120
- package/dist/status-SPR7WGJD.js +0 -153
- package/dist/status-SPR7WGJD.js.map +0 -1
- package/dist/status-ZINQQC77.js +0 -56
- package/dist/status-ZINQQC77.js.map +0 -1
- package/dist/sync-C2FYBUXZ.mjs +0 -132
- package/dist/sync-N4WAZX2V.js +0 -132
- package/dist/sync-N4WAZX2V.js.map +0 -1
- package/dist/tail-2TZBJ4UU.mjs +0 -108
- package/dist/tail-O5WZSWUR.js +0 -108
- package/dist/tail-O5WZSWUR.js.map +0 -1
- package/dist/types-mrPkoEqK.d.mts +0 -14817
- package/dist/types-oFt_LG_E.d.ts +0 -14817
- package/dist/unset-EP5UF3HN.js +0 -107
- package/dist/unset-EP5UF3HN.js.map +0 -1
- package/dist/unset-JDBF5WZ4.mjs +0 -107
- package/dist/update-2NUUNQGQ.js +0 -48
- package/dist/update-2NUUNQGQ.js.map +0 -1
- package/dist/update-3HM7BQCB.mjs +0 -79
- package/dist/update-72TLFN4K.js +0 -65
- package/dist/update-72TLFN4K.js.map +0 -1
- package/dist/update-74CONOGX.mjs +0 -106
- package/dist/update-BVR5YK2N.js +0 -106
- package/dist/update-BVR5YK2N.js.map +0 -1
- package/dist/update-DWKSFXZS.mjs +0 -76
- package/dist/update-E2X4PTCH.mjs +0 -66
- package/dist/update-FZ3F4CZP.js +0 -51
- package/dist/update-FZ3F4CZP.js.map +0 -1
- package/dist/update-GEAMFHWQ.js +0 -76
- package/dist/update-GEAMFHWQ.js.map +0 -1
- package/dist/update-HTH3B37F.js +0 -48
- package/dist/update-HTH3B37F.js.map +0 -1
- package/dist/update-ICAZVWN7.mjs +0 -48
- package/dist/update-JZXY7QZZ.js +0 -63
- package/dist/update-JZXY7QZZ.js.map +0 -1
- package/dist/update-L3AO4LLS.js +0 -61
- package/dist/update-L3AO4LLS.js.map +0 -1
- package/dist/update-MHT2RTIA.js +0 -75
- package/dist/update-MHT2RTIA.js.map +0 -1
- package/dist/update-MICKP74Y.mjs +0 -63
- package/dist/update-MXMHHDQC.js +0 -83
- package/dist/update-MXMHHDQC.js.map +0 -1
- package/dist/update-OMVCUCBW.mjs +0 -75
- package/dist/update-OQCBAY4R.mjs +0 -71
- package/dist/update-REHOOIWE.mjs +0 -61
- package/dist/update-RG44DJJN.mjs +0 -63
- package/dist/update-TGAZLXSS.mjs +0 -65
- package/dist/update-UX7DDCTZ.js +0 -71
- package/dist/update-UX7DDCTZ.js.map +0 -1
- package/dist/update-UXXBNBD2.mjs +0 -51
- package/dist/update-W4TGWD7Y.js +0 -66
- package/dist/update-W4TGWD7Y.js.map +0 -1
- package/dist/update-WAKJMJSW.mjs +0 -48
- package/dist/update-WZFUHNL6.js +0 -63
- package/dist/update-WZFUHNL6.js.map +0 -1
- package/dist/update-X5HDX6OF.mjs +0 -83
- package/dist/update-YPXL5AA3.js +0 -79
- package/dist/update-YPXL5AA3.js.map +0 -1
- package/dist/upload-II4EJAVL.js +0 -80
- package/dist/upload-II4EJAVL.js.map +0 -1
- package/dist/upload-LOZDNQI7.mjs +0 -80
- package/dist/versions-5EUM6XGH.js +0 -85
- package/dist/versions-5EUM6XGH.js.map +0 -1
- package/dist/versions-IMI3IJXZ.mjs +0 -85
- package/dist/wrap-4RZZKIGG.mjs +0 -34
- package/dist/wrap-ICL5AYPL.js +0 -34
- package/dist/wrap-ICL5AYPL.js.map +0 -1
- /package/dist/{add-Q2IP7YH3.mjs.map → add-52KP5RUX.mjs.map} +0 -0
- /package/dist/{archive-KA3DDEKA.mjs.map → archive-ZKTGGFDU.mjs.map} +0 -0
- /package/dist/{assign-MHDHXJLE.mjs.map → assign-W7HMZLLA.mjs.map} +0 -0
- /package/dist/{chunk-D3UYY7BE.mjs.map → chunk-2XTZ7GBC.mjs.map} +0 -0
- /package/dist/{chunk-YOFMLSCR.mjs.map → chunk-4VOXYSVX.mjs.map} +0 -0
- /package/dist/{chunk-U64ZSIAG.mjs.map → chunk-5C7DPGRK.mjs.map} +0 -0
- /package/dist/{chunk-6JLYEKSN.mjs.map → chunk-5U4XEWEX.mjs.map} +0 -0
- /package/dist/{chunk-ZHDSVAH4.mjs.map → chunk-7YJMKWOH.mjs.map} +0 -0
- /package/dist/{chunk-VSI557PV.mjs.map → chunk-AJUCX3LD.mjs.map} +0 -0
- /package/dist/{chunk-TXNH2FAV.mjs.map → chunk-BU2DXABO.mjs.map} +0 -0
- /package/dist/{chunk-56HLVZTH.mjs.map → chunk-BWALMZEU.mjs.map} +0 -0
- /package/dist/{chunk-YD7YGJGS.mjs.map → chunk-DC7HLQID.mjs.map} +0 -0
- /package/dist/{chunk-M5CWQUST.mjs.map → chunk-F4FGQZND.mjs.map} +0 -0
- /package/dist/{chunk-YCYMQFCK.mjs.map → chunk-FMPW7DZ3.mjs.map} +0 -0
- /package/dist/{chunk-JU4TVC65.mjs.map → chunk-GIT5RVG4.mjs.map} +0 -0
- /package/dist/{chunk-ZPNBTB6K.mjs.map → chunk-H2DTN2TK.mjs.map} +0 -0
- /package/dist/{chunk-Y4SR2XOX.mjs.map → chunk-I6QOTFMP.mjs.map} +0 -0
- /package/dist/{chunk-FHIZZVOY.mjs.map → chunk-JBEVRIYW.mjs.map} +0 -0
- /package/dist/{chunk-VRGHREA7.mjs.map → chunk-KUEKEUKX.mjs.map} +0 -0
- /package/dist/{chunk-ZK7JBAZA.mjs.map → chunk-OJ4URNYC.mjs.map} +0 -0
- /package/dist/{chunk-GCSSYCND.mjs.map → chunk-OUJ7Z4TK.mjs.map} +0 -0
- /package/dist/{chunk-GPKFTIVT.mjs.map → chunk-QAZHQ7SZ.mjs.map} +0 -0
- /package/dist/{chunk-C5MLYQPW.mjs.map → chunk-QGGX6LSK.mjs.map} +0 -0
- /package/dist/{chunk-UGCEHB5O.mjs.map → chunk-R3PLRKDO.mjs.map} +0 -0
- /package/dist/{chunk-IV5D5ONR.mjs.map → chunk-SUANHT23.mjs.map} +0 -0
- /package/dist/{chunk-76F3JX5P.mjs.map → chunk-W35QTHIH.mjs.map} +0 -0
- /package/dist/{chunk-KSHHFBLP.mjs.map → chunk-X6NSR74I.mjs.map} +0 -0
- /package/dist/{chunk-OAKLOXKJ.mjs.map → chunk-XHQP55GA.mjs.map} +0 -0
- /package/dist/{chunk-Z44MRFLB.mjs.map → chunk-XLJ5GJTK.mjs.map} +0 -0
- /package/dist/{chunk-ZXNNEA3K.mjs.map → chunk-XMAAQWBG.mjs.map} +0 -0
- /package/dist/{chunk-QU7P4VY4.mjs.map → chunk-YIACSQXG.mjs.map} +0 -0
- /package/dist/{config-GLVFORAH.mjs.map → config-VPRQKJMJ.mjs.map} +0 -0
- /package/dist/{create-NWRMJPUH.mjs.map → create-2FRM4WVA.mjs.map} +0 -0
- /package/dist/{create-JOHDQFGP.mjs.map → create-3IUBLMI7.mjs.map} +0 -0
- /package/dist/{create-CUXVFTCC.mjs.map → create-3NCRMEMB.mjs.map} +0 -0
- /package/dist/{create-CELHF3VQ.mjs.map → create-4GFIXF5E.mjs.map} +0 -0
- /package/dist/{create-MFWGGCWU.mjs.map → create-4ODQ66VV.mjs.map} +0 -0
- /package/dist/{create-6P52UISK.mjs.map → create-5TFOS2OJ.mjs.map} +0 -0
- /package/dist/{create-Q4S2ROG7.mjs.map → create-ACC73K6P.mjs.map} +0 -0
- /package/dist/{create-NZK24RKX.mjs.map → create-DYCE3DG5.mjs.map} +0 -0
- /package/dist/{create-RRA765DL.mjs.map → create-EBEOJS2H.mjs.map} +0 -0
- /package/dist/{create-IBNHVCH3.mjs.map → create-FJMGFFCM.mjs.map} +0 -0
- /package/dist/{create-BAQA2KNQ.mjs.map → create-I5INSZYR.mjs.map} +0 -0
- /package/dist/{create-JF67X7QF.mjs.map → create-P3647AMU.mjs.map} +0 -0
- /package/dist/{create-4Z7UHJRP.mjs.map → create-SPAXSFIN.mjs.map} +0 -0
- /package/dist/{create-5LJE5X75.mjs.map → create-T3V4JRJQ.mjs.map} +0 -0
- /package/dist/{create-LIZ5IYDO.mjs.map → create-TZ76BDWV.mjs.map} +0 -0
- /package/dist/{create-QG5BF2IZ.mjs.map → create-XPJS3IZT.mjs.map} +0 -0
- /package/dist/{create-TC73WSZM.mjs.map → create-ZU4LXLBN.mjs.map} +0 -0
- /package/dist/{delete-RZOYIWR3.mjs.map → delete-3PMEY5RH.mjs.map} +0 -0
- /package/dist/{delete-5IGR7LFW.mjs.map → delete-6FRZ6LJJ.mjs.map} +0 -0
- /package/dist/{delete-XKXIQGY2.mjs.map → delete-E2O6CPEK.mjs.map} +0 -0
- /package/dist/{delete-2DVGKYHJ.mjs.map → delete-G5IYZ6R5.mjs.map} +0 -0
- /package/dist/{delete-XVELJHBT.mjs.map → delete-IRJG3K2J.mjs.map} +0 -0
- /package/dist/{delete-HRUPAVC6.mjs.map → delete-JMX33YI4.mjs.map} +0 -0
- /package/dist/{delete-M636IL4I.mjs.map → delete-M7EG5VPB.mjs.map} +0 -0
- /package/dist/{delete-ZCOMJXJN.mjs.map → delete-NH4NQLFP.mjs.map} +0 -0
- /package/dist/{delete-FCSC3CZJ.mjs.map → delete-POZCY7IQ.mjs.map} +0 -0
- /package/dist/{delete-WT5ZPOW5.mjs.map → delete-U655HP5R.mjs.map} +0 -0
- /package/dist/{delete-CIT5VULY.mjs.map → delete-UTKUA6Z4.mjs.map} +0 -0
- /package/dist/{delete-6NZTBEBA.mjs.map → delete-WP3JYGLE.mjs.map} +0 -0
- /package/dist/{delete-IRP6N4SD.mjs.map → delete-XAUAF53M.mjs.map} +0 -0
- /package/dist/{delete-PX6VKIDA.mjs.map → delete-YT3ID37D.mjs.map} +0 -0
- /package/dist/{download-LBZQQGAW.mjs.map → download-F2DXRLJP.mjs.map} +0 -0
- /package/dist/{duplicate-CK5CK7EE.mjs.map → duplicate-B7OUVDVB.mjs.map} +0 -0
- /package/dist/{export-PCNLQKT7.mjs.map → export-SNBK2AV4.mjs.map} +0 -0
- /package/dist/{get-C7F4Q4SZ.mjs.map → get-4NKLZBDS.mjs.map} +0 -0
- /package/dist/{get-SBEWJXMA.mjs.map → get-BOXL42XW.mjs.map} +0 -0
- /package/dist/{get-Z3CCLLV2.mjs.map → get-CLTPKM7D.mjs.map} +0 -0
- /package/dist/{get-G6I4TTVS.mjs.map → get-CRGWXOZP.mjs.map} +0 -0
- /package/dist/{get-5J5ZCVO3.mjs.map → get-D6SHECLX.mjs.map} +0 -0
- /package/dist/{get-2FCVWEAR.mjs.map → get-JKRW7OHW.mjs.map} +0 -0
- /package/dist/{get-5LPZZBFE.mjs.map → get-KS3QMH5A.mjs.map} +0 -0
- /package/dist/{get-DB7HWIK5.mjs.map → get-NP6FEVLY.mjs.map} +0 -0
- /package/dist/{get-62HI4WSZ.mjs.map → get-P7W3V3CB.mjs.map} +0 -0
- /package/dist/{get-USU7CKKV.mjs.map → get-QO7VEIRN.mjs.map} +0 -0
- /package/dist/{get-33M3ULUA.mjs.map → get-ROAE6T5N.mjs.map} +0 -0
- /package/dist/{get-C7M6MBK7.mjs.map → get-RYIZPF25.mjs.map} +0 -0
- /package/dist/{get-2FFH55XR.mjs.map → get-TITUKTHE.mjs.map} +0 -0
- /package/dist/{get-V2XSCF5A.mjs.map → get-UOZBGGCG.mjs.map} +0 -0
- /package/dist/{get-E6UZ4RIO.mjs.map → get-WW7HVSUY.mjs.map} +0 -0
- /package/dist/{get-GBKBVQ4Z.mjs.map → get-ZXTDMVWX.mjs.map} +0 -0
- /package/dist/{health-TRFE5XP6.mjs.map → health-MCMRR6RQ.mjs.map} +0 -0
- /package/dist/{ingestion-templates-JKPKSBKU.mjs.map → ingestion-templates-7TLETXIF.mjs.map} +0 -0
- /package/dist/{init-shell-HDRZNWT5.mjs.map → init-shell-AEPYN2KV.mjs.map} +0 -0
- /package/dist/{install-OZGCZVAX.mjs.map → install-PQACVMPW.mjs.map} +0 -0
- /package/dist/{list-WHL45EER.mjs.map → list-6ZUZ54WZ.mjs.map} +0 -0
- /package/dist/{list-J7CSHIO7.mjs.map → list-7TJVXJW3.mjs.map} +0 -0
- /package/dist/{list-J4UCDIO7.mjs.map → list-B5QJP7XO.mjs.map} +0 -0
- /package/dist/{list-DYTJUCV5.mjs.map → list-C4TIICKC.mjs.map} +0 -0
- /package/dist/{list-IG2LS5FB.mjs.map → list-CSPHALVP.mjs.map} +0 -0
- /package/dist/{list-QN26UM36.mjs.map → list-CSZZQTHD.mjs.map} +0 -0
- /package/dist/{list-KQRCGH46.mjs.map → list-FYKAGJ6V.mjs.map} +0 -0
- /package/dist/{list-YLMF4OM2.mjs.map → list-G3ASKJUN.mjs.map} +0 -0
- /package/dist/{list-NACMHMLI.mjs.map → list-GYJNBKUF.mjs.map} +0 -0
- /package/dist/{list-E5DZRDYB.mjs.map → list-KX4MIAJE.mjs.map} +0 -0
- /package/dist/{list-4WXNGK5M.mjs.map → list-L33MTOSA.mjs.map} +0 -0
- /package/dist/{list-6U376WQD.mjs.map → list-M3IEVLUD.mjs.map} +0 -0
- /package/dist/{list-UI6UIPJA.mjs.map → list-N4LN7RVG.mjs.map} +0 -0
- /package/dist/{list-D3PAG5BA.mjs.map → list-OZDM5FA6.mjs.map} +0 -0
- /package/dist/{list-OFXYAGCR.mjs.map → list-R4SZ3SMF.mjs.map} +0 -0
- /package/dist/{list-2D5L7NDX.mjs.map → list-TAFBD6EY.mjs.map} +0 -0
- /package/dist/{list-EAMGM7UH.mjs.map → list-VJL5TZ4T.mjs.map} +0 -0
- /package/dist/{list-MPI3XBWH.mjs.map → list-VKNEMSY4.mjs.map} +0 -0
- /package/dist/{list-QEDZMWZH.mjs.map → list-WJNJNMQC.mjs.map} +0 -0
- /package/dist/{list-2CFFGBXV.mjs.map → list-YAR5NB2Q.mjs.map} +0 -0
- /package/dist/{list-YZFZHZWK.mjs.map → list-Z3YOLIK2.mjs.map} +0 -0
- /package/dist/{list-LOMKG7GX.mjs.map → list-Z6OG6DLD.mjs.map} +0 -0
- /package/dist/{pull-WYMWXDEI.mjs.map → pull-VHGPIULB.mjs.map} +0 -0
- /package/dist/{push-RVSTM24X.mjs.map → push-ZPL2UNNV.mjs.map} +0 -0
- /package/dist/{query-NXIO4E43.mjs.map → query-PRJT7GQY.mjs.map} +0 -0
- /package/dist/{records-add-MEZAQFMP.mjs.map → records-add-P2FTGDNL.mjs.map} +0 -0
- /package/dist/{records-delete-TULWUHBK.mjs.map → records-delete-TZATYNEX.mjs.map} +0 -0
- /package/dist/{records-list-DCWD3EQ7.mjs.map → records-list-AI5CT26J.mjs.map} +0 -0
- /package/dist/{records-update-HUPBIWQH.mjs.map → records-update-TK3HWM2C.mjs.map} +0 -0
- /package/dist/{remove-I7H6G24M.mjs.map → remove-XAF4RTKP.mjs.map} +0 -0
- /package/dist/{rename-MX5O5TQS.mjs.map → rename-AAQZTQCF.mjs.map} +0 -0
- /package/dist/{restore-YX52WBPO.mjs.map → restore-VJDHJ7Y3.mjs.map} +0 -0
- /package/dist/{revoke-MOIPQURQ.mjs.map → revoke-7HUYDQZ6.mjs.map} +0 -0
- /package/dist/{revoke-QM3XGPFO.mjs.map → revoke-UUVPYOPV.mjs.map} +0 -0
- /package/dist/{rotate-SFFTJBX6.mjs.map → rotate-MU4L6YPU.mjs.map} +0 -0
- /package/dist/{run-M4SYFW7B.mjs.map → run-D4YIYYTE.mjs.map} +0 -0
- /package/dist/{run-SO2EUV4M.mjs.map → run-GC3RJI74.mjs.map} +0 -0
- /package/dist/{run-BECC4Z4P.mjs.map → run-PC5KFO4B.mjs.map} +0 -0
- /package/dist/{run-22CWT4SE.mjs.map → run-URPG3S24.mjs.map} +0 -0
- /package/dist/{run-XWZPJ7D7.mjs.map → run-WWBEHGYG.mjs.map} +0 -0
- /package/dist/{search-EE5ILLO5.mjs.map → search-L7IAXT4D.mjs.map} +0 -0
- /package/dist/{set-N2YD4CWA.mjs.map → set-5YJE4NOS.mjs.map} +0 -0
- /package/dist/{set-SQWMRODU.mjs.map → set-X7XDEFU5.mjs.map} +0 -0
- /package/dist/{status-QEI7AEFU.mjs.map → status-6UGUEKSC.mjs.map} +0 -0
- /package/dist/{status-BRJAXF7H.mjs.map → status-GSPWZ255.mjs.map} +0 -0
- /package/dist/{status-A63BEBHA.mjs.map → status-PXWG34DC.mjs.map} +0 -0
- /package/dist/{sync-C2FYBUXZ.mjs.map → sync-JRLKLXA6.mjs.map} +0 -0
- /package/dist/{tail-2TZBJ4UU.mjs.map → tail-D26CEKSH.mjs.map} +0 -0
- /package/dist/{unset-JDBF5WZ4.mjs.map → unset-WSH675SN.mjs.map} +0 -0
- /package/dist/{update-TGAZLXSS.mjs.map → update-3EI6SA7W.mjs.map} +0 -0
- /package/dist/{update-X5HDX6OF.mjs.map → update-3YLN3YXF.mjs.map} +0 -0
- /package/dist/{update-3HM7BQCB.mjs.map → update-62D6MLES.mjs.map} +0 -0
- /package/dist/{update-REHOOIWE.mjs.map → update-AS7FCV5B.mjs.map} +0 -0
- /package/dist/{update-OQCBAY4R.mjs.map → update-BNJEOWPP.mjs.map} +0 -0
- /package/dist/{update-74CONOGX.mjs.map → update-CU4Z6XQR.mjs.map} +0 -0
- /package/dist/{update-RG44DJJN.mjs.map → update-E6BQSBVN.mjs.map} +0 -0
- /package/dist/{update-MICKP74Y.mjs.map → update-ELVULBIN.mjs.map} +0 -0
- /package/dist/{update-WAKJMJSW.mjs.map → update-EWBAZK64.mjs.map} +0 -0
- /package/dist/{update-UXXBNBD2.mjs.map → update-EWS5LIXP.mjs.map} +0 -0
- /package/dist/{update-OMVCUCBW.mjs.map → update-GFAZJBC2.mjs.map} +0 -0
- /package/dist/{update-ICAZVWN7.mjs.map → update-JJDVXFLD.mjs.map} +0 -0
- /package/dist/{update-E2X4PTCH.mjs.map → update-JXSPKDKA.mjs.map} +0 -0
- /package/dist/{update-DWKSFXZS.mjs.map → update-NGJUN2VK.mjs.map} +0 -0
- /package/dist/{upload-LOZDNQI7.mjs.map → upload-LERNY5WA.mjs.map} +0 -0
- /package/dist/{versions-IMI3IJXZ.mjs.map → versions-HP6HA2TT.mjs.map} +0 -0
- /package/dist/{wrap-4RZZKIGG.mjs.map → wrap-G3UCHRFN.mjs.map} +0 -0
package/dist/chunk-35TLPU6Q.mjs
DELETED
|
@@ -1,1411 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
writeCodexGatewayBlock,
|
|
3
|
-
writeCodexOtelBlock
|
|
4
|
-
} from "./chunk-EGOB3GIL.mjs";
|
|
5
|
-
import {
|
|
6
|
-
runDeviceFlowLogin
|
|
7
|
-
} from "./chunk-KTETIIUG.mjs";
|
|
8
|
-
import {
|
|
9
|
-
GovernanceCliError,
|
|
10
|
-
getCliBootstrap,
|
|
11
|
-
mintIngestionKey
|
|
12
|
-
} from "./chunk-G7XWPZVF.mjs";
|
|
13
|
-
import {
|
|
14
|
-
isLoggedIn,
|
|
15
|
-
loadConfig,
|
|
16
|
-
saveConfig
|
|
17
|
-
} from "./chunk-U47MQ6CS.mjs";
|
|
18
|
-
import {
|
|
19
|
-
__spreadProps,
|
|
20
|
-
__spreadValues
|
|
21
|
-
} from "./chunk-BAX4W3AY.mjs";
|
|
22
|
-
|
|
23
|
-
// src/cli/utils/governance/wrapper.ts
|
|
24
|
-
import { spawn } from "child_process";
|
|
25
|
-
|
|
26
|
-
// src/cli/utils/governance/brand.ts
|
|
27
|
-
import chalk from "chalk";
|
|
28
|
-
var LANGWATCH_ORANGE = "#ED8926";
|
|
29
|
-
function lwTag() {
|
|
30
|
-
return chalk.hex(LANGWATCH_ORANGE).bold("\u2726 langwatch");
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// src/cli/utils/governance/budget.ts
|
|
34
|
-
async function checkBudget(cfg, opts = {}) {
|
|
35
|
-
var _a, _b;
|
|
36
|
-
if (!cfg.access_token) return null;
|
|
37
|
-
const f = (_a = opts.fetchImpl) != null ? _a : fetch;
|
|
38
|
-
const url = cfg.control_plane_url.replace(/\/+$/, "") + "/api/auth/cli/budget/status";
|
|
39
|
-
let res;
|
|
40
|
-
try {
|
|
41
|
-
res = await f(url, {
|
|
42
|
-
method: "GET",
|
|
43
|
-
headers: {
|
|
44
|
-
Authorization: `Bearer ${cfg.access_token}`,
|
|
45
|
-
Accept: "application/json"
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
} catch (e) {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
if (res.status === 200) return null;
|
|
52
|
-
if (res.status === 404) return null;
|
|
53
|
-
if (res.status === 402) {
|
|
54
|
-
try {
|
|
55
|
-
const body = await res.json();
|
|
56
|
-
if (((_b = body.error) == null ? void 0 : _b.type) && body.error.scope) return body.error;
|
|
57
|
-
} catch (e) {
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
var PERIOD_LABEL = {
|
|
63
|
-
minute: "per-minute",
|
|
64
|
-
hour: "hourly",
|
|
65
|
-
day: "daily",
|
|
66
|
-
week: "weekly",
|
|
67
|
-
month: "monthly",
|
|
68
|
-
total: "total"
|
|
69
|
-
};
|
|
70
|
-
function renderBudgetExceeded(e) {
|
|
71
|
-
var _a;
|
|
72
|
-
const period = (e.period || "month").toLowerCase();
|
|
73
|
-
const periodLabel = (_a = PERIOD_LABEL[period]) != null ? _a : period;
|
|
74
|
-
const lines = [];
|
|
75
|
-
lines.push("\u26A0 Budget limit reached");
|
|
76
|
-
lines.push("");
|
|
77
|
-
lines.push(` You've used $${e.spent_usd} of your $${e.limit_usd} ${periodLabel} budget.`);
|
|
78
|
-
lines.push(" To continue, ask your team admin to raise your limit.");
|
|
79
|
-
lines.push("");
|
|
80
|
-
if (e.admin_email) {
|
|
81
|
-
lines.push(` Admin: ${e.admin_email}`);
|
|
82
|
-
lines.push("");
|
|
83
|
-
}
|
|
84
|
-
lines.push(" Need urgent access? Run:");
|
|
85
|
-
lines.push(" langwatch request-increase");
|
|
86
|
-
return lines.join("\n") + "\n";
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// src/cli/utils/governance/platform-tool-policy.ts
|
|
90
|
-
var DEFAULTS = {
|
|
91
|
-
allowVk: true,
|
|
92
|
-
allowOtelDirect: true
|
|
93
|
-
};
|
|
94
|
-
var PLATFORM_TOOL_POLICIES = {
|
|
95
|
-
claude: __spreadValues({}, DEFAULTS),
|
|
96
|
-
codex: __spreadValues({}, DEFAULTS),
|
|
97
|
-
gemini: __spreadValues({}, DEFAULTS),
|
|
98
|
-
opencode: __spreadValues({}, DEFAULTS),
|
|
99
|
-
// cursor is GUI-only; Path B is not meaningful (no terminal env
|
|
100
|
-
// reaches the agent panel). The wrapper still gates on this so
|
|
101
|
-
// future GUI integrations can flip allowOtelDirect to true.
|
|
102
|
-
cursor: { allowVk: true, allowOtelDirect: false }
|
|
103
|
-
};
|
|
104
|
-
function hardcodedPolicy(toolSlug) {
|
|
105
|
-
if (toolSlug in PLATFORM_TOOL_POLICIES) {
|
|
106
|
-
return PLATFORM_TOOL_POLICIES[toolSlug];
|
|
107
|
-
}
|
|
108
|
-
return DEFAULTS;
|
|
109
|
-
}
|
|
110
|
-
function resolvePlatformToolPolicy(toolSlug, cachedPolicies) {
|
|
111
|
-
const cached = cachedPolicies == null ? void 0 : cachedPolicies[toolSlug];
|
|
112
|
-
if (cached) return cached;
|
|
113
|
-
return hardcodedPolicy(toolSlug);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// src/cli/utils/governance/shell-rc.ts
|
|
117
|
-
import * as fs from "fs";
|
|
118
|
-
import * as os from "os";
|
|
119
|
-
import * as path from "path";
|
|
120
|
-
import * as readline from "readline";
|
|
121
|
-
import chalk2 from "chalk";
|
|
122
|
-
var BLOCK_BEGIN = "# >>> langwatch begin >>>";
|
|
123
|
-
var BLOCK_END = "# <<< langwatch end <<<";
|
|
124
|
-
function detectShell() {
|
|
125
|
-
var _a;
|
|
126
|
-
const raw = ((_a = process.env.SHELL) != null ? _a : "").toLowerCase();
|
|
127
|
-
if (raw.includes("fish")) return "fish";
|
|
128
|
-
if (raw.includes("zsh")) return "zsh";
|
|
129
|
-
if (raw.includes("bash")) return "bash";
|
|
130
|
-
if (process.platform === "darwin") return "zsh";
|
|
131
|
-
if (process.platform === "linux") return "bash";
|
|
132
|
-
return null;
|
|
133
|
-
}
|
|
134
|
-
function rcPath(shell) {
|
|
135
|
-
const home = os.homedir();
|
|
136
|
-
switch (shell) {
|
|
137
|
-
case "zsh":
|
|
138
|
-
return path.join(home, ".zshrc");
|
|
139
|
-
case "bash":
|
|
140
|
-
return path.join(home, ".bashrc");
|
|
141
|
-
case "fish":
|
|
142
|
-
return path.join(home, ".config", "fish", "config.fish");
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
function rcHasLangwatchBlock({
|
|
146
|
-
shell,
|
|
147
|
-
requiredKeys
|
|
148
|
-
}) {
|
|
149
|
-
try {
|
|
150
|
-
const content = fs.readFileSync(rcPath(shell), "utf8");
|
|
151
|
-
const begin = content.indexOf(BLOCK_BEGIN);
|
|
152
|
-
const end = content.indexOf(BLOCK_END);
|
|
153
|
-
if (begin === -1 || end === -1 || end < begin) return false;
|
|
154
|
-
if (!requiredKeys || requiredKeys.length === 0) return true;
|
|
155
|
-
const block = content.slice(begin, end);
|
|
156
|
-
return requiredKeys.every((k) => block.includes(k));
|
|
157
|
-
} catch (e) {
|
|
158
|
-
return false;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
function quote(s) {
|
|
162
|
-
if (!/[ \t\n'"$\\]/.test(s)) return s;
|
|
163
|
-
return "'" + s.replace(/'/g, "'\\''") + "'";
|
|
164
|
-
}
|
|
165
|
-
function buildOtelExportBlock(vars, shell) {
|
|
166
|
-
const entries = Object.entries(vars);
|
|
167
|
-
const fmt = shell === "fish" ? ([k, v]) => `set -gx ${k} ${quote(v)}` : ([k, v]) => `export ${k}=${quote(v)}`;
|
|
168
|
-
return entries.map(fmt).join("\n");
|
|
169
|
-
}
|
|
170
|
-
function persistBlockToRc(shell, block) {
|
|
171
|
-
const file = rcPath(shell);
|
|
172
|
-
const dir = path.dirname(file);
|
|
173
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
174
|
-
const wrapped = `${BLOCK_BEGIN}
|
|
175
|
-
${block}
|
|
176
|
-
${BLOCK_END}
|
|
177
|
-
`;
|
|
178
|
-
let existing = "";
|
|
179
|
-
try {
|
|
180
|
-
existing = fs.readFileSync(file, "utf8");
|
|
181
|
-
} catch (e) {
|
|
182
|
-
}
|
|
183
|
-
const marker = new RegExp(
|
|
184
|
-
`${escapeRegex(BLOCK_BEGIN)}[\\s\\S]*?${escapeRegex(BLOCK_END)}\\n?`,
|
|
185
|
-
"m"
|
|
186
|
-
);
|
|
187
|
-
let next;
|
|
188
|
-
if (marker.test(existing)) {
|
|
189
|
-
next = existing.replace(marker, wrapped);
|
|
190
|
-
} else {
|
|
191
|
-
const needsNewline = existing.length > 0 && !existing.endsWith("\n");
|
|
192
|
-
next = existing + (needsNewline ? "\n" : "") + "\n" + wrapped;
|
|
193
|
-
}
|
|
194
|
-
fs.writeFileSync(file, next);
|
|
195
|
-
return file;
|
|
196
|
-
}
|
|
197
|
-
function escapeRegex(s) {
|
|
198
|
-
return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
199
|
-
}
|
|
200
|
-
async function askPersistChoice(rcPathHint, tool) {
|
|
201
|
-
if (!process.stdin.isTTY) return "skip";
|
|
202
|
-
const rl = readline.createInterface({
|
|
203
|
-
input: process.stdin,
|
|
204
|
-
output: process.stdout
|
|
205
|
-
});
|
|
206
|
-
const ans = await new Promise((resolve) => {
|
|
207
|
-
rl.question(
|
|
208
|
-
`Install env vars to ${rcPathHint} so that next time the plain \`${tool}\` command keeps capturing telemetry data? [Y/n/never] `,
|
|
209
|
-
(a) => resolve(a)
|
|
210
|
-
);
|
|
211
|
-
});
|
|
212
|
-
rl.close();
|
|
213
|
-
const norm = ans.trim().toLowerCase();
|
|
214
|
-
if (norm === "" || norm === "y" || norm === "yes") return "yes";
|
|
215
|
-
if (norm === "never") return "never";
|
|
216
|
-
return "no";
|
|
217
|
-
}
|
|
218
|
-
async function maybeOfferIngestionShellRcPersist({
|
|
219
|
-
cfg,
|
|
220
|
-
tool,
|
|
221
|
-
vars
|
|
222
|
-
}) {
|
|
223
|
-
if (cfg.shell_rc_preference === "skip") return;
|
|
224
|
-
if (process.env.OTEL_EXPORTER_OTLP_ENDPOINT) return;
|
|
225
|
-
const shell = detectShell();
|
|
226
|
-
if (!shell) return;
|
|
227
|
-
if (Object.keys(vars).length === 0) return;
|
|
228
|
-
if (rcHasLangwatchBlock({ shell, requiredKeys: Object.keys(vars) })) return;
|
|
229
|
-
const block = buildOtelExportBlock(vars, shell);
|
|
230
|
-
const target = rcPath(shell);
|
|
231
|
-
console.log();
|
|
232
|
-
const choice = await askPersistChoice(target, tool);
|
|
233
|
-
if (choice === "skip" || choice === "no") return;
|
|
234
|
-
if (choice === "never") {
|
|
235
|
-
cfg.shell_rc_preference = "skip";
|
|
236
|
-
try {
|
|
237
|
-
saveConfig(cfg);
|
|
238
|
-
} catch (e) {
|
|
239
|
-
}
|
|
240
|
-
return;
|
|
241
|
-
}
|
|
242
|
-
try {
|
|
243
|
-
const wrote = persistBlockToRc(shell, block);
|
|
244
|
-
console.log(
|
|
245
|
-
chalk2.green(` \u2713 Installed langwatch telemetry exports to ${wrote}`)
|
|
246
|
-
);
|
|
247
|
-
} catch (err) {
|
|
248
|
-
console.log(
|
|
249
|
-
chalk2.yellow(` ! Couldn't write to ${target}: ${err.message}`)
|
|
250
|
-
);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
// src/cli/utils/opencode-config-flag.ts
|
|
255
|
-
import fs2 from "fs";
|
|
256
|
-
import os2 from "os";
|
|
257
|
-
import path2 from "path";
|
|
258
|
-
function defaultOpencodeConfigPath() {
|
|
259
|
-
const xdg = process.env.XDG_CONFIG_HOME;
|
|
260
|
-
const configHome = xdg && xdg.length > 0 ? xdg : path2.join(os2.homedir(), ".config");
|
|
261
|
-
return path2.join(configHome, "opencode", "opencode.jsonc");
|
|
262
|
-
}
|
|
263
|
-
function stripJsoncComments(s) {
|
|
264
|
-
return s.replace(/\/\*[\s\S]*?\*\//g, "").replace(/^\s*\/\/.*$/gm, "");
|
|
265
|
-
}
|
|
266
|
-
function setOpencodeOpenTelemetryFlag(options = {}) {
|
|
267
|
-
var _a, _b;
|
|
268
|
-
const filePath = (_a = options.filePath) != null ? _a : defaultOpencodeConfigPath();
|
|
269
|
-
if (!fs2.existsSync(filePath)) {
|
|
270
|
-
fs2.mkdirSync(path2.dirname(filePath), { recursive: true });
|
|
271
|
-
const content = JSON.stringify(
|
|
272
|
-
{
|
|
273
|
-
$schema: "https://opencode.ai/config.json",
|
|
274
|
-
experimental: { openTelemetry: true }
|
|
275
|
-
},
|
|
276
|
-
null,
|
|
277
|
-
2
|
|
278
|
-
) + "\n";
|
|
279
|
-
fs2.writeFileSync(filePath, content, { mode: 384 });
|
|
280
|
-
return { action: "created", path: filePath };
|
|
281
|
-
}
|
|
282
|
-
const raw = fs2.readFileSync(filePath, "utf8");
|
|
283
|
-
let parsed;
|
|
284
|
-
try {
|
|
285
|
-
parsed = JSON.parse(stripJsoncComments(raw));
|
|
286
|
-
} catch (e) {
|
|
287
|
-
parsed = { $schema: "https://opencode.ai/config.json" };
|
|
288
|
-
}
|
|
289
|
-
const experimental = (_b = parsed.experimental) != null ? _b : {};
|
|
290
|
-
const prior = experimental.openTelemetry;
|
|
291
|
-
if (prior === true) return { action: "unchanged", path: filePath };
|
|
292
|
-
if (prior === false) return { action: "disabled-by-user", path: filePath };
|
|
293
|
-
parsed.experimental = __spreadProps(__spreadValues({}, experimental), { openTelemetry: true });
|
|
294
|
-
fs2.writeFileSync(filePath, JSON.stringify(parsed, null, 2) + "\n", {
|
|
295
|
-
mode: 384
|
|
296
|
-
});
|
|
297
|
-
return { action: "updated", path: filePath };
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
// src/cli/utils/governance/gemini-settings-preflight.ts
|
|
301
|
-
import * as fs3 from "fs";
|
|
302
|
-
import * as os3 from "os";
|
|
303
|
-
import * as path3 from "path";
|
|
304
|
-
function defaultGeminiSettingsPath() {
|
|
305
|
-
var _a;
|
|
306
|
-
const home = (_a = process.env.HOME) != null ? _a : os3.homedir();
|
|
307
|
-
return path3.join(home, ".gemini", "settings.json");
|
|
308
|
-
}
|
|
309
|
-
function stripJsoncComments2(s) {
|
|
310
|
-
return s.replace(/\/\*[\s\S]*?\*\//g, "").replace(/^\s*\/\/.*$/gm, "");
|
|
311
|
-
}
|
|
312
|
-
function warnIfGeminiOAuthSelected(options = {}) {
|
|
313
|
-
var _a, _b;
|
|
314
|
-
const filePath = (_a = options.filePath) != null ? _a : defaultGeminiSettingsPath();
|
|
315
|
-
const writeLine = (_b = options.writeLine) != null ? _b : ((line) => process.stderr.write(line + "\n"));
|
|
316
|
-
if (!fs3.existsSync(filePath)) {
|
|
317
|
-
return { action: "no-settings", warned: false };
|
|
318
|
-
}
|
|
319
|
-
let raw;
|
|
320
|
-
try {
|
|
321
|
-
raw = fs3.readFileSync(filePath, "utf8");
|
|
322
|
-
} catch (e) {
|
|
323
|
-
return { action: "parse-error", warned: false };
|
|
324
|
-
}
|
|
325
|
-
let parsed;
|
|
326
|
-
try {
|
|
327
|
-
parsed = JSON.parse(stripJsoncComments2(raw));
|
|
328
|
-
} catch (e) {
|
|
329
|
-
return { action: "parse-error", warned: false };
|
|
330
|
-
}
|
|
331
|
-
const selectedType = readSelectedType(parsed);
|
|
332
|
-
if (selectedType === "gemini-oauth") {
|
|
333
|
-
writeLine(
|
|
334
|
-
'warning: ~/.gemini/settings.json has security.auth.selectedType="gemini-oauth". gemini-cli 0.46 will use cached OAuth and ignore GOOGLE_API_KEY / GEMINI_API_KEY, so this `langwatch gemini` call will bypass the gateway. To route through langwatch: edit ~/.gemini/settings.json and set security.auth.selectedType to "gemini-api-key".'
|
|
335
|
-
);
|
|
336
|
-
return { action: "oauth-selected", warned: true };
|
|
337
|
-
}
|
|
338
|
-
return { action: "api-key-selected", warned: false };
|
|
339
|
-
}
|
|
340
|
-
function readSelectedType(parsed) {
|
|
341
|
-
if (parsed === null || typeof parsed !== "object") return null;
|
|
342
|
-
const security = parsed.security;
|
|
343
|
-
if (security === null || typeof security !== "object") return null;
|
|
344
|
-
const auth = security.auth;
|
|
345
|
-
if (auth === null || typeof auth !== "object") return null;
|
|
346
|
-
const selectedType = auth.selectedType;
|
|
347
|
-
return typeof selectedType === "string" ? selectedType : null;
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
// src/cli/utils/governance/wrapper-mode.ts
|
|
351
|
-
var SOURCE_TYPE_BY_TOOL = {
|
|
352
|
-
claude: "claude_code",
|
|
353
|
-
codex: "codex",
|
|
354
|
-
gemini: "gemini",
|
|
355
|
-
opencode: "opencode"
|
|
356
|
-
};
|
|
357
|
-
async function resolveWrapperMode(cfg, tool, gatewayVars, gatewayClears = [], forcedMode) {
|
|
358
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
359
|
-
const persistedMode = (_a = cfg.tool_mode) == null ? void 0 : _a[tool];
|
|
360
|
-
const hasVk = !!((_b = cfg.default_personal_vk) == null ? void 0 : _b.secret);
|
|
361
|
-
const policy = resolvePlatformToolPolicy(tool, cfg.tool_policies);
|
|
362
|
-
if (!policy.allowVk && !policy.allowOtelDirect) {
|
|
363
|
-
throw new GovernanceCliError(
|
|
364
|
-
403,
|
|
365
|
-
"tool_disabled",
|
|
366
|
-
`Tool '${tool}' is disabled in the platform policy (both gateway and direct OTLP paths off). Ask your org admin to enable allow_vk or allow_otel_direct.`
|
|
367
|
-
);
|
|
368
|
-
}
|
|
369
|
-
let notice;
|
|
370
|
-
let mode = forcedMode != null ? forcedMode : persistedMode === "gateway" ? "gateway" : persistedMode === "ingestion" ? "ingestion" : hasVk ? "gateway" : "ingestion";
|
|
371
|
-
if (mode === "gateway" && !policy.allowVk) {
|
|
372
|
-
mode = "ingestion";
|
|
373
|
-
notice = `${lwTag()} gateway path is disabled for ${tool} by your org admin; using direct OTLP ingestion instead.`;
|
|
374
|
-
}
|
|
375
|
-
if (mode === "ingestion" && !policy.allowOtelDirect) {
|
|
376
|
-
mode = "gateway";
|
|
377
|
-
notice = `${lwTag()} direct OTLP ingestion is disabled for ${tool} by your org admin; routing through the gateway instead.`;
|
|
378
|
-
}
|
|
379
|
-
if (mode === "gateway") {
|
|
380
|
-
if (tool === "gemini") {
|
|
381
|
-
warnIfGeminiOAuthSelected();
|
|
382
|
-
}
|
|
383
|
-
if (tool === "codex") {
|
|
384
|
-
const gw = writeCodexGatewayBlock({
|
|
385
|
-
gatewayUrl: cfg.gateway_url,
|
|
386
|
-
envKey: "OPENAI_API_KEY"
|
|
387
|
-
});
|
|
388
|
-
return {
|
|
389
|
-
mode,
|
|
390
|
-
vars: gatewayVars,
|
|
391
|
-
clears: gatewayClears,
|
|
392
|
-
codexConfigPath: gw.path,
|
|
393
|
-
codexProfilePath: gw.profilePath,
|
|
394
|
-
extraArgs: ["--profile", gw.profile],
|
|
395
|
-
notice
|
|
396
|
-
};
|
|
397
|
-
}
|
|
398
|
-
return { mode, vars: gatewayVars, clears: gatewayClears, notice };
|
|
399
|
-
}
|
|
400
|
-
const sourceType = SOURCE_TYPE_BY_TOOL[tool];
|
|
401
|
-
if (!sourceType) {
|
|
402
|
-
return { mode: "gateway", vars: gatewayVars, clears: gatewayClears, notice };
|
|
403
|
-
}
|
|
404
|
-
if (!policy.allowOtelDirect) {
|
|
405
|
-
throw new GovernanceCliError(
|
|
406
|
-
403,
|
|
407
|
-
"otel_direct_disabled",
|
|
408
|
-
`Direct OTLP ingestion is disabled for '${tool}' by your org admin. Ask them to enable allow_otel_direct, or run with the gateway path.`
|
|
409
|
-
);
|
|
410
|
-
}
|
|
411
|
-
const cached = (_c = cfg.default_personal_ingest_keys) == null ? void 0 : _c[sourceType];
|
|
412
|
-
let token;
|
|
413
|
-
let prefix;
|
|
414
|
-
let endpoint;
|
|
415
|
-
let minted;
|
|
416
|
-
if (cached == null ? void 0 : cached.secret) {
|
|
417
|
-
token = cached.secret;
|
|
418
|
-
prefix = cached.prefix;
|
|
419
|
-
endpoint = `${cfg.control_plane_url.replace(/\/+$/, "")}/api/otel`;
|
|
420
|
-
minted = false;
|
|
421
|
-
} else {
|
|
422
|
-
const r = await mintIngestionKey(cfg, sourceType);
|
|
423
|
-
token = r.token;
|
|
424
|
-
prefix = r.prefix;
|
|
425
|
-
endpoint = r.endpoint;
|
|
426
|
-
minted = true;
|
|
427
|
-
}
|
|
428
|
-
const vars = buildOtelEnvBlock(tool, endpoint, token);
|
|
429
|
-
let codexConfigPath;
|
|
430
|
-
if (tool === "codex") {
|
|
431
|
-
const result = writeCodexOtelBlock({
|
|
432
|
-
endpoint: `${endpoint}/v1/traces`,
|
|
433
|
-
ingestionToken: token,
|
|
434
|
-
environment: (_e = (_d = cfg.organization) == null ? void 0 : _d.slug) != null ? _e : "langwatch"
|
|
435
|
-
});
|
|
436
|
-
codexConfigPath = result.path;
|
|
437
|
-
}
|
|
438
|
-
if (tool === "opencode") {
|
|
439
|
-
setOpencodeOpenTelemetryFlag();
|
|
440
|
-
}
|
|
441
|
-
const next = __spreadProps(__spreadValues({}, cfg), {
|
|
442
|
-
tool_mode: __spreadProps(__spreadValues({}, (_f = cfg.tool_mode) != null ? _f : {}), { [tool]: "ingestion" })
|
|
443
|
-
});
|
|
444
|
-
if (minted) {
|
|
445
|
-
next.default_personal_ingest_keys = __spreadProps(__spreadValues({}, (_g = cfg.default_personal_ingest_keys) != null ? _g : {}), {
|
|
446
|
-
[sourceType]: { secret: token, prefix }
|
|
447
|
-
});
|
|
448
|
-
}
|
|
449
|
-
try {
|
|
450
|
-
saveConfig(next);
|
|
451
|
-
} catch (e) {
|
|
452
|
-
}
|
|
453
|
-
return {
|
|
454
|
-
mode,
|
|
455
|
-
vars,
|
|
456
|
-
codexConfigPath,
|
|
457
|
-
newKeyMinted: minted,
|
|
458
|
-
notice,
|
|
459
|
-
endpoint,
|
|
460
|
-
ingestionToken: token
|
|
461
|
-
};
|
|
462
|
-
}
|
|
463
|
-
function buildOtelEnvBlock(tool, endpoint, token) {
|
|
464
|
-
const base = {
|
|
465
|
-
OTEL_EXPORTER_OTLP_ENDPOINT: endpoint,
|
|
466
|
-
OTEL_EXPORTER_OTLP_HEADERS: `Authorization=Bearer ${token}`
|
|
467
|
-
};
|
|
468
|
-
switch (tool) {
|
|
469
|
-
case "claude":
|
|
470
|
-
return __spreadProps(__spreadValues({
|
|
471
|
-
CLAUDE_CODE_ENABLE_TELEMETRY: "1",
|
|
472
|
-
OTEL_TRACES_EXPORTER: "otlp",
|
|
473
|
-
OTEL_LOGS_EXPORTER: "otlp",
|
|
474
|
-
OTEL_METRICS_EXPORTER: "otlp",
|
|
475
|
-
OTEL_EXPORTER_OTLP_PROTOCOL: "http/json",
|
|
476
|
-
OTEL_LOG_USER_PROMPTS: "1",
|
|
477
|
-
OTEL_LOG_TOOL_DETAILS: "1",
|
|
478
|
-
OTEL_LOG_TOOL_CONTENT: "1",
|
|
479
|
-
OTEL_LOG_RAW_API_BODIES: "1"
|
|
480
|
-
}, base), {
|
|
481
|
-
OTEL_RESOURCE_ATTRIBUTES: "service.name=claude-code"
|
|
482
|
-
});
|
|
483
|
-
case "codex":
|
|
484
|
-
return __spreadProps(__spreadValues({
|
|
485
|
-
OTEL_TRACES_EXPORTER: "otlp",
|
|
486
|
-
OTEL_EXPORTER_OTLP_PROTOCOL: "http/json"
|
|
487
|
-
}, base), {
|
|
488
|
-
OTEL_RESOURCE_ATTRIBUTES: "service.name=codex"
|
|
489
|
-
});
|
|
490
|
-
case "gemini":
|
|
491
|
-
return __spreadProps(__spreadValues({
|
|
492
|
-
GEMINI_TELEMETRY_ENABLED: "true",
|
|
493
|
-
GEMINI_TELEMETRY_TARGET: "local",
|
|
494
|
-
GEMINI_TELEMETRY_USE_COLLECTOR: "true",
|
|
495
|
-
GEMINI_TELEMETRY_TRACES_ENABLED: "true",
|
|
496
|
-
GEMINI_TELEMETRY_OTLP_PROTOCOL: "http",
|
|
497
|
-
GEMINI_TELEMETRY_OTLP_ENDPOINT: endpoint,
|
|
498
|
-
GEMINI_TELEMETRY_LOG_PROMPTS: "true",
|
|
499
|
-
OTEL_TRACES_EXPORTER: "otlp",
|
|
500
|
-
OTEL_EXPORTER_OTLP_PROTOCOL: "http/json"
|
|
501
|
-
}, base), {
|
|
502
|
-
OTEL_RESOURCE_ATTRIBUTES: "service.name=gemini-cli"
|
|
503
|
-
});
|
|
504
|
-
case "opencode":
|
|
505
|
-
return __spreadProps(__spreadValues({
|
|
506
|
-
OTEL_TRACES_EXPORTER: "otlp",
|
|
507
|
-
OTEL_LOGS_EXPORTER: "otlp",
|
|
508
|
-
OTEL_METRICS_EXPORTER: "otlp",
|
|
509
|
-
OTEL_EXPORTER_OTLP_PROTOCOL: "http/json"
|
|
510
|
-
}, base), {
|
|
511
|
-
OTEL_RESOURCE_ATTRIBUTES: "service.name=opencode"
|
|
512
|
-
});
|
|
513
|
-
default:
|
|
514
|
-
return base;
|
|
515
|
-
}
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
// src/cli/utils/governance/codex-rollout-otlp.ts
|
|
519
|
-
import { createHash } from "crypto";
|
|
520
|
-
import { readFile, readdir, stat } from "fs/promises";
|
|
521
|
-
import { homedir as homedir3 } from "os";
|
|
522
|
-
import { join as join3 } from "path";
|
|
523
|
-
|
|
524
|
-
// src/cli/utils/governance/codex-rollout.ts
|
|
525
|
-
var MAX_CONTENT_CHARS = 3e4;
|
|
526
|
-
var MAX_INPUT_CHARS = 12e4;
|
|
527
|
-
var MAX_OUTPUT_CHARS = 3e4;
|
|
528
|
-
function truncate(text, max) {
|
|
529
|
-
return text.length > max ? `${text.slice(0, max)}\u2026[truncated]` : text;
|
|
530
|
-
}
|
|
531
|
-
function textFromContent(content) {
|
|
532
|
-
if (!Array.isArray(content)) return "";
|
|
533
|
-
const parts = [];
|
|
534
|
-
for (const part of content) {
|
|
535
|
-
if (part && typeof part === "object") {
|
|
536
|
-
const t = part.text;
|
|
537
|
-
const ot = part.output_text;
|
|
538
|
-
if (typeof t === "string") parts.push(t);
|
|
539
|
-
else if (typeof ot === "string") parts.push(ot);
|
|
540
|
-
}
|
|
541
|
-
}
|
|
542
|
-
return parts.join("").trim();
|
|
543
|
-
}
|
|
544
|
-
function outputToText(output) {
|
|
545
|
-
if (typeof output === "string") return output;
|
|
546
|
-
if (output && typeof output === "object") {
|
|
547
|
-
const inner = output.output;
|
|
548
|
-
if (typeof inner === "string") return inner;
|
|
549
|
-
try {
|
|
550
|
-
return JSON.stringify(output);
|
|
551
|
-
} catch (e) {
|
|
552
|
-
return "";
|
|
553
|
-
}
|
|
554
|
-
}
|
|
555
|
-
if (typeof output === "number" || typeof output === "boolean") {
|
|
556
|
-
return String(output);
|
|
557
|
-
}
|
|
558
|
-
return "";
|
|
559
|
-
}
|
|
560
|
-
function capInputMessages(messages) {
|
|
561
|
-
var _a;
|
|
562
|
-
const capped = messages.map(
|
|
563
|
-
(m) => typeof m.content === "string" && m.content.length > MAX_CONTENT_CHARS ? __spreadProps(__spreadValues({}, m), { content: truncate(m.content, MAX_CONTENT_CHARS) }) : m
|
|
564
|
-
);
|
|
565
|
-
const serializedLength = () => JSON.stringify(capped).length;
|
|
566
|
-
let i = 0;
|
|
567
|
-
while (serializedLength() > MAX_INPUT_CHARS && i < capped.length) {
|
|
568
|
-
if (((_a = capped[i]) == null ? void 0 : _a.role) === "system") {
|
|
569
|
-
i++;
|
|
570
|
-
continue;
|
|
571
|
-
}
|
|
572
|
-
capped.splice(i, 1);
|
|
573
|
-
}
|
|
574
|
-
return capped;
|
|
575
|
-
}
|
|
576
|
-
function explicitToolCallId(payload) {
|
|
577
|
-
if (typeof payload.call_id === "string" && payload.call_id) {
|
|
578
|
-
return payload.call_id;
|
|
579
|
-
}
|
|
580
|
-
if (typeof payload.id === "string" && payload.id) return payload.id;
|
|
581
|
-
return null;
|
|
582
|
-
}
|
|
583
|
-
var CodexTurnAccumulator = class {
|
|
584
|
-
constructor() {
|
|
585
|
-
/** Emitted turns, in rollout order. */
|
|
586
|
-
this.turns = [];
|
|
587
|
-
/** Accumulating conversation across the whole rollout (claude-style). */
|
|
588
|
-
this.history = [];
|
|
589
|
-
this.sessionModel = null;
|
|
590
|
-
this.cur = null;
|
|
591
|
-
/** Latest assistant text not yet committed to history (the final-answer candidate). */
|
|
592
|
-
this.pendingAssistant = null;
|
|
593
|
-
/** Authoritative final answer from the agent_message(final_answer) event. */
|
|
594
|
-
this.agentFinal = null;
|
|
595
|
-
/**
|
|
596
|
-
* Synthetic ids minted for tool calls that arrived without a `call_id`, queued
|
|
597
|
-
* FIFO so the matching (also id-less) function_call_output pairs to the same id
|
|
598
|
-
* instead of drifting as the running history grows.
|
|
599
|
-
*/
|
|
600
|
-
this.pendingToolCallIds = [];
|
|
601
|
-
this.autoToolCallSeq = 0;
|
|
602
|
-
}
|
|
603
|
-
/** Route one parsed rollout line to the handler for its event type. */
|
|
604
|
-
handle(obj) {
|
|
605
|
-
var _a;
|
|
606
|
-
const payload = (_a = obj.payload) != null ? _a : {};
|
|
607
|
-
switch (obj.type) {
|
|
608
|
-
case "session_meta":
|
|
609
|
-
return this.onSessionMeta(payload);
|
|
610
|
-
case "turn_context":
|
|
611
|
-
return this.onTurnContext(payload);
|
|
612
|
-
case "event_msg":
|
|
613
|
-
return this.onEventMsg(payload);
|
|
614
|
-
case "response_item":
|
|
615
|
-
return this.onResponseItem(payload);
|
|
616
|
-
}
|
|
617
|
-
}
|
|
618
|
-
/** Close the trailing open turn and return every emitted turn. */
|
|
619
|
-
finish() {
|
|
620
|
-
this.closeTurn();
|
|
621
|
-
return this.turns;
|
|
622
|
-
}
|
|
623
|
-
onSessionMeta(payload) {
|
|
624
|
-
const bi = payload.base_instructions;
|
|
625
|
-
if (typeof bi === "string" && bi.trim()) {
|
|
626
|
-
this.history.push({ role: "system", content: bi.trim() });
|
|
627
|
-
}
|
|
628
|
-
}
|
|
629
|
-
onTurnContext(payload) {
|
|
630
|
-
const m = payload.model;
|
|
631
|
-
if (typeof m === "string" && m) {
|
|
632
|
-
this.sessionModel = m;
|
|
633
|
-
if (this.cur) this.cur.model = m;
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
|
-
onEventMsg(payload) {
|
|
637
|
-
if (payload.type === "task_started") return this.onTaskStarted(payload);
|
|
638
|
-
if (payload.type === "task_complete") return this.closeTurn();
|
|
639
|
-
if (!this.cur) return;
|
|
640
|
-
if (payload.type === "agent_message") this.onAgentMessage(payload);
|
|
641
|
-
}
|
|
642
|
-
onTaskStarted(payload) {
|
|
643
|
-
this.closeTurn();
|
|
644
|
-
const traceId = typeof payload.trace_id === "string" ? payload.trace_id : null;
|
|
645
|
-
if (!traceId) return;
|
|
646
|
-
this.cur = {
|
|
647
|
-
traceId,
|
|
648
|
-
turnId: typeof payload.turn_id === "string" ? payload.turn_id : null,
|
|
649
|
-
model: this.sessionModel,
|
|
650
|
-
startedAtMs: typeof payload.started_at === "number" ? payload.started_at * 1e3 : null
|
|
651
|
-
};
|
|
652
|
-
}
|
|
653
|
-
onAgentMessage(payload) {
|
|
654
|
-
const msg = payload.message;
|
|
655
|
-
if (typeof msg === "string" && msg.trim() && payload.phase === "final_answer") {
|
|
656
|
-
this.agentFinal = msg.trim();
|
|
657
|
-
}
|
|
658
|
-
}
|
|
659
|
-
onResponseItem(payload) {
|
|
660
|
-
if (!this.cur) return;
|
|
661
|
-
switch (payload.type) {
|
|
662
|
-
case "message":
|
|
663
|
-
return this.onMessage(payload);
|
|
664
|
-
case "function_call":
|
|
665
|
-
return this.onFunctionCall(payload);
|
|
666
|
-
case "function_call_output":
|
|
667
|
-
return this.onFunctionCallOutput(payload);
|
|
668
|
-
}
|
|
669
|
-
}
|
|
670
|
-
onMessage(payload) {
|
|
671
|
-
const role = payload.role;
|
|
672
|
-
const text = textFromContent(payload.content);
|
|
673
|
-
if (!text) return;
|
|
674
|
-
if (role === "developer") {
|
|
675
|
-
this.flushPendingAssistant();
|
|
676
|
-
this.history.push({ role: "system", content: text });
|
|
677
|
-
} else if (role === "user") {
|
|
678
|
-
this.flushPendingAssistant();
|
|
679
|
-
this.history.push({ role: "user", content: text });
|
|
680
|
-
} else if (role === "assistant") {
|
|
681
|
-
this.flushPendingAssistant();
|
|
682
|
-
this.pendingAssistant = text;
|
|
683
|
-
}
|
|
684
|
-
}
|
|
685
|
-
onFunctionCall(payload) {
|
|
686
|
-
this.flushPendingAssistant();
|
|
687
|
-
let callId = explicitToolCallId(payload);
|
|
688
|
-
if (!callId) {
|
|
689
|
-
callId = `call_auto_${this.autoToolCallSeq++}`;
|
|
690
|
-
this.pendingToolCallIds.push(callId);
|
|
691
|
-
}
|
|
692
|
-
const name = typeof payload.name === "string" ? payload.name : "tool";
|
|
693
|
-
const args = typeof payload.arguments === "string" ? payload.arguments : payload.arguments != null ? JSON.stringify(payload.arguments) : "";
|
|
694
|
-
this.history.push({
|
|
695
|
-
role: "assistant",
|
|
696
|
-
tool_calls: [
|
|
697
|
-
{
|
|
698
|
-
id: callId,
|
|
699
|
-
type: "function",
|
|
700
|
-
function: { name, arguments: truncate(args, MAX_CONTENT_CHARS) }
|
|
701
|
-
}
|
|
702
|
-
]
|
|
703
|
-
});
|
|
704
|
-
}
|
|
705
|
-
onFunctionCallOutput(payload) {
|
|
706
|
-
var _a, _b;
|
|
707
|
-
this.flushPendingAssistant();
|
|
708
|
-
const callId = (_b = (_a = explicitToolCallId(payload)) != null ? _a : this.pendingToolCallIds.shift()) != null ? _b : `call_auto_${this.autoToolCallSeq++}`;
|
|
709
|
-
this.history.push({
|
|
710
|
-
role: "tool",
|
|
711
|
-
tool_call_id: callId,
|
|
712
|
-
content: truncate(outputToText(payload.output), MAX_CONTENT_CHARS)
|
|
713
|
-
});
|
|
714
|
-
}
|
|
715
|
-
flushPendingAssistant() {
|
|
716
|
-
if (this.pendingAssistant !== null) {
|
|
717
|
-
this.history.push({ role: "assistant", content: this.pendingAssistant });
|
|
718
|
-
this.pendingAssistant = null;
|
|
719
|
-
}
|
|
720
|
-
}
|
|
721
|
-
closeTurn() {
|
|
722
|
-
var _a, _b;
|
|
723
|
-
if (this.cur) {
|
|
724
|
-
const finalAnswer = (_a = this.agentFinal) != null ? _a : this.pendingAssistant;
|
|
725
|
-
if (finalAnswer == null ? void 0 : finalAnswer.trim()) {
|
|
726
|
-
this.turns.push({
|
|
727
|
-
traceId: this.cur.traceId,
|
|
728
|
-
turnId: this.cur.turnId,
|
|
729
|
-
model: (_b = this.cur.model) != null ? _b : this.sessionModel,
|
|
730
|
-
inputMessages: capInputMessages([...this.history]),
|
|
731
|
-
output: truncate(finalAnswer.trim(), MAX_OUTPUT_CHARS),
|
|
732
|
-
startedAtMs: this.cur.startedAtMs
|
|
733
|
-
});
|
|
734
|
-
this.history.push({ role: "assistant", content: finalAnswer.trim() });
|
|
735
|
-
}
|
|
736
|
-
}
|
|
737
|
-
this.pendingToolCallIds.length = 0;
|
|
738
|
-
this.cur = null;
|
|
739
|
-
this.pendingAssistant = null;
|
|
740
|
-
this.agentFinal = null;
|
|
741
|
-
}
|
|
742
|
-
};
|
|
743
|
-
function parseCodexRollout(content) {
|
|
744
|
-
const acc = new CodexTurnAccumulator();
|
|
745
|
-
for (const line of content.split("\n")) {
|
|
746
|
-
const trimmed = line.trim();
|
|
747
|
-
if (!trimmed) continue;
|
|
748
|
-
let obj;
|
|
749
|
-
try {
|
|
750
|
-
obj = JSON.parse(trimmed);
|
|
751
|
-
} catch (e) {
|
|
752
|
-
continue;
|
|
753
|
-
}
|
|
754
|
-
acc.handle(obj);
|
|
755
|
-
}
|
|
756
|
-
return acc.finish();
|
|
757
|
-
}
|
|
758
|
-
|
|
759
|
-
// src/cli/utils/governance/codex-rollout-otlp.ts
|
|
760
|
-
function ioSpanId(traceId) {
|
|
761
|
-
return createHash("sha256").update(`${traceId}:langwatch.io`).digest("hex").slice(0, 16);
|
|
762
|
-
}
|
|
763
|
-
function attr(key, value) {
|
|
764
|
-
return { key, value: { stringValue: value } };
|
|
765
|
-
}
|
|
766
|
-
function buildCodexIOExportRequest(turns, nowMs) {
|
|
767
|
-
const spans = turns.map((turn) => {
|
|
768
|
-
var _a;
|
|
769
|
-
const startMs = (_a = turn.startedAtMs) != null ? _a : nowMs;
|
|
770
|
-
const endMs = Math.max(startMs, nowMs);
|
|
771
|
-
const attributes = [
|
|
772
|
-
attr("langwatch.span.type", "llm"),
|
|
773
|
-
attr(
|
|
774
|
-
"langwatch.input",
|
|
775
|
-
JSON.stringify({ type: "chat_messages", value: turn.inputMessages })
|
|
776
|
-
),
|
|
777
|
-
attr("langwatch.output", turn.output)
|
|
778
|
-
];
|
|
779
|
-
if (turn.model) {
|
|
780
|
-
attributes.push(attr("gen_ai.request.model", turn.model));
|
|
781
|
-
attributes.push(attr("gen_ai.response.model", turn.model));
|
|
782
|
-
}
|
|
783
|
-
return {
|
|
784
|
-
traceId: turn.traceId,
|
|
785
|
-
spanId: ioSpanId(turn.traceId),
|
|
786
|
-
name: "codex.turn.response",
|
|
787
|
-
kind: 1,
|
|
788
|
-
startTimeUnixNano: `${startMs}000000`,
|
|
789
|
-
endTimeUnixNano: `${endMs}000000`,
|
|
790
|
-
attributes,
|
|
791
|
-
status: {}
|
|
792
|
-
};
|
|
793
|
-
});
|
|
794
|
-
return {
|
|
795
|
-
resourceSpans: [
|
|
796
|
-
{
|
|
797
|
-
resource: { attributes: [attr("service.name", "codex")] },
|
|
798
|
-
scopeSpans: [
|
|
799
|
-
{
|
|
800
|
-
// A langwatch.* scope (NOT codex_cli_rs) so the ingestion
|
|
801
|
-
// infra-span filter leaves these content spans alone.
|
|
802
|
-
scope: { name: "langwatch.codex.rollout" },
|
|
803
|
-
spans
|
|
804
|
-
}
|
|
805
|
-
]
|
|
806
|
-
}
|
|
807
|
-
]
|
|
808
|
-
};
|
|
809
|
-
}
|
|
810
|
-
async function findRecentRollouts(sinceMs, sessionsRoot = join3(homedir3(), ".codex", "sessions")) {
|
|
811
|
-
const out = [];
|
|
812
|
-
async function walk(dir, depth) {
|
|
813
|
-
let entries;
|
|
814
|
-
try {
|
|
815
|
-
entries = await readdir(dir, { withFileTypes: true });
|
|
816
|
-
} catch (e) {
|
|
817
|
-
return;
|
|
818
|
-
}
|
|
819
|
-
for (const e of entries) {
|
|
820
|
-
const full = join3(dir, e.name);
|
|
821
|
-
if (e.isDirectory()) {
|
|
822
|
-
if (depth < 3) await walk(full, depth + 1);
|
|
823
|
-
} else if (e.isFile() && e.name.startsWith("rollout-") && e.name.endsWith(".jsonl")) {
|
|
824
|
-
try {
|
|
825
|
-
const s = await stat(full);
|
|
826
|
-
if (s.mtimeMs >= sinceMs) out.push(full);
|
|
827
|
-
} catch (e2) {
|
|
828
|
-
}
|
|
829
|
-
}
|
|
830
|
-
}
|
|
831
|
-
}
|
|
832
|
-
await walk(sessionsRoot, 0);
|
|
833
|
-
return out;
|
|
834
|
-
}
|
|
835
|
-
async function readRolloutTurns(sinceMs, sessionsRoot) {
|
|
836
|
-
const files = await findRecentRollouts(sinceMs, sessionsRoot);
|
|
837
|
-
const turns = [];
|
|
838
|
-
for (const file of files) {
|
|
839
|
-
try {
|
|
840
|
-
turns.push(...parseCodexRollout(await readFile(file, "utf8")));
|
|
841
|
-
} catch (e) {
|
|
842
|
-
}
|
|
843
|
-
}
|
|
844
|
-
return turns;
|
|
845
|
-
}
|
|
846
|
-
async function postCodexTurns(args) {
|
|
847
|
-
const { turns, nowMs, endpoint, token, fetchImpl } = args;
|
|
848
|
-
const body = buildCodexIOExportRequest(turns, nowMs);
|
|
849
|
-
const doFetch = fetchImpl != null ? fetchImpl : fetch;
|
|
850
|
-
const controller = new AbortController();
|
|
851
|
-
const timeout = setTimeout(() => controller.abort(), 5e3);
|
|
852
|
-
try {
|
|
853
|
-
await doFetch(endpoint, {
|
|
854
|
-
method: "POST",
|
|
855
|
-
headers: {
|
|
856
|
-
"content-type": "application/json",
|
|
857
|
-
authorization: `Bearer ${token}`
|
|
858
|
-
},
|
|
859
|
-
body: JSON.stringify(body),
|
|
860
|
-
signal: controller.signal
|
|
861
|
-
});
|
|
862
|
-
} finally {
|
|
863
|
-
clearTimeout(timeout);
|
|
864
|
-
}
|
|
865
|
-
}
|
|
866
|
-
function createCodexIOStreamer(args) {
|
|
867
|
-
var _a;
|
|
868
|
-
const root = (_a = args.sessionsRoot) != null ? _a : join3(homedir3(), ".codex", "sessions");
|
|
869
|
-
const emitted = /* @__PURE__ */ new Set();
|
|
870
|
-
return {
|
|
871
|
-
async harvest(nowMs) {
|
|
872
|
-
const turns = await readRolloutTurns(args.sinceMs, root);
|
|
873
|
-
const fresh = turns.filter((t) => t.traceId && !emitted.has(t.traceId));
|
|
874
|
-
if (fresh.length === 0) return 0;
|
|
875
|
-
await postCodexTurns({
|
|
876
|
-
turns: fresh,
|
|
877
|
-
nowMs,
|
|
878
|
-
endpoint: args.endpoint,
|
|
879
|
-
token: args.token,
|
|
880
|
-
fetchImpl: args.fetchImpl
|
|
881
|
-
});
|
|
882
|
-
for (const t of fresh) emitted.add(t.traceId);
|
|
883
|
-
return fresh.length;
|
|
884
|
-
}
|
|
885
|
-
};
|
|
886
|
-
}
|
|
887
|
-
|
|
888
|
-
// src/cli/utils/governance/wrapper-path-choice.ts
|
|
889
|
-
import prompts from "prompts";
|
|
890
|
-
var TOOL_MODE_FLAG = "--tool-mode";
|
|
891
|
-
function tokenToMode(token) {
|
|
892
|
-
const t = (token != null ? token : "").trim().toLowerCase();
|
|
893
|
-
if (t === "gateway" || t === "vk") return "gateway";
|
|
894
|
-
if (t === "otlp" || t === "ingestion" || t === "direct") return "ingestion";
|
|
895
|
-
return null;
|
|
896
|
-
}
|
|
897
|
-
function parseToolModeFlag(args, env = process.env) {
|
|
898
|
-
var _a;
|
|
899
|
-
const out = [];
|
|
900
|
-
let flagOverride;
|
|
901
|
-
for (let i = 0; i < args.length; i++) {
|
|
902
|
-
const arg = args[i];
|
|
903
|
-
if (arg === TOOL_MODE_FLAG) {
|
|
904
|
-
const value = args[i + 1];
|
|
905
|
-
const mode = tokenToMode(value);
|
|
906
|
-
if (mode) flagOverride = mode;
|
|
907
|
-
if (value !== void 0) i++;
|
|
908
|
-
continue;
|
|
909
|
-
}
|
|
910
|
-
if (arg.startsWith(`${TOOL_MODE_FLAG}=`)) {
|
|
911
|
-
const value = arg.slice(TOOL_MODE_FLAG.length + 1);
|
|
912
|
-
const mode = tokenToMode(value);
|
|
913
|
-
if (mode) flagOverride = mode;
|
|
914
|
-
continue;
|
|
915
|
-
}
|
|
916
|
-
out.push(arg);
|
|
917
|
-
}
|
|
918
|
-
const override = (_a = flagOverride != null ? flagOverride : tokenToMode(env.LANGWATCH_TOOL_MODE)) != null ? _a : void 0;
|
|
919
|
-
return { args: out, override };
|
|
920
|
-
}
|
|
921
|
-
function isForcedAutoLogin(env) {
|
|
922
|
-
const flag = env.LANGWATCH_AUTO_LOGIN;
|
|
923
|
-
return flag === "1" || flag === "true";
|
|
924
|
-
}
|
|
925
|
-
function pathChoiceMessage(tool) {
|
|
926
|
-
return `How should \`langwatch ${tool}\` run?`;
|
|
927
|
-
}
|
|
928
|
-
function gatewayChoiceTitle() {
|
|
929
|
-
return "Gateway (virtual key) - route LLM calls through LangWatch (usage billed per token)";
|
|
930
|
-
}
|
|
931
|
-
function otlpChoiceTitle(tool) {
|
|
932
|
-
return `Direct OTLP - use your own ${tool} plan, send only telemetry to LangWatch`;
|
|
933
|
-
}
|
|
934
|
-
async function resolveWrapperPath(opts) {
|
|
935
|
-
var _a, _b, _c;
|
|
936
|
-
const {
|
|
937
|
-
cfg,
|
|
938
|
-
tool,
|
|
939
|
-
override,
|
|
940
|
-
promptImpl = prompts,
|
|
941
|
-
saveImpl = saveConfig,
|
|
942
|
-
writeImpl = (s) => void process.stderr.write(s),
|
|
943
|
-
env = process.env
|
|
944
|
-
} = opts;
|
|
945
|
-
const isTTY = (_a = opts.isTTY) != null ? _a : Boolean(process.stdin.isTTY) && Boolean(process.stdout.isTTY);
|
|
946
|
-
if (override) {
|
|
947
|
-
return { mode: override, prompted: false };
|
|
948
|
-
}
|
|
949
|
-
const pinned = (_b = cfg.tool_mode) == null ? void 0 : _b[tool];
|
|
950
|
-
if (pinned === "gateway" || pinned === "ingestion") {
|
|
951
|
-
return { mode: pinned, prompted: false };
|
|
952
|
-
}
|
|
953
|
-
if (opts.refreshPolicies) {
|
|
954
|
-
try {
|
|
955
|
-
const fresh = await opts.refreshPolicies(cfg);
|
|
956
|
-
if (fresh) {
|
|
957
|
-
cfg.tool_policies = fresh;
|
|
958
|
-
try {
|
|
959
|
-
saveImpl(__spreadProps(__spreadValues({}, cfg), { tool_policies: fresh }));
|
|
960
|
-
} catch (e) {
|
|
961
|
-
}
|
|
962
|
-
}
|
|
963
|
-
} catch (e) {
|
|
964
|
-
}
|
|
965
|
-
}
|
|
966
|
-
const policy = resolvePlatformToolPolicy(tool, cfg.tool_policies);
|
|
967
|
-
const allowGateway = policy.allowVk;
|
|
968
|
-
const allowOtlp = policy.allowOtelDirect;
|
|
969
|
-
if (allowGateway && !allowOtlp) {
|
|
970
|
-
return { mode: "gateway", prompted: false };
|
|
971
|
-
}
|
|
972
|
-
if (!allowGateway && allowOtlp) {
|
|
973
|
-
return { mode: "ingestion", prompted: false };
|
|
974
|
-
}
|
|
975
|
-
if (!allowGateway && !allowOtlp) {
|
|
976
|
-
return { mode: "gateway", prompted: false };
|
|
977
|
-
}
|
|
978
|
-
const canPrompt = isTTY && !isForcedAutoLogin(env);
|
|
979
|
-
if (!canPrompt) {
|
|
980
|
-
return { mode: "gateway", prompted: false };
|
|
981
|
-
}
|
|
982
|
-
const res = await promptImpl({
|
|
983
|
-
type: "select",
|
|
984
|
-
name: "path",
|
|
985
|
-
message: pathChoiceMessage(tool),
|
|
986
|
-
choices: [
|
|
987
|
-
{
|
|
988
|
-
title: gatewayChoiceTitle(),
|
|
989
|
-
value: "gateway"
|
|
990
|
-
},
|
|
991
|
-
{
|
|
992
|
-
title: otlpChoiceTitle(tool),
|
|
993
|
-
value: "ingestion"
|
|
994
|
-
}
|
|
995
|
-
],
|
|
996
|
-
initial: 0
|
|
997
|
-
});
|
|
998
|
-
const chosen = tokenToMode(res == null ? void 0 : res.path);
|
|
999
|
-
if (!chosen) {
|
|
1000
|
-
return { mode: "gateway", prompted: false };
|
|
1001
|
-
}
|
|
1002
|
-
const next = __spreadProps(__spreadValues({}, cfg), {
|
|
1003
|
-
tool_mode: __spreadProps(__spreadValues({}, (_c = cfg.tool_mode) != null ? _c : {}), { [tool]: chosen })
|
|
1004
|
-
});
|
|
1005
|
-
try {
|
|
1006
|
-
saveImpl(next);
|
|
1007
|
-
cfg.tool_mode = next.tool_mode;
|
|
1008
|
-
} catch (e) {
|
|
1009
|
-
}
|
|
1010
|
-
const label = chosen === "gateway" ? "gateway" : "otlp";
|
|
1011
|
-
writeImpl(
|
|
1012
|
-
`${lwTag()} saved. \`${tool}\` will use the ${label} path. Override with --tool-mode=${chosen === "gateway" ? "otlp" : "gateway"}, or edit ~/.langwatch/config.json (tool_mode.${tool}).
|
|
1013
|
-
`
|
|
1014
|
-
);
|
|
1015
|
-
return { mode: chosen, prompted: true };
|
|
1016
|
-
}
|
|
1017
|
-
|
|
1018
|
-
// src/cli/utils/governance/wrapper.ts
|
|
1019
|
-
var CODEX_IO_POLL_MS = 2500;
|
|
1020
|
-
function envForTool(cfg, tool) {
|
|
1021
|
-
var _a;
|
|
1022
|
-
const gw = cfg.gateway_url.replace(/\/+$/, "");
|
|
1023
|
-
const auth = (_a = cfg.default_personal_vk) == null ? void 0 : _a.secret;
|
|
1024
|
-
if (!auth) return { vars: {} };
|
|
1025
|
-
switch (tool) {
|
|
1026
|
-
case "claude":
|
|
1027
|
-
return {
|
|
1028
|
-
vars: {
|
|
1029
|
-
ANTHROPIC_BASE_URL: gw,
|
|
1030
|
-
ANTHROPIC_AUTH_TOKEN: auth
|
|
1031
|
-
},
|
|
1032
|
-
clears: ["ANTHROPIC_API_KEY"]
|
|
1033
|
-
};
|
|
1034
|
-
case "codex":
|
|
1035
|
-
return {
|
|
1036
|
-
vars: {
|
|
1037
|
-
OPENAI_BASE_URL: gw,
|
|
1038
|
-
OPENAI_API_KEY: auth
|
|
1039
|
-
}
|
|
1040
|
-
};
|
|
1041
|
-
case "cursor":
|
|
1042
|
-
return {
|
|
1043
|
-
vars: {
|
|
1044
|
-
OPENAI_BASE_URL: gw,
|
|
1045
|
-
OPENAI_API_KEY: auth,
|
|
1046
|
-
ANTHROPIC_BASE_URL: gw,
|
|
1047
|
-
ANTHROPIC_AUTH_TOKEN: auth
|
|
1048
|
-
},
|
|
1049
|
-
clears: ["ANTHROPIC_API_KEY"]
|
|
1050
|
-
};
|
|
1051
|
-
case "gemini":
|
|
1052
|
-
return {
|
|
1053
|
-
vars: {
|
|
1054
|
-
GOOGLE_GEMINI_BASE_URL: gw,
|
|
1055
|
-
GEMINI_API_KEY: auth,
|
|
1056
|
-
GOOGLE_API_KEY: auth
|
|
1057
|
-
}
|
|
1058
|
-
};
|
|
1059
|
-
case "opencode":
|
|
1060
|
-
return {
|
|
1061
|
-
vars: {
|
|
1062
|
-
OPENAI_BASE_URL: `${gw}/v1`,
|
|
1063
|
-
OPENAI_API_KEY: auth,
|
|
1064
|
-
ANTHROPIC_BASE_URL: `${gw}/v1`,
|
|
1065
|
-
ANTHROPIC_AUTH_TOKEN: auth,
|
|
1066
|
-
ANTHROPIC_API_KEY: auth
|
|
1067
|
-
}
|
|
1068
|
-
};
|
|
1069
|
-
default:
|
|
1070
|
-
return { vars: {} };
|
|
1071
|
-
}
|
|
1072
|
-
}
|
|
1073
|
-
var TOOL_PROVIDER_FAMILIES = {
|
|
1074
|
-
claude: ["anthropic"],
|
|
1075
|
-
codex: ["openai"],
|
|
1076
|
-
cursor: ["anthropic", "openai"],
|
|
1077
|
-
gemini: ["google", "gemini"],
|
|
1078
|
-
opencode: ["anthropic", "openai"]
|
|
1079
|
-
};
|
|
1080
|
-
function shouldForgetGatewayPin(args) {
|
|
1081
|
-
return args.pinnedMode === "gateway" && args.retryable !== true;
|
|
1082
|
-
}
|
|
1083
|
-
function renderContactFooter(adminEmail) {
|
|
1084
|
-
if (adminEmail) {
|
|
1085
|
-
return `Need help? Contact your LangWatch admin: ${adminEmail}
|
|
1086
|
-
`;
|
|
1087
|
-
}
|
|
1088
|
-
return `If you need help, contact your LangWatch admin.
|
|
1089
|
-
`;
|
|
1090
|
-
}
|
|
1091
|
-
async function preflightWrapper(cfg, tool, opts = {}) {
|
|
1092
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
1093
|
-
const cp = cfg.control_plane_url.replace(/\/+$/, "");
|
|
1094
|
-
const bootstrap = await ((_a = opts.bootstrapImpl) != null ? _a : getCliBootstrap)(cfg).catch(
|
|
1095
|
-
() => null
|
|
1096
|
-
);
|
|
1097
|
-
const adminEmail = (_b = bootstrap == null ? void 0 : bootstrap.adminEmail) != null ? _b : null;
|
|
1098
|
-
if (!((_c = cfg.default_personal_vk) == null ? void 0 : _c.secret)) {
|
|
1099
|
-
return {
|
|
1100
|
-
ok: false,
|
|
1101
|
-
message: `No personal virtual key on this account.
|
|
1102
|
-
Your organization needs at least one AI provider configured before
|
|
1103
|
-
\`langwatch ${tool}\` can route requests.
|
|
1104
|
-
If you're an admin, set one up at
|
|
1105
|
-
${cp}/settings/model-providers
|
|
1106
|
-
then run \`langwatch login --device\` to refresh your credentials.
|
|
1107
|
-
` + renderContactFooter(adminEmail)
|
|
1108
|
-
};
|
|
1109
|
-
}
|
|
1110
|
-
const gw = cfg.gateway_url.replace(/\/+$/, "");
|
|
1111
|
-
const f = (_d = opts.fetchImpl) != null ? _d : fetch;
|
|
1112
|
-
const timeoutMs = (_e = opts.timeoutMs) != null ? _e : 3e3;
|
|
1113
|
-
try {
|
|
1114
|
-
const res = await f(`${gw}/healthz`, {
|
|
1115
|
-
method: "GET",
|
|
1116
|
-
signal: AbortSignal.timeout(timeoutMs)
|
|
1117
|
-
});
|
|
1118
|
-
if (!res.ok) {
|
|
1119
|
-
return {
|
|
1120
|
-
ok: false,
|
|
1121
|
-
retryable: true,
|
|
1122
|
-
message: `AI Gateway at ${gw} returned HTTP ${res.status}.
|
|
1123
|
-
The wrapper cannot route \`langwatch ${tool}\` requests until the
|
|
1124
|
-
data plane is healthy. Check that the LangWatch gateway is running.
|
|
1125
|
-
` + renderContactFooter(adminEmail)
|
|
1126
|
-
};
|
|
1127
|
-
}
|
|
1128
|
-
} catch (err) {
|
|
1129
|
-
return {
|
|
1130
|
-
ok: false,
|
|
1131
|
-
retryable: true,
|
|
1132
|
-
message: `Cannot reach AI Gateway at ${gw}
|
|
1133
|
-
${err.message}
|
|
1134
|
-
Check that the LangWatch gateway is running, or set LANGWATCH_GATEWAY_URL
|
|
1135
|
-
if you've deployed it elsewhere.
|
|
1136
|
-
` + renderContactFooter(adminEmail)
|
|
1137
|
-
};
|
|
1138
|
-
}
|
|
1139
|
-
if (Array.isArray(bootstrap == null ? void 0 : bootstrap.tools)) {
|
|
1140
|
-
const published = bootstrap.tools.some((t) => t.slug === tool);
|
|
1141
|
-
if (!published) {
|
|
1142
|
-
return {
|
|
1143
|
-
ok: false,
|
|
1144
|
-
message: `The gateway isn't enabled for \`${tool}\` in your organization.
|
|
1145
|
-
An admin needs to publish a ${tool} coding-assistant tile in the
|
|
1146
|
-
AI Tools catalog (with the gateway path enabled):
|
|
1147
|
-
${cp}/settings/governance/tool-catalog
|
|
1148
|
-
` + renderContactFooter(adminEmail)
|
|
1149
|
-
};
|
|
1150
|
-
}
|
|
1151
|
-
}
|
|
1152
|
-
const need = TOOL_PROVIDER_FAMILIES[tool];
|
|
1153
|
-
const configured = (_g = bootstrap == null ? void 0 : bootstrap.gatewayProviders) != null ? _g : (_f = bootstrap == null ? void 0 : bootstrap.providers) == null ? void 0 : _f.map((p) => p.name);
|
|
1154
|
-
if (need && need.length > 0 && Array.isArray(configured)) {
|
|
1155
|
-
const have = new Set(configured.map((n) => n.toLowerCase()));
|
|
1156
|
-
const matches = need.filter((n) => have.has(n));
|
|
1157
|
-
if (matches.length === 0) {
|
|
1158
|
-
const list = need.map((n) => `\`${n}\``).join(" or ");
|
|
1159
|
-
return {
|
|
1160
|
-
ok: false,
|
|
1161
|
-
message: `No ${list} provider credential is configured for your organization.
|
|
1162
|
-
\`langwatch ${tool}\` needs at least one enabled provider to route
|
|
1163
|
-
requests through the gateway. If you're an admin, add one at
|
|
1164
|
-
${cp}/settings/model-providers
|
|
1165
|
-
` + renderContactFooter(adminEmail)
|
|
1166
|
-
};
|
|
1167
|
-
}
|
|
1168
|
-
}
|
|
1169
|
-
return { ok: true };
|
|
1170
|
-
}
|
|
1171
|
-
function shouldAutoLogin() {
|
|
1172
|
-
const flag = process.env.LANGWATCH_AUTO_LOGIN;
|
|
1173
|
-
if (flag === "1" || flag === "true") return true;
|
|
1174
|
-
if (flag === "0" || flag === "false") return false;
|
|
1175
|
-
return Boolean(process.stdin.isTTY);
|
|
1176
|
-
}
|
|
1177
|
-
async function runWrapped(tool, args) {
|
|
1178
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
1179
|
-
let cfg = loadConfig();
|
|
1180
|
-
if (!isLoggedIn(cfg)) {
|
|
1181
|
-
if (!shouldAutoLogin()) {
|
|
1182
|
-
process.stderr.write(
|
|
1183
|
-
"Not logged in. Run `langwatch login --device` first.\n"
|
|
1184
|
-
);
|
|
1185
|
-
process.exit(1);
|
|
1186
|
-
}
|
|
1187
|
-
process.stderr.write(
|
|
1188
|
-
"Not logged in. Starting device-flow login...\n"
|
|
1189
|
-
);
|
|
1190
|
-
try {
|
|
1191
|
-
cfg = await runDeviceFlowLogin({ cfg });
|
|
1192
|
-
} catch (err) {
|
|
1193
|
-
process.stderr.write(
|
|
1194
|
-
`login failed: ${(_a = err.message) != null ? _a : "unknown error"}
|
|
1195
|
-
`
|
|
1196
|
-
);
|
|
1197
|
-
process.exit(1);
|
|
1198
|
-
}
|
|
1199
|
-
if (!isLoggedIn(cfg)) {
|
|
1200
|
-
process.stderr.write("login did not complete - exiting\n");
|
|
1201
|
-
process.exit(1);
|
|
1202
|
-
}
|
|
1203
|
-
}
|
|
1204
|
-
const exceeded = await checkBudget(cfg);
|
|
1205
|
-
if (exceeded) {
|
|
1206
|
-
process.stderr.write(renderBudgetExceeded(exceeded));
|
|
1207
|
-
if (exceeded.request_increase_url) {
|
|
1208
|
-
cfg.last_request_increase_url = exceeded.request_increase_url;
|
|
1209
|
-
try {
|
|
1210
|
-
saveConfig(cfg);
|
|
1211
|
-
} catch (e) {
|
|
1212
|
-
}
|
|
1213
|
-
}
|
|
1214
|
-
process.exit(2);
|
|
1215
|
-
}
|
|
1216
|
-
const { args: toolArgs, override: pathOverride } = parseToolModeFlag(args);
|
|
1217
|
-
let pathChoice;
|
|
1218
|
-
try {
|
|
1219
|
-
pathChoice = await resolveWrapperPath({
|
|
1220
|
-
cfg,
|
|
1221
|
-
tool,
|
|
1222
|
-
args: toolArgs,
|
|
1223
|
-
override: pathOverride,
|
|
1224
|
-
// Re-check the org policy at run time so a path the admin disabled
|
|
1225
|
-
// after login is respected without a re-login. Best-effort: on any
|
|
1226
|
-
// failure resolveWrapperPath keeps the login-cached policy map.
|
|
1227
|
-
refreshPolicies: (c) => getCliBootstrap(c).then((b) => {
|
|
1228
|
-
var _a2;
|
|
1229
|
-
return (_a2 = b == null ? void 0 : b.toolPolicies) != null ? _a2 : null;
|
|
1230
|
-
})
|
|
1231
|
-
});
|
|
1232
|
-
} catch (err) {
|
|
1233
|
-
process.stderr.write(`path selection failed: ${err.message}
|
|
1234
|
-
`);
|
|
1235
|
-
process.exit(2);
|
|
1236
|
-
}
|
|
1237
|
-
const toolEnv = envForTool(cfg, tool);
|
|
1238
|
-
const gatewayVars = toolEnv.vars;
|
|
1239
|
-
const gatewayClears = (_b = toolEnv.clears) != null ? _b : [];
|
|
1240
|
-
let modeResult;
|
|
1241
|
-
try {
|
|
1242
|
-
modeResult = await resolveWrapperMode(
|
|
1243
|
-
cfg,
|
|
1244
|
-
tool,
|
|
1245
|
-
gatewayVars,
|
|
1246
|
-
gatewayClears,
|
|
1247
|
-
pathChoice.mode
|
|
1248
|
-
);
|
|
1249
|
-
} catch (err) {
|
|
1250
|
-
const isToolDisabled = err instanceof GovernanceCliError && err.code === "tool_disabled";
|
|
1251
|
-
const policy = resolvePlatformToolPolicy(tool, cfg.tool_policies);
|
|
1252
|
-
if (pathChoice.mode === "ingestion" && policy.allowVk && !isToolDisabled) {
|
|
1253
|
-
process.stderr.write(
|
|
1254
|
-
`${lwTag()} couldn't set up direct OTLP ingestion for ${tool} (${err.message}). Falling back to the gateway path.
|
|
1255
|
-
`
|
|
1256
|
-
);
|
|
1257
|
-
try {
|
|
1258
|
-
modeResult = await resolveWrapperMode(
|
|
1259
|
-
cfg,
|
|
1260
|
-
tool,
|
|
1261
|
-
gatewayVars,
|
|
1262
|
-
gatewayClears,
|
|
1263
|
-
"gateway"
|
|
1264
|
-
);
|
|
1265
|
-
} catch (err2) {
|
|
1266
|
-
process.stderr.write(
|
|
1267
|
-
`mode resolution failed: ${err2.message}
|
|
1268
|
-
`
|
|
1269
|
-
);
|
|
1270
|
-
process.exit(2);
|
|
1271
|
-
}
|
|
1272
|
-
} else {
|
|
1273
|
-
process.stderr.write(
|
|
1274
|
-
`mode resolution failed: ${err.message}
|
|
1275
|
-
`
|
|
1276
|
-
);
|
|
1277
|
-
process.exit(2);
|
|
1278
|
-
}
|
|
1279
|
-
}
|
|
1280
|
-
if (modeResult.notice) {
|
|
1281
|
-
process.stderr.write(`${modeResult.notice}
|
|
1282
|
-
`);
|
|
1283
|
-
}
|
|
1284
|
-
if (modeResult.mode === "gateway") {
|
|
1285
|
-
const probe = await preflightWrapper(cfg, tool);
|
|
1286
|
-
if (!probe.ok) {
|
|
1287
|
-
process.stderr.write((_c = probe.message) != null ? _c : "preflight failed\n");
|
|
1288
|
-
if (shouldForgetGatewayPin({
|
|
1289
|
-
pinnedMode: (_d = cfg.tool_mode) == null ? void 0 : _d[tool],
|
|
1290
|
-
retryable: probe.retryable
|
|
1291
|
-
})) {
|
|
1292
|
-
const toolMode = __spreadValues({}, cfg.tool_mode);
|
|
1293
|
-
delete toolMode[tool];
|
|
1294
|
-
cfg.tool_mode = toolMode;
|
|
1295
|
-
try {
|
|
1296
|
-
saveConfig(cfg);
|
|
1297
|
-
process.stderr.write(
|
|
1298
|
-
`${lwTag()} cleared the saved gateway path for \`${tool}\`; you'll be asked again next time so you can pick direct OTLP.
|
|
1299
|
-
`
|
|
1300
|
-
);
|
|
1301
|
-
} catch (e) {
|
|
1302
|
-
}
|
|
1303
|
-
}
|
|
1304
|
-
process.exit(2);
|
|
1305
|
-
}
|
|
1306
|
-
if (modeResult.codexConfigPath) {
|
|
1307
|
-
process.stderr.write(
|
|
1308
|
-
`${lwTag()} wired [model_providers.langwatch] in ${modeResult.codexConfigPath}.
|
|
1309
|
-
`
|
|
1310
|
-
);
|
|
1311
|
-
}
|
|
1312
|
-
if (modeResult.codexProfilePath) {
|
|
1313
|
-
process.stderr.write(
|
|
1314
|
-
`${lwTag()} wrote profile body to ${modeResult.codexProfilePath}.
|
|
1315
|
-
`
|
|
1316
|
-
);
|
|
1317
|
-
}
|
|
1318
|
-
} else {
|
|
1319
|
-
if (modeResult.newKeyMinted) {
|
|
1320
|
-
process.stderr.write(
|
|
1321
|
-
`${lwTag()} minted a personal ingestion key for ${tool}.
|
|
1322
|
-
`
|
|
1323
|
-
);
|
|
1324
|
-
}
|
|
1325
|
-
if (modeResult.codexConfigPath) {
|
|
1326
|
-
process.stderr.write(
|
|
1327
|
-
`${lwTag()} wrote [otel] activation block to ${modeResult.codexConfigPath}.
|
|
1328
|
-
`
|
|
1329
|
-
);
|
|
1330
|
-
}
|
|
1331
|
-
await maybeOfferIngestionShellRcPersist({
|
|
1332
|
-
cfg,
|
|
1333
|
-
tool,
|
|
1334
|
-
vars: modeResult.vars
|
|
1335
|
-
});
|
|
1336
|
-
}
|
|
1337
|
-
const parentEnv = __spreadValues({}, process.env);
|
|
1338
|
-
for (const key of (_e = modeResult.clears) != null ? _e : []) {
|
|
1339
|
-
delete parentEnv[key];
|
|
1340
|
-
}
|
|
1341
|
-
const env = __spreadValues(__spreadValues({}, parentEnv), modeResult.vars);
|
|
1342
|
-
const finalArgs = [...(_f = modeResult.extraArgs) != null ? _f : [], ...toolArgs];
|
|
1343
|
-
const shellName = (_h = ((_g = process.env.SHELL) != null ? _g : "").split("/").pop()) != null ? _h : "";
|
|
1344
|
-
const aliasShell = process.platform !== "win32" && (shellName === "zsh" || shellName === "bash") ? process.env.SHELL : null;
|
|
1345
|
-
const notFoundMessage = `${tool} not found in PATH - install it first (https://docs.langwatch.ai/ai-gateway/governance/admin-setup#cli-device-flow-rest-api)`;
|
|
1346
|
-
const sessionStartMs = Date.now();
|
|
1347
|
-
const codexStreamer = tool === "codex" && modeResult.mode === "ingestion" && modeResult.endpoint && modeResult.ingestionToken ? createCodexIOStreamer({
|
|
1348
|
-
sinceMs: sessionStartMs,
|
|
1349
|
-
endpoint: `${modeResult.endpoint.replace(/\/+$/, "")}/v1/traces`,
|
|
1350
|
-
token: modeResult.ingestionToken
|
|
1351
|
-
}) : null;
|
|
1352
|
-
let codexPoll = null;
|
|
1353
|
-
if (codexStreamer) {
|
|
1354
|
-
let inFlight = false;
|
|
1355
|
-
codexPoll = setInterval(() => {
|
|
1356
|
-
if (inFlight) return;
|
|
1357
|
-
inFlight = true;
|
|
1358
|
-
void codexStreamer.harvest(Date.now()).catch(() => 0).finally(() => {
|
|
1359
|
-
inFlight = false;
|
|
1360
|
-
});
|
|
1361
|
-
}, CODEX_IO_POLL_MS);
|
|
1362
|
-
(_i = codexPoll.unref) == null ? void 0 : _i.call(codexPoll);
|
|
1363
|
-
}
|
|
1364
|
-
let child;
|
|
1365
|
-
if (aliasShell) {
|
|
1366
|
-
const q = (s) => `'${s.replace(/'/g, "'\\''")}'`;
|
|
1367
|
-
const reapply = [
|
|
1368
|
-
...((_j = modeResult.clears) != null ? _j : []).map((k) => `unset ${k}`),
|
|
1369
|
-
...Object.entries(modeResult.vars).map(([k, v]) => `export ${k}=${q(v)}`)
|
|
1370
|
-
].join("; ");
|
|
1371
|
-
const guard = `command -v -- ${q(tool)} >/dev/null 2>&1 || { printf '%s\\n' ${q(notFoundMessage)} >&2; exit 127; }`;
|
|
1372
|
-
const command = `${reapply ? `${reapply}; ` : ""}${guard}; ${tool} "$@"`;
|
|
1373
|
-
child = spawn(aliasShell, ["-i", "-c", command, tool, ...finalArgs], {
|
|
1374
|
-
stdio: "inherit",
|
|
1375
|
-
env
|
|
1376
|
-
});
|
|
1377
|
-
} else {
|
|
1378
|
-
child = spawn(tool, finalArgs, {
|
|
1379
|
-
stdio: "inherit",
|
|
1380
|
-
env,
|
|
1381
|
-
shell: process.platform === "win32"
|
|
1382
|
-
});
|
|
1383
|
-
}
|
|
1384
|
-
child.on("error", (err) => {
|
|
1385
|
-
if (err.code === "ENOENT") {
|
|
1386
|
-
process.stderr.write(`${notFoundMessage}
|
|
1387
|
-
`);
|
|
1388
|
-
process.exit(127);
|
|
1389
|
-
}
|
|
1390
|
-
process.stderr.write(`exec ${tool}: ${err.message}
|
|
1391
|
-
`);
|
|
1392
|
-
process.exit(1);
|
|
1393
|
-
});
|
|
1394
|
-
const exitCode = await new Promise((resolve) => {
|
|
1395
|
-
child.on("close", (code) => resolve(code != null ? code : 1));
|
|
1396
|
-
});
|
|
1397
|
-
if (codexPoll) clearInterval(codexPoll);
|
|
1398
|
-
if (codexStreamer) {
|
|
1399
|
-
try {
|
|
1400
|
-
await codexStreamer.harvest(Date.now());
|
|
1401
|
-
} catch (e) {
|
|
1402
|
-
}
|
|
1403
|
-
}
|
|
1404
|
-
process.exit(exitCode);
|
|
1405
|
-
}
|
|
1406
|
-
|
|
1407
|
-
export {
|
|
1408
|
-
envForTool,
|
|
1409
|
-
runWrapped
|
|
1410
|
-
};
|
|
1411
|
-
//# sourceMappingURL=chunk-35TLPU6Q.mjs.map
|