langwatch 0.30.0 → 0.32.0
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-MOAMRJEO.mjs +148 -0
- package/dist/add-QOYNG7P5.js +148 -0
- package/dist/add-QOYNG7P5.js.map +1 -0
- package/dist/archive-27T6YGIV.js +41 -0
- package/dist/archive-27T6YGIV.js.map +1 -0
- package/dist/archive-P3VF63FH.mjs +41 -0
- package/dist/assign-PQIAQAKQ.mjs +54 -0
- package/dist/assign-SL63BSCG.js +54 -0
- package/dist/assign-SL63BSCG.js.map +1 -0
- package/dist/chunk-2RZ2OCJO.mjs +196 -0
- package/dist/chunk-3BDHATON.js +36 -0
- package/dist/chunk-3BDHATON.js.map +1 -0
- package/dist/chunk-47UFY6NS.mjs +53 -0
- package/dist/chunk-5IDPSWOP.mjs +40 -0
- package/dist/chunk-724OLLZ4.js +264 -0
- package/dist/chunk-724OLLZ4.js.map +1 -0
- package/dist/chunk-AG7BWPMX.mjs +136 -0
- package/dist/chunk-AZ62JJ3B.js +42 -0
- package/dist/chunk-AZ62JJ3B.js.map +1 -0
- package/dist/chunk-BAA4HKOB.js +277 -0
- package/dist/chunk-BAA4HKOB.js.map +1 -0
- package/dist/chunk-BOOZEXYC.mjs +888 -0
- package/dist/chunk-C7ERF45K.mjs +96 -0
- package/dist/chunk-DITJKEFK.js +68 -0
- package/dist/chunk-DITJKEFK.js.map +1 -0
- package/dist/chunk-DJXBF6M5.js +96 -0
- package/dist/chunk-DJXBF6M5.js.map +1 -0
- package/dist/chunk-DUX6FC7T.js +80 -0
- package/dist/chunk-DUX6FC7T.js.map +1 -0
- package/dist/chunk-DYXCAWQR.mjs +34 -0
- package/dist/chunk-DYXCAWQR.mjs.map +1 -0
- package/dist/chunk-DZTI6GOB.mjs +36 -0
- package/dist/chunk-DZTI6GOB.mjs.map +1 -0
- package/dist/chunk-EF5MIPAR.js +888 -0
- package/dist/chunk-EF5MIPAR.js.map +1 -0
- package/dist/chunk-EGOB3GIL.mjs +156 -0
- package/dist/chunk-EGOB3GIL.mjs.map +1 -0
- package/dist/chunk-F46P5UKU.js +85 -0
- package/dist/chunk-F46P5UKU.js.map +1 -0
- package/dist/chunk-F6RB46UE.mjs +63 -0
- package/dist/chunk-FWAIC7PW.js +76 -0
- package/dist/chunk-FWAIC7PW.js.map +1 -0
- package/dist/chunk-G5UNILDP.mjs +85 -0
- package/dist/chunk-GA3YH27L.mjs +68 -0
- package/dist/chunk-GLXHCPIQ.js +101 -0
- package/dist/chunk-GLXHCPIQ.js.map +1 -0
- package/dist/chunk-H4QEDABK.mjs +51 -0
- package/dist/chunk-HB5T3N5J.js +80 -0
- package/dist/chunk-HB5T3N5J.js.map +1 -0
- package/dist/chunk-HLWOZ2EB.js +842 -0
- package/dist/chunk-HLWOZ2EB.js.map +1 -0
- package/dist/chunk-HP52NFHF.js +66 -0
- package/dist/chunk-HP52NFHF.js.map +1 -0
- package/dist/chunk-HP7E6S2J.mjs +101 -0
- package/dist/chunk-HQPK4YD5.js +300 -0
- package/dist/chunk-HQPK4YD5.js.map +1 -0
- package/dist/chunk-JHNMPNXQ.js +36 -0
- package/dist/chunk-JHNMPNXQ.js.map +1 -0
- package/dist/chunk-KJMU7OIX.mjs +264 -0
- package/dist/chunk-KJMU7OIX.mjs.map +1 -0
- package/dist/chunk-KMNF7M4B.mjs +36 -0
- package/dist/chunk-KZDNN6V2.js +996 -0
- package/dist/chunk-KZDNN6V2.js.map +1 -0
- package/dist/chunk-LMNMFLL2.js +663 -0
- package/dist/chunk-LMNMFLL2.js.map +1 -0
- package/dist/chunk-M566XQWU.mjs +277 -0
- package/dist/chunk-M566XQWU.mjs.map +1 -0
- package/dist/chunk-M5WZJP5D.mjs +103 -0
- package/dist/chunk-MGGXWCRG.js +40 -0
- package/dist/chunk-MGGXWCRG.js.map +1 -0
- package/dist/chunk-N7T37JOT.mjs +80 -0
- package/dist/chunk-NFDH7SPZ.js +136 -0
- package/dist/chunk-NFDH7SPZ.js.map +1 -0
- package/dist/chunk-NNMPHEXT.js +103 -0
- package/dist/chunk-NNMPHEXT.js.map +1 -0
- package/dist/chunk-NTUDKM6T.mjs +92 -0
- package/dist/chunk-NTWYYCHM.js +42 -0
- package/dist/chunk-NTWYYCHM.js.map +1 -0
- package/dist/chunk-OGAE7BVQ.js +67 -0
- package/dist/chunk-OGAE7BVQ.js.map +1 -0
- package/dist/chunk-OR6PODSA.mjs +90 -0
- package/dist/chunk-OYMASPIK.mjs +70 -0
- package/dist/chunk-Q2JOHFST.js +63 -0
- package/dist/chunk-Q2JOHFST.js.map +1 -0
- package/dist/chunk-Q74FQ227.js +346 -0
- package/dist/chunk-Q74FQ227.js.map +1 -0
- package/dist/chunk-QGCOYOIC.js +53 -0
- package/dist/chunk-QGCOYOIC.js.map +1 -0
- package/dist/chunk-QIQ43TQA.js +90 -0
- package/dist/chunk-QIQ43TQA.js.map +1 -0
- package/dist/chunk-QMULACG7.mjs +63 -0
- package/dist/chunk-QMULACG7.mjs.map +1 -0
- package/dist/chunk-S4NY6YX6.js +51 -0
- package/dist/chunk-S4NY6YX6.js.map +1 -0
- package/dist/chunk-S77DKBDN.mjs +66 -0
- package/dist/chunk-SSGVWEMU.js +63 -0
- package/dist/chunk-SSGVWEMU.js.map +1 -0
- package/dist/chunk-STHIUDKV.mjs +996 -0
- package/dist/chunk-STHIUDKV.mjs.map +1 -0
- package/dist/chunk-TBBDHGYC.js +54 -0
- package/dist/chunk-TBBDHGYC.js.map +1 -0
- package/dist/chunk-TCIUTFMR.js +70 -0
- package/dist/chunk-TCIUTFMR.js.map +1 -0
- package/dist/chunk-TLCLBKRY.mjs +346 -0
- package/dist/chunk-TYUGFAL7.js +92 -0
- package/dist/chunk-TYUGFAL7.js.map +1 -0
- package/dist/chunk-U47MQ6CS.mjs +67 -0
- package/dist/chunk-U47MQ6CS.mjs.map +1 -0
- package/dist/chunk-UTTNPIDQ.mjs +42 -0
- package/dist/chunk-VIN5IMHD.mjs +42 -0
- package/dist/chunk-VJQ224UL.mjs +54 -0
- package/dist/chunk-VYQL5AZX.js +34 -0
- package/dist/chunk-VYQL5AZX.js.map +1 -0
- package/dist/chunk-WEH25SMX.mjs +76 -0
- package/dist/chunk-X4BHZH7P.js +156 -0
- package/dist/chunk-X4BHZH7P.js.map +1 -0
- package/dist/chunk-Y4VNZ6M4.mjs +842 -0
- package/dist/chunk-Y4VNZ6M4.mjs.map +1 -0
- package/dist/chunk-YC2BS7T6.mjs +512 -0
- package/dist/chunk-YIZ6SACS.mjs +80 -0
- package/dist/chunk-Z7FKGTML.js +512 -0
- package/dist/chunk-Z7FKGTML.js.map +1 -0
- package/dist/chunk-ZACVIKN5.mjs +300 -0
- package/dist/chunk-ZJ2OCF6J.mjs +663 -0
- package/dist/chunk-ZRI7OCCW.js +196 -0
- package/dist/chunk-ZRI7OCCW.js.map +1 -0
- package/dist/cli/index.js +186 -194
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/index.mjs +179 -187
- package/dist/cli/index.mjs.map +1 -1
- package/dist/config-6UUJVACF.mjs +96 -0
- package/dist/config-X3I7DGVQ.js +96 -0
- package/dist/config-X3I7DGVQ.js.map +1 -0
- package/dist/create-2IEO4ZX4.js +88 -0
- package/dist/create-2IEO4ZX4.js.map +1 -0
- package/dist/create-3F5HX5B3.mjs +91 -0
- package/dist/create-6WJ6SBJO.js +94 -0
- package/dist/create-6WJ6SBJO.js.map +1 -0
- package/dist/create-7JGSFBTW.mjs +87 -0
- package/dist/create-AYJJXBC2.js +52 -0
- package/dist/create-AYJJXBC2.js.map +1 -0
- package/dist/create-BIGY3EQ6.mjs +23 -0
- package/dist/create-CA44XBJT.js +71 -0
- package/dist/create-CA44XBJT.js.map +1 -0
- package/dist/create-D2ORFKJP.js +50 -0
- package/dist/create-D2ORFKJP.js.map +1 -0
- package/dist/create-DKV6URUJ.js +72 -0
- package/dist/create-DKV6URUJ.js.map +1 -0
- package/dist/create-F2F5UHUJ.js +42 -0
- package/dist/create-F2F5UHUJ.js.map +1 -0
- package/dist/create-GAEK6325.mjs +48 -0
- package/dist/create-GUD6RFYX.js +43 -0
- package/dist/create-GUD6RFYX.js.map +1 -0
- package/dist/create-HKDHY2O6.js +91 -0
- package/dist/create-HKDHY2O6.js.map +1 -0
- package/dist/create-IODVYZYB.mjs +52 -0
- package/dist/create-JERWE4YC.mjs +50 -0
- package/dist/create-KMC3WSCT.mjs +88 -0
- package/dist/create-LARMUZWS.mjs +43 -0
- package/dist/create-MDQ6YQS4.js +48 -0
- package/dist/create-MDQ6YQS4.js.map +1 -0
- package/dist/create-NBEAPOWM.mjs +58 -0
- package/dist/create-NICGBVYD.mjs +71 -0
- package/dist/create-O5RWWYUM.mjs +92 -0
- package/dist/create-OX2JBYPI.mjs +88 -0
- package/dist/create-PMMZD4QG.js +87 -0
- package/dist/create-PMMZD4QG.js.map +1 -0
- package/dist/create-RSZDEZIM.js +88 -0
- package/dist/create-RSZDEZIM.js.map +1 -0
- package/dist/create-S27KIASK.mjs +42 -0
- package/dist/create-UDMY57FO.mjs +94 -0
- package/dist/create-UFOXKLLH.js +49 -0
- package/dist/create-UFOXKLLH.js.map +1 -0
- package/dist/create-V564OBON.js +58 -0
- package/dist/create-V564OBON.js.map +1 -0
- package/dist/create-W23UOAZG.mjs +72 -0
- package/dist/create-WVKW7367.mjs +75 -0
- package/dist/create-WYAPDDAM.mjs +49 -0
- package/dist/create-X4J3AVCI.js +75 -0
- package/dist/create-X4J3AVCI.js.map +1 -0
- package/dist/create-Y2NUKYDM.js +23 -0
- package/dist/create-Y2NUKYDM.js.map +1 -0
- package/dist/create-ZONLHV4L.js +92 -0
- package/dist/create-ZONLHV4L.js.map +1 -0
- package/dist/delete-3AXVNX5G.js +44 -0
- package/dist/delete-3AXVNX5G.js.map +1 -0
- package/dist/delete-467WPK4L.js +38 -0
- package/dist/delete-467WPK4L.js.map +1 -0
- package/dist/delete-5MMQ5P3V.js +52 -0
- package/dist/delete-5MMQ5P3V.js.map +1 -0
- package/dist/delete-5RFQI76Z.js +52 -0
- package/dist/delete-5RFQI76Z.js.map +1 -0
- package/dist/delete-63MC3QBF.mjs +39 -0
- package/dist/delete-73HQU4YW.mjs +59 -0
- package/dist/delete-BFDPRFNL.js +52 -0
- package/dist/delete-BFDPRFNL.js.map +1 -0
- package/dist/delete-BIS5JPJL.js +42 -0
- package/dist/delete-BIS5JPJL.js.map +1 -0
- package/dist/delete-BT7TB54M.mjs +61 -0
- package/dist/delete-DIDIXD5I.js +39 -0
- package/dist/delete-DIDIXD5I.js.map +1 -0
- package/dist/delete-EDQ3XAJ2.mjs +52 -0
- package/dist/delete-EQHKLRNQ.js +52 -0
- package/dist/delete-EQHKLRNQ.js.map +1 -0
- package/dist/delete-KCSCVRX6.js +57 -0
- package/dist/delete-KCSCVRX6.js.map +1 -0
- package/dist/delete-LLQ5DSGG.mjs +38 -0
- package/dist/delete-NODTWFQ6.js +61 -0
- package/dist/delete-NODTWFQ6.js.map +1 -0
- package/dist/delete-OHJMG35H.mjs +52 -0
- package/dist/delete-PF324UEB.mjs +57 -0
- package/dist/delete-PXQVUJXN.js +59 -0
- package/dist/delete-PXQVUJXN.js.map +1 -0
- package/dist/delete-QVFHBJC7.js +39 -0
- package/dist/delete-QVFHBJC7.js.map +1 -0
- package/dist/delete-RIZK2YRM.mjs +52 -0
- package/dist/delete-RTYC5A34.mjs +44 -0
- package/dist/delete-T3OZGZ4I.mjs +41 -0
- package/dist/delete-U6G3PJKT.js +41 -0
- package/dist/delete-U6G3PJKT.js.map +1 -0
- package/dist/delete-XXHNAJ5M.mjs +52 -0
- package/dist/delete-XY77TZWB.mjs +42 -0
- package/dist/delete-YWW7B36L.mjs +59 -0
- package/dist/delete-ZIKBQBF2.mjs +39 -0
- package/dist/delete-ZIU6F7T2.js +59 -0
- package/dist/delete-ZIU6F7T2.js.map +1 -0
- package/dist/download-JRMQTZVL.mjs +100 -0
- package/dist/download-OJXTZ2WZ.js +100 -0
- package/dist/download-OJXTZ2WZ.js.map +1 -0
- package/dist/duplicate-CIGHHVIY.js +45 -0
- package/dist/duplicate-CIGHHVIY.js.map +1 -0
- package/dist/duplicate-ZJOPIMLO.mjs +45 -0
- package/dist/export-7QD4ED7P.js +103 -0
- package/dist/export-7QD4ED7P.js.map +1 -0
- package/dist/export-DC57RFZO.mjs +103 -0
- package/dist/get-25PTUKII.js +52 -0
- package/dist/get-25PTUKII.js.map +1 -0
- package/dist/get-3AKHM4NS.js +49 -0
- package/dist/get-3AKHM4NS.js.map +1 -0
- package/dist/get-3ANHFKFY.js +66 -0
- package/dist/get-3ANHFKFY.js.map +1 -0
- package/dist/get-4NWG6MTQ.mjs +71 -0
- package/dist/get-4W5BKVYW.js +76 -0
- package/dist/get-4W5BKVYW.js.map +1 -0
- package/dist/get-5RBUPSUP.mjs +71 -0
- package/dist/get-6CL4KIYC.mjs +51 -0
- package/dist/get-6XHQ5B6Y.mjs +68 -0
- package/dist/get-7753CSKM.js +67 -0
- package/dist/get-7753CSKM.js.map +1 -0
- package/dist/get-7KNOHUCW.mjs +52 -0
- package/dist/get-CFRYM23T.js +52 -0
- package/dist/get-CFRYM23T.js.map +1 -0
- package/dist/get-DPGIAVJE.js +71 -0
- package/dist/get-DPGIAVJE.js.map +1 -0
- package/dist/get-DZ576XFJ.mjs +71 -0
- package/dist/get-GSGFGLVD.mjs +67 -0
- package/dist/get-HPEBDQNS.js +85 -0
- package/dist/get-HPEBDQNS.js.map +1 -0
- package/dist/get-HRCS47DD.js +68 -0
- package/dist/get-HRCS47DD.js.map +1 -0
- package/dist/get-J65ULALP.mjs +94 -0
- package/dist/get-JMF3BHEG.mjs +52 -0
- package/dist/get-L5Z6CYYP.mjs +149 -0
- package/dist/get-LEEDPXHL.mjs +70 -0
- package/dist/get-LI247BYM.mjs +56 -0
- package/dist/get-LJIQ6ZIP.js +149 -0
- package/dist/get-LJIQ6ZIP.js.map +1 -0
- package/dist/get-LND3DUED.js +56 -0
- package/dist/get-LND3DUED.js.map +1 -0
- package/dist/get-NBXFOHGN.mjs +49 -0
- package/dist/get-OBRSJMB5.js +51 -0
- package/dist/get-OBRSJMB5.js.map +1 -0
- package/dist/get-OH2NGDBI.js +71 -0
- package/dist/get-OH2NGDBI.js.map +1 -0
- package/dist/get-P6UZZMJX.js +71 -0
- package/dist/get-P6UZZMJX.js.map +1 -0
- package/dist/get-PKBJ2EFK.js +70 -0
- package/dist/get-PKBJ2EFK.js.map +1 -0
- package/dist/get-SNLY65YW.mjs +66 -0
- package/dist/get-T64N2HNI.mjs +85 -0
- package/dist/get-X5QWWYAA.js +94 -0
- package/dist/get-X5QWWYAA.js.map +1 -0
- package/dist/get-ZQ5CWP5V.mjs +76 -0
- package/dist/health-NFNEZRIQ.mjs +73 -0
- package/dist/health-NZ4PESON.js +73 -0
- package/dist/health-NZ4PESON.js.map +1 -0
- package/dist/implementation-C99N8Z8M.d.mts +716 -0
- package/dist/implementation-V2FQ1QKc.d.ts +716 -0
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +44 -44
- package/dist/index.mjs +18 -18
- package/dist/ingestion-templates-2KIDTXJL.js +169 -0
- package/dist/ingestion-templates-2KIDTXJL.js.map +1 -0
- package/dist/ingestion-templates-KTHR2V3Y.mjs +169 -0
- package/dist/ingestion-templates-KTHR2V3Y.mjs.map +1 -0
- package/dist/init-shell-3DBSCIMQ.js +72 -0
- package/dist/init-shell-3DBSCIMQ.js.map +1 -0
- package/dist/init-shell-BLLE7WMT.mjs +72 -0
- package/dist/init-shell-BLLE7WMT.mjs.map +1 -0
- package/dist/install-6Q7KUM4Q.mjs +191 -0
- package/dist/install-6Q7KUM4Q.mjs.map +1 -0
- package/dist/install-GKTJOOQ4.js +191 -0
- package/dist/install-GKTJOOQ4.js.map +1 -0
- package/dist/list-22ZONYFI.mjs +90 -0
- package/dist/list-25EAD5VD.mjs +82 -0
- package/dist/list-27BQKRCQ.js +90 -0
- package/dist/list-27BQKRCQ.js.map +1 -0
- package/dist/list-2SDWIS7O.mjs +83 -0
- package/dist/list-3452XTOY.mjs +78 -0
- package/dist/list-4SSQATXU.mjs +53 -0
- package/dist/list-4TVO77U3.js +82 -0
- package/dist/list-4TVO77U3.js.map +1 -0
- package/dist/list-4UQQWNG3.js +76 -0
- package/dist/list-4UQQWNG3.js.map +1 -0
- package/dist/list-73CK6BZQ.mjs +111 -0
- package/dist/list-AMVNOLUI.js +72 -0
- package/dist/list-AMVNOLUI.js.map +1 -0
- package/dist/list-BD4V72LU.mjs +86 -0
- package/dist/list-BWB5PM2C.js +83 -0
- package/dist/list-BWB5PM2C.js.map +1 -0
- package/dist/list-E2HC3ITM.js +104 -0
- package/dist/list-E2HC3ITM.js.map +1 -0
- package/dist/list-F3G7SVBR.mjs +104 -0
- package/dist/list-FDFENI2T.js +71 -0
- package/dist/list-FDFENI2T.js.map +1 -0
- package/dist/list-FP7EIHO3.js +75 -0
- package/dist/list-FP7EIHO3.js.map +1 -0
- package/dist/list-FYGMNDDI.mjs +75 -0
- package/dist/list-GL6SLAX6.mjs +82 -0
- package/dist/list-HVQKV7JY.js +87 -0
- package/dist/list-HVQKV7JY.js.map +1 -0
- package/dist/list-I3QC5R3P.js +111 -0
- package/dist/list-I3QC5R3P.js.map +1 -0
- package/dist/list-IOYQGVQG.js +75 -0
- package/dist/list-IOYQGVQG.js.map +1 -0
- package/dist/list-J5DDHZ6D.mjs +75 -0
- package/dist/list-JPCR43SK.mjs +87 -0
- package/dist/list-MOVC3633.js +78 -0
- package/dist/list-MOVC3633.js.map +1 -0
- package/dist/list-N5LMW2EC.mjs +122 -0
- package/dist/list-NGEPLHNH.js +78 -0
- package/dist/list-NGEPLHNH.js.map +1 -0
- package/dist/list-PQCFQJAH.js +75 -0
- package/dist/list-PQCFQJAH.js.map +1 -0
- package/dist/list-QL5QQZ3K.mjs +71 -0
- package/dist/list-RFL5FFQJ.mjs +72 -0
- package/dist/list-TAZJMEV3.js +53 -0
- package/dist/list-TAZJMEV3.js.map +1 -0
- package/dist/list-TLG7SECL.js +122 -0
- package/dist/list-TLG7SECL.js.map +1 -0
- package/dist/list-VBUU6MHZ.js +86 -0
- package/dist/list-VBUU6MHZ.js.map +1 -0
- package/dist/list-VZD5FJJJ.mjs +76 -0
- package/dist/list-W37YK2DI.js +85 -0
- package/dist/list-W37YK2DI.js.map +1 -0
- package/dist/list-W3QQGD7M.mjs +80 -0
- package/dist/list-WE3LEYFQ.js +78 -0
- package/dist/list-WE3LEYFQ.js.map +1 -0
- package/dist/list-WP25OIC2.js +80 -0
- package/dist/list-WP25OIC2.js.map +1 -0
- package/dist/list-YAQOAORG.js +80 -0
- package/dist/list-YAQOAORG.js.map +1 -0
- package/dist/list-YQRE3ZBP.mjs +78 -0
- package/dist/list-YSR7DSZ3.js +82 -0
- package/dist/list-YSR7DSZ3.js.map +1 -0
- package/dist/list-YSSWO6ZA.mjs +85 -0
- package/dist/list-ZDLJ7KL4.mjs +78 -0
- package/dist/list-ZQOWI6QZ.mjs +75 -0
- package/dist/list-ZSPLY2VA.mjs +80 -0
- package/dist/login-663GBIQU.mjs +231 -0
- package/dist/login-PAG22HTJ.js +231 -0
- package/dist/login-PAG22HTJ.js.map +1 -0
- package/dist/logout-device-J325Y37F.js +39 -0
- package/dist/logout-device-J325Y37F.js.map +1 -0
- package/dist/logout-device-JOPQKPFL.mjs +39 -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 +4 -4
- package/dist/observability-sdk/index.mjs +3 -3
- 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.js.map +1 -1
- package/dist/observability-sdk/instrumentation/langchain/index.mjs +1 -1
- package/dist/observability-sdk/instrumentation/langchain/index.mjs.map +1 -1
- package/dist/observability-sdk/setup/node/index.js +4 -4
- package/dist/observability-sdk/setup/node/index.mjs +3 -3
- package/dist/open-2IGFGDDB.mjs +47 -0
- package/dist/open-TCBDPKWM.js +47 -0
- package/dist/open-TCBDPKWM.js.map +1 -0
- package/dist/pull-FYB6V5NG.mjs +27 -0
- package/dist/pull-WNAWUNPV.js +27 -0
- package/dist/pull-WNAWUNPV.js.map +1 -0
- package/dist/push-6MZUZIVP.mjs +27 -0
- package/dist/push-FN2CDHUA.js +27 -0
- package/dist/push-FN2CDHUA.js.map +1 -0
- package/dist/query-3THSHHW5.js +122 -0
- package/dist/query-3THSHHW5.js.map +1 -0
- package/dist/query-QG7HNZ7Z.mjs +122 -0
- package/dist/records-add-PZSIYFMP.js +98 -0
- package/dist/records-add-PZSIYFMP.js.map +1 -0
- package/dist/records-add-UPKUEBMZ.mjs +98 -0
- package/dist/records-delete-NBXES4VV.mjs +46 -0
- package/dist/records-delete-NV2R6S5W.js +46 -0
- package/dist/records-delete-NV2R6S5W.js.map +1 -0
- package/dist/records-list-H54PSTMP.js +89 -0
- package/dist/records-list-H54PSTMP.js.map +1 -0
- package/dist/records-list-IUS7YLQR.mjs +89 -0
- package/dist/records-update-H7WWAUYM.js +53 -0
- package/dist/records-update-H7WWAUYM.js.map +1 -0
- package/dist/records-update-P5VHCUJT.mjs +53 -0
- package/dist/remove-CGRK7RHE.mjs +114 -0
- package/dist/remove-IJN33W7A.js +114 -0
- package/dist/remove-IJN33W7A.js.map +1 -0
- package/dist/rename-XQLL4F4G.mjs +42 -0
- package/dist/rename-ZAAW4YOB.js +42 -0
- package/dist/rename-ZAAW4YOB.js.map +1 -0
- package/dist/request-increase-FLFEPGIC.js +37 -0
- package/dist/request-increase-FLFEPGIC.js.map +1 -0
- package/dist/request-increase-NHM27JXH.mjs +37 -0
- package/dist/restore-MFMWJXDI.js +73 -0
- package/dist/restore-MFMWJXDI.js.map +1 -0
- package/dist/restore-OVLJGAMV.mjs +73 -0
- package/dist/revoke-7YLORB2D.mjs +41 -0
- package/dist/revoke-I5QNEEE5.js +41 -0
- package/dist/revoke-I5QNEEE5.js.map +1 -0
- package/dist/revoke-S3JNSL7S.js +44 -0
- package/dist/revoke-S3JNSL7S.js.map +1 -0
- package/dist/revoke-ZBHCHOT7.mjs +44 -0
- package/dist/rotate-MALFSMNW.mjs +52 -0
- package/dist/rotate-RX7RPHR2.js +52 -0
- package/dist/rotate-RX7RPHR2.js.map +1 -0
- package/dist/run-37PVX3VX.js +83 -0
- package/dist/run-37PVX3VX.js.map +1 -0
- package/dist/run-HS7XAL7H.js +77 -0
- package/dist/run-HS7XAL7H.js.map +1 -0
- package/dist/run-IW3ZTZ56.mjs +83 -0
- package/dist/run-LIHUJRSL.js +131 -0
- package/dist/run-LIHUJRSL.js.map +1 -0
- package/dist/run-MRTMHFIO.mjs +142 -0
- package/dist/run-OW5GZBYE.mjs +131 -0
- package/dist/run-UB3A47QC.mjs +144 -0
- package/dist/run-YP6U63IC.js +142 -0
- package/dist/run-YP6U63IC.js.map +1 -0
- package/dist/run-YR4HZXEA.js +144 -0
- package/dist/run-YR4HZXEA.js.map +1 -0
- package/dist/run-YXS2M4RW.mjs +77 -0
- package/dist/search-237PMUD7.js +108 -0
- package/dist/search-237PMUD7.js.map +1 -0
- package/dist/search-SW3QCAB5.mjs +108 -0
- package/dist/set-6WIQ33I5.mjs +105 -0
- package/dist/set-E2SK37YE.js +105 -0
- package/dist/set-E2SK37YE.js.map +1 -0
- package/dist/set-IMUR6YJP.mjs +59 -0
- package/dist/set-KUEDM2OY.js +59 -0
- package/dist/set-KUEDM2OY.js.map +1 -0
- package/dist/status-5SUTIJSP.js +56 -0
- package/dist/status-5SUTIJSP.js.map +1 -0
- package/dist/status-G3PRLZ5U.mjs +153 -0
- package/dist/status-JPXHEPJN.js +120 -0
- package/dist/status-JPXHEPJN.js.map +1 -0
- package/dist/status-QILDFWNB.js +153 -0
- package/dist/status-QILDFWNB.js.map +1 -0
- package/dist/status-T3NZYEID.mjs +120 -0
- package/dist/status-T3NZYEID.mjs.map +1 -0
- package/dist/status-YI7W7MPT.mjs +56 -0
- package/dist/sync-MDSHPQ7D.mjs +132 -0
- package/dist/sync-VNJWS43B.js +132 -0
- package/dist/sync-VNJWS43B.js.map +1 -0
- package/dist/tail-MPIISBM5.mjs +108 -0
- package/dist/tail-OCZVOWEE.js +108 -0
- package/dist/tail-OCZVOWEE.js.map +1 -0
- package/dist/types-B9qTksgY.d.mts +14775 -0
- package/dist/types-BnNfjAE_.d.ts +14775 -0
- package/dist/unset-TSHEKAZC.js +107 -0
- package/dist/unset-TSHEKAZC.js.map +1 -0
- package/dist/unset-VR3N4YHI.mjs +107 -0
- package/dist/update-5G4AUALT.mjs +51 -0
- package/dist/update-5KUZNTSD.mjs +65 -0
- package/dist/update-6XXVXEC4.mjs +63 -0
- package/dist/update-7CTPDWSE.js +66 -0
- package/dist/update-7CTPDWSE.js.map +1 -0
- package/dist/update-7IZ355SN.js +71 -0
- package/dist/update-7IZ355SN.js.map +1 -0
- package/dist/update-A4HC3FKK.mjs +63 -0
- package/dist/update-EVUCQQYQ.js +79 -0
- package/dist/update-EVUCQQYQ.js.map +1 -0
- package/dist/update-F57XZZJL.mjs +48 -0
- package/dist/update-FY6JBFMK.js +61 -0
- package/dist/update-FY6JBFMK.js.map +1 -0
- package/dist/update-GMWZGJHJ.mjs +75 -0
- package/dist/update-H2L6ZBKK.js +48 -0
- package/dist/update-H2L6ZBKK.js.map +1 -0
- package/dist/update-HDPEYMD5.mjs +66 -0
- package/dist/update-HX7CX2ZY.mjs +83 -0
- package/dist/update-I5PV7ARJ.js +63 -0
- package/dist/update-I5PV7ARJ.js.map +1 -0
- package/dist/update-JVUDSQSN.mjs +106 -0
- package/dist/update-L2WS2LBI.mjs +48 -0
- package/dist/update-N3Y3XKPX.js +51 -0
- package/dist/update-N3Y3XKPX.js.map +1 -0
- package/dist/update-OBVQGGK3.js +106 -0
- package/dist/update-OBVQGGK3.js.map +1 -0
- package/dist/update-U57RYVPO.mjs +61 -0
- package/dist/update-UW5OV3FU.mjs +76 -0
- package/dist/update-VY5G6XFC.mjs +79 -0
- package/dist/update-WFSGSU23.js +48 -0
- package/dist/update-WFSGSU23.js.map +1 -0
- package/dist/update-XE5H6ZT4.js +63 -0
- package/dist/update-XE5H6ZT4.js.map +1 -0
- package/dist/update-XUDTBVME.js +76 -0
- package/dist/update-XUDTBVME.js.map +1 -0
- package/dist/update-YTPAHPFE.mjs +71 -0
- package/dist/update-ZLWDKSXC.js +65 -0
- package/dist/update-ZLWDKSXC.js.map +1 -0
- package/dist/update-ZPOWV2DO.js +75 -0
- package/dist/update-ZPOWV2DO.js.map +1 -0
- package/dist/update-ZSYVB7P2.js +83 -0
- package/dist/update-ZSYVB7P2.js.map +1 -0
- package/dist/upload-ALJUF2KN.mjs +80 -0
- package/dist/upload-ZCJI5ZQT.js +80 -0
- package/dist/upload-ZCJI5ZQT.js.map +1 -0
- package/dist/versions-CTHDPZK7.js +85 -0
- package/dist/versions-CTHDPZK7.js.map +1 -0
- package/dist/versions-JATWW4WF.mjs +85 -0
- package/dist/whoami-EI52YRCH.js +30 -0
- package/dist/whoami-EI52YRCH.js.map +1 -0
- package/dist/whoami-KGRA4QEY.mjs +30 -0
- package/dist/wrap-DHIOJOOV.mjs +34 -0
- package/dist/wrap-DHIOJOOV.mjs.map +1 -0
- package/dist/wrap-PLAHCHCP.js +34 -0
- package/dist/wrap-PLAHCHCP.js.map +1 -0
- package/package.json +4 -5
- package/dist/add-BCQPBWEE.js +0 -148
- package/dist/add-BCQPBWEE.js.map +0 -1
- package/dist/add-NTGJL2CX.mjs +0 -148
- package/dist/archive-BO7SNPHL.js +0 -41
- package/dist/archive-BO7SNPHL.js.map +0 -1
- package/dist/archive-RHIZYPNS.mjs +0 -41
- package/dist/assign-56XQOSK3.mjs +0 -54
- package/dist/assign-I2JW6DNX.js +0 -54
- package/dist/assign-I2JW6DNX.js.map +0 -1
- package/dist/chunk-25RYLDHZ.js +0 -346
- package/dist/chunk-25RYLDHZ.js.map +0 -1
- package/dist/chunk-2FCA2CRB.mjs +0 -512
- package/dist/chunk-2I6DFG3T.js +0 -36
- package/dist/chunk-2I6DFG3T.js.map +0 -1
- package/dist/chunk-5B7IKUNG.js +0 -297
- package/dist/chunk-5B7IKUNG.js.map +0 -1
- package/dist/chunk-6HB4LUF2.js +0 -42
- package/dist/chunk-6HB4LUF2.js.map +0 -1
- package/dist/chunk-6MVAXO5A.mjs +0 -263
- package/dist/chunk-6MVAXO5A.mjs.map +0 -1
- package/dist/chunk-72IQOPR2.js +0 -76
- package/dist/chunk-72IQOPR2.js.map +0 -1
- package/dist/chunk-7BS33JNZ.mjs +0 -53
- package/dist/chunk-7KTDTNXT.mjs +0 -297
- package/dist/chunk-7KTDTNXT.mjs.map +0 -1
- package/dist/chunk-A7T4DZKC.js +0 -263
- package/dist/chunk-A7T4DZKC.js.map +0 -1
- package/dist/chunk-ALG4K7WV.mjs +0 -90
- package/dist/chunk-AVCJRGOB.js +0 -68
- package/dist/chunk-AVCJRGOB.js.map +0 -1
- package/dist/chunk-BAT3CBL7.mjs +0 -34
- package/dist/chunk-BAT3CBL7.mjs.map +0 -1
- package/dist/chunk-BLLBUKUY.mjs +0 -66
- package/dist/chunk-BOTX7OBC.js +0 -661
- package/dist/chunk-BOTX7OBC.js.map +0 -1
- package/dist/chunk-C6KCPPDE.mjs +0 -80
- package/dist/chunk-CBKUU3DP.mjs +0 -300
- package/dist/chunk-CQSAZUGQ.js +0 -53
- package/dist/chunk-CQSAZUGQ.js.map +0 -1
- package/dist/chunk-CSTSXKEO.js +0 -103
- package/dist/chunk-CSTSXKEO.js.map +0 -1
- package/dist/chunk-D4TPA4ZM.js +0 -300
- package/dist/chunk-D4TPA4ZM.js.map +0 -1
- package/dist/chunk-DVY534IX.js +0 -63
- package/dist/chunk-DVY534IX.js.map +0 -1
- package/dist/chunk-DYHYEMX7.js +0 -196
- package/dist/chunk-DYHYEMX7.js.map +0 -1
- package/dist/chunk-E2L65VBA.js +0 -40
- package/dist/chunk-E2L65VBA.js.map +0 -1
- package/dist/chunk-E6LJUX36.js +0 -70
- package/dist/chunk-E6LJUX36.js.map +0 -1
- package/dist/chunk-EY3RI65X.js +0 -80
- package/dist/chunk-EY3RI65X.js.map +0 -1
- package/dist/chunk-F4UXJDGZ.mjs +0 -42
- package/dist/chunk-FFTW6SV4.mjs +0 -68
- package/dist/chunk-FJHSBSAP.mjs +0 -36
- package/dist/chunk-FUNE35XZ.js +0 -80
- package/dist/chunk-FUNE35XZ.js.map +0 -1
- package/dist/chunk-GNBFS5EQ.mjs +0 -17
- package/dist/chunk-GNBFS5EQ.mjs.map +0 -1
- package/dist/chunk-I5DYFMEZ.js +0 -17
- package/dist/chunk-I5DYFMEZ.js.map +0 -1
- package/dist/chunk-IBUFY5TJ.js +0 -67
- package/dist/chunk-IBUFY5TJ.js.map +0 -1
- package/dist/chunk-IGRJP4RX.mjs +0 -76
- package/dist/chunk-JBZRGURS.mjs +0 -40
- package/dist/chunk-K45NQQ7F.js +0 -85
- package/dist/chunk-K45NQQ7F.js.map +0 -1
- package/dist/chunk-KCDBRFHE.js +0 -96
- package/dist/chunk-KCDBRFHE.js.map +0 -1
- package/dist/chunk-KDX56WS2.mjs +0 -101
- package/dist/chunk-LCKB2Z5Y.js +0 -34
- package/dist/chunk-LCKB2Z5Y.js.map +0 -1
- package/dist/chunk-LIPRXHHB.js +0 -101
- package/dist/chunk-LIPRXHHB.js.map +0 -1
- package/dist/chunk-MSGYVS7X.mjs +0 -136
- package/dist/chunk-N7MVAEQX.js +0 -888
- package/dist/chunk-N7MVAEQX.js.map +0 -1
- package/dist/chunk-NJICHVPX.mjs +0 -70
- package/dist/chunk-NOUIWZCK.js +0 -136
- package/dist/chunk-NOUIWZCK.js.map +0 -1
- package/dist/chunk-NTUIOWUM.mjs +0 -888
- package/dist/chunk-NZT2VUX5.mjs +0 -54
- package/dist/chunk-OJ2RV3YY.js +0 -66
- package/dist/chunk-OJ2RV3YY.js.map +0 -1
- package/dist/chunk-P27JS2XK.mjs +0 -96
- package/dist/chunk-PWXUXMNV.js +0 -663
- package/dist/chunk-PWXUXMNV.js.map +0 -1
- package/dist/chunk-QH6442NY.mjs +0 -663
- package/dist/chunk-QVBXHLXS.mjs +0 -103
- package/dist/chunk-SDUILEFR.mjs +0 -661
- package/dist/chunk-SDUILEFR.mjs.map +0 -1
- package/dist/chunk-SFWGJNWG.mjs +0 -196
- package/dist/chunk-T46Y7B2D.mjs +0 -63
- package/dist/chunk-T6LELB2A.mjs +0 -51
- package/dist/chunk-U6BL2GLB.js +0 -54
- package/dist/chunk-U6BL2GLB.js.map +0 -1
- package/dist/chunk-U6UYZ7VC.js +0 -63
- package/dist/chunk-U6UYZ7VC.js.map +0 -1
- package/dist/chunk-VGZOUL5J.mjs +0 -285
- package/dist/chunk-VGZOUL5J.mjs.map +0 -1
- package/dist/chunk-VTHIHR22.mjs +0 -42
- package/dist/chunk-VW3GTPRE.mjs +0 -67
- package/dist/chunk-VW3GTPRE.mjs.map +0 -1
- package/dist/chunk-WDGR54P5.mjs +0 -80
- package/dist/chunk-WKK33HHX.mjs +0 -63
- package/dist/chunk-WKK33HHX.mjs.map +0 -1
- package/dist/chunk-XKCTA4Q2.js +0 -51
- package/dist/chunk-XKCTA4Q2.js.map +0 -1
- package/dist/chunk-XMVWAFHX.js +0 -90
- package/dist/chunk-XMVWAFHX.js.map +0 -1
- package/dist/chunk-XQOBW32F.js +0 -512
- package/dist/chunk-XQOBW32F.js.map +0 -1
- package/dist/chunk-XT7GI3H7.js +0 -92
- package/dist/chunk-XT7GI3H7.js.map +0 -1
- package/dist/chunk-Y5YA24Y4.js +0 -42
- package/dist/chunk-Y5YA24Y4.js.map +0 -1
- package/dist/chunk-YG3K5XBQ.mjs +0 -346
- package/dist/chunk-YN2GYHG3.js +0 -285
- package/dist/chunk-YN2GYHG3.js.map +0 -1
- package/dist/chunk-ZRCDO3D5.mjs +0 -92
- package/dist/chunk-ZWCPSY4D.mjs +0 -85
- package/dist/config-FY4AVETK.js +0 -96
- package/dist/config-FY4AVETK.js.map +0 -1
- package/dist/config-Z3UAKGVH.mjs +0 -96
- package/dist/create-2JIJVWOR.mjs +0 -75
- package/dist/create-4IE4Y2SF.js +0 -52
- package/dist/create-4IE4Y2SF.js.map +0 -1
- package/dist/create-4IPHZC3V.js +0 -88
- package/dist/create-4IPHZC3V.js.map +0 -1
- package/dist/create-4TIOBNAA.mjs +0 -52
- package/dist/create-7OBC3X6K.mjs +0 -48
- package/dist/create-BL7TOIIF.js +0 -72
- package/dist/create-BL7TOIIF.js.map +0 -1
- package/dist/create-CMBNVJDE.mjs +0 -94
- package/dist/create-DUMUVRTI.mjs +0 -91
- package/dist/create-H4OG6VHE.js +0 -92
- package/dist/create-H4OG6VHE.js.map +0 -1
- package/dist/create-IQDZNSVC.js +0 -42
- package/dist/create-IQDZNSVC.js.map +0 -1
- package/dist/create-IZ7SBQS5.js +0 -23
- package/dist/create-IZ7SBQS5.js.map +0 -1
- package/dist/create-JDNZHYOR.mjs +0 -43
- package/dist/create-K2LDICOT.js +0 -58
- package/dist/create-K2LDICOT.js.map +0 -1
- package/dist/create-KGMGOFZN.mjs +0 -88
- package/dist/create-KJ75BZEJ.js +0 -75
- package/dist/create-KJ75BZEJ.js.map +0 -1
- package/dist/create-LYK356PR.js +0 -88
- package/dist/create-LYK356PR.js.map +0 -1
- package/dist/create-MM5IRL2S.js +0 -91
- package/dist/create-MM5IRL2S.js.map +0 -1
- package/dist/create-MMDDO3PB.mjs +0 -87
- package/dist/create-NM7P2DCT.mjs +0 -49
- package/dist/create-O4OOFM2G.js +0 -71
- package/dist/create-O4OOFM2G.js.map +0 -1
- package/dist/create-OCRBRM2G.js +0 -87
- package/dist/create-OCRBRM2G.js.map +0 -1
- package/dist/create-QQ6FUVKJ.js +0 -94
- package/dist/create-QQ6FUVKJ.js.map +0 -1
- package/dist/create-SKYE43CO.js +0 -43
- package/dist/create-SKYE43CO.js.map +0 -1
- package/dist/create-TBL2OR4U.mjs +0 -88
- package/dist/create-TGEYW3XC.js +0 -48
- package/dist/create-TGEYW3XC.js.map +0 -1
- package/dist/create-UHQ54VS7.mjs +0 -58
- package/dist/create-UPM5ZYUZ.mjs +0 -42
- package/dist/create-WCMYN6L3.mjs +0 -50
- package/dist/create-WL6QJWQC.mjs +0 -71
- package/dist/create-WPQN7MBG.js +0 -50
- package/dist/create-WPQN7MBG.js.map +0 -1
- package/dist/create-X4GUHVTD.mjs +0 -72
- package/dist/create-XWVUSGYK.mjs +0 -23
- package/dist/create-YD5AT5LO.js +0 -49
- package/dist/create-YD5AT5LO.js.map +0 -1
- package/dist/create-YYFTCL3H.mjs +0 -92
- package/dist/delete-3IVPCPZC.js +0 -52
- package/dist/delete-3IVPCPZC.js.map +0 -1
- package/dist/delete-53YPK4BT.js +0 -39
- package/dist/delete-53YPK4BT.js.map +0 -1
- package/dist/delete-6LHKOZQZ.js +0 -59
- package/dist/delete-6LHKOZQZ.js.map +0 -1
- package/dist/delete-6Q4LPBCD.js +0 -38
- package/dist/delete-6Q4LPBCD.js.map +0 -1
- package/dist/delete-C3WRIBAL.mjs +0 -52
- package/dist/delete-DK7XLD4N.js +0 -44
- package/dist/delete-DK7XLD4N.js.map +0 -1
- package/dist/delete-DO4LSCUW.js +0 -42
- package/dist/delete-DO4LSCUW.js.map +0 -1
- package/dist/delete-GGBF26W2.mjs +0 -39
- package/dist/delete-IOV33BOC.mjs +0 -52
- package/dist/delete-IQPGNG3Y.js +0 -39
- package/dist/delete-IQPGNG3Y.js.map +0 -1
- package/dist/delete-K6N47ZLX.js +0 -57
- package/dist/delete-K6N47ZLX.js.map +0 -1
- package/dist/delete-KX4VUL2C.mjs +0 -59
- package/dist/delete-NRJXAXQ2.mjs +0 -57
- package/dist/delete-NSGIFPWK.js +0 -59
- package/dist/delete-NSGIFPWK.js.map +0 -1
- package/dist/delete-O2ZOJT6O.mjs +0 -44
- package/dist/delete-ODSJGPKL.mjs +0 -52
- package/dist/delete-OGBMBW65.mjs +0 -59
- package/dist/delete-OYBYDUGN.js +0 -41
- package/dist/delete-OYBYDUGN.js.map +0 -1
- package/dist/delete-PWAPCGIC.mjs +0 -41
- package/dist/delete-QK56UT6L.mjs +0 -38
- package/dist/delete-QL3QTZHM.js +0 -52
- package/dist/delete-QL3QTZHM.js.map +0 -1
- package/dist/delete-QMWRNRJ3.mjs +0 -52
- package/dist/delete-QSRX5BV6.mjs +0 -42
- package/dist/delete-QUO3E3KK.js +0 -52
- package/dist/delete-QUO3E3KK.js.map +0 -1
- package/dist/delete-TRLG55RC.js +0 -52
- package/dist/delete-TRLG55RC.js.map +0 -1
- package/dist/delete-TU2JE6PT.mjs +0 -61
- package/dist/delete-UKBO6KU5.js +0 -61
- package/dist/delete-UKBO6KU5.js.map +0 -1
- package/dist/delete-XV3FFG7P.mjs +0 -39
- package/dist/download-JEJJA6DV.mjs +0 -100
- package/dist/download-K2DLSB5R.js +0 -100
- package/dist/download-K2DLSB5R.js.map +0 -1
- package/dist/duplicate-2TQJNHTA.js +0 -45
- package/dist/duplicate-2TQJNHTA.js.map +0 -1
- package/dist/duplicate-FXY4IYWC.mjs +0 -45
- package/dist/export-SM5GXH4S.mjs +0 -103
- package/dist/export-TCDER22C.js +0 -103
- package/dist/export-TCDER22C.js.map +0 -1
- package/dist/get-2SLOZIPN.js +0 -56
- package/dist/get-2SLOZIPN.js.map +0 -1
- package/dist/get-3LMPNC73.mjs +0 -149
- package/dist/get-3ZKC5CVY.mjs +0 -68
- package/dist/get-7OE62A5G.mjs +0 -71
- package/dist/get-A5BA32NL.js +0 -52
- package/dist/get-A5BA32NL.js.map +0 -1
- package/dist/get-AJW7Y3HU.mjs +0 -51
- package/dist/get-ASKIVMCX.js +0 -68
- package/dist/get-ASKIVMCX.js.map +0 -1
- package/dist/get-CXEFUZRR.js +0 -49
- package/dist/get-CXEFUZRR.js.map +0 -1
- package/dist/get-EUFFPDDE.js +0 -52
- package/dist/get-EUFFPDDE.js.map +0 -1
- package/dist/get-GOVIRAZM.js +0 -71
- package/dist/get-GOVIRAZM.js.map +0 -1
- package/dist/get-GVKH5CK6.mjs +0 -94
- package/dist/get-H3QB47KL.js +0 -70
- package/dist/get-H3QB47KL.js.map +0 -1
- package/dist/get-HWZLCJHR.mjs +0 -52
- package/dist/get-IF7MBWBU.js +0 -67
- package/dist/get-IF7MBWBU.js.map +0 -1
- package/dist/get-J6RBO5FC.mjs +0 -71
- package/dist/get-JN4XRABY.mjs +0 -66
- package/dist/get-JUNLBFPQ.mjs +0 -76
- package/dist/get-KCPTPAZQ.js +0 -149
- package/dist/get-KCPTPAZQ.js.map +0 -1
- package/dist/get-LEX5DHEH.mjs +0 -70
- package/dist/get-MIPHEIIS.js +0 -76
- package/dist/get-MIPHEIIS.js.map +0 -1
- package/dist/get-MVVI5UBJ.js +0 -71
- package/dist/get-MVVI5UBJ.js.map +0 -1
- package/dist/get-MZSC4XTK.mjs +0 -56
- package/dist/get-O74QPFVW.js +0 -94
- package/dist/get-O74QPFVW.js.map +0 -1
- package/dist/get-PDMFBUS6.js +0 -51
- package/dist/get-PDMFBUS6.js.map +0 -1
- package/dist/get-PVJOVUY2.js +0 -85
- package/dist/get-PVJOVUY2.js.map +0 -1
- package/dist/get-PZFFQGHE.mjs +0 -49
- package/dist/get-RBZCE26R.mjs +0 -67
- package/dist/get-RZOK67QH.mjs +0 -52
- package/dist/get-WYN27ZYK.mjs +0 -71
- package/dist/get-X2E3KFBO.mjs +0 -85
- package/dist/get-XGQTOUUA.js +0 -71
- package/dist/get-XGQTOUUA.js.map +0 -1
- package/dist/get-Y45EY5GL.js +0 -66
- package/dist/get-Y45EY5GL.js.map +0 -1
- package/dist/health-G7QIL32K.js +0 -73
- package/dist/health-G7QIL32K.js.map +0 -1
- package/dist/health-K4TNDKO5.mjs +0 -73
- package/dist/implementation-BjKH8hfM.d.ts +0 -716
- package/dist/implementation-DVeJmBaC.d.mts +0 -716
- package/dist/ingestion-templates-4JIA7SSF.mjs +0 -185
- package/dist/ingestion-templates-4JIA7SSF.mjs.map +0 -1
- package/dist/ingestion-templates-ZV2373JE.js +0 -185
- package/dist/ingestion-templates-ZV2373JE.js.map +0 -1
- package/dist/init-shell-MCX27UIL.mjs +0 -71
- package/dist/init-shell-MCX27UIL.mjs.map +0 -1
- package/dist/init-shell-YK7WR2C2.js +0 -71
- package/dist/init-shell-YK7WR2C2.js.map +0 -1
- package/dist/list-2NIHHNHH.js +0 -71
- package/dist/list-2NIHHNHH.js.map +0 -1
- package/dist/list-2POSB4AL.mjs +0 -111
- package/dist/list-2QL7GRGM.mjs +0 -87
- package/dist/list-3PM76NUS.js +0 -80
- package/dist/list-3PM76NUS.js.map +0 -1
- package/dist/list-4GZTZHNR.js +0 -82
- package/dist/list-4GZTZHNR.js.map +0 -1
- package/dist/list-4HSUMNXW.mjs +0 -76
- package/dist/list-4K4RX2Y2.js +0 -78
- package/dist/list-4K4RX2Y2.js.map +0 -1
- package/dist/list-6BIZYEPW.js +0 -90
- package/dist/list-6BIZYEPW.js.map +0 -1
- package/dist/list-BB43NKUM.mjs +0 -53
- package/dist/list-BC2OES2G.mjs +0 -104
- package/dist/list-C2IXWMFN.mjs +0 -78
- package/dist/list-C3674FXP.mjs +0 -75
- package/dist/list-D64DW6VQ.js +0 -83
- package/dist/list-D64DW6VQ.js.map +0 -1
- package/dist/list-DVGDEGQH.mjs +0 -82
- package/dist/list-E2Q7UXQN.js +0 -72
- package/dist/list-E2Q7UXQN.js.map +0 -1
- package/dist/list-FAHNBAHW.js +0 -78
- package/dist/list-FAHNBAHW.js.map +0 -1
- package/dist/list-FAUMOBHA.mjs +0 -80
- package/dist/list-FKDR27HO.mjs +0 -75
- package/dist/list-FNPC3YED.mjs +0 -78
- package/dist/list-FNVZXYIS.js +0 -80
- package/dist/list-FNVZXYIS.js.map +0 -1
- package/dist/list-G3NQU4CF.mjs +0 -122
- package/dist/list-G4KTNT7Z.mjs +0 -86
- package/dist/list-GTYDZ4BW.mjs +0 -90
- package/dist/list-IPROZBHH.js +0 -122
- package/dist/list-IPROZBHH.js.map +0 -1
- package/dist/list-J5LSLPUA.js +0 -75
- package/dist/list-J5LSLPUA.js.map +0 -1
- package/dist/list-J5RLSPXZ.js +0 -104
- package/dist/list-J5RLSPXZ.js.map +0 -1
- package/dist/list-JIRLV2GF.js +0 -76
- package/dist/list-JIRLV2GF.js.map +0 -1
- package/dist/list-JSQW2CEJ.js +0 -53
- package/dist/list-JSQW2CEJ.js.map +0 -1
- package/dist/list-KDRFJ76E.mjs +0 -85
- package/dist/list-KRUADMDD.js +0 -75
- package/dist/list-KRUADMDD.js.map +0 -1
- package/dist/list-KX7MEJPP.mjs +0 -71
- package/dist/list-LLIEQUMO.js +0 -111
- package/dist/list-LLIEQUMO.js.map +0 -1
- package/dist/list-OHV42MFI.js +0 -85
- package/dist/list-OHV42MFI.js.map +0 -1
- package/dist/list-OQNU4RZK.mjs +0 -75
- package/dist/list-OVSKCRLK.mjs +0 -72
- package/dist/list-RQP6FA2U.mjs +0 -83
- package/dist/list-TD43XBFH.js +0 -86
- package/dist/list-TD43XBFH.js.map +0 -1
- package/dist/list-UWKO3J4O.js +0 -78
- package/dist/list-UWKO3J4O.js.map +0 -1
- package/dist/list-VE3W3RLV.mjs +0 -82
- package/dist/list-WDT6PJLI.js +0 -87
- package/dist/list-WDT6PJLI.js.map +0 -1
- package/dist/list-WERZN5VJ.js +0 -82
- package/dist/list-WERZN5VJ.js.map +0 -1
- package/dist/list-WVUPB5MJ.mjs +0 -80
- package/dist/list-XLZHX2AO.js +0 -75
- package/dist/list-XLZHX2AO.js.map +0 -1
- package/dist/list-Y65ONFMR.mjs +0 -78
- package/dist/login-VS2QKX4F.mjs +0 -231
- package/dist/login-YM5YEWKL.js +0 -231
- package/dist/login-YM5YEWKL.js.map +0 -1
- package/dist/logout-device-4GI5URWD.js +0 -39
- package/dist/logout-device-4GI5URWD.js.map +0 -1
- package/dist/logout-device-D34PE5R6.mjs +0 -39
- package/dist/open-JIZ3KJHS.mjs +0 -47
- package/dist/open-LGMC22E5.js +0 -47
- package/dist/open-LGMC22E5.js.map +0 -1
- package/dist/pull-34TC66ZB.js +0 -27
- package/dist/pull-34TC66ZB.js.map +0 -1
- package/dist/pull-6TWIHJTL.mjs +0 -27
- package/dist/push-CPZFOM5M.mjs +0 -27
- package/dist/push-IG4U2NVQ.js +0 -27
- package/dist/push-IG4U2NVQ.js.map +0 -1
- package/dist/query-6XH7GMYS.js +0 -122
- package/dist/query-6XH7GMYS.js.map +0 -1
- package/dist/query-MXUNPAC5.mjs +0 -122
- package/dist/records-add-27W36W6C.mjs +0 -98
- package/dist/records-add-HPIL7KWD.js +0 -98
- package/dist/records-add-HPIL7KWD.js.map +0 -1
- package/dist/records-delete-7J5TPTDH.js +0 -46
- package/dist/records-delete-7J5TPTDH.js.map +0 -1
- package/dist/records-delete-R67MVBNC.mjs +0 -46
- package/dist/records-list-PCI4DGVV.mjs +0 -89
- package/dist/records-list-QYASBZGW.js +0 -89
- package/dist/records-list-QYASBZGW.js.map +0 -1
- package/dist/records-update-2IXQ6B7S.mjs +0 -53
- package/dist/records-update-VUCZYGJM.js +0 -53
- package/dist/records-update-VUCZYGJM.js.map +0 -1
- package/dist/remove-7RFN5M6K.js +0 -114
- package/dist/remove-7RFN5M6K.js.map +0 -1
- package/dist/remove-KSZO5PJ3.mjs +0 -114
- package/dist/rename-5RVE224Z.js +0 -42
- package/dist/rename-5RVE224Z.js.map +0 -1
- package/dist/rename-OPZ57MAU.mjs +0 -42
- package/dist/request-increase-42B3536U.js +0 -37
- package/dist/request-increase-42B3536U.js.map +0 -1
- package/dist/request-increase-SFKA63AF.mjs +0 -37
- package/dist/restore-GIKZE32G.js +0 -73
- package/dist/restore-GIKZE32G.js.map +0 -1
- package/dist/restore-XSEILUEP.mjs +0 -73
- package/dist/revoke-AAHB6DKY.js +0 -41
- package/dist/revoke-AAHB6DKY.js.map +0 -1
- package/dist/revoke-I7DMDHCI.mjs +0 -41
- package/dist/revoke-LCZ5ORHO.js +0 -44
- package/dist/revoke-LCZ5ORHO.js.map +0 -1
- package/dist/revoke-ZCLT4SKY.mjs +0 -44
- package/dist/rotate-7OG4XI7F.js +0 -52
- package/dist/rotate-7OG4XI7F.js.map +0 -1
- package/dist/rotate-QB5UAO44.mjs +0 -52
- package/dist/run-2R2STWSR.mjs +0 -77
- package/dist/run-3W2OBPMD.js +0 -142
- package/dist/run-3W2OBPMD.js.map +0 -1
- package/dist/run-CSRJCY5K.js +0 -83
- package/dist/run-CSRJCY5K.js.map +0 -1
- package/dist/run-HIDZ6M3T.js +0 -144
- package/dist/run-HIDZ6M3T.js.map +0 -1
- package/dist/run-KWE47WKD.js +0 -131
- package/dist/run-KWE47WKD.js.map +0 -1
- package/dist/run-LQTVXDBU.mjs +0 -83
- package/dist/run-MOZBEBF4.js +0 -77
- package/dist/run-MOZBEBF4.js.map +0 -1
- package/dist/run-RZCXEXSI.mjs +0 -142
- package/dist/run-WSAWSK6Y.mjs +0 -144
- package/dist/run-ZKPZ5L6R.mjs +0 -131
- package/dist/search-DDAXU6KT.js +0 -108
- package/dist/search-DDAXU6KT.js.map +0 -1
- package/dist/search-K3W2DEHF.mjs +0 -108
- package/dist/set-CPPQ6IA3.mjs +0 -59
- package/dist/set-IOHIXABO.mjs +0 -105
- package/dist/set-N3OYQ2ZB.js +0 -59
- package/dist/set-N3OYQ2ZB.js.map +0 -1
- package/dist/set-QXIVHVOU.js +0 -105
- package/dist/set-QXIVHVOU.js.map +0 -1
- package/dist/status-E3YF7PKO.mjs +0 -153
- package/dist/status-EXATRY7O.js +0 -153
- package/dist/status-EXATRY7O.js.map +0 -1
- package/dist/status-LA3NQTLE.mjs +0 -56
- package/dist/status-VHIZIX4I.js +0 -56
- package/dist/status-VHIZIX4I.js.map +0 -1
- package/dist/status-WFURFYKE.js +0 -108
- package/dist/status-WFURFYKE.js.map +0 -1
- package/dist/status-XQIWM34F.mjs +0 -108
- package/dist/status-XQIWM34F.mjs.map +0 -1
- package/dist/sync-5JPO2354.mjs +0 -132
- package/dist/sync-EFMZYS7N.js +0 -132
- package/dist/sync-EFMZYS7N.js.map +0 -1
- package/dist/tail-ULXKVXW3.js +0 -108
- package/dist/tail-ULXKVXW3.js.map +0 -1
- package/dist/tail-ZJQ47UIQ.mjs +0 -108
- package/dist/types-CdEEWouX.d.mts +0 -15125
- package/dist/types-SQg9EYOC.d.ts +0 -15125
- package/dist/unset-HBSCU43Q.js +0 -107
- package/dist/unset-HBSCU43Q.js.map +0 -1
- package/dist/unset-PPMHHXD7.mjs +0 -107
- package/dist/update-45T64GNF.mjs +0 -71
- package/dist/update-4CBEARKP.mjs +0 -83
- package/dist/update-5FW6XOLE.js +0 -75
- package/dist/update-5FW6XOLE.js.map +0 -1
- package/dist/update-7A5YAIS4.js +0 -61
- package/dist/update-7A5YAIS4.js.map +0 -1
- package/dist/update-AMAVGICN.js +0 -65
- package/dist/update-AMAVGICN.js.map +0 -1
- package/dist/update-BOHGMKYA.js +0 -66
- package/dist/update-BOHGMKYA.js.map +0 -1
- package/dist/update-DLBPONRP.mjs +0 -48
- package/dist/update-E456QX26.js +0 -63
- package/dist/update-E456QX26.js.map +0 -1
- package/dist/update-EJCSFXU7.mjs +0 -63
- package/dist/update-F3WC4S2A.js +0 -79
- package/dist/update-F3WC4S2A.js.map +0 -1
- package/dist/update-HFF4JPKC.js +0 -51
- package/dist/update-HFF4JPKC.js.map +0 -1
- package/dist/update-HKH6Q6WH.mjs +0 -48
- package/dist/update-HXGC7ACW.js +0 -63
- package/dist/update-HXGC7ACW.js.map +0 -1
- package/dist/update-IT3I5MY3.mjs +0 -66
- package/dist/update-IZ2SB3G6.mjs +0 -61
- package/dist/update-KU2BSYPB.js +0 -83
- package/dist/update-KU2BSYPB.js.map +0 -1
- package/dist/update-LG77R7CZ.js +0 -48
- package/dist/update-LG77R7CZ.js.map +0 -1
- package/dist/update-MWK3QBIB.mjs +0 -106
- package/dist/update-QWIIF7IM.mjs +0 -51
- package/dist/update-R6EMJDGI.js +0 -76
- package/dist/update-R6EMJDGI.js.map +0 -1
- package/dist/update-S4TKF5OJ.js +0 -106
- package/dist/update-S4TKF5OJ.js.map +0 -1
- package/dist/update-TW65O3DI.js +0 -48
- package/dist/update-TW65O3DI.js.map +0 -1
- package/dist/update-V53W7KF6.mjs +0 -76
- package/dist/update-WLNXEROM.mjs +0 -63
- package/dist/update-X7LDZHL7.mjs +0 -75
- package/dist/update-XFZQOP75.mjs +0 -79
- package/dist/update-XHWI6LQB.js +0 -71
- package/dist/update-XHWI6LQB.js.map +0 -1
- package/dist/update-XY3CY367.mjs +0 -65
- package/dist/upload-LO4WXWBY.mjs +0 -80
- package/dist/upload-UL4DFXSC.js +0 -80
- package/dist/upload-UL4DFXSC.js.map +0 -1
- package/dist/user-ingestion-bindings-2GNU635P.mjs +0 -129
- package/dist/user-ingestion-bindings-2GNU635P.mjs.map +0 -1
- package/dist/user-ingestion-bindings-JV74TMGD.js +0 -129
- package/dist/user-ingestion-bindings-JV74TMGD.js.map +0 -1
- package/dist/versions-5Z6KSW6L.mjs +0 -85
- package/dist/versions-FU77C2TY.js +0 -85
- package/dist/versions-FU77C2TY.js.map +0 -1
- package/dist/whoami-2WXL4TMP.mjs +0 -30
- package/dist/whoami-TC6A4G4U.js +0 -30
- package/dist/whoami-TC6A4G4U.js.map +0 -1
- package/dist/wrap-FIHQNQEH.js +0 -33
- package/dist/wrap-FIHQNQEH.js.map +0 -1
- package/dist/wrap-OZUCTG73.mjs +0 -33
- package/dist/wrap-OZUCTG73.mjs.map +0 -1
- /package/dist/{add-NTGJL2CX.mjs.map → add-MOAMRJEO.mjs.map} +0 -0
- /package/dist/{archive-RHIZYPNS.mjs.map → archive-P3VF63FH.mjs.map} +0 -0
- /package/dist/{assign-56XQOSK3.mjs.map → assign-PQIAQAKQ.mjs.map} +0 -0
- /package/dist/{chunk-SFWGJNWG.mjs.map → chunk-2RZ2OCJO.mjs.map} +0 -0
- /package/dist/{chunk-7BS33JNZ.mjs.map → chunk-47UFY6NS.mjs.map} +0 -0
- /package/dist/{chunk-JBZRGURS.mjs.map → chunk-5IDPSWOP.mjs.map} +0 -0
- /package/dist/{chunk-MSGYVS7X.mjs.map → chunk-AG7BWPMX.mjs.map} +0 -0
- /package/dist/{chunk-NTUIOWUM.mjs.map → chunk-BOOZEXYC.mjs.map} +0 -0
- /package/dist/{chunk-P27JS2XK.mjs.map → chunk-C7ERF45K.mjs.map} +0 -0
- /package/dist/{chunk-T46Y7B2D.mjs.map → chunk-F6RB46UE.mjs.map} +0 -0
- /package/dist/{chunk-ZWCPSY4D.mjs.map → chunk-G5UNILDP.mjs.map} +0 -0
- /package/dist/{chunk-FFTW6SV4.mjs.map → chunk-GA3YH27L.mjs.map} +0 -0
- /package/dist/{chunk-T6LELB2A.mjs.map → chunk-H4QEDABK.mjs.map} +0 -0
- /package/dist/{chunk-KDX56WS2.mjs.map → chunk-HP7E6S2J.mjs.map} +0 -0
- /package/dist/{chunk-FJHSBSAP.mjs.map → chunk-KMNF7M4B.mjs.map} +0 -0
- /package/dist/{chunk-QVBXHLXS.mjs.map → chunk-M5WZJP5D.mjs.map} +0 -0
- /package/dist/{chunk-C6KCPPDE.mjs.map → chunk-N7T37JOT.mjs.map} +0 -0
- /package/dist/{chunk-ZRCDO3D5.mjs.map → chunk-NTUDKM6T.mjs.map} +0 -0
- /package/dist/{chunk-ALG4K7WV.mjs.map → chunk-OR6PODSA.mjs.map} +0 -0
- /package/dist/{chunk-NJICHVPX.mjs.map → chunk-OYMASPIK.mjs.map} +0 -0
- /package/dist/{chunk-BLLBUKUY.mjs.map → chunk-S77DKBDN.mjs.map} +0 -0
- /package/dist/{chunk-YG3K5XBQ.mjs.map → chunk-TLCLBKRY.mjs.map} +0 -0
- /package/dist/{chunk-F4UXJDGZ.mjs.map → chunk-UTTNPIDQ.mjs.map} +0 -0
- /package/dist/{chunk-VTHIHR22.mjs.map → chunk-VIN5IMHD.mjs.map} +0 -0
- /package/dist/{chunk-NZT2VUX5.mjs.map → chunk-VJQ224UL.mjs.map} +0 -0
- /package/dist/{chunk-IGRJP4RX.mjs.map → chunk-WEH25SMX.mjs.map} +0 -0
- /package/dist/{chunk-2FCA2CRB.mjs.map → chunk-YC2BS7T6.mjs.map} +0 -0
- /package/dist/{chunk-WDGR54P5.mjs.map → chunk-YIZ6SACS.mjs.map} +0 -0
- /package/dist/{chunk-CBKUU3DP.mjs.map → chunk-ZACVIKN5.mjs.map} +0 -0
- /package/dist/{chunk-QH6442NY.mjs.map → chunk-ZJ2OCF6J.mjs.map} +0 -0
- /package/dist/{config-Z3UAKGVH.mjs.map → config-6UUJVACF.mjs.map} +0 -0
- /package/dist/{create-DUMUVRTI.mjs.map → create-3F5HX5B3.mjs.map} +0 -0
- /package/dist/{create-MMDDO3PB.mjs.map → create-7JGSFBTW.mjs.map} +0 -0
- /package/dist/{create-XWVUSGYK.mjs.map → create-BIGY3EQ6.mjs.map} +0 -0
- /package/dist/{create-7OBC3X6K.mjs.map → create-GAEK6325.mjs.map} +0 -0
- /package/dist/{create-4TIOBNAA.mjs.map → create-IODVYZYB.mjs.map} +0 -0
- /package/dist/{create-WCMYN6L3.mjs.map → create-JERWE4YC.mjs.map} +0 -0
- /package/dist/{create-TBL2OR4U.mjs.map → create-KMC3WSCT.mjs.map} +0 -0
- /package/dist/{create-JDNZHYOR.mjs.map → create-LARMUZWS.mjs.map} +0 -0
- /package/dist/{create-UHQ54VS7.mjs.map → create-NBEAPOWM.mjs.map} +0 -0
- /package/dist/{create-WL6QJWQC.mjs.map → create-NICGBVYD.mjs.map} +0 -0
- /package/dist/{create-YYFTCL3H.mjs.map → create-O5RWWYUM.mjs.map} +0 -0
- /package/dist/{create-KGMGOFZN.mjs.map → create-OX2JBYPI.mjs.map} +0 -0
- /package/dist/{create-UPM5ZYUZ.mjs.map → create-S27KIASK.mjs.map} +0 -0
- /package/dist/{create-CMBNVJDE.mjs.map → create-UDMY57FO.mjs.map} +0 -0
- /package/dist/{create-X4GUHVTD.mjs.map → create-W23UOAZG.mjs.map} +0 -0
- /package/dist/{create-2JIJVWOR.mjs.map → create-WVKW7367.mjs.map} +0 -0
- /package/dist/{create-NM7P2DCT.mjs.map → create-WYAPDDAM.mjs.map} +0 -0
- /package/dist/{delete-GGBF26W2.mjs.map → delete-63MC3QBF.mjs.map} +0 -0
- /package/dist/{delete-OGBMBW65.mjs.map → delete-73HQU4YW.mjs.map} +0 -0
- /package/dist/{delete-TU2JE6PT.mjs.map → delete-BT7TB54M.mjs.map} +0 -0
- /package/dist/{delete-QMWRNRJ3.mjs.map → delete-EDQ3XAJ2.mjs.map} +0 -0
- /package/dist/{delete-QK56UT6L.mjs.map → delete-LLQ5DSGG.mjs.map} +0 -0
- /package/dist/{delete-IOV33BOC.mjs.map → delete-OHJMG35H.mjs.map} +0 -0
- /package/dist/{delete-NRJXAXQ2.mjs.map → delete-PF324UEB.mjs.map} +0 -0
- /package/dist/{delete-ODSJGPKL.mjs.map → delete-RIZK2YRM.mjs.map} +0 -0
- /package/dist/{delete-O2ZOJT6O.mjs.map → delete-RTYC5A34.mjs.map} +0 -0
- /package/dist/{delete-PWAPCGIC.mjs.map → delete-T3OZGZ4I.mjs.map} +0 -0
- /package/dist/{delete-C3WRIBAL.mjs.map → delete-XXHNAJ5M.mjs.map} +0 -0
- /package/dist/{delete-QSRX5BV6.mjs.map → delete-XY77TZWB.mjs.map} +0 -0
- /package/dist/{delete-KX4VUL2C.mjs.map → delete-YWW7B36L.mjs.map} +0 -0
- /package/dist/{delete-XV3FFG7P.mjs.map → delete-ZIKBQBF2.mjs.map} +0 -0
- /package/dist/{download-JEJJA6DV.mjs.map → download-JRMQTZVL.mjs.map} +0 -0
- /package/dist/{duplicate-FXY4IYWC.mjs.map → duplicate-ZJOPIMLO.mjs.map} +0 -0
- /package/dist/{export-SM5GXH4S.mjs.map → export-DC57RFZO.mjs.map} +0 -0
- /package/dist/{get-WYN27ZYK.mjs.map → get-4NWG6MTQ.mjs.map} +0 -0
- /package/dist/{get-7OE62A5G.mjs.map → get-5RBUPSUP.mjs.map} +0 -0
- /package/dist/{get-AJW7Y3HU.mjs.map → get-6CL4KIYC.mjs.map} +0 -0
- /package/dist/{get-3ZKC5CVY.mjs.map → get-6XHQ5B6Y.mjs.map} +0 -0
- /package/dist/{get-RZOK67QH.mjs.map → get-7KNOHUCW.mjs.map} +0 -0
- /package/dist/{get-J6RBO5FC.mjs.map → get-DZ576XFJ.mjs.map} +0 -0
- /package/dist/{get-RBZCE26R.mjs.map → get-GSGFGLVD.mjs.map} +0 -0
- /package/dist/{get-GVKH5CK6.mjs.map → get-J65ULALP.mjs.map} +0 -0
- /package/dist/{get-HWZLCJHR.mjs.map → get-JMF3BHEG.mjs.map} +0 -0
- /package/dist/{get-3LMPNC73.mjs.map → get-L5Z6CYYP.mjs.map} +0 -0
- /package/dist/{get-LEX5DHEH.mjs.map → get-LEEDPXHL.mjs.map} +0 -0
- /package/dist/{get-MZSC4XTK.mjs.map → get-LI247BYM.mjs.map} +0 -0
- /package/dist/{get-PZFFQGHE.mjs.map → get-NBXFOHGN.mjs.map} +0 -0
- /package/dist/{get-JN4XRABY.mjs.map → get-SNLY65YW.mjs.map} +0 -0
- /package/dist/{get-X2E3KFBO.mjs.map → get-T64N2HNI.mjs.map} +0 -0
- /package/dist/{get-JUNLBFPQ.mjs.map → get-ZQ5CWP5V.mjs.map} +0 -0
- /package/dist/{health-K4TNDKO5.mjs.map → health-NFNEZRIQ.mjs.map} +0 -0
- /package/dist/{list-GTYDZ4BW.mjs.map → list-22ZONYFI.mjs.map} +0 -0
- /package/dist/{list-DVGDEGQH.mjs.map → list-25EAD5VD.mjs.map} +0 -0
- /package/dist/{list-RQP6FA2U.mjs.map → list-2SDWIS7O.mjs.map} +0 -0
- /package/dist/{list-Y65ONFMR.mjs.map → list-3452XTOY.mjs.map} +0 -0
- /package/dist/{list-BB43NKUM.mjs.map → list-4SSQATXU.mjs.map} +0 -0
- /package/dist/{list-2POSB4AL.mjs.map → list-73CK6BZQ.mjs.map} +0 -0
- /package/dist/{list-G4KTNT7Z.mjs.map → list-BD4V72LU.mjs.map} +0 -0
- /package/dist/{list-BC2OES2G.mjs.map → list-F3G7SVBR.mjs.map} +0 -0
- /package/dist/{list-C3674FXP.mjs.map → list-FYGMNDDI.mjs.map} +0 -0
- /package/dist/{list-VE3W3RLV.mjs.map → list-GL6SLAX6.mjs.map} +0 -0
- /package/dist/{list-OQNU4RZK.mjs.map → list-J5DDHZ6D.mjs.map} +0 -0
- /package/dist/{list-2QL7GRGM.mjs.map → list-JPCR43SK.mjs.map} +0 -0
- /package/dist/{list-G3NQU4CF.mjs.map → list-N5LMW2EC.mjs.map} +0 -0
- /package/dist/{list-KX7MEJPP.mjs.map → list-QL5QQZ3K.mjs.map} +0 -0
- /package/dist/{list-OVSKCRLK.mjs.map → list-RFL5FFQJ.mjs.map} +0 -0
- /package/dist/{list-4HSUMNXW.mjs.map → list-VZD5FJJJ.mjs.map} +0 -0
- /package/dist/{list-FAUMOBHA.mjs.map → list-W3QQGD7M.mjs.map} +0 -0
- /package/dist/{list-FNPC3YED.mjs.map → list-YQRE3ZBP.mjs.map} +0 -0
- /package/dist/{list-KDRFJ76E.mjs.map → list-YSSWO6ZA.mjs.map} +0 -0
- /package/dist/{list-C2IXWMFN.mjs.map → list-ZDLJ7KL4.mjs.map} +0 -0
- /package/dist/{list-FKDR27HO.mjs.map → list-ZQOWI6QZ.mjs.map} +0 -0
- /package/dist/{list-WVUPB5MJ.mjs.map → list-ZSPLY2VA.mjs.map} +0 -0
- /package/dist/{login-VS2QKX4F.mjs.map → login-663GBIQU.mjs.map} +0 -0
- /package/dist/{logout-device-D34PE5R6.mjs.map → logout-device-JOPQKPFL.mjs.map} +0 -0
- /package/dist/{open-JIZ3KJHS.mjs.map → open-2IGFGDDB.mjs.map} +0 -0
- /package/dist/{pull-6TWIHJTL.mjs.map → pull-FYB6V5NG.mjs.map} +0 -0
- /package/dist/{push-CPZFOM5M.mjs.map → push-6MZUZIVP.mjs.map} +0 -0
- /package/dist/{query-MXUNPAC5.mjs.map → query-QG7HNZ7Z.mjs.map} +0 -0
- /package/dist/{records-add-27W36W6C.mjs.map → records-add-UPKUEBMZ.mjs.map} +0 -0
- /package/dist/{records-delete-R67MVBNC.mjs.map → records-delete-NBXES4VV.mjs.map} +0 -0
- /package/dist/{records-list-PCI4DGVV.mjs.map → records-list-IUS7YLQR.mjs.map} +0 -0
- /package/dist/{records-update-2IXQ6B7S.mjs.map → records-update-P5VHCUJT.mjs.map} +0 -0
- /package/dist/{remove-KSZO5PJ3.mjs.map → remove-CGRK7RHE.mjs.map} +0 -0
- /package/dist/{rename-OPZ57MAU.mjs.map → rename-XQLL4F4G.mjs.map} +0 -0
- /package/dist/{request-increase-SFKA63AF.mjs.map → request-increase-NHM27JXH.mjs.map} +0 -0
- /package/dist/{restore-XSEILUEP.mjs.map → restore-OVLJGAMV.mjs.map} +0 -0
- /package/dist/{revoke-I7DMDHCI.mjs.map → revoke-7YLORB2D.mjs.map} +0 -0
- /package/dist/{revoke-ZCLT4SKY.mjs.map → revoke-ZBHCHOT7.mjs.map} +0 -0
- /package/dist/{rotate-QB5UAO44.mjs.map → rotate-MALFSMNW.mjs.map} +0 -0
- /package/dist/{run-LQTVXDBU.mjs.map → run-IW3ZTZ56.mjs.map} +0 -0
- /package/dist/{run-RZCXEXSI.mjs.map → run-MRTMHFIO.mjs.map} +0 -0
- /package/dist/{run-ZKPZ5L6R.mjs.map → run-OW5GZBYE.mjs.map} +0 -0
- /package/dist/{run-WSAWSK6Y.mjs.map → run-UB3A47QC.mjs.map} +0 -0
- /package/dist/{run-2R2STWSR.mjs.map → run-YXS2M4RW.mjs.map} +0 -0
- /package/dist/{search-K3W2DEHF.mjs.map → search-SW3QCAB5.mjs.map} +0 -0
- /package/dist/{set-IOHIXABO.mjs.map → set-6WIQ33I5.mjs.map} +0 -0
- /package/dist/{set-CPPQ6IA3.mjs.map → set-IMUR6YJP.mjs.map} +0 -0
- /package/dist/{status-E3YF7PKO.mjs.map → status-G3PRLZ5U.mjs.map} +0 -0
- /package/dist/{status-LA3NQTLE.mjs.map → status-YI7W7MPT.mjs.map} +0 -0
- /package/dist/{sync-5JPO2354.mjs.map → sync-MDSHPQ7D.mjs.map} +0 -0
- /package/dist/{tail-ZJQ47UIQ.mjs.map → tail-MPIISBM5.mjs.map} +0 -0
- /package/dist/{unset-PPMHHXD7.mjs.map → unset-VR3N4YHI.mjs.map} +0 -0
- /package/dist/{update-QWIIF7IM.mjs.map → update-5G4AUALT.mjs.map} +0 -0
- /package/dist/{update-XY3CY367.mjs.map → update-5KUZNTSD.mjs.map} +0 -0
- /package/dist/{update-EJCSFXU7.mjs.map → update-6XXVXEC4.mjs.map} +0 -0
- /package/dist/{update-WLNXEROM.mjs.map → update-A4HC3FKK.mjs.map} +0 -0
- /package/dist/{update-HKH6Q6WH.mjs.map → update-F57XZZJL.mjs.map} +0 -0
- /package/dist/{update-X7LDZHL7.mjs.map → update-GMWZGJHJ.mjs.map} +0 -0
- /package/dist/{update-IT3I5MY3.mjs.map → update-HDPEYMD5.mjs.map} +0 -0
- /package/dist/{update-4CBEARKP.mjs.map → update-HX7CX2ZY.mjs.map} +0 -0
- /package/dist/{update-MWK3QBIB.mjs.map → update-JVUDSQSN.mjs.map} +0 -0
- /package/dist/{update-DLBPONRP.mjs.map → update-L2WS2LBI.mjs.map} +0 -0
- /package/dist/{update-IZ2SB3G6.mjs.map → update-U57RYVPO.mjs.map} +0 -0
- /package/dist/{update-V53W7KF6.mjs.map → update-UW5OV3FU.mjs.map} +0 -0
- /package/dist/{update-XFZQOP75.mjs.map → update-VY5G6XFC.mjs.map} +0 -0
- /package/dist/{update-45T64GNF.mjs.map → update-YTPAHPFE.mjs.map} +0 -0
- /package/dist/{upload-LO4WXWBY.mjs.map → upload-ALJUF2KN.mjs.map} +0 -0
- /package/dist/{versions-5Z6KSW6L.mjs.map → versions-JATWW4WF.mjs.map} +0 -0
- /package/dist/{whoami-2WXL4TMP.mjs.map → whoami-KGRA4QEY.mjs.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/instrumentation/langchain/index.js","../../../../src/observability-sdk/instrumentation/langchain/index.ts"],"names":[],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/instrumentation/langchain/index.js","sourcesContent":[null,"import type { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport { type DocumentInterface } from \"@langchain/core/documents\";\nimport type { Serialized } from \"@langchain/core/load/serializable\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport type { ChatGeneration, LLMResult } from \"@langchain/core/outputs\";\nimport type {\n ChatMessage,\n ChatRichContent,\n} from \"../../../internal/generated/types/tracer\";\nimport type { ChainValues } from \"@langchain/core/utils/types\";\nimport { getLangWatchTracer } from \"../../tracer\";\nimport type { LangWatchSpan } from \"../../span\";\nimport {\n context,\n trace,\n SpanStatusCode,\n type Attributes,\n} from \"@opentelemetry/api\";\nimport { chatMessageSchema } from \"../../../internal/generated/types/tracer.generated\";\nimport { shouldCaptureInput, shouldCaptureOutput } from \"../../config\";\n\ntype RunKind = \"llm\" | \"chat\" | \"chain\" | \"tool\" | \"retriever\";\n\ntype StartArgs = {\n kind: RunKind;\n runId: string;\n parentRunId?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n name?: string;\n extraParams?: Record<string, unknown>;\n input?: unknown; // already prepared for setInput()\n};\n\nconst LANGGRAPH_METADATA_KEYS = new Set<string>([\n \"thread_id\",\n \"langgraph_step\",\n \"langgraph_node\",\n \"langgraph_triggers\",\n \"langgraph_path\",\n \"langgraph_checkpoint_ns\",\n \"__pregel_task_id\",\n \"checkpoint_ns\",\n]);\n\nexport class LangWatchCallbackHandler extends BaseCallbackHandler {\n name = \"LangWatchCallbackHandler\";\n tracer = getLangWatchTracer(\"langwatch.instrumentation.langchain\");\n\n private spans: Record<string, LangWatchSpan | undefined> = {};\n private parentOf: Record<string, string | undefined> = {};\n private skipped: Record<string, true | undefined> = {};\n private seenStarts = new Set<string>();\n\n private startRunSpan(args: StartArgs) {\n const { runId, parentRunId, serialized, tags } = args;\n this.parentOf[runId] = parentRunId;\n\n // if we want to skip, we record as such as we cn do context matching latet\n if (ctxSkip(serialized, tags)) {\n this.skipped[runId] = true;\n return;\n }\n if (this.seenStarts.has(runId)) return;\n this.seenStarts.add(runId);\n\n const parentCtx = getResolvedParentContext(\n parentRunId,\n this.spans,\n this.parentOf\n );\n const parentSpan = parentRunId ? this.spans[parentRunId] : void 0;\n const links = parentSpan\n ? [{ context: parentSpan.spanContext() }]\n : void 0;\n\n const { name, type } = deriveNameAndType({\n runType: args.kind,\n name: args.name,\n serialized: args.serialized,\n metadata: args.metadata,\n tags: args.tags,\n inputs: args.input,\n });\n\n const span = this.tracer.startSpan(name, { links }, parentCtx);\n span.setType(type);\n\n if (args.tags?.length)\n span.setAttribute(\"langwatch.langchain.run.tags\", args.tags.slice(0, 50));\n\n if (shouldCaptureInput() && args.input !== void 0) {\n const i: any = args.input as any;\n if (i && typeof i === \"object\" && \"type\" in i && \"value\" in i) {\n span.setInput(i.type, i.value);\n } else {\n span.setInput(i);\n }\n }\n\n if (args.extraParams) {\n span.setAttributes(\n Object.fromEntries(\n Object.entries(args.extraParams).map(([k, v]) => [\n `langwatch.langchain.run.extra_params.${k}`,\n wrapNonScalarValues(v),\n ])\n )\n );\n }\n\n if (args.metadata) {\n applyGenAIAttrs(span, args.metadata, args.extraParams);\n setLangGraphAttributes(span, args.metadata);\n span.setAttributes(buildLangChainMetadataAttributes(args.metadata));\n }\n\n this.spans[runId] = span;\n }\n\n private finishRun(\n runId: string,\n end: {\n output?: unknown;\n err?: Error;\n event: string;\n parentRunId?: string;\n extra?: Attributes;\n tags?: string[];\n md?: Record<string, unknown>;\n }\n ) {\n const span = this.spans[runId];\n if (!span) return;\n\n addLangChainEvent(\n span,\n end.event,\n runId,\n end.parentRunId,\n end.tags,\n end.md,\n end.extra\n );\n\n if (end.err) {\n span.recordException(end.err);\n span.setStatus({ code: SpanStatusCode.ERROR, message: end.err.message });\n } else if (shouldCaptureOutput() && end.output !== undefined) {\n span.setOutput(end.output as any);\n }\n\n span.end();\n\n delete this.spans[runId];\n delete this.parentOf[runId];\n delete this.skipped[runId];\n this.seenStarts.delete(runId);\n }\n\n async handleLLMStart(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput() && prompts\n ? {\n type: \"list\",\n value: prompts.map((p) => ({ type: \"text\", value: p })),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"llm\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleChatModelStart(\n llm: Serialized,\n messages: BaseMessage[][],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput()\n ? {\n type: \"chat_messages\",\n value: messages.flatMap(convertFromLangChainMessages),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"chat\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleLLMEnd(\n response: LLMResult,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n const span = this.spans[runId];\n const tu = (response.llmOutput as any)?.tokenUsage as\n | {\n promptTokens?: number;\n completionTokens?: number;\n totalTokens?: number;\n }\n | undefined;\n if (span && tu) {\n span.setAttributes({\n \"gen_ai.usage.prompt_tokens\": tu.promptTokens ?? 0,\n \"gen_ai.usage.completion_tokens\": tu.completionTokens ?? 0,\n \"gen_ai.usage.total_tokens\": tu.totalTokens ?? 0,\n });\n }\n\n const outputs = shouldCaptureOutput()\n ? response.generations.flat().map((g) => {\n if (\"message\" in g && g.message) {\n return convertFromLangChainMessages([\n (g as ChatGeneration).message,\n ]);\n } else if (\"text\" in g && g.text) {\n return g.text;\n }\n return g;\n })\n : undefined;\n\n this.finishRun(runId, {\n output: outputs,\n event: \"handleLLMEnd\",\n parentRunId,\n });\n }\n\n async handleLLMError(\n err: Error,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleLLMError\", parentRunId });\n }\n\n async handleChainStart(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n _runType?: string,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"chain\",\n runId,\n parentRunId,\n serialized: chain,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? inputs : void 0,\n });\n\n if (_runType) {\n const span = this.spans[runId];\n if (span) span.setAttribute(\"langwatch.langchain.run.type\", _runType);\n }\n }\n\n async handleChainEnd(\n output: ChainValues,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { output, event: \"handleChainEnd\", parentRunId });\n }\n\n async handleChainError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> | undefined }\n ): Promise<void> {\n this.finishRun(runId, {\n err,\n event: \"handleChainError\",\n parentRunId,\n tags,\n md: kwargs,\n });\n }\n\n async handleToolStart(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"tool\",\n runId,\n parentRunId,\n serialized: tool,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: input } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleToolEnd(\n output: string,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"text\", value: output }\n : void 0,\n event: \"handleToolEnd\",\n parentRunId,\n });\n }\n\n async handleToolError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleToolError\", parentRunId, tags });\n }\n\n async handleRetrieverStart(\n retriever: Serialized,\n query: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ) {\n this.startRunSpan({\n kind: \"retriever\",\n runId,\n parentRunId,\n serialized: retriever,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: query } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleRetrieverEnd(\n documents: DocumentInterface<Record<string, any>>[],\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n const span = this.spans[runId];\n\n if (span && shouldCaptureOutput()) {\n span.setOutput(documents);\n }\n\n if (span && shouldCaptureInput()) {\n span.setRAGContexts(\n documents.map((document) => ({\n document_id: document.metadata.id,\n chunk_id: document.metadata.chunk_id,\n content: document.pageContent,\n }))\n );\n }\n\n this.finishRun(runId, { event: \"handleRetrieverEnd\", parentRunId, tags });\n }\n\n async handleRetrieverError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n this.finishRun(runId, {\n err,\n event: \"handleRetrieverError\",\n parentRunId,\n tags,\n });\n }\n\n async handleAgentAction(\n _action: AgentAction,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n const span = this.spans[runId];\n if (span) {\n addLangChainEvent(span, \"handleAgentAction\", runId, parentRunId, tags);\n span.setType(\"agent\");\n }\n }\n\n async handleAgentEnd(\n action: AgentFinish,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"json\", value: action.returnValues }\n : void 0,\n event: \"handleAgentEnd\",\n parentRunId,\n tags,\n });\n }\n}\n\nexport function convertFromLangChainMessages(\n messages: BaseMessage[]\n): ChatMessage[] {\n const out: ChatMessage[] = [];\n for (const message of messages) {\n out.push(\n convertFromLangChainMessage(message as BaseMessage & { id?: string[] })\n );\n }\n return out;\n}\n\nfunction convertFromLangChainMessage(\n message: BaseMessage & { id?: string[] }\n): ChatMessage {\n let role: ChatMessage[\"role\"] = \"user\";\n\n const msgType = (message as any).type as string | undefined;\n if (msgType === \"human\") role = \"user\";\n else if (msgType === \"ai\") role = \"assistant\";\n else if (msgType === \"system\") role = \"system\";\n else if (msgType === \"function\") role = \"function\";\n else if (msgType === \"tool\") role = \"tool\";\n else {\n if (\n (message as any)?._getType?.() === \"human\" ||\n message.id?.[message.id.length - 1] === \"HumanMessage\"\n ) {\n role = \"user\";\n } else if (\n (message as any)?._getType?.() === \"ai\" ||\n message.id?.[message.id.length - 1] === \"AIMessage\"\n ) {\n role = \"assistant\";\n } else if (\n (message as any)?._getType?.() === \"system\" ||\n message.id?.[message.id.length - 1] === \"SystemMessage\"\n ) {\n role = \"system\";\n } else if (\n (message as any)?._getType?.() === \"function\" ||\n message.id?.[message.id.length - 1] === \"FunctionMessage\"\n ) {\n role = \"function\";\n } else if (\n (message as any)?._getType?.() === \"tool\" ||\n message.id?.[message.id.length - 1] === \"ToolMessage\"\n ) {\n role = \"tool\";\n }\n }\n\n const content: ChatMessage[\"content\"] =\n typeof (message as any).content === \"string\"\n ? ((message as any).content as string)\n : (message as any).content == null\n ? null\n : Array.isArray((message as any).content)\n ? (message as any).content.map(\n (c: any): ChatRichContent =>\n c?.type === \"text\"\n ? { type: \"text\", text: c.text }\n : c?.type === \"image_url\"\n ? { type: \"image_url\", image_url: c.image_url }\n : { type: \"text\", text: JSON.stringify(c) }\n )\n : JSON.stringify((message as any).content);\n\n const functionCall = (message as any).additional_kwargs;\n\n return {\n role,\n content,\n ...(functionCall &&\n typeof functionCall === \"object\" &&\n Object.keys(functionCall).length > 0\n ? { function_call: functionCall }\n : {}),\n };\n}\n\nfunction className(serialized?: Serialized): string {\n const id = (serialized as any)?.id;\n if (Array.isArray(id) && id.length) return String(id[id.length - 1]);\n const ns = (serialized as any)?.lc_namespace;\n if (Array.isArray(ns) && ns.length) return String(ns[ns.length - 1]);\n\n return \"\";\n}\n\nfunction shorten(str: string, max = 120): string {\n return typeof str === \"string\" && str.length > max\n ? str.slice(0, max - 1) + \"…\"\n : str;\n}\n\nfunction previewInput(v: unknown): string | undefined {\n if (typeof v === \"string\") {\n const s = v.trim();\n return s ? shorten(s, 120) : void 0;\n }\n return void 0;\n}\n\nfunction ctxSkip(serialized?: Serialized, tags?: string[]) {\n const cls = className(serialized);\n return (\n cls.startsWith(\"ChannelWrite\") ||\n (tags?.includes(\"langsmith:hidden\") ?? false)\n );\n}\n\nfunction wrapNonScalarValues(\n value: unknown\n): string | number | boolean | undefined {\n if (value === void 0) return void 0;\n if (value === null) return JSON.stringify(null);\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n )\n return value;\n\n // Special-case: ChatMessage[] detection via zod schema the project already has\n const chatMessages = chatMessageSchema.array().safeParse(value as any);\n if (Array.isArray(value) && chatMessages.success) {\n return JSON.stringify({ type: \"chat_messages\", value: chatMessages.data });\n }\n\n try {\n const seen = new WeakSet();\n const json = JSON.stringify(value as any, (k, val) => {\n if (typeof val === \"object\" && val !== null) {\n if (seen.has(val)) return \"[Circular]\";\n seen.add(val);\n }\n return val;\n });\n return json;\n } catch {\n return JSON.stringify({ type: \"raw\", value: \"[Non-Serializable]\" });\n }\n}\n\nfunction addLangChainEvent(\n span: LangWatchSpan,\n eventName: string,\n runId: string,\n parentRunId: string | undefined,\n tags?: string[],\n metadata?: Record<string, unknown>,\n attributes?: Attributes\n) {\n const attrs: Attributes = {\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n \"langwatch.langchain.event.name\": eventName,\n ...attributes,\n };\n\n if (tags?.length) attrs[\"langwatch.langchain.run.tags\"] = tags.slice(0, 50);\n if (metadata) {\n Object.entries(metadata).forEach(([key, value]) => {\n attrs[key] = wrapNonScalarValues(value);\n });\n }\n\n span.addEvent(\"langwatch.langchain.callback\", attrs);\n}\n\nfunction setLangGraphAttributes(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>\n) {\n if (!metadata) return;\n const keys = Object.keys(metadata);\n for (const key of keys) {\n const value = (metadata as any)[key];\n if (value !== undefined) {\n const wrapped = wrapNonScalarValues(value);\n if (wrapped !== undefined) {\n span.setAttribute(\n `langwatch.langgraph.${key}` as const,\n wrapped as any\n );\n }\n }\n }\n}\n\nfunction buildLangChainMetadataAttributes(metadata: Record<string, unknown>) {\n if (!metadata) return {};\n return Object.fromEntries(\n Object.entries(metadata)\n .filter(([key]) => !LANGGRAPH_METADATA_KEYS.has(key))\n .map(([key, value]) => [\n `langwatch.langchain.run.metadata.${key}`,\n wrapNonScalarValues(value),\n ])\n );\n}\n\nfunction applyGenAIAttrs(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>,\n extraParams?: Record<string, unknown>\n) {\n const md = (metadata ?? {}) as any;\n const ex = (extraParams ?? {}) as any;\n\n const provider = md.ls_provider as string | undefined;\n const requestModel = md.ls_model_name ?? md.kwargs?.model ?? ex.kwargs?.model;\n const temperature =\n md.ls_temperature ?? md.kwargs?.temperature ?? ex.kwargs?.temperature;\n const responseModel = md.response_metadata?.model_name as string | undefined;\n\n if (provider) span.setAttribute(\"gen_ai.system\", provider);\n if (requestModel) span.setAttribute(\"gen_ai.request.model\", requestModel);\n if (typeof temperature === \"number\")\n span.setAttribute(\"gen_ai.request.temperature\", temperature);\n if (responseModel) span.setAttribute(\"gen_ai.response.model\", responseModel);\n}\n\nfunction getResolvedParentContext(\n runId: string | undefined,\n spans: Record<string, LangWatchSpan | undefined>,\n parentOf: Record<string, string | undefined>\n) {\n let cur = runId;\n while (cur) {\n const s = spans[cur];\n if (s) return trace.setSpan(context.active(), s);\n cur = parentOf[cur];\n }\n return context.active();\n}\n\nfunction deriveNameAndType(opts: {\n runType: RunKind;\n name?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n inputs?: unknown;\n}): { name: string; type: \"llm\" | \"chain\" | \"tool\" | \"rag\" | \"component\" } {\n const { runType, name, serialized, metadata, inputs } = opts;\n\n // user-specified name / metadata override\n const hardName = (name?.trim() ?? (metadata as any)?.operation_name) as\n | string\n | undefined;\n if (hardName) {\n return {\n name: hardName,\n type:\n runType === \"tool\"\n ? \"tool\"\n : runType === \"retriever\"\n ? \"rag\"\n : runType === \"llm\" || runType === \"chat\"\n ? \"llm\"\n : \"chain\",\n };\n }\n\n const cls = className(serialized);\n const md = (metadata ?? {}) as any;\n\n // LangGraph node / router - prioritize routers over nodes\n const hasNode = md?.langgraph_node != null;\n const hasTriggers = Array.isArray(md?.langgraph_triggers) && md.langgraph_triggers.length > 0;\n const isRouter =\n cls.startsWith(\"Branch<\") || hasTriggers;\n const isGraphRunner = md?.langgraph_path && !md?.langgraph_node;\n\n // LLM / Chat - always prioritize runType over metadata\n if (runType === \"llm\" || runType === \"chat\") {\n const prov = (md?.ls_provider as string) ?? \"LLM\";\n const model = (md?.ls_model_name as string) ?? (cls || \"call\");\n const temp = md?.ls_temperature;\n const tempStr =\n temp != null\n ? typeof temp === \"number\"\n ? temp.toString()\n : JSON.stringify(temp)\n : null;\n const nm =\n tempStr != null\n ? `${prov} ${model} (temp ${tempStr})`\n : `${prov} ${model}`;\n return { name: nm, type: \"llm\" };\n }\n\n // Prioritize LangGraph routers over nodes (but after LLM/Chat)\n if (isRouter) {\n const pathArr = md?.langgraph_path as string[] | undefined;\n const fromNode =\n Array.isArray(pathArr) && pathArr.length\n ? pathArr[pathArr.length - 1]\n : undefined;\n const decision = Array.isArray(md?.langgraph_triggers)\n ? String(\n md.langgraph_triggers.find((t: any) =>\n String(t).startsWith(\"branch:\")\n ) ?? \"\"\n ).replace(/^branch:(to:)?/, \"\")\n : undefined;\n const nm = `Route: ${fromNode ?? \"unknown\"} → ${decision ?? \"unknown\"}`;\n return { name: nm, type: \"component\" };\n }\n\n if (hasNode) {\n const step = md?.langgraph_step;\n const nm = `Node: ${md.langgraph_node}${\n step != null ? ` (step ${String(step)})` : \"\"\n }`;\n return { name: nm, type: \"component\" };\n }\n if (isGraphRunner && runType === \"chain\") {\n return { name: \"Graph: LangGraph\", type: \"chain\" };\n }\n\n // Tool\n if (runType === \"tool\") {\n const tool = (metadata as any)?.name ?? (cls || \"tool\");\n const prev =\n previewInput(inputs) ?? previewInput((serialized as any)?.input);\n return {\n name: prev ? `Tool: ${tool} — ${prev}` : `Tool: ${tool}`,\n type: \"tool\",\n };\n }\n\n // Retriever\n if (runType === \"retriever\") return { name: \"Retriever\", type: \"rag\" };\n\n // Fallbacks\n if (cls.includes(\"Agent\"))\n return { name: `Agent: ${cls}`, type: \"component\" };\n if (cls.startsWith(\"Runnable\"))\n return { name: `Runnable: ${cls.replace(/^Runnable/, \"\")}`, type: \"chain\" };\n return { name: cls || \"LangChain operation\", type: \"chain\" };\n}\n\n// Export helper functions for testing\nexport {\n className,\n shorten,\n previewInput,\n ctxSkip,\n wrapNonScalarValues,\n addLangChainEvent,\n setLangGraphAttributes,\n buildLangChainMetadataAttributes,\n applyGenAIAttrs,\n getResolvedParentContext,\n deriveNameAndType,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/instrumentation/langchain/index.js","../../../../src/observability-sdk/instrumentation/langchain/index.ts"],"names":[],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/instrumentation/langchain/index.js","sourcesContent":[null,"import type { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport { type DocumentInterface } from \"@langchain/core/documents\";\nimport type { Serialized } from \"@langchain/core/load/serializable\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport type { ChatGeneration, LLMResult } from \"@langchain/core/outputs\";\nimport {\n chatMessageSchema,\n type ChatMessage,\n type ChatRichContent,\n} from \"../../../internal/generated/types/tracer\";\nimport type { ChainValues } from \"@langchain/core/utils/types\";\nimport { getLangWatchTracer } from \"../../tracer\";\nimport type { LangWatchSpan } from \"../../span\";\nimport {\n context,\n trace,\n SpanStatusCode,\n type Attributes,\n} from \"@opentelemetry/api\";\nimport { shouldCaptureInput, shouldCaptureOutput } from \"../../config\";\n\ntype RunKind = \"llm\" | \"chat\" | \"chain\" | \"tool\" | \"retriever\";\n\ntype StartArgs = {\n kind: RunKind;\n runId: string;\n parentRunId?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n name?: string;\n extraParams?: Record<string, unknown>;\n input?: unknown; // already prepared for setInput()\n};\n\nconst LANGGRAPH_METADATA_KEYS = new Set<string>([\n \"thread_id\",\n \"langgraph_step\",\n \"langgraph_node\",\n \"langgraph_triggers\",\n \"langgraph_path\",\n \"langgraph_checkpoint_ns\",\n \"__pregel_task_id\",\n \"checkpoint_ns\",\n]);\n\nexport class LangWatchCallbackHandler extends BaseCallbackHandler {\n name = \"LangWatchCallbackHandler\";\n tracer = getLangWatchTracer(\"langwatch.instrumentation.langchain\");\n\n private spans: Record<string, LangWatchSpan | undefined> = {};\n private parentOf: Record<string, string | undefined> = {};\n private skipped: Record<string, true | undefined> = {};\n private seenStarts = new Set<string>();\n\n private startRunSpan(args: StartArgs) {\n const { runId, parentRunId, serialized, tags } = args;\n this.parentOf[runId] = parentRunId;\n\n // if we want to skip, we record as such as we cn do context matching latet\n if (ctxSkip(serialized, tags)) {\n this.skipped[runId] = true;\n return;\n }\n if (this.seenStarts.has(runId)) return;\n this.seenStarts.add(runId);\n\n const parentCtx = getResolvedParentContext(\n parentRunId,\n this.spans,\n this.parentOf\n );\n const parentSpan = parentRunId ? this.spans[parentRunId] : void 0;\n const links = parentSpan\n ? [{ context: parentSpan.spanContext() }]\n : void 0;\n\n const { name, type } = deriveNameAndType({\n runType: args.kind,\n name: args.name,\n serialized: args.serialized,\n metadata: args.metadata,\n tags: args.tags,\n inputs: args.input,\n });\n\n const span = this.tracer.startSpan(name, { links }, parentCtx);\n span.setType(type);\n\n if (args.tags?.length)\n span.setAttribute(\"langwatch.langchain.run.tags\", args.tags.slice(0, 50));\n\n if (shouldCaptureInput() && args.input !== void 0) {\n const i: any = args.input as any;\n if (i && typeof i === \"object\" && \"type\" in i && \"value\" in i) {\n span.setInput(i.type, i.value);\n } else {\n span.setInput(i);\n }\n }\n\n if (args.extraParams) {\n span.setAttributes(\n Object.fromEntries(\n Object.entries(args.extraParams).map(([k, v]) => [\n `langwatch.langchain.run.extra_params.${k}`,\n wrapNonScalarValues(v),\n ])\n )\n );\n }\n\n if (args.metadata) {\n applyGenAIAttrs(span, args.metadata, args.extraParams);\n setLangGraphAttributes(span, args.metadata);\n span.setAttributes(buildLangChainMetadataAttributes(args.metadata));\n }\n\n this.spans[runId] = span;\n }\n\n private finishRun(\n runId: string,\n end: {\n output?: unknown;\n err?: Error;\n event: string;\n parentRunId?: string;\n extra?: Attributes;\n tags?: string[];\n md?: Record<string, unknown>;\n }\n ) {\n const span = this.spans[runId];\n if (!span) return;\n\n addLangChainEvent(\n span,\n end.event,\n runId,\n end.parentRunId,\n end.tags,\n end.md,\n end.extra\n );\n\n if (end.err) {\n span.recordException(end.err);\n span.setStatus({ code: SpanStatusCode.ERROR, message: end.err.message });\n } else if (shouldCaptureOutput() && end.output !== undefined) {\n span.setOutput(end.output as any);\n }\n\n span.end();\n\n delete this.spans[runId];\n delete this.parentOf[runId];\n delete this.skipped[runId];\n this.seenStarts.delete(runId);\n }\n\n async handleLLMStart(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput() && prompts\n ? {\n type: \"list\",\n value: prompts.map((p) => ({ type: \"text\", value: p })),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"llm\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleChatModelStart(\n llm: Serialized,\n messages: BaseMessage[][],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput()\n ? {\n type: \"chat_messages\",\n value: messages.flatMap(convertFromLangChainMessages),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"chat\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleLLMEnd(\n response: LLMResult,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n const span = this.spans[runId];\n const tu = (response.llmOutput as any)?.tokenUsage as\n | {\n promptTokens?: number;\n completionTokens?: number;\n totalTokens?: number;\n }\n | undefined;\n if (span && tu) {\n span.setAttributes({\n \"gen_ai.usage.prompt_tokens\": tu.promptTokens ?? 0,\n \"gen_ai.usage.completion_tokens\": tu.completionTokens ?? 0,\n \"gen_ai.usage.total_tokens\": tu.totalTokens ?? 0,\n });\n }\n\n const outputs = shouldCaptureOutput()\n ? response.generations.flat().map((g) => {\n if (\"message\" in g && g.message) {\n return convertFromLangChainMessages([\n (g as ChatGeneration).message,\n ]);\n } else if (\"text\" in g && g.text) {\n return g.text;\n }\n return g;\n })\n : undefined;\n\n this.finishRun(runId, {\n output: outputs,\n event: \"handleLLMEnd\",\n parentRunId,\n });\n }\n\n async handleLLMError(\n err: Error,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleLLMError\", parentRunId });\n }\n\n async handleChainStart(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n _runType?: string,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"chain\",\n runId,\n parentRunId,\n serialized: chain,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? inputs : void 0,\n });\n\n if (_runType) {\n const span = this.spans[runId];\n if (span) span.setAttribute(\"langwatch.langchain.run.type\", _runType);\n }\n }\n\n async handleChainEnd(\n output: ChainValues,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { output, event: \"handleChainEnd\", parentRunId });\n }\n\n async handleChainError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> | undefined }\n ): Promise<void> {\n this.finishRun(runId, {\n err,\n event: \"handleChainError\",\n parentRunId,\n tags,\n md: kwargs,\n });\n }\n\n async handleToolStart(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"tool\",\n runId,\n parentRunId,\n serialized: tool,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: input } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleToolEnd(\n output: string,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"text\", value: output }\n : void 0,\n event: \"handleToolEnd\",\n parentRunId,\n });\n }\n\n async handleToolError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleToolError\", parentRunId, tags });\n }\n\n async handleRetrieverStart(\n retriever: Serialized,\n query: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ) {\n this.startRunSpan({\n kind: \"retriever\",\n runId,\n parentRunId,\n serialized: retriever,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: query } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleRetrieverEnd(\n documents: DocumentInterface<Record<string, any>>[],\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n const span = this.spans[runId];\n\n if (span && shouldCaptureOutput()) {\n span.setOutput(documents);\n }\n\n if (span && shouldCaptureInput()) {\n span.setRAGContexts(\n documents.map((document) => ({\n document_id: document.metadata.id,\n chunk_id: document.metadata.chunk_id,\n content: document.pageContent,\n }))\n );\n }\n\n this.finishRun(runId, { event: \"handleRetrieverEnd\", parentRunId, tags });\n }\n\n async handleRetrieverError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n this.finishRun(runId, {\n err,\n event: \"handleRetrieverError\",\n parentRunId,\n tags,\n });\n }\n\n async handleAgentAction(\n _action: AgentAction,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n const span = this.spans[runId];\n if (span) {\n addLangChainEvent(span, \"handleAgentAction\", runId, parentRunId, tags);\n span.setType(\"agent\");\n }\n }\n\n async handleAgentEnd(\n action: AgentFinish,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"json\", value: action.returnValues }\n : void 0,\n event: \"handleAgentEnd\",\n parentRunId,\n tags,\n });\n }\n}\n\nexport function convertFromLangChainMessages(\n messages: BaseMessage[]\n): ChatMessage[] {\n const out: ChatMessage[] = [];\n for (const message of messages) {\n out.push(\n convertFromLangChainMessage(message as BaseMessage & { id?: string[] })\n );\n }\n return out;\n}\n\nfunction convertFromLangChainMessage(\n message: BaseMessage & { id?: string[] }\n): ChatMessage {\n let role: ChatMessage[\"role\"] = \"user\";\n\n const msgType = (message as any).type as string | undefined;\n if (msgType === \"human\") role = \"user\";\n else if (msgType === \"ai\") role = \"assistant\";\n else if (msgType === \"system\") role = \"system\";\n else if (msgType === \"function\") role = \"function\";\n else if (msgType === \"tool\") role = \"tool\";\n else {\n if (\n (message as any)?._getType?.() === \"human\" ||\n message.id?.[message.id.length - 1] === \"HumanMessage\"\n ) {\n role = \"user\";\n } else if (\n (message as any)?._getType?.() === \"ai\" ||\n message.id?.[message.id.length - 1] === \"AIMessage\"\n ) {\n role = \"assistant\";\n } else if (\n (message as any)?._getType?.() === \"system\" ||\n message.id?.[message.id.length - 1] === \"SystemMessage\"\n ) {\n role = \"system\";\n } else if (\n (message as any)?._getType?.() === \"function\" ||\n message.id?.[message.id.length - 1] === \"FunctionMessage\"\n ) {\n role = \"function\";\n } else if (\n (message as any)?._getType?.() === \"tool\" ||\n message.id?.[message.id.length - 1] === \"ToolMessage\"\n ) {\n role = \"tool\";\n }\n }\n\n const content: ChatMessage[\"content\"] =\n typeof (message as any).content === \"string\"\n ? ((message as any).content as string)\n : (message as any).content == null\n ? null\n : Array.isArray((message as any).content)\n ? (message as any).content.map(\n (c: any): ChatRichContent =>\n c?.type === \"text\"\n ? { type: \"text\", text: c.text }\n : c?.type === \"image_url\"\n ? { type: \"image_url\", image_url: c.image_url }\n : { type: \"text\", text: JSON.stringify(c) }\n )\n : JSON.stringify((message as any).content);\n\n const functionCall = (message as any).additional_kwargs;\n\n return {\n role,\n content,\n ...(functionCall &&\n typeof functionCall === \"object\" &&\n Object.keys(functionCall).length > 0\n ? { function_call: functionCall }\n : {}),\n };\n}\n\nfunction className(serialized?: Serialized): string {\n const id = (serialized as any)?.id;\n if (Array.isArray(id) && id.length) return String(id[id.length - 1]);\n const ns = (serialized as any)?.lc_namespace;\n if (Array.isArray(ns) && ns.length) return String(ns[ns.length - 1]);\n\n return \"\";\n}\n\nfunction shorten(str: string, max = 120): string {\n return typeof str === \"string\" && str.length > max\n ? str.slice(0, max - 1) + \"…\"\n : str;\n}\n\nfunction previewInput(v: unknown): string | undefined {\n if (typeof v === \"string\") {\n const s = v.trim();\n return s ? shorten(s, 120) : void 0;\n }\n return void 0;\n}\n\nfunction ctxSkip(serialized?: Serialized, tags?: string[]) {\n const cls = className(serialized);\n return (\n cls.startsWith(\"ChannelWrite\") ||\n (tags?.includes(\"langsmith:hidden\") ?? false)\n );\n}\n\nfunction wrapNonScalarValues(\n value: unknown\n): string | number | boolean | undefined {\n if (value === void 0) return void 0;\n if (value === null) return JSON.stringify(null);\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n )\n return value;\n\n // Special-case: ChatMessage[] detection via zod schema the project already has\n const chatMessages = chatMessageSchema.array().safeParse(value as any);\n if (Array.isArray(value) && chatMessages.success) {\n return JSON.stringify({ type: \"chat_messages\", value: chatMessages.data });\n }\n\n try {\n const seen = new WeakSet();\n const json = JSON.stringify(value as any, (k, val) => {\n if (typeof val === \"object\" && val !== null) {\n if (seen.has(val)) return \"[Circular]\";\n seen.add(val);\n }\n return val;\n });\n return json;\n } catch {\n return JSON.stringify({ type: \"raw\", value: \"[Non-Serializable]\" });\n }\n}\n\nfunction addLangChainEvent(\n span: LangWatchSpan,\n eventName: string,\n runId: string,\n parentRunId: string | undefined,\n tags?: string[],\n metadata?: Record<string, unknown>,\n attributes?: Attributes\n) {\n const attrs: Attributes = {\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n \"langwatch.langchain.event.name\": eventName,\n ...attributes,\n };\n\n if (tags?.length) attrs[\"langwatch.langchain.run.tags\"] = tags.slice(0, 50);\n if (metadata) {\n Object.entries(metadata).forEach(([key, value]) => {\n attrs[key] = wrapNonScalarValues(value);\n });\n }\n\n span.addEvent(\"langwatch.langchain.callback\", attrs);\n}\n\nfunction setLangGraphAttributes(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>\n) {\n if (!metadata) return;\n const keys = Object.keys(metadata);\n for (const key of keys) {\n const value = (metadata as any)[key];\n if (value !== undefined) {\n const wrapped = wrapNonScalarValues(value);\n if (wrapped !== undefined) {\n span.setAttribute(\n `langwatch.langgraph.${key}` as const,\n wrapped as any\n );\n }\n }\n }\n}\n\nfunction buildLangChainMetadataAttributes(metadata: Record<string, unknown>) {\n if (!metadata) return {};\n return Object.fromEntries(\n Object.entries(metadata)\n .filter(([key]) => !LANGGRAPH_METADATA_KEYS.has(key))\n .map(([key, value]) => [\n `langwatch.langchain.run.metadata.${key}`,\n wrapNonScalarValues(value),\n ])\n );\n}\n\nfunction applyGenAIAttrs(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>,\n extraParams?: Record<string, unknown>\n) {\n const md = (metadata ?? {}) as any;\n const ex = (extraParams ?? {}) as any;\n\n const provider = md.ls_provider as string | undefined;\n const requestModel = md.ls_model_name ?? md.kwargs?.model ?? ex.kwargs?.model;\n const temperature =\n md.ls_temperature ?? md.kwargs?.temperature ?? ex.kwargs?.temperature;\n const responseModel = md.response_metadata?.model_name as string | undefined;\n\n if (provider) span.setAttribute(\"gen_ai.system\", provider);\n if (requestModel) span.setAttribute(\"gen_ai.request.model\", requestModel);\n if (typeof temperature === \"number\")\n span.setAttribute(\"gen_ai.request.temperature\", temperature);\n if (responseModel) span.setAttribute(\"gen_ai.response.model\", responseModel);\n}\n\nfunction getResolvedParentContext(\n runId: string | undefined,\n spans: Record<string, LangWatchSpan | undefined>,\n parentOf: Record<string, string | undefined>\n) {\n let cur = runId;\n while (cur) {\n const s = spans[cur];\n if (s) return trace.setSpan(context.active(), s);\n cur = parentOf[cur];\n }\n return context.active();\n}\n\nfunction deriveNameAndType(opts: {\n runType: RunKind;\n name?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n inputs?: unknown;\n}): { name: string; type: \"llm\" | \"chain\" | \"tool\" | \"rag\" | \"component\" } {\n const { runType, name, serialized, metadata, inputs } = opts;\n\n // user-specified name / metadata override\n const hardName = (name?.trim() ?? (metadata as any)?.operation_name) as\n | string\n | undefined;\n if (hardName) {\n return {\n name: hardName,\n type:\n runType === \"tool\"\n ? \"tool\"\n : runType === \"retriever\"\n ? \"rag\"\n : runType === \"llm\" || runType === \"chat\"\n ? \"llm\"\n : \"chain\",\n };\n }\n\n const cls = className(serialized);\n const md = (metadata ?? {}) as any;\n\n // LangGraph node / router - prioritize routers over nodes\n const hasNode = md?.langgraph_node != null;\n const hasTriggers = Array.isArray(md?.langgraph_triggers) && md.langgraph_triggers.length > 0;\n const isRouter =\n cls.startsWith(\"Branch<\") || hasTriggers;\n const isGraphRunner = md?.langgraph_path && !md?.langgraph_node;\n\n // LLM / Chat - always prioritize runType over metadata\n if (runType === \"llm\" || runType === \"chat\") {\n const prov = (md?.ls_provider as string) ?? \"LLM\";\n const model = (md?.ls_model_name as string) ?? (cls || \"call\");\n const temp = md?.ls_temperature;\n const tempStr =\n temp != null\n ? typeof temp === \"number\"\n ? temp.toString()\n : JSON.stringify(temp)\n : null;\n const nm =\n tempStr != null\n ? `${prov} ${model} (temp ${tempStr})`\n : `${prov} ${model}`;\n return { name: nm, type: \"llm\" };\n }\n\n // Prioritize LangGraph routers over nodes (but after LLM/Chat)\n if (isRouter) {\n const pathArr = md?.langgraph_path as string[] | undefined;\n const fromNode =\n Array.isArray(pathArr) && pathArr.length\n ? pathArr[pathArr.length - 1]\n : undefined;\n const decision = Array.isArray(md?.langgraph_triggers)\n ? String(\n md.langgraph_triggers.find((t: any) =>\n String(t).startsWith(\"branch:\")\n ) ?? \"\"\n ).replace(/^branch:(to:)?/, \"\")\n : undefined;\n const nm = `Route: ${fromNode ?? \"unknown\"} → ${decision ?? \"unknown\"}`;\n return { name: nm, type: \"component\" };\n }\n\n if (hasNode) {\n const step = md?.langgraph_step;\n const nm = `Node: ${md.langgraph_node}${\n step != null ? ` (step ${String(step)})` : \"\"\n }`;\n return { name: nm, type: \"component\" };\n }\n if (isGraphRunner && runType === \"chain\") {\n return { name: \"Graph: LangGraph\", type: \"chain\" };\n }\n\n // Tool\n if (runType === \"tool\") {\n const tool = (metadata as any)?.name ?? (cls || \"tool\");\n const prev =\n previewInput(inputs) ?? previewInput((serialized as any)?.input);\n return {\n name: prev ? `Tool: ${tool} — ${prev}` : `Tool: ${tool}`,\n type: \"tool\",\n };\n }\n\n // Retriever\n if (runType === \"retriever\") return { name: \"Retriever\", type: \"rag\" };\n\n // Fallbacks\n if (cls.includes(\"Agent\"))\n return { name: `Agent: ${cls}`, type: \"component\" };\n if (cls.startsWith(\"Runnable\"))\n return { name: `Runnable: ${cls.replace(/^Runnable/, \"\")}`, type: \"chain\" };\n return { name: cls || \"LangChain operation\", type: \"chain\" };\n}\n\n// Export helper functions for testing\nexport {\n className,\n shorten,\n previewInput,\n ctxSkip,\n wrapNonScalarValues,\n addLangChainEvent,\n setLangGraphAttributes,\n buildLangChainMetadataAttributes,\n applyGenAIAttrs,\n getResolvedParentContext,\n deriveNameAndType,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/observability-sdk/instrumentation/langchain/index.ts"],"sourcesContent":["import type { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport { type DocumentInterface } from \"@langchain/core/documents\";\nimport type { Serialized } from \"@langchain/core/load/serializable\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport type { ChatGeneration, LLMResult } from \"@langchain/core/outputs\";\nimport type {\n ChatMessage,\n ChatRichContent,\n} from \"../../../internal/generated/types/tracer\";\nimport type { ChainValues } from \"@langchain/core/utils/types\";\nimport { getLangWatchTracer } from \"../../tracer\";\nimport type { LangWatchSpan } from \"../../span\";\nimport {\n context,\n trace,\n SpanStatusCode,\n type Attributes,\n} from \"@opentelemetry/api\";\nimport { chatMessageSchema } from \"../../../internal/generated/types/tracer.generated\";\nimport { shouldCaptureInput, shouldCaptureOutput } from \"../../config\";\n\ntype RunKind = \"llm\" | \"chat\" | \"chain\" | \"tool\" | \"retriever\";\n\ntype StartArgs = {\n kind: RunKind;\n runId: string;\n parentRunId?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n name?: string;\n extraParams?: Record<string, unknown>;\n input?: unknown; // already prepared for setInput()\n};\n\nconst LANGGRAPH_METADATA_KEYS = new Set<string>([\n \"thread_id\",\n \"langgraph_step\",\n \"langgraph_node\",\n \"langgraph_triggers\",\n \"langgraph_path\",\n \"langgraph_checkpoint_ns\",\n \"__pregel_task_id\",\n \"checkpoint_ns\",\n]);\n\nexport class LangWatchCallbackHandler extends BaseCallbackHandler {\n name = \"LangWatchCallbackHandler\";\n tracer = getLangWatchTracer(\"langwatch.instrumentation.langchain\");\n\n private spans: Record<string, LangWatchSpan | undefined> = {};\n private parentOf: Record<string, string | undefined> = {};\n private skipped: Record<string, true | undefined> = {};\n private seenStarts = new Set<string>();\n\n private startRunSpan(args: StartArgs) {\n const { runId, parentRunId, serialized, tags } = args;\n this.parentOf[runId] = parentRunId;\n\n // if we want to skip, we record as such as we cn do context matching latet\n if (ctxSkip(serialized, tags)) {\n this.skipped[runId] = true;\n return;\n }\n if (this.seenStarts.has(runId)) return;\n this.seenStarts.add(runId);\n\n const parentCtx = getResolvedParentContext(\n parentRunId,\n this.spans,\n this.parentOf\n );\n const parentSpan = parentRunId ? this.spans[parentRunId] : void 0;\n const links = parentSpan\n ? [{ context: parentSpan.spanContext() }]\n : void 0;\n\n const { name, type } = deriveNameAndType({\n runType: args.kind,\n name: args.name,\n serialized: args.serialized,\n metadata: args.metadata,\n tags: args.tags,\n inputs: args.input,\n });\n\n const span = this.tracer.startSpan(name, { links }, parentCtx);\n span.setType(type);\n\n if (args.tags?.length)\n span.setAttribute(\"langwatch.langchain.run.tags\", args.tags.slice(0, 50));\n\n if (shouldCaptureInput() && args.input !== void 0) {\n const i: any = args.input as any;\n if (i && typeof i === \"object\" && \"type\" in i && \"value\" in i) {\n span.setInput(i.type, i.value);\n } else {\n span.setInput(i);\n }\n }\n\n if (args.extraParams) {\n span.setAttributes(\n Object.fromEntries(\n Object.entries(args.extraParams).map(([k, v]) => [\n `langwatch.langchain.run.extra_params.${k}`,\n wrapNonScalarValues(v),\n ])\n )\n );\n }\n\n if (args.metadata) {\n applyGenAIAttrs(span, args.metadata, args.extraParams);\n setLangGraphAttributes(span, args.metadata);\n span.setAttributes(buildLangChainMetadataAttributes(args.metadata));\n }\n\n this.spans[runId] = span;\n }\n\n private finishRun(\n runId: string,\n end: {\n output?: unknown;\n err?: Error;\n event: string;\n parentRunId?: string;\n extra?: Attributes;\n tags?: string[];\n md?: Record<string, unknown>;\n }\n ) {\n const span = this.spans[runId];\n if (!span) return;\n\n addLangChainEvent(\n span,\n end.event,\n runId,\n end.parentRunId,\n end.tags,\n end.md,\n end.extra\n );\n\n if (end.err) {\n span.recordException(end.err);\n span.setStatus({ code: SpanStatusCode.ERROR, message: end.err.message });\n } else if (shouldCaptureOutput() && end.output !== undefined) {\n span.setOutput(end.output as any);\n }\n\n span.end();\n\n delete this.spans[runId];\n delete this.parentOf[runId];\n delete this.skipped[runId];\n this.seenStarts.delete(runId);\n }\n\n async handleLLMStart(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput() && prompts\n ? {\n type: \"list\",\n value: prompts.map((p) => ({ type: \"text\", value: p })),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"llm\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleChatModelStart(\n llm: Serialized,\n messages: BaseMessage[][],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput()\n ? {\n type: \"chat_messages\",\n value: messages.flatMap(convertFromLangChainMessages),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"chat\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleLLMEnd(\n response: LLMResult,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n const span = this.spans[runId];\n const tu = (response.llmOutput as any)?.tokenUsage as\n | {\n promptTokens?: number;\n completionTokens?: number;\n totalTokens?: number;\n }\n | undefined;\n if (span && tu) {\n span.setAttributes({\n \"gen_ai.usage.prompt_tokens\": tu.promptTokens ?? 0,\n \"gen_ai.usage.completion_tokens\": tu.completionTokens ?? 0,\n \"gen_ai.usage.total_tokens\": tu.totalTokens ?? 0,\n });\n }\n\n const outputs = shouldCaptureOutput()\n ? response.generations.flat().map((g) => {\n if (\"message\" in g && g.message) {\n return convertFromLangChainMessages([\n (g as ChatGeneration).message,\n ]);\n } else if (\"text\" in g && g.text) {\n return g.text;\n }\n return g;\n })\n : undefined;\n\n this.finishRun(runId, {\n output: outputs,\n event: \"handleLLMEnd\",\n parentRunId,\n });\n }\n\n async handleLLMError(\n err: Error,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleLLMError\", parentRunId });\n }\n\n async handleChainStart(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n _runType?: string,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"chain\",\n runId,\n parentRunId,\n serialized: chain,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? inputs : void 0,\n });\n\n if (_runType) {\n const span = this.spans[runId];\n if (span) span.setAttribute(\"langwatch.langchain.run.type\", _runType);\n }\n }\n\n async handleChainEnd(\n output: ChainValues,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { output, event: \"handleChainEnd\", parentRunId });\n }\n\n async handleChainError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> | undefined }\n ): Promise<void> {\n this.finishRun(runId, {\n err,\n event: \"handleChainError\",\n parentRunId,\n tags,\n md: kwargs,\n });\n }\n\n async handleToolStart(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"tool\",\n runId,\n parentRunId,\n serialized: tool,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: input } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleToolEnd(\n output: string,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"text\", value: output }\n : void 0,\n event: \"handleToolEnd\",\n parentRunId,\n });\n }\n\n async handleToolError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleToolError\", parentRunId, tags });\n }\n\n async handleRetrieverStart(\n retriever: Serialized,\n query: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ) {\n this.startRunSpan({\n kind: \"retriever\",\n runId,\n parentRunId,\n serialized: retriever,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: query } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleRetrieverEnd(\n documents: DocumentInterface<Record<string, any>>[],\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n const span = this.spans[runId];\n\n if (span && shouldCaptureOutput()) {\n span.setOutput(documents);\n }\n\n if (span && shouldCaptureInput()) {\n span.setRAGContexts(\n documents.map((document) => ({\n document_id: document.metadata.id,\n chunk_id: document.metadata.chunk_id,\n content: document.pageContent,\n }))\n );\n }\n\n this.finishRun(runId, { event: \"handleRetrieverEnd\", parentRunId, tags });\n }\n\n async handleRetrieverError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n this.finishRun(runId, {\n err,\n event: \"handleRetrieverError\",\n parentRunId,\n tags,\n });\n }\n\n async handleAgentAction(\n _action: AgentAction,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n const span = this.spans[runId];\n if (span) {\n addLangChainEvent(span, \"handleAgentAction\", runId, parentRunId, tags);\n span.setType(\"agent\");\n }\n }\n\n async handleAgentEnd(\n action: AgentFinish,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"json\", value: action.returnValues }\n : void 0,\n event: \"handleAgentEnd\",\n parentRunId,\n tags,\n });\n }\n}\n\nexport function convertFromLangChainMessages(\n messages: BaseMessage[]\n): ChatMessage[] {\n const out: ChatMessage[] = [];\n for (const message of messages) {\n out.push(\n convertFromLangChainMessage(message as BaseMessage & { id?: string[] })\n );\n }\n return out;\n}\n\nfunction convertFromLangChainMessage(\n message: BaseMessage & { id?: string[] }\n): ChatMessage {\n let role: ChatMessage[\"role\"] = \"user\";\n\n const msgType = (message as any).type as string | undefined;\n if (msgType === \"human\") role = \"user\";\n else if (msgType === \"ai\") role = \"assistant\";\n else if (msgType === \"system\") role = \"system\";\n else if (msgType === \"function\") role = \"function\";\n else if (msgType === \"tool\") role = \"tool\";\n else {\n if (\n (message as any)?._getType?.() === \"human\" ||\n message.id?.[message.id.length - 1] === \"HumanMessage\"\n ) {\n role = \"user\";\n } else if (\n (message as any)?._getType?.() === \"ai\" ||\n message.id?.[message.id.length - 1] === \"AIMessage\"\n ) {\n role = \"assistant\";\n } else if (\n (message as any)?._getType?.() === \"system\" ||\n message.id?.[message.id.length - 1] === \"SystemMessage\"\n ) {\n role = \"system\";\n } else if (\n (message as any)?._getType?.() === \"function\" ||\n message.id?.[message.id.length - 1] === \"FunctionMessage\"\n ) {\n role = \"function\";\n } else if (\n (message as any)?._getType?.() === \"tool\" ||\n message.id?.[message.id.length - 1] === \"ToolMessage\"\n ) {\n role = \"tool\";\n }\n }\n\n const content: ChatMessage[\"content\"] =\n typeof (message as any).content === \"string\"\n ? ((message as any).content as string)\n : (message as any).content == null\n ? null\n : Array.isArray((message as any).content)\n ? (message as any).content.map(\n (c: any): ChatRichContent =>\n c?.type === \"text\"\n ? { type: \"text\", text: c.text }\n : c?.type === \"image_url\"\n ? { type: \"image_url\", image_url: c.image_url }\n : { type: \"text\", text: JSON.stringify(c) }\n )\n : JSON.stringify((message as any).content);\n\n const functionCall = (message as any).additional_kwargs;\n\n return {\n role,\n content,\n ...(functionCall &&\n typeof functionCall === \"object\" &&\n Object.keys(functionCall).length > 0\n ? { function_call: functionCall }\n : {}),\n };\n}\n\nfunction className(serialized?: Serialized): string {\n const id = (serialized as any)?.id;\n if (Array.isArray(id) && id.length) return String(id[id.length - 1]);\n const ns = (serialized as any)?.lc_namespace;\n if (Array.isArray(ns) && ns.length) return String(ns[ns.length - 1]);\n\n return \"\";\n}\n\nfunction shorten(str: string, max = 120): string {\n return typeof str === \"string\" && str.length > max\n ? str.slice(0, max - 1) + \"…\"\n : str;\n}\n\nfunction previewInput(v: unknown): string | undefined {\n if (typeof v === \"string\") {\n const s = v.trim();\n return s ? shorten(s, 120) : void 0;\n }\n return void 0;\n}\n\nfunction ctxSkip(serialized?: Serialized, tags?: string[]) {\n const cls = className(serialized);\n return (\n cls.startsWith(\"ChannelWrite\") ||\n (tags?.includes(\"langsmith:hidden\") ?? false)\n );\n}\n\nfunction wrapNonScalarValues(\n value: unknown\n): string | number | boolean | undefined {\n if (value === void 0) return void 0;\n if (value === null) return JSON.stringify(null);\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n )\n return value;\n\n // Special-case: ChatMessage[] detection via zod schema the project already has\n const chatMessages = chatMessageSchema.array().safeParse(value as any);\n if (Array.isArray(value) && chatMessages.success) {\n return JSON.stringify({ type: \"chat_messages\", value: chatMessages.data });\n }\n\n try {\n const seen = new WeakSet();\n const json = JSON.stringify(value as any, (k, val) => {\n if (typeof val === \"object\" && val !== null) {\n if (seen.has(val)) return \"[Circular]\";\n seen.add(val);\n }\n return val;\n });\n return json;\n } catch {\n return JSON.stringify({ type: \"raw\", value: \"[Non-Serializable]\" });\n }\n}\n\nfunction addLangChainEvent(\n span: LangWatchSpan,\n eventName: string,\n runId: string,\n parentRunId: string | undefined,\n tags?: string[],\n metadata?: Record<string, unknown>,\n attributes?: Attributes\n) {\n const attrs: Attributes = {\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n \"langwatch.langchain.event.name\": eventName,\n ...attributes,\n };\n\n if (tags?.length) attrs[\"langwatch.langchain.run.tags\"] = tags.slice(0, 50);\n if (metadata) {\n Object.entries(metadata).forEach(([key, value]) => {\n attrs[key] = wrapNonScalarValues(value);\n });\n }\n\n span.addEvent(\"langwatch.langchain.callback\", attrs);\n}\n\nfunction setLangGraphAttributes(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>\n) {\n if (!metadata) return;\n const keys = Object.keys(metadata);\n for (const key of keys) {\n const value = (metadata as any)[key];\n if (value !== undefined) {\n const wrapped = wrapNonScalarValues(value);\n if (wrapped !== undefined) {\n span.setAttribute(\n `langwatch.langgraph.${key}` as const,\n wrapped as any\n );\n }\n }\n }\n}\n\nfunction buildLangChainMetadataAttributes(metadata: Record<string, unknown>) {\n if (!metadata) return {};\n return Object.fromEntries(\n Object.entries(metadata)\n .filter(([key]) => !LANGGRAPH_METADATA_KEYS.has(key))\n .map(([key, value]) => [\n `langwatch.langchain.run.metadata.${key}`,\n wrapNonScalarValues(value),\n ])\n );\n}\n\nfunction applyGenAIAttrs(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>,\n extraParams?: Record<string, unknown>\n) {\n const md = (metadata ?? {}) as any;\n const ex = (extraParams ?? {}) as any;\n\n const provider = md.ls_provider as string | undefined;\n const requestModel = md.ls_model_name ?? md.kwargs?.model ?? ex.kwargs?.model;\n const temperature =\n md.ls_temperature ?? md.kwargs?.temperature ?? ex.kwargs?.temperature;\n const responseModel = md.response_metadata?.model_name as string | undefined;\n\n if (provider) span.setAttribute(\"gen_ai.system\", provider);\n if (requestModel) span.setAttribute(\"gen_ai.request.model\", requestModel);\n if (typeof temperature === \"number\")\n span.setAttribute(\"gen_ai.request.temperature\", temperature);\n if (responseModel) span.setAttribute(\"gen_ai.response.model\", responseModel);\n}\n\nfunction getResolvedParentContext(\n runId: string | undefined,\n spans: Record<string, LangWatchSpan | undefined>,\n parentOf: Record<string, string | undefined>\n) {\n let cur = runId;\n while (cur) {\n const s = spans[cur];\n if (s) return trace.setSpan(context.active(), s);\n cur = parentOf[cur];\n }\n return context.active();\n}\n\nfunction deriveNameAndType(opts: {\n runType: RunKind;\n name?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n inputs?: unknown;\n}): { name: string; type: \"llm\" | \"chain\" | \"tool\" | \"rag\" | \"component\" } {\n const { runType, name, serialized, metadata, inputs } = opts;\n\n // user-specified name / metadata override\n const hardName = (name?.trim() ?? (metadata as any)?.operation_name) as\n | string\n | undefined;\n if (hardName) {\n return {\n name: hardName,\n type:\n runType === \"tool\"\n ? \"tool\"\n : runType === \"retriever\"\n ? \"rag\"\n : runType === \"llm\" || runType === \"chat\"\n ? \"llm\"\n : \"chain\",\n };\n }\n\n const cls = className(serialized);\n const md = (metadata ?? {}) as any;\n\n // LangGraph node / router - prioritize routers over nodes\n const hasNode = md?.langgraph_node != null;\n const hasTriggers = Array.isArray(md?.langgraph_triggers) && md.langgraph_triggers.length > 0;\n const isRouter =\n cls.startsWith(\"Branch<\") || hasTriggers;\n const isGraphRunner = md?.langgraph_path && !md?.langgraph_node;\n\n // LLM / Chat - always prioritize runType over metadata\n if (runType === \"llm\" || runType === \"chat\") {\n const prov = (md?.ls_provider as string) ?? \"LLM\";\n const model = (md?.ls_model_name as string) ?? (cls || \"call\");\n const temp = md?.ls_temperature;\n const tempStr =\n temp != null\n ? typeof temp === \"number\"\n ? temp.toString()\n : JSON.stringify(temp)\n : null;\n const nm =\n tempStr != null\n ? `${prov} ${model} (temp ${tempStr})`\n : `${prov} ${model}`;\n return { name: nm, type: \"llm\" };\n }\n\n // Prioritize LangGraph routers over nodes (but after LLM/Chat)\n if (isRouter) {\n const pathArr = md?.langgraph_path as string[] | undefined;\n const fromNode =\n Array.isArray(pathArr) && pathArr.length\n ? pathArr[pathArr.length - 1]\n : undefined;\n const decision = Array.isArray(md?.langgraph_triggers)\n ? String(\n md.langgraph_triggers.find((t: any) =>\n String(t).startsWith(\"branch:\")\n ) ?? \"\"\n ).replace(/^branch:(to:)?/, \"\")\n : undefined;\n const nm = `Route: ${fromNode ?? \"unknown\"} → ${decision ?? \"unknown\"}`;\n return { name: nm, type: \"component\" };\n }\n\n if (hasNode) {\n const step = md?.langgraph_step;\n const nm = `Node: ${md.langgraph_node}${\n step != null ? ` (step ${String(step)})` : \"\"\n }`;\n return { name: nm, type: \"component\" };\n }\n if (isGraphRunner && runType === \"chain\") {\n return { name: \"Graph: LangGraph\", type: \"chain\" };\n }\n\n // Tool\n if (runType === \"tool\") {\n const tool = (metadata as any)?.name ?? (cls || \"tool\");\n const prev =\n previewInput(inputs) ?? previewInput((serialized as any)?.input);\n return {\n name: prev ? `Tool: ${tool} — ${prev}` : `Tool: ${tool}`,\n type: \"tool\",\n };\n }\n\n // Retriever\n if (runType === \"retriever\") return { name: \"Retriever\", type: \"rag\" };\n\n // Fallbacks\n if (cls.includes(\"Agent\"))\n return { name: `Agent: ${cls}`, type: \"component\" };\n if (cls.startsWith(\"Runnable\"))\n return { name: `Runnable: ${cls.replace(/^Runnable/, \"\")}`, type: \"chain\" };\n return { name: cls || \"LangChain operation\", type: \"chain\" };\n}\n\n// Export helper functions for testing\nexport {\n className,\n shorten,\n previewInput,\n ctxSkip,\n wrapNonScalarValues,\n addLangChainEvent,\n setLangGraphAttributes,\n buildLangChainMetadataAttributes,\n applyGenAIAttrs,\n getResolvedParentContext,\n deriveNameAndType,\n};\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/observability-sdk/instrumentation/langchain/index.ts"],"sourcesContent":["import type { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport { type DocumentInterface } from \"@langchain/core/documents\";\nimport type { Serialized } from \"@langchain/core/load/serializable\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport type { ChatGeneration, LLMResult } from \"@langchain/core/outputs\";\nimport {\n chatMessageSchema,\n type ChatMessage,\n type ChatRichContent,\n} from \"../../../internal/generated/types/tracer\";\nimport type { ChainValues } from \"@langchain/core/utils/types\";\nimport { getLangWatchTracer } from \"../../tracer\";\nimport type { LangWatchSpan } from \"../../span\";\nimport {\n context,\n trace,\n SpanStatusCode,\n type Attributes,\n} from \"@opentelemetry/api\";\nimport { shouldCaptureInput, shouldCaptureOutput } from \"../../config\";\n\ntype RunKind = \"llm\" | \"chat\" | \"chain\" | \"tool\" | \"retriever\";\n\ntype StartArgs = {\n kind: RunKind;\n runId: string;\n parentRunId?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n name?: string;\n extraParams?: Record<string, unknown>;\n input?: unknown; // already prepared for setInput()\n};\n\nconst LANGGRAPH_METADATA_KEYS = new Set<string>([\n \"thread_id\",\n \"langgraph_step\",\n \"langgraph_node\",\n \"langgraph_triggers\",\n \"langgraph_path\",\n \"langgraph_checkpoint_ns\",\n \"__pregel_task_id\",\n \"checkpoint_ns\",\n]);\n\nexport class LangWatchCallbackHandler extends BaseCallbackHandler {\n name = \"LangWatchCallbackHandler\";\n tracer = getLangWatchTracer(\"langwatch.instrumentation.langchain\");\n\n private spans: Record<string, LangWatchSpan | undefined> = {};\n private parentOf: Record<string, string | undefined> = {};\n private skipped: Record<string, true | undefined> = {};\n private seenStarts = new Set<string>();\n\n private startRunSpan(args: StartArgs) {\n const { runId, parentRunId, serialized, tags } = args;\n this.parentOf[runId] = parentRunId;\n\n // if we want to skip, we record as such as we cn do context matching latet\n if (ctxSkip(serialized, tags)) {\n this.skipped[runId] = true;\n return;\n }\n if (this.seenStarts.has(runId)) return;\n this.seenStarts.add(runId);\n\n const parentCtx = getResolvedParentContext(\n parentRunId,\n this.spans,\n this.parentOf\n );\n const parentSpan = parentRunId ? this.spans[parentRunId] : void 0;\n const links = parentSpan\n ? [{ context: parentSpan.spanContext() }]\n : void 0;\n\n const { name, type } = deriveNameAndType({\n runType: args.kind,\n name: args.name,\n serialized: args.serialized,\n metadata: args.metadata,\n tags: args.tags,\n inputs: args.input,\n });\n\n const span = this.tracer.startSpan(name, { links }, parentCtx);\n span.setType(type);\n\n if (args.tags?.length)\n span.setAttribute(\"langwatch.langchain.run.tags\", args.tags.slice(0, 50));\n\n if (shouldCaptureInput() && args.input !== void 0) {\n const i: any = args.input as any;\n if (i && typeof i === \"object\" && \"type\" in i && \"value\" in i) {\n span.setInput(i.type, i.value);\n } else {\n span.setInput(i);\n }\n }\n\n if (args.extraParams) {\n span.setAttributes(\n Object.fromEntries(\n Object.entries(args.extraParams).map(([k, v]) => [\n `langwatch.langchain.run.extra_params.${k}`,\n wrapNonScalarValues(v),\n ])\n )\n );\n }\n\n if (args.metadata) {\n applyGenAIAttrs(span, args.metadata, args.extraParams);\n setLangGraphAttributes(span, args.metadata);\n span.setAttributes(buildLangChainMetadataAttributes(args.metadata));\n }\n\n this.spans[runId] = span;\n }\n\n private finishRun(\n runId: string,\n end: {\n output?: unknown;\n err?: Error;\n event: string;\n parentRunId?: string;\n extra?: Attributes;\n tags?: string[];\n md?: Record<string, unknown>;\n }\n ) {\n const span = this.spans[runId];\n if (!span) return;\n\n addLangChainEvent(\n span,\n end.event,\n runId,\n end.parentRunId,\n end.tags,\n end.md,\n end.extra\n );\n\n if (end.err) {\n span.recordException(end.err);\n span.setStatus({ code: SpanStatusCode.ERROR, message: end.err.message });\n } else if (shouldCaptureOutput() && end.output !== undefined) {\n span.setOutput(end.output as any);\n }\n\n span.end();\n\n delete this.spans[runId];\n delete this.parentOf[runId];\n delete this.skipped[runId];\n this.seenStarts.delete(runId);\n }\n\n async handleLLMStart(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput() && prompts\n ? {\n type: \"list\",\n value: prompts.map((p) => ({ type: \"text\", value: p })),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"llm\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleChatModelStart(\n llm: Serialized,\n messages: BaseMessage[][],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput()\n ? {\n type: \"chat_messages\",\n value: messages.flatMap(convertFromLangChainMessages),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"chat\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleLLMEnd(\n response: LLMResult,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n const span = this.spans[runId];\n const tu = (response.llmOutput as any)?.tokenUsage as\n | {\n promptTokens?: number;\n completionTokens?: number;\n totalTokens?: number;\n }\n | undefined;\n if (span && tu) {\n span.setAttributes({\n \"gen_ai.usage.prompt_tokens\": tu.promptTokens ?? 0,\n \"gen_ai.usage.completion_tokens\": tu.completionTokens ?? 0,\n \"gen_ai.usage.total_tokens\": tu.totalTokens ?? 0,\n });\n }\n\n const outputs = shouldCaptureOutput()\n ? response.generations.flat().map((g) => {\n if (\"message\" in g && g.message) {\n return convertFromLangChainMessages([\n (g as ChatGeneration).message,\n ]);\n } else if (\"text\" in g && g.text) {\n return g.text;\n }\n return g;\n })\n : undefined;\n\n this.finishRun(runId, {\n output: outputs,\n event: \"handleLLMEnd\",\n parentRunId,\n });\n }\n\n async handleLLMError(\n err: Error,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleLLMError\", parentRunId });\n }\n\n async handleChainStart(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n _runType?: string,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"chain\",\n runId,\n parentRunId,\n serialized: chain,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? inputs : void 0,\n });\n\n if (_runType) {\n const span = this.spans[runId];\n if (span) span.setAttribute(\"langwatch.langchain.run.type\", _runType);\n }\n }\n\n async handleChainEnd(\n output: ChainValues,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { output, event: \"handleChainEnd\", parentRunId });\n }\n\n async handleChainError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> | undefined }\n ): Promise<void> {\n this.finishRun(runId, {\n err,\n event: \"handleChainError\",\n parentRunId,\n tags,\n md: kwargs,\n });\n }\n\n async handleToolStart(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"tool\",\n runId,\n parentRunId,\n serialized: tool,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: input } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleToolEnd(\n output: string,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"text\", value: output }\n : void 0,\n event: \"handleToolEnd\",\n parentRunId,\n });\n }\n\n async handleToolError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleToolError\", parentRunId, tags });\n }\n\n async handleRetrieverStart(\n retriever: Serialized,\n query: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ) {\n this.startRunSpan({\n kind: \"retriever\",\n runId,\n parentRunId,\n serialized: retriever,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: query } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleRetrieverEnd(\n documents: DocumentInterface<Record<string, any>>[],\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n const span = this.spans[runId];\n\n if (span && shouldCaptureOutput()) {\n span.setOutput(documents);\n }\n\n if (span && shouldCaptureInput()) {\n span.setRAGContexts(\n documents.map((document) => ({\n document_id: document.metadata.id,\n chunk_id: document.metadata.chunk_id,\n content: document.pageContent,\n }))\n );\n }\n\n this.finishRun(runId, { event: \"handleRetrieverEnd\", parentRunId, tags });\n }\n\n async handleRetrieverError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n this.finishRun(runId, {\n err,\n event: \"handleRetrieverError\",\n parentRunId,\n tags,\n });\n }\n\n async handleAgentAction(\n _action: AgentAction,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n const span = this.spans[runId];\n if (span) {\n addLangChainEvent(span, \"handleAgentAction\", runId, parentRunId, tags);\n span.setType(\"agent\");\n }\n }\n\n async handleAgentEnd(\n action: AgentFinish,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"json\", value: action.returnValues }\n : void 0,\n event: \"handleAgentEnd\",\n parentRunId,\n tags,\n });\n }\n}\n\nexport function convertFromLangChainMessages(\n messages: BaseMessage[]\n): ChatMessage[] {\n const out: ChatMessage[] = [];\n for (const message of messages) {\n out.push(\n convertFromLangChainMessage(message as BaseMessage & { id?: string[] })\n );\n }\n return out;\n}\n\nfunction convertFromLangChainMessage(\n message: BaseMessage & { id?: string[] }\n): ChatMessage {\n let role: ChatMessage[\"role\"] = \"user\";\n\n const msgType = (message as any).type as string | undefined;\n if (msgType === \"human\") role = \"user\";\n else if (msgType === \"ai\") role = \"assistant\";\n else if (msgType === \"system\") role = \"system\";\n else if (msgType === \"function\") role = \"function\";\n else if (msgType === \"tool\") role = \"tool\";\n else {\n if (\n (message as any)?._getType?.() === \"human\" ||\n message.id?.[message.id.length - 1] === \"HumanMessage\"\n ) {\n role = \"user\";\n } else if (\n (message as any)?._getType?.() === \"ai\" ||\n message.id?.[message.id.length - 1] === \"AIMessage\"\n ) {\n role = \"assistant\";\n } else if (\n (message as any)?._getType?.() === \"system\" ||\n message.id?.[message.id.length - 1] === \"SystemMessage\"\n ) {\n role = \"system\";\n } else if (\n (message as any)?._getType?.() === \"function\" ||\n message.id?.[message.id.length - 1] === \"FunctionMessage\"\n ) {\n role = \"function\";\n } else if (\n (message as any)?._getType?.() === \"tool\" ||\n message.id?.[message.id.length - 1] === \"ToolMessage\"\n ) {\n role = \"tool\";\n }\n }\n\n const content: ChatMessage[\"content\"] =\n typeof (message as any).content === \"string\"\n ? ((message as any).content as string)\n : (message as any).content == null\n ? null\n : Array.isArray((message as any).content)\n ? (message as any).content.map(\n (c: any): ChatRichContent =>\n c?.type === \"text\"\n ? { type: \"text\", text: c.text }\n : c?.type === \"image_url\"\n ? { type: \"image_url\", image_url: c.image_url }\n : { type: \"text\", text: JSON.stringify(c) }\n )\n : JSON.stringify((message as any).content);\n\n const functionCall = (message as any).additional_kwargs;\n\n return {\n role,\n content,\n ...(functionCall &&\n typeof functionCall === \"object\" &&\n Object.keys(functionCall).length > 0\n ? { function_call: functionCall }\n : {}),\n };\n}\n\nfunction className(serialized?: Serialized): string {\n const id = (serialized as any)?.id;\n if (Array.isArray(id) && id.length) return String(id[id.length - 1]);\n const ns = (serialized as any)?.lc_namespace;\n if (Array.isArray(ns) && ns.length) return String(ns[ns.length - 1]);\n\n return \"\";\n}\n\nfunction shorten(str: string, max = 120): string {\n return typeof str === \"string\" && str.length > max\n ? str.slice(0, max - 1) + \"…\"\n : str;\n}\n\nfunction previewInput(v: unknown): string | undefined {\n if (typeof v === \"string\") {\n const s = v.trim();\n return s ? shorten(s, 120) : void 0;\n }\n return void 0;\n}\n\nfunction ctxSkip(serialized?: Serialized, tags?: string[]) {\n const cls = className(serialized);\n return (\n cls.startsWith(\"ChannelWrite\") ||\n (tags?.includes(\"langsmith:hidden\") ?? false)\n );\n}\n\nfunction wrapNonScalarValues(\n value: unknown\n): string | number | boolean | undefined {\n if (value === void 0) return void 0;\n if (value === null) return JSON.stringify(null);\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n )\n return value;\n\n // Special-case: ChatMessage[] detection via zod schema the project already has\n const chatMessages = chatMessageSchema.array().safeParse(value as any);\n if (Array.isArray(value) && chatMessages.success) {\n return JSON.stringify({ type: \"chat_messages\", value: chatMessages.data });\n }\n\n try {\n const seen = new WeakSet();\n const json = JSON.stringify(value as any, (k, val) => {\n if (typeof val === \"object\" && val !== null) {\n if (seen.has(val)) return \"[Circular]\";\n seen.add(val);\n }\n return val;\n });\n return json;\n } catch {\n return JSON.stringify({ type: \"raw\", value: \"[Non-Serializable]\" });\n }\n}\n\nfunction addLangChainEvent(\n span: LangWatchSpan,\n eventName: string,\n runId: string,\n parentRunId: string | undefined,\n tags?: string[],\n metadata?: Record<string, unknown>,\n attributes?: Attributes\n) {\n const attrs: Attributes = {\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n \"langwatch.langchain.event.name\": eventName,\n ...attributes,\n };\n\n if (tags?.length) attrs[\"langwatch.langchain.run.tags\"] = tags.slice(0, 50);\n if (metadata) {\n Object.entries(metadata).forEach(([key, value]) => {\n attrs[key] = wrapNonScalarValues(value);\n });\n }\n\n span.addEvent(\"langwatch.langchain.callback\", attrs);\n}\n\nfunction setLangGraphAttributes(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>\n) {\n if (!metadata) return;\n const keys = Object.keys(metadata);\n for (const key of keys) {\n const value = (metadata as any)[key];\n if (value !== undefined) {\n const wrapped = wrapNonScalarValues(value);\n if (wrapped !== undefined) {\n span.setAttribute(\n `langwatch.langgraph.${key}` as const,\n wrapped as any\n );\n }\n }\n }\n}\n\nfunction buildLangChainMetadataAttributes(metadata: Record<string, unknown>) {\n if (!metadata) return {};\n return Object.fromEntries(\n Object.entries(metadata)\n .filter(([key]) => !LANGGRAPH_METADATA_KEYS.has(key))\n .map(([key, value]) => [\n `langwatch.langchain.run.metadata.${key}`,\n wrapNonScalarValues(value),\n ])\n );\n}\n\nfunction applyGenAIAttrs(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>,\n extraParams?: Record<string, unknown>\n) {\n const md = (metadata ?? {}) as any;\n const ex = (extraParams ?? {}) as any;\n\n const provider = md.ls_provider as string | undefined;\n const requestModel = md.ls_model_name ?? md.kwargs?.model ?? ex.kwargs?.model;\n const temperature =\n md.ls_temperature ?? md.kwargs?.temperature ?? ex.kwargs?.temperature;\n const responseModel = md.response_metadata?.model_name as string | undefined;\n\n if (provider) span.setAttribute(\"gen_ai.system\", provider);\n if (requestModel) span.setAttribute(\"gen_ai.request.model\", requestModel);\n if (typeof temperature === \"number\")\n span.setAttribute(\"gen_ai.request.temperature\", temperature);\n if (responseModel) span.setAttribute(\"gen_ai.response.model\", responseModel);\n}\n\nfunction getResolvedParentContext(\n runId: string | undefined,\n spans: Record<string, LangWatchSpan | undefined>,\n parentOf: Record<string, string | undefined>\n) {\n let cur = runId;\n while (cur) {\n const s = spans[cur];\n if (s) return trace.setSpan(context.active(), s);\n cur = parentOf[cur];\n }\n return context.active();\n}\n\nfunction deriveNameAndType(opts: {\n runType: RunKind;\n name?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n inputs?: unknown;\n}): { name: string; type: \"llm\" | \"chain\" | \"tool\" | \"rag\" | \"component\" } {\n const { runType, name, serialized, metadata, inputs } = opts;\n\n // user-specified name / metadata override\n const hardName = (name?.trim() ?? (metadata as any)?.operation_name) as\n | string\n | undefined;\n if (hardName) {\n return {\n name: hardName,\n type:\n runType === \"tool\"\n ? \"tool\"\n : runType === \"retriever\"\n ? \"rag\"\n : runType === \"llm\" || runType === \"chat\"\n ? \"llm\"\n : \"chain\",\n };\n }\n\n const cls = className(serialized);\n const md = (metadata ?? {}) as any;\n\n // LangGraph node / router - prioritize routers over nodes\n const hasNode = md?.langgraph_node != null;\n const hasTriggers = Array.isArray(md?.langgraph_triggers) && md.langgraph_triggers.length > 0;\n const isRouter =\n cls.startsWith(\"Branch<\") || hasTriggers;\n const isGraphRunner = md?.langgraph_path && !md?.langgraph_node;\n\n // LLM / Chat - always prioritize runType over metadata\n if (runType === \"llm\" || runType === \"chat\") {\n const prov = (md?.ls_provider as string) ?? \"LLM\";\n const model = (md?.ls_model_name as string) ?? (cls || \"call\");\n const temp = md?.ls_temperature;\n const tempStr =\n temp != null\n ? typeof temp === \"number\"\n ? temp.toString()\n : JSON.stringify(temp)\n : null;\n const nm =\n tempStr != null\n ? `${prov} ${model} (temp ${tempStr})`\n : `${prov} ${model}`;\n return { name: nm, type: \"llm\" };\n }\n\n // Prioritize LangGraph routers over nodes (but after LLM/Chat)\n if (isRouter) {\n const pathArr = md?.langgraph_path as string[] | undefined;\n const fromNode =\n Array.isArray(pathArr) && pathArr.length\n ? pathArr[pathArr.length - 1]\n : undefined;\n const decision = Array.isArray(md?.langgraph_triggers)\n ? String(\n md.langgraph_triggers.find((t: any) =>\n String(t).startsWith(\"branch:\")\n ) ?? \"\"\n ).replace(/^branch:(to:)?/, \"\")\n : undefined;\n const nm = `Route: ${fromNode ?? \"unknown\"} → ${decision ?? \"unknown\"}`;\n return { name: nm, type: \"component\" };\n }\n\n if (hasNode) {\n const step = md?.langgraph_step;\n const nm = `Node: ${md.langgraph_node}${\n step != null ? ` (step ${String(step)})` : \"\"\n }`;\n return { name: nm, type: \"component\" };\n }\n if (isGraphRunner && runType === \"chain\") {\n return { name: \"Graph: LangGraph\", type: \"chain\" };\n }\n\n // Tool\n if (runType === \"tool\") {\n const tool = (metadata as any)?.name ?? (cls || \"tool\");\n const prev =\n previewInput(inputs) ?? previewInput((serialized as any)?.input);\n return {\n name: prev ? `Tool: ${tool} — ${prev}` : `Tool: ${tool}`,\n type: \"tool\",\n };\n }\n\n // Retriever\n if (runType === \"retriever\") return { name: \"Retriever\", type: \"rag\" };\n\n // Fallbacks\n if (cls.includes(\"Agent\"))\n return { name: `Agent: ${cls}`, type: \"component\" };\n if (cls.startsWith(\"Runnable\"))\n return { name: `Runnable: ${cls.replace(/^Runnable/, \"\")}`, type: \"chain\" };\n return { name: cls || \"LangChain operation\", type: \"chain\" };\n}\n\n// Export helper functions for testing\nexport {\n className,\n shorten,\n previewInput,\n ctxSkip,\n wrapNonScalarValues,\n addLangChainEvent,\n setLangGraphAttributes,\n buildLangChainMetadataAttributes,\n applyGenAIAttrs,\n getResolvedParentContext,\n deriveNameAndType,\n};\n"],"mappings":"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","names":[]}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../../../chunk-
|
|
4
|
+
var _chunkZ7FKGTMLjs = require('../../../chunk-Z7FKGTML.js');
|
|
5
|
+
require('../../../chunk-HQPK4YD5.js');
|
|
6
6
|
require('../../../chunk-WZTRPR6A.js');
|
|
7
|
-
require('../../../chunk-
|
|
7
|
+
require('../../../chunk-Q2JOHFST.js');
|
|
8
8
|
require('../../../chunk-IXYZL7U2.js');
|
|
9
9
|
require('../../../chunk-VS22JXRY.js');
|
|
10
10
|
require('../../../chunk-BRPEG3YQ.js');
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
exports.ensureSetup =
|
|
14
|
+
exports.ensureSetup = _chunkZ7FKGTMLjs.ensureSetup; exports.setupObservability = _chunkZ7FKGTMLjs.setupObservability;
|
|
15
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ensureSetup,
|
|
3
3
|
setupObservability
|
|
4
|
-
} from "../../../chunk-
|
|
5
|
-
import "../../../chunk-
|
|
4
|
+
} from "../../../chunk-YC2BS7T6.mjs";
|
|
5
|
+
import "../../../chunk-ZACVIKN5.mjs";
|
|
6
6
|
import "../../../chunk-SIXSSID3.mjs";
|
|
7
|
-
import "../../../chunk-
|
|
7
|
+
import "../../../chunk-QMULACG7.mjs";
|
|
8
8
|
import "../../../chunk-JOLGDU7Q.mjs";
|
|
9
9
|
import "../../../chunk-GVFRS2UN.mjs";
|
|
10
10
|
import "../../../chunk-BAX4W3AY.mjs";
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isLoggedIn,
|
|
3
|
+
loadConfig
|
|
4
|
+
} from "./chunk-U47MQ6CS.mjs";
|
|
5
|
+
import "./chunk-BAX4W3AY.mjs";
|
|
6
|
+
|
|
7
|
+
// src/cli/commands/open.ts
|
|
8
|
+
import chalk from "chalk";
|
|
9
|
+
import open from "open";
|
|
10
|
+
var openCommand = async (options = {}) => {
|
|
11
|
+
const cfg = loadConfig();
|
|
12
|
+
if (!isLoggedIn(cfg)) {
|
|
13
|
+
console.error(
|
|
14
|
+
chalk.yellow("Not logged in. Run `langwatch login` first.")
|
|
15
|
+
);
|
|
16
|
+
process.exit(1);
|
|
17
|
+
}
|
|
18
|
+
const base = cfg.control_plane_url.replace(/\/+$/, "");
|
|
19
|
+
let target;
|
|
20
|
+
if (options.path) {
|
|
21
|
+
const trimmed = options.path.replace(/^\/+/, "");
|
|
22
|
+
target = `${base}/${trimmed}`;
|
|
23
|
+
} else if (process.env.LANGWATCH_API_KEY) {
|
|
24
|
+
target = base;
|
|
25
|
+
} else {
|
|
26
|
+
target = `${base}/me`;
|
|
27
|
+
}
|
|
28
|
+
console.log(`Opening ${target}`);
|
|
29
|
+
await openInBrowser(target, options.browser);
|
|
30
|
+
};
|
|
31
|
+
async function openInBrowser(url, override) {
|
|
32
|
+
var _a, _b;
|
|
33
|
+
const choice = (_b = (_a = override != null ? override : process.env.LANGWATCH_BROWSER) != null ? _a : process.env.BROWSER) != null ? _b : "";
|
|
34
|
+
if (choice === "none") return;
|
|
35
|
+
try {
|
|
36
|
+
if (!choice || choice === "default") {
|
|
37
|
+
await open(url);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
await open(url, { app: { name: choice } });
|
|
41
|
+
} catch (e) {
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export {
|
|
45
|
+
openCommand
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=open-2IGFGDDB.mjs.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkOGAE7BVQjs = require('./chunk-OGAE7BVQ.js');
|
|
5
|
+
require('./chunk-BRPEG3YQ.js');
|
|
6
|
+
|
|
7
|
+
// src/cli/commands/open.ts
|
|
8
|
+
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
9
|
+
var _open = require('open'); var _open2 = _interopRequireDefault(_open);
|
|
10
|
+
var openCommand = async (options = {}) => {
|
|
11
|
+
const cfg = _chunkOGAE7BVQjs.loadConfig.call(void 0, );
|
|
12
|
+
if (!_chunkOGAE7BVQjs.isLoggedIn.call(void 0, cfg)) {
|
|
13
|
+
console.error(
|
|
14
|
+
_chalk2.default.yellow("Not logged in. Run `langwatch login` first.")
|
|
15
|
+
);
|
|
16
|
+
process.exit(1);
|
|
17
|
+
}
|
|
18
|
+
const base = cfg.control_plane_url.replace(/\/+$/, "");
|
|
19
|
+
let target;
|
|
20
|
+
if (options.path) {
|
|
21
|
+
const trimmed = options.path.replace(/^\/+/, "");
|
|
22
|
+
target = `${base}/${trimmed}`;
|
|
23
|
+
} else if (process.env.LANGWATCH_API_KEY) {
|
|
24
|
+
target = base;
|
|
25
|
+
} else {
|
|
26
|
+
target = `${base}/me`;
|
|
27
|
+
}
|
|
28
|
+
console.log(`Opening ${target}`);
|
|
29
|
+
await openInBrowser(target, options.browser);
|
|
30
|
+
};
|
|
31
|
+
async function openInBrowser(url, override) {
|
|
32
|
+
var _a, _b;
|
|
33
|
+
const choice = (_b = (_a = override != null ? override : process.env.LANGWATCH_BROWSER) != null ? _a : process.env.BROWSER) != null ? _b : "";
|
|
34
|
+
if (choice === "none") return;
|
|
35
|
+
try {
|
|
36
|
+
if (!choice || choice === "default") {
|
|
37
|
+
await _open2.default.call(void 0, url);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
await _open2.default.call(void 0, url, { app: { name: choice } });
|
|
41
|
+
} catch (e) {
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
exports.openCommand = openCommand;
|
|
47
|
+
//# sourceMappingURL=open-TCBDPKWM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/open-TCBDPKWM.js","../src/cli/commands/open.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACA;ACNA,4EAAkB;AAClB,wEAAiB;AAkBV,IAAM,YAAA,EAAc,MAAA,CACzB,QAAA,EAA+C,CAAC,CAAA,EAAA,GAC9B;AAClB,EAAA,MAAM,IAAA,EAAM,yCAAA,CAAW;AACvB,EAAA,GAAA,CAAI,CAAC,yCAAA,GAAc,CAAA,EAAG;AACpB,IAAA,OAAA,CAAQ,KAAA;AAAA,MACN,eAAA,CAAM,MAAA,CAAO,6CAA6C;AAAA,IAC5D,CAAA;AACA,IAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA;AAAA,EAChB;AAEA,EAAA,MAAM,KAAA,EAAO,GAAA,CAAI,iBAAA,CAAkB,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAA;AACrD,EAAA,IAAI,MAAA;AACJ,EAAA,GAAA,CAAI,OAAA,CAAQ,IAAA,EAAM;AAChB,IAAA,MAAM,QAAA,EAAU,OAAA,CAAQ,IAAA,CAAK,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAA;AAC/C,IAAA,OAAA,EAAS,CAAA,EAAA;AACA,EAAA;AACA,IAAA;AACJ,EAAA;AACI,IAAA;AACX,EAAA;AAEY,EAAA;AACN,EAAA;AACR;AAEA;AA7CA,EAAA;AA8CQ,EAAA;AAEF,EAAA;AACA,EAAA;AACG,IAAA;AACG,MAAA;AACN,MAAA;AACF,IAAA;AACM,IAAA;AACA,EAAA;AAER,EAAA;AACF;ADfc;AACA;AACA","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/open-TCBDPKWM.js","sourcesContent":[null,"import chalk from \"chalk\";\nimport open from \"open\";\n\nimport { isLoggedIn, loadConfig } from \"@/cli/utils/governance/config\";\n\n/**\n * `langwatch open [path]` — open the LangWatch app in the user's\n * default browser.\n *\n * No path:\n * - Project mode (LANGWATCH_API_KEY set in the shell or .env): open\n * the control-plane root and let the app route to the matching\n * project home based on the session.\n * - Personal mode: open `/me`, the personal AI tools portal.\n *\n * With path: open `${control_plane_url}/${path}` verbatim. Lets\n * `langwatch open traces`, `langwatch open governance`, etc. work\n * without a dedicated subcommand per surface.\n */\nexport const openCommand = async (\n options: { path?: string; browser?: string } = {},\n): Promise<void> => {\n const cfg = loadConfig();\n if (!isLoggedIn(cfg)) {\n console.error(\n chalk.yellow(\"Not logged in. Run `langwatch login` first.\"),\n );\n process.exit(1);\n }\n\n const base = cfg.control_plane_url.replace(/\\/+$/, \"\");\n let target: string;\n if (options.path) {\n const trimmed = options.path.replace(/^\\/+/, \"\");\n target = `${base}/${trimmed}`;\n } else if (process.env.LANGWATCH_API_KEY) {\n target = base;\n } else {\n target = `${base}/me`;\n }\n\n console.log(`Opening ${target}`);\n await openInBrowser(target, options.browser);\n};\n\nasync function openInBrowser(url: string, override?: string): Promise<void> {\n const choice =\n override ?? process.env.LANGWATCH_BROWSER ?? process.env.BROWSER ?? \"\";\n if (choice === \"none\") return;\n try {\n if (!choice || choice === \"default\") {\n await open(url);\n return;\n }\n await open(url, { app: { name: choice } });\n } catch {\n // URL already on stdout; don't fail because the browser couldn't open.\n }\n}\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
pullCommand,
|
|
3
|
+
pullPrompts
|
|
4
|
+
} from "./chunk-2RZ2OCJO.mjs";
|
|
5
|
+
import "./chunk-DYXCAWQR.mjs";
|
|
6
|
+
import "./chunk-UTTNPIDQ.mjs";
|
|
7
|
+
import "./chunk-U47MQ6CS.mjs";
|
|
8
|
+
import "./chunk-BOOZEXYC.mjs";
|
|
9
|
+
import "./chunk-FG3JQBJB.mjs";
|
|
10
|
+
import "./chunk-KMNF7M4B.mjs";
|
|
11
|
+
import "./chunk-YQNOLNAK.mjs";
|
|
12
|
+
import "./chunk-Y4VNZ6M4.mjs";
|
|
13
|
+
import "./chunk-ZACVIKN5.mjs";
|
|
14
|
+
import "./chunk-SIXSSID3.mjs";
|
|
15
|
+
import "./chunk-QMULACG7.mjs";
|
|
16
|
+
import "./chunk-JOLGDU7Q.mjs";
|
|
17
|
+
import "./chunk-GVFRS2UN.mjs";
|
|
18
|
+
import "./chunk-4AG4UVAE.mjs";
|
|
19
|
+
import "./chunk-YKGQVSLF.mjs";
|
|
20
|
+
import "./chunk-BTBSMJTY.mjs";
|
|
21
|
+
import "./chunk-J3KM7ZO7.mjs";
|
|
22
|
+
import "./chunk-BAX4W3AY.mjs";
|
|
23
|
+
export {
|
|
24
|
+
pullCommand,
|
|
25
|
+
pullPrompts
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=pull-FYB6V5NG.mjs.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkZRI7OCCWjs = require('./chunk-ZRI7OCCW.js');
|
|
5
|
+
require('./chunk-VYQL5AZX.js');
|
|
6
|
+
require('./chunk-NTWYYCHM.js');
|
|
7
|
+
require('./chunk-OGAE7BVQ.js');
|
|
8
|
+
require('./chunk-EF5MIPAR.js');
|
|
9
|
+
require('./chunk-2VVANTLB.js');
|
|
10
|
+
require('./chunk-JHNMPNXQ.js');
|
|
11
|
+
require('./chunk-2PNM3JZ7.js');
|
|
12
|
+
require('./chunk-HLWOZ2EB.js');
|
|
13
|
+
require('./chunk-HQPK4YD5.js');
|
|
14
|
+
require('./chunk-WZTRPR6A.js');
|
|
15
|
+
require('./chunk-Q2JOHFST.js');
|
|
16
|
+
require('./chunk-IXYZL7U2.js');
|
|
17
|
+
require('./chunk-VS22JXRY.js');
|
|
18
|
+
require('./chunk-XRVWR7XT.js');
|
|
19
|
+
require('./chunk-5JRUUJOE.js');
|
|
20
|
+
require('./chunk-AZHZ4NB4.js');
|
|
21
|
+
require('./chunk-C5Y772G7.js');
|
|
22
|
+
require('./chunk-BRPEG3YQ.js');
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
exports.pullCommand = _chunkZRI7OCCWjs.pullCommand; exports.pullPrompts = _chunkZRI7OCCWjs.pullPrompts;
|
|
27
|
+
//# sourceMappingURL=pull-WNAWUNPV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/pull-WNAWUNPV.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACF,uGAAC","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/pull-WNAWUNPV.js"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
pushCommand,
|
|
3
|
+
pushPrompts
|
|
4
|
+
} from "./chunk-TLCLBKRY.mjs";
|
|
5
|
+
import "./chunk-DYXCAWQR.mjs";
|
|
6
|
+
import "./chunk-UTTNPIDQ.mjs";
|
|
7
|
+
import "./chunk-U47MQ6CS.mjs";
|
|
8
|
+
import "./chunk-BOOZEXYC.mjs";
|
|
9
|
+
import "./chunk-FG3JQBJB.mjs";
|
|
10
|
+
import "./chunk-KMNF7M4B.mjs";
|
|
11
|
+
import "./chunk-YQNOLNAK.mjs";
|
|
12
|
+
import "./chunk-Y4VNZ6M4.mjs";
|
|
13
|
+
import "./chunk-ZACVIKN5.mjs";
|
|
14
|
+
import "./chunk-SIXSSID3.mjs";
|
|
15
|
+
import "./chunk-QMULACG7.mjs";
|
|
16
|
+
import "./chunk-JOLGDU7Q.mjs";
|
|
17
|
+
import "./chunk-GVFRS2UN.mjs";
|
|
18
|
+
import "./chunk-4AG4UVAE.mjs";
|
|
19
|
+
import "./chunk-YKGQVSLF.mjs";
|
|
20
|
+
import "./chunk-BTBSMJTY.mjs";
|
|
21
|
+
import "./chunk-J3KM7ZO7.mjs";
|
|
22
|
+
import "./chunk-BAX4W3AY.mjs";
|
|
23
|
+
export {
|
|
24
|
+
pushCommand,
|
|
25
|
+
pushPrompts
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=push-6MZUZIVP.mjs.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkQ74FQ227js = require('./chunk-Q74FQ227.js');
|
|
5
|
+
require('./chunk-VYQL5AZX.js');
|
|
6
|
+
require('./chunk-NTWYYCHM.js');
|
|
7
|
+
require('./chunk-OGAE7BVQ.js');
|
|
8
|
+
require('./chunk-EF5MIPAR.js');
|
|
9
|
+
require('./chunk-2VVANTLB.js');
|
|
10
|
+
require('./chunk-JHNMPNXQ.js');
|
|
11
|
+
require('./chunk-2PNM3JZ7.js');
|
|
12
|
+
require('./chunk-HLWOZ2EB.js');
|
|
13
|
+
require('./chunk-HQPK4YD5.js');
|
|
14
|
+
require('./chunk-WZTRPR6A.js');
|
|
15
|
+
require('./chunk-Q2JOHFST.js');
|
|
16
|
+
require('./chunk-IXYZL7U2.js');
|
|
17
|
+
require('./chunk-VS22JXRY.js');
|
|
18
|
+
require('./chunk-XRVWR7XT.js');
|
|
19
|
+
require('./chunk-5JRUUJOE.js');
|
|
20
|
+
require('./chunk-AZHZ4NB4.js');
|
|
21
|
+
require('./chunk-C5Y772G7.js');
|
|
22
|
+
require('./chunk-BRPEG3YQ.js');
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
exports.pushCommand = _chunkQ74FQ227js.pushCommand; exports.pushPrompts = _chunkQ74FQ227js.pushPrompts;
|
|
27
|
+
//# sourceMappingURL=push-FN2CDHUA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/push-FN2CDHUA.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACF,uGAAC","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/push-FN2CDHUA.js"}
|