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.
Files changed (775) hide show
  1. package/README.md +10 -8
  2. package/dist/{chunk-YQNOLNAK.mjs → chunk-2O4ILSP5.mjs} +2 -2
  3. package/dist/{chunk-PVOHCPWP.mjs → chunk-3QHURXIZ.mjs} +149 -7
  4. package/dist/chunk-3QHURXIZ.mjs.map +1 -0
  5. package/dist/{chunk-O75KIBCK.js → chunk-53AMPF5E.js} +16 -22
  6. package/dist/chunk-53AMPF5E.js.map +1 -0
  7. package/dist/{chunk-GW2YXZYN.js → chunk-EDWIKCYX.js} +130 -48
  8. package/dist/chunk-EDWIKCYX.js.map +1 -0
  9. package/dist/{chunk-FLYABTMA.js → chunk-HBVGKWJK.js} +160 -18
  10. package/dist/chunk-HBVGKWJK.js.map +1 -0
  11. package/dist/{chunk-2PNM3JZ7.js → chunk-IUSLT65Z.js} +2 -2
  12. package/dist/{chunk-2PNM3JZ7.js.map → chunk-IUSLT65Z.js.map} +1 -1
  13. package/dist/{chunk-QAZHQ7SZ.mjs → chunk-KH2GOLFO.mjs} +104 -22
  14. package/dist/chunk-KH2GOLFO.mjs.map +1 -0
  15. package/dist/{chunk-GVFRS2UN.mjs → chunk-L5KBRKHS.mjs} +111 -5
  16. package/dist/chunk-L5KBRKHS.mjs.map +1 -0
  17. package/dist/chunk-TKSTXX3D.js +239 -0
  18. package/dist/chunk-TKSTXX3D.js.map +1 -0
  19. package/dist/{chunk-QGGX6LSK.mjs → chunk-XMAFHMLS.mjs} +10 -16
  20. package/dist/{chunk-QGGX6LSK.mjs.map → chunk-XMAFHMLS.mjs.map} +1 -1
  21. package/dist/cli/bundle.js +3768 -0
  22. package/dist/cli/index.js +10 -1333
  23. package/dist/{implementation-Cbelb5TK.d.ts → implementation-CMWs8g5L.d.ts} +3 -3
  24. package/dist/{implementation-Oz1fNv8p.d.mts → implementation-Cv1hPZBQ.d.mts} +3 -3
  25. package/dist/index.d.mts +263 -17
  26. package/dist/index.d.ts +263 -17
  27. package/dist/index.js +4838 -1382
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.mjs +4808 -1352
  30. package/dist/index.mjs.map +1 -1
  31. package/dist/observability-sdk/index.d.mts +6 -6
  32. package/dist/observability-sdk/index.d.ts +6 -6
  33. package/dist/observability-sdk/index.js +6 -9
  34. package/dist/observability-sdk/index.js.map +1 -1
  35. package/dist/observability-sdk/index.mjs +7 -10
  36. package/dist/observability-sdk/instrumentation/langchain/index.d.mts +2 -2
  37. package/dist/observability-sdk/instrumentation/langchain/index.d.ts +2 -2
  38. package/dist/observability-sdk/instrumentation/langchain/index.js +18 -21
  39. package/dist/observability-sdk/instrumentation/langchain/index.js.map +1 -1
  40. package/dist/observability-sdk/instrumentation/langchain/index.mjs +3 -6
  41. package/dist/observability-sdk/instrumentation/langchain/index.mjs.map +1 -1
  42. package/dist/observability-sdk/setup/node/index.d.mts +2 -2
  43. package/dist/observability-sdk/setup/node/index.d.ts +2 -2
  44. package/dist/observability-sdk/setup/node/index.js +4 -8
  45. package/dist/observability-sdk/setup/node/index.js.map +1 -1
  46. package/dist/observability-sdk/setup/node/index.mjs +3 -7
  47. package/dist/{types-BNbQoBnh.d.mts → types-D-yAkWoC.d.ts} +256 -3
  48. package/dist/{types-Dmazk5Bk.d.mts → types-DLfhJb38.d.mts} +1 -1
  49. package/dist/{types-Dmazk5Bk.d.ts → types-DLfhJb38.d.ts} +1 -1
  50. package/dist/{types-BvCQH8F1.d.ts → types-VOZv9LYO.d.mts} +1 -1
  51. package/dist/{types-BvCQH8F1.d.mts → types-VOZv9LYO.d.ts} +1 -1
  52. package/dist/{types-CmMOt86P.d.ts → types-bfBzGB7S.d.mts} +256 -3
  53. package/package.json +24 -17
  54. package/dist/add-52KP5RUX.mjs +0 -148
  55. package/dist/add-52KP5RUX.mjs.map +0 -1
  56. package/dist/add-7Y6MH725.js +0 -148
  57. package/dist/add-7Y6MH725.js.map +0 -1
  58. package/dist/archive-MHACABLP.js +0 -41
  59. package/dist/archive-MHACABLP.js.map +0 -1
  60. package/dist/archive-ZKTGGFDU.mjs +0 -41
  61. package/dist/archive-ZKTGGFDU.mjs.map +0 -1
  62. package/dist/assign-NCK27ZW5.js +0 -54
  63. package/dist/assign-NCK27ZW5.js.map +0 -1
  64. package/dist/assign-W7HMZLLA.mjs +0 -54
  65. package/dist/assign-W7HMZLLA.mjs.map +0 -1
  66. package/dist/chunk-26WXZOLY.js +0 -70
  67. package/dist/chunk-26WXZOLY.js.map +0 -1
  68. package/dist/chunk-2VVANTLB.js +0 -68
  69. package/dist/chunk-2VVANTLB.js.map +0 -1
  70. package/dist/chunk-2XTZ7GBC.mjs +0 -90
  71. package/dist/chunk-2XTZ7GBC.mjs.map +0 -1
  72. package/dist/chunk-3BDHATON.js +0 -36
  73. package/dist/chunk-3BDHATON.js.map +0 -1
  74. package/dist/chunk-3CPA262Z.mjs +0 -124
  75. package/dist/chunk-3CPA262Z.mjs.map +0 -1
  76. package/dist/chunk-43OERQAS.js +0 -96
  77. package/dist/chunk-43OERQAS.js.map +0 -1
  78. package/dist/chunk-4F3LCT7U.js +0 -42
  79. package/dist/chunk-4F3LCT7U.js.map +0 -1
  80. package/dist/chunk-4VOXYSVX.mjs +0 -196
  81. package/dist/chunk-4VOXYSVX.mjs.map +0 -1
  82. package/dist/chunk-5C7DPGRK.mjs +0 -34
  83. package/dist/chunk-5C7DPGRK.mjs.map +0 -1
  84. package/dist/chunk-5U4XEWEX.mjs +0 -136
  85. package/dist/chunk-5U4XEWEX.mjs.map +0 -1
  86. package/dist/chunk-7YJMKWOH.mjs +0 -80
  87. package/dist/chunk-7YJMKWOH.mjs.map +0 -1
  88. package/dist/chunk-A6HNRJNS.js +0 -92
  89. package/dist/chunk-A6HNRJNS.js.map +0 -1
  90. package/dist/chunk-AJUCX3LD.mjs +0 -40
  91. package/dist/chunk-AJUCX3LD.mjs.map +0 -1
  92. package/dist/chunk-B5TBCV6N.js +0 -96
  93. package/dist/chunk-B5TBCV6N.js.map +0 -1
  94. package/dist/chunk-BAX4W3AY.mjs +0 -62
  95. package/dist/chunk-BAX4W3AY.mjs.map +0 -1
  96. package/dist/chunk-BGYXA2QV.mjs +0 -96
  97. package/dist/chunk-BGYXA2QV.mjs.map +0 -1
  98. package/dist/chunk-BMBIZJCM.js +0 -103
  99. package/dist/chunk-BMBIZJCM.js.map +0 -1
  100. package/dist/chunk-BRPEG3YQ.js +0 -62
  101. package/dist/chunk-BRPEG3YQ.js.map +0 -1
  102. package/dist/chunk-BU2DXABO.mjs +0 -85
  103. package/dist/chunk-BU2DXABO.mjs.map +0 -1
  104. package/dist/chunk-BWALMZEU.mjs +0 -101
  105. package/dist/chunk-BWALMZEU.mjs.map +0 -1
  106. package/dist/chunk-C5Y772G7.js +0 -152
  107. package/dist/chunk-C5Y772G7.js.map +0 -1
  108. package/dist/chunk-C6ZREBUA.js +0 -300
  109. package/dist/chunk-C6ZREBUA.js.map +0 -1
  110. package/dist/chunk-CEJY6QI3.mjs +0 -508
  111. package/dist/chunk-CEJY6QI3.mjs.map +0 -1
  112. package/dist/chunk-CLYXJJ6C.js +0 -66
  113. package/dist/chunk-CLYXJJ6C.js.map +0 -1
  114. package/dist/chunk-COMOCQA6.mjs +0 -13
  115. package/dist/chunk-COMOCQA6.mjs.map +0 -1
  116. package/dist/chunk-DBKEEEEC.js +0 -66
  117. package/dist/chunk-DBKEEEEC.js.map +0 -1
  118. package/dist/chunk-DC7HLQID.mjs +0 -51
  119. package/dist/chunk-DC7HLQID.mjs.map +0 -1
  120. package/dist/chunk-DTEKJ3UD.mjs +0 -66
  121. package/dist/chunk-DTEKJ3UD.mjs.map +0 -1
  122. package/dist/chunk-DZTI6GOB.mjs +0 -36
  123. package/dist/chunk-DZTI6GOB.mjs.map +0 -1
  124. package/dist/chunk-E5ZEMGE7.mjs +0 -63
  125. package/dist/chunk-E5ZEMGE7.mjs.map +0 -1
  126. package/dist/chunk-EGOB3GIL.mjs +0 -156
  127. package/dist/chunk-EGOB3GIL.mjs.map +0 -1
  128. package/dist/chunk-F4FGQZND.mjs +0 -348
  129. package/dist/chunk-F4FGQZND.mjs.map +0 -1
  130. package/dist/chunk-FAXQN7S5.js +0 -68
  131. package/dist/chunk-FAXQN7S5.js.map +0 -1
  132. package/dist/chunk-FG3JQBJB.mjs +0 -68
  133. package/dist/chunk-FG3JQBJB.mjs.map +0 -1
  134. package/dist/chunk-FLYABTMA.js.map +0 -1
  135. package/dist/chunk-FMPW7DZ3.mjs +0 -80
  136. package/dist/chunk-FMPW7DZ3.mjs.map +0 -1
  137. package/dist/chunk-GIT5RVG4.mjs +0 -76
  138. package/dist/chunk-GIT5RVG4.mjs.map +0 -1
  139. package/dist/chunk-GVFRS2UN.mjs.map +0 -1
  140. package/dist/chunk-GW2YXZYN.js.map +0 -1
  141. package/dist/chunk-H2DTN2TK.mjs +0 -70
  142. package/dist/chunk-H2DTN2TK.mjs.map +0 -1
  143. package/dist/chunk-HKFNWLCD.js +0 -663
  144. package/dist/chunk-HKFNWLCD.js.map +0 -1
  145. package/dist/chunk-I2663VLP.js +0 -85
  146. package/dist/chunk-I2663VLP.js.map +0 -1
  147. package/dist/chunk-I6QOTFMP.mjs +0 -53
  148. package/dist/chunk-I6QOTFMP.mjs.map +0 -1
  149. package/dist/chunk-IRBHL4BD.js +0 -80
  150. package/dist/chunk-IRBHL4BD.js.map +0 -1
  151. package/dist/chunk-IRVNIJXP.js +0 -51
  152. package/dist/chunk-IRVNIJXP.js.map +0 -1
  153. package/dist/chunk-IXYZL7U2.js +0 -65
  154. package/dist/chunk-IXYZL7U2.js.map +0 -1
  155. package/dist/chunk-J3KM7ZO7.mjs +0 -152
  156. package/dist/chunk-J3KM7ZO7.mjs.map +0 -1
  157. package/dist/chunk-JBEVRIYW.mjs +0 -894
  158. package/dist/chunk-JBEVRIYW.mjs.map +0 -1
  159. package/dist/chunk-JOLGDU7Q.mjs +0 -65
  160. package/dist/chunk-JOLGDU7Q.mjs.map +0 -1
  161. package/dist/chunk-KT6HZNPV.js +0 -36
  162. package/dist/chunk-KT6HZNPV.js.map +0 -1
  163. package/dist/chunk-KUEKEUKX.mjs +0 -36
  164. package/dist/chunk-KUEKEUKX.mjs.map +0 -1
  165. package/dist/chunk-KW2W5KVS.mjs +0 -22
  166. package/dist/chunk-KW2W5KVS.mjs.map +0 -1
  167. package/dist/chunk-LEJQMDGN.js +0 -894
  168. package/dist/chunk-LEJQMDGN.js.map +0 -1
  169. package/dist/chunk-M3WJZUOE.js +0 -13
  170. package/dist/chunk-M3WJZUOE.js.map +0 -1
  171. package/dist/chunk-M52LTOUT.js +0 -1433
  172. package/dist/chunk-M52LTOUT.js.map +0 -1
  173. package/dist/chunk-MHMMZ653.js +0 -40
  174. package/dist/chunk-MHMMZ653.js.map +0 -1
  175. package/dist/chunk-MLGGUNZK.js +0 -90
  176. package/dist/chunk-MLGGUNZK.js.map +0 -1
  177. package/dist/chunk-N37FLXEP.js +0 -76
  178. package/dist/chunk-N37FLXEP.js.map +0 -1
  179. package/dist/chunk-NC42BNF4.js +0 -63
  180. package/dist/chunk-NC42BNF4.js.map +0 -1
  181. package/dist/chunk-NNPQSPYD.js +0 -348
  182. package/dist/chunk-NNPQSPYD.js.map +0 -1
  183. package/dist/chunk-NW4HASQV.js +0 -80
  184. package/dist/chunk-NW4HASQV.js.map +0 -1
  185. package/dist/chunk-NYCKS3GG.js +0 -20
  186. package/dist/chunk-NYCKS3GG.js.map +0 -1
  187. package/dist/chunk-O444ZEPO.mjs +0 -300
  188. package/dist/chunk-O444ZEPO.mjs.map +0 -1
  189. package/dist/chunk-O75KIBCK.js.map +0 -1
  190. package/dist/chunk-OGAE7BVQ.js +0 -67
  191. package/dist/chunk-OGAE7BVQ.js.map +0 -1
  192. package/dist/chunk-OJ4URNYC.mjs +0 -54
  193. package/dist/chunk-OJ4URNYC.mjs.map +0 -1
  194. package/dist/chunk-ONN7U6WN.js +0 -54
  195. package/dist/chunk-ONN7U6WN.js.map +0 -1
  196. package/dist/chunk-OUJ7Z4TK.mjs +0 -103
  197. package/dist/chunk-OUJ7Z4TK.mjs.map +0 -1
  198. package/dist/chunk-PVOHCPWP.mjs.map +0 -1
  199. package/dist/chunk-PXW5C7HA.js +0 -36
  200. package/dist/chunk-PXW5C7HA.js.map +0 -1
  201. package/dist/chunk-Q7AHHFC3.mjs +0 -20
  202. package/dist/chunk-Q7AHHFC3.mjs.map +0 -1
  203. package/dist/chunk-QAZHQ7SZ.mjs.map +0 -1
  204. package/dist/chunk-R3PLRKDO.mjs +0 -68
  205. package/dist/chunk-R3PLRKDO.mjs.map +0 -1
  206. package/dist/chunk-S4JKLESF.js +0 -124
  207. package/dist/chunk-S4JKLESF.js.map +0 -1
  208. package/dist/chunk-SBBELZKD.js +0 -101
  209. package/dist/chunk-SBBELZKD.js.map +0 -1
  210. package/dist/chunk-SIIRLUO4.js +0 -136
  211. package/dist/chunk-SIIRLUO4.js.map +0 -1
  212. package/dist/chunk-SIXSSID3.mjs +0 -43
  213. package/dist/chunk-SIXSSID3.mjs.map +0 -1
  214. package/dist/chunk-SRGYS3N7.js +0 -196
  215. package/dist/chunk-SRGYS3N7.js.map +0 -1
  216. package/dist/chunk-SUANHT23.mjs +0 -92
  217. package/dist/chunk-SUANHT23.mjs.map +0 -1
  218. package/dist/chunk-SWPMKS2X.mjs +0 -1433
  219. package/dist/chunk-SWPMKS2X.mjs.map +0 -1
  220. package/dist/chunk-T7AFY3JF.js +0 -63
  221. package/dist/chunk-T7AFY3JF.js.map +0 -1
  222. package/dist/chunk-U47MQ6CS.mjs +0 -67
  223. package/dist/chunk-U47MQ6CS.mjs.map +0 -1
  224. package/dist/chunk-U4PE5N4K.js +0 -34
  225. package/dist/chunk-U4PE5N4K.js.map +0 -1
  226. package/dist/chunk-VS22JXRY.js +0 -133
  227. package/dist/chunk-VS22JXRY.js.map +0 -1
  228. package/dist/chunk-W2BNKVWJ.mjs +0 -36
  229. package/dist/chunk-W2BNKVWJ.mjs.map +0 -1
  230. package/dist/chunk-W35QTHIH.mjs +0 -63
  231. package/dist/chunk-W35QTHIH.mjs.map +0 -1
  232. package/dist/chunk-W7DAEYAO.js +0 -53
  233. package/dist/chunk-W7DAEYAO.js.map +0 -1
  234. package/dist/chunk-WZTRPR6A.js +0 -43
  235. package/dist/chunk-WZTRPR6A.js.map +0 -1
  236. package/dist/chunk-X4BHZH7P.js +0 -156
  237. package/dist/chunk-X4BHZH7P.js.map +0 -1
  238. package/dist/chunk-X6NSR74I.mjs +0 -663
  239. package/dist/chunk-X6NSR74I.mjs.map +0 -1
  240. package/dist/chunk-XHQP55GA.mjs +0 -42
  241. package/dist/chunk-XHQP55GA.mjs.map +0 -1
  242. package/dist/chunk-XLJ5GJTK.mjs +0 -42
  243. package/dist/chunk-XLJ5GJTK.mjs.map +0 -1
  244. package/dist/chunk-XMAAQWBG.mjs +0 -96
  245. package/dist/chunk-XMAAQWBG.mjs.map +0 -1
  246. package/dist/chunk-YBLYQYXL.js +0 -22
  247. package/dist/chunk-YBLYQYXL.js.map +0 -1
  248. package/dist/chunk-YF4IFY2X.js +0 -42
  249. package/dist/chunk-YF4IFY2X.js.map +0 -1
  250. package/dist/chunk-YIACSQXG.mjs +0 -66
  251. package/dist/chunk-YIACSQXG.mjs.map +0 -1
  252. package/dist/chunk-YP4LDCP6.mjs +0 -277
  253. package/dist/chunk-YP4LDCP6.mjs.map +0 -1
  254. package/dist/chunk-ZA5BH7IZ.js +0 -277
  255. package/dist/chunk-ZA5BH7IZ.js.map +0 -1
  256. package/dist/chunk-ZFFJYYDN.js +0 -508
  257. package/dist/chunk-ZFFJYYDN.js.map +0 -1
  258. package/dist/cli/index.d.mts +0 -1
  259. package/dist/cli/index.d.ts +0 -1
  260. package/dist/cli/index.js.map +0 -1
  261. package/dist/cli/index.mjs +0 -1334
  262. package/dist/cli/index.mjs.map +0 -1
  263. package/dist/config-QAMXJYXX.js +0 -96
  264. package/dist/config-QAMXJYXX.js.map +0 -1
  265. package/dist/config-VPRQKJMJ.mjs +0 -96
  266. package/dist/config-VPRQKJMJ.mjs.map +0 -1
  267. package/dist/create-2FRM4WVA.mjs +0 -52
  268. package/dist/create-2FRM4WVA.mjs.map +0 -1
  269. package/dist/create-34FEJBYM.js +0 -49
  270. package/dist/create-34FEJBYM.js.map +0 -1
  271. package/dist/create-36DDGEPS.js +0 -50
  272. package/dist/create-36DDGEPS.js.map +0 -1
  273. package/dist/create-3IUBLMI7.mjs +0 -43
  274. package/dist/create-3IUBLMI7.mjs.map +0 -1
  275. package/dist/create-3NCRMEMB.mjs +0 -72
  276. package/dist/create-3NCRMEMB.mjs.map +0 -1
  277. package/dist/create-4GFIXF5E.mjs +0 -58
  278. package/dist/create-4GFIXF5E.mjs.map +0 -1
  279. package/dist/create-4ODQ66VV.mjs +0 -91
  280. package/dist/create-4ODQ66VV.mjs.map +0 -1
  281. package/dist/create-5TFOS2OJ.mjs +0 -42
  282. package/dist/create-5TFOS2OJ.mjs.map +0 -1
  283. package/dist/create-7OBPYNWK.js +0 -42
  284. package/dist/create-7OBPYNWK.js.map +0 -1
  285. package/dist/create-ACC73K6P.mjs +0 -87
  286. package/dist/create-ACC73K6P.mjs.map +0 -1
  287. package/dist/create-DRTKTUVY.js +0 -48
  288. package/dist/create-DRTKTUVY.js.map +0 -1
  289. package/dist/create-DYCE3DG5.mjs +0 -75
  290. package/dist/create-DYCE3DG5.mjs.map +0 -1
  291. package/dist/create-EASGLRR7.js +0 -58
  292. package/dist/create-EASGLRR7.js.map +0 -1
  293. package/dist/create-EBEOJS2H.mjs +0 -50
  294. package/dist/create-EBEOJS2H.mjs.map +0 -1
  295. package/dist/create-FJMGFFCM.mjs +0 -92
  296. package/dist/create-FJMGFFCM.mjs.map +0 -1
  297. package/dist/create-I5INSZYR.mjs +0 -88
  298. package/dist/create-I5INSZYR.mjs.map +0 -1
  299. package/dist/create-IPLFOXBK.js +0 -91
  300. package/dist/create-IPLFOXBK.js.map +0 -1
  301. package/dist/create-IZAVSAXI.js +0 -72
  302. package/dist/create-IZAVSAXI.js.map +0 -1
  303. package/dist/create-P3647AMU.mjs +0 -94
  304. package/dist/create-P3647AMU.mjs.map +0 -1
  305. package/dist/create-PL3BMGB5.js +0 -43
  306. package/dist/create-PL3BMGB5.js.map +0 -1
  307. package/dist/create-Q6WY7YSF.js +0 -52
  308. package/dist/create-Q6WY7YSF.js.map +0 -1
  309. package/dist/create-RGZUQUZO.js +0 -94
  310. package/dist/create-RGZUQUZO.js.map +0 -1
  311. package/dist/create-SPAXSFIN.mjs +0 -88
  312. package/dist/create-SPAXSFIN.mjs.map +0 -1
  313. package/dist/create-SYHW6YGS.js +0 -88
  314. package/dist/create-SYHW6YGS.js.map +0 -1
  315. package/dist/create-T3V4JRJQ.mjs +0 -71
  316. package/dist/create-T3V4JRJQ.mjs.map +0 -1
  317. package/dist/create-TCP2VODP.js +0 -88
  318. package/dist/create-TCP2VODP.js.map +0 -1
  319. package/dist/create-TZ76BDWV.mjs +0 -49
  320. package/dist/create-TZ76BDWV.mjs.map +0 -1
  321. package/dist/create-UKY4IZ7G.js +0 -87
  322. package/dist/create-UKY4IZ7G.js.map +0 -1
  323. package/dist/create-WGU3PIT2.js +0 -71
  324. package/dist/create-WGU3PIT2.js.map +0 -1
  325. package/dist/create-WTO4NPVP.js +0 -75
  326. package/dist/create-WTO4NPVP.js.map +0 -1
  327. package/dist/create-XPJS3IZT.mjs +0 -48
  328. package/dist/create-XPJS3IZT.mjs.map +0 -1
  329. package/dist/create-ZBLKIRIH.js +0 -23
  330. package/dist/create-ZBLKIRIH.js.map +0 -1
  331. package/dist/create-ZU4LXLBN.mjs +0 -23
  332. package/dist/create-ZU4LXLBN.mjs.map +0 -1
  333. package/dist/create-ZW3J4VVP.js +0 -92
  334. package/dist/create-ZW3J4VVP.js.map +0 -1
  335. package/dist/delete-3PMEY5RH.mjs +0 -42
  336. package/dist/delete-3PMEY5RH.mjs.map +0 -1
  337. package/dist/delete-6FRZ6LJJ.mjs +0 -61
  338. package/dist/delete-6FRZ6LJJ.mjs.map +0 -1
  339. package/dist/delete-7KSO3V3O.js +0 -39
  340. package/dist/delete-7KSO3V3O.js.map +0 -1
  341. package/dist/delete-BPKFSXIY.js +0 -52
  342. package/dist/delete-BPKFSXIY.js.map +0 -1
  343. package/dist/delete-BSYUEGEX.js +0 -52
  344. package/dist/delete-BSYUEGEX.js.map +0 -1
  345. package/dist/delete-DOIVCA44.js +0 -52
  346. package/dist/delete-DOIVCA44.js.map +0 -1
  347. package/dist/delete-DSDE42CQ.js +0 -41
  348. package/dist/delete-DSDE42CQ.js.map +0 -1
  349. package/dist/delete-E2O6CPEK.mjs +0 -38
  350. package/dist/delete-E2O6CPEK.mjs.map +0 -1
  351. package/dist/delete-FLA25Y4H.js +0 -39
  352. package/dist/delete-FLA25Y4H.js.map +0 -1
  353. package/dist/delete-G5IYZ6R5.mjs +0 -59
  354. package/dist/delete-G5IYZ6R5.mjs.map +0 -1
  355. package/dist/delete-HZIBPYQY.js +0 -61
  356. package/dist/delete-HZIBPYQY.js.map +0 -1
  357. package/dist/delete-IRJG3K2J.mjs +0 -41
  358. package/dist/delete-IRJG3K2J.mjs.map +0 -1
  359. package/dist/delete-JMX33YI4.mjs +0 -52
  360. package/dist/delete-JMX33YI4.mjs.map +0 -1
  361. package/dist/delete-KNAPRRCM.js +0 -44
  362. package/dist/delete-KNAPRRCM.js.map +0 -1
  363. package/dist/delete-M7EG5VPB.mjs +0 -39
  364. package/dist/delete-M7EG5VPB.mjs.map +0 -1
  365. package/dist/delete-MSAI4E5L.js +0 -52
  366. package/dist/delete-MSAI4E5L.js.map +0 -1
  367. package/dist/delete-NH4NQLFP.mjs +0 -57
  368. package/dist/delete-NH4NQLFP.mjs.map +0 -1
  369. package/dist/delete-NPKRSFGU.js +0 -57
  370. package/dist/delete-NPKRSFGU.js.map +0 -1
  371. package/dist/delete-POZCY7IQ.mjs +0 -52
  372. package/dist/delete-POZCY7IQ.mjs.map +0 -1
  373. package/dist/delete-R2HXHQBB.js +0 -42
  374. package/dist/delete-R2HXHQBB.js.map +0 -1
  375. package/dist/delete-TSXQER52.js +0 -59
  376. package/dist/delete-TSXQER52.js.map +0 -1
  377. package/dist/delete-U655HP5R.mjs +0 -39
  378. package/dist/delete-U655HP5R.mjs.map +0 -1
  379. package/dist/delete-UERL72WN.js +0 -38
  380. package/dist/delete-UERL72WN.js.map +0 -1
  381. package/dist/delete-UTKUA6Z4.mjs +0 -52
  382. package/dist/delete-UTKUA6Z4.mjs.map +0 -1
  383. package/dist/delete-WP3JYGLE.mjs +0 -59
  384. package/dist/delete-WP3JYGLE.mjs.map +0 -1
  385. package/dist/delete-X6JLYJCH.js +0 -59
  386. package/dist/delete-X6JLYJCH.js.map +0 -1
  387. package/dist/delete-XAUAF53M.mjs +0 -52
  388. package/dist/delete-XAUAF53M.mjs.map +0 -1
  389. package/dist/delete-YT3ID37D.mjs +0 -44
  390. package/dist/delete-YT3ID37D.mjs.map +0 -1
  391. package/dist/docs-23TMQCLZ.js +0 -77
  392. package/dist/docs-23TMQCLZ.js.map +0 -1
  393. package/dist/docs-YG2DQVHD.mjs +0 -77
  394. package/dist/docs-YG2DQVHD.mjs.map +0 -1
  395. package/dist/download-F2DXRLJP.mjs +0 -100
  396. package/dist/download-F2DXRLJP.mjs.map +0 -1
  397. package/dist/download-PK2DSPEO.js +0 -100
  398. package/dist/download-PK2DSPEO.js.map +0 -1
  399. package/dist/duplicate-B7OUVDVB.mjs +0 -45
  400. package/dist/duplicate-B7OUVDVB.mjs.map +0 -1
  401. package/dist/duplicate-IGMNYMPS.js +0 -45
  402. package/dist/duplicate-IGMNYMPS.js.map +0 -1
  403. package/dist/export-SNBK2AV4.mjs +0 -103
  404. package/dist/export-SNBK2AV4.mjs.map +0 -1
  405. package/dist/export-VIEFMUVQ.js +0 -103
  406. package/dist/export-VIEFMUVQ.js.map +0 -1
  407. package/dist/get-45ULRVIG.js +0 -49
  408. package/dist/get-45ULRVIG.js.map +0 -1
  409. package/dist/get-4NKLZBDS.mjs +0 -85
  410. package/dist/get-4NKLZBDS.mjs.map +0 -1
  411. package/dist/get-5HAYNLXN.js +0 -85
  412. package/dist/get-5HAYNLXN.js.map +0 -1
  413. package/dist/get-6CNGBUW6.js +0 -71
  414. package/dist/get-6CNGBUW6.js.map +0 -1
  415. package/dist/get-6ECLGAOQ.js +0 -67
  416. package/dist/get-6ECLGAOQ.js.map +0 -1
  417. package/dist/get-ATD54O5U.js +0 -94
  418. package/dist/get-ATD54O5U.js.map +0 -1
  419. package/dist/get-BOXL42XW.mjs +0 -66
  420. package/dist/get-BOXL42XW.mjs.map +0 -1
  421. package/dist/get-C6OSKZH3.js +0 -51
  422. package/dist/get-C6OSKZH3.js.map +0 -1
  423. package/dist/get-C7SCGYAT.js +0 -70
  424. package/dist/get-C7SCGYAT.js.map +0 -1
  425. package/dist/get-CLTPKM7D.mjs +0 -68
  426. package/dist/get-CLTPKM7D.mjs.map +0 -1
  427. package/dist/get-CRGWXOZP.mjs +0 -70
  428. package/dist/get-CRGWXOZP.mjs.map +0 -1
  429. package/dist/get-D6SHECLX.mjs +0 -51
  430. package/dist/get-D6SHECLX.mjs.map +0 -1
  431. package/dist/get-EH37CXA2.js +0 -149
  432. package/dist/get-EH37CXA2.js.map +0 -1
  433. package/dist/get-FBWUXIQN.js +0 -76
  434. package/dist/get-FBWUXIQN.js.map +0 -1
  435. package/dist/get-FCJFZY5M.js +0 -56
  436. package/dist/get-FCJFZY5M.js.map +0 -1
  437. package/dist/get-H3DWTNDA.js +0 -71
  438. package/dist/get-H3DWTNDA.js.map +0 -1
  439. package/dist/get-JKRW7OHW.mjs +0 -52
  440. package/dist/get-JKRW7OHW.mjs.map +0 -1
  441. package/dist/get-KS3QMH5A.mjs +0 -76
  442. package/dist/get-KS3QMH5A.mjs.map +0 -1
  443. package/dist/get-NP6FEVLY.mjs +0 -49
  444. package/dist/get-NP6FEVLY.mjs.map +0 -1
  445. package/dist/get-P7W3V3CB.mjs +0 -52
  446. package/dist/get-P7W3V3CB.mjs.map +0 -1
  447. package/dist/get-QO7VEIRN.mjs +0 -149
  448. package/dist/get-QO7VEIRN.mjs.map +0 -1
  449. package/dist/get-QUXBSMZE.js +0 -52
  450. package/dist/get-QUXBSMZE.js.map +0 -1
  451. package/dist/get-ROAE6T5N.mjs +0 -56
  452. package/dist/get-ROAE6T5N.mjs.map +0 -1
  453. package/dist/get-RYIZPF25.mjs +0 -71
  454. package/dist/get-RYIZPF25.mjs.map +0 -1
  455. package/dist/get-T5BHOLX2.js +0 -68
  456. package/dist/get-T5BHOLX2.js.map +0 -1
  457. package/dist/get-TITUKTHE.mjs +0 -71
  458. package/dist/get-TITUKTHE.mjs.map +0 -1
  459. package/dist/get-UOZBGGCG.mjs +0 -71
  460. package/dist/get-UOZBGGCG.mjs.map +0 -1
  461. package/dist/get-WW7HVSUY.mjs +0 -67
  462. package/dist/get-WW7HVSUY.mjs.map +0 -1
  463. package/dist/get-XDNDTHQU.js +0 -71
  464. package/dist/get-XDNDTHQU.js.map +0 -1
  465. package/dist/get-YPCHKUHM.js +0 -52
  466. package/dist/get-YPCHKUHM.js.map +0 -1
  467. package/dist/get-ZLSHYP57.js +0 -66
  468. package/dist/get-ZLSHYP57.js.map +0 -1
  469. package/dist/get-ZXTDMVWX.mjs +0 -94
  470. package/dist/get-ZXTDMVWX.mjs.map +0 -1
  471. package/dist/health-LCGP7UDT.js +0 -73
  472. package/dist/health-LCGP7UDT.js.map +0 -1
  473. package/dist/health-MCMRR6RQ.mjs +0 -73
  474. package/dist/health-MCMRR6RQ.mjs.map +0 -1
  475. package/dist/ingestion-templates-7TLETXIF.mjs +0 -169
  476. package/dist/ingestion-templates-7TLETXIF.mjs.map +0 -1
  477. package/dist/ingestion-templates-AT5AKWJB.js +0 -169
  478. package/dist/ingestion-templates-AT5AKWJB.js.map +0 -1
  479. package/dist/init-SQ5UUFDM.js +0 -16
  480. package/dist/init-SQ5UUFDM.js.map +0 -1
  481. package/dist/init-UGSR2T2P.mjs +0 -16
  482. package/dist/init-UGSR2T2P.mjs.map +0 -1
  483. package/dist/init-shell-AEPYN2KV.mjs +0 -72
  484. package/dist/init-shell-AEPYN2KV.mjs.map +0 -1
  485. package/dist/init-shell-ULEEQ522.js +0 -72
  486. package/dist/init-shell-ULEEQ522.js.map +0 -1
  487. package/dist/install-PQACVMPW.mjs +0 -191
  488. package/dist/install-PQACVMPW.mjs.map +0 -1
  489. package/dist/install-UAGU7V2O.js +0 -191
  490. package/dist/install-UAGU7V2O.js.map +0 -1
  491. package/dist/list-44QMJJBX.js +0 -82
  492. package/dist/list-44QMJJBX.js.map +0 -1
  493. package/dist/list-45DYTLFR.js +0 -86
  494. package/dist/list-45DYTLFR.js.map +0 -1
  495. package/dist/list-53O3I5OT.js +0 -53
  496. package/dist/list-53O3I5OT.js.map +0 -1
  497. package/dist/list-5RDJDIDE.js +0 -78
  498. package/dist/list-5RDJDIDE.js.map +0 -1
  499. package/dist/list-6ZUZ54WZ.mjs +0 -83
  500. package/dist/list-6ZUZ54WZ.mjs.map +0 -1
  501. package/dist/list-7TJVXJW3.mjs +0 -75
  502. package/dist/list-7TJVXJW3.mjs.map +0 -1
  503. package/dist/list-B5QJP7XO.mjs +0 -122
  504. package/dist/list-B5QJP7XO.mjs.map +0 -1
  505. package/dist/list-BJXU6QSV.js +0 -87
  506. package/dist/list-BJXU6QSV.js.map +0 -1
  507. package/dist/list-C4TIICKC.mjs +0 -82
  508. package/dist/list-C4TIICKC.mjs.map +0 -1
  509. package/dist/list-CH36A6CW.js +0 -80
  510. package/dist/list-CH36A6CW.js.map +0 -1
  511. package/dist/list-CSPHALVP.mjs +0 -111
  512. package/dist/list-CSPHALVP.mjs.map +0 -1
  513. package/dist/list-CSZZQTHD.mjs +0 -82
  514. package/dist/list-CSZZQTHD.mjs.map +0 -1
  515. package/dist/list-DEQI2KOQ.js +0 -72
  516. package/dist/list-DEQI2KOQ.js.map +0 -1
  517. package/dist/list-FJ2T2GJT.js +0 -104
  518. package/dist/list-FJ2T2GJT.js.map +0 -1
  519. package/dist/list-FRLZQVS6.js +0 -71
  520. package/dist/list-FRLZQVS6.js.map +0 -1
  521. package/dist/list-FYKAGJ6V.mjs +0 -87
  522. package/dist/list-FYKAGJ6V.mjs.map +0 -1
  523. package/dist/list-G3ASKJUN.mjs +0 -104
  524. package/dist/list-G3ASKJUN.mjs.map +0 -1
  525. package/dist/list-GGTQOQA4.js +0 -111
  526. package/dist/list-GGTQOQA4.js.map +0 -1
  527. package/dist/list-GL4SXZ2E.js +0 -82
  528. package/dist/list-GL4SXZ2E.js.map +0 -1
  529. package/dist/list-GYJNBKUF.mjs +0 -53
  530. package/dist/list-GYJNBKUF.mjs.map +0 -1
  531. package/dist/list-J33YMH3T.js +0 -78
  532. package/dist/list-J33YMH3T.js.map +0 -1
  533. package/dist/list-J55FWBDR.js +0 -75
  534. package/dist/list-J55FWBDR.js.map +0 -1
  535. package/dist/list-JMX456IB.js +0 -75
  536. package/dist/list-JMX456IB.js.map +0 -1
  537. package/dist/list-KX4MIAJE.mjs +0 -85
  538. package/dist/list-KX4MIAJE.mjs.map +0 -1
  539. package/dist/list-L33MTOSA.mjs +0 -80
  540. package/dist/list-L33MTOSA.mjs.map +0 -1
  541. package/dist/list-LKF24T6D.js +0 -83
  542. package/dist/list-LKF24T6D.js.map +0 -1
  543. package/dist/list-M3IEVLUD.mjs +0 -86
  544. package/dist/list-M3IEVLUD.mjs.map +0 -1
  545. package/dist/list-M77G2Y5F.js +0 -76
  546. package/dist/list-M77G2Y5F.js.map +0 -1
  547. package/dist/list-MSIHIWG5.js +0 -80
  548. package/dist/list-MSIHIWG5.js.map +0 -1
  549. package/dist/list-N4LN7RVG.mjs +0 -90
  550. package/dist/list-N4LN7RVG.mjs.map +0 -1
  551. package/dist/list-OZDM5FA6.mjs +0 -75
  552. package/dist/list-OZDM5FA6.mjs.map +0 -1
  553. package/dist/list-PKDYDBNU.js +0 -75
  554. package/dist/list-PKDYDBNU.js.map +0 -1
  555. package/dist/list-PYQZKUBA.js +0 -85
  556. package/dist/list-PYQZKUBA.js.map +0 -1
  557. package/dist/list-QZZLS5TP.js +0 -78
  558. package/dist/list-QZZLS5TP.js.map +0 -1
  559. package/dist/list-R4SZ3SMF.mjs +0 -78
  560. package/dist/list-R4SZ3SMF.mjs.map +0 -1
  561. package/dist/list-TAFBD6EY.mjs +0 -71
  562. package/dist/list-TAFBD6EY.mjs.map +0 -1
  563. package/dist/list-VJL5TZ4T.mjs +0 -72
  564. package/dist/list-VJL5TZ4T.mjs.map +0 -1
  565. package/dist/list-VKNEMSY4.mjs +0 -80
  566. package/dist/list-VKNEMSY4.mjs.map +0 -1
  567. package/dist/list-WJNJNMQC.mjs +0 -75
  568. package/dist/list-WJNJNMQC.mjs.map +0 -1
  569. package/dist/list-XRW6CP7E.js +0 -90
  570. package/dist/list-XRW6CP7E.js.map +0 -1
  571. package/dist/list-YAR5NB2Q.mjs +0 -76
  572. package/dist/list-YAR5NB2Q.mjs.map +0 -1
  573. package/dist/list-YUYYYQ7E.js +0 -122
  574. package/dist/list-YUYYYQ7E.js.map +0 -1
  575. package/dist/list-Z3YOLIK2.mjs +0 -78
  576. package/dist/list-Z3YOLIK2.mjs.map +0 -1
  577. package/dist/list-Z6OG6DLD.mjs +0 -78
  578. package/dist/list-Z6OG6DLD.mjs.map +0 -1
  579. package/dist/login-7N3FOJOH.mjs +0 -280
  580. package/dist/login-7N3FOJOH.mjs.map +0 -1
  581. package/dist/login-JC4YGO3M.js +0 -280
  582. package/dist/login-JC4YGO3M.js.map +0 -1
  583. package/dist/logout-device-J325Y37F.js +0 -39
  584. package/dist/logout-device-J325Y37F.js.map +0 -1
  585. package/dist/logout-device-JOPQKPFL.mjs +0 -39
  586. package/dist/logout-device-JOPQKPFL.mjs.map +0 -1
  587. package/dist/open-2IGFGDDB.mjs +0 -47
  588. package/dist/open-2IGFGDDB.mjs.map +0 -1
  589. package/dist/open-TCBDPKWM.js +0 -47
  590. package/dist/open-TCBDPKWM.js.map +0 -1
  591. package/dist/pull-GBTWGZX6.js +0 -27
  592. package/dist/pull-GBTWGZX6.js.map +0 -1
  593. package/dist/pull-VHGPIULB.mjs +0 -27
  594. package/dist/pull-VHGPIULB.mjs.map +0 -1
  595. package/dist/push-5CNRDWJU.js +0 -27
  596. package/dist/push-5CNRDWJU.js.map +0 -1
  597. package/dist/push-ZPL2UNNV.mjs +0 -27
  598. package/dist/push-ZPL2UNNV.mjs.map +0 -1
  599. package/dist/query-5R2V74N2.js +0 -122
  600. package/dist/query-5R2V74N2.js.map +0 -1
  601. package/dist/query-PRJT7GQY.mjs +0 -122
  602. package/dist/query-PRJT7GQY.mjs.map +0 -1
  603. package/dist/records-add-E3S34UNT.js +0 -98
  604. package/dist/records-add-E3S34UNT.js.map +0 -1
  605. package/dist/records-add-P2FTGDNL.mjs +0 -98
  606. package/dist/records-add-P2FTGDNL.mjs.map +0 -1
  607. package/dist/records-delete-GCB6S4F3.js +0 -46
  608. package/dist/records-delete-GCB6S4F3.js.map +0 -1
  609. package/dist/records-delete-TZATYNEX.mjs +0 -46
  610. package/dist/records-delete-TZATYNEX.mjs.map +0 -1
  611. package/dist/records-list-AI5CT26J.mjs +0 -89
  612. package/dist/records-list-AI5CT26J.mjs.map +0 -1
  613. package/dist/records-list-XXOWLCZT.js +0 -89
  614. package/dist/records-list-XXOWLCZT.js.map +0 -1
  615. package/dist/records-update-TK3HWM2C.mjs +0 -53
  616. package/dist/records-update-TK3HWM2C.mjs.map +0 -1
  617. package/dist/records-update-ZVKQVZHW.js +0 -53
  618. package/dist/records-update-ZVKQVZHW.js.map +0 -1
  619. package/dist/remove-DPTA2GMZ.js +0 -114
  620. package/dist/remove-DPTA2GMZ.js.map +0 -1
  621. package/dist/remove-XAF4RTKP.mjs +0 -114
  622. package/dist/remove-XAF4RTKP.mjs.map +0 -1
  623. package/dist/rename-AAQZTQCF.mjs +0 -42
  624. package/dist/rename-AAQZTQCF.mjs.map +0 -1
  625. package/dist/rename-YG4P5PRQ.js +0 -42
  626. package/dist/rename-YG4P5PRQ.js.map +0 -1
  627. package/dist/request-increase-FLFEPGIC.js +0 -37
  628. package/dist/request-increase-FLFEPGIC.js.map +0 -1
  629. package/dist/request-increase-NHM27JXH.mjs +0 -37
  630. package/dist/request-increase-NHM27JXH.mjs.map +0 -1
  631. package/dist/restore-6TIHZUPS.js +0 -73
  632. package/dist/restore-6TIHZUPS.js.map +0 -1
  633. package/dist/restore-VJDHJ7Y3.mjs +0 -73
  634. package/dist/restore-VJDHJ7Y3.mjs.map +0 -1
  635. package/dist/revoke-7HUYDQZ6.mjs +0 -44
  636. package/dist/revoke-7HUYDQZ6.mjs.map +0 -1
  637. package/dist/revoke-OHOLPKBQ.js +0 -44
  638. package/dist/revoke-OHOLPKBQ.js.map +0 -1
  639. package/dist/revoke-OQQ56B2Z.js +0 -41
  640. package/dist/revoke-OQQ56B2Z.js.map +0 -1
  641. package/dist/revoke-UUVPYOPV.mjs +0 -41
  642. package/dist/revoke-UUVPYOPV.mjs.map +0 -1
  643. package/dist/rotate-D2QBTQC7.js +0 -52
  644. package/dist/rotate-D2QBTQC7.js.map +0 -1
  645. package/dist/rotate-MU4L6YPU.mjs +0 -52
  646. package/dist/rotate-MU4L6YPU.mjs.map +0 -1
  647. package/dist/run-2KISYEZP.js +0 -83
  648. package/dist/run-2KISYEZP.js.map +0 -1
  649. package/dist/run-ARQ7O43R.js +0 -142
  650. package/dist/run-ARQ7O43R.js.map +0 -1
  651. package/dist/run-D4YIYYTE.mjs +0 -144
  652. package/dist/run-D4YIYYTE.mjs.map +0 -1
  653. package/dist/run-GC3RJI74.mjs +0 -131
  654. package/dist/run-GC3RJI74.mjs.map +0 -1
  655. package/dist/run-HPDENKM2.js +0 -77
  656. package/dist/run-HPDENKM2.js.map +0 -1
  657. package/dist/run-NRODARJS.js +0 -144
  658. package/dist/run-NRODARJS.js.map +0 -1
  659. package/dist/run-PC5KFO4B.mjs +0 -142
  660. package/dist/run-PC5KFO4B.mjs.map +0 -1
  661. package/dist/run-URPG3S24.mjs +0 -83
  662. package/dist/run-URPG3S24.mjs.map +0 -1
  663. package/dist/run-V3O4TEQ2.js +0 -131
  664. package/dist/run-V3O4TEQ2.js.map +0 -1
  665. package/dist/run-WWBEHGYG.mjs +0 -77
  666. package/dist/run-WWBEHGYG.mjs.map +0 -1
  667. package/dist/search-L7IAXT4D.mjs +0 -108
  668. package/dist/search-L7IAXT4D.mjs.map +0 -1
  669. package/dist/search-M34FSP25.js +0 -108
  670. package/dist/search-M34FSP25.js.map +0 -1
  671. package/dist/set-5YJE4NOS.mjs +0 -105
  672. package/dist/set-5YJE4NOS.mjs.map +0 -1
  673. package/dist/set-6QKEZXES.js +0 -59
  674. package/dist/set-6QKEZXES.js.map +0 -1
  675. package/dist/set-ECD6VHQI.js +0 -105
  676. package/dist/set-ECD6VHQI.js.map +0 -1
  677. package/dist/set-X7XDEFU5.mjs +0 -59
  678. package/dist/set-X7XDEFU5.mjs.map +0 -1
  679. package/dist/status-6UGUEKSC.mjs +0 -120
  680. package/dist/status-6UGUEKSC.mjs.map +0 -1
  681. package/dist/status-DOPST7HX.js +0 -120
  682. package/dist/status-DOPST7HX.js.map +0 -1
  683. package/dist/status-GSPWZ255.mjs +0 -56
  684. package/dist/status-GSPWZ255.mjs.map +0 -1
  685. package/dist/status-M4GI2HR3.js +0 -56
  686. package/dist/status-M4GI2HR3.js.map +0 -1
  687. package/dist/status-PXWG34DC.mjs +0 -153
  688. package/dist/status-PXWG34DC.mjs.map +0 -1
  689. package/dist/status-TA4AIE6X.js +0 -153
  690. package/dist/status-TA4AIE6X.js.map +0 -1
  691. package/dist/sync-IVZ5VCKT.js +0 -132
  692. package/dist/sync-IVZ5VCKT.js.map +0 -1
  693. package/dist/sync-JRLKLXA6.mjs +0 -132
  694. package/dist/sync-JRLKLXA6.mjs.map +0 -1
  695. package/dist/tail-CKK6GFNI.js +0 -108
  696. package/dist/tail-CKK6GFNI.js.map +0 -1
  697. package/dist/tail-D26CEKSH.mjs +0 -108
  698. package/dist/tail-D26CEKSH.mjs.map +0 -1
  699. package/dist/unset-GLPKW2JV.js +0 -107
  700. package/dist/unset-GLPKW2JV.js.map +0 -1
  701. package/dist/unset-WSH675SN.mjs +0 -107
  702. package/dist/unset-WSH675SN.mjs.map +0 -1
  703. package/dist/update-3EI6SA7W.mjs +0 -65
  704. package/dist/update-3EI6SA7W.mjs.map +0 -1
  705. package/dist/update-3YLN3YXF.mjs +0 -83
  706. package/dist/update-3YLN3YXF.mjs.map +0 -1
  707. package/dist/update-4DSTSBSA.js +0 -51
  708. package/dist/update-4DSTSBSA.js.map +0 -1
  709. package/dist/update-4IRKH5VI.js +0 -48
  710. package/dist/update-4IRKH5VI.js.map +0 -1
  711. package/dist/update-62D6MLES.mjs +0 -79
  712. package/dist/update-62D6MLES.mjs.map +0 -1
  713. package/dist/update-7YUF7UJG.js +0 -61
  714. package/dist/update-7YUF7UJG.js.map +0 -1
  715. package/dist/update-AS7FCV5B.mjs +0 -61
  716. package/dist/update-AS7FCV5B.mjs.map +0 -1
  717. package/dist/update-BNJEOWPP.mjs +0 -71
  718. package/dist/update-BNJEOWPP.mjs.map +0 -1
  719. package/dist/update-CU4Z6XQR.mjs +0 -106
  720. package/dist/update-CU4Z6XQR.mjs.map +0 -1
  721. package/dist/update-DSRRR6J7.js +0 -76
  722. package/dist/update-DSRRR6J7.js.map +0 -1
  723. package/dist/update-E6BQSBVN.mjs +0 -63
  724. package/dist/update-E6BQSBVN.mjs.map +0 -1
  725. package/dist/update-ELVULBIN.mjs +0 -63
  726. package/dist/update-ELVULBIN.mjs.map +0 -1
  727. package/dist/update-EWBAZK64.mjs +0 -48
  728. package/dist/update-EWBAZK64.mjs.map +0 -1
  729. package/dist/update-EWS5LIXP.mjs +0 -51
  730. package/dist/update-EWS5LIXP.mjs.map +0 -1
  731. package/dist/update-G2LS465K.js +0 -65
  732. package/dist/update-G2LS465K.js.map +0 -1
  733. package/dist/update-GEKVSLEY.js +0 -79
  734. package/dist/update-GEKVSLEY.js.map +0 -1
  735. package/dist/update-GFAZJBC2.mjs +0 -75
  736. package/dist/update-GFAZJBC2.mjs.map +0 -1
  737. package/dist/update-JJDVXFLD.mjs +0 -48
  738. package/dist/update-JJDVXFLD.mjs.map +0 -1
  739. package/dist/update-JXSPKDKA.mjs +0 -66
  740. package/dist/update-JXSPKDKA.mjs.map +0 -1
  741. package/dist/update-KDJ64TZ2.js +0 -48
  742. package/dist/update-KDJ64TZ2.js.map +0 -1
  743. package/dist/update-MF56UHWY.js +0 -106
  744. package/dist/update-MF56UHWY.js.map +0 -1
  745. package/dist/update-MTHJCYKT.js +0 -63
  746. package/dist/update-MTHJCYKT.js.map +0 -1
  747. package/dist/update-NGJUN2VK.mjs +0 -76
  748. package/dist/update-NGJUN2VK.mjs.map +0 -1
  749. package/dist/update-SFGJMGKD.js +0 -75
  750. package/dist/update-SFGJMGKD.js.map +0 -1
  751. package/dist/update-SZNXZ7Y3.js +0 -83
  752. package/dist/update-SZNXZ7Y3.js.map +0 -1
  753. package/dist/update-UJYDVNOF.js +0 -63
  754. package/dist/update-UJYDVNOF.js.map +0 -1
  755. package/dist/update-XNHGNAQL.js +0 -66
  756. package/dist/update-XNHGNAQL.js.map +0 -1
  757. package/dist/update-YA6C47QH.js +0 -71
  758. package/dist/update-YA6C47QH.js.map +0 -1
  759. package/dist/upload-FXQRYNQC.js +0 -80
  760. package/dist/upload-FXQRYNQC.js.map +0 -1
  761. package/dist/upload-LERNY5WA.mjs +0 -80
  762. package/dist/upload-LERNY5WA.mjs.map +0 -1
  763. package/dist/versions-FI44YDAP.js +0 -85
  764. package/dist/versions-FI44YDAP.js.map +0 -1
  765. package/dist/versions-HP6HA2TT.mjs +0 -85
  766. package/dist/versions-HP6HA2TT.mjs.map +0 -1
  767. package/dist/whoami-EI52YRCH.js +0 -30
  768. package/dist/whoami-EI52YRCH.js.map +0 -1
  769. package/dist/whoami-KGRA4QEY.mjs +0 -30
  770. package/dist/whoami-KGRA4QEY.mjs.map +0 -1
  771. package/dist/wrap-G3UCHRFN.mjs +0 -34
  772. package/dist/wrap-G3UCHRFN.mjs.map +0 -1
  773. package/dist/wrap-SJHGCERM.js +0 -34
  774. package/dist/wrap-SJHGCERM.js.map +0 -1
  775. /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":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/observability-sdk/instrumentation/langchain/index.ts"],"sourcesContent":["import type { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport { type DocumentInterface } from \"@langchain/core/documents\";\nimport type { Serialized } from \"@langchain/core/load/serializable\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport type { ChatGeneration, LLMResult } from \"@langchain/core/outputs\";\nimport {\n chatMessageSchema,\n type ChatMessage,\n type ChatRichContent,\n} from \"../../../internal/generated/types/tracer\";\nimport type { ChainValues } from \"@langchain/core/utils/types\";\nimport { getLangWatchTracer } from \"../../tracer\";\nimport type { LangWatchSpan } from \"../../span\";\nimport {\n context,\n trace,\n SpanStatusCode,\n type Attributes,\n} from \"@opentelemetry/api\";\nimport { shouldCaptureInput, shouldCaptureOutput } from \"../../config\";\n\ntype RunKind = \"llm\" | \"chat\" | \"chain\" | \"tool\" | \"retriever\";\n\ntype StartArgs = {\n kind: RunKind;\n runId: string;\n parentRunId?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n name?: string;\n extraParams?: Record<string, unknown>;\n input?: unknown; // already prepared for setInput()\n};\n\nconst LANGGRAPH_METADATA_KEYS = new Set<string>([\n \"thread_id\",\n \"langgraph_step\",\n \"langgraph_node\",\n \"langgraph_triggers\",\n \"langgraph_path\",\n \"langgraph_checkpoint_ns\",\n \"__pregel_task_id\",\n \"checkpoint_ns\",\n]);\n\nexport class LangWatchCallbackHandler extends BaseCallbackHandler {\n name = \"LangWatchCallbackHandler\";\n tracer = getLangWatchTracer(\"langwatch.instrumentation.langchain\");\n\n private spans: Record<string, LangWatchSpan | undefined> = {};\n private parentOf: Record<string, string | undefined> = {};\n private skipped: Record<string, true | undefined> = {};\n private seenStarts = new Set<string>();\n\n private startRunSpan(args: StartArgs) {\n const { runId, parentRunId, serialized, tags } = args;\n this.parentOf[runId] = parentRunId;\n\n // if we want to skip, we record as such as we cn do context matching latet\n if (ctxSkip(serialized, tags)) {\n this.skipped[runId] = true;\n return;\n }\n if (this.seenStarts.has(runId)) return;\n this.seenStarts.add(runId);\n\n const parentCtx = getResolvedParentContext(\n parentRunId,\n this.spans,\n this.parentOf\n );\n const parentSpan = parentRunId ? this.spans[parentRunId] : void 0;\n const links = parentSpan\n ? [{ context: parentSpan.spanContext() }]\n : void 0;\n\n const { name, type } = deriveNameAndType({\n runType: args.kind,\n name: args.name,\n serialized: args.serialized,\n metadata: args.metadata,\n tags: args.tags,\n inputs: args.input,\n });\n\n const span = this.tracer.startSpan(name, { links }, parentCtx);\n span.setType(type);\n\n if (args.tags?.length)\n span.setAttribute(\"langwatch.langchain.run.tags\", args.tags.slice(0, 50));\n\n if (shouldCaptureInput() && args.input !== void 0) {\n const i: any = args.input as any;\n if (i && typeof i === \"object\" && \"type\" in i && \"value\" in i) {\n span.setInput(i.type, i.value);\n } else {\n span.setInput(i);\n }\n }\n\n if (args.extraParams) {\n span.setAttributes(\n Object.fromEntries(\n Object.entries(args.extraParams).map(([k, v]) => [\n `langwatch.langchain.run.extra_params.${k}`,\n wrapNonScalarValues(v),\n ])\n )\n );\n }\n\n if (args.metadata) {\n applyGenAIAttrs(span, args.metadata, args.extraParams);\n setLangGraphAttributes(span, args.metadata);\n span.setAttributes(buildLangChainMetadataAttributes(args.metadata));\n }\n\n this.spans[runId] = span;\n }\n\n private finishRun(\n runId: string,\n end: {\n output?: unknown;\n err?: Error;\n event: string;\n parentRunId?: string;\n extra?: Attributes;\n tags?: string[];\n md?: Record<string, unknown>;\n }\n ) {\n const span = this.spans[runId];\n if (!span) return;\n\n addLangChainEvent(\n span,\n end.event,\n runId,\n end.parentRunId,\n end.tags,\n end.md,\n end.extra\n );\n\n if (end.err) {\n span.recordException(end.err);\n span.setStatus({ code: SpanStatusCode.ERROR, message: end.err.message });\n } else if (shouldCaptureOutput() && end.output !== undefined) {\n span.setOutput(end.output as any);\n }\n\n span.end();\n\n delete this.spans[runId];\n delete this.parentOf[runId];\n delete this.skipped[runId];\n this.seenStarts.delete(runId);\n }\n\n async handleLLMStart(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput() && prompts\n ? {\n type: \"list\",\n value: prompts.map((p) => ({ type: \"text\", value: p })),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"llm\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleChatModelStart(\n llm: Serialized,\n messages: BaseMessage[][],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput()\n ? {\n type: \"chat_messages\",\n value: messages.flatMap(convertFromLangChainMessages),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"chat\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleLLMEnd(\n response: LLMResult,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n const span = this.spans[runId];\n const tu = (response.llmOutput as any)?.tokenUsage as\n | {\n promptTokens?: number;\n completionTokens?: number;\n totalTokens?: number;\n }\n | undefined;\n if (span && tu) {\n span.setAttributes({\n \"gen_ai.usage.prompt_tokens\": tu.promptTokens ?? 0,\n \"gen_ai.usage.completion_tokens\": tu.completionTokens ?? 0,\n \"gen_ai.usage.total_tokens\": tu.totalTokens ?? 0,\n });\n }\n\n const outputs = shouldCaptureOutput()\n ? response.generations.flat().map((g) => {\n if (\"message\" in g && g.message) {\n return convertFromLangChainMessages([\n (g as ChatGeneration).message,\n ]);\n } else if (\"text\" in g && g.text) {\n return g.text;\n }\n return g;\n })\n : undefined;\n\n this.finishRun(runId, {\n output: outputs,\n event: \"handleLLMEnd\",\n parentRunId,\n });\n }\n\n async handleLLMError(\n err: Error,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleLLMError\", parentRunId });\n }\n\n async handleChainStart(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n _runType?: string,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"chain\",\n runId,\n parentRunId,\n serialized: chain,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? inputs : void 0,\n });\n\n if (_runType) {\n const span = this.spans[runId];\n if (span) span.setAttribute(\"langwatch.langchain.run.type\", _runType);\n }\n }\n\n async handleChainEnd(\n output: ChainValues,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { output, event: \"handleChainEnd\", parentRunId });\n }\n\n async handleChainError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> | undefined }\n ): Promise<void> {\n this.finishRun(runId, {\n err,\n event: \"handleChainError\",\n parentRunId,\n tags,\n md: kwargs,\n });\n }\n\n async handleToolStart(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"tool\",\n runId,\n parentRunId,\n serialized: tool,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: input } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleToolEnd(\n output: string,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"text\", value: output }\n : void 0,\n event: \"handleToolEnd\",\n parentRunId,\n });\n }\n\n async handleToolError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleToolError\", parentRunId, tags });\n }\n\n async handleRetrieverStart(\n retriever: Serialized,\n query: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ) {\n this.startRunSpan({\n kind: \"retriever\",\n runId,\n parentRunId,\n serialized: retriever,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: query } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleRetrieverEnd(\n documents: DocumentInterface<Record<string, any>>[],\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n const span = this.spans[runId];\n\n if (span && shouldCaptureOutput()) {\n span.setOutput(documents);\n }\n\n if (span && shouldCaptureInput()) {\n span.setRAGContexts(\n documents.map((document) => ({\n document_id: document.metadata.id,\n chunk_id: document.metadata.chunk_id,\n content: document.pageContent,\n }))\n );\n }\n\n this.finishRun(runId, { event: \"handleRetrieverEnd\", parentRunId, tags });\n }\n\n async handleRetrieverError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n this.finishRun(runId, {\n err,\n event: \"handleRetrieverError\",\n parentRunId,\n tags,\n });\n }\n\n async handleAgentAction(\n _action: AgentAction,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n const span = this.spans[runId];\n if (span) {\n addLangChainEvent(span, \"handleAgentAction\", runId, parentRunId, tags);\n span.setType(\"agent\");\n }\n }\n\n async handleAgentEnd(\n action: AgentFinish,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"json\", value: action.returnValues }\n : void 0,\n event: \"handleAgentEnd\",\n parentRunId,\n tags,\n });\n }\n}\n\nexport function convertFromLangChainMessages(\n messages: BaseMessage[]\n): ChatMessage[] {\n const out: ChatMessage[] = [];\n for (const message of messages) {\n out.push(\n convertFromLangChainMessage(message as BaseMessage & { id?: string[] })\n );\n }\n return out;\n}\n\nfunction convertFromLangChainMessage(\n message: BaseMessage & { id?: string[] }\n): ChatMessage {\n let role: ChatMessage[\"role\"] = \"user\";\n\n const msgType = (message as any).type as string | undefined;\n if (msgType === \"human\") role = \"user\";\n else if (msgType === \"ai\") role = \"assistant\";\n else if (msgType === \"system\") role = \"system\";\n else if (msgType === \"function\") role = \"function\";\n else if (msgType === \"tool\") role = \"tool\";\n else {\n if (\n (message as any)?._getType?.() === \"human\" ||\n message.id?.[message.id.length - 1] === \"HumanMessage\"\n ) {\n role = \"user\";\n } else if (\n (message as any)?._getType?.() === \"ai\" ||\n message.id?.[message.id.length - 1] === \"AIMessage\"\n ) {\n role = \"assistant\";\n } else if (\n (message as any)?._getType?.() === \"system\" ||\n message.id?.[message.id.length - 1] === \"SystemMessage\"\n ) {\n role = \"system\";\n } else if (\n (message as any)?._getType?.() === \"function\" ||\n message.id?.[message.id.length - 1] === \"FunctionMessage\"\n ) {\n role = \"function\";\n } else if (\n (message as any)?._getType?.() === \"tool\" ||\n message.id?.[message.id.length - 1] === \"ToolMessage\"\n ) {\n role = \"tool\";\n }\n }\n\n const content: ChatMessage[\"content\"] =\n typeof (message as any).content === \"string\"\n ? ((message as any).content as string)\n : (message as any).content == null\n ? null\n : Array.isArray((message as any).content)\n ? (message as any).content.map(\n (c: any): ChatRichContent =>\n c?.type === \"text\"\n ? { type: \"text\", text: c.text }\n : c?.type === \"image_url\"\n ? { type: \"image_url\", image_url: c.image_url }\n : { type: \"text\", text: JSON.stringify(c) }\n )\n : JSON.stringify((message as any).content);\n\n const functionCall = (message as any).additional_kwargs;\n\n return {\n role,\n content,\n ...(functionCall &&\n typeof functionCall === \"object\" &&\n Object.keys(functionCall).length > 0\n ? { function_call: functionCall }\n : {}),\n };\n}\n\nfunction className(serialized?: Serialized): string {\n const id = (serialized as any)?.id;\n if (Array.isArray(id) && id.length) return String(id[id.length - 1]);\n const ns = (serialized as any)?.lc_namespace;\n if (Array.isArray(ns) && ns.length) return String(ns[ns.length - 1]);\n\n return \"\";\n}\n\nfunction shorten(str: string, max = 120): string {\n return typeof str === \"string\" && str.length > max\n ? str.slice(0, max - 1) + \"…\"\n : str;\n}\n\nfunction previewInput(v: unknown): string | undefined {\n if (typeof v === \"string\") {\n const s = v.trim();\n return s ? shorten(s, 120) : void 0;\n }\n return void 0;\n}\n\nfunction ctxSkip(serialized?: Serialized, tags?: string[]) {\n const cls = className(serialized);\n return (\n cls.startsWith(\"ChannelWrite\") ||\n (tags?.includes(\"langsmith:hidden\") ?? false)\n );\n}\n\nfunction wrapNonScalarValues(\n value: unknown\n): string | number | boolean | undefined {\n if (value === void 0) return void 0;\n if (value === null) return JSON.stringify(null);\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n )\n return value;\n\n // Special-case: ChatMessage[] detection via zod schema the project already has\n const chatMessages = chatMessageSchema.array().safeParse(value as any);\n if (Array.isArray(value) && chatMessages.success) {\n return JSON.stringify({ type: \"chat_messages\", value: chatMessages.data });\n }\n\n try {\n const seen = new WeakSet();\n const json = JSON.stringify(value as any, (k, val) => {\n if (typeof val === \"object\" && val !== null) {\n if (seen.has(val)) return \"[Circular]\";\n seen.add(val);\n }\n return val;\n });\n return json;\n } catch {\n return JSON.stringify({ type: \"raw\", value: \"[Non-Serializable]\" });\n }\n}\n\nfunction addLangChainEvent(\n span: LangWatchSpan,\n eventName: string,\n runId: string,\n parentRunId: string | undefined,\n tags?: string[],\n metadata?: Record<string, unknown>,\n attributes?: Attributes\n) {\n const attrs: Attributes = {\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n \"langwatch.langchain.event.name\": eventName,\n ...attributes,\n };\n\n if (tags?.length) attrs[\"langwatch.langchain.run.tags\"] = tags.slice(0, 50);\n if (metadata) {\n Object.entries(metadata).forEach(([key, value]) => {\n attrs[key] = wrapNonScalarValues(value);\n });\n }\n\n span.addEvent(\"langwatch.langchain.callback\", attrs);\n}\n\nfunction setLangGraphAttributes(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>\n) {\n if (!metadata) return;\n const keys = Object.keys(metadata);\n for (const key of keys) {\n const value = (metadata as any)[key];\n if (value !== undefined) {\n const wrapped = wrapNonScalarValues(value);\n if (wrapped !== undefined) {\n span.setAttribute(\n `langwatch.langgraph.${key}` as const,\n wrapped as any\n );\n }\n }\n }\n}\n\nfunction buildLangChainMetadataAttributes(metadata: Record<string, unknown>) {\n if (!metadata) return {};\n return Object.fromEntries(\n Object.entries(metadata)\n .filter(([key]) => !LANGGRAPH_METADATA_KEYS.has(key))\n .map(([key, value]) => [\n `langwatch.langchain.run.metadata.${key}`,\n wrapNonScalarValues(value),\n ])\n );\n}\n\nfunction applyGenAIAttrs(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>,\n extraParams?: Record<string, unknown>\n) {\n const md = (metadata ?? {}) as any;\n const ex = (extraParams ?? {}) as any;\n\n const provider = md.ls_provider as string | undefined;\n const requestModel = md.ls_model_name ?? md.kwargs?.model ?? ex.kwargs?.model;\n const temperature =\n md.ls_temperature ?? md.kwargs?.temperature ?? ex.kwargs?.temperature;\n const responseModel = md.response_metadata?.model_name as string | undefined;\n\n if (provider) span.setAttribute(\"gen_ai.system\", provider);\n if (requestModel) span.setAttribute(\"gen_ai.request.model\", requestModel);\n if (typeof temperature === \"number\")\n span.setAttribute(\"gen_ai.request.temperature\", temperature);\n if (responseModel) span.setAttribute(\"gen_ai.response.model\", responseModel);\n}\n\nfunction getResolvedParentContext(\n runId: string | undefined,\n spans: Record<string, LangWatchSpan | undefined>,\n parentOf: Record<string, string | undefined>\n) {\n let cur = runId;\n while (cur) {\n const s = spans[cur];\n if (s) return trace.setSpan(context.active(), s);\n cur = parentOf[cur];\n }\n return context.active();\n}\n\nfunction deriveNameAndType(opts: {\n runType: RunKind;\n name?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n inputs?: unknown;\n}): { name: string; type: \"llm\" | \"chain\" | \"tool\" | \"rag\" | \"component\" } {\n const { runType, name, serialized, metadata, inputs } = opts;\n\n // user-specified name / metadata override\n const hardName = (name?.trim() ?? (metadata as any)?.operation_name) as\n | string\n | undefined;\n if (hardName) {\n return {\n name: hardName,\n type:\n runType === \"tool\"\n ? \"tool\"\n : runType === \"retriever\"\n ? \"rag\"\n : runType === \"llm\" || runType === \"chat\"\n ? \"llm\"\n : \"chain\",\n };\n }\n\n const cls = className(serialized);\n const md = (metadata ?? {}) as any;\n\n // LangGraph node / router - prioritize routers over nodes\n const hasNode = md?.langgraph_node != null;\n const hasTriggers = Array.isArray(md?.langgraph_triggers) && md.langgraph_triggers.length > 0;\n const isRouter =\n cls.startsWith(\"Branch<\") || hasTriggers;\n const isGraphRunner = md?.langgraph_path && !md?.langgraph_node;\n\n // LLM / Chat - always prioritize runType over metadata\n if (runType === \"llm\" || runType === \"chat\") {\n const prov = (md?.ls_provider as string) ?? \"LLM\";\n const model = (md?.ls_model_name as string) ?? (cls || \"call\");\n const temp = md?.ls_temperature;\n const tempStr =\n temp != null\n ? typeof temp === \"number\"\n ? temp.toString()\n : JSON.stringify(temp)\n : null;\n const nm =\n tempStr != null\n ? `${prov} ${model} (temp ${tempStr})`\n : `${prov} ${model}`;\n return { name: nm, type: \"llm\" };\n }\n\n // Prioritize LangGraph routers over nodes (but after LLM/Chat)\n if (isRouter) {\n const pathArr = md?.langgraph_path as string[] | undefined;\n const fromNode =\n Array.isArray(pathArr) && pathArr.length\n ? pathArr[pathArr.length - 1]\n : undefined;\n const decision = Array.isArray(md?.langgraph_triggers)\n ? String(\n md.langgraph_triggers.find((t: any) =>\n String(t).startsWith(\"branch:\")\n ) ?? \"\"\n ).replace(/^branch:(to:)?/, \"\")\n : undefined;\n const nm = `Route: ${fromNode ?? \"unknown\"} → ${decision ?? \"unknown\"}`;\n return { name: nm, type: \"component\" };\n }\n\n if (hasNode) {\n const step = md?.langgraph_step;\n const nm = `Node: ${md.langgraph_node}${\n step != null ? ` (step ${String(step)})` : \"\"\n }`;\n return { name: nm, type: \"component\" };\n }\n if (isGraphRunner && runType === \"chain\") {\n return { name: \"Graph: LangGraph\", type: \"chain\" };\n }\n\n // Tool\n if (runType === \"tool\") {\n const tool = (metadata as any)?.name ?? (cls || \"tool\");\n const prev =\n previewInput(inputs) ?? previewInput((serialized as any)?.input);\n return {\n name: prev ? `Tool: ${tool} — ${prev}` : `Tool: ${tool}`,\n type: \"tool\",\n };\n }\n\n // Retriever\n if (runType === \"retriever\") return { name: \"Retriever\", type: \"rag\" };\n\n // Fallbacks\n if (cls.includes(\"Agent\"))\n return { name: `Agent: ${cls}`, type: \"component\" };\n if (cls.startsWith(\"Runnable\"))\n return { name: `Runnable: ${cls.replace(/^Runnable/, \"\")}`, type: \"chain\" };\n return { name: cls || \"LangChain operation\", type: \"chain\" };\n}\n\n// Export helper functions for testing\nexport {\n className,\n shorten,\n previewInput,\n ctxSkip,\n wrapNonScalarValues,\n addLangChainEvent,\n setLangGraphAttributes,\n buildLangChainMetadataAttributes,\n applyGenAIAttrs,\n getResolvedParentContext,\n deriveNameAndType,\n};\n"],"mappings":"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","names":[]}
@@ -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 { S as SemConvAttributes } from '../../../types-BvCQH8F1.mjs';
9
- import { D as DataCaptureOptions } from '../../../types-Dmazk5Bk.mjs';
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 { S as SemConvAttributes } from '../../../types-BvCQH8F1.js';
9
- import { D as DataCaptureOptions } from '../../../types-Dmazk5Bk.js';
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 _chunkO75KIBCKjs = require('../../../chunk-O75KIBCK.js');
5
- require('../../../chunk-GW2YXZYN.js');
6
- require('../../../chunk-WZTRPR6A.js');
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 = _chunkO75KIBCKjs.ensureSetup; exports.setupObservability = _chunkO75KIBCKjs.setupObservability;
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,sCAAmC;AACnC,sCAAmC;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
+ {"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-QGGX6LSK.mjs";
5
- import "../../../chunk-QAZHQ7SZ.mjs";
6
- import "../../../chunk-SIXSSID3.mjs";
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 { S as SemConvAttributes } from './types-BvCQH8F1.mjs';
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/answer_relevancy */
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 ChatMessage as C, FetchPolicy as F, INPUT_OUTPUT_TYPES as I, type JsonSerializable as J, type LangWatchTracer as L, type PromptResponse as P, type SimpleChatMessage as S, type TagDefinition as T, type UpdatePromptBody as U, type LangWatchSpan as a, type InputOutputType as b, type LangWatchSpanMetrics as c, type LangWatchSpanOptions as d, type LangWatchSpanRAGContext as e, type SpanType as f, type CreatePromptBody as g, type CreatedTag as h, type PromptData as i, Prompt as j, type components as k, type operations as o, type paths as p, spanTypes as s };
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 { DataCaptureOptions as D, DataCaptureMode as a, DataCaptureConfig as b, DataCaptureContext as c, DataCapturePredicate as d };
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 { DataCaptureOptions as D, DataCaptureMode as a, DataCaptureConfig as b, DataCaptureContext as c, DataCapturePredicate as d };
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 SemConvAttributes as S, type SemConvAttributeKey as a, type SemConvLogRecordAttributes as b, langwatchAttributes as l };
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 SemConvAttributes as S, type SemConvAttributeKey as a, type SemConvLogRecordAttributes as b, langwatchAttributes as l };
262
+ export { type SemConvAttributeKey as S, type SemConvAttributes as a, type SemConvLogRecordAttributes as b, langwatchAttributes as l };