langwatch 0.33.2 → 0.35.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/README.md +10 -8
- package/dist/{chunk-YQNOLNAK.mjs → chunk-2O4ILSP5.mjs} +2 -2
- package/dist/{chunk-PVOHCPWP.mjs → chunk-3QHURXIZ.mjs} +149 -7
- package/dist/chunk-3QHURXIZ.mjs.map +1 -0
- package/dist/{chunk-O75KIBCK.js → chunk-53AMPF5E.js} +16 -22
- package/dist/chunk-53AMPF5E.js.map +1 -0
- package/dist/{chunk-GW2YXZYN.js → chunk-EDWIKCYX.js} +130 -48
- package/dist/chunk-EDWIKCYX.js.map +1 -0
- package/dist/{chunk-FLYABTMA.js → chunk-HBVGKWJK.js} +160 -18
- package/dist/chunk-HBVGKWJK.js.map +1 -0
- package/dist/{chunk-2PNM3JZ7.js → chunk-IUSLT65Z.js} +2 -2
- package/dist/{chunk-2PNM3JZ7.js.map → chunk-IUSLT65Z.js.map} +1 -1
- package/dist/{chunk-QAZHQ7SZ.mjs → chunk-KH2GOLFO.mjs} +104 -22
- package/dist/chunk-KH2GOLFO.mjs.map +1 -0
- package/dist/{chunk-GVFRS2UN.mjs → chunk-L5KBRKHS.mjs} +111 -5
- package/dist/chunk-L5KBRKHS.mjs.map +1 -0
- package/dist/chunk-TKSTXX3D.js +239 -0
- package/dist/chunk-TKSTXX3D.js.map +1 -0
- package/dist/{chunk-QGGX6LSK.mjs → chunk-XMAFHMLS.mjs} +10 -16
- package/dist/{chunk-QGGX6LSK.mjs.map → chunk-XMAFHMLS.mjs.map} +1 -1
- package/dist/cli/bundle.js +3768 -0
- package/dist/cli/index.js +10 -1333
- package/dist/{implementation-Cbelb5TK.d.ts → implementation-CMWs8g5L.d.ts} +3 -3
- package/dist/{implementation-Oz1fNv8p.d.mts → implementation-Cv1hPZBQ.d.mts} +3 -3
- package/dist/index.d.mts +263 -17
- package/dist/index.d.ts +263 -17
- package/dist/index.js +4838 -1382
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4808 -1352
- package/dist/index.mjs.map +1 -1
- package/dist/observability-sdk/index.d.mts +6 -6
- package/dist/observability-sdk/index.d.ts +6 -6
- package/dist/observability-sdk/index.js +6 -9
- package/dist/observability-sdk/index.js.map +1 -1
- package/dist/observability-sdk/index.mjs +7 -10
- package/dist/observability-sdk/instrumentation/langchain/index.d.mts +2 -2
- package/dist/observability-sdk/instrumentation/langchain/index.d.ts +2 -2
- package/dist/observability-sdk/instrumentation/langchain/index.js +18 -21
- package/dist/observability-sdk/instrumentation/langchain/index.js.map +1 -1
- package/dist/observability-sdk/instrumentation/langchain/index.mjs +3 -6
- package/dist/observability-sdk/instrumentation/langchain/index.mjs.map +1 -1
- package/dist/observability-sdk/setup/node/index.d.mts +2 -2
- package/dist/observability-sdk/setup/node/index.d.ts +2 -2
- package/dist/observability-sdk/setup/node/index.js +4 -8
- package/dist/observability-sdk/setup/node/index.js.map +1 -1
- package/dist/observability-sdk/setup/node/index.mjs +3 -7
- package/dist/{types-BNbQoBnh.d.mts → types-D-yAkWoC.d.ts} +256 -3
- package/dist/{types-Dmazk5Bk.d.mts → types-DLfhJb38.d.mts} +1 -1
- package/dist/{types-Dmazk5Bk.d.ts → types-DLfhJb38.d.ts} +1 -1
- package/dist/{types-BvCQH8F1.d.ts → types-VOZv9LYO.d.mts} +1 -1
- package/dist/{types-BvCQH8F1.d.mts → types-VOZv9LYO.d.ts} +1 -1
- package/dist/{types-CmMOt86P.d.ts → types-bfBzGB7S.d.mts} +256 -3
- package/package.json +24 -17
- package/dist/add-52KP5RUX.mjs +0 -148
- package/dist/add-52KP5RUX.mjs.map +0 -1
- package/dist/add-7Y6MH725.js +0 -148
- package/dist/add-7Y6MH725.js.map +0 -1
- package/dist/archive-MHACABLP.js +0 -41
- package/dist/archive-MHACABLP.js.map +0 -1
- package/dist/archive-ZKTGGFDU.mjs +0 -41
- package/dist/archive-ZKTGGFDU.mjs.map +0 -1
- package/dist/assign-NCK27ZW5.js +0 -54
- package/dist/assign-NCK27ZW5.js.map +0 -1
- package/dist/assign-W7HMZLLA.mjs +0 -54
- package/dist/assign-W7HMZLLA.mjs.map +0 -1
- package/dist/chunk-26WXZOLY.js +0 -70
- package/dist/chunk-26WXZOLY.js.map +0 -1
- package/dist/chunk-2VVANTLB.js +0 -68
- package/dist/chunk-2VVANTLB.js.map +0 -1
- package/dist/chunk-2XTZ7GBC.mjs +0 -90
- package/dist/chunk-2XTZ7GBC.mjs.map +0 -1
- package/dist/chunk-3BDHATON.js +0 -36
- package/dist/chunk-3BDHATON.js.map +0 -1
- package/dist/chunk-3CPA262Z.mjs +0 -124
- package/dist/chunk-3CPA262Z.mjs.map +0 -1
- package/dist/chunk-43OERQAS.js +0 -96
- package/dist/chunk-43OERQAS.js.map +0 -1
- package/dist/chunk-4F3LCT7U.js +0 -42
- package/dist/chunk-4F3LCT7U.js.map +0 -1
- package/dist/chunk-4VOXYSVX.mjs +0 -196
- package/dist/chunk-4VOXYSVX.mjs.map +0 -1
- package/dist/chunk-5C7DPGRK.mjs +0 -34
- package/dist/chunk-5C7DPGRK.mjs.map +0 -1
- package/dist/chunk-5U4XEWEX.mjs +0 -136
- package/dist/chunk-5U4XEWEX.mjs.map +0 -1
- package/dist/chunk-7YJMKWOH.mjs +0 -80
- package/dist/chunk-7YJMKWOH.mjs.map +0 -1
- package/dist/chunk-A6HNRJNS.js +0 -92
- package/dist/chunk-A6HNRJNS.js.map +0 -1
- package/dist/chunk-AJUCX3LD.mjs +0 -40
- package/dist/chunk-AJUCX3LD.mjs.map +0 -1
- package/dist/chunk-B5TBCV6N.js +0 -96
- package/dist/chunk-B5TBCV6N.js.map +0 -1
- package/dist/chunk-BAX4W3AY.mjs +0 -62
- package/dist/chunk-BAX4W3AY.mjs.map +0 -1
- package/dist/chunk-BGYXA2QV.mjs +0 -96
- package/dist/chunk-BGYXA2QV.mjs.map +0 -1
- package/dist/chunk-BMBIZJCM.js +0 -103
- package/dist/chunk-BMBIZJCM.js.map +0 -1
- package/dist/chunk-BRPEG3YQ.js +0 -62
- package/dist/chunk-BRPEG3YQ.js.map +0 -1
- package/dist/chunk-BU2DXABO.mjs +0 -85
- package/dist/chunk-BU2DXABO.mjs.map +0 -1
- package/dist/chunk-BWALMZEU.mjs +0 -101
- package/dist/chunk-BWALMZEU.mjs.map +0 -1
- package/dist/chunk-C5Y772G7.js +0 -152
- package/dist/chunk-C5Y772G7.js.map +0 -1
- package/dist/chunk-C6ZREBUA.js +0 -300
- package/dist/chunk-C6ZREBUA.js.map +0 -1
- package/dist/chunk-CEJY6QI3.mjs +0 -508
- package/dist/chunk-CEJY6QI3.mjs.map +0 -1
- package/dist/chunk-CLYXJJ6C.js +0 -66
- package/dist/chunk-CLYXJJ6C.js.map +0 -1
- package/dist/chunk-COMOCQA6.mjs +0 -13
- package/dist/chunk-COMOCQA6.mjs.map +0 -1
- package/dist/chunk-DBKEEEEC.js +0 -66
- package/dist/chunk-DBKEEEEC.js.map +0 -1
- package/dist/chunk-DC7HLQID.mjs +0 -51
- package/dist/chunk-DC7HLQID.mjs.map +0 -1
- package/dist/chunk-DTEKJ3UD.mjs +0 -66
- package/dist/chunk-DTEKJ3UD.mjs.map +0 -1
- package/dist/chunk-DZTI6GOB.mjs +0 -36
- package/dist/chunk-DZTI6GOB.mjs.map +0 -1
- package/dist/chunk-E5ZEMGE7.mjs +0 -63
- package/dist/chunk-E5ZEMGE7.mjs.map +0 -1
- package/dist/chunk-EGOB3GIL.mjs +0 -156
- package/dist/chunk-EGOB3GIL.mjs.map +0 -1
- package/dist/chunk-F4FGQZND.mjs +0 -348
- package/dist/chunk-F4FGQZND.mjs.map +0 -1
- package/dist/chunk-FAXQN7S5.js +0 -68
- package/dist/chunk-FAXQN7S5.js.map +0 -1
- package/dist/chunk-FG3JQBJB.mjs +0 -68
- package/dist/chunk-FG3JQBJB.mjs.map +0 -1
- package/dist/chunk-FLYABTMA.js.map +0 -1
- package/dist/chunk-FMPW7DZ3.mjs +0 -80
- package/dist/chunk-FMPW7DZ3.mjs.map +0 -1
- package/dist/chunk-GIT5RVG4.mjs +0 -76
- package/dist/chunk-GIT5RVG4.mjs.map +0 -1
- package/dist/chunk-GVFRS2UN.mjs.map +0 -1
- package/dist/chunk-GW2YXZYN.js.map +0 -1
- package/dist/chunk-H2DTN2TK.mjs +0 -70
- package/dist/chunk-H2DTN2TK.mjs.map +0 -1
- package/dist/chunk-HKFNWLCD.js +0 -663
- package/dist/chunk-HKFNWLCD.js.map +0 -1
- package/dist/chunk-I2663VLP.js +0 -85
- package/dist/chunk-I2663VLP.js.map +0 -1
- package/dist/chunk-I6QOTFMP.mjs +0 -53
- package/dist/chunk-I6QOTFMP.mjs.map +0 -1
- package/dist/chunk-IRBHL4BD.js +0 -80
- package/dist/chunk-IRBHL4BD.js.map +0 -1
- package/dist/chunk-IRVNIJXP.js +0 -51
- package/dist/chunk-IRVNIJXP.js.map +0 -1
- package/dist/chunk-IXYZL7U2.js +0 -65
- package/dist/chunk-IXYZL7U2.js.map +0 -1
- package/dist/chunk-J3KM7ZO7.mjs +0 -152
- package/dist/chunk-J3KM7ZO7.mjs.map +0 -1
- package/dist/chunk-JBEVRIYW.mjs +0 -894
- package/dist/chunk-JBEVRIYW.mjs.map +0 -1
- package/dist/chunk-JOLGDU7Q.mjs +0 -65
- package/dist/chunk-JOLGDU7Q.mjs.map +0 -1
- package/dist/chunk-KT6HZNPV.js +0 -36
- package/dist/chunk-KT6HZNPV.js.map +0 -1
- package/dist/chunk-KUEKEUKX.mjs +0 -36
- package/dist/chunk-KUEKEUKX.mjs.map +0 -1
- package/dist/chunk-KW2W5KVS.mjs +0 -22
- package/dist/chunk-KW2W5KVS.mjs.map +0 -1
- package/dist/chunk-LEJQMDGN.js +0 -894
- package/dist/chunk-LEJQMDGN.js.map +0 -1
- package/dist/chunk-M3WJZUOE.js +0 -13
- package/dist/chunk-M3WJZUOE.js.map +0 -1
- package/dist/chunk-M52LTOUT.js +0 -1433
- package/dist/chunk-M52LTOUT.js.map +0 -1
- package/dist/chunk-MHMMZ653.js +0 -40
- package/dist/chunk-MHMMZ653.js.map +0 -1
- package/dist/chunk-MLGGUNZK.js +0 -90
- package/dist/chunk-MLGGUNZK.js.map +0 -1
- package/dist/chunk-N37FLXEP.js +0 -76
- package/dist/chunk-N37FLXEP.js.map +0 -1
- package/dist/chunk-NC42BNF4.js +0 -63
- package/dist/chunk-NC42BNF4.js.map +0 -1
- package/dist/chunk-NNPQSPYD.js +0 -348
- package/dist/chunk-NNPQSPYD.js.map +0 -1
- package/dist/chunk-NW4HASQV.js +0 -80
- package/dist/chunk-NW4HASQV.js.map +0 -1
- package/dist/chunk-NYCKS3GG.js +0 -20
- package/dist/chunk-NYCKS3GG.js.map +0 -1
- package/dist/chunk-O444ZEPO.mjs +0 -300
- package/dist/chunk-O444ZEPO.mjs.map +0 -1
- package/dist/chunk-O75KIBCK.js.map +0 -1
- package/dist/chunk-OGAE7BVQ.js +0 -67
- package/dist/chunk-OGAE7BVQ.js.map +0 -1
- package/dist/chunk-OJ4URNYC.mjs +0 -54
- package/dist/chunk-OJ4URNYC.mjs.map +0 -1
- package/dist/chunk-ONN7U6WN.js +0 -54
- package/dist/chunk-ONN7U6WN.js.map +0 -1
- package/dist/chunk-OUJ7Z4TK.mjs +0 -103
- package/dist/chunk-OUJ7Z4TK.mjs.map +0 -1
- package/dist/chunk-PVOHCPWP.mjs.map +0 -1
- package/dist/chunk-PXW5C7HA.js +0 -36
- package/dist/chunk-PXW5C7HA.js.map +0 -1
- package/dist/chunk-Q7AHHFC3.mjs +0 -20
- package/dist/chunk-Q7AHHFC3.mjs.map +0 -1
- package/dist/chunk-QAZHQ7SZ.mjs.map +0 -1
- package/dist/chunk-R3PLRKDO.mjs +0 -68
- package/dist/chunk-R3PLRKDO.mjs.map +0 -1
- package/dist/chunk-S4JKLESF.js +0 -124
- package/dist/chunk-S4JKLESF.js.map +0 -1
- package/dist/chunk-SBBELZKD.js +0 -101
- package/dist/chunk-SBBELZKD.js.map +0 -1
- package/dist/chunk-SIIRLUO4.js +0 -136
- package/dist/chunk-SIIRLUO4.js.map +0 -1
- package/dist/chunk-SIXSSID3.mjs +0 -43
- package/dist/chunk-SIXSSID3.mjs.map +0 -1
- package/dist/chunk-SRGYS3N7.js +0 -196
- package/dist/chunk-SRGYS3N7.js.map +0 -1
- package/dist/chunk-SUANHT23.mjs +0 -92
- package/dist/chunk-SUANHT23.mjs.map +0 -1
- package/dist/chunk-SWPMKS2X.mjs +0 -1433
- package/dist/chunk-SWPMKS2X.mjs.map +0 -1
- package/dist/chunk-T7AFY3JF.js +0 -63
- package/dist/chunk-T7AFY3JF.js.map +0 -1
- package/dist/chunk-U47MQ6CS.mjs +0 -67
- package/dist/chunk-U47MQ6CS.mjs.map +0 -1
- package/dist/chunk-U4PE5N4K.js +0 -34
- package/dist/chunk-U4PE5N4K.js.map +0 -1
- package/dist/chunk-VS22JXRY.js +0 -133
- package/dist/chunk-VS22JXRY.js.map +0 -1
- package/dist/chunk-W2BNKVWJ.mjs +0 -36
- package/dist/chunk-W2BNKVWJ.mjs.map +0 -1
- package/dist/chunk-W35QTHIH.mjs +0 -63
- package/dist/chunk-W35QTHIH.mjs.map +0 -1
- package/dist/chunk-W7DAEYAO.js +0 -53
- package/dist/chunk-W7DAEYAO.js.map +0 -1
- package/dist/chunk-WZTRPR6A.js +0 -43
- package/dist/chunk-WZTRPR6A.js.map +0 -1
- package/dist/chunk-X4BHZH7P.js +0 -156
- package/dist/chunk-X4BHZH7P.js.map +0 -1
- package/dist/chunk-X6NSR74I.mjs +0 -663
- package/dist/chunk-X6NSR74I.mjs.map +0 -1
- package/dist/chunk-XHQP55GA.mjs +0 -42
- package/dist/chunk-XHQP55GA.mjs.map +0 -1
- package/dist/chunk-XLJ5GJTK.mjs +0 -42
- package/dist/chunk-XLJ5GJTK.mjs.map +0 -1
- package/dist/chunk-XMAAQWBG.mjs +0 -96
- package/dist/chunk-XMAAQWBG.mjs.map +0 -1
- package/dist/chunk-YBLYQYXL.js +0 -22
- package/dist/chunk-YBLYQYXL.js.map +0 -1
- package/dist/chunk-YF4IFY2X.js +0 -42
- package/dist/chunk-YF4IFY2X.js.map +0 -1
- package/dist/chunk-YIACSQXG.mjs +0 -66
- package/dist/chunk-YIACSQXG.mjs.map +0 -1
- package/dist/chunk-YP4LDCP6.mjs +0 -277
- package/dist/chunk-YP4LDCP6.mjs.map +0 -1
- package/dist/chunk-ZA5BH7IZ.js +0 -277
- package/dist/chunk-ZA5BH7IZ.js.map +0 -1
- package/dist/chunk-ZFFJYYDN.js +0 -508
- package/dist/chunk-ZFFJYYDN.js.map +0 -1
- package/dist/cli/index.d.mts +0 -1
- package/dist/cli/index.d.ts +0 -1
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/index.mjs +0 -1334
- package/dist/cli/index.mjs.map +0 -1
- package/dist/config-QAMXJYXX.js +0 -96
- package/dist/config-QAMXJYXX.js.map +0 -1
- package/dist/config-VPRQKJMJ.mjs +0 -96
- package/dist/config-VPRQKJMJ.mjs.map +0 -1
- package/dist/create-2FRM4WVA.mjs +0 -52
- package/dist/create-2FRM4WVA.mjs.map +0 -1
- package/dist/create-34FEJBYM.js +0 -49
- package/dist/create-34FEJBYM.js.map +0 -1
- package/dist/create-36DDGEPS.js +0 -50
- package/dist/create-36DDGEPS.js.map +0 -1
- package/dist/create-3IUBLMI7.mjs +0 -43
- package/dist/create-3IUBLMI7.mjs.map +0 -1
- package/dist/create-3NCRMEMB.mjs +0 -72
- package/dist/create-3NCRMEMB.mjs.map +0 -1
- package/dist/create-4GFIXF5E.mjs +0 -58
- package/dist/create-4GFIXF5E.mjs.map +0 -1
- package/dist/create-4ODQ66VV.mjs +0 -91
- package/dist/create-4ODQ66VV.mjs.map +0 -1
- package/dist/create-5TFOS2OJ.mjs +0 -42
- package/dist/create-5TFOS2OJ.mjs.map +0 -1
- package/dist/create-7OBPYNWK.js +0 -42
- package/dist/create-7OBPYNWK.js.map +0 -1
- package/dist/create-ACC73K6P.mjs +0 -87
- package/dist/create-ACC73K6P.mjs.map +0 -1
- package/dist/create-DRTKTUVY.js +0 -48
- package/dist/create-DRTKTUVY.js.map +0 -1
- package/dist/create-DYCE3DG5.mjs +0 -75
- package/dist/create-DYCE3DG5.mjs.map +0 -1
- package/dist/create-EASGLRR7.js +0 -58
- package/dist/create-EASGLRR7.js.map +0 -1
- package/dist/create-EBEOJS2H.mjs +0 -50
- package/dist/create-EBEOJS2H.mjs.map +0 -1
- package/dist/create-FJMGFFCM.mjs +0 -92
- package/dist/create-FJMGFFCM.mjs.map +0 -1
- package/dist/create-I5INSZYR.mjs +0 -88
- package/dist/create-I5INSZYR.mjs.map +0 -1
- package/dist/create-IPLFOXBK.js +0 -91
- package/dist/create-IPLFOXBK.js.map +0 -1
- package/dist/create-IZAVSAXI.js +0 -72
- package/dist/create-IZAVSAXI.js.map +0 -1
- package/dist/create-P3647AMU.mjs +0 -94
- package/dist/create-P3647AMU.mjs.map +0 -1
- package/dist/create-PL3BMGB5.js +0 -43
- package/dist/create-PL3BMGB5.js.map +0 -1
- package/dist/create-Q6WY7YSF.js +0 -52
- package/dist/create-Q6WY7YSF.js.map +0 -1
- package/dist/create-RGZUQUZO.js +0 -94
- package/dist/create-RGZUQUZO.js.map +0 -1
- package/dist/create-SPAXSFIN.mjs +0 -88
- package/dist/create-SPAXSFIN.mjs.map +0 -1
- package/dist/create-SYHW6YGS.js +0 -88
- package/dist/create-SYHW6YGS.js.map +0 -1
- package/dist/create-T3V4JRJQ.mjs +0 -71
- package/dist/create-T3V4JRJQ.mjs.map +0 -1
- package/dist/create-TCP2VODP.js +0 -88
- package/dist/create-TCP2VODP.js.map +0 -1
- package/dist/create-TZ76BDWV.mjs +0 -49
- package/dist/create-TZ76BDWV.mjs.map +0 -1
- package/dist/create-UKY4IZ7G.js +0 -87
- package/dist/create-UKY4IZ7G.js.map +0 -1
- package/dist/create-WGU3PIT2.js +0 -71
- package/dist/create-WGU3PIT2.js.map +0 -1
- package/dist/create-WTO4NPVP.js +0 -75
- package/dist/create-WTO4NPVP.js.map +0 -1
- package/dist/create-XPJS3IZT.mjs +0 -48
- package/dist/create-XPJS3IZT.mjs.map +0 -1
- package/dist/create-ZBLKIRIH.js +0 -23
- package/dist/create-ZBLKIRIH.js.map +0 -1
- package/dist/create-ZU4LXLBN.mjs +0 -23
- package/dist/create-ZU4LXLBN.mjs.map +0 -1
- package/dist/create-ZW3J4VVP.js +0 -92
- package/dist/create-ZW3J4VVP.js.map +0 -1
- package/dist/delete-3PMEY5RH.mjs +0 -42
- package/dist/delete-3PMEY5RH.mjs.map +0 -1
- package/dist/delete-6FRZ6LJJ.mjs +0 -61
- package/dist/delete-6FRZ6LJJ.mjs.map +0 -1
- package/dist/delete-7KSO3V3O.js +0 -39
- package/dist/delete-7KSO3V3O.js.map +0 -1
- package/dist/delete-BPKFSXIY.js +0 -52
- package/dist/delete-BPKFSXIY.js.map +0 -1
- package/dist/delete-BSYUEGEX.js +0 -52
- package/dist/delete-BSYUEGEX.js.map +0 -1
- package/dist/delete-DOIVCA44.js +0 -52
- package/dist/delete-DOIVCA44.js.map +0 -1
- package/dist/delete-DSDE42CQ.js +0 -41
- package/dist/delete-DSDE42CQ.js.map +0 -1
- package/dist/delete-E2O6CPEK.mjs +0 -38
- package/dist/delete-E2O6CPEK.mjs.map +0 -1
- package/dist/delete-FLA25Y4H.js +0 -39
- package/dist/delete-FLA25Y4H.js.map +0 -1
- package/dist/delete-G5IYZ6R5.mjs +0 -59
- package/dist/delete-G5IYZ6R5.mjs.map +0 -1
- package/dist/delete-HZIBPYQY.js +0 -61
- package/dist/delete-HZIBPYQY.js.map +0 -1
- package/dist/delete-IRJG3K2J.mjs +0 -41
- package/dist/delete-IRJG3K2J.mjs.map +0 -1
- package/dist/delete-JMX33YI4.mjs +0 -52
- package/dist/delete-JMX33YI4.mjs.map +0 -1
- package/dist/delete-KNAPRRCM.js +0 -44
- package/dist/delete-KNAPRRCM.js.map +0 -1
- package/dist/delete-M7EG5VPB.mjs +0 -39
- package/dist/delete-M7EG5VPB.mjs.map +0 -1
- package/dist/delete-MSAI4E5L.js +0 -52
- package/dist/delete-MSAI4E5L.js.map +0 -1
- package/dist/delete-NH4NQLFP.mjs +0 -57
- package/dist/delete-NH4NQLFP.mjs.map +0 -1
- package/dist/delete-NPKRSFGU.js +0 -57
- package/dist/delete-NPKRSFGU.js.map +0 -1
- package/dist/delete-POZCY7IQ.mjs +0 -52
- package/dist/delete-POZCY7IQ.mjs.map +0 -1
- package/dist/delete-R2HXHQBB.js +0 -42
- package/dist/delete-R2HXHQBB.js.map +0 -1
- package/dist/delete-TSXQER52.js +0 -59
- package/dist/delete-TSXQER52.js.map +0 -1
- package/dist/delete-U655HP5R.mjs +0 -39
- package/dist/delete-U655HP5R.mjs.map +0 -1
- package/dist/delete-UERL72WN.js +0 -38
- package/dist/delete-UERL72WN.js.map +0 -1
- package/dist/delete-UTKUA6Z4.mjs +0 -52
- package/dist/delete-UTKUA6Z4.mjs.map +0 -1
- package/dist/delete-WP3JYGLE.mjs +0 -59
- package/dist/delete-WP3JYGLE.mjs.map +0 -1
- package/dist/delete-X6JLYJCH.js +0 -59
- package/dist/delete-X6JLYJCH.js.map +0 -1
- package/dist/delete-XAUAF53M.mjs +0 -52
- package/dist/delete-XAUAF53M.mjs.map +0 -1
- package/dist/delete-YT3ID37D.mjs +0 -44
- package/dist/delete-YT3ID37D.mjs.map +0 -1
- package/dist/docs-23TMQCLZ.js +0 -77
- package/dist/docs-23TMQCLZ.js.map +0 -1
- package/dist/docs-YG2DQVHD.mjs +0 -77
- package/dist/docs-YG2DQVHD.mjs.map +0 -1
- package/dist/download-F2DXRLJP.mjs +0 -100
- package/dist/download-F2DXRLJP.mjs.map +0 -1
- package/dist/download-PK2DSPEO.js +0 -100
- package/dist/download-PK2DSPEO.js.map +0 -1
- package/dist/duplicate-B7OUVDVB.mjs +0 -45
- package/dist/duplicate-B7OUVDVB.mjs.map +0 -1
- package/dist/duplicate-IGMNYMPS.js +0 -45
- package/dist/duplicate-IGMNYMPS.js.map +0 -1
- package/dist/export-SNBK2AV4.mjs +0 -103
- package/dist/export-SNBK2AV4.mjs.map +0 -1
- package/dist/export-VIEFMUVQ.js +0 -103
- package/dist/export-VIEFMUVQ.js.map +0 -1
- package/dist/get-45ULRVIG.js +0 -49
- package/dist/get-45ULRVIG.js.map +0 -1
- package/dist/get-4NKLZBDS.mjs +0 -85
- package/dist/get-4NKLZBDS.mjs.map +0 -1
- package/dist/get-5HAYNLXN.js +0 -85
- package/dist/get-5HAYNLXN.js.map +0 -1
- package/dist/get-6CNGBUW6.js +0 -71
- package/dist/get-6CNGBUW6.js.map +0 -1
- package/dist/get-6ECLGAOQ.js +0 -67
- package/dist/get-6ECLGAOQ.js.map +0 -1
- package/dist/get-ATD54O5U.js +0 -94
- package/dist/get-ATD54O5U.js.map +0 -1
- package/dist/get-BOXL42XW.mjs +0 -66
- package/dist/get-BOXL42XW.mjs.map +0 -1
- package/dist/get-C6OSKZH3.js +0 -51
- package/dist/get-C6OSKZH3.js.map +0 -1
- package/dist/get-C7SCGYAT.js +0 -70
- package/dist/get-C7SCGYAT.js.map +0 -1
- package/dist/get-CLTPKM7D.mjs +0 -68
- package/dist/get-CLTPKM7D.mjs.map +0 -1
- package/dist/get-CRGWXOZP.mjs +0 -70
- package/dist/get-CRGWXOZP.mjs.map +0 -1
- package/dist/get-D6SHECLX.mjs +0 -51
- package/dist/get-D6SHECLX.mjs.map +0 -1
- package/dist/get-EH37CXA2.js +0 -149
- package/dist/get-EH37CXA2.js.map +0 -1
- package/dist/get-FBWUXIQN.js +0 -76
- package/dist/get-FBWUXIQN.js.map +0 -1
- package/dist/get-FCJFZY5M.js +0 -56
- package/dist/get-FCJFZY5M.js.map +0 -1
- package/dist/get-H3DWTNDA.js +0 -71
- package/dist/get-H3DWTNDA.js.map +0 -1
- package/dist/get-JKRW7OHW.mjs +0 -52
- package/dist/get-JKRW7OHW.mjs.map +0 -1
- package/dist/get-KS3QMH5A.mjs +0 -76
- package/dist/get-KS3QMH5A.mjs.map +0 -1
- package/dist/get-NP6FEVLY.mjs +0 -49
- package/dist/get-NP6FEVLY.mjs.map +0 -1
- package/dist/get-P7W3V3CB.mjs +0 -52
- package/dist/get-P7W3V3CB.mjs.map +0 -1
- package/dist/get-QO7VEIRN.mjs +0 -149
- package/dist/get-QO7VEIRN.mjs.map +0 -1
- package/dist/get-QUXBSMZE.js +0 -52
- package/dist/get-QUXBSMZE.js.map +0 -1
- package/dist/get-ROAE6T5N.mjs +0 -56
- package/dist/get-ROAE6T5N.mjs.map +0 -1
- package/dist/get-RYIZPF25.mjs +0 -71
- package/dist/get-RYIZPF25.mjs.map +0 -1
- package/dist/get-T5BHOLX2.js +0 -68
- package/dist/get-T5BHOLX2.js.map +0 -1
- package/dist/get-TITUKTHE.mjs +0 -71
- package/dist/get-TITUKTHE.mjs.map +0 -1
- package/dist/get-UOZBGGCG.mjs +0 -71
- package/dist/get-UOZBGGCG.mjs.map +0 -1
- package/dist/get-WW7HVSUY.mjs +0 -67
- package/dist/get-WW7HVSUY.mjs.map +0 -1
- package/dist/get-XDNDTHQU.js +0 -71
- package/dist/get-XDNDTHQU.js.map +0 -1
- package/dist/get-YPCHKUHM.js +0 -52
- package/dist/get-YPCHKUHM.js.map +0 -1
- package/dist/get-ZLSHYP57.js +0 -66
- package/dist/get-ZLSHYP57.js.map +0 -1
- package/dist/get-ZXTDMVWX.mjs +0 -94
- package/dist/get-ZXTDMVWX.mjs.map +0 -1
- package/dist/health-LCGP7UDT.js +0 -73
- package/dist/health-LCGP7UDT.js.map +0 -1
- package/dist/health-MCMRR6RQ.mjs +0 -73
- package/dist/health-MCMRR6RQ.mjs.map +0 -1
- package/dist/ingestion-templates-7TLETXIF.mjs +0 -169
- package/dist/ingestion-templates-7TLETXIF.mjs.map +0 -1
- package/dist/ingestion-templates-AT5AKWJB.js +0 -169
- package/dist/ingestion-templates-AT5AKWJB.js.map +0 -1
- package/dist/init-SQ5UUFDM.js +0 -16
- package/dist/init-SQ5UUFDM.js.map +0 -1
- package/dist/init-UGSR2T2P.mjs +0 -16
- package/dist/init-UGSR2T2P.mjs.map +0 -1
- package/dist/init-shell-AEPYN2KV.mjs +0 -72
- package/dist/init-shell-AEPYN2KV.mjs.map +0 -1
- package/dist/init-shell-ULEEQ522.js +0 -72
- package/dist/init-shell-ULEEQ522.js.map +0 -1
- package/dist/install-PQACVMPW.mjs +0 -191
- package/dist/install-PQACVMPW.mjs.map +0 -1
- package/dist/install-UAGU7V2O.js +0 -191
- package/dist/install-UAGU7V2O.js.map +0 -1
- package/dist/list-44QMJJBX.js +0 -82
- package/dist/list-44QMJJBX.js.map +0 -1
- package/dist/list-45DYTLFR.js +0 -86
- package/dist/list-45DYTLFR.js.map +0 -1
- package/dist/list-53O3I5OT.js +0 -53
- package/dist/list-53O3I5OT.js.map +0 -1
- package/dist/list-5RDJDIDE.js +0 -78
- package/dist/list-5RDJDIDE.js.map +0 -1
- package/dist/list-6ZUZ54WZ.mjs +0 -83
- package/dist/list-6ZUZ54WZ.mjs.map +0 -1
- package/dist/list-7TJVXJW3.mjs +0 -75
- package/dist/list-7TJVXJW3.mjs.map +0 -1
- package/dist/list-B5QJP7XO.mjs +0 -122
- package/dist/list-B5QJP7XO.mjs.map +0 -1
- package/dist/list-BJXU6QSV.js +0 -87
- package/dist/list-BJXU6QSV.js.map +0 -1
- package/dist/list-C4TIICKC.mjs +0 -82
- package/dist/list-C4TIICKC.mjs.map +0 -1
- package/dist/list-CH36A6CW.js +0 -80
- package/dist/list-CH36A6CW.js.map +0 -1
- package/dist/list-CSPHALVP.mjs +0 -111
- package/dist/list-CSPHALVP.mjs.map +0 -1
- package/dist/list-CSZZQTHD.mjs +0 -82
- package/dist/list-CSZZQTHD.mjs.map +0 -1
- package/dist/list-DEQI2KOQ.js +0 -72
- package/dist/list-DEQI2KOQ.js.map +0 -1
- package/dist/list-FJ2T2GJT.js +0 -104
- package/dist/list-FJ2T2GJT.js.map +0 -1
- package/dist/list-FRLZQVS6.js +0 -71
- package/dist/list-FRLZQVS6.js.map +0 -1
- package/dist/list-FYKAGJ6V.mjs +0 -87
- package/dist/list-FYKAGJ6V.mjs.map +0 -1
- package/dist/list-G3ASKJUN.mjs +0 -104
- package/dist/list-G3ASKJUN.mjs.map +0 -1
- package/dist/list-GGTQOQA4.js +0 -111
- package/dist/list-GGTQOQA4.js.map +0 -1
- package/dist/list-GL4SXZ2E.js +0 -82
- package/dist/list-GL4SXZ2E.js.map +0 -1
- package/dist/list-GYJNBKUF.mjs +0 -53
- package/dist/list-GYJNBKUF.mjs.map +0 -1
- package/dist/list-J33YMH3T.js +0 -78
- package/dist/list-J33YMH3T.js.map +0 -1
- package/dist/list-J55FWBDR.js +0 -75
- package/dist/list-J55FWBDR.js.map +0 -1
- package/dist/list-JMX456IB.js +0 -75
- package/dist/list-JMX456IB.js.map +0 -1
- package/dist/list-KX4MIAJE.mjs +0 -85
- package/dist/list-KX4MIAJE.mjs.map +0 -1
- package/dist/list-L33MTOSA.mjs +0 -80
- package/dist/list-L33MTOSA.mjs.map +0 -1
- package/dist/list-LKF24T6D.js +0 -83
- package/dist/list-LKF24T6D.js.map +0 -1
- package/dist/list-M3IEVLUD.mjs +0 -86
- package/dist/list-M3IEVLUD.mjs.map +0 -1
- package/dist/list-M77G2Y5F.js +0 -76
- package/dist/list-M77G2Y5F.js.map +0 -1
- package/dist/list-MSIHIWG5.js +0 -80
- package/dist/list-MSIHIWG5.js.map +0 -1
- package/dist/list-N4LN7RVG.mjs +0 -90
- package/dist/list-N4LN7RVG.mjs.map +0 -1
- package/dist/list-OZDM5FA6.mjs +0 -75
- package/dist/list-OZDM5FA6.mjs.map +0 -1
- package/dist/list-PKDYDBNU.js +0 -75
- package/dist/list-PKDYDBNU.js.map +0 -1
- package/dist/list-PYQZKUBA.js +0 -85
- package/dist/list-PYQZKUBA.js.map +0 -1
- package/dist/list-QZZLS5TP.js +0 -78
- package/dist/list-QZZLS5TP.js.map +0 -1
- package/dist/list-R4SZ3SMF.mjs +0 -78
- package/dist/list-R4SZ3SMF.mjs.map +0 -1
- package/dist/list-TAFBD6EY.mjs +0 -71
- package/dist/list-TAFBD6EY.mjs.map +0 -1
- package/dist/list-VJL5TZ4T.mjs +0 -72
- package/dist/list-VJL5TZ4T.mjs.map +0 -1
- package/dist/list-VKNEMSY4.mjs +0 -80
- package/dist/list-VKNEMSY4.mjs.map +0 -1
- package/dist/list-WJNJNMQC.mjs +0 -75
- package/dist/list-WJNJNMQC.mjs.map +0 -1
- package/dist/list-XRW6CP7E.js +0 -90
- package/dist/list-XRW6CP7E.js.map +0 -1
- package/dist/list-YAR5NB2Q.mjs +0 -76
- package/dist/list-YAR5NB2Q.mjs.map +0 -1
- package/dist/list-YUYYYQ7E.js +0 -122
- package/dist/list-YUYYYQ7E.js.map +0 -1
- package/dist/list-Z3YOLIK2.mjs +0 -78
- package/dist/list-Z3YOLIK2.mjs.map +0 -1
- package/dist/list-Z6OG6DLD.mjs +0 -78
- package/dist/list-Z6OG6DLD.mjs.map +0 -1
- package/dist/login-7N3FOJOH.mjs +0 -280
- package/dist/login-7N3FOJOH.mjs.map +0 -1
- package/dist/login-JC4YGO3M.js +0 -280
- package/dist/login-JC4YGO3M.js.map +0 -1
- package/dist/logout-device-J325Y37F.js +0 -39
- package/dist/logout-device-J325Y37F.js.map +0 -1
- package/dist/logout-device-JOPQKPFL.mjs +0 -39
- package/dist/logout-device-JOPQKPFL.mjs.map +0 -1
- package/dist/open-2IGFGDDB.mjs +0 -47
- package/dist/open-2IGFGDDB.mjs.map +0 -1
- package/dist/open-TCBDPKWM.js +0 -47
- package/dist/open-TCBDPKWM.js.map +0 -1
- package/dist/pull-GBTWGZX6.js +0 -27
- package/dist/pull-GBTWGZX6.js.map +0 -1
- package/dist/pull-VHGPIULB.mjs +0 -27
- package/dist/pull-VHGPIULB.mjs.map +0 -1
- package/dist/push-5CNRDWJU.js +0 -27
- package/dist/push-5CNRDWJU.js.map +0 -1
- package/dist/push-ZPL2UNNV.mjs +0 -27
- package/dist/push-ZPL2UNNV.mjs.map +0 -1
- package/dist/query-5R2V74N2.js +0 -122
- package/dist/query-5R2V74N2.js.map +0 -1
- package/dist/query-PRJT7GQY.mjs +0 -122
- package/dist/query-PRJT7GQY.mjs.map +0 -1
- package/dist/records-add-E3S34UNT.js +0 -98
- package/dist/records-add-E3S34UNT.js.map +0 -1
- package/dist/records-add-P2FTGDNL.mjs +0 -98
- package/dist/records-add-P2FTGDNL.mjs.map +0 -1
- package/dist/records-delete-GCB6S4F3.js +0 -46
- package/dist/records-delete-GCB6S4F3.js.map +0 -1
- package/dist/records-delete-TZATYNEX.mjs +0 -46
- package/dist/records-delete-TZATYNEX.mjs.map +0 -1
- package/dist/records-list-AI5CT26J.mjs +0 -89
- package/dist/records-list-AI5CT26J.mjs.map +0 -1
- package/dist/records-list-XXOWLCZT.js +0 -89
- package/dist/records-list-XXOWLCZT.js.map +0 -1
- package/dist/records-update-TK3HWM2C.mjs +0 -53
- package/dist/records-update-TK3HWM2C.mjs.map +0 -1
- package/dist/records-update-ZVKQVZHW.js +0 -53
- package/dist/records-update-ZVKQVZHW.js.map +0 -1
- package/dist/remove-DPTA2GMZ.js +0 -114
- package/dist/remove-DPTA2GMZ.js.map +0 -1
- package/dist/remove-XAF4RTKP.mjs +0 -114
- package/dist/remove-XAF4RTKP.mjs.map +0 -1
- package/dist/rename-AAQZTQCF.mjs +0 -42
- package/dist/rename-AAQZTQCF.mjs.map +0 -1
- package/dist/rename-YG4P5PRQ.js +0 -42
- package/dist/rename-YG4P5PRQ.js.map +0 -1
- package/dist/request-increase-FLFEPGIC.js +0 -37
- package/dist/request-increase-FLFEPGIC.js.map +0 -1
- package/dist/request-increase-NHM27JXH.mjs +0 -37
- package/dist/request-increase-NHM27JXH.mjs.map +0 -1
- package/dist/restore-6TIHZUPS.js +0 -73
- package/dist/restore-6TIHZUPS.js.map +0 -1
- package/dist/restore-VJDHJ7Y3.mjs +0 -73
- package/dist/restore-VJDHJ7Y3.mjs.map +0 -1
- package/dist/revoke-7HUYDQZ6.mjs +0 -44
- package/dist/revoke-7HUYDQZ6.mjs.map +0 -1
- package/dist/revoke-OHOLPKBQ.js +0 -44
- package/dist/revoke-OHOLPKBQ.js.map +0 -1
- package/dist/revoke-OQQ56B2Z.js +0 -41
- package/dist/revoke-OQQ56B2Z.js.map +0 -1
- package/dist/revoke-UUVPYOPV.mjs +0 -41
- package/dist/revoke-UUVPYOPV.mjs.map +0 -1
- package/dist/rotate-D2QBTQC7.js +0 -52
- package/dist/rotate-D2QBTQC7.js.map +0 -1
- package/dist/rotate-MU4L6YPU.mjs +0 -52
- package/dist/rotate-MU4L6YPU.mjs.map +0 -1
- package/dist/run-2KISYEZP.js +0 -83
- package/dist/run-2KISYEZP.js.map +0 -1
- package/dist/run-ARQ7O43R.js +0 -142
- package/dist/run-ARQ7O43R.js.map +0 -1
- package/dist/run-D4YIYYTE.mjs +0 -144
- package/dist/run-D4YIYYTE.mjs.map +0 -1
- package/dist/run-GC3RJI74.mjs +0 -131
- package/dist/run-GC3RJI74.mjs.map +0 -1
- package/dist/run-HPDENKM2.js +0 -77
- package/dist/run-HPDENKM2.js.map +0 -1
- package/dist/run-NRODARJS.js +0 -144
- package/dist/run-NRODARJS.js.map +0 -1
- package/dist/run-PC5KFO4B.mjs +0 -142
- package/dist/run-PC5KFO4B.mjs.map +0 -1
- package/dist/run-URPG3S24.mjs +0 -83
- package/dist/run-URPG3S24.mjs.map +0 -1
- package/dist/run-V3O4TEQ2.js +0 -131
- package/dist/run-V3O4TEQ2.js.map +0 -1
- package/dist/run-WWBEHGYG.mjs +0 -77
- package/dist/run-WWBEHGYG.mjs.map +0 -1
- package/dist/search-L7IAXT4D.mjs +0 -108
- package/dist/search-L7IAXT4D.mjs.map +0 -1
- package/dist/search-M34FSP25.js +0 -108
- package/dist/search-M34FSP25.js.map +0 -1
- package/dist/set-5YJE4NOS.mjs +0 -105
- package/dist/set-5YJE4NOS.mjs.map +0 -1
- package/dist/set-6QKEZXES.js +0 -59
- package/dist/set-6QKEZXES.js.map +0 -1
- package/dist/set-ECD6VHQI.js +0 -105
- package/dist/set-ECD6VHQI.js.map +0 -1
- package/dist/set-X7XDEFU5.mjs +0 -59
- package/dist/set-X7XDEFU5.mjs.map +0 -1
- package/dist/status-6UGUEKSC.mjs +0 -120
- package/dist/status-6UGUEKSC.mjs.map +0 -1
- package/dist/status-DOPST7HX.js +0 -120
- package/dist/status-DOPST7HX.js.map +0 -1
- package/dist/status-GSPWZ255.mjs +0 -56
- package/dist/status-GSPWZ255.mjs.map +0 -1
- package/dist/status-M4GI2HR3.js +0 -56
- package/dist/status-M4GI2HR3.js.map +0 -1
- package/dist/status-PXWG34DC.mjs +0 -153
- package/dist/status-PXWG34DC.mjs.map +0 -1
- package/dist/status-TA4AIE6X.js +0 -153
- package/dist/status-TA4AIE6X.js.map +0 -1
- package/dist/sync-IVZ5VCKT.js +0 -132
- package/dist/sync-IVZ5VCKT.js.map +0 -1
- package/dist/sync-JRLKLXA6.mjs +0 -132
- package/dist/sync-JRLKLXA6.mjs.map +0 -1
- package/dist/tail-CKK6GFNI.js +0 -108
- package/dist/tail-CKK6GFNI.js.map +0 -1
- package/dist/tail-D26CEKSH.mjs +0 -108
- package/dist/tail-D26CEKSH.mjs.map +0 -1
- package/dist/unset-GLPKW2JV.js +0 -107
- package/dist/unset-GLPKW2JV.js.map +0 -1
- package/dist/unset-WSH675SN.mjs +0 -107
- package/dist/unset-WSH675SN.mjs.map +0 -1
- package/dist/update-3EI6SA7W.mjs +0 -65
- package/dist/update-3EI6SA7W.mjs.map +0 -1
- package/dist/update-3YLN3YXF.mjs +0 -83
- package/dist/update-3YLN3YXF.mjs.map +0 -1
- package/dist/update-4DSTSBSA.js +0 -51
- package/dist/update-4DSTSBSA.js.map +0 -1
- package/dist/update-4IRKH5VI.js +0 -48
- package/dist/update-4IRKH5VI.js.map +0 -1
- package/dist/update-62D6MLES.mjs +0 -79
- package/dist/update-62D6MLES.mjs.map +0 -1
- package/dist/update-7YUF7UJG.js +0 -61
- package/dist/update-7YUF7UJG.js.map +0 -1
- package/dist/update-AS7FCV5B.mjs +0 -61
- package/dist/update-AS7FCV5B.mjs.map +0 -1
- package/dist/update-BNJEOWPP.mjs +0 -71
- package/dist/update-BNJEOWPP.mjs.map +0 -1
- package/dist/update-CU4Z6XQR.mjs +0 -106
- package/dist/update-CU4Z6XQR.mjs.map +0 -1
- package/dist/update-DSRRR6J7.js +0 -76
- package/dist/update-DSRRR6J7.js.map +0 -1
- package/dist/update-E6BQSBVN.mjs +0 -63
- package/dist/update-E6BQSBVN.mjs.map +0 -1
- package/dist/update-ELVULBIN.mjs +0 -63
- package/dist/update-ELVULBIN.mjs.map +0 -1
- package/dist/update-EWBAZK64.mjs +0 -48
- package/dist/update-EWBAZK64.mjs.map +0 -1
- package/dist/update-EWS5LIXP.mjs +0 -51
- package/dist/update-EWS5LIXP.mjs.map +0 -1
- package/dist/update-G2LS465K.js +0 -65
- package/dist/update-G2LS465K.js.map +0 -1
- package/dist/update-GEKVSLEY.js +0 -79
- package/dist/update-GEKVSLEY.js.map +0 -1
- package/dist/update-GFAZJBC2.mjs +0 -75
- package/dist/update-GFAZJBC2.mjs.map +0 -1
- package/dist/update-JJDVXFLD.mjs +0 -48
- package/dist/update-JJDVXFLD.mjs.map +0 -1
- package/dist/update-JXSPKDKA.mjs +0 -66
- package/dist/update-JXSPKDKA.mjs.map +0 -1
- package/dist/update-KDJ64TZ2.js +0 -48
- package/dist/update-KDJ64TZ2.js.map +0 -1
- package/dist/update-MF56UHWY.js +0 -106
- package/dist/update-MF56UHWY.js.map +0 -1
- package/dist/update-MTHJCYKT.js +0 -63
- package/dist/update-MTHJCYKT.js.map +0 -1
- package/dist/update-NGJUN2VK.mjs +0 -76
- package/dist/update-NGJUN2VK.mjs.map +0 -1
- package/dist/update-SFGJMGKD.js +0 -75
- package/dist/update-SFGJMGKD.js.map +0 -1
- package/dist/update-SZNXZ7Y3.js +0 -83
- package/dist/update-SZNXZ7Y3.js.map +0 -1
- package/dist/update-UJYDVNOF.js +0 -63
- package/dist/update-UJYDVNOF.js.map +0 -1
- package/dist/update-XNHGNAQL.js +0 -66
- package/dist/update-XNHGNAQL.js.map +0 -1
- package/dist/update-YA6C47QH.js +0 -71
- package/dist/update-YA6C47QH.js.map +0 -1
- package/dist/upload-FXQRYNQC.js +0 -80
- package/dist/upload-FXQRYNQC.js.map +0 -1
- package/dist/upload-LERNY5WA.mjs +0 -80
- package/dist/upload-LERNY5WA.mjs.map +0 -1
- package/dist/versions-FI44YDAP.js +0 -85
- package/dist/versions-FI44YDAP.js.map +0 -1
- package/dist/versions-HP6HA2TT.mjs +0 -85
- package/dist/versions-HP6HA2TT.mjs.map +0 -1
- package/dist/whoami-EI52YRCH.js +0 -30
- package/dist/whoami-EI52YRCH.js.map +0 -1
- package/dist/whoami-KGRA4QEY.mjs +0 -30
- package/dist/whoami-KGRA4QEY.mjs.map +0 -1
- package/dist/wrap-G3UCHRFN.mjs +0 -34
- package/dist/wrap-G3UCHRFN.mjs.map +0 -1
- package/dist/wrap-SJHGCERM.js +0 -34
- package/dist/wrap-SJHGCERM.js.map +0 -1
- /package/dist/{chunk-YQNOLNAK.mjs.map → chunk-2O4ILSP5.mjs.map} +0 -0
|
@@ -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 {\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":";;;;;;;;;;;;;;AACA,SAAS,2BAA2B;AAapC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAiBP,IAAM,0BAA0B,oBAAI,IAAY;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,2BAAN,cAAuC,oBAAoB;AAAA,EAA3D;AAAA;AACL,gBAAO;AACP,kBAAS,mBAAmB,qCAAqC;AAEjE,SAAQ,QAAmD,CAAC;AAC5D,SAAQ,WAA+C,CAAC;AACxD,SAAQ,UAA4C,CAAC;AACrD,SAAQ,aAAa,oBAAI,IAAY;AAAA;AAAA,EAE7B,aAAa,MAAiB;AAxDxC;AAyDI,UAAM,EAAE,OAAO,aAAa,YAAY,KAAK,IAAI;AACjD,SAAK,SAAS,KAAK,IAAI;AAGvB,QAAI,QAAQ,YAAY,IAAI,GAAG;AAC7B,WAAK,QAAQ,KAAK,IAAI;AACtB;AAAA,IACF;AACA,QAAI,KAAK,WAAW,IAAI,KAAK,EAAG;AAChC,SAAK,WAAW,IAAI,KAAK;AAEzB,UAAM,YAAY;AAAA,MAChB;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AACA,UAAM,aAAa,cAAc,KAAK,MAAM,WAAW,IAAI;AAC3D,UAAM,QAAQ,aACV,CAAC,EAAE,SAAS,WAAW,YAAY,EAAE,CAAC,IACtC;AAEJ,UAAM,EAAE,MAAM,KAAK,IAAI,kBAAkB;AAAA,MACvC,SAAS,KAAK;AAAA,MACd,MAAM,KAAK;AAAA,MACX,YAAY,KAAK;AAAA,MACjB,UAAU,KAAK;AAAA,MACf,MAAM,KAAK;AAAA,MACX,QAAQ,KAAK;AAAA,IACf,CAAC;AAED,UAAM,OAAO,KAAK,OAAO,UAAU,MAAM,EAAE,MAAM,GAAG,SAAS;AAC7D,SAAK,QAAQ,IAAI;AAEjB,SAAI,UAAK,SAAL,mBAAW;AACb,WAAK,aAAa,gCAAgC,KAAK,KAAK,MAAM,GAAG,EAAE,CAAC;AAE1E,QAAI,mBAAmB,KAAK,KAAK,UAAU,QAAQ;AACjD,YAAM,IAAS,KAAK;AACpB,UAAI,KAAK,OAAO,MAAM,YAAY,UAAU,KAAK,WAAW,GAAG;AAC7D,aAAK,SAAS,EAAE,MAAM,EAAE,KAAK;AAAA,MAC/B,OAAO;AACL,aAAK,SAAS,CAAC;AAAA,MACjB;AAAA,IACF;AAEA,QAAI,KAAK,aAAa;AACpB,WAAK;AAAA,QACH,OAAO;AAAA,UACL,OAAO,QAAQ,KAAK,WAAW,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM;AAAA,YAC/C,wCAAwC,CAAC;AAAA,YACzC,oBAAoB,CAAC;AAAA,UACvB,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAEA,QAAI,KAAK,UAAU;AACjB,sBAAgB,MAAM,KAAK,UAAU,KAAK,WAAW;AACrD,6BAAuB,MAAM,KAAK,QAAQ;AAC1C,WAAK,cAAc,iCAAiC,KAAK,QAAQ,CAAC;AAAA,IACpE;AAEA,SAAK,MAAM,KAAK,IAAI;AAAA,EACtB;AAAA,EAEQ,UACN,OACA,KASA;AACA,UAAM,OAAO,KAAK,MAAM,KAAK;AAC7B,QAAI,CAAC,KAAM;AAEX;AAAA,MACE;AAAA,MACA,IAAI;AAAA,MACJ;AAAA,MACA,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAEA,QAAI,IAAI,KAAK;AACX,WAAK,gBAAgB,IAAI,GAAG;AAC5B,WAAK,UAAU,EAAE,MAAM,eAAe,OAAO,SAAS,IAAI,IAAI,QAAQ,CAAC;AAAA,IACzE,WAAW,oBAAoB,KAAK,IAAI,WAAW,QAAW;AAC5D,WAAK,UAAU,IAAI,MAAa;AAAA,IAClC;AAEA,SAAK,IAAI;AAET,WAAO,KAAK,MAAM,KAAK;AACvB,WAAO,KAAK,SAAS,KAAK;AAC1B,WAAO,KAAK,QAAQ,KAAK;AACzB,SAAK,WAAW,OAAO,KAAK;AAAA,EAC9B;AAAA,EAEA,MAAM,eACJ,KACA,SACA,OACA,aACA,aACA,MACA,UACA,MACe;AACf,UAAM,QAAQ,mBAAmB,KAAK,UAClC;AAAA,MACE,MAAM;AAAA,MACN,OAAO,QAAQ,IAAI,CAAC,OAAO,EAAE,MAAM,QAAQ,OAAO,EAAE,EAAE;AAAA,IACxD,IACA;AAEJ,SAAK,aAAa;AAAA,MAChB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,qBACJ,KACA,UACA,OACA,aACA,aACA,MACA,UACA,MACe;AACf,UAAM,QAAQ,mBAAmB,IAC7B;AAAA,MACE,MAAM;AAAA,MACN,OAAO,SAAS,QAAQ,4BAA4B;AAAA,IACtD,IACA;AAEJ,SAAK,aAAa;AAAA,MAChB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,aACJ,UACA,OACA,aACe;AAlOnB;AAmOI,UAAM,OAAO,KAAK,MAAM,KAAK;AAC7B,UAAM,MAAM,cAAS,cAAT,mBAA4B;AAOxC,QAAI,QAAQ,IAAI;AACd,WAAK,cAAc;AAAA,QACjB,+BAA8B,QAAG,iBAAH,YAAmB;AAAA,QACjD,mCAAkC,QAAG,qBAAH,YAAuB;AAAA,QACzD,8BAA6B,QAAG,gBAAH,YAAkB;AAAA,MACjD,CAAC;AAAA,IACH;AAEA,UAAM,UAAU,oBAAoB,IAChC,SAAS,YAAY,KAAK,EAAE,IAAI,CAAC,MAAM;AACrC,UAAI,aAAa,KAAK,EAAE,SAAS;AAC/B,eAAO,6BAA6B;AAAA,UACjC,EAAqB;AAAA,QACxB,CAAC;AAAA,MACH,WAAW,UAAU,KAAK,EAAE,MAAM;AAChC,eAAO,EAAE;AAAA,MACX;AACA,aAAO;AAAA,IACT,CAAC,IACD;AAEJ,SAAK,UAAU,OAAO;AAAA,MACpB,QAAQ;AAAA,MACR,OAAO;AAAA,MACP;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,eACJ,KACA,OACA,aACe;AACf,SAAK,UAAU,OAAO,EAAE,KAAK,OAAO,kBAAkB,YAAY,CAAC;AAAA,EACrE;AAAA,EAEA,MAAM,iBACJ,OACA,QACA,OACA,aACA,MACA,UACA,UACA,MACe;AACf,SAAK,aAAa;AAAA,MAChB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,mBAAmB,IAAI,SAAS;AAAA,IACzC,CAAC;AAED,QAAI,UAAU;AACZ,YAAM,OAAO,KAAK,MAAM,KAAK;AAC7B,UAAI,KAAM,MAAK,aAAa,gCAAgC,QAAQ;AAAA,IACtE;AAAA,EACF;AAAA,EAEA,MAAM,eACJ,QACA,OACA,aACe;AACf,SAAK,UAAU,OAAO,EAAE,QAAQ,OAAO,kBAAkB,YAAY,CAAC;AAAA,EACxE;AAAA,EAEA,MAAM,iBACJ,KACA,OACA,aACA,MACA,QACe;AACf,SAAK,UAAU,OAAO;AAAA,MACpB;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,IAAI;AAAA,IACN,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,gBACJ,MACA,OACA,OACA,aACA,MACA,UACA,MACe;AACf,SAAK,aAAa;AAAA,MAChB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,mBAAmB,IAAI,EAAE,MAAM,QAAQ,OAAO,MAAM,IAAI;AAAA,IACjE,CAAC;AAED,UAAM,OAAO,KAAK,MAAM,KAAK;AAC7B,QAAI,MAAM;AACR,WAAK,cAAc;AAAA,QACjB,8BAA8B;AAAA,QAC9B,qCAAqC;AAAA,MACvC,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,MAAM,cACJ,QACA,OACA,aACe;AACf,SAAK,UAAU,OAAO;AAAA,MACpB,QAAQ,oBAAoB,IACxB,EAAE,MAAM,QAAQ,OAAO,OAAO,IAC9B;AAAA,MACJ,OAAO;AAAA,MACP;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,gBACJ,KACA,OACA,aACA,MACe;AACf,SAAK,UAAU,OAAO,EAAE,KAAK,OAAO,mBAAmB,aAAa,KAAK,CAAC;AAAA,EAC5E;AAAA,EAEA,MAAM,qBACJ,WACA,OACA,OACA,aACA,MACA,UACA,MACA;AACA,SAAK,aAAa;AAAA,MAChB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,mBAAmB,IAAI,EAAE,MAAM,QAAQ,OAAO,MAAM,IAAI;AAAA,IACjE,CAAC;AAED,UAAM,OAAO,KAAK,MAAM,KAAK;AAC7B,QAAI,MAAM;AACR,WAAK,cAAc;AAAA,QACjB,8BAA8B;AAAA,QAC9B,qCAAqC;AAAA,MACvC,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,MAAM,mBACJ,WACA,OACA,aACA,MACA;AACA,UAAM,OAAO,KAAK,MAAM,KAAK;AAE7B,QAAI,QAAQ,oBAAoB,GAAG;AACjC,WAAK,UAAU,SAAS;AAAA,IAC1B;AAEA,QAAI,QAAQ,mBAAmB,GAAG;AAChC,WAAK;AAAA,QACH,UAAU,IAAI,CAAC,cAAc;AAAA,UAC3B,aAAa,SAAS,SAAS;AAAA,UAC/B,UAAU,SAAS,SAAS;AAAA,UAC5B,SAAS,SAAS;AAAA,QACpB,EAAE;AAAA,MACJ;AAAA,IACF;AAEA,SAAK,UAAU,OAAO,EAAE,OAAO,sBAAsB,aAAa,KAAK,CAAC;AAAA,EAC1E;AAAA,EAEA,MAAM,qBACJ,KACA,OACA,aACA,MACA;AACA,SAAK,UAAU,OAAO;AAAA,MACpB;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,kBACJ,SACA,OACA,aACA,MACe;AACf,UAAM,OAAO,KAAK,MAAM,KAAK;AAC7B,QAAI,MAAM;AACR,wBAAkB,MAAM,qBAAqB,OAAO,aAAa,IAAI;AACrE,WAAK,QAAQ,OAAO;AAAA,IACtB;AAAA,EACF;AAAA,EAEA,MAAM,eACJ,QACA,OACA,aACA,MACe;AACf,SAAK,UAAU,OAAO;AAAA,MACpB,QAAQ,oBAAoB,IACxB,EAAE,MAAM,QAAQ,OAAO,OAAO,aAAa,IAC3C;AAAA,MACJ,OAAO;AAAA,MACP;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,SAAS,6BACd,UACe;AACf,QAAM,MAAqB,CAAC;AAC5B,aAAW,WAAW,UAAU;AAC9B,QAAI;AAAA,MACF,4BAA4B,OAA0C;AAAA,IACxE;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,4BACP,SACa;AAtef;AAueE,MAAI,OAA4B;AAEhC,QAAM,UAAW,QAAgB;AACjC,MAAI,YAAY,QAAS,QAAO;AAAA,WACvB,YAAY,KAAM,QAAO;AAAA,WACzB,YAAY,SAAU,QAAO;AAAA,WAC7B,YAAY,WAAY,QAAO;AAAA,WAC/B,YAAY,OAAQ,QAAO;AAAA,OAC/B;AACH,UACG,wCAAiB,aAAjB,sCAAkC,aACnC,aAAQ,OAAR,mBAAa,QAAQ,GAAG,SAAS,QAAO,gBACxC;AACA,aAAO;AAAA,IACT,aACG,wCAAiB,aAAjB,sCAAkC,UACnC,aAAQ,OAAR,mBAAa,QAAQ,GAAG,SAAS,QAAO,aACxC;AACA,aAAO;AAAA,IACT,aACG,wCAAiB,aAAjB,sCAAkC,cACnC,aAAQ,OAAR,mBAAa,QAAQ,GAAG,SAAS,QAAO,iBACxC;AACA,aAAO;AAAA,IACT,aACG,wCAAiB,aAAjB,sCAAkC,gBACnC,aAAQ,OAAR,mBAAa,QAAQ,GAAG,SAAS,QAAO,mBACxC;AACA,aAAO;AAAA,IACT,aACG,wCAAiB,aAAjB,sCAAkC,YACnC,aAAQ,OAAR,mBAAa,QAAQ,GAAG,SAAS,QAAO,eACxC;AACA,aAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,UACJ,OAAQ,QAAgB,YAAY,WAC9B,QAAgB,UACjB,QAAgB,WAAW,OAC5B,OACA,MAAM,QAAS,QAAgB,OAAO,IACrC,QAAgB,QAAQ;AAAA,IACvB,CAAC,OACC,uBAAG,UAAS,SACR,EAAE,MAAM,QAAQ,MAAM,EAAE,KAAK,KAC7B,uBAAG,UAAS,cACZ,EAAE,MAAM,aAAa,WAAW,EAAE,UAAU,IAC5C,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,CAAC,EAAE;AAAA,EAChD,IACA,KAAK,UAAW,QAAgB,OAAO;AAE7C,QAAM,eAAgB,QAAgB;AAEtC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,KACI,gBACJ,OAAO,iBAAiB,YACxB,OAAO,KAAK,YAAY,EAAE,SAAS,IAC/B,EAAE,eAAe,aAAa,IAC9B,CAAC;AAET;AAEA,SAAS,UAAU,YAAiC;AAClD,QAAM,KAAM,yCAAoB;AAChC,MAAI,MAAM,QAAQ,EAAE,KAAK,GAAG,OAAQ,QAAO,OAAO,GAAG,GAAG,SAAS,CAAC,CAAC;AACnE,QAAM,KAAM,yCAAoB;AAChC,MAAI,MAAM,QAAQ,EAAE,KAAK,GAAG,OAAQ,QAAO,OAAO,GAAG,GAAG,SAAS,CAAC,CAAC;AAEnE,SAAO;AACT;AAEA,SAAS,QAAQ,KAAa,MAAM,KAAa;AAC/C,SAAO,OAAO,QAAQ,YAAY,IAAI,SAAS,MAC3C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,WACxB;AACN;AAEA,SAAS,aAAa,GAAgC;AACpD,MAAI,OAAO,MAAM,UAAU;AACzB,UAAM,IAAI,EAAE,KAAK;AACjB,WAAO,IAAI,QAAQ,GAAG,GAAG,IAAI;AAAA,EAC/B;AACA,SAAO;AACT;AAEA,SAAS,QAAQ,YAAyB,MAAiB;AAhkB3D;AAikBE,QAAM,MAAM,UAAU,UAAU;AAChC,SACE,IAAI,WAAW,cAAc,OAC5B,kCAAM,SAAS,wBAAf,YAAsC;AAE3C;AAEA,SAAS,oBACP,OACuC;AACvC,MAAI,UAAU,OAAQ,QAAO;AAC7B,MAAI,UAAU,KAAM,QAAO,KAAK,UAAU,IAAI;AAC9C,MACE,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,OAAO,UAAU;AAEjB,WAAO;AAGT,QAAM,eAAe,kBAAkB,MAAM,EAAE,UAAU,KAAY;AACrE,MAAI,MAAM,QAAQ,KAAK,KAAK,aAAa,SAAS;AAChD,WAAO,KAAK,UAAU,EAAE,MAAM,iBAAiB,OAAO,aAAa,KAAK,CAAC;AAAA,EAC3E;AAEA,MAAI;AACF,UAAM,OAAO,oBAAI,QAAQ;AACzB,UAAM,OAAO,KAAK,UAAU,OAAc,CAAC,GAAG,QAAQ;AACpD,UAAI,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAC3C,YAAI,KAAK,IAAI,GAAG,EAAG,QAAO;AAC1B,aAAK,IAAI,GAAG;AAAA,MACd;AACA,aAAO;AAAA,IACT,CAAC;AACD,WAAO;AAAA,EACT,SAAQ;AACN,WAAO,KAAK,UAAU,EAAE,MAAM,OAAO,OAAO,qBAAqB,CAAC;AAAA,EACpE;AACF;AAEA,SAAS,kBACP,MACA,WACA,OACA,aACA,MACA,UACA,YACA;AACA,QAAM,QAAoB;AAAA,IACxB,8BAA8B;AAAA,IAC9B,qCAAqC;AAAA,IACrC,kCAAkC;AAAA,KAC/B;AAGL,MAAI,6BAAM,OAAQ,OAAM,8BAA8B,IAAI,KAAK,MAAM,GAAG,EAAE;AAC1E,MAAI,UAAU;AACZ,WAAO,QAAQ,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACjD,YAAM,GAAG,IAAI,oBAAoB,KAAK;AAAA,IACxC,CAAC;AAAA,EACH;AAEA,OAAK,SAAS,gCAAgC,KAAK;AACrD;AAEA,SAAS,uBACP,MACA,UACA;AACA,MAAI,CAAC,SAAU;AACf,QAAM,OAAO,OAAO,KAAK,QAAQ;AACjC,aAAW,OAAO,MAAM;AACtB,UAAM,QAAS,SAAiB,GAAG;AACnC,QAAI,UAAU,QAAW;AACvB,YAAM,UAAU,oBAAoB,KAAK;AACzC,UAAI,YAAY,QAAW;AACzB,aAAK;AAAA,UACH,uBAAuB,GAAG;AAAA,UAC1B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,iCAAiC,UAAmC;AAC3E,MAAI,CAAC,SAAU,QAAO,CAAC;AACvB,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,QAAQ,EACpB,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,wBAAwB,IAAI,GAAG,CAAC,EACnD,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AAAA,MACrB,oCAAoC,GAAG;AAAA,MACvC,oBAAoB,KAAK;AAAA,IAC3B,CAAC;AAAA,EACL;AACF;AAEA,SAAS,gBACP,MACA,UACA,aACA;AAvqBF;AAwqBE,QAAM,KAAM,8BAAY,CAAC;AACzB,QAAM,KAAM,oCAAe,CAAC;AAE5B,QAAM,WAAW,GAAG;AACpB,QAAM,gBAAe,cAAG,kBAAH,aAAoB,QAAG,WAAH,mBAAW,UAA/B,aAAwC,QAAG,WAAH,mBAAW;AACxE,QAAM,eACJ,cAAG,mBAAH,aAAqB,QAAG,WAAH,mBAAW,gBAAhC,aAA+C,QAAG,WAAH,mBAAW;AAC5D,QAAM,iBAAgB,QAAG,sBAAH,mBAAsB;AAE5C,MAAI,SAAU,MAAK,aAAa,iBAAiB,QAAQ;AACzD,MAAI,aAAc,MAAK,aAAa,wBAAwB,YAAY;AACxE,MAAI,OAAO,gBAAgB;AACzB,SAAK,aAAa,8BAA8B,WAAW;AAC7D,MAAI,cAAe,MAAK,aAAa,yBAAyB,aAAa;AAC7E;AAEA,SAAS,yBACP,OACA,OACA,UACA;AACA,MAAI,MAAM;AACV,SAAO,KAAK;AACV,UAAM,IAAI,MAAM,GAAG;AACnB,QAAI,EAAG,QAAO,MAAM,QAAQ,QAAQ,OAAO,GAAG,CAAC;AAC/C,UAAM,SAAS,GAAG;AAAA,EACpB;AACA,SAAO,QAAQ,OAAO;AACxB;AAEA,SAAS,kBAAkB,MAOgD;AA7sB3E;AA8sBE,QAAM,EAAE,SAAS,MAAM,YAAY,UAAU,OAAO,IAAI;AAGxD,QAAM,YAAY,kCAAM,WAAN,YAAiB,qCAAkB;AAGrD,MAAI,UAAU;AACZ,WAAO;AAAA,MACL,MAAM;AAAA,MACN,MACE,YAAY,SACR,SACA,YAAY,cACZ,QACA,YAAY,SAAS,YAAY,SACjC,QACA;AAAA,IACR;AAAA,EACF;AAEA,QAAM,MAAM,UAAU,UAAU;AAChC,QAAM,KAAM,8BAAY,CAAC;AAGzB,QAAM,WAAU,yBAAI,mBAAkB;AACtC,QAAM,cAAc,MAAM,QAAQ,yBAAI,kBAAkB,KAAK,GAAG,mBAAmB,SAAS;AAC5F,QAAM,WACJ,IAAI,WAAW,SAAS,KAAK;AAC/B,QAAM,iBAAgB,yBAAI,mBAAkB,EAAC,yBAAI;AAGjD,MAAI,YAAY,SAAS,YAAY,QAAQ;AAC3C,UAAM,QAAQ,8BAAI,gBAAJ,YAA8B;AAC5C,UAAM,SAAS,8BAAI,kBAAJ,YAAiC,OAAO;AACvD,UAAM,OAAO,yBAAI;AACjB,UAAM,UACJ,QAAQ,OACJ,OAAO,SAAS,WACd,KAAK,SAAS,IACd,KAAK,UAAU,IAAI,IACrB;AACN,UAAM,KACJ,WAAW,OACP,GAAG,IAAI,IAAI,KAAK,UAAU,OAAO,MACjC,GAAG,IAAI,IAAI,KAAK;AACtB,WAAO,EAAE,MAAM,IAAI,MAAM,MAAM;AAAA,EACjC;AAGA,MAAI,UAAU;AACZ,UAAM,UAAU,yBAAI;AACpB,UAAM,WACJ,MAAM,QAAQ,OAAO,KAAK,QAAQ,SAC9B,QAAQ,QAAQ,SAAS,CAAC,IAC1B;AACN,UAAM,WAAW,MAAM,QAAQ,yBAAI,kBAAkB,IACjD;AAAA,OACE,QAAG,mBAAmB;AAAA,QAAK,CAAC,MAC1B,OAAO,CAAC,EAAE,WAAW,SAAS;AAAA,MAChC,MAFA,YAEK;AAAA,IACP,EAAE,QAAQ,kBAAkB,EAAE,IAC9B;AACJ,UAAM,KAAK,UAAU,8BAAY,SAAS,WAAM,8BAAY,SAAS;AACrE,WAAO,EAAE,MAAM,IAAI,MAAM,YAAY;AAAA,EACvC;AAEA,MAAI,SAAS;AACX,UAAM,OAAO,yBAAI;AACjB,UAAM,KAAK,SAAS,GAAG,cAAc,GACnC,QAAQ,OAAO,UAAU,OAAO,IAAI,CAAC,MAAM,EAC7C;AACA,WAAO,EAAE,MAAM,IAAI,MAAM,YAAY;AAAA,EACvC;AACA,MAAI,iBAAiB,YAAY,SAAS;AACxC,WAAO,EAAE,MAAM,oBAAoB,MAAM,QAAQ;AAAA,EACnD;AAGA,MAAI,YAAY,QAAQ;AACtB,UAAM,QAAQ,0CAAkB,SAAlB,YAA2B,OAAO;AAChD,UAAM,QACJ,kBAAa,MAAM,MAAnB,YAAwB,aAAc,yCAAoB,KAAK;AACjE,WAAO;AAAA,MACL,MAAM,OAAO,SAAS,IAAI,WAAM,IAAI,KAAK,SAAS,IAAI;AAAA,MACtD,MAAM;AAAA,IACR;AAAA,EACF;AAGA,MAAI,YAAY,YAAa,QAAO,EAAE,MAAM,aAAa,MAAM,MAAM;AAGrE,MAAI,IAAI,SAAS,OAAO;AACtB,WAAO,EAAE,MAAM,UAAU,GAAG,IAAI,MAAM,YAAY;AACpD,MAAI,IAAI,WAAW,UAAU;AAC3B,WAAO,EAAE,MAAM,aAAa,IAAI,QAAQ,aAAa,EAAE,CAAC,IAAI,MAAM,QAAQ;AAC5E,SAAO,EAAE,MAAM,OAAO,uBAAuB,MAAM,QAAQ;AAC7D;","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":[]}
|
|
@@ -5,8 +5,8 @@ import { TracerProvider, ContextManager, TextMapPropagator } from '@opentelemetr
|
|
|
5
5
|
import { LogRecordProcessor } from '@opentelemetry/sdk-logs';
|
|
6
6
|
import { IMetricReader, ViewOptions } from '@opentelemetry/sdk-metrics';
|
|
7
7
|
import { ResourceDetector, Resource } from '@opentelemetry/resources';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { a as SemConvAttributes } from '../../../types-VOZv9LYO.mjs';
|
|
9
|
+
import { c as DataCaptureOptions } from '../../../types-DLfhJb38.mjs';
|
|
10
10
|
import '@opentelemetry/api-logs';
|
|
11
11
|
import '@opentelemetry/semantic-conventions';
|
|
12
12
|
import '@opentelemetry/semantic-conventions/incubating';
|
|
@@ -5,8 +5,8 @@ import { TracerProvider, ContextManager, TextMapPropagator } from '@opentelemetr
|
|
|
5
5
|
import { LogRecordProcessor } from '@opentelemetry/sdk-logs';
|
|
6
6
|
import { IMetricReader, ViewOptions } from '@opentelemetry/sdk-metrics';
|
|
7
7
|
import { ResourceDetector, Resource } from '@opentelemetry/resources';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { a as SemConvAttributes } from '../../../types-VOZv9LYO.js';
|
|
9
|
+
import { c as DataCaptureOptions } from '../../../types-DLfhJb38.js';
|
|
10
10
|
import '@opentelemetry/api-logs';
|
|
11
11
|
import '@opentelemetry/semantic-conventions';
|
|
12
12
|
import '@opentelemetry/semantic-conventions/incubating';
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../../../chunk-
|
|
6
|
-
require('../../../chunk-
|
|
7
|
-
require('../../../chunk-NC42BNF4.js');
|
|
8
|
-
require('../../../chunk-IXYZL7U2.js');
|
|
9
|
-
require('../../../chunk-VS22JXRY.js');
|
|
10
|
-
require('../../../chunk-BRPEG3YQ.js');
|
|
4
|
+
var _chunk53AMPF5Ejs = require('../../../chunk-53AMPF5E.js');
|
|
5
|
+
require('../../../chunk-EDWIKCYX.js');
|
|
6
|
+
require('../../../chunk-TKSTXX3D.js');
|
|
11
7
|
|
|
12
8
|
|
|
13
9
|
|
|
14
|
-
exports.ensureSetup =
|
|
10
|
+
exports.ensureSetup = _chunk53AMPF5Ejs.ensureSetup; exports.setupObservability = _chunk53AMPF5Ejs.setupObservability;
|
|
15
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/setup/node/index.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,6DAAmC;AACnC,sCAAmC;AACnC,sCAAmC;AACnC
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/setup/node/index.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,6DAAmC;AACnC,sCAAmC;AACnC,sCAAmC;AACnC;AACE;AACA;AACF,qHAAC","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/setup/node/index.js"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ensureSetup,
|
|
3
3
|
setupObservability
|
|
4
|
-
} from "../../../chunk-
|
|
5
|
-
import "../../../chunk-
|
|
6
|
-
import "../../../chunk-
|
|
7
|
-
import "../../../chunk-E5ZEMGE7.mjs";
|
|
8
|
-
import "../../../chunk-JOLGDU7Q.mjs";
|
|
9
|
-
import "../../../chunk-GVFRS2UN.mjs";
|
|
10
|
-
import "../../../chunk-BAX4W3AY.mjs";
|
|
4
|
+
} from "../../../chunk-XMAFHMLS.mjs";
|
|
5
|
+
import "../../../chunk-KH2GOLFO.mjs";
|
|
6
|
+
import "../../../chunk-L5KBRKHS.mjs";
|
|
11
7
|
export {
|
|
12
8
|
ensureSetup,
|
|
13
9
|
setupObservability
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Span, AttributeValue, SpanOptions, Tracer, Context } from '@opentelemetry/api';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import {
|
|
3
|
+
import { a as SemConvAttributes } from './types-VOZv9LYO.js';
|
|
4
4
|
|
|
5
5
|
declare const chatMessageSchema: z.ZodObject<{
|
|
6
6
|
role: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"system">, z.ZodLiteral<"user">, z.ZodLiteral<"assistant">, z.ZodLiteral<"function">, z.ZodLiteral<"tool">, z.ZodLiteral<"unknown">]>>;
|
|
@@ -33,6 +33,39 @@ declare const chatMessageSchema: z.ZodObject<{
|
|
|
33
33
|
url: z.ZodOptional<z.ZodString>;
|
|
34
34
|
id: z.ZodOptional<z.ZodString>;
|
|
35
35
|
filename: z.ZodOptional<z.ZodString>;
|
|
36
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
37
|
+
type: z.ZodLiteral<"input_audio">;
|
|
38
|
+
input_audio: z.ZodObject<{
|
|
39
|
+
data: z.ZodOptional<z.ZodString>;
|
|
40
|
+
format: z.ZodOptional<z.ZodString>;
|
|
41
|
+
url: z.ZodOptional<z.ZodString>;
|
|
42
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
43
|
+
id: z.ZodOptional<z.ZodString>;
|
|
44
|
+
}, z.core.$strip>;
|
|
45
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
46
|
+
type: z.ZodLiteral<"audio">;
|
|
47
|
+
source: z.ZodObject<{
|
|
48
|
+
type: z.ZodUnion<readonly [z.ZodLiteral<"url">, z.ZodLiteral<"data">]>;
|
|
49
|
+
value: z.ZodString;
|
|
50
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
51
|
+
}, z.core.$strip>;
|
|
52
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
53
|
+
type: z.ZodLiteral<"image">;
|
|
54
|
+
image: z.ZodString;
|
|
55
|
+
mediaType: z.ZodOptional<z.ZodString>;
|
|
56
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
57
|
+
type: z.ZodLiteral<"file">;
|
|
58
|
+
mediaType: z.ZodString;
|
|
59
|
+
data: z.ZodOptional<z.ZodString>;
|
|
60
|
+
url: z.ZodOptional<z.ZodString>;
|
|
61
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
62
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
63
|
+
type: z.ZodLiteral<"file">;
|
|
64
|
+
file: z.ZodObject<{
|
|
65
|
+
file_data: z.ZodOptional<z.ZodString>;
|
|
66
|
+
file_id: z.ZodOptional<z.ZodString>;
|
|
67
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
68
|
+
}, z.core.$strip>;
|
|
36
69
|
}, z.core.$strip>]>>]>>>;
|
|
37
70
|
parts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
38
71
|
type: z.ZodLiteral<"text">;
|
|
@@ -63,6 +96,39 @@ declare const chatMessageSchema: z.ZodObject<{
|
|
|
63
96
|
url: z.ZodOptional<z.ZodString>;
|
|
64
97
|
id: z.ZodOptional<z.ZodString>;
|
|
65
98
|
filename: z.ZodOptional<z.ZodString>;
|
|
99
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
100
|
+
type: z.ZodLiteral<"input_audio">;
|
|
101
|
+
input_audio: z.ZodObject<{
|
|
102
|
+
data: z.ZodOptional<z.ZodString>;
|
|
103
|
+
format: z.ZodOptional<z.ZodString>;
|
|
104
|
+
url: z.ZodOptional<z.ZodString>;
|
|
105
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
106
|
+
id: z.ZodOptional<z.ZodString>;
|
|
107
|
+
}, z.core.$strip>;
|
|
108
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
109
|
+
type: z.ZodLiteral<"audio">;
|
|
110
|
+
source: z.ZodObject<{
|
|
111
|
+
type: z.ZodUnion<readonly [z.ZodLiteral<"url">, z.ZodLiteral<"data">]>;
|
|
112
|
+
value: z.ZodString;
|
|
113
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
114
|
+
}, z.core.$strip>;
|
|
115
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
116
|
+
type: z.ZodLiteral<"image">;
|
|
117
|
+
image: z.ZodString;
|
|
118
|
+
mediaType: z.ZodOptional<z.ZodString>;
|
|
119
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
120
|
+
type: z.ZodLiteral<"file">;
|
|
121
|
+
mediaType: z.ZodString;
|
|
122
|
+
data: z.ZodOptional<z.ZodString>;
|
|
123
|
+
url: z.ZodOptional<z.ZodString>;
|
|
124
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
125
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
126
|
+
type: z.ZodLiteral<"file">;
|
|
127
|
+
file: z.ZodObject<{
|
|
128
|
+
file_data: z.ZodOptional<z.ZodString>;
|
|
129
|
+
file_id: z.ZodOptional<z.ZodString>;
|
|
130
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
131
|
+
}, z.core.$strip>;
|
|
66
132
|
}, z.core.$strip>]>>>;
|
|
67
133
|
function_call: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
68
134
|
name: z.ZodOptional<z.ZodString>;
|
|
@@ -159,6 +225,39 @@ declare const typedValueChatMessagesSchema: z.ZodObject<{
|
|
|
159
225
|
url: z.ZodOptional<z.ZodString>;
|
|
160
226
|
id: z.ZodOptional<z.ZodString>;
|
|
161
227
|
filename: z.ZodOptional<z.ZodString>;
|
|
228
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
229
|
+
type: z.ZodLiteral<"input_audio">;
|
|
230
|
+
input_audio: z.ZodObject<{
|
|
231
|
+
data: z.ZodOptional<z.ZodString>;
|
|
232
|
+
format: z.ZodOptional<z.ZodString>;
|
|
233
|
+
url: z.ZodOptional<z.ZodString>;
|
|
234
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
235
|
+
id: z.ZodOptional<z.ZodString>;
|
|
236
|
+
}, z.core.$strip>;
|
|
237
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
238
|
+
type: z.ZodLiteral<"audio">;
|
|
239
|
+
source: z.ZodObject<{
|
|
240
|
+
type: z.ZodUnion<readonly [z.ZodLiteral<"url">, z.ZodLiteral<"data">]>;
|
|
241
|
+
value: z.ZodString;
|
|
242
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
243
|
+
}, z.core.$strip>;
|
|
244
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
245
|
+
type: z.ZodLiteral<"image">;
|
|
246
|
+
image: z.ZodString;
|
|
247
|
+
mediaType: z.ZodOptional<z.ZodString>;
|
|
248
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
249
|
+
type: z.ZodLiteral<"file">;
|
|
250
|
+
mediaType: z.ZodString;
|
|
251
|
+
data: z.ZodOptional<z.ZodString>;
|
|
252
|
+
url: z.ZodOptional<z.ZodString>;
|
|
253
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
254
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
255
|
+
type: z.ZodLiteral<"file">;
|
|
256
|
+
file: z.ZodObject<{
|
|
257
|
+
file_data: z.ZodOptional<z.ZodString>;
|
|
258
|
+
file_id: z.ZodOptional<z.ZodString>;
|
|
259
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
260
|
+
}, z.core.$strip>;
|
|
162
261
|
}, z.core.$strip>]>>]>>>;
|
|
163
262
|
parts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
164
263
|
type: z.ZodLiteral<"text">;
|
|
@@ -189,6 +288,39 @@ declare const typedValueChatMessagesSchema: z.ZodObject<{
|
|
|
189
288
|
url: z.ZodOptional<z.ZodString>;
|
|
190
289
|
id: z.ZodOptional<z.ZodString>;
|
|
191
290
|
filename: z.ZodOptional<z.ZodString>;
|
|
291
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
292
|
+
type: z.ZodLiteral<"input_audio">;
|
|
293
|
+
input_audio: z.ZodObject<{
|
|
294
|
+
data: z.ZodOptional<z.ZodString>;
|
|
295
|
+
format: z.ZodOptional<z.ZodString>;
|
|
296
|
+
url: z.ZodOptional<z.ZodString>;
|
|
297
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
298
|
+
id: z.ZodOptional<z.ZodString>;
|
|
299
|
+
}, z.core.$strip>;
|
|
300
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
301
|
+
type: z.ZodLiteral<"audio">;
|
|
302
|
+
source: z.ZodObject<{
|
|
303
|
+
type: z.ZodUnion<readonly [z.ZodLiteral<"url">, z.ZodLiteral<"data">]>;
|
|
304
|
+
value: z.ZodString;
|
|
305
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
306
|
+
}, z.core.$strip>;
|
|
307
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
308
|
+
type: z.ZodLiteral<"image">;
|
|
309
|
+
image: z.ZodString;
|
|
310
|
+
mediaType: z.ZodOptional<z.ZodString>;
|
|
311
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
312
|
+
type: z.ZodLiteral<"file">;
|
|
313
|
+
mediaType: z.ZodString;
|
|
314
|
+
data: z.ZodOptional<z.ZodString>;
|
|
315
|
+
url: z.ZodOptional<z.ZodString>;
|
|
316
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
317
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
318
|
+
type: z.ZodLiteral<"file">;
|
|
319
|
+
file: z.ZodObject<{
|
|
320
|
+
file_data: z.ZodOptional<z.ZodString>;
|
|
321
|
+
file_id: z.ZodOptional<z.ZodString>;
|
|
322
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
323
|
+
}, z.core.$strip>;
|
|
192
324
|
}, z.core.$strip>]>>>;
|
|
193
325
|
function_call: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
194
326
|
name: z.ZodOptional<z.ZodString>;
|
|
@@ -1837,7 +1969,7 @@ interface paths {
|
|
|
1837
1969
|
evaluation_id?: string;
|
|
1838
1970
|
/** @example Ragas Answer Relevancy */
|
|
1839
1971
|
name?: string;
|
|
1840
|
-
/** @example ragas/
|
|
1972
|
+
/** @example ragas/response_relevancy */
|
|
1841
1973
|
type?: string;
|
|
1842
1974
|
/** @example trace_BKZL_X0TKSD4oa1aBJTc_ */
|
|
1843
1975
|
trace_id?: string;
|
|
@@ -14506,6 +14638,71 @@ declare class CompiledPrompt extends Prompt {
|
|
|
14506
14638
|
constructor(compiledData: PromptData, original: Prompt);
|
|
14507
14639
|
}
|
|
14508
14640
|
|
|
14641
|
+
/**
|
|
14642
|
+
* The status of a recorded evaluation.
|
|
14643
|
+
*
|
|
14644
|
+
* Mirrors the Python `Literal["processed", "skipped", "error"]` accepted by
|
|
14645
|
+
* `add_evaluation`.
|
|
14646
|
+
*/
|
|
14647
|
+
type EvaluationStatus = "processed" | "skipped" | "error";
|
|
14648
|
+
/**
|
|
14649
|
+
* Explicit start/finish timestamps for an evaluation, in milliseconds since the
|
|
14650
|
+
* Unix epoch (matching how the LangWatch collector expects timestamps). `Date`
|
|
14651
|
+
* instances are also accepted and converted.
|
|
14652
|
+
*/
|
|
14653
|
+
interface EvaluationTimestamps {
|
|
14654
|
+
/** When the evaluation started. */
|
|
14655
|
+
startedAt: Date | number;
|
|
14656
|
+
/** When the evaluation finished. */
|
|
14657
|
+
finishedAt: Date | number;
|
|
14658
|
+
}
|
|
14659
|
+
/**
|
|
14660
|
+
* Parameters for {@link LangWatchSpan.addEvaluation} / recording a manual
|
|
14661
|
+
* evaluation result.
|
|
14662
|
+
*
|
|
14663
|
+
* The field set is derived from the Python `add_evaluation` signature. Only
|
|
14664
|
+
* `name` is required; every other field is optional and, when omitted, is
|
|
14665
|
+
* emitted as `null` in the JSON payload to match the Python SDK exactly.
|
|
14666
|
+
*
|
|
14667
|
+
* @property name - Human-readable name of the evaluation (required).
|
|
14668
|
+
* @property type - Evaluation type/category (e.g. an evaluator slug).
|
|
14669
|
+
* @property evaluationId - Stable id for this evaluation. Auto-generated
|
|
14670
|
+
* (`eval_<ksuid>`) when omitted, mirroring Python's `PKSUID("eval")`.
|
|
14671
|
+
* @property isGuardrail - Whether this evaluation acted as a guardrail.
|
|
14672
|
+
* @property status - Processing status. Defaults to `"processed"`.
|
|
14673
|
+
* @property passed - Whether the evaluation passed.
|
|
14674
|
+
* @property score - Numeric score for the evaluation.
|
|
14675
|
+
* @property label - Categorical label for the evaluation.
|
|
14676
|
+
* @property details - Free-form details/explanation.
|
|
14677
|
+
* @property error - Optional error captured while evaluating.
|
|
14678
|
+
* @property timestamps - Optional explicit start/finish timestamps.
|
|
14679
|
+
*/
|
|
14680
|
+
interface AddEvaluationParams {
|
|
14681
|
+
name: string;
|
|
14682
|
+
type?: string;
|
|
14683
|
+
evaluationId?: string;
|
|
14684
|
+
isGuardrail?: boolean;
|
|
14685
|
+
status?: EvaluationStatus;
|
|
14686
|
+
passed?: boolean;
|
|
14687
|
+
score?: number;
|
|
14688
|
+
label?: string;
|
|
14689
|
+
details?: string;
|
|
14690
|
+
error?: unknown;
|
|
14691
|
+
timestamps?: EvaluationTimestamps;
|
|
14692
|
+
}
|
|
14693
|
+
/**
|
|
14694
|
+
* Records a manual evaluation result onto the given OpenTelemetry span by
|
|
14695
|
+
* emitting a `langwatch.evaluation.custom` span event whose
|
|
14696
|
+
* `json_encoded_event` attribute holds the serialized evaluation payload.
|
|
14697
|
+
*
|
|
14698
|
+
* This is the shared implementation behind both the span-level and trace-level
|
|
14699
|
+
* `addEvaluation` surfaces.
|
|
14700
|
+
*
|
|
14701
|
+
* @param span - The OpenTelemetry span to attach the evaluation event to.
|
|
14702
|
+
* @param params - The evaluation parameters. See {@link AddEvaluationParams}.
|
|
14703
|
+
*/
|
|
14704
|
+
declare function emitEvaluationEvent(span: Span, params: AddEvaluationParams): void;
|
|
14705
|
+
|
|
14509
14706
|
/**
|
|
14510
14707
|
* Simple chat message type with just role and content
|
|
14511
14708
|
*/
|
|
@@ -14591,6 +14788,37 @@ interface LangWatchSpanOptions extends SpanOptions {
|
|
|
14591
14788
|
* .addGenAIAssistantMessageEvent({ content: 'Hi!' });
|
|
14592
14789
|
*/
|
|
14593
14790
|
interface LangWatchSpan extends Span {
|
|
14791
|
+
/**
|
|
14792
|
+
* Record a manual evaluation result on this span.
|
|
14793
|
+
*
|
|
14794
|
+
* This emits a `langwatch.evaluation.custom` OpenTelemetry span event whose
|
|
14795
|
+
* `json_encoded_event` attribute carries the evaluation payload. It matches
|
|
14796
|
+
* the Python SDK's `span.add_evaluation(...)` exactly, so the LangWatch
|
|
14797
|
+
* backend parses both identically.
|
|
14798
|
+
*
|
|
14799
|
+
* @param params - The evaluation parameters. Only `name` is required; see
|
|
14800
|
+
* {@link AddEvaluationParams}. `status` defaults to `"processed"`.
|
|
14801
|
+
* @returns this
|
|
14802
|
+
*
|
|
14803
|
+
* @example
|
|
14804
|
+
* ```typescript
|
|
14805
|
+
* span.addEvaluation({
|
|
14806
|
+
* name: "response_quality",
|
|
14807
|
+
* passed: true,
|
|
14808
|
+
* score: 0.95,
|
|
14809
|
+
* details: "High quality response",
|
|
14810
|
+
* });
|
|
14811
|
+
* ```
|
|
14812
|
+
*/
|
|
14813
|
+
addEvaluation(params: AddEvaluationParams): this;
|
|
14814
|
+
/**
|
|
14815
|
+
* @deprecated Use {@link LangWatchSpan.addEvaluation} instead. Alias kept for
|
|
14816
|
+
* backward compatibility with earlier documentation.
|
|
14817
|
+
*
|
|
14818
|
+
* @param params - The evaluation parameters. See {@link AddEvaluationParams}.
|
|
14819
|
+
* @returns this
|
|
14820
|
+
*/
|
|
14821
|
+
recordEvaluation(params: AddEvaluationParams): this;
|
|
14594
14822
|
/**
|
|
14595
14823
|
* Set multiple attributes for the span.
|
|
14596
14824
|
*
|
|
@@ -15017,6 +15245,31 @@ interface LangWatchTracer extends Tracer {
|
|
|
15017
15245
|
* @returns A promise that resolves to the return value of the provided function
|
|
15018
15246
|
*/
|
|
15019
15247
|
withActiveSpan<F extends (span: LangWatchSpan) => unknown>(name: string, options: LangWatchSpanOptions, context: Context, fn: F): ReturnType<F>;
|
|
15248
|
+
/**
|
|
15249
|
+
* Record a manual evaluation result at the trace level.
|
|
15250
|
+
*
|
|
15251
|
+
* **LangWatch Enhancement**: Mirrors the Python SDK's `trace.add_evaluation(...)`.
|
|
15252
|
+
* The evaluation is attached to the currently active span (the trace's
|
|
15253
|
+
* current/root span in the active context). If no span is active, the call is
|
|
15254
|
+
* a no-op.
|
|
15255
|
+
*
|
|
15256
|
+
* Emits the same `langwatch.evaluation.custom` span event as
|
|
15257
|
+
* {@link LangWatchSpan.addEvaluation}, so the LangWatch backend parses both
|
|
15258
|
+
* identically.
|
|
15259
|
+
*
|
|
15260
|
+
* @param params - The evaluation parameters. Only `name` is required; see
|
|
15261
|
+
* {@link AddEvaluationParams}. `status` defaults to `"processed"`.
|
|
15262
|
+
*
|
|
15263
|
+
* @example
|
|
15264
|
+
* ```typescript
|
|
15265
|
+
* const tracer = getLangWatchTracer("my-service");
|
|
15266
|
+
* tracer.startActiveSpan("root", (span) => {
|
|
15267
|
+
* tracer.addEvaluation({ name: "response_quality", passed: true, score: 0.95 });
|
|
15268
|
+
* span.end();
|
|
15269
|
+
* });
|
|
15270
|
+
* ```
|
|
15271
|
+
*/
|
|
15272
|
+
addEvaluation(params: AddEvaluationParams): void;
|
|
15020
15273
|
}
|
|
15021
15274
|
|
|
15022
|
-
export { type
|
|
15275
|
+
export { type AddEvaluationParams as A, type CreatePromptBody as C, type EvaluationStatus as E, FetchPolicy as F, INPUT_OUTPUT_TYPES as I, type JsonSerializable as J, type LangWatchSpan as L, type PromptResponse as P, type SimpleChatMessage as S, type TagDefinition as T, type UpdatePromptBody as U, type CreatedTag as a, type PromptData as b, Prompt as c, type components as d, type EvaluationTimestamps as e, type InputOutputType as f, type LangWatchSpanMetrics as g, type LangWatchSpanOptions as h, type LangWatchSpanRAGContext as i, type LangWatchTracer as j, type SpanType as k, emitEvaluationEvent as l, type ChatMessage as m, type operations as o, type paths as p, spanTypes as s };
|
|
@@ -41,4 +41,4 @@ interface DataCaptureConfig {
|
|
|
41
41
|
*/
|
|
42
42
|
type DataCaptureOptions = DataCaptureMode | DataCaptureConfig;
|
|
43
43
|
|
|
44
|
-
export type {
|
|
44
|
+
export type { DataCaptureMode as D, DataCaptureConfig as a, DataCaptureContext as b, DataCaptureOptions as c, DataCapturePredicate as d };
|
|
@@ -41,4 +41,4 @@ interface DataCaptureConfig {
|
|
|
41
41
|
*/
|
|
42
42
|
type DataCaptureOptions = DataCaptureMode | DataCaptureConfig;
|
|
43
43
|
|
|
44
|
-
export type {
|
|
44
|
+
export type { DataCaptureMode as D, DataCaptureConfig as a, DataCaptureContext as b, DataCaptureOptions as c, DataCapturePredicate as d };
|
|
@@ -259,4 +259,4 @@ type SemConvAttributes = Partial<Record<SemConvAttributeKey, AttributeValue>>;
|
|
|
259
259
|
*/
|
|
260
260
|
type SemConvLogRecordAttributes = Partial<Record<SemConvAttributeKey, AnyValue>>;
|
|
261
261
|
|
|
262
|
-
export { type
|
|
262
|
+
export { type SemConvAttributeKey as S, type SemConvAttributes as a, type SemConvLogRecordAttributes as b, langwatchAttributes as l };
|
|
@@ -259,4 +259,4 @@ type SemConvAttributes = Partial<Record<SemConvAttributeKey, AttributeValue>>;
|
|
|
259
259
|
*/
|
|
260
260
|
type SemConvLogRecordAttributes = Partial<Record<SemConvAttributeKey, AnyValue>>;
|
|
261
261
|
|
|
262
|
-
export { type
|
|
262
|
+
export { type SemConvAttributeKey as S, type SemConvAttributes as a, type SemConvLogRecordAttributes as b, langwatchAttributes as l };
|