langwatch 0.31.0 → 0.33.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 (1220) hide show
  1. package/dist/add-Q2IP7YH3.mjs +148 -0
  2. package/dist/add-X3B3DLPD.js +148 -0
  3. package/dist/add-X3B3DLPD.js.map +1 -0
  4. package/dist/archive-G3LVQFLL.js +41 -0
  5. package/dist/archive-G3LVQFLL.js.map +1 -0
  6. package/dist/archive-KA3DDEKA.mjs +41 -0
  7. package/dist/assign-MHDHXJLE.mjs +54 -0
  8. package/dist/assign-ZQ6IWPRW.js +54 -0
  9. package/dist/assign-ZQ6IWPRW.js.map +1 -0
  10. package/dist/chunk-35TLPU6Q.mjs +1411 -0
  11. package/dist/chunk-35TLPU6Q.mjs.map +1 -0
  12. package/dist/chunk-3E6W6KZ7.js +277 -0
  13. package/dist/chunk-3E6W6KZ7.js.map +1 -0
  14. package/dist/chunk-56HLVZTH.mjs +101 -0
  15. package/dist/chunk-5YPBJ2RX.js +300 -0
  16. package/dist/chunk-5YPBJ2RX.js.map +1 -0
  17. package/dist/chunk-6JLYEKSN.mjs +136 -0
  18. package/dist/chunk-76F3JX5P.mjs +63 -0
  19. package/dist/chunk-7DLH2I54.js +1411 -0
  20. package/dist/chunk-7DLH2I54.js.map +1 -0
  21. package/dist/chunk-A665WGBN.js +68 -0
  22. package/dist/chunk-A665WGBN.js.map +1 -0
  23. package/dist/chunk-A7JNYV5M.js +264 -0
  24. package/dist/chunk-A7JNYV5M.js.map +1 -0
  25. package/dist/chunk-B5TBCV6N.js +96 -0
  26. package/dist/chunk-B5TBCV6N.js.map +1 -0
  27. package/dist/chunk-BCWCQQVZ.js +103 -0
  28. package/dist/chunk-BCWCQQVZ.js.map +1 -0
  29. package/dist/chunk-BGYXA2QV.mjs +96 -0
  30. package/dist/chunk-BZCUVXVX.js +136 -0
  31. package/dist/chunk-BZCUVXVX.js.map +1 -0
  32. package/dist/chunk-C3AJ77YT.js +70 -0
  33. package/dist/chunk-C3AJ77YT.js.map +1 -0
  34. package/dist/chunk-C5MLYQPW.mjs +512 -0
  35. package/dist/chunk-CEJY6QI3.mjs +508 -0
  36. package/dist/chunk-CEJY6QI3.mjs.map +1 -0
  37. package/dist/chunk-D3UYY7BE.mjs +90 -0
  38. package/dist/chunk-EGOB3GIL.mjs +156 -0
  39. package/dist/chunk-EGOB3GIL.mjs.map +1 -0
  40. package/dist/chunk-EOPOUETF.js +76 -0
  41. package/dist/chunk-EOPOUETF.js.map +1 -0
  42. package/dist/chunk-FHIZZVOY.mjs +894 -0
  43. package/dist/chunk-FHIZZVOY.mjs.map +1 -0
  44. package/dist/chunk-G7XWPZVF.mjs +264 -0
  45. package/dist/chunk-G7XWPZVF.mjs.map +1 -0
  46. package/dist/chunk-GCSSYCND.mjs +103 -0
  47. package/dist/chunk-GPKFTIVT.mjs +300 -0
  48. package/dist/chunk-GWQIWOSA.js +51 -0
  49. package/dist/chunk-GWQIWOSA.js.map +1 -0
  50. package/dist/chunk-HAIPL262.mjs +63 -0
  51. package/dist/chunk-HAIPL262.mjs.map +1 -0
  52. package/dist/chunk-HLWOZ2EB.js +842 -0
  53. package/dist/chunk-HLWOZ2EB.js.map +1 -0
  54. package/dist/chunk-ILLSPR66.js +85 -0
  55. package/dist/chunk-ILLSPR66.js.map +1 -0
  56. package/dist/chunk-IV5D5ONR.mjs +92 -0
  57. package/dist/chunk-J7DHDTC2.js +92 -0
  58. package/dist/chunk-J7DHDTC2.js.map +1 -0
  59. package/dist/chunk-JU4TVC65.mjs +76 -0
  60. package/dist/chunk-JZBRGWCQ.js +42 -0
  61. package/dist/chunk-JZBRGWCQ.js.map +1 -0
  62. package/dist/chunk-K6DOYWPS.js +34 -0
  63. package/dist/chunk-K6DOYWPS.js.map +1 -0
  64. package/dist/chunk-KSHHFBLP.mjs +663 -0
  65. package/dist/chunk-KT6HZNPV.js +36 -0
  66. package/dist/chunk-KT6HZNPV.js.map +1 -0
  67. package/dist/chunk-KTETIIUG.mjs +277 -0
  68. package/dist/chunk-KTETIIUG.mjs.map +1 -0
  69. package/dist/chunk-L22NFE2Y.js +80 -0
  70. package/dist/chunk-L22NFE2Y.js.map +1 -0
  71. package/dist/chunk-M44BH7B5.js +663 -0
  72. package/dist/chunk-M44BH7B5.js.map +1 -0
  73. package/dist/chunk-M5CWQUST.mjs +348 -0
  74. package/dist/chunk-M5CWQUST.mjs.map +1 -0
  75. package/dist/chunk-NQBQ73TT.js +894 -0
  76. package/dist/chunk-NQBQ73TT.js.map +1 -0
  77. package/dist/chunk-NUN3A2JL.js +36 -0
  78. package/dist/chunk-NUN3A2JL.js.map +1 -0
  79. package/dist/chunk-NWO6WIEY.js +80 -0
  80. package/dist/chunk-NWO6WIEY.js.map +1 -0
  81. package/dist/chunk-O6GI7MOK.js +196 -0
  82. package/dist/chunk-O6GI7MOK.js.map +1 -0
  83. package/dist/chunk-OAKLOXKJ.mjs +42 -0
  84. package/dist/chunk-OGAE7BVQ.js +67 -0
  85. package/dist/chunk-OGAE7BVQ.js.map +1 -0
  86. package/dist/chunk-OMGZWYBX.js +66 -0
  87. package/dist/chunk-OMGZWYBX.js.map +1 -0
  88. package/dist/chunk-Q6Y2L7K2.js +54 -0
  89. package/dist/chunk-Q6Y2L7K2.js.map +1 -0
  90. package/dist/chunk-QQNL7EER.js +96 -0
  91. package/dist/chunk-QQNL7EER.js.map +1 -0
  92. package/dist/chunk-QTQSPKSO.js +90 -0
  93. package/dist/chunk-QTQSPKSO.js.map +1 -0
  94. package/dist/chunk-QU7P4VY4.mjs +66 -0
  95. package/dist/chunk-SENLTNDW.js +512 -0
  96. package/dist/chunk-SENLTNDW.js.map +1 -0
  97. package/dist/chunk-SR6IXG3H.js +53 -0
  98. package/dist/chunk-SR6IXG3H.js.map +1 -0
  99. package/dist/chunk-TJ6BZNZN.js +63 -0
  100. package/dist/chunk-TJ6BZNZN.js.map +1 -0
  101. package/dist/chunk-TXNH2FAV.mjs +85 -0
  102. package/dist/chunk-U47MQ6CS.mjs +67 -0
  103. package/dist/chunk-U47MQ6CS.mjs.map +1 -0
  104. package/dist/chunk-U64ZSIAG.mjs +34 -0
  105. package/dist/chunk-U64ZSIAG.mjs.map +1 -0
  106. package/dist/chunk-UGCEHB5O.mjs +68 -0
  107. package/dist/chunk-ULSEH636.js +348 -0
  108. package/dist/chunk-ULSEH636.js.map +1 -0
  109. package/dist/chunk-VRGHREA7.mjs +36 -0
  110. package/dist/chunk-VSI557PV.mjs +40 -0
  111. package/dist/chunk-W2BNKVWJ.mjs +36 -0
  112. package/dist/chunk-W2BNKVWJ.mjs.map +1 -0
  113. package/dist/chunk-WUHNQOQS.js +42 -0
  114. package/dist/chunk-WUHNQOQS.js.map +1 -0
  115. package/dist/chunk-X4BHZH7P.js +156 -0
  116. package/dist/chunk-X4BHZH7P.js.map +1 -0
  117. package/dist/chunk-XQQJNND7.js +40 -0
  118. package/dist/chunk-XQQJNND7.js.map +1 -0
  119. package/dist/chunk-XZP4XGSU.js +101 -0
  120. package/dist/chunk-XZP4XGSU.js.map +1 -0
  121. package/dist/chunk-Y4SR2XOX.mjs +53 -0
  122. package/dist/chunk-Y4VNZ6M4.mjs +842 -0
  123. package/dist/chunk-Y4VNZ6M4.mjs.map +1 -0
  124. package/dist/chunk-YCYMQFCK.mjs +80 -0
  125. package/dist/chunk-YD7YGJGS.mjs +51 -0
  126. package/dist/chunk-YOFMLSCR.mjs +196 -0
  127. package/dist/chunk-Z44MRFLB.mjs +42 -0
  128. package/dist/chunk-ZFFJYYDN.js +508 -0
  129. package/dist/chunk-ZFFJYYDN.js.map +1 -0
  130. package/dist/chunk-ZHDSVAH4.mjs +80 -0
  131. package/dist/chunk-ZK7JBAZA.mjs +54 -0
  132. package/dist/chunk-ZPNBTB6K.mjs +70 -0
  133. package/dist/chunk-ZW6FPEKB.js +63 -0
  134. package/dist/chunk-ZW6FPEKB.js.map +1 -0
  135. package/dist/chunk-ZXNNEA3K.mjs +96 -0
  136. package/dist/cli/index.js +166 -179
  137. package/dist/cli/index.js.map +1 -1
  138. package/dist/cli/index.mjs +159 -172
  139. package/dist/cli/index.mjs.map +1 -1
  140. package/dist/config-GLVFORAH.mjs +96 -0
  141. package/dist/config-S5IJEKP4.js +96 -0
  142. package/dist/config-S5IJEKP4.js.map +1 -0
  143. package/dist/create-3JMML7UG.js +43 -0
  144. package/dist/create-3JMML7UG.js.map +1 -0
  145. package/dist/create-47NY6B73.js +49 -0
  146. package/dist/create-47NY6B73.js.map +1 -0
  147. package/dist/create-4DNEGL3M.js +71 -0
  148. package/dist/create-4DNEGL3M.js.map +1 -0
  149. package/dist/create-4QN5LUKH.js +58 -0
  150. package/dist/create-4QN5LUKH.js.map +1 -0
  151. package/dist/create-4Z7UHJRP.mjs +88 -0
  152. package/dist/create-5LJE5X75.mjs +71 -0
  153. package/dist/create-6P52UISK.mjs +42 -0
  154. package/dist/create-77WBXXQP.js +94 -0
  155. package/dist/create-77WBXXQP.js.map +1 -0
  156. package/dist/create-AE4DHK4X.js +92 -0
  157. package/dist/create-AE4DHK4X.js.map +1 -0
  158. package/dist/create-BAQA2KNQ.mjs +88 -0
  159. package/dist/create-CELHF3VQ.mjs +58 -0
  160. package/dist/create-CFNC3NS7.js +48 -0
  161. package/dist/create-CFNC3NS7.js.map +1 -0
  162. package/dist/create-CSFX5PK2.js +23 -0
  163. package/dist/create-CSFX5PK2.js.map +1 -0
  164. package/dist/create-CUXVFTCC.mjs +72 -0
  165. package/dist/create-ENWDXW4L.js +88 -0
  166. package/dist/create-ENWDXW4L.js.map +1 -0
  167. package/dist/create-IBNHVCH3.mjs +92 -0
  168. package/dist/create-JF67X7QF.mjs +94 -0
  169. package/dist/create-JOHDQFGP.mjs +43 -0
  170. package/dist/create-KBL3RQJD.js +72 -0
  171. package/dist/create-KBL3RQJD.js.map +1 -0
  172. package/dist/create-LIZ5IYDO.mjs +49 -0
  173. package/dist/create-MFWGGCWU.mjs +91 -0
  174. package/dist/create-NWRMJPUH.mjs +52 -0
  175. package/dist/create-NZK24RKX.mjs +75 -0
  176. package/dist/create-OADST6TX.js +88 -0
  177. package/dist/create-OADST6TX.js.map +1 -0
  178. package/dist/create-Q4S2ROG7.mjs +87 -0
  179. package/dist/create-QG5BF2IZ.mjs +48 -0
  180. package/dist/create-QTSZ4MV6.js +50 -0
  181. package/dist/create-QTSZ4MV6.js.map +1 -0
  182. package/dist/create-RDMVYC32.js +91 -0
  183. package/dist/create-RDMVYC32.js.map +1 -0
  184. package/dist/create-RNNGGW2N.js +42 -0
  185. package/dist/create-RNNGGW2N.js.map +1 -0
  186. package/dist/create-RRA765DL.mjs +50 -0
  187. package/dist/create-TC73WSZM.mjs +23 -0
  188. package/dist/create-TZOL2HUE.js +87 -0
  189. package/dist/create-TZOL2HUE.js.map +1 -0
  190. package/dist/create-UM645TPT.js +75 -0
  191. package/dist/create-UM645TPT.js.map +1 -0
  192. package/dist/create-UNHWTHF6.js +52 -0
  193. package/dist/create-UNHWTHF6.js.map +1 -0
  194. package/dist/delete-2DVGKYHJ.mjs +59 -0
  195. package/dist/delete-4XNQI4FR.js +52 -0
  196. package/dist/delete-4XNQI4FR.js.map +1 -0
  197. package/dist/delete-5IGR7LFW.mjs +61 -0
  198. package/dist/delete-6NZTBEBA.mjs +59 -0
  199. package/dist/delete-7JQHM5XL.js +61 -0
  200. package/dist/delete-7JQHM5XL.js.map +1 -0
  201. package/dist/delete-ALNP3GIL.js +39 -0
  202. package/dist/delete-ALNP3GIL.js.map +1 -0
  203. package/dist/delete-B5X5TQDN.js +59 -0
  204. package/dist/delete-B5X5TQDN.js.map +1 -0
  205. package/dist/delete-BWYSFEUP.js +57 -0
  206. package/dist/delete-BWYSFEUP.js.map +1 -0
  207. package/dist/delete-CIT5VULY.mjs +52 -0
  208. package/dist/delete-FCSC3CZJ.mjs +52 -0
  209. package/dist/delete-FPQVCWJE.js +41 -0
  210. package/dist/delete-FPQVCWJE.js.map +1 -0
  211. package/dist/delete-HLM5EIZ7.js +44 -0
  212. package/dist/delete-HLM5EIZ7.js.map +1 -0
  213. package/dist/delete-HRUPAVC6.mjs +52 -0
  214. package/dist/delete-IRP6N4SD.mjs +52 -0
  215. package/dist/delete-IX7TARG5.js +42 -0
  216. package/dist/delete-IX7TARG5.js.map +1 -0
  217. package/dist/delete-M636IL4I.mjs +39 -0
  218. package/dist/delete-O7PZ3S77.js +52 -0
  219. package/dist/delete-O7PZ3S77.js.map +1 -0
  220. package/dist/delete-PX6VKIDA.mjs +44 -0
  221. package/dist/delete-Q7FP7CAK.js +52 -0
  222. package/dist/delete-Q7FP7CAK.js.map +1 -0
  223. package/dist/delete-QO5X4SUG.js +39 -0
  224. package/dist/delete-QO5X4SUG.js.map +1 -0
  225. package/dist/delete-RZOYIWR3.mjs +42 -0
  226. package/dist/delete-SEOO5442.js +59 -0
  227. package/dist/delete-SEOO5442.js.map +1 -0
  228. package/dist/delete-UZN3D2XY.js +52 -0
  229. package/dist/delete-UZN3D2XY.js.map +1 -0
  230. package/dist/delete-VK4SOKET.js +38 -0
  231. package/dist/delete-VK4SOKET.js.map +1 -0
  232. package/dist/delete-WT5ZPOW5.mjs +39 -0
  233. package/dist/delete-XKXIQGY2.mjs +38 -0
  234. package/dist/delete-XVELJHBT.mjs +41 -0
  235. package/dist/delete-ZCOMJXJN.mjs +57 -0
  236. package/dist/download-CHMFKTTA.js +100 -0
  237. package/dist/download-CHMFKTTA.js.map +1 -0
  238. package/dist/download-LBZQQGAW.mjs +100 -0
  239. package/dist/duplicate-4CYGY3CB.js +45 -0
  240. package/dist/duplicate-4CYGY3CB.js.map +1 -0
  241. package/dist/duplicate-CK5CK7EE.mjs +45 -0
  242. package/dist/export-PCNLQKT7.mjs +103 -0
  243. package/dist/export-RJUV4K5G.js +103 -0
  244. package/dist/export-RJUV4K5G.js.map +1 -0
  245. package/dist/get-2FCVWEAR.mjs +52 -0
  246. package/dist/get-2FFH55XR.mjs +71 -0
  247. package/dist/get-33M3ULUA.mjs +56 -0
  248. package/dist/get-4FUVJWUP.js +56 -0
  249. package/dist/get-4FUVJWUP.js.map +1 -0
  250. package/dist/get-5J5ZCVO3.mjs +51 -0
  251. package/dist/get-5LPZZBFE.mjs +76 -0
  252. package/dist/get-62HI4WSZ.mjs +52 -0
  253. package/dist/get-6EASKLZD.js +52 -0
  254. package/dist/get-6EASKLZD.js.map +1 -0
  255. package/dist/get-AZ5B7JMV.js +71 -0
  256. package/dist/get-AZ5B7JMV.js.map +1 -0
  257. package/dist/get-C7F4Q4SZ.mjs +85 -0
  258. package/dist/get-C7M6MBK7.mjs +71 -0
  259. package/dist/get-DB7HWIK5.mjs +49 -0
  260. package/dist/get-DRVCLWK2.js +71 -0
  261. package/dist/get-DRVCLWK2.js.map +1 -0
  262. package/dist/get-E6UZ4RIO.mjs +67 -0
  263. package/dist/get-G6I4TTVS.mjs +70 -0
  264. package/dist/get-GBKBVQ4Z.mjs +94 -0
  265. package/dist/get-GV5SFKJX.js +51 -0
  266. package/dist/get-GV5SFKJX.js.map +1 -0
  267. package/dist/get-HBDFWG5S.js +71 -0
  268. package/dist/get-HBDFWG5S.js.map +1 -0
  269. package/dist/get-I5S7Y3AV.js +66 -0
  270. package/dist/get-I5S7Y3AV.js.map +1 -0
  271. package/dist/get-IPSTC3JQ.js +52 -0
  272. package/dist/get-IPSTC3JQ.js.map +1 -0
  273. package/dist/get-KY6NDIFX.js +67 -0
  274. package/dist/get-KY6NDIFX.js.map +1 -0
  275. package/dist/get-MDKUNVII.js +76 -0
  276. package/dist/get-MDKUNVII.js.map +1 -0
  277. package/dist/get-MPWMWBP5.js +149 -0
  278. package/dist/get-MPWMWBP5.js.map +1 -0
  279. package/dist/get-MYCFTBG2.js +68 -0
  280. package/dist/get-MYCFTBG2.js.map +1 -0
  281. package/dist/get-Q3ML5RPZ.js +85 -0
  282. package/dist/get-Q3ML5RPZ.js.map +1 -0
  283. package/dist/get-QLQE2CRR.js +70 -0
  284. package/dist/get-QLQE2CRR.js.map +1 -0
  285. package/dist/get-R57XCMUI.js +49 -0
  286. package/dist/get-R57XCMUI.js.map +1 -0
  287. package/dist/get-SBEWJXMA.mjs +66 -0
  288. package/dist/get-USU7CKKV.mjs +149 -0
  289. package/dist/get-V2XSCF5A.mjs +71 -0
  290. package/dist/get-Z3CCLLV2.mjs +68 -0
  291. package/dist/get-Z6Y2IMIC.js +94 -0
  292. package/dist/get-Z6Y2IMIC.js.map +1 -0
  293. package/dist/health-N2OH2AY2.js +73 -0
  294. package/dist/health-N2OH2AY2.js.map +1 -0
  295. package/dist/health-TRFE5XP6.mjs +73 -0
  296. package/dist/implementation-BnHDvCiV.d.ts +716 -0
  297. package/dist/implementation-DAJWafyn.d.mts +716 -0
  298. package/dist/index.d.mts +60 -53
  299. package/dist/index.d.ts +60 -53
  300. package/dist/index.js +47 -47
  301. package/dist/index.js.map +1 -1
  302. package/dist/index.mjs +23 -23
  303. package/dist/ingestion-templates-JKPKSBKU.mjs +169 -0
  304. package/dist/ingestion-templates-JKPKSBKU.mjs.map +1 -0
  305. package/dist/ingestion-templates-VMYNI5PE.js +169 -0
  306. package/dist/ingestion-templates-VMYNI5PE.js.map +1 -0
  307. package/dist/init-SQ5UUFDM.js +16 -0
  308. package/dist/init-SQ5UUFDM.js.map +1 -0
  309. package/dist/init-UGSR2T2P.mjs +16 -0
  310. package/dist/init-shell-HDRZNWT5.mjs +72 -0
  311. package/dist/init-shell-HDRZNWT5.mjs.map +1 -0
  312. package/dist/init-shell-TRIEEIBG.js +72 -0
  313. package/dist/init-shell-TRIEEIBG.js.map +1 -0
  314. package/dist/install-C7BQPKYW.js +191 -0
  315. package/dist/install-C7BQPKYW.js.map +1 -0
  316. package/dist/install-OZGCZVAX.mjs +191 -0
  317. package/dist/install-OZGCZVAX.mjs.map +1 -0
  318. package/dist/list-2CFFGBXV.mjs +76 -0
  319. package/dist/list-2D5L7NDX.mjs +71 -0
  320. package/dist/list-3RNYOMH3.js +75 -0
  321. package/dist/list-3RNYOMH3.js.map +1 -0
  322. package/dist/list-4SBPZS55.js +76 -0
  323. package/dist/list-4SBPZS55.js.map +1 -0
  324. package/dist/list-4SFFUJEU.js +78 -0
  325. package/dist/list-4SFFUJEU.js.map +1 -0
  326. package/dist/list-4WXNGK5M.mjs +80 -0
  327. package/dist/list-6U376WQD.mjs +86 -0
  328. package/dist/list-7JHALKIB.js +122 -0
  329. package/dist/list-7JHALKIB.js.map +1 -0
  330. package/dist/list-AAETVUWI.js +82 -0
  331. package/dist/list-AAETVUWI.js.map +1 -0
  332. package/dist/list-BB5WZ6RT.js +71 -0
  333. package/dist/list-BB5WZ6RT.js.map +1 -0
  334. package/dist/list-D3PAG5BA.mjs +75 -0
  335. package/dist/list-DYTJUCV5.mjs +82 -0
  336. package/dist/list-E5DZRDYB.mjs +85 -0
  337. package/dist/list-EAMGM7UH.mjs +72 -0
  338. package/dist/list-FKBXBSNK.js +75 -0
  339. package/dist/list-FKBXBSNK.js.map +1 -0
  340. package/dist/list-FMVSTEJQ.js +78 -0
  341. package/dist/list-FMVSTEJQ.js.map +1 -0
  342. package/dist/list-H342LAW7.js +72 -0
  343. package/dist/list-H342LAW7.js.map +1 -0
  344. package/dist/list-HW5FPLPX.js +83 -0
  345. package/dist/list-HW5FPLPX.js.map +1 -0
  346. package/dist/list-I7DSQZP3.js +90 -0
  347. package/dist/list-I7DSQZP3.js.map +1 -0
  348. package/dist/list-IG2LS5FB.mjs +111 -0
  349. package/dist/list-J4UCDIO7.mjs +122 -0
  350. package/dist/list-J7CSHIO7.mjs +75 -0
  351. package/dist/list-KQRCGH46.mjs +87 -0
  352. package/dist/list-LLMHZ4VJ.js +85 -0
  353. package/dist/list-LLMHZ4VJ.js.map +1 -0
  354. package/dist/list-LOMKG7GX.mjs +78 -0
  355. package/dist/list-LUTBRHMC.js +87 -0
  356. package/dist/list-LUTBRHMC.js.map +1 -0
  357. package/dist/list-MPI3XBWH.mjs +80 -0
  358. package/dist/list-MYHFWCOJ.js +80 -0
  359. package/dist/list-MYHFWCOJ.js.map +1 -0
  360. package/dist/list-NACMHMLI.mjs +53 -0
  361. package/dist/list-OFXYAGCR.mjs +78 -0
  362. package/dist/list-OSYUGPEL.js +75 -0
  363. package/dist/list-OSYUGPEL.js.map +1 -0
  364. package/dist/list-OZ3SJY3K.js +53 -0
  365. package/dist/list-OZ3SJY3K.js.map +1 -0
  366. package/dist/list-QDHXY3UU.js +111 -0
  367. package/dist/list-QDHXY3UU.js.map +1 -0
  368. package/dist/list-QEDZMWZH.mjs +75 -0
  369. package/dist/list-QN26UM36.mjs +82 -0
  370. package/dist/list-UI6UIPJA.mjs +90 -0
  371. package/dist/list-W2MSW6OM.js +78 -0
  372. package/dist/list-W2MSW6OM.js.map +1 -0
  373. package/dist/list-W5WMNQC4.js +86 -0
  374. package/dist/list-W5WMNQC4.js.map +1 -0
  375. package/dist/list-WHL45EER.mjs +83 -0
  376. package/dist/list-XXZR7LE7.js +104 -0
  377. package/dist/list-XXZR7LE7.js.map +1 -0
  378. package/dist/list-YLMF4OM2.mjs +104 -0
  379. package/dist/list-YXMRMNSO.js +80 -0
  380. package/dist/list-YXMRMNSO.js.map +1 -0
  381. package/dist/list-YZFZHZWK.mjs +78 -0
  382. package/dist/list-Z3UVHWV6.js +82 -0
  383. package/dist/list-Z3UVHWV6.js.map +1 -0
  384. package/dist/login-47UJCUSU.js +236 -0
  385. package/dist/login-47UJCUSU.js.map +1 -0
  386. package/dist/login-JR7TJML3.mjs +236 -0
  387. package/dist/login-JR7TJML3.mjs.map +1 -0
  388. package/dist/logout-device-J325Y37F.js +39 -0
  389. package/dist/logout-device-J325Y37F.js.map +1 -0
  390. package/dist/logout-device-JOPQKPFL.mjs +39 -0
  391. package/dist/observability-sdk/index.d.mts +3 -3
  392. package/dist/observability-sdk/index.d.ts +3 -3
  393. package/dist/observability-sdk/index.js +5 -5
  394. package/dist/observability-sdk/index.js.map +1 -1
  395. package/dist/observability-sdk/index.mjs +8 -8
  396. package/dist/observability-sdk/instrumentation/langchain/index.d.mts +1 -1
  397. package/dist/observability-sdk/instrumentation/langchain/index.d.ts +1 -1
  398. package/dist/observability-sdk/instrumentation/langchain/index.js +3 -3
  399. package/dist/observability-sdk/instrumentation/langchain/index.js.map +1 -1
  400. package/dist/observability-sdk/instrumentation/langchain/index.mjs +1 -1
  401. package/dist/observability-sdk/instrumentation/langchain/index.mjs.map +1 -1
  402. package/dist/observability-sdk/setup/node/index.js +4 -4
  403. package/dist/observability-sdk/setup/node/index.mjs +3 -3
  404. package/dist/open-2IGFGDDB.mjs +47 -0
  405. package/dist/open-TCBDPKWM.js +47 -0
  406. package/dist/open-TCBDPKWM.js.map +1 -0
  407. package/dist/pull-D2BGVRRQ.js +27 -0
  408. package/dist/pull-D2BGVRRQ.js.map +1 -0
  409. package/dist/pull-WYMWXDEI.mjs +27 -0
  410. package/dist/push-IEQSXRML.js +27 -0
  411. package/dist/push-IEQSXRML.js.map +1 -0
  412. package/dist/push-RVSTM24X.mjs +27 -0
  413. package/dist/query-4AKTSCJ4.js +122 -0
  414. package/dist/query-4AKTSCJ4.js.map +1 -0
  415. package/dist/query-NXIO4E43.mjs +122 -0
  416. package/dist/records-add-H42W7OL2.js +98 -0
  417. package/dist/records-add-H42W7OL2.js.map +1 -0
  418. package/dist/records-add-MEZAQFMP.mjs +98 -0
  419. package/dist/records-delete-3SW57JBS.js +46 -0
  420. package/dist/records-delete-3SW57JBS.js.map +1 -0
  421. package/dist/records-delete-TULWUHBK.mjs +46 -0
  422. package/dist/records-list-DCWD3EQ7.mjs +89 -0
  423. package/dist/records-list-IXZPDMXF.js +89 -0
  424. package/dist/records-list-IXZPDMXF.js.map +1 -0
  425. package/dist/records-update-3SCCJWLV.js +53 -0
  426. package/dist/records-update-3SCCJWLV.js.map +1 -0
  427. package/dist/records-update-HUPBIWQH.mjs +53 -0
  428. package/dist/remove-I7H6G24M.mjs +114 -0
  429. package/dist/remove-R4XQSQ7T.js +114 -0
  430. package/dist/remove-R4XQSQ7T.js.map +1 -0
  431. package/dist/rename-MX5O5TQS.mjs +42 -0
  432. package/dist/rename-UCWITCVB.js +42 -0
  433. package/dist/rename-UCWITCVB.js.map +1 -0
  434. package/dist/request-increase-FLFEPGIC.js +37 -0
  435. package/dist/request-increase-FLFEPGIC.js.map +1 -0
  436. package/dist/request-increase-NHM27JXH.mjs +37 -0
  437. package/dist/restore-URMJWFUH.js +73 -0
  438. package/dist/restore-URMJWFUH.js.map +1 -0
  439. package/dist/restore-YX52WBPO.mjs +73 -0
  440. package/dist/revoke-EBRCPCNZ.js +41 -0
  441. package/dist/revoke-EBRCPCNZ.js.map +1 -0
  442. package/dist/revoke-MOIPQURQ.mjs +44 -0
  443. package/dist/revoke-NT346HCC.js +44 -0
  444. package/dist/revoke-NT346HCC.js.map +1 -0
  445. package/dist/revoke-QM3XGPFO.mjs +41 -0
  446. package/dist/rotate-KRJIPA7Y.js +52 -0
  447. package/dist/rotate-KRJIPA7Y.js.map +1 -0
  448. package/dist/rotate-SFFTJBX6.mjs +52 -0
  449. package/dist/run-22CWT4SE.mjs +83 -0
  450. package/dist/run-BECC4Z4P.mjs +142 -0
  451. package/dist/run-E2TMYRV3.js +144 -0
  452. package/dist/run-E2TMYRV3.js.map +1 -0
  453. package/dist/run-E74YQQP5.js +77 -0
  454. package/dist/run-E74YQQP5.js.map +1 -0
  455. package/dist/run-IOZEKG5Z.js +83 -0
  456. package/dist/run-IOZEKG5Z.js.map +1 -0
  457. package/dist/run-M4SYFW7B.mjs +144 -0
  458. package/dist/run-R65VGQKC.js +131 -0
  459. package/dist/run-R65VGQKC.js.map +1 -0
  460. package/dist/run-SO2EUV4M.mjs +131 -0
  461. package/dist/run-WDKEERR7.js +142 -0
  462. package/dist/run-WDKEERR7.js.map +1 -0
  463. package/dist/run-XWZPJ7D7.mjs +77 -0
  464. package/dist/search-DK5YZUWJ.js +108 -0
  465. package/dist/search-DK5YZUWJ.js.map +1 -0
  466. package/dist/search-EE5ILLO5.mjs +108 -0
  467. package/dist/set-6JLOE6A3.js +59 -0
  468. package/dist/set-6JLOE6A3.js.map +1 -0
  469. package/dist/set-N2YD4CWA.mjs +105 -0
  470. package/dist/set-NCCBGSZI.js +105 -0
  471. package/dist/set-NCCBGSZI.js.map +1 -0
  472. package/dist/set-SQWMRODU.mjs +59 -0
  473. package/dist/status-A63BEBHA.mjs +153 -0
  474. package/dist/status-AZKXVX5K.js +120 -0
  475. package/dist/status-AZKXVX5K.js.map +1 -0
  476. package/dist/status-BRJAXF7H.mjs +56 -0
  477. package/dist/status-QEI7AEFU.mjs +120 -0
  478. package/dist/status-SPR7WGJD.js +153 -0
  479. package/dist/status-SPR7WGJD.js.map +1 -0
  480. package/dist/status-ZINQQC77.js +56 -0
  481. package/dist/status-ZINQQC77.js.map +1 -0
  482. package/dist/sync-C2FYBUXZ.mjs +132 -0
  483. package/dist/sync-N4WAZX2V.js +132 -0
  484. package/dist/sync-N4WAZX2V.js.map +1 -0
  485. package/dist/tail-2TZBJ4UU.mjs +108 -0
  486. package/dist/tail-O5WZSWUR.js +108 -0
  487. package/dist/tail-O5WZSWUR.js.map +1 -0
  488. package/dist/types-mrPkoEqK.d.mts +14817 -0
  489. package/dist/types-oFt_LG_E.d.ts +14817 -0
  490. package/dist/unset-EP5UF3HN.js +107 -0
  491. package/dist/unset-EP5UF3HN.js.map +1 -0
  492. package/dist/unset-JDBF5WZ4.mjs +107 -0
  493. package/dist/update-2NUUNQGQ.js +48 -0
  494. package/dist/update-2NUUNQGQ.js.map +1 -0
  495. package/dist/update-3HM7BQCB.mjs +79 -0
  496. package/dist/update-72TLFN4K.js +65 -0
  497. package/dist/update-72TLFN4K.js.map +1 -0
  498. package/dist/update-74CONOGX.mjs +106 -0
  499. package/dist/update-BVR5YK2N.js +106 -0
  500. package/dist/update-BVR5YK2N.js.map +1 -0
  501. package/dist/update-DWKSFXZS.mjs +76 -0
  502. package/dist/update-E2X4PTCH.mjs +66 -0
  503. package/dist/update-FZ3F4CZP.js +51 -0
  504. package/dist/update-FZ3F4CZP.js.map +1 -0
  505. package/dist/update-GEAMFHWQ.js +76 -0
  506. package/dist/update-GEAMFHWQ.js.map +1 -0
  507. package/dist/update-HTH3B37F.js +48 -0
  508. package/dist/update-HTH3B37F.js.map +1 -0
  509. package/dist/update-ICAZVWN7.mjs +48 -0
  510. package/dist/update-JZXY7QZZ.js +63 -0
  511. package/dist/update-JZXY7QZZ.js.map +1 -0
  512. package/dist/update-L3AO4LLS.js +61 -0
  513. package/dist/update-L3AO4LLS.js.map +1 -0
  514. package/dist/update-MHT2RTIA.js +75 -0
  515. package/dist/update-MHT2RTIA.js.map +1 -0
  516. package/dist/update-MICKP74Y.mjs +63 -0
  517. package/dist/update-MXMHHDQC.js +83 -0
  518. package/dist/update-MXMHHDQC.js.map +1 -0
  519. package/dist/update-OMVCUCBW.mjs +75 -0
  520. package/dist/update-OQCBAY4R.mjs +71 -0
  521. package/dist/update-REHOOIWE.mjs +61 -0
  522. package/dist/update-RG44DJJN.mjs +63 -0
  523. package/dist/update-TGAZLXSS.mjs +65 -0
  524. package/dist/update-UX7DDCTZ.js +71 -0
  525. package/dist/update-UX7DDCTZ.js.map +1 -0
  526. package/dist/update-UXXBNBD2.mjs +51 -0
  527. package/dist/update-W4TGWD7Y.js +66 -0
  528. package/dist/update-W4TGWD7Y.js.map +1 -0
  529. package/dist/update-WAKJMJSW.mjs +48 -0
  530. package/dist/update-WZFUHNL6.js +63 -0
  531. package/dist/update-WZFUHNL6.js.map +1 -0
  532. package/dist/update-X5HDX6OF.mjs +83 -0
  533. package/dist/update-YPXL5AA3.js +79 -0
  534. package/dist/update-YPXL5AA3.js.map +1 -0
  535. package/dist/upload-II4EJAVL.js +80 -0
  536. package/dist/upload-II4EJAVL.js.map +1 -0
  537. package/dist/upload-LOZDNQI7.mjs +80 -0
  538. package/dist/versions-5EUM6XGH.js +85 -0
  539. package/dist/versions-5EUM6XGH.js.map +1 -0
  540. package/dist/versions-IMI3IJXZ.mjs +85 -0
  541. package/dist/whoami-EI52YRCH.js +30 -0
  542. package/dist/whoami-EI52YRCH.js.map +1 -0
  543. package/dist/whoami-KGRA4QEY.mjs +30 -0
  544. package/dist/wrap-4RZZKIGG.mjs +34 -0
  545. package/dist/wrap-4RZZKIGG.mjs.map +1 -0
  546. package/dist/wrap-ICL5AYPL.js +34 -0
  547. package/dist/wrap-ICL5AYPL.js.map +1 -0
  548. package/package.json +3 -4
  549. package/dist/add-4GEX76FR.mjs +0 -148
  550. package/dist/add-MEIABGRA.js +0 -148
  551. package/dist/add-MEIABGRA.js.map +0 -1
  552. package/dist/archive-6YSRFVIZ.js +0 -41
  553. package/dist/archive-6YSRFVIZ.js.map +0 -1
  554. package/dist/archive-NVOBWBWQ.mjs +0 -41
  555. package/dist/assign-K37T6B4T.js +0 -54
  556. package/dist/assign-K37T6B4T.js.map +0 -1
  557. package/dist/assign-KEAEJ2CM.mjs +0 -54
  558. package/dist/chunk-24E6WZWI.js +0 -54
  559. package/dist/chunk-24E6WZWI.js.map +0 -1
  560. package/dist/chunk-27ICOQ2G.js +0 -42
  561. package/dist/chunk-27ICOQ2G.js.map +0 -1
  562. package/dist/chunk-47BQ3U2K.mjs +0 -40
  563. package/dist/chunk-4AG4UVAE.mjs +0 -96
  564. package/dist/chunk-5B7IKUNG.js +0 -297
  565. package/dist/chunk-5B7IKUNG.js.map +0 -1
  566. package/dist/chunk-5JRUUJOE.js +0 -501
  567. package/dist/chunk-5JRUUJOE.js.map +0 -1
  568. package/dist/chunk-6EEFSFAE.mjs +0 -80
  569. package/dist/chunk-6G4SEKUP.js +0 -76
  570. package/dist/chunk-6G4SEKUP.js.map +0 -1
  571. package/dist/chunk-6LJEG34C.js +0 -70
  572. package/dist/chunk-6LJEG34C.js.map +0 -1
  573. package/dist/chunk-6MVAXO5A.mjs +0 -263
  574. package/dist/chunk-6MVAXO5A.mjs.map +0 -1
  575. package/dist/chunk-6WK5F3AA.js +0 -68
  576. package/dist/chunk-6WK5F3AA.js.map +0 -1
  577. package/dist/chunk-7AXJHD6Z.mjs +0 -101
  578. package/dist/chunk-7IX4CELY.mjs +0 -63
  579. package/dist/chunk-7KTDTNXT.mjs +0 -297
  580. package/dist/chunk-7KTDTNXT.mjs.map +0 -1
  581. package/dist/chunk-7SF4OITT.js +0 -40
  582. package/dist/chunk-7SF4OITT.js.map +0 -1
  583. package/dist/chunk-7UCML4GT.mjs +0 -42
  584. package/dist/chunk-A7T4DZKC.js +0 -263
  585. package/dist/chunk-A7T4DZKC.js.map +0 -1
  586. package/dist/chunk-AA3HSZUJ.js +0 -66
  587. package/dist/chunk-AA3HSZUJ.js.map +0 -1
  588. package/dist/chunk-AZHZ4NB4.js +0 -35
  589. package/dist/chunk-AZHZ4NB4.js.map +0 -1
  590. package/dist/chunk-B4QCZKFV.mjs +0 -63
  591. package/dist/chunk-B4QCZKFV.mjs.map +0 -1
  592. package/dist/chunk-BOTX7OBC.js +0 -661
  593. package/dist/chunk-BOTX7OBC.js.map +0 -1
  594. package/dist/chunk-BTBSMJTY.mjs +0 -35
  595. package/dist/chunk-BTBSMJTY.mjs.map +0 -1
  596. package/dist/chunk-BUDHOAPR.js +0 -512
  597. package/dist/chunk-BUDHOAPR.js.map +0 -1
  598. package/dist/chunk-DAMGOHJV.mjs +0 -888
  599. package/dist/chunk-DAMGOHJV.mjs.map +0 -1
  600. package/dist/chunk-ENPWVSJU.js +0 -42
  601. package/dist/chunk-ENPWVSJU.js.map +0 -1
  602. package/dist/chunk-ERLEJBL4.js +0 -63
  603. package/dist/chunk-ERLEJBL4.js.map +0 -1
  604. package/dist/chunk-FBNSZMWH.mjs +0 -70
  605. package/dist/chunk-FDCBE3Q3.js +0 -136
  606. package/dist/chunk-FDCBE3Q3.js.map +0 -1
  607. package/dist/chunk-G335XWQW.mjs +0 -92
  608. package/dist/chunk-GAWNPFFX.js +0 -36
  609. package/dist/chunk-GAWNPFFX.js.map +0 -1
  610. package/dist/chunk-GIOZB7QD.mjs +0 -68
  611. package/dist/chunk-GJ6EEOZC.mjs +0 -96
  612. package/dist/chunk-GMK2CJBK.js +0 -663
  613. package/dist/chunk-GMK2CJBK.js.map +0 -1
  614. package/dist/chunk-GQBRWKIN.js +0 -80
  615. package/dist/chunk-GQBRWKIN.js.map +0 -1
  616. package/dist/chunk-HZHJMCEC.js +0 -63
  617. package/dist/chunk-HZHJMCEC.js.map +0 -1
  618. package/dist/chunk-IBUFY5TJ.js +0 -67
  619. package/dist/chunk-IBUFY5TJ.js.map +0 -1
  620. package/dist/chunk-IDTCVMLK.mjs +0 -34
  621. package/dist/chunk-IDTCVMLK.mjs.map +0 -1
  622. package/dist/chunk-IGRGQD4N.js +0 -34
  623. package/dist/chunk-IGRGQD4N.js.map +0 -1
  624. package/dist/chunk-IKHXX3OX.mjs +0 -53
  625. package/dist/chunk-INGKFNLE.mjs +0 -80
  626. package/dist/chunk-JGRTDNBX.js +0 -103
  627. package/dist/chunk-JGRTDNBX.js.map +0 -1
  628. package/dist/chunk-K5JHSMKT.js +0 -96
  629. package/dist/chunk-K5JHSMKT.js.map +0 -1
  630. package/dist/chunk-LAACS4ZA.js +0 -92
  631. package/dist/chunk-LAACS4ZA.js.map +0 -1
  632. package/dist/chunk-LBWSGTU2.mjs +0 -54
  633. package/dist/chunk-LU5TDIXF.mjs +0 -103
  634. package/dist/chunk-N6EIP3NH.js +0 -51
  635. package/dist/chunk-N6EIP3NH.js.map +0 -1
  636. package/dist/chunk-NCK4JOHC.mjs +0 -36
  637. package/dist/chunk-O3ZXQR6P.js +0 -53
  638. package/dist/chunk-O3ZXQR6P.js.map +0 -1
  639. package/dist/chunk-PQH77QZ4.mjs +0 -90
  640. package/dist/chunk-PSY3PSZB.mjs +0 -51
  641. package/dist/chunk-Q5MA2QJB.js +0 -346
  642. package/dist/chunk-Q5MA2QJB.js.map +0 -1
  643. package/dist/chunk-RNIRFGGU.js +0 -300
  644. package/dist/chunk-RNIRFGGU.js.map +0 -1
  645. package/dist/chunk-S47MLKDG.mjs +0 -300
  646. package/dist/chunk-S4T3LQEP.mjs +0 -136
  647. package/dist/chunk-SDUILEFR.mjs +0 -661
  648. package/dist/chunk-SDUILEFR.mjs.map +0 -1
  649. package/dist/chunk-TJDCA5V5.mjs +0 -42
  650. package/dist/chunk-TNDMQE63.mjs +0 -85
  651. package/dist/chunk-TTW74YAZ.js +0 -85
  652. package/dist/chunk-TTW74YAZ.js.map +0 -1
  653. package/dist/chunk-U42IPGT7.mjs +0 -196
  654. package/dist/chunk-VBJAWDW3.js +0 -101
  655. package/dist/chunk-VBJAWDW3.js.map +0 -1
  656. package/dist/chunk-VFXRMLPF.mjs +0 -66
  657. package/dist/chunk-VGZOUL5J.mjs +0 -285
  658. package/dist/chunk-VGZOUL5J.mjs.map +0 -1
  659. package/dist/chunk-VW3GTPRE.mjs +0 -67
  660. package/dist/chunk-VW3GTPRE.mjs.map +0 -1
  661. package/dist/chunk-WAZCNHL6.js +0 -90
  662. package/dist/chunk-WAZCNHL6.js.map +0 -1
  663. package/dist/chunk-WMFPZH2H.js +0 -80
  664. package/dist/chunk-WMFPZH2H.js.map +0 -1
  665. package/dist/chunk-WYJMMVPY.mjs +0 -346
  666. package/dist/chunk-WYJMMVPY.mjs.map +0 -1
  667. package/dist/chunk-XIUS2BTF.mjs +0 -76
  668. package/dist/chunk-XKXYBWXC.mjs +0 -663
  669. package/dist/chunk-XRVWR7XT.js +0 -96
  670. package/dist/chunk-XRVWR7XT.js.map +0 -1
  671. package/dist/chunk-YKGQVSLF.mjs +0 -501
  672. package/dist/chunk-YKGQVSLF.mjs.map +0 -1
  673. package/dist/chunk-YN2GYHG3.js +0 -285
  674. package/dist/chunk-YN2GYHG3.js.map +0 -1
  675. package/dist/chunk-YWMMPIH3.mjs +0 -512
  676. package/dist/chunk-ZFXGZHBF.js +0 -196
  677. package/dist/chunk-ZFXGZHBF.js.map +0 -1
  678. package/dist/chunk-ZSE5WWAE.js +0 -888
  679. package/dist/chunk-ZSE5WWAE.js.map +0 -1
  680. package/dist/config-CHV2IOQG.js +0 -96
  681. package/dist/config-CHV2IOQG.js.map +0 -1
  682. package/dist/config-IYRMS4ZK.mjs +0 -96
  683. package/dist/create-2G4NQNHU.mjs +0 -42
  684. package/dist/create-2LJ62VNS.mjs +0 -49
  685. package/dist/create-2N57IFDQ.js +0 -72
  686. package/dist/create-2N57IFDQ.js.map +0 -1
  687. package/dist/create-2NXTHN6A.js +0 -75
  688. package/dist/create-2NXTHN6A.js.map +0 -1
  689. package/dist/create-3EIDSUIJ.mjs +0 -87
  690. package/dist/create-3HJCKNU5.mjs +0 -94
  691. package/dist/create-3VT7KZUB.js +0 -91
  692. package/dist/create-3VT7KZUB.js.map +0 -1
  693. package/dist/create-4WCBTDWG.mjs +0 -75
  694. package/dist/create-5Y4S36FY.js +0 -23
  695. package/dist/create-5Y4S36FY.js.map +0 -1
  696. package/dist/create-6CRAXV6K.js +0 -92
  697. package/dist/create-6CRAXV6K.js.map +0 -1
  698. package/dist/create-6ZTJKKOK.js +0 -42
  699. package/dist/create-6ZTJKKOK.js.map +0 -1
  700. package/dist/create-7E4ZM3XD.mjs +0 -23
  701. package/dist/create-7QEVFFOX.mjs +0 -88
  702. package/dist/create-7ZQJ3F2Y.mjs +0 -92
  703. package/dist/create-AXF4EUTJ.mjs +0 -48
  704. package/dist/create-BHHL23VO.mjs +0 -43
  705. package/dist/create-BPLS22U7.js +0 -58
  706. package/dist/create-BPLS22U7.js.map +0 -1
  707. package/dist/create-D4ROOQBA.js +0 -50
  708. package/dist/create-D4ROOQBA.js.map +0 -1
  709. package/dist/create-EN7MTBTX.mjs +0 -72
  710. package/dist/create-FISF5JU7.mjs +0 -52
  711. package/dist/create-FLOOVKRB.mjs +0 -88
  712. package/dist/create-FPEEAMQ5.js +0 -87
  713. package/dist/create-FPEEAMQ5.js.map +0 -1
  714. package/dist/create-H2JR7ABG.js +0 -49
  715. package/dist/create-H2JR7ABG.js.map +0 -1
  716. package/dist/create-H2TIHE5T.js +0 -88
  717. package/dist/create-H2TIHE5T.js.map +0 -1
  718. package/dist/create-JP3WFT6I.js +0 -94
  719. package/dist/create-JP3WFT6I.js.map +0 -1
  720. package/dist/create-K652IF2J.js +0 -48
  721. package/dist/create-K652IF2J.js.map +0 -1
  722. package/dist/create-LSO2AIFL.js +0 -88
  723. package/dist/create-LSO2AIFL.js.map +0 -1
  724. package/dist/create-OECBWP4Y.js +0 -43
  725. package/dist/create-OECBWP4Y.js.map +0 -1
  726. package/dist/create-RXM4RKS6.mjs +0 -50
  727. package/dist/create-SOUFLICB.mjs +0 -91
  728. package/dist/create-TVECYSFN.js +0 -71
  729. package/dist/create-TVECYSFN.js.map +0 -1
  730. package/dist/create-UMTRLQFF.js +0 -52
  731. package/dist/create-UMTRLQFF.js.map +0 -1
  732. package/dist/create-VSSQ6OFM.mjs +0 -58
  733. package/dist/create-YSRX2FMP.mjs +0 -71
  734. package/dist/delete-2IICL4XZ.mjs +0 -59
  735. package/dist/delete-2ZD5HIW2.mjs +0 -57
  736. package/dist/delete-3KKJZN6K.js +0 -39
  737. package/dist/delete-3KKJZN6K.js.map +0 -1
  738. package/dist/delete-5UKD2R4Z.js +0 -52
  739. package/dist/delete-5UKD2R4Z.js.map +0 -1
  740. package/dist/delete-6CNRY62S.mjs +0 -38
  741. package/dist/delete-6NOHDD2Z.js +0 -44
  742. package/dist/delete-6NOHDD2Z.js.map +0 -1
  743. package/dist/delete-6XG2WDEO.mjs +0 -39
  744. package/dist/delete-7P7A27VB.js +0 -38
  745. package/dist/delete-7P7A27VB.js.map +0 -1
  746. package/dist/delete-AATXSN7I.mjs +0 -52
  747. package/dist/delete-AIH5TOFH.js +0 -42
  748. package/dist/delete-AIH5TOFH.js.map +0 -1
  749. package/dist/delete-CC57AY25.mjs +0 -52
  750. package/dist/delete-DJTGZ7AI.js +0 -52
  751. package/dist/delete-DJTGZ7AI.js.map +0 -1
  752. package/dist/delete-F7EURJQ4.js +0 -61
  753. package/dist/delete-F7EURJQ4.js.map +0 -1
  754. package/dist/delete-GWIIZSGG.js +0 -41
  755. package/dist/delete-GWIIZSGG.js.map +0 -1
  756. package/dist/delete-HDCCBOV2.js +0 -52
  757. package/dist/delete-HDCCBOV2.js.map +0 -1
  758. package/dist/delete-HNPNRQJ3.mjs +0 -59
  759. package/dist/delete-K2LNTKGR.mjs +0 -52
  760. package/dist/delete-LRDQWGJL.js +0 -52
  761. package/dist/delete-LRDQWGJL.js.map +0 -1
  762. package/dist/delete-MXFWOQOC.mjs +0 -39
  763. package/dist/delete-PS3CCHRM.js +0 -59
  764. package/dist/delete-PS3CCHRM.js.map +0 -1
  765. package/dist/delete-QDOPHWJL.js +0 -57
  766. package/dist/delete-QDOPHWJL.js.map +0 -1
  767. package/dist/delete-QON3MSB4.mjs +0 -42
  768. package/dist/delete-RD4BG4YN.mjs +0 -44
  769. package/dist/delete-SAF26P5T.mjs +0 -61
  770. package/dist/delete-SLGS2RVO.mjs +0 -52
  771. package/dist/delete-UR3JVTTJ.js +0 -39
  772. package/dist/delete-UR3JVTTJ.js.map +0 -1
  773. package/dist/delete-XOZV7EKE.js +0 -59
  774. package/dist/delete-XOZV7EKE.js.map +0 -1
  775. package/dist/delete-ZODFFHGL.mjs +0 -41
  776. package/dist/download-24H2CONO.js +0 -100
  777. package/dist/download-24H2CONO.js.map +0 -1
  778. package/dist/download-S4J24VMD.mjs +0 -100
  779. package/dist/duplicate-ACEKEWUB.mjs +0 -45
  780. package/dist/duplicate-W6A5U6Y7.js +0 -45
  781. package/dist/duplicate-W6A5U6Y7.js.map +0 -1
  782. package/dist/export-X7ETQY6Q.js +0 -103
  783. package/dist/export-X7ETQY6Q.js.map +0 -1
  784. package/dist/export-YCLY34NK.mjs +0 -103
  785. package/dist/get-227YSVHT.mjs +0 -76
  786. package/dist/get-2JK5KHLL.js +0 -71
  787. package/dist/get-2JK5KHLL.js.map +0 -1
  788. package/dist/get-3KB4ZEDT.js +0 -49
  789. package/dist/get-3KB4ZEDT.js.map +0 -1
  790. package/dist/get-3Y2VJHHB.js +0 -70
  791. package/dist/get-3Y2VJHHB.js.map +0 -1
  792. package/dist/get-42HT3UZE.js +0 -149
  793. package/dist/get-42HT3UZE.js.map +0 -1
  794. package/dist/get-4IRLTNBU.mjs +0 -51
  795. package/dist/get-AGPQEUXN.js +0 -66
  796. package/dist/get-AGPQEUXN.js.map +0 -1
  797. package/dist/get-FKI6S6UA.mjs +0 -70
  798. package/dist/get-FVCI6CT7.js +0 -51
  799. package/dist/get-FVCI6CT7.js.map +0 -1
  800. package/dist/get-I2QLZDN3.js +0 -52
  801. package/dist/get-I2QLZDN3.js.map +0 -1
  802. package/dist/get-I5SLPN3R.mjs +0 -71
  803. package/dist/get-KPYB5SRI.js +0 -76
  804. package/dist/get-KPYB5SRI.js.map +0 -1
  805. package/dist/get-LUOCR5Q4.js +0 -71
  806. package/dist/get-LUOCR5Q4.js.map +0 -1
  807. package/dist/get-O2F3LNHV.js +0 -67
  808. package/dist/get-O2F3LNHV.js.map +0 -1
  809. package/dist/get-P52J4Q2K.mjs +0 -56
  810. package/dist/get-Q4UDLUZC.mjs +0 -71
  811. package/dist/get-R3XLY7EV.mjs +0 -52
  812. package/dist/get-RGF5I4NP.mjs +0 -66
  813. package/dist/get-T4R3FTRG.mjs +0 -94
  814. package/dist/get-THSHHMRP.js +0 -52
  815. package/dist/get-THSHHMRP.js.map +0 -1
  816. package/dist/get-TJYW4Y6Y.js +0 -85
  817. package/dist/get-TJYW4Y6Y.js.map +0 -1
  818. package/dist/get-UI37DBK7.js +0 -56
  819. package/dist/get-UI37DBK7.js.map +0 -1
  820. package/dist/get-UKIVU6SR.js +0 -71
  821. package/dist/get-UKIVU6SR.js.map +0 -1
  822. package/dist/get-VH3K2BVI.mjs +0 -85
  823. package/dist/get-VQCPEJGR.mjs +0 -52
  824. package/dist/get-X6LBTFUZ.js +0 -68
  825. package/dist/get-X6LBTFUZ.js.map +0 -1
  826. package/dist/get-XQENNCHW.mjs +0 -149
  827. package/dist/get-YGJXWCBK.mjs +0 -49
  828. package/dist/get-YRW4KG2W.js +0 -94
  829. package/dist/get-YRW4KG2W.js.map +0 -1
  830. package/dist/get-YT2RX3NV.mjs +0 -67
  831. package/dist/get-Z4CE42C2.mjs +0 -68
  832. package/dist/get-ZT3EGWZO.mjs +0 -71
  833. package/dist/health-G7QIL32K.js +0 -73
  834. package/dist/health-G7QIL32K.js.map +0 -1
  835. package/dist/health-K4TNDKO5.mjs +0 -73
  836. package/dist/implementation-Di-ClSsj.d.mts +0 -716
  837. package/dist/implementation-DmdujeFe.d.ts +0 -716
  838. package/dist/ingestion-templates-4JIA7SSF.mjs +0 -185
  839. package/dist/ingestion-templates-4JIA7SSF.mjs.map +0 -1
  840. package/dist/ingestion-templates-ZV2373JE.js +0 -185
  841. package/dist/ingestion-templates-ZV2373JE.js.map +0 -1
  842. package/dist/init-MKAX64ZI.mjs +0 -16
  843. package/dist/init-YE44LLGI.js +0 -16
  844. package/dist/init-YE44LLGI.js.map +0 -1
  845. package/dist/init-shell-MCX27UIL.mjs +0 -71
  846. package/dist/init-shell-MCX27UIL.mjs.map +0 -1
  847. package/dist/init-shell-YK7WR2C2.js +0 -71
  848. package/dist/init-shell-YK7WR2C2.js.map +0 -1
  849. package/dist/list-2UDKSKUW.js +0 -90
  850. package/dist/list-2UDKSKUW.js.map +0 -1
  851. package/dist/list-337B5YT7.js +0 -82
  852. package/dist/list-337B5YT7.js.map +0 -1
  853. package/dist/list-3JNRAWOH.mjs +0 -78
  854. package/dist/list-4RH4CWK5.js +0 -75
  855. package/dist/list-4RH4CWK5.js.map +0 -1
  856. package/dist/list-4VEUUKAJ.mjs +0 -104
  857. package/dist/list-4WKDFP35.mjs +0 -76
  858. package/dist/list-5XTAI7VR.mjs +0 -82
  859. package/dist/list-6NRBCWDI.mjs +0 -90
  860. package/dist/list-6NUP2HER.js +0 -71
  861. package/dist/list-6NUP2HER.js.map +0 -1
  862. package/dist/list-6VJCWNTI.js +0 -82
  863. package/dist/list-6VJCWNTI.js.map +0 -1
  864. package/dist/list-6XXUT5X4.js +0 -78
  865. package/dist/list-6XXUT5X4.js.map +0 -1
  866. package/dist/list-ATZJY2CP.js +0 -104
  867. package/dist/list-ATZJY2CP.js.map +0 -1
  868. package/dist/list-BWUTGRUF.js +0 -78
  869. package/dist/list-BWUTGRUF.js.map +0 -1
  870. package/dist/list-ERQ3WK5F.mjs +0 -75
  871. package/dist/list-FRC3XP2B.js +0 -87
  872. package/dist/list-FRC3XP2B.js.map +0 -1
  873. package/dist/list-FRGTLMAT.js +0 -78
  874. package/dist/list-FRGTLMAT.js.map +0 -1
  875. package/dist/list-FSCLCJIC.js +0 -75
  876. package/dist/list-FSCLCJIC.js.map +0 -1
  877. package/dist/list-G3NQU4CF.mjs +0 -122
  878. package/dist/list-GYB2SRCD.js +0 -86
  879. package/dist/list-GYB2SRCD.js.map +0 -1
  880. package/dist/list-HBDJQWYB.js +0 -76
  881. package/dist/list-HBDJQWYB.js.map +0 -1
  882. package/dist/list-IGQHUFIA.mjs +0 -75
  883. package/dist/list-INJDEND4.mjs +0 -111
  884. package/dist/list-IPROZBHH.js +0 -122
  885. package/dist/list-IPROZBHH.js.map +0 -1
  886. package/dist/list-IXZHX6GD.mjs +0 -78
  887. package/dist/list-JF7RSCSB.js +0 -72
  888. package/dist/list-JF7RSCSB.js.map +0 -1
  889. package/dist/list-JIKEGPWA.js +0 -80
  890. package/dist/list-JIKEGPWA.js.map +0 -1
  891. package/dist/list-LA4T3NFF.mjs +0 -71
  892. package/dist/list-MDQIBRYM.js +0 -83
  893. package/dist/list-MDQIBRYM.js.map +0 -1
  894. package/dist/list-MFLOZLWX.mjs +0 -72
  895. package/dist/list-MN5GMDIA.mjs +0 -87
  896. package/dist/list-NYC7NNHZ.mjs +0 -83
  897. package/dist/list-OHWSFPJG.js +0 -111
  898. package/dist/list-OHWSFPJG.js.map +0 -1
  899. package/dist/list-PS4WGKYB.mjs +0 -86
  900. package/dist/list-RSV4NYAB.mjs +0 -80
  901. package/dist/list-SVPQEIBS.js +0 -53
  902. package/dist/list-SVPQEIBS.js.map +0 -1
  903. package/dist/list-SW7JF6T3.js +0 -75
  904. package/dist/list-SW7JF6T3.js.map +0 -1
  905. package/dist/list-TA2FG3T7.mjs +0 -75
  906. package/dist/list-THD3SUTO.mjs +0 -53
  907. package/dist/list-TML6Y76M.mjs +0 -80
  908. package/dist/list-TVEK6TTO.js +0 -80
  909. package/dist/list-TVEK6TTO.js.map +0 -1
  910. package/dist/list-U2QLKGHQ.mjs +0 -78
  911. package/dist/list-WMW7X6LM.js +0 -85
  912. package/dist/list-WMW7X6LM.js.map +0 -1
  913. package/dist/list-WWZ5ACSA.mjs +0 -85
  914. package/dist/list-YYUEVF7B.mjs +0 -82
  915. package/dist/login-VS2QKX4F.mjs +0 -231
  916. package/dist/login-VS2QKX4F.mjs.map +0 -1
  917. package/dist/login-YM5YEWKL.js +0 -231
  918. package/dist/login-YM5YEWKL.js.map +0 -1
  919. package/dist/logout-device-4GI5URWD.js +0 -39
  920. package/dist/logout-device-4GI5URWD.js.map +0 -1
  921. package/dist/logout-device-D34PE5R6.mjs +0 -39
  922. package/dist/open-JIZ3KJHS.mjs +0 -47
  923. package/dist/open-LGMC22E5.js +0 -47
  924. package/dist/open-LGMC22E5.js.map +0 -1
  925. package/dist/pull-AVI2XHRD.js +0 -27
  926. package/dist/pull-AVI2XHRD.js.map +0 -1
  927. package/dist/pull-QECZPX6I.mjs +0 -27
  928. package/dist/push-OK6KQPSS.mjs +0 -27
  929. package/dist/push-RGULJMK2.js +0 -27
  930. package/dist/push-RGULJMK2.js.map +0 -1
  931. package/dist/query-6SZHL5A7.mjs +0 -122
  932. package/dist/query-NXBTUU3H.js +0 -122
  933. package/dist/query-NXBTUU3H.js.map +0 -1
  934. package/dist/records-add-KLATF7JZ.mjs +0 -98
  935. package/dist/records-add-WVEVR2O5.js +0 -98
  936. package/dist/records-add-WVEVR2O5.js.map +0 -1
  937. package/dist/records-delete-M6BKHEHK.js +0 -46
  938. package/dist/records-delete-M6BKHEHK.js.map +0 -1
  939. package/dist/records-delete-VAWKLUIW.mjs +0 -46
  940. package/dist/records-list-B7GSIKLG.js +0 -89
  941. package/dist/records-list-B7GSIKLG.js.map +0 -1
  942. package/dist/records-list-K5XNEI4A.mjs +0 -89
  943. package/dist/records-update-MY6PKLQJ.mjs +0 -53
  944. package/dist/records-update-NWU6KXBM.js +0 -53
  945. package/dist/records-update-NWU6KXBM.js.map +0 -1
  946. package/dist/remove-2KJSQ3WB.mjs +0 -114
  947. package/dist/remove-OSWA74GW.js +0 -114
  948. package/dist/remove-OSWA74GW.js.map +0 -1
  949. package/dist/rename-VUJWXRAE.mjs +0 -42
  950. package/dist/rename-X6CMKAEP.js +0 -42
  951. package/dist/rename-X6CMKAEP.js.map +0 -1
  952. package/dist/request-increase-42B3536U.js +0 -37
  953. package/dist/request-increase-42B3536U.js.map +0 -1
  954. package/dist/request-increase-SFKA63AF.mjs +0 -37
  955. package/dist/restore-C5ZHMHY2.js +0 -73
  956. package/dist/restore-C5ZHMHY2.js.map +0 -1
  957. package/dist/restore-UJDY5PA2.mjs +0 -73
  958. package/dist/revoke-PHX66V2T.mjs +0 -41
  959. package/dist/revoke-VXXP7OOI.js +0 -41
  960. package/dist/revoke-VXXP7OOI.js.map +0 -1
  961. package/dist/revoke-XMCUFG4U.mjs +0 -44
  962. package/dist/revoke-ZJU55RDS.js +0 -44
  963. package/dist/revoke-ZJU55RDS.js.map +0 -1
  964. package/dist/rotate-7RPYZCQE.js +0 -52
  965. package/dist/rotate-7RPYZCQE.js.map +0 -1
  966. package/dist/rotate-FT7QLVF7.mjs +0 -52
  967. package/dist/run-2VZ67L4G.mjs +0 -77
  968. package/dist/run-E6DQEKM4.mjs +0 -144
  969. package/dist/run-H2M4YXRR.js +0 -142
  970. package/dist/run-H2M4YXRR.js.map +0 -1
  971. package/dist/run-HXPRFY7B.mjs +0 -83
  972. package/dist/run-IKVCFIXR.mjs +0 -131
  973. package/dist/run-LBJLMDPT.js +0 -77
  974. package/dist/run-LBJLMDPT.js.map +0 -1
  975. package/dist/run-SSGAMQGK.js +0 -131
  976. package/dist/run-SSGAMQGK.js.map +0 -1
  977. package/dist/run-TUKXHL6F.js +0 -144
  978. package/dist/run-TUKXHL6F.js.map +0 -1
  979. package/dist/run-UFLOWPPS.js +0 -83
  980. package/dist/run-UFLOWPPS.js.map +0 -1
  981. package/dist/run-ZWA34V4H.mjs +0 -142
  982. package/dist/search-UDJ7ZFY4.mjs +0 -108
  983. package/dist/search-VPMZRS7P.js +0 -108
  984. package/dist/search-VPMZRS7P.js.map +0 -1
  985. package/dist/set-CUXDTHYY.mjs +0 -105
  986. package/dist/set-EP7W3ON6.js +0 -59
  987. package/dist/set-EP7W3ON6.js.map +0 -1
  988. package/dist/set-PJQOSTLU.mjs +0 -59
  989. package/dist/set-RKD2QZCC.js +0 -105
  990. package/dist/set-RKD2QZCC.js.map +0 -1
  991. package/dist/status-CHKZG56M.js +0 -153
  992. package/dist/status-CHKZG56M.js.map +0 -1
  993. package/dist/status-HQCKMCWR.js +0 -120
  994. package/dist/status-HQCKMCWR.js.map +0 -1
  995. package/dist/status-LA3NQTLE.mjs +0 -56
  996. package/dist/status-QETT7FVP.mjs +0 -153
  997. package/dist/status-S4KZQPKI.mjs +0 -120
  998. package/dist/status-VHIZIX4I.js +0 -56
  999. package/dist/status-VHIZIX4I.js.map +0 -1
  1000. package/dist/sync-7S4VNKQ2.mjs +0 -132
  1001. package/dist/sync-VCLCSO7U.js +0 -132
  1002. package/dist/sync-VCLCSO7U.js.map +0 -1
  1003. package/dist/tail-ULXKVXW3.js +0 -108
  1004. package/dist/tail-ULXKVXW3.js.map +0 -1
  1005. package/dist/tail-ZJQ47UIQ.mjs +0 -108
  1006. package/dist/types-B2StMPS9.d.ts +0 -15127
  1007. package/dist/types-C4CiVUee.d.mts +0 -15127
  1008. package/dist/unset-MEGDDKXV.mjs +0 -107
  1009. package/dist/unset-XPUCPT3N.js +0 -107
  1010. package/dist/unset-XPUCPT3N.js.map +0 -1
  1011. package/dist/update-3YLSOWLJ.js +0 -65
  1012. package/dist/update-3YLSOWLJ.js.map +0 -1
  1013. package/dist/update-6AS42QB3.js +0 -61
  1014. package/dist/update-6AS42QB3.js.map +0 -1
  1015. package/dist/update-6GIGMIG2.mjs +0 -48
  1016. package/dist/update-6UMNXAPI.mjs +0 -63
  1017. package/dist/update-7DD7XZTQ.mjs +0 -51
  1018. package/dist/update-ALI64WHT.mjs +0 -65
  1019. package/dist/update-BFJQZTNT.mjs +0 -71
  1020. package/dist/update-HESJNNS3.js +0 -75
  1021. package/dist/update-HESJNNS3.js.map +0 -1
  1022. package/dist/update-ICA7BC5Z.mjs +0 -61
  1023. package/dist/update-IILT7FYH.js +0 -71
  1024. package/dist/update-IILT7FYH.js.map +0 -1
  1025. package/dist/update-IY7PYSRR.js +0 -63
  1026. package/dist/update-IY7PYSRR.js.map +0 -1
  1027. package/dist/update-JRGTX3U5.js +0 -79
  1028. package/dist/update-JRGTX3U5.js.map +0 -1
  1029. package/dist/update-JXX4BB7X.js +0 -63
  1030. package/dist/update-JXX4BB7X.js.map +0 -1
  1031. package/dist/update-KDOTSB52.js +0 -48
  1032. package/dist/update-KDOTSB52.js.map +0 -1
  1033. package/dist/update-KVIOASZK.mjs +0 -83
  1034. package/dist/update-KYBXRF3H.js +0 -76
  1035. package/dist/update-KYBXRF3H.js.map +0 -1
  1036. package/dist/update-L4LL2NTL.js +0 -106
  1037. package/dist/update-L4LL2NTL.js.map +0 -1
  1038. package/dist/update-LCWVSFD4.js +0 -51
  1039. package/dist/update-LCWVSFD4.js.map +0 -1
  1040. package/dist/update-LKIIDE6O.mjs +0 -106
  1041. package/dist/update-LROGOTP2.mjs +0 -79
  1042. package/dist/update-NDZHPS57.mjs +0 -48
  1043. package/dist/update-QEWSIW2K.mjs +0 -75
  1044. package/dist/update-QWLHSZDT.js +0 -83
  1045. package/dist/update-QWLHSZDT.js.map +0 -1
  1046. package/dist/update-R32MYVWM.mjs +0 -63
  1047. package/dist/update-TSFSR7H6.js +0 -66
  1048. package/dist/update-TSFSR7H6.js.map +0 -1
  1049. package/dist/update-WRC7FRCH.mjs +0 -76
  1050. package/dist/update-Y2XSQ2OD.js +0 -48
  1051. package/dist/update-Y2XSQ2OD.js.map +0 -1
  1052. package/dist/update-ZXOKDD3E.mjs +0 -66
  1053. package/dist/upload-KVPSPIOR.mjs +0 -80
  1054. package/dist/upload-XTMQBQZB.js +0 -80
  1055. package/dist/upload-XTMQBQZB.js.map +0 -1
  1056. package/dist/user-ingestion-bindings-2GNU635P.mjs +0 -129
  1057. package/dist/user-ingestion-bindings-2GNU635P.mjs.map +0 -1
  1058. package/dist/user-ingestion-bindings-JV74TMGD.js +0 -129
  1059. package/dist/user-ingestion-bindings-JV74TMGD.js.map +0 -1
  1060. package/dist/versions-IU623A4W.mjs +0 -85
  1061. package/dist/versions-ZE6BRHRD.js +0 -85
  1062. package/dist/versions-ZE6BRHRD.js.map +0 -1
  1063. package/dist/whoami-2WXL4TMP.mjs +0 -30
  1064. package/dist/whoami-TC6A4G4U.js +0 -30
  1065. package/dist/whoami-TC6A4G4U.js.map +0 -1
  1066. package/dist/wrap-FIHQNQEH.js +0 -33
  1067. package/dist/wrap-FIHQNQEH.js.map +0 -1
  1068. package/dist/wrap-OZUCTG73.mjs +0 -33
  1069. package/dist/wrap-OZUCTG73.mjs.map +0 -1
  1070. /package/dist/{add-4GEX76FR.mjs.map → add-Q2IP7YH3.mjs.map} +0 -0
  1071. /package/dist/{archive-NVOBWBWQ.mjs.map → archive-KA3DDEKA.mjs.map} +0 -0
  1072. /package/dist/{assign-KEAEJ2CM.mjs.map → assign-MHDHXJLE.mjs.map} +0 -0
  1073. /package/dist/{chunk-7AXJHD6Z.mjs.map → chunk-56HLVZTH.mjs.map} +0 -0
  1074. /package/dist/{chunk-S4T3LQEP.mjs.map → chunk-6JLYEKSN.mjs.map} +0 -0
  1075. /package/dist/{chunk-7IX4CELY.mjs.map → chunk-76F3JX5P.mjs.map} +0 -0
  1076. /package/dist/{chunk-4AG4UVAE.mjs.map → chunk-BGYXA2QV.mjs.map} +0 -0
  1077. /package/dist/{chunk-YWMMPIH3.mjs.map → chunk-C5MLYQPW.mjs.map} +0 -0
  1078. /package/dist/{chunk-PQH77QZ4.mjs.map → chunk-D3UYY7BE.mjs.map} +0 -0
  1079. /package/dist/{chunk-LU5TDIXF.mjs.map → chunk-GCSSYCND.mjs.map} +0 -0
  1080. /package/dist/{chunk-S47MLKDG.mjs.map → chunk-GPKFTIVT.mjs.map} +0 -0
  1081. /package/dist/{chunk-G335XWQW.mjs.map → chunk-IV5D5ONR.mjs.map} +0 -0
  1082. /package/dist/{chunk-XIUS2BTF.mjs.map → chunk-JU4TVC65.mjs.map} +0 -0
  1083. /package/dist/{chunk-XKXYBWXC.mjs.map → chunk-KSHHFBLP.mjs.map} +0 -0
  1084. /package/dist/{chunk-TJDCA5V5.mjs.map → chunk-OAKLOXKJ.mjs.map} +0 -0
  1085. /package/dist/{chunk-VFXRMLPF.mjs.map → chunk-QU7P4VY4.mjs.map} +0 -0
  1086. /package/dist/{chunk-TNDMQE63.mjs.map → chunk-TXNH2FAV.mjs.map} +0 -0
  1087. /package/dist/{chunk-GIOZB7QD.mjs.map → chunk-UGCEHB5O.mjs.map} +0 -0
  1088. /package/dist/{chunk-NCK4JOHC.mjs.map → chunk-VRGHREA7.mjs.map} +0 -0
  1089. /package/dist/{chunk-47BQ3U2K.mjs.map → chunk-VSI557PV.mjs.map} +0 -0
  1090. /package/dist/{chunk-IKHXX3OX.mjs.map → chunk-Y4SR2XOX.mjs.map} +0 -0
  1091. /package/dist/{chunk-6EEFSFAE.mjs.map → chunk-YCYMQFCK.mjs.map} +0 -0
  1092. /package/dist/{chunk-PSY3PSZB.mjs.map → chunk-YD7YGJGS.mjs.map} +0 -0
  1093. /package/dist/{chunk-U42IPGT7.mjs.map → chunk-YOFMLSCR.mjs.map} +0 -0
  1094. /package/dist/{chunk-7UCML4GT.mjs.map → chunk-Z44MRFLB.mjs.map} +0 -0
  1095. /package/dist/{chunk-INGKFNLE.mjs.map → chunk-ZHDSVAH4.mjs.map} +0 -0
  1096. /package/dist/{chunk-LBWSGTU2.mjs.map → chunk-ZK7JBAZA.mjs.map} +0 -0
  1097. /package/dist/{chunk-FBNSZMWH.mjs.map → chunk-ZPNBTB6K.mjs.map} +0 -0
  1098. /package/dist/{chunk-GJ6EEOZC.mjs.map → chunk-ZXNNEA3K.mjs.map} +0 -0
  1099. /package/dist/{config-IYRMS4ZK.mjs.map → config-GLVFORAH.mjs.map} +0 -0
  1100. /package/dist/{create-7QEVFFOX.mjs.map → create-4Z7UHJRP.mjs.map} +0 -0
  1101. /package/dist/{create-YSRX2FMP.mjs.map → create-5LJE5X75.mjs.map} +0 -0
  1102. /package/dist/{create-2G4NQNHU.mjs.map → create-6P52UISK.mjs.map} +0 -0
  1103. /package/dist/{create-FLOOVKRB.mjs.map → create-BAQA2KNQ.mjs.map} +0 -0
  1104. /package/dist/{create-VSSQ6OFM.mjs.map → create-CELHF3VQ.mjs.map} +0 -0
  1105. /package/dist/{create-EN7MTBTX.mjs.map → create-CUXVFTCC.mjs.map} +0 -0
  1106. /package/dist/{create-7ZQJ3F2Y.mjs.map → create-IBNHVCH3.mjs.map} +0 -0
  1107. /package/dist/{create-3HJCKNU5.mjs.map → create-JF67X7QF.mjs.map} +0 -0
  1108. /package/dist/{create-BHHL23VO.mjs.map → create-JOHDQFGP.mjs.map} +0 -0
  1109. /package/dist/{create-2LJ62VNS.mjs.map → create-LIZ5IYDO.mjs.map} +0 -0
  1110. /package/dist/{create-SOUFLICB.mjs.map → create-MFWGGCWU.mjs.map} +0 -0
  1111. /package/dist/{create-FISF5JU7.mjs.map → create-NWRMJPUH.mjs.map} +0 -0
  1112. /package/dist/{create-4WCBTDWG.mjs.map → create-NZK24RKX.mjs.map} +0 -0
  1113. /package/dist/{create-3EIDSUIJ.mjs.map → create-Q4S2ROG7.mjs.map} +0 -0
  1114. /package/dist/{create-AXF4EUTJ.mjs.map → create-QG5BF2IZ.mjs.map} +0 -0
  1115. /package/dist/{create-RXM4RKS6.mjs.map → create-RRA765DL.mjs.map} +0 -0
  1116. /package/dist/{create-7E4ZM3XD.mjs.map → create-TC73WSZM.mjs.map} +0 -0
  1117. /package/dist/{delete-2IICL4XZ.mjs.map → delete-2DVGKYHJ.mjs.map} +0 -0
  1118. /package/dist/{delete-SAF26P5T.mjs.map → delete-5IGR7LFW.mjs.map} +0 -0
  1119. /package/dist/{delete-HNPNRQJ3.mjs.map → delete-6NZTBEBA.mjs.map} +0 -0
  1120. /package/dist/{delete-K2LNTKGR.mjs.map → delete-CIT5VULY.mjs.map} +0 -0
  1121. /package/dist/{delete-SLGS2RVO.mjs.map → delete-FCSC3CZJ.mjs.map} +0 -0
  1122. /package/dist/{delete-CC57AY25.mjs.map → delete-HRUPAVC6.mjs.map} +0 -0
  1123. /package/dist/{delete-AATXSN7I.mjs.map → delete-IRP6N4SD.mjs.map} +0 -0
  1124. /package/dist/{delete-MXFWOQOC.mjs.map → delete-M636IL4I.mjs.map} +0 -0
  1125. /package/dist/{delete-RD4BG4YN.mjs.map → delete-PX6VKIDA.mjs.map} +0 -0
  1126. /package/dist/{delete-QON3MSB4.mjs.map → delete-RZOYIWR3.mjs.map} +0 -0
  1127. /package/dist/{delete-6XG2WDEO.mjs.map → delete-WT5ZPOW5.mjs.map} +0 -0
  1128. /package/dist/{delete-6CNRY62S.mjs.map → delete-XKXIQGY2.mjs.map} +0 -0
  1129. /package/dist/{delete-ZODFFHGL.mjs.map → delete-XVELJHBT.mjs.map} +0 -0
  1130. /package/dist/{delete-2ZD5HIW2.mjs.map → delete-ZCOMJXJN.mjs.map} +0 -0
  1131. /package/dist/{download-S4J24VMD.mjs.map → download-LBZQQGAW.mjs.map} +0 -0
  1132. /package/dist/{duplicate-ACEKEWUB.mjs.map → duplicate-CK5CK7EE.mjs.map} +0 -0
  1133. /package/dist/{export-YCLY34NK.mjs.map → export-PCNLQKT7.mjs.map} +0 -0
  1134. /package/dist/{get-VQCPEJGR.mjs.map → get-2FCVWEAR.mjs.map} +0 -0
  1135. /package/dist/{get-ZT3EGWZO.mjs.map → get-2FFH55XR.mjs.map} +0 -0
  1136. /package/dist/{get-P52J4Q2K.mjs.map → get-33M3ULUA.mjs.map} +0 -0
  1137. /package/dist/{get-4IRLTNBU.mjs.map → get-5J5ZCVO3.mjs.map} +0 -0
  1138. /package/dist/{get-227YSVHT.mjs.map → get-5LPZZBFE.mjs.map} +0 -0
  1139. /package/dist/{get-R3XLY7EV.mjs.map → get-62HI4WSZ.mjs.map} +0 -0
  1140. /package/dist/{get-VH3K2BVI.mjs.map → get-C7F4Q4SZ.mjs.map} +0 -0
  1141. /package/dist/{get-I5SLPN3R.mjs.map → get-C7M6MBK7.mjs.map} +0 -0
  1142. /package/dist/{get-YGJXWCBK.mjs.map → get-DB7HWIK5.mjs.map} +0 -0
  1143. /package/dist/{get-YT2RX3NV.mjs.map → get-E6UZ4RIO.mjs.map} +0 -0
  1144. /package/dist/{get-FKI6S6UA.mjs.map → get-G6I4TTVS.mjs.map} +0 -0
  1145. /package/dist/{get-T4R3FTRG.mjs.map → get-GBKBVQ4Z.mjs.map} +0 -0
  1146. /package/dist/{get-RGF5I4NP.mjs.map → get-SBEWJXMA.mjs.map} +0 -0
  1147. /package/dist/{get-XQENNCHW.mjs.map → get-USU7CKKV.mjs.map} +0 -0
  1148. /package/dist/{get-Q4UDLUZC.mjs.map → get-V2XSCF5A.mjs.map} +0 -0
  1149. /package/dist/{get-Z4CE42C2.mjs.map → get-Z3CCLLV2.mjs.map} +0 -0
  1150. /package/dist/{health-K4TNDKO5.mjs.map → health-TRFE5XP6.mjs.map} +0 -0
  1151. /package/dist/{init-MKAX64ZI.mjs.map → init-UGSR2T2P.mjs.map} +0 -0
  1152. /package/dist/{list-4WKDFP35.mjs.map → list-2CFFGBXV.mjs.map} +0 -0
  1153. /package/dist/{list-LA4T3NFF.mjs.map → list-2D5L7NDX.mjs.map} +0 -0
  1154. /package/dist/{list-TML6Y76M.mjs.map → list-4WXNGK5M.mjs.map} +0 -0
  1155. /package/dist/{list-PS4WGKYB.mjs.map → list-6U376WQD.mjs.map} +0 -0
  1156. /package/dist/{list-IGQHUFIA.mjs.map → list-D3PAG5BA.mjs.map} +0 -0
  1157. /package/dist/{list-YYUEVF7B.mjs.map → list-DYTJUCV5.mjs.map} +0 -0
  1158. /package/dist/{list-WWZ5ACSA.mjs.map → list-E5DZRDYB.mjs.map} +0 -0
  1159. /package/dist/{list-MFLOZLWX.mjs.map → list-EAMGM7UH.mjs.map} +0 -0
  1160. /package/dist/{list-INJDEND4.mjs.map → list-IG2LS5FB.mjs.map} +0 -0
  1161. /package/dist/{list-G3NQU4CF.mjs.map → list-J4UCDIO7.mjs.map} +0 -0
  1162. /package/dist/{list-TA2FG3T7.mjs.map → list-J7CSHIO7.mjs.map} +0 -0
  1163. /package/dist/{list-MN5GMDIA.mjs.map → list-KQRCGH46.mjs.map} +0 -0
  1164. /package/dist/{list-U2QLKGHQ.mjs.map → list-LOMKG7GX.mjs.map} +0 -0
  1165. /package/dist/{list-RSV4NYAB.mjs.map → list-MPI3XBWH.mjs.map} +0 -0
  1166. /package/dist/{list-THD3SUTO.mjs.map → list-NACMHMLI.mjs.map} +0 -0
  1167. /package/dist/{list-IXZHX6GD.mjs.map → list-OFXYAGCR.mjs.map} +0 -0
  1168. /package/dist/{list-ERQ3WK5F.mjs.map → list-QEDZMWZH.mjs.map} +0 -0
  1169. /package/dist/{list-5XTAI7VR.mjs.map → list-QN26UM36.mjs.map} +0 -0
  1170. /package/dist/{list-6NRBCWDI.mjs.map → list-UI6UIPJA.mjs.map} +0 -0
  1171. /package/dist/{list-NYC7NNHZ.mjs.map → list-WHL45EER.mjs.map} +0 -0
  1172. /package/dist/{list-4VEUUKAJ.mjs.map → list-YLMF4OM2.mjs.map} +0 -0
  1173. /package/dist/{list-3JNRAWOH.mjs.map → list-YZFZHZWK.mjs.map} +0 -0
  1174. /package/dist/{logout-device-D34PE5R6.mjs.map → logout-device-JOPQKPFL.mjs.map} +0 -0
  1175. /package/dist/{open-JIZ3KJHS.mjs.map → open-2IGFGDDB.mjs.map} +0 -0
  1176. /package/dist/{pull-QECZPX6I.mjs.map → pull-WYMWXDEI.mjs.map} +0 -0
  1177. /package/dist/{push-OK6KQPSS.mjs.map → push-RVSTM24X.mjs.map} +0 -0
  1178. /package/dist/{query-6SZHL5A7.mjs.map → query-NXIO4E43.mjs.map} +0 -0
  1179. /package/dist/{records-add-KLATF7JZ.mjs.map → records-add-MEZAQFMP.mjs.map} +0 -0
  1180. /package/dist/{records-delete-VAWKLUIW.mjs.map → records-delete-TULWUHBK.mjs.map} +0 -0
  1181. /package/dist/{records-list-K5XNEI4A.mjs.map → records-list-DCWD3EQ7.mjs.map} +0 -0
  1182. /package/dist/{records-update-MY6PKLQJ.mjs.map → records-update-HUPBIWQH.mjs.map} +0 -0
  1183. /package/dist/{remove-2KJSQ3WB.mjs.map → remove-I7H6G24M.mjs.map} +0 -0
  1184. /package/dist/{rename-VUJWXRAE.mjs.map → rename-MX5O5TQS.mjs.map} +0 -0
  1185. /package/dist/{request-increase-SFKA63AF.mjs.map → request-increase-NHM27JXH.mjs.map} +0 -0
  1186. /package/dist/{restore-UJDY5PA2.mjs.map → restore-YX52WBPO.mjs.map} +0 -0
  1187. /package/dist/{revoke-XMCUFG4U.mjs.map → revoke-MOIPQURQ.mjs.map} +0 -0
  1188. /package/dist/{revoke-PHX66V2T.mjs.map → revoke-QM3XGPFO.mjs.map} +0 -0
  1189. /package/dist/{rotate-FT7QLVF7.mjs.map → rotate-SFFTJBX6.mjs.map} +0 -0
  1190. /package/dist/{run-HXPRFY7B.mjs.map → run-22CWT4SE.mjs.map} +0 -0
  1191. /package/dist/{run-ZWA34V4H.mjs.map → run-BECC4Z4P.mjs.map} +0 -0
  1192. /package/dist/{run-E6DQEKM4.mjs.map → run-M4SYFW7B.mjs.map} +0 -0
  1193. /package/dist/{run-IKVCFIXR.mjs.map → run-SO2EUV4M.mjs.map} +0 -0
  1194. /package/dist/{run-2VZ67L4G.mjs.map → run-XWZPJ7D7.mjs.map} +0 -0
  1195. /package/dist/{search-UDJ7ZFY4.mjs.map → search-EE5ILLO5.mjs.map} +0 -0
  1196. /package/dist/{set-CUXDTHYY.mjs.map → set-N2YD4CWA.mjs.map} +0 -0
  1197. /package/dist/{set-PJQOSTLU.mjs.map → set-SQWMRODU.mjs.map} +0 -0
  1198. /package/dist/{status-QETT7FVP.mjs.map → status-A63BEBHA.mjs.map} +0 -0
  1199. /package/dist/{status-LA3NQTLE.mjs.map → status-BRJAXF7H.mjs.map} +0 -0
  1200. /package/dist/{status-S4KZQPKI.mjs.map → status-QEI7AEFU.mjs.map} +0 -0
  1201. /package/dist/{sync-7S4VNKQ2.mjs.map → sync-C2FYBUXZ.mjs.map} +0 -0
  1202. /package/dist/{tail-ZJQ47UIQ.mjs.map → tail-2TZBJ4UU.mjs.map} +0 -0
  1203. /package/dist/{unset-MEGDDKXV.mjs.map → unset-JDBF5WZ4.mjs.map} +0 -0
  1204. /package/dist/{update-LROGOTP2.mjs.map → update-3HM7BQCB.mjs.map} +0 -0
  1205. /package/dist/{update-LKIIDE6O.mjs.map → update-74CONOGX.mjs.map} +0 -0
  1206. /package/dist/{update-WRC7FRCH.mjs.map → update-DWKSFXZS.mjs.map} +0 -0
  1207. /package/dist/{update-ZXOKDD3E.mjs.map → update-E2X4PTCH.mjs.map} +0 -0
  1208. /package/dist/{update-6GIGMIG2.mjs.map → update-ICAZVWN7.mjs.map} +0 -0
  1209. /package/dist/{update-6UMNXAPI.mjs.map → update-MICKP74Y.mjs.map} +0 -0
  1210. /package/dist/{update-QEWSIW2K.mjs.map → update-OMVCUCBW.mjs.map} +0 -0
  1211. /package/dist/{update-BFJQZTNT.mjs.map → update-OQCBAY4R.mjs.map} +0 -0
  1212. /package/dist/{update-ICA7BC5Z.mjs.map → update-REHOOIWE.mjs.map} +0 -0
  1213. /package/dist/{update-R32MYVWM.mjs.map → update-RG44DJJN.mjs.map} +0 -0
  1214. /package/dist/{update-ALI64WHT.mjs.map → update-TGAZLXSS.mjs.map} +0 -0
  1215. /package/dist/{update-7DD7XZTQ.mjs.map → update-UXXBNBD2.mjs.map} +0 -0
  1216. /package/dist/{update-NDZHPS57.mjs.map → update-WAKJMJSW.mjs.map} +0 -0
  1217. /package/dist/{update-KVIOASZK.mjs.map → update-X5HDX6OF.mjs.map} +0 -0
  1218. /package/dist/{upload-KVPSPIOR.mjs.map → upload-LOZDNQI7.mjs.map} +0 -0
  1219. /package/dist/{versions-IU623A4W.mjs.map → versions-IMI3IJXZ.mjs.map} +0 -0
  1220. /package/dist/{whoami-2WXL4TMP.mjs.map → whoami-KGRA4QEY.mjs.map} +0 -0
@@ -7,15 +7,15 @@ var _chunk2PNM3JZ7js = require('../chunk-2PNM3JZ7.js');
7
7
 
8
8
 
9
9
 
10
- var _chunkBOTX7OBCjs = require('../chunk-BOTX7OBC.js');
10
+ var _chunk5YPBJ2RXjs = require('../chunk-5YPBJ2RX.js');
11
+ require('../chunk-WZTRPR6A.js');
12
+ require('../chunk-TJ6BZNZN.js');
11
13
 
12
14
 
13
15
 
14
16
 
15
17
 
16
- var _chunkRNIRFGGUjs = require('../chunk-RNIRFGGU.js');
17
- require('../chunk-WZTRPR6A.js');
18
- require('../chunk-HZHJMCEC.js');
18
+ var _chunkHLWOZ2EBjs = require('../chunk-HLWOZ2EB.js');
19
19
 
20
20
 
21
21
 
@@ -41,5 +41,5 @@ require('../chunk-BRPEG3YQ.js');
41
41
 
42
42
 
43
43
 
44
- exports.DataCapturePresets = _chunk2PNM3JZ7js.DataCapturePresets; exports.FilterableBatchSpanProcessor = _chunk2PNM3JZ7js.FilterableBatchSpanProcessor; exports.LangWatchExporter = _chunkRNIRFGGUjs.LangWatchTraceExporter; exports.LangWatchLogsExporter = _chunkRNIRFGGUjs.LangWatchLogsExporter; exports.LangWatchTraceExporter = _chunkRNIRFGGUjs.LangWatchTraceExporter; exports.attributes = _chunkVS22JXRYjs.attributes_exports; exports.createLangWatchSpan = _chunkBOTX7OBCjs.createLangWatchSpan; exports.getDataCaptureMode = _chunkIXYZL7U2js.getDataCaptureMode; exports.getLangWatchLogger = _chunkRNIRFGGUjs.getLangWatchLogger; exports.getLangWatchLoggerFromProvider = _chunkRNIRFGGUjs.getLangWatchLoggerFromProvider; exports.getLangWatchTracer = _chunkBOTX7OBCjs.getLangWatchTracer; exports.getLangWatchTracerFromProvider = _chunkBOTX7OBCjs.getLangWatchTracerFromProvider; exports.shouldCaptureInput = _chunkIXYZL7U2js.shouldCaptureInput; exports.shouldCaptureOutput = _chunkIXYZL7U2js.shouldCaptureOutput; exports.spanTypes = _chunkBOTX7OBCjs.spanTypes;
44
+ exports.DataCapturePresets = _chunk2PNM3JZ7js.DataCapturePresets; exports.FilterableBatchSpanProcessor = _chunk2PNM3JZ7js.FilterableBatchSpanProcessor; exports.LangWatchExporter = _chunk5YPBJ2RXjs.LangWatchTraceExporter; exports.LangWatchLogsExporter = _chunk5YPBJ2RXjs.LangWatchLogsExporter; exports.LangWatchTraceExporter = _chunk5YPBJ2RXjs.LangWatchTraceExporter; exports.attributes = _chunkVS22JXRYjs.attributes_exports; exports.createLangWatchSpan = _chunkHLWOZ2EBjs.createLangWatchSpan; exports.getDataCaptureMode = _chunkIXYZL7U2js.getDataCaptureMode; exports.getLangWatchLogger = _chunk5YPBJ2RXjs.getLangWatchLogger; exports.getLangWatchLoggerFromProvider = _chunk5YPBJ2RXjs.getLangWatchLoggerFromProvider; exports.getLangWatchTracer = _chunkHLWOZ2EBjs.getLangWatchTracer; exports.getLangWatchTracerFromProvider = _chunkHLWOZ2EBjs.getLangWatchTracerFromProvider; exports.shouldCaptureInput = _chunkIXYZL7U2js.shouldCaptureInput; exports.shouldCaptureOutput = _chunkIXYZL7U2js.shouldCaptureOutput; exports.spanTypes = _chunkHLWOZ2EBjs.spanTypes;
45
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/index.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,4hCAAC","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/index.js"}
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/index.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,4hCAAC","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/index.js"}
@@ -2,20 +2,20 @@ import {
2
2
  DataCapturePresets,
3
3
  FilterableBatchSpanProcessor
4
4
  } from "../chunk-YQNOLNAK.mjs";
5
- import {
6
- createLangWatchSpan,
7
- getLangWatchTracer,
8
- getLangWatchTracerFromProvider,
9
- spanTypes
10
- } from "../chunk-SDUILEFR.mjs";
11
5
  import {
12
6
  LangWatchLogsExporter,
13
7
  LangWatchTraceExporter,
14
8
  getLangWatchLogger,
15
9
  getLangWatchLoggerFromProvider
16
- } from "../chunk-S47MLKDG.mjs";
10
+ } from "../chunk-GPKFTIVT.mjs";
17
11
  import "../chunk-SIXSSID3.mjs";
18
- import "../chunk-B4QCZKFV.mjs";
12
+ import "../chunk-HAIPL262.mjs";
13
+ import {
14
+ createLangWatchSpan,
15
+ getLangWatchTracer,
16
+ getLangWatchTracerFromProvider,
17
+ spanTypes
18
+ } from "../chunk-Y4VNZ6M4.mjs";
19
19
  import {
20
20
  getDataCaptureMode,
21
21
  shouldCaptureInput,
@@ -1,6 +1,6 @@
1
1
  import * as _opentelemetry_api from '@opentelemetry/api';
2
2
  import { Attributes } from '@opentelemetry/api';
3
- import { L as LangWatchTracer, a as LangWatchSpan, C as ChatMessage } from '../../../types-C4CiVUee.mjs';
3
+ import { L as LangWatchTracer, a as LangWatchSpan, C as ChatMessage } from '../../../types-mrPkoEqK.mjs';
4
4
  import { AgentAction, AgentFinish } from '@langchain/core/agents';
5
5
  import { BaseCallbackHandler } from '@langchain/core/callbacks/base';
6
6
  import { DocumentInterface } from '@langchain/core/documents';
@@ -1,6 +1,6 @@
1
1
  import * as _opentelemetry_api from '@opentelemetry/api';
2
2
  import { Attributes } from '@opentelemetry/api';
3
- import { L as LangWatchTracer, a as LangWatchSpan, C as ChatMessage } from '../../../types-B2StMPS9.js';
3
+ import { L as LangWatchTracer, a as LangWatchSpan, C as ChatMessage } from '../../../types-oFt_LG_E.js';
4
4
  import { AgentAction, AgentFinish } from '@langchain/core/agents';
5
5
  import { BaseCallbackHandler } from '@langchain/core/callbacks/base';
6
6
  import { DocumentInterface } from '@langchain/core/documents';
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkBOTX7OBCjs = require('../../../chunk-BOTX7OBC.js');
4
+ var _chunkHLWOZ2EBjs = require('../../../chunk-HLWOZ2EB.js');
5
5
 
6
6
 
7
7
 
@@ -32,7 +32,7 @@ var LangWatchCallbackHandler = class extends _base.BaseCallbackHandler {
32
32
  constructor() {
33
33
  super(...arguments);
34
34
  this.name = "LangWatchCallbackHandler";
35
- this.tracer = _chunkBOTX7OBCjs.getLangWatchTracer.call(void 0, "langwatch.instrumentation.langchain");
35
+ this.tracer = _chunkHLWOZ2EBjs.getLangWatchTracer.call(void 0, "langwatch.instrumentation.langchain");
36
36
  this.spans = {};
37
37
  this.parentOf = {};
38
38
  this.skipped = {};
@@ -363,7 +363,7 @@ function wrapNonScalarValues(value) {
363
363
  if (value === null) return JSON.stringify(null);
364
364
  if (typeof value === "string" || typeof value === "number" || typeof value === "boolean")
365
365
  return value;
366
- const chatMessages = _chunkBOTX7OBCjs.chatMessageSchema.array().safeParse(value);
366
+ const chatMessages = _chunkHLWOZ2EBjs.chatMessageSchema.array().safeParse(value);
367
367
  if (Array.isArray(value) && chatMessages.success) {
368
368
  return JSON.stringify({ type: "chat_messages", value: chatMessages.data });
369
369
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/instrumentation/langchain/index.js","../../../../src/observability-sdk/instrumentation/langchain/index.ts"],"names":[],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/instrumentation/langchain/index.js","sourcesContent":[null,"import type { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport { type DocumentInterface } from \"@langchain/core/documents\";\nimport type { Serialized } from \"@langchain/core/load/serializable\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport type { ChatGeneration, LLMResult } from \"@langchain/core/outputs\";\nimport type {\n ChatMessage,\n ChatRichContent,\n} from \"../../../internal/generated/types/tracer\";\nimport type { ChainValues } from \"@langchain/core/utils/types\";\nimport { getLangWatchTracer } from \"../../tracer\";\nimport type { LangWatchSpan } from \"../../span\";\nimport {\n context,\n trace,\n SpanStatusCode,\n type Attributes,\n} from \"@opentelemetry/api\";\nimport { chatMessageSchema } from \"../../../internal/generated/types/tracer.generated\";\nimport { shouldCaptureInput, shouldCaptureOutput } from \"../../config\";\n\ntype RunKind = \"llm\" | \"chat\" | \"chain\" | \"tool\" | \"retriever\";\n\ntype StartArgs = {\n kind: RunKind;\n runId: string;\n parentRunId?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n name?: string;\n extraParams?: Record<string, unknown>;\n input?: unknown; // already prepared for setInput()\n};\n\nconst LANGGRAPH_METADATA_KEYS = new Set<string>([\n \"thread_id\",\n \"langgraph_step\",\n \"langgraph_node\",\n \"langgraph_triggers\",\n \"langgraph_path\",\n \"langgraph_checkpoint_ns\",\n \"__pregel_task_id\",\n \"checkpoint_ns\",\n]);\n\nexport class LangWatchCallbackHandler extends BaseCallbackHandler {\n name = \"LangWatchCallbackHandler\";\n tracer = getLangWatchTracer(\"langwatch.instrumentation.langchain\");\n\n private spans: Record<string, LangWatchSpan | undefined> = {};\n private parentOf: Record<string, string | undefined> = {};\n private skipped: Record<string, true | undefined> = {};\n private seenStarts = new Set<string>();\n\n private startRunSpan(args: StartArgs) {\n const { runId, parentRunId, serialized, tags } = args;\n this.parentOf[runId] = parentRunId;\n\n // if we want to skip, we record as such as we cn do context matching latet\n if (ctxSkip(serialized, tags)) {\n this.skipped[runId] = true;\n return;\n }\n if (this.seenStarts.has(runId)) return;\n this.seenStarts.add(runId);\n\n const parentCtx = getResolvedParentContext(\n parentRunId,\n this.spans,\n this.parentOf\n );\n const parentSpan = parentRunId ? this.spans[parentRunId] : void 0;\n const links = parentSpan\n ? [{ context: parentSpan.spanContext() }]\n : void 0;\n\n const { name, type } = deriveNameAndType({\n runType: args.kind,\n name: args.name,\n serialized: args.serialized,\n metadata: args.metadata,\n tags: args.tags,\n inputs: args.input,\n });\n\n const span = this.tracer.startSpan(name, { links }, parentCtx);\n span.setType(type);\n\n if (args.tags?.length)\n span.setAttribute(\"langwatch.langchain.run.tags\", args.tags.slice(0, 50));\n\n if (shouldCaptureInput() && args.input !== void 0) {\n const i: any = args.input as any;\n if (i && typeof i === \"object\" && \"type\" in i && \"value\" in i) {\n span.setInput(i.type, i.value);\n } else {\n span.setInput(i);\n }\n }\n\n if (args.extraParams) {\n span.setAttributes(\n Object.fromEntries(\n Object.entries(args.extraParams).map(([k, v]) => [\n `langwatch.langchain.run.extra_params.${k}`,\n wrapNonScalarValues(v),\n ])\n )\n );\n }\n\n if (args.metadata) {\n applyGenAIAttrs(span, args.metadata, args.extraParams);\n setLangGraphAttributes(span, args.metadata);\n span.setAttributes(buildLangChainMetadataAttributes(args.metadata));\n }\n\n this.spans[runId] = span;\n }\n\n private finishRun(\n runId: string,\n end: {\n output?: unknown;\n err?: Error;\n event: string;\n parentRunId?: string;\n extra?: Attributes;\n tags?: string[];\n md?: Record<string, unknown>;\n }\n ) {\n const span = this.spans[runId];\n if (!span) return;\n\n addLangChainEvent(\n span,\n end.event,\n runId,\n end.parentRunId,\n end.tags,\n end.md,\n end.extra\n );\n\n if (end.err) {\n span.recordException(end.err);\n span.setStatus({ code: SpanStatusCode.ERROR, message: end.err.message });\n } else if (shouldCaptureOutput() && end.output !== undefined) {\n span.setOutput(end.output as any);\n }\n\n span.end();\n\n delete this.spans[runId];\n delete this.parentOf[runId];\n delete this.skipped[runId];\n this.seenStarts.delete(runId);\n }\n\n async handleLLMStart(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput() && prompts\n ? {\n type: \"list\",\n value: prompts.map((p) => ({ type: \"text\", value: p })),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"llm\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleChatModelStart(\n llm: Serialized,\n messages: BaseMessage[][],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput()\n ? {\n type: \"chat_messages\",\n value: messages.flatMap(convertFromLangChainMessages),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"chat\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleLLMEnd(\n response: LLMResult,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n const span = this.spans[runId];\n const tu = (response.llmOutput as any)?.tokenUsage as\n | {\n promptTokens?: number;\n completionTokens?: number;\n totalTokens?: number;\n }\n | undefined;\n if (span && tu) {\n span.setAttributes({\n \"gen_ai.usage.prompt_tokens\": tu.promptTokens ?? 0,\n \"gen_ai.usage.completion_tokens\": tu.completionTokens ?? 0,\n \"gen_ai.usage.total_tokens\": tu.totalTokens ?? 0,\n });\n }\n\n const outputs = shouldCaptureOutput()\n ? response.generations.flat().map((g) => {\n if (\"message\" in g && g.message) {\n return convertFromLangChainMessages([\n (g as ChatGeneration).message,\n ]);\n } else if (\"text\" in g && g.text) {\n return g.text;\n }\n return g;\n })\n : undefined;\n\n this.finishRun(runId, {\n output: outputs,\n event: \"handleLLMEnd\",\n parentRunId,\n });\n }\n\n async handleLLMError(\n err: Error,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleLLMError\", parentRunId });\n }\n\n async handleChainStart(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n _runType?: string,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"chain\",\n runId,\n parentRunId,\n serialized: chain,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? inputs : void 0,\n });\n\n if (_runType) {\n const span = this.spans[runId];\n if (span) span.setAttribute(\"langwatch.langchain.run.type\", _runType);\n }\n }\n\n async handleChainEnd(\n output: ChainValues,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { output, event: \"handleChainEnd\", parentRunId });\n }\n\n async handleChainError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> | undefined }\n ): Promise<void> {\n this.finishRun(runId, {\n err,\n event: \"handleChainError\",\n parentRunId,\n tags,\n md: kwargs,\n });\n }\n\n async handleToolStart(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"tool\",\n runId,\n parentRunId,\n serialized: tool,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: input } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleToolEnd(\n output: string,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"text\", value: output }\n : void 0,\n event: \"handleToolEnd\",\n parentRunId,\n });\n }\n\n async handleToolError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleToolError\", parentRunId, tags });\n }\n\n async handleRetrieverStart(\n retriever: Serialized,\n query: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ) {\n this.startRunSpan({\n kind: \"retriever\",\n runId,\n parentRunId,\n serialized: retriever,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: query } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleRetrieverEnd(\n documents: DocumentInterface<Record<string, any>>[],\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n const span = this.spans[runId];\n\n if (span && shouldCaptureOutput()) {\n span.setOutput(documents);\n }\n\n if (span && shouldCaptureInput()) {\n span.setRAGContexts(\n documents.map((document) => ({\n document_id: document.metadata.id,\n chunk_id: document.metadata.chunk_id,\n content: document.pageContent,\n }))\n );\n }\n\n this.finishRun(runId, { event: \"handleRetrieverEnd\", parentRunId, tags });\n }\n\n async handleRetrieverError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n this.finishRun(runId, {\n err,\n event: \"handleRetrieverError\",\n parentRunId,\n tags,\n });\n }\n\n async handleAgentAction(\n _action: AgentAction,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n const span = this.spans[runId];\n if (span) {\n addLangChainEvent(span, \"handleAgentAction\", runId, parentRunId, tags);\n span.setType(\"agent\");\n }\n }\n\n async handleAgentEnd(\n action: AgentFinish,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"json\", value: action.returnValues }\n : void 0,\n event: \"handleAgentEnd\",\n parentRunId,\n tags,\n });\n }\n}\n\nexport function convertFromLangChainMessages(\n messages: BaseMessage[]\n): ChatMessage[] {\n const out: ChatMessage[] = [];\n for (const message of messages) {\n out.push(\n convertFromLangChainMessage(message as BaseMessage & { id?: string[] })\n );\n }\n return out;\n}\n\nfunction convertFromLangChainMessage(\n message: BaseMessage & { id?: string[] }\n): ChatMessage {\n let role: ChatMessage[\"role\"] = \"user\";\n\n const msgType = (message as any).type as string | undefined;\n if (msgType === \"human\") role = \"user\";\n else if (msgType === \"ai\") role = \"assistant\";\n else if (msgType === \"system\") role = \"system\";\n else if (msgType === \"function\") role = \"function\";\n else if (msgType === \"tool\") role = \"tool\";\n else {\n if (\n (message as any)?._getType?.() === \"human\" ||\n message.id?.[message.id.length - 1] === \"HumanMessage\"\n ) {\n role = \"user\";\n } else if (\n (message as any)?._getType?.() === \"ai\" ||\n message.id?.[message.id.length - 1] === \"AIMessage\"\n ) {\n role = \"assistant\";\n } else if (\n (message as any)?._getType?.() === \"system\" ||\n message.id?.[message.id.length - 1] === \"SystemMessage\"\n ) {\n role = \"system\";\n } else if (\n (message as any)?._getType?.() === \"function\" ||\n message.id?.[message.id.length - 1] === \"FunctionMessage\"\n ) {\n role = \"function\";\n } else if (\n (message as any)?._getType?.() === \"tool\" ||\n message.id?.[message.id.length - 1] === \"ToolMessage\"\n ) {\n role = \"tool\";\n }\n }\n\n const content: ChatMessage[\"content\"] =\n typeof (message as any).content === \"string\"\n ? ((message as any).content as string)\n : (message as any).content == null\n ? null\n : Array.isArray((message as any).content)\n ? (message as any).content.map(\n (c: any): ChatRichContent =>\n c?.type === \"text\"\n ? { type: \"text\", text: c.text }\n : c?.type === \"image_url\"\n ? { type: \"image_url\", image_url: c.image_url }\n : { type: \"text\", text: JSON.stringify(c) }\n )\n : JSON.stringify((message as any).content);\n\n const functionCall = (message as any).additional_kwargs;\n\n return {\n role,\n content,\n ...(functionCall &&\n typeof functionCall === \"object\" &&\n Object.keys(functionCall).length > 0\n ? { function_call: functionCall }\n : {}),\n };\n}\n\nfunction className(serialized?: Serialized): string {\n const id = (serialized as any)?.id;\n if (Array.isArray(id) && id.length) return String(id[id.length - 1]);\n const ns = (serialized as any)?.lc_namespace;\n if (Array.isArray(ns) && ns.length) return String(ns[ns.length - 1]);\n\n return \"\";\n}\n\nfunction shorten(str: string, max = 120): string {\n return typeof str === \"string\" && str.length > max\n ? str.slice(0, max - 1) + \"…\"\n : str;\n}\n\nfunction previewInput(v: unknown): string | undefined {\n if (typeof v === \"string\") {\n const s = v.trim();\n return s ? shorten(s, 120) : void 0;\n }\n return void 0;\n}\n\nfunction ctxSkip(serialized?: Serialized, tags?: string[]) {\n const cls = className(serialized);\n return (\n cls.startsWith(\"ChannelWrite\") ||\n (tags?.includes(\"langsmith:hidden\") ?? false)\n );\n}\n\nfunction wrapNonScalarValues(\n value: unknown\n): string | number | boolean | undefined {\n if (value === void 0) return void 0;\n if (value === null) return JSON.stringify(null);\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n )\n return value;\n\n // Special-case: ChatMessage[] detection via zod schema the project already has\n const chatMessages = chatMessageSchema.array().safeParse(value as any);\n if (Array.isArray(value) && chatMessages.success) {\n return JSON.stringify({ type: \"chat_messages\", value: chatMessages.data });\n }\n\n try {\n const seen = new WeakSet();\n const json = JSON.stringify(value as any, (k, val) => {\n if (typeof val === \"object\" && val !== null) {\n if (seen.has(val)) return \"[Circular]\";\n seen.add(val);\n }\n return val;\n });\n return json;\n } catch {\n return JSON.stringify({ type: \"raw\", value: \"[Non-Serializable]\" });\n }\n}\n\nfunction addLangChainEvent(\n span: LangWatchSpan,\n eventName: string,\n runId: string,\n parentRunId: string | undefined,\n tags?: string[],\n metadata?: Record<string, unknown>,\n attributes?: Attributes\n) {\n const attrs: Attributes = {\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n \"langwatch.langchain.event.name\": eventName,\n ...attributes,\n };\n\n if (tags?.length) attrs[\"langwatch.langchain.run.tags\"] = tags.slice(0, 50);\n if (metadata) {\n Object.entries(metadata).forEach(([key, value]) => {\n attrs[key] = wrapNonScalarValues(value);\n });\n }\n\n span.addEvent(\"langwatch.langchain.callback\", attrs);\n}\n\nfunction setLangGraphAttributes(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>\n) {\n if (!metadata) return;\n const keys = Object.keys(metadata);\n for (const key of keys) {\n const value = (metadata as any)[key];\n if (value !== undefined) {\n const wrapped = wrapNonScalarValues(value);\n if (wrapped !== undefined) {\n span.setAttribute(\n `langwatch.langgraph.${key}` as const,\n wrapped as any\n );\n }\n }\n }\n}\n\nfunction buildLangChainMetadataAttributes(metadata: Record<string, unknown>) {\n if (!metadata) return {};\n return Object.fromEntries(\n Object.entries(metadata)\n .filter(([key]) => !LANGGRAPH_METADATA_KEYS.has(key))\n .map(([key, value]) => [\n `langwatch.langchain.run.metadata.${key}`,\n wrapNonScalarValues(value),\n ])\n );\n}\n\nfunction applyGenAIAttrs(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>,\n extraParams?: Record<string, unknown>\n) {\n const md = (metadata ?? {}) as any;\n const ex = (extraParams ?? {}) as any;\n\n const provider = md.ls_provider as string | undefined;\n const requestModel = md.ls_model_name ?? md.kwargs?.model ?? ex.kwargs?.model;\n const temperature =\n md.ls_temperature ?? md.kwargs?.temperature ?? ex.kwargs?.temperature;\n const responseModel = md.response_metadata?.model_name as string | undefined;\n\n if (provider) span.setAttribute(\"gen_ai.system\", provider);\n if (requestModel) span.setAttribute(\"gen_ai.request.model\", requestModel);\n if (typeof temperature === \"number\")\n span.setAttribute(\"gen_ai.request.temperature\", temperature);\n if (responseModel) span.setAttribute(\"gen_ai.response.model\", responseModel);\n}\n\nfunction getResolvedParentContext(\n runId: string | undefined,\n spans: Record<string, LangWatchSpan | undefined>,\n parentOf: Record<string, string | undefined>\n) {\n let cur = runId;\n while (cur) {\n const s = spans[cur];\n if (s) return trace.setSpan(context.active(), s);\n cur = parentOf[cur];\n }\n return context.active();\n}\n\nfunction deriveNameAndType(opts: {\n runType: RunKind;\n name?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n inputs?: unknown;\n}): { name: string; type: \"llm\" | \"chain\" | \"tool\" | \"rag\" | \"component\" } {\n const { runType, name, serialized, metadata, inputs } = opts;\n\n // user-specified name / metadata override\n const hardName = (name?.trim() ?? (metadata as any)?.operation_name) as\n | string\n | undefined;\n if (hardName) {\n return {\n name: hardName,\n type:\n runType === \"tool\"\n ? \"tool\"\n : runType === \"retriever\"\n ? \"rag\"\n : runType === \"llm\" || runType === \"chat\"\n ? \"llm\"\n : \"chain\",\n };\n }\n\n const cls = className(serialized);\n const md = (metadata ?? {}) as any;\n\n // LangGraph node / router - prioritize routers over nodes\n const hasNode = md?.langgraph_node != null;\n const hasTriggers = Array.isArray(md?.langgraph_triggers) && md.langgraph_triggers.length > 0;\n const isRouter =\n cls.startsWith(\"Branch<\") || hasTriggers;\n const isGraphRunner = md?.langgraph_path && !md?.langgraph_node;\n\n // LLM / Chat - always prioritize runType over metadata\n if (runType === \"llm\" || runType === \"chat\") {\n const prov = (md?.ls_provider as string) ?? \"LLM\";\n const model = (md?.ls_model_name as string) ?? (cls || \"call\");\n const temp = md?.ls_temperature;\n const tempStr =\n temp != null\n ? typeof temp === \"number\"\n ? temp.toString()\n : JSON.stringify(temp)\n : null;\n const nm =\n tempStr != null\n ? `${prov} ${model} (temp ${tempStr})`\n : `${prov} ${model}`;\n return { name: nm, type: \"llm\" };\n }\n\n // Prioritize LangGraph routers over nodes (but after LLM/Chat)\n if (isRouter) {\n const pathArr = md?.langgraph_path as string[] | undefined;\n const fromNode =\n Array.isArray(pathArr) && pathArr.length\n ? pathArr[pathArr.length - 1]\n : undefined;\n const decision = Array.isArray(md?.langgraph_triggers)\n ? String(\n md.langgraph_triggers.find((t: any) =>\n String(t).startsWith(\"branch:\")\n ) ?? \"\"\n ).replace(/^branch:(to:)?/, \"\")\n : undefined;\n const nm = `Route: ${fromNode ?? \"unknown\"} → ${decision ?? \"unknown\"}`;\n return { name: nm, type: \"component\" };\n }\n\n if (hasNode) {\n const step = md?.langgraph_step;\n const nm = `Node: ${md.langgraph_node}${\n step != null ? ` (step ${String(step)})` : \"\"\n }`;\n return { name: nm, type: \"component\" };\n }\n if (isGraphRunner && runType === \"chain\") {\n return { name: \"Graph: LangGraph\", type: \"chain\" };\n }\n\n // Tool\n if (runType === \"tool\") {\n const tool = (metadata as any)?.name ?? (cls || \"tool\");\n const prev =\n previewInput(inputs) ?? previewInput((serialized as any)?.input);\n return {\n name: prev ? `Tool: ${tool} — ${prev}` : `Tool: ${tool}`,\n type: \"tool\",\n };\n }\n\n // Retriever\n if (runType === \"retriever\") return { name: \"Retriever\", type: \"rag\" };\n\n // Fallbacks\n if (cls.includes(\"Agent\"))\n return { name: `Agent: ${cls}`, type: \"component\" };\n if (cls.startsWith(\"Runnable\"))\n return { name: `Runnable: ${cls.replace(/^Runnable/, \"\")}`, type: \"chain\" };\n return { name: cls || \"LangChain operation\", type: \"chain\" };\n}\n\n// Export helper functions for testing\nexport {\n className,\n shorten,\n previewInput,\n ctxSkip,\n wrapNonScalarValues,\n addLangChainEvent,\n setLangGraphAttributes,\n buildLangChainMetadataAttributes,\n applyGenAIAttrs,\n getResolvedParentContext,\n deriveNameAndType,\n};\n"]}
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/instrumentation/langchain/index.js","../../../../src/observability-sdk/instrumentation/langchain/index.ts"],"names":[],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/observability-sdk/instrumentation/langchain/index.js","sourcesContent":[null,"import type { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport { type DocumentInterface } from \"@langchain/core/documents\";\nimport type { Serialized } from \"@langchain/core/load/serializable\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport type { ChatGeneration, LLMResult } from \"@langchain/core/outputs\";\nimport {\n chatMessageSchema,\n type ChatMessage,\n type ChatRichContent,\n} from \"../../../internal/generated/types/tracer\";\nimport type { ChainValues } from \"@langchain/core/utils/types\";\nimport { getLangWatchTracer } from \"../../tracer\";\nimport type { LangWatchSpan } from \"../../span\";\nimport {\n context,\n trace,\n SpanStatusCode,\n type Attributes,\n} from \"@opentelemetry/api\";\nimport { shouldCaptureInput, shouldCaptureOutput } from \"../../config\";\n\ntype RunKind = \"llm\" | \"chat\" | \"chain\" | \"tool\" | \"retriever\";\n\ntype StartArgs = {\n kind: RunKind;\n runId: string;\n parentRunId?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n name?: string;\n extraParams?: Record<string, unknown>;\n input?: unknown; // already prepared for setInput()\n};\n\nconst LANGGRAPH_METADATA_KEYS = new Set<string>([\n \"thread_id\",\n \"langgraph_step\",\n \"langgraph_node\",\n \"langgraph_triggers\",\n \"langgraph_path\",\n \"langgraph_checkpoint_ns\",\n \"__pregel_task_id\",\n \"checkpoint_ns\",\n]);\n\nexport class LangWatchCallbackHandler extends BaseCallbackHandler {\n name = \"LangWatchCallbackHandler\";\n tracer = getLangWatchTracer(\"langwatch.instrumentation.langchain\");\n\n private spans: Record<string, LangWatchSpan | undefined> = {};\n private parentOf: Record<string, string | undefined> = {};\n private skipped: Record<string, true | undefined> = {};\n private seenStarts = new Set<string>();\n\n private startRunSpan(args: StartArgs) {\n const { runId, parentRunId, serialized, tags } = args;\n this.parentOf[runId] = parentRunId;\n\n // if we want to skip, we record as such as we cn do context matching latet\n if (ctxSkip(serialized, tags)) {\n this.skipped[runId] = true;\n return;\n }\n if (this.seenStarts.has(runId)) return;\n this.seenStarts.add(runId);\n\n const parentCtx = getResolvedParentContext(\n parentRunId,\n this.spans,\n this.parentOf\n );\n const parentSpan = parentRunId ? this.spans[parentRunId] : void 0;\n const links = parentSpan\n ? [{ context: parentSpan.spanContext() }]\n : void 0;\n\n const { name, type } = deriveNameAndType({\n runType: args.kind,\n name: args.name,\n serialized: args.serialized,\n metadata: args.metadata,\n tags: args.tags,\n inputs: args.input,\n });\n\n const span = this.tracer.startSpan(name, { links }, parentCtx);\n span.setType(type);\n\n if (args.tags?.length)\n span.setAttribute(\"langwatch.langchain.run.tags\", args.tags.slice(0, 50));\n\n if (shouldCaptureInput() && args.input !== void 0) {\n const i: any = args.input as any;\n if (i && typeof i === \"object\" && \"type\" in i && \"value\" in i) {\n span.setInput(i.type, i.value);\n } else {\n span.setInput(i);\n }\n }\n\n if (args.extraParams) {\n span.setAttributes(\n Object.fromEntries(\n Object.entries(args.extraParams).map(([k, v]) => [\n `langwatch.langchain.run.extra_params.${k}`,\n wrapNonScalarValues(v),\n ])\n )\n );\n }\n\n if (args.metadata) {\n applyGenAIAttrs(span, args.metadata, args.extraParams);\n setLangGraphAttributes(span, args.metadata);\n span.setAttributes(buildLangChainMetadataAttributes(args.metadata));\n }\n\n this.spans[runId] = span;\n }\n\n private finishRun(\n runId: string,\n end: {\n output?: unknown;\n err?: Error;\n event: string;\n parentRunId?: string;\n extra?: Attributes;\n tags?: string[];\n md?: Record<string, unknown>;\n }\n ) {\n const span = this.spans[runId];\n if (!span) return;\n\n addLangChainEvent(\n span,\n end.event,\n runId,\n end.parentRunId,\n end.tags,\n end.md,\n end.extra\n );\n\n if (end.err) {\n span.recordException(end.err);\n span.setStatus({ code: SpanStatusCode.ERROR, message: end.err.message });\n } else if (shouldCaptureOutput() && end.output !== undefined) {\n span.setOutput(end.output as any);\n }\n\n span.end();\n\n delete this.spans[runId];\n delete this.parentOf[runId];\n delete this.skipped[runId];\n this.seenStarts.delete(runId);\n }\n\n async handleLLMStart(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput() && prompts\n ? {\n type: \"list\",\n value: prompts.map((p) => ({ type: \"text\", value: p })),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"llm\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleChatModelStart(\n llm: Serialized,\n messages: BaseMessage[][],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput()\n ? {\n type: \"chat_messages\",\n value: messages.flatMap(convertFromLangChainMessages),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"chat\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleLLMEnd(\n response: LLMResult,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n const span = this.spans[runId];\n const tu = (response.llmOutput as any)?.tokenUsage as\n | {\n promptTokens?: number;\n completionTokens?: number;\n totalTokens?: number;\n }\n | undefined;\n if (span && tu) {\n span.setAttributes({\n \"gen_ai.usage.prompt_tokens\": tu.promptTokens ?? 0,\n \"gen_ai.usage.completion_tokens\": tu.completionTokens ?? 0,\n \"gen_ai.usage.total_tokens\": tu.totalTokens ?? 0,\n });\n }\n\n const outputs = shouldCaptureOutput()\n ? response.generations.flat().map((g) => {\n if (\"message\" in g && g.message) {\n return convertFromLangChainMessages([\n (g as ChatGeneration).message,\n ]);\n } else if (\"text\" in g && g.text) {\n return g.text;\n }\n return g;\n })\n : undefined;\n\n this.finishRun(runId, {\n output: outputs,\n event: \"handleLLMEnd\",\n parentRunId,\n });\n }\n\n async handleLLMError(\n err: Error,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleLLMError\", parentRunId });\n }\n\n async handleChainStart(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n _runType?: string,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"chain\",\n runId,\n parentRunId,\n serialized: chain,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? inputs : void 0,\n });\n\n if (_runType) {\n const span = this.spans[runId];\n if (span) span.setAttribute(\"langwatch.langchain.run.type\", _runType);\n }\n }\n\n async handleChainEnd(\n output: ChainValues,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { output, event: \"handleChainEnd\", parentRunId });\n }\n\n async handleChainError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> | undefined }\n ): Promise<void> {\n this.finishRun(runId, {\n err,\n event: \"handleChainError\",\n parentRunId,\n tags,\n md: kwargs,\n });\n }\n\n async handleToolStart(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"tool\",\n runId,\n parentRunId,\n serialized: tool,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: input } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleToolEnd(\n output: string,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"text\", value: output }\n : void 0,\n event: \"handleToolEnd\",\n parentRunId,\n });\n }\n\n async handleToolError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleToolError\", parentRunId, tags });\n }\n\n async handleRetrieverStart(\n retriever: Serialized,\n query: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ) {\n this.startRunSpan({\n kind: \"retriever\",\n runId,\n parentRunId,\n serialized: retriever,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: query } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleRetrieverEnd(\n documents: DocumentInterface<Record<string, any>>[],\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n const span = this.spans[runId];\n\n if (span && shouldCaptureOutput()) {\n span.setOutput(documents);\n }\n\n if (span && shouldCaptureInput()) {\n span.setRAGContexts(\n documents.map((document) => ({\n document_id: document.metadata.id,\n chunk_id: document.metadata.chunk_id,\n content: document.pageContent,\n }))\n );\n }\n\n this.finishRun(runId, { event: \"handleRetrieverEnd\", parentRunId, tags });\n }\n\n async handleRetrieverError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n this.finishRun(runId, {\n err,\n event: \"handleRetrieverError\",\n parentRunId,\n tags,\n });\n }\n\n async handleAgentAction(\n _action: AgentAction,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n const span = this.spans[runId];\n if (span) {\n addLangChainEvent(span, \"handleAgentAction\", runId, parentRunId, tags);\n span.setType(\"agent\");\n }\n }\n\n async handleAgentEnd(\n action: AgentFinish,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"json\", value: action.returnValues }\n : void 0,\n event: \"handleAgentEnd\",\n parentRunId,\n tags,\n });\n }\n}\n\nexport function convertFromLangChainMessages(\n messages: BaseMessage[]\n): ChatMessage[] {\n const out: ChatMessage[] = [];\n for (const message of messages) {\n out.push(\n convertFromLangChainMessage(message as BaseMessage & { id?: string[] })\n );\n }\n return out;\n}\n\nfunction convertFromLangChainMessage(\n message: BaseMessage & { id?: string[] }\n): ChatMessage {\n let role: ChatMessage[\"role\"] = \"user\";\n\n const msgType = (message as any).type as string | undefined;\n if (msgType === \"human\") role = \"user\";\n else if (msgType === \"ai\") role = \"assistant\";\n else if (msgType === \"system\") role = \"system\";\n else if (msgType === \"function\") role = \"function\";\n else if (msgType === \"tool\") role = \"tool\";\n else {\n if (\n (message as any)?._getType?.() === \"human\" ||\n message.id?.[message.id.length - 1] === \"HumanMessage\"\n ) {\n role = \"user\";\n } else if (\n (message as any)?._getType?.() === \"ai\" ||\n message.id?.[message.id.length - 1] === \"AIMessage\"\n ) {\n role = \"assistant\";\n } else if (\n (message as any)?._getType?.() === \"system\" ||\n message.id?.[message.id.length - 1] === \"SystemMessage\"\n ) {\n role = \"system\";\n } else if (\n (message as any)?._getType?.() === \"function\" ||\n message.id?.[message.id.length - 1] === \"FunctionMessage\"\n ) {\n role = \"function\";\n } else if (\n (message as any)?._getType?.() === \"tool\" ||\n message.id?.[message.id.length - 1] === \"ToolMessage\"\n ) {\n role = \"tool\";\n }\n }\n\n const content: ChatMessage[\"content\"] =\n typeof (message as any).content === \"string\"\n ? ((message as any).content as string)\n : (message as any).content == null\n ? null\n : Array.isArray((message as any).content)\n ? (message as any).content.map(\n (c: any): ChatRichContent =>\n c?.type === \"text\"\n ? { type: \"text\", text: c.text }\n : c?.type === \"image_url\"\n ? { type: \"image_url\", image_url: c.image_url }\n : { type: \"text\", text: JSON.stringify(c) }\n )\n : JSON.stringify((message as any).content);\n\n const functionCall = (message as any).additional_kwargs;\n\n return {\n role,\n content,\n ...(functionCall &&\n typeof functionCall === \"object\" &&\n Object.keys(functionCall).length > 0\n ? { function_call: functionCall }\n : {}),\n };\n}\n\nfunction className(serialized?: Serialized): string {\n const id = (serialized as any)?.id;\n if (Array.isArray(id) && id.length) return String(id[id.length - 1]);\n const ns = (serialized as any)?.lc_namespace;\n if (Array.isArray(ns) && ns.length) return String(ns[ns.length - 1]);\n\n return \"\";\n}\n\nfunction shorten(str: string, max = 120): string {\n return typeof str === \"string\" && str.length > max\n ? str.slice(0, max - 1) + \"…\"\n : str;\n}\n\nfunction previewInput(v: unknown): string | undefined {\n if (typeof v === \"string\") {\n const s = v.trim();\n return s ? shorten(s, 120) : void 0;\n }\n return void 0;\n}\n\nfunction ctxSkip(serialized?: Serialized, tags?: string[]) {\n const cls = className(serialized);\n return (\n cls.startsWith(\"ChannelWrite\") ||\n (tags?.includes(\"langsmith:hidden\") ?? false)\n );\n}\n\nfunction wrapNonScalarValues(\n value: unknown\n): string | number | boolean | undefined {\n if (value === void 0) return void 0;\n if (value === null) return JSON.stringify(null);\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n )\n return value;\n\n // Special-case: ChatMessage[] detection via zod schema the project already has\n const chatMessages = chatMessageSchema.array().safeParse(value as any);\n if (Array.isArray(value) && chatMessages.success) {\n return JSON.stringify({ type: \"chat_messages\", value: chatMessages.data });\n }\n\n try {\n const seen = new WeakSet();\n const json = JSON.stringify(value as any, (k, val) => {\n if (typeof val === \"object\" && val !== null) {\n if (seen.has(val)) return \"[Circular]\";\n seen.add(val);\n }\n return val;\n });\n return json;\n } catch {\n return JSON.stringify({ type: \"raw\", value: \"[Non-Serializable]\" });\n }\n}\n\nfunction addLangChainEvent(\n span: LangWatchSpan,\n eventName: string,\n runId: string,\n parentRunId: string | undefined,\n tags?: string[],\n metadata?: Record<string, unknown>,\n attributes?: Attributes\n) {\n const attrs: Attributes = {\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n \"langwatch.langchain.event.name\": eventName,\n ...attributes,\n };\n\n if (tags?.length) attrs[\"langwatch.langchain.run.tags\"] = tags.slice(0, 50);\n if (metadata) {\n Object.entries(metadata).forEach(([key, value]) => {\n attrs[key] = wrapNonScalarValues(value);\n });\n }\n\n span.addEvent(\"langwatch.langchain.callback\", attrs);\n}\n\nfunction setLangGraphAttributes(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>\n) {\n if (!metadata) return;\n const keys = Object.keys(metadata);\n for (const key of keys) {\n const value = (metadata as any)[key];\n if (value !== undefined) {\n const wrapped = wrapNonScalarValues(value);\n if (wrapped !== undefined) {\n span.setAttribute(\n `langwatch.langgraph.${key}` as const,\n wrapped as any\n );\n }\n }\n }\n}\n\nfunction buildLangChainMetadataAttributes(metadata: Record<string, unknown>) {\n if (!metadata) return {};\n return Object.fromEntries(\n Object.entries(metadata)\n .filter(([key]) => !LANGGRAPH_METADATA_KEYS.has(key))\n .map(([key, value]) => [\n `langwatch.langchain.run.metadata.${key}`,\n wrapNonScalarValues(value),\n ])\n );\n}\n\nfunction applyGenAIAttrs(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>,\n extraParams?: Record<string, unknown>\n) {\n const md = (metadata ?? {}) as any;\n const ex = (extraParams ?? {}) as any;\n\n const provider = md.ls_provider as string | undefined;\n const requestModel = md.ls_model_name ?? md.kwargs?.model ?? ex.kwargs?.model;\n const temperature =\n md.ls_temperature ?? md.kwargs?.temperature ?? ex.kwargs?.temperature;\n const responseModel = md.response_metadata?.model_name as string | undefined;\n\n if (provider) span.setAttribute(\"gen_ai.system\", provider);\n if (requestModel) span.setAttribute(\"gen_ai.request.model\", requestModel);\n if (typeof temperature === \"number\")\n span.setAttribute(\"gen_ai.request.temperature\", temperature);\n if (responseModel) span.setAttribute(\"gen_ai.response.model\", responseModel);\n}\n\nfunction getResolvedParentContext(\n runId: string | undefined,\n spans: Record<string, LangWatchSpan | undefined>,\n parentOf: Record<string, string | undefined>\n) {\n let cur = runId;\n while (cur) {\n const s = spans[cur];\n if (s) return trace.setSpan(context.active(), s);\n cur = parentOf[cur];\n }\n return context.active();\n}\n\nfunction deriveNameAndType(opts: {\n runType: RunKind;\n name?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n inputs?: unknown;\n}): { name: string; type: \"llm\" | \"chain\" | \"tool\" | \"rag\" | \"component\" } {\n const { runType, name, serialized, metadata, inputs } = opts;\n\n // user-specified name / metadata override\n const hardName = (name?.trim() ?? (metadata as any)?.operation_name) as\n | string\n | undefined;\n if (hardName) {\n return {\n name: hardName,\n type:\n runType === \"tool\"\n ? \"tool\"\n : runType === \"retriever\"\n ? \"rag\"\n : runType === \"llm\" || runType === \"chat\"\n ? \"llm\"\n : \"chain\",\n };\n }\n\n const cls = className(serialized);\n const md = (metadata ?? {}) as any;\n\n // LangGraph node / router - prioritize routers over nodes\n const hasNode = md?.langgraph_node != null;\n const hasTriggers = Array.isArray(md?.langgraph_triggers) && md.langgraph_triggers.length > 0;\n const isRouter =\n cls.startsWith(\"Branch<\") || hasTriggers;\n const isGraphRunner = md?.langgraph_path && !md?.langgraph_node;\n\n // LLM / Chat - always prioritize runType over metadata\n if (runType === \"llm\" || runType === \"chat\") {\n const prov = (md?.ls_provider as string) ?? \"LLM\";\n const model = (md?.ls_model_name as string) ?? (cls || \"call\");\n const temp = md?.ls_temperature;\n const tempStr =\n temp != null\n ? typeof temp === \"number\"\n ? temp.toString()\n : JSON.stringify(temp)\n : null;\n const nm =\n tempStr != null\n ? `${prov} ${model} (temp ${tempStr})`\n : `${prov} ${model}`;\n return { name: nm, type: \"llm\" };\n }\n\n // Prioritize LangGraph routers over nodes (but after LLM/Chat)\n if (isRouter) {\n const pathArr = md?.langgraph_path as string[] | undefined;\n const fromNode =\n Array.isArray(pathArr) && pathArr.length\n ? pathArr[pathArr.length - 1]\n : undefined;\n const decision = Array.isArray(md?.langgraph_triggers)\n ? String(\n md.langgraph_triggers.find((t: any) =>\n String(t).startsWith(\"branch:\")\n ) ?? \"\"\n ).replace(/^branch:(to:)?/, \"\")\n : undefined;\n const nm = `Route: ${fromNode ?? \"unknown\"} → ${decision ?? \"unknown\"}`;\n return { name: nm, type: \"component\" };\n }\n\n if (hasNode) {\n const step = md?.langgraph_step;\n const nm = `Node: ${md.langgraph_node}${\n step != null ? ` (step ${String(step)})` : \"\"\n }`;\n return { name: nm, type: \"component\" };\n }\n if (isGraphRunner && runType === \"chain\") {\n return { name: \"Graph: LangGraph\", type: \"chain\" };\n }\n\n // Tool\n if (runType === \"tool\") {\n const tool = (metadata as any)?.name ?? (cls || \"tool\");\n const prev =\n previewInput(inputs) ?? previewInput((serialized as any)?.input);\n return {\n name: prev ? `Tool: ${tool} — ${prev}` : `Tool: ${tool}`,\n type: \"tool\",\n };\n }\n\n // Retriever\n if (runType === \"retriever\") return { name: \"Retriever\", type: \"rag\" };\n\n // Fallbacks\n if (cls.includes(\"Agent\"))\n return { name: `Agent: ${cls}`, type: \"component\" };\n if (cls.startsWith(\"Runnable\"))\n return { name: `Runnable: ${cls.replace(/^Runnable/, \"\")}`, type: \"chain\" };\n return { name: cls || \"LangChain operation\", type: \"chain\" };\n}\n\n// Export helper functions for testing\nexport {\n className,\n shorten,\n previewInput,\n ctxSkip,\n wrapNonScalarValues,\n addLangChainEvent,\n setLangGraphAttributes,\n buildLangChainMetadataAttributes,\n applyGenAIAttrs,\n getResolvedParentContext,\n deriveNameAndType,\n};\n"]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  chatMessageSchema,
3
3
  getLangWatchTracer
4
- } from "../../../chunk-SDUILEFR.mjs";
4
+ } from "../../../chunk-Y4VNZ6M4.mjs";
5
5
  import {
6
6
  shouldCaptureInput,
7
7
  shouldCaptureOutput
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/observability-sdk/instrumentation/langchain/index.ts"],"sourcesContent":["import type { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport { type DocumentInterface } from \"@langchain/core/documents\";\nimport type { Serialized } from \"@langchain/core/load/serializable\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport type { ChatGeneration, LLMResult } from \"@langchain/core/outputs\";\nimport type {\n ChatMessage,\n ChatRichContent,\n} from \"../../../internal/generated/types/tracer\";\nimport type { ChainValues } from \"@langchain/core/utils/types\";\nimport { getLangWatchTracer } from \"../../tracer\";\nimport type { LangWatchSpan } from \"../../span\";\nimport {\n context,\n trace,\n SpanStatusCode,\n type Attributes,\n} from \"@opentelemetry/api\";\nimport { chatMessageSchema } from \"../../../internal/generated/types/tracer.generated\";\nimport { shouldCaptureInput, shouldCaptureOutput } from \"../../config\";\n\ntype RunKind = \"llm\" | \"chat\" | \"chain\" | \"tool\" | \"retriever\";\n\ntype StartArgs = {\n kind: RunKind;\n runId: string;\n parentRunId?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n name?: string;\n extraParams?: Record<string, unknown>;\n input?: unknown; // already prepared for setInput()\n};\n\nconst LANGGRAPH_METADATA_KEYS = new Set<string>([\n \"thread_id\",\n \"langgraph_step\",\n \"langgraph_node\",\n \"langgraph_triggers\",\n \"langgraph_path\",\n \"langgraph_checkpoint_ns\",\n \"__pregel_task_id\",\n \"checkpoint_ns\",\n]);\n\nexport class LangWatchCallbackHandler extends BaseCallbackHandler {\n name = \"LangWatchCallbackHandler\";\n tracer = getLangWatchTracer(\"langwatch.instrumentation.langchain\");\n\n private spans: Record<string, LangWatchSpan | undefined> = {};\n private parentOf: Record<string, string | undefined> = {};\n private skipped: Record<string, true | undefined> = {};\n private seenStarts = new Set<string>();\n\n private startRunSpan(args: StartArgs) {\n const { runId, parentRunId, serialized, tags } = args;\n this.parentOf[runId] = parentRunId;\n\n // if we want to skip, we record as such as we cn do context matching latet\n if (ctxSkip(serialized, tags)) {\n this.skipped[runId] = true;\n return;\n }\n if (this.seenStarts.has(runId)) return;\n this.seenStarts.add(runId);\n\n const parentCtx = getResolvedParentContext(\n parentRunId,\n this.spans,\n this.parentOf\n );\n const parentSpan = parentRunId ? this.spans[parentRunId] : void 0;\n const links = parentSpan\n ? [{ context: parentSpan.spanContext() }]\n : void 0;\n\n const { name, type } = deriveNameAndType({\n runType: args.kind,\n name: args.name,\n serialized: args.serialized,\n metadata: args.metadata,\n tags: args.tags,\n inputs: args.input,\n });\n\n const span = this.tracer.startSpan(name, { links }, parentCtx);\n span.setType(type);\n\n if (args.tags?.length)\n span.setAttribute(\"langwatch.langchain.run.tags\", args.tags.slice(0, 50));\n\n if (shouldCaptureInput() && args.input !== void 0) {\n const i: any = args.input as any;\n if (i && typeof i === \"object\" && \"type\" in i && \"value\" in i) {\n span.setInput(i.type, i.value);\n } else {\n span.setInput(i);\n }\n }\n\n if (args.extraParams) {\n span.setAttributes(\n Object.fromEntries(\n Object.entries(args.extraParams).map(([k, v]) => [\n `langwatch.langchain.run.extra_params.${k}`,\n wrapNonScalarValues(v),\n ])\n )\n );\n }\n\n if (args.metadata) {\n applyGenAIAttrs(span, args.metadata, args.extraParams);\n setLangGraphAttributes(span, args.metadata);\n span.setAttributes(buildLangChainMetadataAttributes(args.metadata));\n }\n\n this.spans[runId] = span;\n }\n\n private finishRun(\n runId: string,\n end: {\n output?: unknown;\n err?: Error;\n event: string;\n parentRunId?: string;\n extra?: Attributes;\n tags?: string[];\n md?: Record<string, unknown>;\n }\n ) {\n const span = this.spans[runId];\n if (!span) return;\n\n addLangChainEvent(\n span,\n end.event,\n runId,\n end.parentRunId,\n end.tags,\n end.md,\n end.extra\n );\n\n if (end.err) {\n span.recordException(end.err);\n span.setStatus({ code: SpanStatusCode.ERROR, message: end.err.message });\n } else if (shouldCaptureOutput() && end.output !== undefined) {\n span.setOutput(end.output as any);\n }\n\n span.end();\n\n delete this.spans[runId];\n delete this.parentOf[runId];\n delete this.skipped[runId];\n this.seenStarts.delete(runId);\n }\n\n async handleLLMStart(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput() && prompts\n ? {\n type: \"list\",\n value: prompts.map((p) => ({ type: \"text\", value: p })),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"llm\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleChatModelStart(\n llm: Serialized,\n messages: BaseMessage[][],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput()\n ? {\n type: \"chat_messages\",\n value: messages.flatMap(convertFromLangChainMessages),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"chat\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleLLMEnd(\n response: LLMResult,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n const span = this.spans[runId];\n const tu = (response.llmOutput as any)?.tokenUsage as\n | {\n promptTokens?: number;\n completionTokens?: number;\n totalTokens?: number;\n }\n | undefined;\n if (span && tu) {\n span.setAttributes({\n \"gen_ai.usage.prompt_tokens\": tu.promptTokens ?? 0,\n \"gen_ai.usage.completion_tokens\": tu.completionTokens ?? 0,\n \"gen_ai.usage.total_tokens\": tu.totalTokens ?? 0,\n });\n }\n\n const outputs = shouldCaptureOutput()\n ? response.generations.flat().map((g) => {\n if (\"message\" in g && g.message) {\n return convertFromLangChainMessages([\n (g as ChatGeneration).message,\n ]);\n } else if (\"text\" in g && g.text) {\n return g.text;\n }\n return g;\n })\n : undefined;\n\n this.finishRun(runId, {\n output: outputs,\n event: \"handleLLMEnd\",\n parentRunId,\n });\n }\n\n async handleLLMError(\n err: Error,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleLLMError\", parentRunId });\n }\n\n async handleChainStart(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n _runType?: string,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"chain\",\n runId,\n parentRunId,\n serialized: chain,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? inputs : void 0,\n });\n\n if (_runType) {\n const span = this.spans[runId];\n if (span) span.setAttribute(\"langwatch.langchain.run.type\", _runType);\n }\n }\n\n async handleChainEnd(\n output: ChainValues,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { output, event: \"handleChainEnd\", parentRunId });\n }\n\n async handleChainError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> | undefined }\n ): Promise<void> {\n this.finishRun(runId, {\n err,\n event: \"handleChainError\",\n parentRunId,\n tags,\n md: kwargs,\n });\n }\n\n async handleToolStart(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"tool\",\n runId,\n parentRunId,\n serialized: tool,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: input } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleToolEnd(\n output: string,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"text\", value: output }\n : void 0,\n event: \"handleToolEnd\",\n parentRunId,\n });\n }\n\n async handleToolError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleToolError\", parentRunId, tags });\n }\n\n async handleRetrieverStart(\n retriever: Serialized,\n query: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ) {\n this.startRunSpan({\n kind: \"retriever\",\n runId,\n parentRunId,\n serialized: retriever,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: query } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleRetrieverEnd(\n documents: DocumentInterface<Record<string, any>>[],\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n const span = this.spans[runId];\n\n if (span && shouldCaptureOutput()) {\n span.setOutput(documents);\n }\n\n if (span && shouldCaptureInput()) {\n span.setRAGContexts(\n documents.map((document) => ({\n document_id: document.metadata.id,\n chunk_id: document.metadata.chunk_id,\n content: document.pageContent,\n }))\n );\n }\n\n this.finishRun(runId, { event: \"handleRetrieverEnd\", parentRunId, tags });\n }\n\n async handleRetrieverError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n this.finishRun(runId, {\n err,\n event: \"handleRetrieverError\",\n parentRunId,\n tags,\n });\n }\n\n async handleAgentAction(\n _action: AgentAction,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n const span = this.spans[runId];\n if (span) {\n addLangChainEvent(span, \"handleAgentAction\", runId, parentRunId, tags);\n span.setType(\"agent\");\n }\n }\n\n async handleAgentEnd(\n action: AgentFinish,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"json\", value: action.returnValues }\n : void 0,\n event: \"handleAgentEnd\",\n parentRunId,\n tags,\n });\n }\n}\n\nexport function convertFromLangChainMessages(\n messages: BaseMessage[]\n): ChatMessage[] {\n const out: ChatMessage[] = [];\n for (const message of messages) {\n out.push(\n convertFromLangChainMessage(message as BaseMessage & { id?: string[] })\n );\n }\n return out;\n}\n\nfunction convertFromLangChainMessage(\n message: BaseMessage & { id?: string[] }\n): ChatMessage {\n let role: ChatMessage[\"role\"] = \"user\";\n\n const msgType = (message as any).type as string | undefined;\n if (msgType === \"human\") role = \"user\";\n else if (msgType === \"ai\") role = \"assistant\";\n else if (msgType === \"system\") role = \"system\";\n else if (msgType === \"function\") role = \"function\";\n else if (msgType === \"tool\") role = \"tool\";\n else {\n if (\n (message as any)?._getType?.() === \"human\" ||\n message.id?.[message.id.length - 1] === \"HumanMessage\"\n ) {\n role = \"user\";\n } else if (\n (message as any)?._getType?.() === \"ai\" ||\n message.id?.[message.id.length - 1] === \"AIMessage\"\n ) {\n role = \"assistant\";\n } else if (\n (message as any)?._getType?.() === \"system\" ||\n message.id?.[message.id.length - 1] === \"SystemMessage\"\n ) {\n role = \"system\";\n } else if (\n (message as any)?._getType?.() === \"function\" ||\n message.id?.[message.id.length - 1] === \"FunctionMessage\"\n ) {\n role = \"function\";\n } else if (\n (message as any)?._getType?.() === \"tool\" ||\n message.id?.[message.id.length - 1] === \"ToolMessage\"\n ) {\n role = \"tool\";\n }\n }\n\n const content: ChatMessage[\"content\"] =\n typeof (message as any).content === \"string\"\n ? ((message as any).content as string)\n : (message as any).content == null\n ? null\n : Array.isArray((message as any).content)\n ? (message as any).content.map(\n (c: any): ChatRichContent =>\n c?.type === \"text\"\n ? { type: \"text\", text: c.text }\n : c?.type === \"image_url\"\n ? { type: \"image_url\", image_url: c.image_url }\n : { type: \"text\", text: JSON.stringify(c) }\n )\n : JSON.stringify((message as any).content);\n\n const functionCall = (message as any).additional_kwargs;\n\n return {\n role,\n content,\n ...(functionCall &&\n typeof functionCall === \"object\" &&\n Object.keys(functionCall).length > 0\n ? { function_call: functionCall }\n : {}),\n };\n}\n\nfunction className(serialized?: Serialized): string {\n const id = (serialized as any)?.id;\n if (Array.isArray(id) && id.length) return String(id[id.length - 1]);\n const ns = (serialized as any)?.lc_namespace;\n if (Array.isArray(ns) && ns.length) return String(ns[ns.length - 1]);\n\n return \"\";\n}\n\nfunction shorten(str: string, max = 120): string {\n return typeof str === \"string\" && str.length > max\n ? str.slice(0, max - 1) + \"…\"\n : str;\n}\n\nfunction previewInput(v: unknown): string | undefined {\n if (typeof v === \"string\") {\n const s = v.trim();\n return s ? shorten(s, 120) : void 0;\n }\n return void 0;\n}\n\nfunction ctxSkip(serialized?: Serialized, tags?: string[]) {\n const cls = className(serialized);\n return (\n cls.startsWith(\"ChannelWrite\") ||\n (tags?.includes(\"langsmith:hidden\") ?? false)\n );\n}\n\nfunction wrapNonScalarValues(\n value: unknown\n): string | number | boolean | undefined {\n if (value === void 0) return void 0;\n if (value === null) return JSON.stringify(null);\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n )\n return value;\n\n // Special-case: ChatMessage[] detection via zod schema the project already has\n const chatMessages = chatMessageSchema.array().safeParse(value as any);\n if (Array.isArray(value) && chatMessages.success) {\n return JSON.stringify({ type: \"chat_messages\", value: chatMessages.data });\n }\n\n try {\n const seen = new WeakSet();\n const json = JSON.stringify(value as any, (k, val) => {\n if (typeof val === \"object\" && val !== null) {\n if (seen.has(val)) return \"[Circular]\";\n seen.add(val);\n }\n return val;\n });\n return json;\n } catch {\n return JSON.stringify({ type: \"raw\", value: \"[Non-Serializable]\" });\n }\n}\n\nfunction addLangChainEvent(\n span: LangWatchSpan,\n eventName: string,\n runId: string,\n parentRunId: string | undefined,\n tags?: string[],\n metadata?: Record<string, unknown>,\n attributes?: Attributes\n) {\n const attrs: Attributes = {\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n \"langwatch.langchain.event.name\": eventName,\n ...attributes,\n };\n\n if (tags?.length) attrs[\"langwatch.langchain.run.tags\"] = tags.slice(0, 50);\n if (metadata) {\n Object.entries(metadata).forEach(([key, value]) => {\n attrs[key] = wrapNonScalarValues(value);\n });\n }\n\n span.addEvent(\"langwatch.langchain.callback\", attrs);\n}\n\nfunction setLangGraphAttributes(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>\n) {\n if (!metadata) return;\n const keys = Object.keys(metadata);\n for (const key of keys) {\n const value = (metadata as any)[key];\n if (value !== undefined) {\n const wrapped = wrapNonScalarValues(value);\n if (wrapped !== undefined) {\n span.setAttribute(\n `langwatch.langgraph.${key}` as const,\n wrapped as any\n );\n }\n }\n }\n}\n\nfunction buildLangChainMetadataAttributes(metadata: Record<string, unknown>) {\n if (!metadata) return {};\n return Object.fromEntries(\n Object.entries(metadata)\n .filter(([key]) => !LANGGRAPH_METADATA_KEYS.has(key))\n .map(([key, value]) => [\n `langwatch.langchain.run.metadata.${key}`,\n wrapNonScalarValues(value),\n ])\n );\n}\n\nfunction applyGenAIAttrs(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>,\n extraParams?: Record<string, unknown>\n) {\n const md = (metadata ?? {}) as any;\n const ex = (extraParams ?? {}) as any;\n\n const provider = md.ls_provider as string | undefined;\n const requestModel = md.ls_model_name ?? md.kwargs?.model ?? ex.kwargs?.model;\n const temperature =\n md.ls_temperature ?? md.kwargs?.temperature ?? ex.kwargs?.temperature;\n const responseModel = md.response_metadata?.model_name as string | undefined;\n\n if (provider) span.setAttribute(\"gen_ai.system\", provider);\n if (requestModel) span.setAttribute(\"gen_ai.request.model\", requestModel);\n if (typeof temperature === \"number\")\n span.setAttribute(\"gen_ai.request.temperature\", temperature);\n if (responseModel) span.setAttribute(\"gen_ai.response.model\", responseModel);\n}\n\nfunction getResolvedParentContext(\n runId: string | undefined,\n spans: Record<string, LangWatchSpan | undefined>,\n parentOf: Record<string, string | undefined>\n) {\n let cur = runId;\n while (cur) {\n const s = spans[cur];\n if (s) return trace.setSpan(context.active(), s);\n cur = parentOf[cur];\n }\n return context.active();\n}\n\nfunction deriveNameAndType(opts: {\n runType: RunKind;\n name?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n inputs?: unknown;\n}): { name: string; type: \"llm\" | \"chain\" | \"tool\" | \"rag\" | \"component\" } {\n const { runType, name, serialized, metadata, inputs } = opts;\n\n // user-specified name / metadata override\n const hardName = (name?.trim() ?? (metadata as any)?.operation_name) as\n | string\n | undefined;\n if (hardName) {\n return {\n name: hardName,\n type:\n runType === \"tool\"\n ? \"tool\"\n : runType === \"retriever\"\n ? \"rag\"\n : runType === \"llm\" || runType === \"chat\"\n ? \"llm\"\n : \"chain\",\n };\n }\n\n const cls = className(serialized);\n const md = (metadata ?? {}) as any;\n\n // LangGraph node / router - prioritize routers over nodes\n const hasNode = md?.langgraph_node != null;\n const hasTriggers = Array.isArray(md?.langgraph_triggers) && md.langgraph_triggers.length > 0;\n const isRouter =\n cls.startsWith(\"Branch<\") || hasTriggers;\n const isGraphRunner = md?.langgraph_path && !md?.langgraph_node;\n\n // LLM / Chat - always prioritize runType over metadata\n if (runType === \"llm\" || runType === \"chat\") {\n const prov = (md?.ls_provider as string) ?? \"LLM\";\n const model = (md?.ls_model_name as string) ?? (cls || \"call\");\n const temp = md?.ls_temperature;\n const tempStr =\n temp != null\n ? typeof temp === \"number\"\n ? temp.toString()\n : JSON.stringify(temp)\n : null;\n const nm =\n tempStr != null\n ? `${prov} ${model} (temp ${tempStr})`\n : `${prov} ${model}`;\n return { name: nm, type: \"llm\" };\n }\n\n // Prioritize LangGraph routers over nodes (but after LLM/Chat)\n if (isRouter) {\n const pathArr = md?.langgraph_path as string[] | undefined;\n const fromNode =\n Array.isArray(pathArr) && pathArr.length\n ? pathArr[pathArr.length - 1]\n : undefined;\n const decision = Array.isArray(md?.langgraph_triggers)\n ? String(\n md.langgraph_triggers.find((t: any) =>\n String(t).startsWith(\"branch:\")\n ) ?? \"\"\n ).replace(/^branch:(to:)?/, \"\")\n : undefined;\n const nm = `Route: ${fromNode ?? \"unknown\"} → ${decision ?? \"unknown\"}`;\n return { name: nm, type: \"component\" };\n }\n\n if (hasNode) {\n const step = md?.langgraph_step;\n const nm = `Node: ${md.langgraph_node}${\n step != null ? ` (step ${String(step)})` : \"\"\n }`;\n return { name: nm, type: \"component\" };\n }\n if (isGraphRunner && runType === \"chain\") {\n return { name: \"Graph: LangGraph\", type: \"chain\" };\n }\n\n // Tool\n if (runType === \"tool\") {\n const tool = (metadata as any)?.name ?? (cls || \"tool\");\n const prev =\n previewInput(inputs) ?? previewInput((serialized as any)?.input);\n return {\n name: prev ? `Tool: ${tool} — ${prev}` : `Tool: ${tool}`,\n type: \"tool\",\n };\n }\n\n // Retriever\n if (runType === \"retriever\") return { name: \"Retriever\", type: \"rag\" };\n\n // Fallbacks\n if (cls.includes(\"Agent\"))\n return { name: `Agent: ${cls}`, type: \"component\" };\n if (cls.startsWith(\"Runnable\"))\n return { name: `Runnable: ${cls.replace(/^Runnable/, \"\")}`, type: \"chain\" };\n return { name: cls || \"LangChain operation\", type: \"chain\" };\n}\n\n// Export helper functions for testing\nexport {\n className,\n shorten,\n previewInput,\n ctxSkip,\n wrapNonScalarValues,\n addLangChainEvent,\n setLangGraphAttributes,\n buildLangChainMetadataAttributes,\n applyGenAIAttrs,\n getResolvedParentContext,\n deriveNameAndType,\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/observability-sdk/instrumentation/langchain/index.ts"],"sourcesContent":["import type { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport { type DocumentInterface } from \"@langchain/core/documents\";\nimport type { Serialized } from \"@langchain/core/load/serializable\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport type { ChatGeneration, LLMResult } from \"@langchain/core/outputs\";\nimport {\n chatMessageSchema,\n type ChatMessage,\n type ChatRichContent,\n} from \"../../../internal/generated/types/tracer\";\nimport type { ChainValues } from \"@langchain/core/utils/types\";\nimport { getLangWatchTracer } from \"../../tracer\";\nimport type { LangWatchSpan } from \"../../span\";\nimport {\n context,\n trace,\n SpanStatusCode,\n type Attributes,\n} from \"@opentelemetry/api\";\nimport { shouldCaptureInput, shouldCaptureOutput } from \"../../config\";\n\ntype RunKind = \"llm\" | \"chat\" | \"chain\" | \"tool\" | \"retriever\";\n\ntype StartArgs = {\n kind: RunKind;\n runId: string;\n parentRunId?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n name?: string;\n extraParams?: Record<string, unknown>;\n input?: unknown; // already prepared for setInput()\n};\n\nconst LANGGRAPH_METADATA_KEYS = new Set<string>([\n \"thread_id\",\n \"langgraph_step\",\n \"langgraph_node\",\n \"langgraph_triggers\",\n \"langgraph_path\",\n \"langgraph_checkpoint_ns\",\n \"__pregel_task_id\",\n \"checkpoint_ns\",\n]);\n\nexport class LangWatchCallbackHandler extends BaseCallbackHandler {\n name = \"LangWatchCallbackHandler\";\n tracer = getLangWatchTracer(\"langwatch.instrumentation.langchain\");\n\n private spans: Record<string, LangWatchSpan | undefined> = {};\n private parentOf: Record<string, string | undefined> = {};\n private skipped: Record<string, true | undefined> = {};\n private seenStarts = new Set<string>();\n\n private startRunSpan(args: StartArgs) {\n const { runId, parentRunId, serialized, tags } = args;\n this.parentOf[runId] = parentRunId;\n\n // if we want to skip, we record as such as we cn do context matching latet\n if (ctxSkip(serialized, tags)) {\n this.skipped[runId] = true;\n return;\n }\n if (this.seenStarts.has(runId)) return;\n this.seenStarts.add(runId);\n\n const parentCtx = getResolvedParentContext(\n parentRunId,\n this.spans,\n this.parentOf\n );\n const parentSpan = parentRunId ? this.spans[parentRunId] : void 0;\n const links = parentSpan\n ? [{ context: parentSpan.spanContext() }]\n : void 0;\n\n const { name, type } = deriveNameAndType({\n runType: args.kind,\n name: args.name,\n serialized: args.serialized,\n metadata: args.metadata,\n tags: args.tags,\n inputs: args.input,\n });\n\n const span = this.tracer.startSpan(name, { links }, parentCtx);\n span.setType(type);\n\n if (args.tags?.length)\n span.setAttribute(\"langwatch.langchain.run.tags\", args.tags.slice(0, 50));\n\n if (shouldCaptureInput() && args.input !== void 0) {\n const i: any = args.input as any;\n if (i && typeof i === \"object\" && \"type\" in i && \"value\" in i) {\n span.setInput(i.type, i.value);\n } else {\n span.setInput(i);\n }\n }\n\n if (args.extraParams) {\n span.setAttributes(\n Object.fromEntries(\n Object.entries(args.extraParams).map(([k, v]) => [\n `langwatch.langchain.run.extra_params.${k}`,\n wrapNonScalarValues(v),\n ])\n )\n );\n }\n\n if (args.metadata) {\n applyGenAIAttrs(span, args.metadata, args.extraParams);\n setLangGraphAttributes(span, args.metadata);\n span.setAttributes(buildLangChainMetadataAttributes(args.metadata));\n }\n\n this.spans[runId] = span;\n }\n\n private finishRun(\n runId: string,\n end: {\n output?: unknown;\n err?: Error;\n event: string;\n parentRunId?: string;\n extra?: Attributes;\n tags?: string[];\n md?: Record<string, unknown>;\n }\n ) {\n const span = this.spans[runId];\n if (!span) return;\n\n addLangChainEvent(\n span,\n end.event,\n runId,\n end.parentRunId,\n end.tags,\n end.md,\n end.extra\n );\n\n if (end.err) {\n span.recordException(end.err);\n span.setStatus({ code: SpanStatusCode.ERROR, message: end.err.message });\n } else if (shouldCaptureOutput() && end.output !== undefined) {\n span.setOutput(end.output as any);\n }\n\n span.end();\n\n delete this.spans[runId];\n delete this.parentOf[runId];\n delete this.skipped[runId];\n this.seenStarts.delete(runId);\n }\n\n async handleLLMStart(\n llm: Serialized,\n prompts: string[],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput() && prompts\n ? {\n type: \"list\",\n value: prompts.map((p) => ({ type: \"text\", value: p })),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"llm\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleChatModelStart(\n llm: Serialized,\n messages: BaseMessage[][],\n runId: string,\n parentRunId?: string,\n extraParams?: Record<string, unknown>,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n const input = shouldCaptureInput()\n ? {\n type: \"chat_messages\",\n value: messages.flatMap(convertFromLangChainMessages),\n }\n : void 0;\n\n this.startRunSpan({\n kind: \"chat\",\n runId,\n parentRunId,\n serialized: llm,\n metadata,\n tags,\n name,\n extraParams,\n input,\n });\n }\n\n async handleLLMEnd(\n response: LLMResult,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n const span = this.spans[runId];\n const tu = (response.llmOutput as any)?.tokenUsage as\n | {\n promptTokens?: number;\n completionTokens?: number;\n totalTokens?: number;\n }\n | undefined;\n if (span && tu) {\n span.setAttributes({\n \"gen_ai.usage.prompt_tokens\": tu.promptTokens ?? 0,\n \"gen_ai.usage.completion_tokens\": tu.completionTokens ?? 0,\n \"gen_ai.usage.total_tokens\": tu.totalTokens ?? 0,\n });\n }\n\n const outputs = shouldCaptureOutput()\n ? response.generations.flat().map((g) => {\n if (\"message\" in g && g.message) {\n return convertFromLangChainMessages([\n (g as ChatGeneration).message,\n ]);\n } else if (\"text\" in g && g.text) {\n return g.text;\n }\n return g;\n })\n : undefined;\n\n this.finishRun(runId, {\n output: outputs,\n event: \"handleLLMEnd\",\n parentRunId,\n });\n }\n\n async handleLLMError(\n err: Error,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleLLMError\", parentRunId });\n }\n\n async handleChainStart(\n chain: Serialized,\n inputs: ChainValues,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n _runType?: string,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"chain\",\n runId,\n parentRunId,\n serialized: chain,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? inputs : void 0,\n });\n\n if (_runType) {\n const span = this.spans[runId];\n if (span) span.setAttribute(\"langwatch.langchain.run.type\", _runType);\n }\n }\n\n async handleChainEnd(\n output: ChainValues,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, { output, event: \"handleChainEnd\", parentRunId });\n }\n\n async handleChainError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n kwargs?: { inputs?: Record<string, unknown> | undefined }\n ): Promise<void> {\n this.finishRun(runId, {\n err,\n event: \"handleChainError\",\n parentRunId,\n tags,\n md: kwargs,\n });\n }\n\n async handleToolStart(\n tool: Serialized,\n input: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ): Promise<void> {\n this.startRunSpan({\n kind: \"tool\",\n runId,\n parentRunId,\n serialized: tool,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: input } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleToolEnd(\n output: string,\n runId: string,\n parentRunId?: string\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"text\", value: output }\n : void 0,\n event: \"handleToolEnd\",\n parentRunId,\n });\n }\n\n async handleToolError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, { err, event: \"handleToolError\", parentRunId, tags });\n }\n\n async handleRetrieverStart(\n retriever: Serialized,\n query: string,\n runId: string,\n parentRunId?: string,\n tags?: string[],\n metadata?: Record<string, unknown>,\n name?: string\n ) {\n this.startRunSpan({\n kind: \"retriever\",\n runId,\n parentRunId,\n serialized: retriever,\n metadata,\n tags,\n name,\n input: shouldCaptureInput() ? { type: \"text\", value: query } : void 0,\n });\n\n const span = this.spans[runId];\n if (span) {\n span.setAttributes({\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n });\n }\n }\n\n async handleRetrieverEnd(\n documents: DocumentInterface<Record<string, any>>[],\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n const span = this.spans[runId];\n\n if (span && shouldCaptureOutput()) {\n span.setOutput(documents);\n }\n\n if (span && shouldCaptureInput()) {\n span.setRAGContexts(\n documents.map((document) => ({\n document_id: document.metadata.id,\n chunk_id: document.metadata.chunk_id,\n content: document.pageContent,\n }))\n );\n }\n\n this.finishRun(runId, { event: \"handleRetrieverEnd\", parentRunId, tags });\n }\n\n async handleRetrieverError(\n err: Error,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ) {\n this.finishRun(runId, {\n err,\n event: \"handleRetrieverError\",\n parentRunId,\n tags,\n });\n }\n\n async handleAgentAction(\n _action: AgentAction,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n const span = this.spans[runId];\n if (span) {\n addLangChainEvent(span, \"handleAgentAction\", runId, parentRunId, tags);\n span.setType(\"agent\");\n }\n }\n\n async handleAgentEnd(\n action: AgentFinish,\n runId: string,\n parentRunId?: string,\n tags?: string[]\n ): Promise<void> {\n this.finishRun(runId, {\n output: shouldCaptureOutput()\n ? { type: \"json\", value: action.returnValues }\n : void 0,\n event: \"handleAgentEnd\",\n parentRunId,\n tags,\n });\n }\n}\n\nexport function convertFromLangChainMessages(\n messages: BaseMessage[]\n): ChatMessage[] {\n const out: ChatMessage[] = [];\n for (const message of messages) {\n out.push(\n convertFromLangChainMessage(message as BaseMessage & { id?: string[] })\n );\n }\n return out;\n}\n\nfunction convertFromLangChainMessage(\n message: BaseMessage & { id?: string[] }\n): ChatMessage {\n let role: ChatMessage[\"role\"] = \"user\";\n\n const msgType = (message as any).type as string | undefined;\n if (msgType === \"human\") role = \"user\";\n else if (msgType === \"ai\") role = \"assistant\";\n else if (msgType === \"system\") role = \"system\";\n else if (msgType === \"function\") role = \"function\";\n else if (msgType === \"tool\") role = \"tool\";\n else {\n if (\n (message as any)?._getType?.() === \"human\" ||\n message.id?.[message.id.length - 1] === \"HumanMessage\"\n ) {\n role = \"user\";\n } else if (\n (message as any)?._getType?.() === \"ai\" ||\n message.id?.[message.id.length - 1] === \"AIMessage\"\n ) {\n role = \"assistant\";\n } else if (\n (message as any)?._getType?.() === \"system\" ||\n message.id?.[message.id.length - 1] === \"SystemMessage\"\n ) {\n role = \"system\";\n } else if (\n (message as any)?._getType?.() === \"function\" ||\n message.id?.[message.id.length - 1] === \"FunctionMessage\"\n ) {\n role = \"function\";\n } else if (\n (message as any)?._getType?.() === \"tool\" ||\n message.id?.[message.id.length - 1] === \"ToolMessage\"\n ) {\n role = \"tool\";\n }\n }\n\n const content: ChatMessage[\"content\"] =\n typeof (message as any).content === \"string\"\n ? ((message as any).content as string)\n : (message as any).content == null\n ? null\n : Array.isArray((message as any).content)\n ? (message as any).content.map(\n (c: any): ChatRichContent =>\n c?.type === \"text\"\n ? { type: \"text\", text: c.text }\n : c?.type === \"image_url\"\n ? { type: \"image_url\", image_url: c.image_url }\n : { type: \"text\", text: JSON.stringify(c) }\n )\n : JSON.stringify((message as any).content);\n\n const functionCall = (message as any).additional_kwargs;\n\n return {\n role,\n content,\n ...(functionCall &&\n typeof functionCall === \"object\" &&\n Object.keys(functionCall).length > 0\n ? { function_call: functionCall }\n : {}),\n };\n}\n\nfunction className(serialized?: Serialized): string {\n const id = (serialized as any)?.id;\n if (Array.isArray(id) && id.length) return String(id[id.length - 1]);\n const ns = (serialized as any)?.lc_namespace;\n if (Array.isArray(ns) && ns.length) return String(ns[ns.length - 1]);\n\n return \"\";\n}\n\nfunction shorten(str: string, max = 120): string {\n return typeof str === \"string\" && str.length > max\n ? str.slice(0, max - 1) + \"…\"\n : str;\n}\n\nfunction previewInput(v: unknown): string | undefined {\n if (typeof v === \"string\") {\n const s = v.trim();\n return s ? shorten(s, 120) : void 0;\n }\n return void 0;\n}\n\nfunction ctxSkip(serialized?: Serialized, tags?: string[]) {\n const cls = className(serialized);\n return (\n cls.startsWith(\"ChannelWrite\") ||\n (tags?.includes(\"langsmith:hidden\") ?? false)\n );\n}\n\nfunction wrapNonScalarValues(\n value: unknown\n): string | number | boolean | undefined {\n if (value === void 0) return void 0;\n if (value === null) return JSON.stringify(null);\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n )\n return value;\n\n // Special-case: ChatMessage[] detection via zod schema the project already has\n const chatMessages = chatMessageSchema.array().safeParse(value as any);\n if (Array.isArray(value) && chatMessages.success) {\n return JSON.stringify({ type: \"chat_messages\", value: chatMessages.data });\n }\n\n try {\n const seen = new WeakSet();\n const json = JSON.stringify(value as any, (k, val) => {\n if (typeof val === \"object\" && val !== null) {\n if (seen.has(val)) return \"[Circular]\";\n seen.add(val);\n }\n return val;\n });\n return json;\n } catch {\n return JSON.stringify({ type: \"raw\", value: \"[Non-Serializable]\" });\n }\n}\n\nfunction addLangChainEvent(\n span: LangWatchSpan,\n eventName: string,\n runId: string,\n parentRunId: string | undefined,\n tags?: string[],\n metadata?: Record<string, unknown>,\n attributes?: Attributes\n) {\n const attrs: Attributes = {\n \"langwatch.langchain.run.id\": runId,\n \"langwatch.langchain.run.parent_id\": parentRunId,\n \"langwatch.langchain.event.name\": eventName,\n ...attributes,\n };\n\n if (tags?.length) attrs[\"langwatch.langchain.run.tags\"] = tags.slice(0, 50);\n if (metadata) {\n Object.entries(metadata).forEach(([key, value]) => {\n attrs[key] = wrapNonScalarValues(value);\n });\n }\n\n span.addEvent(\"langwatch.langchain.callback\", attrs);\n}\n\nfunction setLangGraphAttributes(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>\n) {\n if (!metadata) return;\n const keys = Object.keys(metadata);\n for (const key of keys) {\n const value = (metadata as any)[key];\n if (value !== undefined) {\n const wrapped = wrapNonScalarValues(value);\n if (wrapped !== undefined) {\n span.setAttribute(\n `langwatch.langgraph.${key}` as const,\n wrapped as any\n );\n }\n }\n }\n}\n\nfunction buildLangChainMetadataAttributes(metadata: Record<string, unknown>) {\n if (!metadata) return {};\n return Object.fromEntries(\n Object.entries(metadata)\n .filter(([key]) => !LANGGRAPH_METADATA_KEYS.has(key))\n .map(([key, value]) => [\n `langwatch.langchain.run.metadata.${key}`,\n wrapNonScalarValues(value),\n ])\n );\n}\n\nfunction applyGenAIAttrs(\n span: LangWatchSpan,\n metadata?: Record<string, unknown>,\n extraParams?: Record<string, unknown>\n) {\n const md = (metadata ?? {}) as any;\n const ex = (extraParams ?? {}) as any;\n\n const provider = md.ls_provider as string | undefined;\n const requestModel = md.ls_model_name ?? md.kwargs?.model ?? ex.kwargs?.model;\n const temperature =\n md.ls_temperature ?? md.kwargs?.temperature ?? ex.kwargs?.temperature;\n const responseModel = md.response_metadata?.model_name as string | undefined;\n\n if (provider) span.setAttribute(\"gen_ai.system\", provider);\n if (requestModel) span.setAttribute(\"gen_ai.request.model\", requestModel);\n if (typeof temperature === \"number\")\n span.setAttribute(\"gen_ai.request.temperature\", temperature);\n if (responseModel) span.setAttribute(\"gen_ai.response.model\", responseModel);\n}\n\nfunction getResolvedParentContext(\n runId: string | undefined,\n spans: Record<string, LangWatchSpan | undefined>,\n parentOf: Record<string, string | undefined>\n) {\n let cur = runId;\n while (cur) {\n const s = spans[cur];\n if (s) return trace.setSpan(context.active(), s);\n cur = parentOf[cur];\n }\n return context.active();\n}\n\nfunction deriveNameAndType(opts: {\n runType: RunKind;\n name?: string;\n serialized?: Serialized;\n metadata?: Record<string, unknown>;\n tags?: string[];\n inputs?: unknown;\n}): { name: string; type: \"llm\" | \"chain\" | \"tool\" | \"rag\" | \"component\" } {\n const { runType, name, serialized, metadata, inputs } = opts;\n\n // user-specified name / metadata override\n const hardName = (name?.trim() ?? (metadata as any)?.operation_name) as\n | string\n | undefined;\n if (hardName) {\n return {\n name: hardName,\n type:\n runType === \"tool\"\n ? \"tool\"\n : runType === \"retriever\"\n ? \"rag\"\n : runType === \"llm\" || runType === \"chat\"\n ? \"llm\"\n : \"chain\",\n };\n }\n\n const cls = className(serialized);\n const md = (metadata ?? {}) as any;\n\n // LangGraph node / router - prioritize routers over nodes\n const hasNode = md?.langgraph_node != null;\n const hasTriggers = Array.isArray(md?.langgraph_triggers) && md.langgraph_triggers.length > 0;\n const isRouter =\n cls.startsWith(\"Branch<\") || hasTriggers;\n const isGraphRunner = md?.langgraph_path && !md?.langgraph_node;\n\n // LLM / Chat - always prioritize runType over metadata\n if (runType === \"llm\" || runType === \"chat\") {\n const prov = (md?.ls_provider as string) ?? \"LLM\";\n const model = (md?.ls_model_name as string) ?? (cls || \"call\");\n const temp = md?.ls_temperature;\n const tempStr =\n temp != null\n ? typeof temp === \"number\"\n ? temp.toString()\n : JSON.stringify(temp)\n : null;\n const nm =\n tempStr != null\n ? `${prov} ${model} (temp ${tempStr})`\n : `${prov} ${model}`;\n return { name: nm, type: \"llm\" };\n }\n\n // Prioritize LangGraph routers over nodes (but after LLM/Chat)\n if (isRouter) {\n const pathArr = md?.langgraph_path as string[] | undefined;\n const fromNode =\n Array.isArray(pathArr) && pathArr.length\n ? pathArr[pathArr.length - 1]\n : undefined;\n const decision = Array.isArray(md?.langgraph_triggers)\n ? String(\n md.langgraph_triggers.find((t: any) =>\n String(t).startsWith(\"branch:\")\n ) ?? \"\"\n ).replace(/^branch:(to:)?/, \"\")\n : undefined;\n const nm = `Route: ${fromNode ?? \"unknown\"} → ${decision ?? \"unknown\"}`;\n return { name: nm, type: \"component\" };\n }\n\n if (hasNode) {\n const step = md?.langgraph_step;\n const nm = `Node: ${md.langgraph_node}${\n step != null ? ` (step ${String(step)})` : \"\"\n }`;\n return { name: nm, type: \"component\" };\n }\n if (isGraphRunner && runType === \"chain\") {\n return { name: \"Graph: LangGraph\", type: \"chain\" };\n }\n\n // Tool\n if (runType === \"tool\") {\n const tool = (metadata as any)?.name ?? (cls || \"tool\");\n const prev =\n previewInput(inputs) ?? previewInput((serialized as any)?.input);\n return {\n name: prev ? `Tool: ${tool} — ${prev}` : `Tool: ${tool}`,\n type: \"tool\",\n };\n }\n\n // Retriever\n if (runType === \"retriever\") return { name: \"Retriever\", type: \"rag\" };\n\n // Fallbacks\n if (cls.includes(\"Agent\"))\n return { name: `Agent: ${cls}`, type: \"component\" };\n if (cls.startsWith(\"Runnable\"))\n return { name: `Runnable: ${cls.replace(/^Runnable/, \"\")}`, type: \"chain\" };\n return { name: cls || \"LangChain operation\", type: \"chain\" };\n}\n\n// Export helper functions for testing\nexport {\n className,\n shorten,\n previewInput,\n ctxSkip,\n wrapNonScalarValues,\n addLangChainEvent,\n setLangGraphAttributes,\n buildLangChainMetadataAttributes,\n applyGenAIAttrs,\n getResolvedParentContext,\n deriveNameAndType,\n};\n"],"mappings":"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","names":[]}
@@ -1,15 +1,15 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkBUDHOAPRjs = require('../../../chunk-BUDHOAPR.js');
5
- require('../../../chunk-RNIRFGGU.js');
4
+ var _chunkSENLTNDWjs = require('../../../chunk-SENLTNDW.js');
5
+ require('../../../chunk-5YPBJ2RX.js');
6
6
  require('../../../chunk-WZTRPR6A.js');
7
- require('../../../chunk-HZHJMCEC.js');
7
+ require('../../../chunk-TJ6BZNZN.js');
8
8
  require('../../../chunk-IXYZL7U2.js');
9
9
  require('../../../chunk-VS22JXRY.js');
10
10
  require('../../../chunk-BRPEG3YQ.js');
11
11
 
12
12
 
13
13
 
14
- exports.ensureSetup = _chunkBUDHOAPRjs.ensureSetup; exports.setupObservability = _chunkBUDHOAPRjs.setupObservability;
14
+ exports.ensureSetup = _chunkSENLTNDWjs.ensureSetup; exports.setupObservability = _chunkSENLTNDWjs.setupObservability;
15
15
  //# sourceMappingURL=index.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  ensureSetup,
3
3
  setupObservability
4
- } from "../../../chunk-YWMMPIH3.mjs";
5
- import "../../../chunk-S47MLKDG.mjs";
4
+ } from "../../../chunk-C5MLYQPW.mjs";
5
+ import "../../../chunk-GPKFTIVT.mjs";
6
6
  import "../../../chunk-SIXSSID3.mjs";
7
- import "../../../chunk-B4QCZKFV.mjs";
7
+ import "../../../chunk-HAIPL262.mjs";
8
8
  import "../../../chunk-JOLGDU7Q.mjs";
9
9
  import "../../../chunk-GVFRS2UN.mjs";
10
10
  import "../../../chunk-BAX4W3AY.mjs";
@@ -0,0 +1,47 @@
1
+ import {
2
+ isLoggedIn,
3
+ loadConfig
4
+ } from "./chunk-U47MQ6CS.mjs";
5
+ import "./chunk-BAX4W3AY.mjs";
6
+
7
+ // src/cli/commands/open.ts
8
+ import chalk from "chalk";
9
+ import open from "open";
10
+ var openCommand = async (options = {}) => {
11
+ const cfg = loadConfig();
12
+ if (!isLoggedIn(cfg)) {
13
+ console.error(
14
+ chalk.yellow("Not logged in. Run `langwatch login` first.")
15
+ );
16
+ process.exit(1);
17
+ }
18
+ const base = cfg.control_plane_url.replace(/\/+$/, "");
19
+ let target;
20
+ if (options.path) {
21
+ const trimmed = options.path.replace(/^\/+/, "");
22
+ target = `${base}/${trimmed}`;
23
+ } else if (process.env.LANGWATCH_API_KEY) {
24
+ target = base;
25
+ } else {
26
+ target = `${base}/me`;
27
+ }
28
+ console.log(`Opening ${target}`);
29
+ await openInBrowser(target, options.browser);
30
+ };
31
+ async function openInBrowser(url, override) {
32
+ var _a, _b;
33
+ const choice = (_b = (_a = override != null ? override : process.env.LANGWATCH_BROWSER) != null ? _a : process.env.BROWSER) != null ? _b : "";
34
+ if (choice === "none") return;
35
+ try {
36
+ if (!choice || choice === "default") {
37
+ await open(url);
38
+ return;
39
+ }
40
+ await open(url, { app: { name: choice } });
41
+ } catch (e) {
42
+ }
43
+ }
44
+ export {
45
+ openCommand
46
+ };
47
+ //# sourceMappingURL=open-2IGFGDDB.mjs.map
@@ -0,0 +1,47 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+
4
+ var _chunkOGAE7BVQjs = require('./chunk-OGAE7BVQ.js');
5
+ require('./chunk-BRPEG3YQ.js');
6
+
7
+ // src/cli/commands/open.ts
8
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
9
+ var _open = require('open'); var _open2 = _interopRequireDefault(_open);
10
+ var openCommand = async (options = {}) => {
11
+ const cfg = _chunkOGAE7BVQjs.loadConfig.call(void 0, );
12
+ if (!_chunkOGAE7BVQjs.isLoggedIn.call(void 0, cfg)) {
13
+ console.error(
14
+ _chalk2.default.yellow("Not logged in. Run `langwatch login` first.")
15
+ );
16
+ process.exit(1);
17
+ }
18
+ const base = cfg.control_plane_url.replace(/\/+$/, "");
19
+ let target;
20
+ if (options.path) {
21
+ const trimmed = options.path.replace(/^\/+/, "");
22
+ target = `${base}/${trimmed}`;
23
+ } else if (process.env.LANGWATCH_API_KEY) {
24
+ target = base;
25
+ } else {
26
+ target = `${base}/me`;
27
+ }
28
+ console.log(`Opening ${target}`);
29
+ await openInBrowser(target, options.browser);
30
+ };
31
+ async function openInBrowser(url, override) {
32
+ var _a, _b;
33
+ const choice = (_b = (_a = override != null ? override : process.env.LANGWATCH_BROWSER) != null ? _a : process.env.BROWSER) != null ? _b : "";
34
+ if (choice === "none") return;
35
+ try {
36
+ if (!choice || choice === "default") {
37
+ await _open2.default.call(void 0, url);
38
+ return;
39
+ }
40
+ await _open2.default.call(void 0, url, { app: { name: choice } });
41
+ } catch (e) {
42
+ }
43
+ }
44
+
45
+
46
+ exports.openCommand = openCommand;
47
+ //# sourceMappingURL=open-TCBDPKWM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/open-TCBDPKWM.js","../src/cli/commands/open.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACA;ACNA,4EAAkB;AAClB,wEAAiB;AAkBV,IAAM,YAAA,EAAc,MAAA,CACzB,QAAA,EAA+C,CAAC,CAAA,EAAA,GAC9B;AAClB,EAAA,MAAM,IAAA,EAAM,yCAAA,CAAW;AACvB,EAAA,GAAA,CAAI,CAAC,yCAAA,GAAc,CAAA,EAAG;AACpB,IAAA,OAAA,CAAQ,KAAA;AAAA,MACN,eAAA,CAAM,MAAA,CAAO,6CAA6C;AAAA,IAC5D,CAAA;AACA,IAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA;AAAA,EAChB;AAEA,EAAA,MAAM,KAAA,EAAO,GAAA,CAAI,iBAAA,CAAkB,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAA;AACrD,EAAA,IAAI,MAAA;AACJ,EAAA,GAAA,CAAI,OAAA,CAAQ,IAAA,EAAM;AAChB,IAAA,MAAM,QAAA,EAAU,OAAA,CAAQ,IAAA,CAAK,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAA;AAC/C,IAAA,OAAA,EAAS,CAAA,EAAA;AACA,EAAA;AACA,IAAA;AACJ,EAAA;AACI,IAAA;AACX,EAAA;AAEY,EAAA;AACN,EAAA;AACR;AAEA;AA7CA,EAAA;AA8CQ,EAAA;AAEF,EAAA;AACA,EAAA;AACG,IAAA;AACG,MAAA;AACN,MAAA;AACF,IAAA;AACM,IAAA;AACA,EAAA;AAER,EAAA;AACF;ADfc;AACA;AACA","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/open-TCBDPKWM.js","sourcesContent":[null,"import chalk from \"chalk\";\nimport open from \"open\";\n\nimport { isLoggedIn, loadConfig } from \"@/cli/utils/governance/config\";\n\n/**\n * `langwatch open [path]` — open the LangWatch app in the user's\n * default browser.\n *\n * No path:\n * - Project mode (LANGWATCH_API_KEY set in the shell or .env): open\n * the control-plane root and let the app route to the matching\n * project home based on the session.\n * - Personal mode: open `/me`, the personal AI tools portal.\n *\n * With path: open `${control_plane_url}/${path}` verbatim. Lets\n * `langwatch open traces`, `langwatch open governance`, etc. work\n * without a dedicated subcommand per surface.\n */\nexport const openCommand = async (\n options: { path?: string; browser?: string } = {},\n): Promise<void> => {\n const cfg = loadConfig();\n if (!isLoggedIn(cfg)) {\n console.error(\n chalk.yellow(\"Not logged in. Run `langwatch login` first.\"),\n );\n process.exit(1);\n }\n\n const base = cfg.control_plane_url.replace(/\\/+$/, \"\");\n let target: string;\n if (options.path) {\n const trimmed = options.path.replace(/^\\/+/, \"\");\n target = `${base}/${trimmed}`;\n } else if (process.env.LANGWATCH_API_KEY) {\n target = base;\n } else {\n target = `${base}/me`;\n }\n\n console.log(`Opening ${target}`);\n await openInBrowser(target, options.browser);\n};\n\nasync function openInBrowser(url: string, override?: string): Promise<void> {\n const choice =\n override ?? process.env.LANGWATCH_BROWSER ?? process.env.BROWSER ?? \"\";\n if (choice === \"none\") return;\n try {\n if (!choice || choice === \"default\") {\n await open(url);\n return;\n }\n await open(url, { app: { name: choice } });\n } catch {\n // URL already on stdout; don't fail because the browser couldn't open.\n }\n}\n"]}