langwatch 0.20.0 → 0.22.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 (534) hide show
  1. package/dist/{add-2I554R6L.mjs → add-7QFHK67E.mjs} +10 -7
  2. package/dist/{add-2I554R6L.mjs.map → add-7QFHK67E.mjs.map} +1 -1
  3. package/dist/{add-FJ2SMVQE.js → add-EJSXUSD6.js} +13 -10
  4. package/dist/add-EJSXUSD6.js.map +1 -0
  5. package/dist/assign-5UEB6AJU.js +50 -0
  6. package/dist/assign-5UEB6AJU.js.map +1 -0
  7. package/dist/assign-JCCQ5D7I.mjs +50 -0
  8. package/dist/assign-JCCQ5D7I.mjs.map +1 -0
  9. package/dist/chunk-2BJPLPLU.js +33 -0
  10. package/dist/chunk-2BJPLPLU.js.map +1 -0
  11. package/dist/chunk-2OHGLTXZ.mjs +51 -0
  12. package/dist/chunk-2OHGLTXZ.mjs.map +1 -0
  13. package/dist/chunk-2VVANTLB.js +68 -0
  14. package/dist/chunk-2VVANTLB.js.map +1 -0
  15. package/dist/{chunk-L5Z7F7MG.mjs → chunk-43STSE3B.mjs} +2 -2
  16. package/dist/chunk-47F7UDHN.js +76 -0
  17. package/dist/chunk-47F7UDHN.js.map +1 -0
  18. package/dist/chunk-5PMWRY5J.js +80 -0
  19. package/dist/chunk-5PMWRY5J.js.map +1 -0
  20. package/dist/chunk-7FD7BEJP.mjs +63 -0
  21. package/dist/chunk-7FD7BEJP.mjs.map +1 -0
  22. package/dist/{chunk-PIF2RJWZ.js → chunk-AK4YCKWK.js} +107 -108
  23. package/dist/chunk-AK4YCKWK.js.map +1 -0
  24. package/dist/chunk-AMPLL3EP.js +70 -0
  25. package/dist/chunk-AMPLL3EP.js.map +1 -0
  26. package/dist/chunk-CGFG5FCC.js +674 -0
  27. package/dist/chunk-CGFG5FCC.js.map +1 -0
  28. package/dist/chunk-CLYXJJ6C.js +66 -0
  29. package/dist/chunk-CLYXJJ6C.js.map +1 -0
  30. package/dist/{chunk-WSESRS6L.mjs → chunk-COKOLKOR.mjs} +8 -6
  31. package/dist/{chunk-WSESRS6L.mjs.map → chunk-COKOLKOR.mjs.map} +1 -1
  32. package/dist/chunk-COMOCQA6.mjs +13 -0
  33. package/dist/chunk-COMOCQA6.mjs.map +1 -0
  34. package/dist/chunk-CYRJSLKD.js +68 -0
  35. package/dist/chunk-CYRJSLKD.js.map +1 -0
  36. package/dist/{chunk-BJUXJHMQ.js → chunk-D2FHOR76.js} +2 -2
  37. package/dist/{chunk-BJUXJHMQ.js.map → chunk-D2FHOR76.js.map} +1 -1
  38. package/dist/{chunk-5LYWRKDF.js → chunk-DB6OJGP4.js} +2 -60
  39. package/dist/chunk-DB6OJGP4.js.map +1 -0
  40. package/dist/chunk-DTEKJ3UD.mjs +66 -0
  41. package/dist/chunk-DTEKJ3UD.mjs.map +1 -0
  42. package/dist/{chunk-NW32UPEI.js → chunk-DUG35J5N.js} +17 -17
  43. package/dist/{chunk-NW32UPEI.js.map → chunk-DUG35J5N.js.map} +1 -1
  44. package/dist/chunk-DWHR6QJK.mjs +46 -0
  45. package/dist/chunk-DWHR6QJK.mjs.map +1 -0
  46. package/dist/{chunk-A7CF6ZGH.mjs → chunk-ESGWN42J.mjs} +2 -2
  47. package/dist/{chunk-FMYG6IOZ.mjs → chunk-FARZEN6T.mjs} +2 -2
  48. package/dist/chunk-FG3JQBJB.mjs +68 -0
  49. package/dist/chunk-FG3JQBJB.mjs.map +1 -0
  50. package/dist/chunk-FKIH4XCX.js +63 -0
  51. package/dist/chunk-FKIH4XCX.js.map +1 -0
  52. package/dist/chunk-GLCAOVJA.js +100 -0
  53. package/dist/chunk-GLCAOVJA.js.map +1 -0
  54. package/dist/{chunk-VCC7F6B7.js → chunk-H6F5OGSL.js} +11 -11
  55. package/dist/{chunk-VCC7F6B7.js.map → chunk-H6F5OGSL.js.map} +1 -1
  56. package/dist/chunk-HHRXMHVH.js +54 -0
  57. package/dist/chunk-HHRXMHVH.js.map +1 -0
  58. package/dist/{chunk-ZLCERT3X.js → chunk-HPQFHP6K.js} +12 -10
  59. package/dist/chunk-HPQFHP6K.js.map +1 -0
  60. package/dist/chunk-I2LDJPTG.mjs +100 -0
  61. package/dist/chunk-I2LDJPTG.mjs.map +1 -0
  62. package/dist/chunk-ILLEMTW3.mjs +674 -0
  63. package/dist/chunk-ILLEMTW3.mjs.map +1 -0
  64. package/dist/{chunk-OLI6GF46.js → chunk-JWF5KHWM.js} +16 -14
  65. package/dist/chunk-JWF5KHWM.js.map +1 -0
  66. package/dist/{chunk-CWXQ53NE.mjs → chunk-JYR4TXSB.mjs} +10 -8
  67. package/dist/chunk-JYR4TXSB.mjs.map +1 -0
  68. package/dist/chunk-KH64V3CL.mjs +54 -0
  69. package/dist/chunk-KH64V3CL.mjs.map +1 -0
  70. package/dist/chunk-KJSFJ5Z3.js +51 -0
  71. package/dist/chunk-KJSFJ5Z3.js.map +1 -0
  72. package/dist/{chunk-WASZSPD7.mjs → chunk-L3IOXWDG.mjs} +100 -101
  73. package/dist/chunk-L3IOXWDG.mjs.map +1 -0
  74. package/dist/{chunk-SSONRNFB.mjs → chunk-LN33ZL4Z.mjs} +2 -2
  75. package/dist/{chunk-SSONRNFB.mjs.map → chunk-LN33ZL4Z.mjs.map} +1 -1
  76. package/dist/{chunk-5M66X6SZ.mjs → chunk-LULJYN3P.mjs} +3 -3
  77. package/dist/chunk-M3WJZUOE.js +13 -0
  78. package/dist/chunk-M3WJZUOE.js.map +1 -0
  79. package/dist/{chunk-JVIQJFUE.mjs → chunk-M4IBRWUC.mjs} +2 -60
  80. package/dist/chunk-M4IBRWUC.mjs.map +1 -0
  81. package/dist/chunk-NIW2SFZZ.mjs +85 -0
  82. package/dist/chunk-NIW2SFZZ.mjs.map +1 -0
  83. package/dist/chunk-NMACMKQN.mjs +68 -0
  84. package/dist/chunk-NMACMKQN.mjs.map +1 -0
  85. package/dist/chunk-OAAMDWSK.js +65 -0
  86. package/dist/chunk-OAAMDWSK.js.map +1 -0
  87. package/dist/chunk-PO6XRHYW.mjs +80 -0
  88. package/dist/chunk-PO6XRHYW.mjs.map +1 -0
  89. package/dist/chunk-QH3WUSKF.mjs +33 -0
  90. package/dist/chunk-QH3WUSKF.mjs.map +1 -0
  91. package/dist/chunk-RKJDDUGQ.mjs +65 -0
  92. package/dist/chunk-RKJDDUGQ.mjs.map +1 -0
  93. package/dist/chunk-TCO73AV5.mjs +53 -0
  94. package/dist/chunk-TCO73AV5.mjs.map +1 -0
  95. package/dist/chunk-TQYUM3WH.mjs +70 -0
  96. package/dist/chunk-TQYUM3WH.mjs.map +1 -0
  97. package/dist/chunk-TV6ZXLE5.mjs +76 -0
  98. package/dist/chunk-TV6ZXLE5.mjs.map +1 -0
  99. package/dist/chunk-VMDYRBQ7.js +85 -0
  100. package/dist/chunk-VMDYRBQ7.js.map +1 -0
  101. package/dist/chunk-WE2PHCFS.js +53 -0
  102. package/dist/chunk-WE2PHCFS.js.map +1 -0
  103. package/dist/chunk-WLMXMXHE.js +54 -0
  104. package/dist/chunk-WLMXMXHE.js.map +1 -0
  105. package/dist/chunk-X7QBE6AA.js +46 -0
  106. package/dist/chunk-X7QBE6AA.js.map +1 -0
  107. package/dist/chunk-YTR56IZO.mjs +54 -0
  108. package/dist/chunk-YTR56IZO.mjs.map +1 -0
  109. package/dist/{chunk-QLBNSGWC.js → chunk-Z6MQQXMS.js} +4 -4
  110. package/dist/{chunk-QLBNSGWC.js.map → chunk-Z6MQQXMS.js.map} +1 -1
  111. package/dist/{chunk-QNT5P6VV.js → chunk-ZZL6VZZU.js} +2 -2
  112. package/dist/{chunk-QNT5P6VV.js.map → chunk-ZZL6VZZU.js.map} +1 -1
  113. package/dist/cli/index.js +467 -20
  114. package/dist/cli/index.js.map +1 -1
  115. package/dist/cli/index.mjs +467 -20
  116. package/dist/cli/index.mjs.map +1 -1
  117. package/dist/create-45FMHT6B.mjs +78 -0
  118. package/dist/create-45FMHT6B.mjs.map +1 -0
  119. package/dist/create-4OA73B7I.mjs +44 -0
  120. package/dist/create-4OA73B7I.mjs.map +1 -0
  121. package/dist/create-4U5BPFCT.mjs +51 -0
  122. package/dist/create-4U5BPFCT.mjs.map +1 -0
  123. package/dist/create-ARJEJDYU.mjs +18 -0
  124. package/dist/create-CQ7W2OAA.js +78 -0
  125. package/dist/create-CQ7W2OAA.js.map +1 -0
  126. package/dist/create-FI6HBFTB.mjs +63 -0
  127. package/dist/create-FI6HBFTB.mjs.map +1 -0
  128. package/dist/create-FYLUSZTP.js +38 -0
  129. package/dist/create-FYLUSZTP.js.map +1 -0
  130. package/dist/create-GGYYU5KM.mjs +51 -0
  131. package/dist/create-GGYYU5KM.mjs.map +1 -0
  132. package/dist/create-K5LFAS4E.mjs +61 -0
  133. package/dist/create-K5LFAS4E.mjs.map +1 -0
  134. package/dist/create-KAPF2AOL.js +44 -0
  135. package/dist/create-KAPF2AOL.js.map +1 -0
  136. package/dist/create-LWG7ZHEW.mjs +71 -0
  137. package/dist/create-LWG7ZHEW.mjs.map +1 -0
  138. package/dist/create-MXYMAFMF.js +71 -0
  139. package/dist/create-MXYMAFMF.js.map +1 -0
  140. package/dist/create-NFYHBFF5.mjs +50 -0
  141. package/dist/create-NFYHBFF5.mjs.map +1 -0
  142. package/dist/create-OSAXTSUC.js +51 -0
  143. package/dist/create-OSAXTSUC.js.map +1 -0
  144. package/dist/create-RPHO5TZX.js +51 -0
  145. package/dist/create-RPHO5TZX.js.map +1 -0
  146. package/dist/create-RRI5ZTMI.mjs +51 -0
  147. package/dist/create-RRI5ZTMI.mjs.map +1 -0
  148. package/dist/create-UKLLNRXV.js +61 -0
  149. package/dist/create-UKLLNRXV.js.map +1 -0
  150. package/dist/create-UZ5NDYPV.js +88 -0
  151. package/dist/create-UZ5NDYPV.js.map +1 -0
  152. package/dist/create-WV2NQDV5.js +63 -0
  153. package/dist/create-WV2NQDV5.js.map +1 -0
  154. package/dist/create-XGD3GULQ.js +50 -0
  155. package/dist/create-XGD3GULQ.js.map +1 -0
  156. package/dist/create-XZXVGMKU.js +51 -0
  157. package/dist/create-XZXVGMKU.js.map +1 -0
  158. package/dist/create-Z2XFL2HX.js +18 -0
  159. package/dist/create-Z2XFL2HX.js.map +1 -0
  160. package/dist/create-Z7DUMMQ4.mjs +38 -0
  161. package/dist/create-Z7DUMMQ4.mjs.map +1 -0
  162. package/dist/create-ZU4L3XOF.mjs +88 -0
  163. package/dist/create-ZU4L3XOF.mjs.map +1 -0
  164. package/dist/delete-22LDMLNG.mjs +61 -0
  165. package/dist/delete-22LDMLNG.mjs.map +1 -0
  166. package/dist/delete-2S67GS6A.mjs +40 -0
  167. package/dist/delete-2S67GS6A.mjs.map +1 -0
  168. package/dist/delete-3WCCA5O2.mjs +44 -0
  169. package/dist/delete-3WCCA5O2.mjs.map +1 -0
  170. package/dist/delete-4QNGDUH6.js +44 -0
  171. package/dist/delete-4QNGDUH6.js.map +1 -0
  172. package/dist/delete-555RUBQA.js +55 -0
  173. package/dist/delete-555RUBQA.js.map +1 -0
  174. package/dist/delete-5NINT2KV.mjs +42 -0
  175. package/dist/delete-5NINT2KV.mjs.map +1 -0
  176. package/dist/delete-5VDH4Q3Z.js +44 -0
  177. package/dist/delete-5VDH4Q3Z.js.map +1 -0
  178. package/dist/delete-6JPJPG4B.js +38 -0
  179. package/dist/delete-6JPJPG4B.js.map +1 -0
  180. package/dist/delete-6ZD3ARMB.js +61 -0
  181. package/dist/delete-6ZD3ARMB.js.map +1 -0
  182. package/dist/delete-AOSVEVNL.mjs +44 -0
  183. package/dist/delete-AOSVEVNL.mjs.map +1 -0
  184. package/dist/delete-BLTSYYZQ.js +40 -0
  185. package/dist/delete-BLTSYYZQ.js.map +1 -0
  186. package/dist/delete-CTE3RNKB.mjs +42 -0
  187. package/dist/delete-CTE3RNKB.mjs.map +1 -0
  188. package/dist/delete-HEF4DLSV.mjs +38 -0
  189. package/dist/delete-HEF4DLSV.mjs.map +1 -0
  190. package/dist/delete-I36NLS2V.mjs +65 -0
  191. package/dist/delete-I36NLS2V.mjs.map +1 -0
  192. package/dist/delete-J2P2Y2BW.mjs +63 -0
  193. package/dist/delete-J2P2Y2BW.mjs.map +1 -0
  194. package/dist/delete-KIXZ73DF.mjs +38 -0
  195. package/dist/delete-KIXZ73DF.mjs.map +1 -0
  196. package/dist/delete-L3SU34X6.mjs +44 -0
  197. package/dist/delete-L3SU34X6.mjs.map +1 -0
  198. package/dist/delete-N6OZW65U.js +44 -0
  199. package/dist/delete-N6OZW65U.js.map +1 -0
  200. package/dist/delete-PPEXA2V4.js +42 -0
  201. package/dist/delete-PPEXA2V4.js.map +1 -0
  202. package/dist/delete-PXGB35PF.js +65 -0
  203. package/dist/delete-PXGB35PF.js.map +1 -0
  204. package/dist/delete-QVE52G3Q.mjs +42 -0
  205. package/dist/delete-QVE52G3Q.mjs.map +1 -0
  206. package/dist/delete-R5TSAZOU.js +42 -0
  207. package/dist/delete-R5TSAZOU.js.map +1 -0
  208. package/dist/delete-RIHVCQ6G.mjs +55 -0
  209. package/dist/delete-RIHVCQ6G.mjs.map +1 -0
  210. package/dist/delete-UWPOVLSO.js +38 -0
  211. package/dist/delete-UWPOVLSO.js.map +1 -0
  212. package/dist/delete-XKF7KO4Y.js +63 -0
  213. package/dist/delete-XKF7KO4Y.js.map +1 -0
  214. package/dist/delete-ZY2UCN3W.js +42 -0
  215. package/dist/delete-ZY2UCN3W.js.map +1 -0
  216. package/dist/download-2Q5T4WW2.js +96 -0
  217. package/dist/download-2Q5T4WW2.js.map +1 -0
  218. package/dist/download-7RBJ3GZM.mjs +96 -0
  219. package/dist/download-7RBJ3GZM.mjs.map +1 -0
  220. package/dist/duplicate-7N6B5PJD.mjs +48 -0
  221. package/dist/duplicate-7N6B5PJD.mjs.map +1 -0
  222. package/dist/duplicate-HZGUFROD.js +48 -0
  223. package/dist/duplicate-HZGUFROD.js.map +1 -0
  224. package/dist/export-PP5LG6Q7.js +91 -0
  225. package/dist/export-PP5LG6Q7.js.map +1 -0
  226. package/dist/export-TGKA6WA4.mjs +91 -0
  227. package/dist/export-TGKA6WA4.mjs.map +1 -0
  228. package/dist/get-2AXSP6AP.js +62 -0
  229. package/dist/get-2AXSP6AP.js.map +1 -0
  230. package/dist/get-6UQYEENU.mjs +55 -0
  231. package/dist/get-6UQYEENU.mjs.map +1 -0
  232. package/dist/get-73K7EOMU.mjs +53 -0
  233. package/dist/get-73K7EOMU.mjs.map +1 -0
  234. package/dist/get-7JYKMJXV.mjs +85 -0
  235. package/dist/get-7JYKMJXV.mjs.map +1 -0
  236. package/dist/get-7V7OBWY5.js +86 -0
  237. package/dist/get-7V7OBWY5.js.map +1 -0
  238. package/dist/get-CBNUMPUN.mjs +64 -0
  239. package/dist/get-CBNUMPUN.mjs.map +1 -0
  240. package/dist/get-E2RIDN65.mjs +70 -0
  241. package/dist/get-E2RIDN65.mjs.map +1 -0
  242. package/dist/get-EN3CQXA7.js +51 -0
  243. package/dist/get-EN3CQXA7.js.map +1 -0
  244. package/dist/get-GHUHFWC3.js +58 -0
  245. package/dist/get-GHUHFWC3.js.map +1 -0
  246. package/dist/get-GQTPK2MW.mjs +51 -0
  247. package/dist/get-GQTPK2MW.mjs.map +1 -0
  248. package/dist/get-I2CQCKFW.mjs +62 -0
  249. package/dist/get-I2CQCKFW.mjs.map +1 -0
  250. package/dist/get-IDYGZX5O.mjs +51 -0
  251. package/dist/get-IDYGZX5O.mjs.map +1 -0
  252. package/dist/get-JAWJ5RIB.mjs +66 -0
  253. package/dist/get-JAWJ5RIB.mjs.map +1 -0
  254. package/dist/get-JYN765FP.js +53 -0
  255. package/dist/get-JYN765FP.js.map +1 -0
  256. package/dist/get-MHGIJVZ5.js +51 -0
  257. package/dist/get-MHGIJVZ5.js.map +1 -0
  258. package/dist/get-NIA7XUS2.mjs +56 -0
  259. package/dist/get-NIA7XUS2.mjs.map +1 -0
  260. package/dist/get-PM5HD5BJ.js +64 -0
  261. package/dist/get-PM5HD5BJ.js.map +1 -0
  262. package/dist/get-PR65PTQ5.mjs +86 -0
  263. package/dist/get-PR65PTQ5.mjs.map +1 -0
  264. package/dist/get-PYWLY7QQ.mjs +71 -0
  265. package/dist/get-PYWLY7QQ.mjs.map +1 -0
  266. package/dist/get-QMCMYTDV.mjs +58 -0
  267. package/dist/get-QMCMYTDV.mjs.map +1 -0
  268. package/dist/get-QNYINIDO.mjs +95 -0
  269. package/dist/get-QNYINIDO.mjs.map +1 -0
  270. package/dist/get-S7MFACWM.js +70 -0
  271. package/dist/get-S7MFACWM.js.map +1 -0
  272. package/dist/get-SBMD2X2P.js +66 -0
  273. package/dist/get-SBMD2X2P.js.map +1 -0
  274. package/dist/get-T754IOEI.js +85 -0
  275. package/dist/get-T754IOEI.js.map +1 -0
  276. package/dist/get-TOXTYIN5.js +71 -0
  277. package/dist/get-TOXTYIN5.js.map +1 -0
  278. package/dist/get-UCHL4WHT.js +95 -0
  279. package/dist/get-UCHL4WHT.js.map +1 -0
  280. package/dist/get-Y22XVMEO.js +55 -0
  281. package/dist/get-Y22XVMEO.js.map +1 -0
  282. package/dist/get-ZEUJA3KA.js +56 -0
  283. package/dist/get-ZEUJA3KA.js.map +1 -0
  284. package/dist/{implementation-8fGNr_Mq.d.ts → implementation-7POf4yX4.d.ts} +1 -1
  285. package/dist/{implementation-DPQ9ez-J.d.mts → implementation-BbuGM8_W.d.mts} +1 -1
  286. package/dist/index.d.mts +395 -28
  287. package/dist/index.d.ts +395 -28
  288. package/dist/index.js +49 -196
  289. package/dist/index.js.map +1 -1
  290. package/dist/index.mjs +35 -182
  291. package/dist/index.mjs.map +1 -1
  292. package/dist/list-3JR4HKGF.mjs +70 -0
  293. package/dist/list-3JR4HKGF.mjs.map +1 -0
  294. package/dist/list-6BRQWVVV.js +74 -0
  295. package/dist/list-6BRQWVVV.js.map +1 -0
  296. package/dist/list-6JTFDJAI.mjs +93 -0
  297. package/dist/list-6JTFDJAI.mjs.map +1 -0
  298. package/dist/list-7LV6GOZO.js +85 -0
  299. package/dist/list-7LV6GOZO.js.map +1 -0
  300. package/dist/list-AEX4S72W.mjs +74 -0
  301. package/dist/list-AEX4S72W.mjs.map +1 -0
  302. package/dist/list-AGELVAP7.js +70 -0
  303. package/dist/list-AGELVAP7.js.map +1 -0
  304. package/dist/list-ARBOOOYN.mjs +81 -0
  305. package/dist/list-ARBOOOYN.mjs.map +1 -0
  306. package/dist/list-AYOW6OF7.js +73 -0
  307. package/dist/list-AYOW6OF7.js.map +1 -0
  308. package/dist/list-BAKCZVTL.mjs +78 -0
  309. package/dist/list-BAKCZVTL.mjs.map +1 -0
  310. package/dist/list-BDNGLOLK.mjs +77 -0
  311. package/dist/list-BDNGLOLK.mjs.map +1 -0
  312. package/dist/list-C6DPYHQ2.js +109 -0
  313. package/dist/list-C6DPYHQ2.js.map +1 -0
  314. package/dist/list-E7YPBCAF.mjs +85 -0
  315. package/dist/list-E7YPBCAF.mjs.map +1 -0
  316. package/dist/list-EPB36Y7W.mjs +49 -0
  317. package/dist/list-EPB36Y7W.mjs.map +1 -0
  318. package/dist/list-FLTPMAHR.js +93 -0
  319. package/dist/list-FLTPMAHR.js.map +1 -0
  320. package/dist/list-FPIWJ65T.mjs +83 -0
  321. package/dist/list-FPIWJ65T.mjs.map +1 -0
  322. package/dist/list-GN3SAZG2.js +83 -0
  323. package/dist/list-GN3SAZG2.js.map +1 -0
  324. package/dist/list-JK36QVS2.js +73 -0
  325. package/dist/list-JK36QVS2.js.map +1 -0
  326. package/dist/list-JRWFJU5H.js +81 -0
  327. package/dist/list-JRWFJU5H.js.map +1 -0
  328. package/dist/list-KIJ4ILEN.mjs +78 -0
  329. package/dist/list-KIJ4ILEN.mjs.map +1 -0
  330. package/dist/list-KQKELE44.mjs +73 -0
  331. package/dist/list-KQKELE44.mjs.map +1 -0
  332. package/dist/list-LMMRRFZC.js +77 -0
  333. package/dist/list-LMMRRFZC.js.map +1 -0
  334. package/dist/{list-53QTWXGF.mjs → list-N7WIOJ5A.mjs} +29 -68
  335. package/dist/list-N7WIOJ5A.mjs.map +1 -0
  336. package/dist/list-RS4QL7NE.mjs +83 -0
  337. package/dist/list-RS4QL7NE.mjs.map +1 -0
  338. package/dist/list-SDMJ2GJE.js +81 -0
  339. package/dist/list-SDMJ2GJE.js.map +1 -0
  340. package/dist/list-UKGJOVJE.js +49 -0
  341. package/dist/list-UKGJOVJE.js.map +1 -0
  342. package/dist/list-UOTJUE2P.js +79 -0
  343. package/dist/list-UOTJUE2P.js.map +1 -0
  344. package/dist/list-W2MYF4RU.js +78 -0
  345. package/dist/list-W2MYF4RU.js.map +1 -0
  346. package/dist/list-WYYGGV5V.mjs +81 -0
  347. package/dist/list-WYYGGV5V.mjs.map +1 -0
  348. package/dist/list-WZ4KHBMF.mjs +73 -0
  349. package/dist/list-WZ4KHBMF.mjs.map +1 -0
  350. package/dist/list-XTOWXYB2.js +83 -0
  351. package/dist/list-XTOWXYB2.js.map +1 -0
  352. package/dist/list-Z5EEMYRQ.js +78 -0
  353. package/dist/list-Z5EEMYRQ.js.map +1 -0
  354. package/dist/list-ZB53NL6Z.mjs +79 -0
  355. package/dist/list-ZB53NL6Z.mjs.map +1 -0
  356. package/dist/{login-QWXRNDAM.mjs → login-4AX6AOKI.mjs} +20 -3
  357. package/dist/login-4AX6AOKI.mjs.map +1 -0
  358. package/dist/{login-XBFOVP6G.js → login-H3SQDBT7.js} +21 -4
  359. package/dist/login-H3SQDBT7.js.map +1 -0
  360. package/dist/observability-sdk/index.d.mts +3 -3
  361. package/dist/observability-sdk/index.d.ts +3 -3
  362. package/dist/observability-sdk/index.js +8 -6
  363. package/dist/observability-sdk/index.js.map +1 -1
  364. package/dist/observability-sdk/index.mjs +8 -6
  365. package/dist/observability-sdk/instrumentation/langchain/index.d.mts +1 -1
  366. package/dist/observability-sdk/instrumentation/langchain/index.d.ts +1 -1
  367. package/dist/observability-sdk/instrumentation/langchain/index.js +17 -16
  368. package/dist/observability-sdk/instrumentation/langchain/index.js.map +1 -1
  369. package/dist/observability-sdk/instrumentation/langchain/index.mjs +3 -2
  370. package/dist/observability-sdk/instrumentation/langchain/index.mjs.map +1 -1
  371. package/dist/observability-sdk/setup/node/index.js +6 -5
  372. package/dist/observability-sdk/setup/node/index.js.map +1 -1
  373. package/dist/observability-sdk/setup/node/index.mjs +5 -4
  374. package/dist/pull-64HVVOBC.mjs +23 -0
  375. package/dist/pull-QIANBELG.js +23 -0
  376. package/dist/pull-QIANBELG.js.map +1 -0
  377. package/dist/push-GXLGORLM.mjs +23 -0
  378. package/dist/push-GXLGORLM.mjs.map +1 -0
  379. package/dist/push-I3BJSL6N.js +23 -0
  380. package/dist/push-I3BJSL6N.js.map +1 -0
  381. package/dist/query-UF2LDBR4.js +158 -0
  382. package/dist/query-UF2LDBR4.js.map +1 -0
  383. package/dist/query-ZI7HJSIY.mjs +158 -0
  384. package/dist/query-ZI7HJSIY.mjs.map +1 -0
  385. package/dist/records-add-4LX4JHLO.mjs +94 -0
  386. package/dist/records-add-4LX4JHLO.mjs.map +1 -0
  387. package/dist/records-add-WTIGBJV4.js +94 -0
  388. package/dist/records-add-WTIGBJV4.js.map +1 -0
  389. package/dist/records-delete-IY37NWPN.mjs +42 -0
  390. package/dist/records-delete-IY37NWPN.mjs.map +1 -0
  391. package/dist/records-delete-MLOG4DM4.js +42 -0
  392. package/dist/records-delete-MLOG4DM4.js.map +1 -0
  393. package/dist/records-list-EP6OCFH5.js +85 -0
  394. package/dist/records-list-EP6OCFH5.js.map +1 -0
  395. package/dist/records-list-RIDOAE2V.mjs +85 -0
  396. package/dist/records-list-RIDOAE2V.mjs.map +1 -0
  397. package/dist/records-update-5QZBDYUJ.js +49 -0
  398. package/dist/records-update-5QZBDYUJ.js.map +1 -0
  399. package/dist/records-update-JINO26IA.mjs +49 -0
  400. package/dist/records-update-JINO26IA.mjs.map +1 -0
  401. package/dist/{remove-Q573N52S.mjs → remove-HLVK7VUB.mjs} +10 -7
  402. package/dist/{remove-Q573N52S.mjs.map → remove-HLVK7VUB.mjs.map} +1 -1
  403. package/dist/{remove-KIZPGE7J.js → remove-LDX2BSUH.js} +12 -9
  404. package/dist/remove-LDX2BSUH.js.map +1 -0
  405. package/dist/rename-FP7X3GJJ.mjs +38 -0
  406. package/dist/rename-FP7X3GJJ.mjs.map +1 -0
  407. package/dist/rename-PUSZYLZ7.js +38 -0
  408. package/dist/rename-PUSZYLZ7.js.map +1 -0
  409. package/dist/restore-5L5MLISA.mjs +63 -0
  410. package/dist/restore-5L5MLISA.mjs.map +1 -0
  411. package/dist/restore-OXNQMRMJ.js +63 -0
  412. package/dist/restore-OXNQMRMJ.js.map +1 -0
  413. package/dist/run-AIGCDUDF.mjs +143 -0
  414. package/dist/run-AIGCDUDF.mjs.map +1 -0
  415. package/dist/run-CKZ6VNKK.js +143 -0
  416. package/dist/run-CKZ6VNKK.js.map +1 -0
  417. package/dist/run-FE4QMJO5.mjs +67 -0
  418. package/dist/run-FE4QMJO5.mjs.map +1 -0
  419. package/dist/run-FJDOSV5E.js +128 -0
  420. package/dist/run-FJDOSV5E.js.map +1 -0
  421. package/dist/run-GUSPWLCC.mjs +128 -0
  422. package/dist/run-GUSPWLCC.mjs.map +1 -0
  423. package/dist/run-KNCB7OEA.js +86 -0
  424. package/dist/run-KNCB7OEA.js.map +1 -0
  425. package/dist/run-KZKAHFBR.js +67 -0
  426. package/dist/run-KZKAHFBR.js.map +1 -0
  427. package/dist/run-QW2HL4EK.mjs +86 -0
  428. package/dist/run-QW2HL4EK.mjs.map +1 -0
  429. package/dist/run-UZVJBWGG.js +130 -0
  430. package/dist/run-UZVJBWGG.js.map +1 -0
  431. package/dist/run-WZ4CSMTP.mjs +130 -0
  432. package/dist/run-WZ4CSMTP.mjs.map +1 -0
  433. package/dist/search-5B32YGSP.mjs +112 -0
  434. package/dist/search-5B32YGSP.mjs.map +1 -0
  435. package/dist/search-J5GDX5JK.js +112 -0
  436. package/dist/search-J5GDX5JK.js.map +1 -0
  437. package/dist/set-2DYJNVS5.mjs +62 -0
  438. package/dist/set-2DYJNVS5.mjs.map +1 -0
  439. package/dist/set-S5L5QSYZ.js +62 -0
  440. package/dist/set-S5L5QSYZ.js.map +1 -0
  441. package/dist/status-OIXOYFH4.mjs +101 -0
  442. package/dist/status-OIXOYFH4.mjs.map +1 -0
  443. package/dist/status-Q2PEMYJT.mjs +70 -0
  444. package/dist/status-Q2PEMYJT.mjs.map +1 -0
  445. package/dist/status-QRK56VLF.js +70 -0
  446. package/dist/status-QRK56VLF.js.map +1 -0
  447. package/dist/status-T7NOWM4X.js +101 -0
  448. package/dist/status-T7NOWM4X.js.map +1 -0
  449. package/dist/{sync-YPJIIHKC.js → sync-IDSAYUGO.js} +16 -13
  450. package/dist/sync-IDSAYUGO.js.map +1 -0
  451. package/dist/{sync-TM7JZNNW.mjs → sync-LA27E4UB.mjs} +12 -9
  452. package/dist/{sync-TM7JZNNW.mjs.map → sync-LA27E4UB.mjs.map} +1 -1
  453. package/dist/{types-DQiByKdr.d.ts → types-B4TSe7JR.d.ts} +6546 -2251
  454. package/dist/{types-CoHIwxng.d.mts → types-CWY5yQki.d.mts} +6546 -2251
  455. package/dist/update-3B43ZW4X.mjs +53 -0
  456. package/dist/update-3B43ZW4X.mjs.map +1 -0
  457. package/dist/update-3C6Y2Y2P.js +53 -0
  458. package/dist/update-3C6Y2Y2P.js.map +1 -0
  459. package/dist/update-4D7R3VYO.js +75 -0
  460. package/dist/update-4D7R3VYO.js.map +1 -0
  461. package/dist/update-4FC4YPW7.mjs +71 -0
  462. package/dist/update-4FC4YPW7.mjs.map +1 -0
  463. package/dist/update-4YMVL4UT.mjs +74 -0
  464. package/dist/update-4YMVL4UT.mjs.map +1 -0
  465. package/dist/update-7ZEJO5SB.js +74 -0
  466. package/dist/update-7ZEJO5SB.js.map +1 -0
  467. package/dist/update-BADZ6GRL.js +66 -0
  468. package/dist/update-BADZ6GRL.js.map +1 -0
  469. package/dist/update-DLFJBCI2.js +68 -0
  470. package/dist/update-DLFJBCI2.js.map +1 -0
  471. package/dist/update-EB7WMPOP.js +53 -0
  472. package/dist/update-EB7WMPOP.js.map +1 -0
  473. package/dist/update-EG6BZOLC.mjs +51 -0
  474. package/dist/update-EG6BZOLC.mjs.map +1 -0
  475. package/dist/update-FKL5Y73R.js +69 -0
  476. package/dist/update-FKL5Y73R.js.map +1 -0
  477. package/dist/update-GWTLCIAT.mjs +69 -0
  478. package/dist/update-GWTLCIAT.mjs.map +1 -0
  479. package/dist/update-MFZOMTRJ.mjs +51 -0
  480. package/dist/update-MFZOMTRJ.mjs.map +1 -0
  481. package/dist/update-PSY46JJD.mjs +68 -0
  482. package/dist/update-PSY46JJD.mjs.map +1 -0
  483. package/dist/update-PXCMJWY3.mjs +53 -0
  484. package/dist/update-PXCMJWY3.mjs.map +1 -0
  485. package/dist/update-R72C65QF.mjs +66 -0
  486. package/dist/update-R72C65QF.mjs.map +1 -0
  487. package/dist/update-RCZ47II5.js +52 -0
  488. package/dist/update-RCZ47II5.js.map +1 -0
  489. package/dist/update-RPD2OXXQ.js +51 -0
  490. package/dist/update-RPD2OXXQ.js.map +1 -0
  491. package/dist/update-VLY6LJVM.js +51 -0
  492. package/dist/update-VLY6LJVM.js.map +1 -0
  493. package/dist/update-WKM6XI4V.mjs +75 -0
  494. package/dist/update-WKM6XI4V.mjs.map +1 -0
  495. package/dist/update-WQK5Q34V.mjs +52 -0
  496. package/dist/update-WQK5Q34V.mjs.map +1 -0
  497. package/dist/update-YMWBN55I.js +71 -0
  498. package/dist/update-YMWBN55I.js.map +1 -0
  499. package/dist/upload-6LF5GVLP.js +73 -0
  500. package/dist/upload-6LF5GVLP.js.map +1 -0
  501. package/dist/upload-QWAITH5R.mjs +73 -0
  502. package/dist/upload-QWAITH5R.mjs.map +1 -0
  503. package/dist/versions-HIYVXIKM.js +82 -0
  504. package/dist/versions-HIYVXIKM.js.map +1 -0
  505. package/dist/versions-JPUSBSTF.mjs +82 -0
  506. package/dist/versions-JPUSBSTF.mjs.map +1 -0
  507. package/package.json +1 -1
  508. package/dist/add-FJ2SMVQE.js.map +0 -1
  509. package/dist/chunk-5LYWRKDF.js.map +0 -1
  510. package/dist/chunk-CWXQ53NE.mjs.map +0 -1
  511. package/dist/chunk-JVIQJFUE.mjs.map +0 -1
  512. package/dist/chunk-OLI6GF46.js.map +0 -1
  513. package/dist/chunk-PIF2RJWZ.js.map +0 -1
  514. package/dist/chunk-WASZSPD7.mjs.map +0 -1
  515. package/dist/chunk-ZLCERT3X.js.map +0 -1
  516. package/dist/list-53QTWXGF.mjs.map +0 -1
  517. package/dist/list-LBDUK454.js +0 -148
  518. package/dist/list-LBDUK454.js.map +0 -1
  519. package/dist/login-QWXRNDAM.mjs.map +0 -1
  520. package/dist/login-XBFOVP6G.js.map +0 -1
  521. package/dist/pull-3B3CBSSM.js +0 -20
  522. package/dist/pull-3B3CBSSM.js.map +0 -1
  523. package/dist/pull-WK6P7KS2.mjs +0 -20
  524. package/dist/push-G457CXVG.mjs +0 -20
  525. package/dist/push-GKFQL6GO.js +0 -20
  526. package/dist/push-GKFQL6GO.js.map +0 -1
  527. package/dist/remove-KIZPGE7J.js.map +0 -1
  528. package/dist/sync-YPJIIHKC.js.map +0 -1
  529. /package/dist/{chunk-L5Z7F7MG.mjs.map → chunk-43STSE3B.mjs.map} +0 -0
  530. /package/dist/{chunk-A7CF6ZGH.mjs.map → chunk-ESGWN42J.mjs.map} +0 -0
  531. /package/dist/{chunk-FMYG6IOZ.mjs.map → chunk-FARZEN6T.mjs.map} +0 -0
  532. /package/dist/{chunk-5M66X6SZ.mjs.map → chunk-LULJYN3P.mjs.map} +0 -0
  533. /package/dist/{pull-WK6P7KS2.mjs.map → create-ARJEJDYU.mjs.map} +0 -0
  534. /package/dist/{push-G457CXVG.mjs.map → pull-64HVVOBC.mjs.map} +0 -0
@@ -0,0 +1,63 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+
4
+ var _chunk47F7UDHNjs = require('./chunk-47F7UDHN.js');
5
+
6
+
7
+ var _chunkF6E4XQQUjs = require('./chunk-F6E4XQQU.js');
8
+ require('./chunk-2BJPLPLU.js');
9
+ require('./chunk-D2FHOR76.js');
10
+ require('./chunk-OHM7JUMR.js');
11
+
12
+ // src/cli/commands/scenarios/delete.ts
13
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
14
+ var _ora = require('ora'); var _ora2 = _interopRequireDefault(_ora);
15
+ var deleteScenarioCommand = async (id, options) => {
16
+ _chunkF6E4XQQUjs.checkApiKey.call(void 0, );
17
+ const service = new (0, _chunk47F7UDHNjs.ScenariosApiService)();
18
+ const resolveSpinner = _ora2.default.call(void 0, `Finding scenario "${id}"...`).start();
19
+ let scenarioName;
20
+ try {
21
+ const scenario = await service.get(id);
22
+ scenarioName = scenario.name;
23
+ resolveSpinner.succeed(`Found scenario "${scenarioName}"`);
24
+ } catch (error) {
25
+ resolveSpinner.fail();
26
+ if (error instanceof _chunk47F7UDHNjs.ScenariosApiError) {
27
+ console.error(_chalk2.default.red(`Error: ${error.message}`));
28
+ } else {
29
+ console.error(
30
+ _chalk2.default.red(
31
+ `Error finding scenario: ${error instanceof Error ? error.message : "Unknown error"}`
32
+ )
33
+ );
34
+ }
35
+ process.exit(1);
36
+ }
37
+ const deleteSpinner = _ora2.default.call(void 0, `Archiving scenario "${scenarioName}"...`).start();
38
+ try {
39
+ await service.delete(id);
40
+ deleteSpinner.succeed(
41
+ `Archived scenario "${_chalk2.default.cyan(scenarioName)}"`
42
+ );
43
+ if ((options == null ? void 0 : options.format) === "json") {
44
+ console.log(JSON.stringify({ id, name: scenarioName, archived: true }, null, 2));
45
+ }
46
+ } catch (error) {
47
+ deleteSpinner.fail();
48
+ if (error instanceof _chunk47F7UDHNjs.ScenariosApiError) {
49
+ console.error(_chalk2.default.red(`Error: ${error.message}`));
50
+ } else {
51
+ console.error(
52
+ _chalk2.default.red(
53
+ `Error archiving scenario: ${error instanceof Error ? error.message : "Unknown error"}`
54
+ )
55
+ );
56
+ }
57
+ process.exit(1);
58
+ }
59
+ };
60
+
61
+
62
+ exports.deleteScenarioCommand = deleteScenarioCommand;
63
+ //# sourceMappingURL=delete-XKF7KO4Y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/delete-XKF7KO4Y.js","../src/cli/commands/scenarios/delete.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACA;ACXA,4EAAkB;AAClB,oEAAgB;AAOT,IAAM,sBAAA,EAAwB,MAAA,CAAO,EAAA,EAAY,OAAA,EAAA,GAAiD;AACvG,EAAA,0CAAA,CAAY;AAEZ,EAAA,MAAM,QAAA,EAAU,IAAI,yCAAA,CAAoB,CAAA;AAExC,EAAA,MAAM,eAAA,EAAiB,2BAAA,CAAI,kBAAA,EAAqB,EAAE,CAAA,IAAA,CAAM,CAAA,CAAE,KAAA,CAAM,CAAA;AAEhE,EAAA,IAAI,YAAA;AACJ,EAAA,IAAI;AACF,IAAA,MAAM,SAAA,EAAW,MAAM,OAAA,CAAQ,GAAA,CAAI,EAAE,CAAA;AACrC,IAAA,aAAA,EAAe,QAAA,CAAS,IAAA;AACxB,IAAA,cAAA,CAAe,OAAA,CAAQ,CAAA,gBAAA,EAAmB,YAAY,CAAA,CAAA,CAAG,CAAA;AAAA,EAC3D,EAAA,MAAA,CAAS,KAAA,EAAO;AACd,IAAA,cAAA,CAAe,IAAA,CAAK,CAAA;AACpB,IAAA,GAAA,CAAI,MAAA,WAAiB,kCAAA,EAAmB;AACtC,MAAA,OAAA,CAAQ,KAAA,CAAM,eAAA,CAAM,GAAA,CAAI,CAAA,OAAA,EAAU,KAAA,CAAM,OAAO,CAAA,CAAA;AAC1C,IAAA;AACG,MAAA;AACA,QAAA;AACwC,UAAA;AAC9C,QAAA;AACF,MAAA;AACF,IAAA;AACc,IAAA;AAChB,EAAA;AAEiD,EAAA;AAE7C,EAAA;AACqB,IAAA;AACT,IAAA;AACkC,MAAA;AAChD,IAAA;AAEa,IAAA;AAC4B,MAAA;AACzC,IAAA;AACc,EAAA;AACK,IAAA;AACqB,IAAA;AACS,MAAA;AAC1C,IAAA;AACG,MAAA;AACA,QAAA;AACyB,UAAA;AAC/B,QAAA;AACF,MAAA;AACF,IAAA;AACc,IAAA;AAChB,EAAA;AACF;ADCsD;AACA;AACA","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/delete-XKF7KO4Y.js","sourcesContent":[null,"import chalk from \"chalk\";\nimport ora from \"ora\";\nimport {\n ScenariosApiService,\n ScenariosApiError,\n} from \"@/client-sdk/services/scenarios\";\nimport { checkApiKey } from \"../../utils/apiKey\";\n\nexport const deleteScenarioCommand = async (id: string, options?: { format?: string }): Promise<void> => {\n checkApiKey();\n\n const service = new ScenariosApiService();\n\n const resolveSpinner = ora(`Finding scenario \"${id}\"...`).start();\n\n let scenarioName: string;\n try {\n const scenario = await service.get(id);\n scenarioName = scenario.name;\n resolveSpinner.succeed(`Found scenario \"${scenarioName}\"`);\n } catch (error) {\n resolveSpinner.fail();\n if (error instanceof ScenariosApiError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Error finding scenario: ${error instanceof Error ? error.message : \"Unknown error\"}`,\n ),\n );\n }\n process.exit(1);\n }\n\n const deleteSpinner = ora(`Archiving scenario \"${scenarioName}\"...`).start();\n\n try {\n await service.delete(id);\n deleteSpinner.succeed(\n `Archived scenario \"${chalk.cyan(scenarioName)}\"`,\n );\n\n if (options?.format === \"json\") {\n console.log(JSON.stringify({ id, name: scenarioName, archived: true }, null, 2));\n }\n } catch (error) {\n deleteSpinner.fail();\n if (error instanceof ScenariosApiError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Error archiving scenario: ${error instanceof Error ? error.message : \"Unknown error\"}`,\n ),\n );\n }\n process.exit(1);\n }\n};\n"]}
@@ -0,0 +1,42 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+
4
+ var _chunkCYRJSLKDjs = require('./chunk-CYRJSLKD.js');
5
+
6
+
7
+ var _chunkF6E4XQQUjs = require('./chunk-F6E4XQQU.js');
8
+ require('./chunk-2BJPLPLU.js');
9
+ require('./chunk-D2FHOR76.js');
10
+ require('./chunk-OHM7JUMR.js');
11
+
12
+ // src/cli/commands/dashboards/delete.ts
13
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
14
+ var _ora = require('ora'); var _ora2 = _interopRequireDefault(_ora);
15
+ var deleteDashboardCommand = async (id, options) => {
16
+ _chunkF6E4XQQUjs.checkApiKey.call(void 0, );
17
+ const service = new (0, _chunkCYRJSLKDjs.DashboardsApiService)();
18
+ const spinner = _ora2.default.call(void 0, `Deleting dashboard "${id}"...`).start();
19
+ try {
20
+ const result = await service.delete(id);
21
+ spinner.succeed(`Deleted dashboard "${_chalk2.default.cyan(result.name)}" ${_chalk2.default.gray(`(id: ${result.id})`)}`);
22
+ if ((options == null ? void 0 : options.format) === "json") {
23
+ console.log(JSON.stringify(result, null, 2));
24
+ }
25
+ } catch (error) {
26
+ spinner.fail();
27
+ if (error instanceof _chunkCYRJSLKDjs.DashboardsApiError) {
28
+ console.error(_chalk2.default.red(`Error: ${error.message}`));
29
+ } else {
30
+ console.error(
31
+ _chalk2.default.red(
32
+ `Error deleting dashboard: ${error instanceof Error ? error.message : "Unknown error"}`
33
+ )
34
+ );
35
+ }
36
+ process.exit(1);
37
+ }
38
+ };
39
+
40
+
41
+ exports.deleteDashboardCommand = deleteDashboardCommand;
42
+ //# sourceMappingURL=delete-ZY2UCN3W.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/delete-ZY2UCN3W.js","../src/cli/commands/dashboards/delete.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACA;ACXA,4EAAkB;AAClB,oEAAgB;AAOT,IAAM,uBAAA,EAAyB,MAAA,CAAO,EAAA,EAAY,OAAA,EAAA,GAAiD;AACxG,EAAA,0CAAA,CAAY;AAEZ,EAAA,MAAM,QAAA,EAAU,IAAI,0CAAA,CAAqB,CAAA;AACzC,EAAA,MAAM,QAAA,EAAU,2BAAA,CAAI,oBAAA,EAAuB,EAAE,CAAA,IAAA,CAAM,CAAA,CAAE,KAAA,CAAM,CAAA;AAE3D,EAAA,IAAI;AACF,IAAA,MAAM,OAAA,EAAS,MAAM,OAAA,CAAQ,MAAA,CAAO,EAAE,CAAA;AACtC,IAAA,OAAA,CAAQ,OAAA,CAAQ,CAAA,mBAAA,EAAsB,eAAA,CAAM,IAAA,CAAK,MAAA,CAAO,IAAI,CAAC,CAAA,EAAA,EAAK,eAAA,CAAM,IAAA,CAAK,CAAA,KAAA,EAAQ,MAAA,CAAO,EAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA;AAElE,IAAA;AACa,MAAA;AAC7C,IAAA;AACc,EAAA;AACD,IAAA;AAC4B,IAAA;AACW,MAAA;AAC7C,IAAA;AACG,MAAA;AACA,QAAA;AACiF,UAAA;AACvF,QAAA;AACF,MAAA;AACF,IAAA;AACc,IAAA;AAChB,EAAA;AACF;ADIuG;AACA;AACA","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/delete-ZY2UCN3W.js","sourcesContent":[null,"import chalk from \"chalk\";\nimport ora from \"ora\";\nimport {\n DashboardsApiService,\n DashboardsApiError,\n} from \"@/client-sdk/services/dashboards/dashboards-api.service\";\nimport { checkApiKey } from \"../../utils/apiKey\";\n\nexport const deleteDashboardCommand = async (id: string, options?: { format?: string }): Promise<void> => {\n checkApiKey();\n\n const service = new DashboardsApiService();\n const spinner = ora(`Deleting dashboard \"${id}\"...`).start();\n\n try {\n const result = await service.delete(id);\n spinner.succeed(`Deleted dashboard \"${chalk.cyan(result.name)}\" ${chalk.gray(`(id: ${result.id})`)}`);\n\n if (options?.format === \"json\") {\n console.log(JSON.stringify(result, null, 2));\n }\n } catch (error) {\n spinner.fail();\n if (error instanceof DashboardsApiError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Error deleting dashboard: ${error instanceof Error ? error.message : \"Unknown error\"}`,\n ),\n );\n }\n process.exit(1);\n }\n};\n"]}
@@ -0,0 +1,96 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+
4
+ var _chunkX7QBE6AAjs = require('./chunk-X7QBE6AA.js');
5
+ require('./chunk-CGFG5FCC.js');
6
+
7
+
8
+ var _chunkF6E4XQQUjs = require('./chunk-F6E4XQQU.js');
9
+ require('./chunk-2VVANTLB.js');
10
+ require('./chunk-2BJPLPLU.js');
11
+ require('./chunk-H6F5OGSL.js');
12
+ require('./chunk-D2FHOR76.js');
13
+ require('./chunk-DB6OJGP4.js');
14
+ require('./chunk-OHM7JUMR.js');
15
+
16
+ // src/cli/commands/dataset/download.ts
17
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
18
+ var _ora = require('ora'); var _ora2 = _interopRequireDefault(_ora);
19
+ var escapeCsvField = (value) => {
20
+ if (value === null || value === void 0) return "";
21
+ const str = typeof value === "string" ? value : JSON.stringify(value);
22
+ if (str.includes(",") || str.includes('"') || str.includes("\n")) {
23
+ return `"${str.replace(/"/g, '""')}"`;
24
+ }
25
+ return str;
26
+ };
27
+ var toCsv = (records) => {
28
+ if (records.length === 0) return "";
29
+ const allKeys = /* @__PURE__ */ new Set();
30
+ records.forEach((record) => {
31
+ Object.keys(record.entry).forEach((key) => allKeys.add(key));
32
+ });
33
+ const headers = Array.from(allKeys);
34
+ const headerRow = headers.map(escapeCsvField).join(",");
35
+ const dataRows = records.map(
36
+ (record) => headers.map((key) => escapeCsvField(record.entry[key])).join(",")
37
+ );
38
+ return [headerRow, ...dataRows].join("\n");
39
+ };
40
+ var toJsonl = (records) => {
41
+ return records.map((record) => JSON.stringify(record.entry)).join("\n");
42
+ };
43
+ var downloadCommand = async (slugOrId, options) => {
44
+ var _a;
45
+ _chunkF6E4XQQUjs.checkApiKey.call(void 0, );
46
+ const format = (_a = options.format) != null ? _a : "csv";
47
+ if (format !== "csv" && format !== "jsonl") {
48
+ console.error(
49
+ _chalk2.default.red(`Invalid format "${format}". Use "csv" or "jsonl".`)
50
+ );
51
+ process.exit(1);
52
+ }
53
+ const service = _chunkX7QBE6AAjs.createDatasetService.call(void 0, );
54
+ const spinner = _ora2.default.call(void 0,
55
+ `Downloading dataset "${slugOrId}" as ${format.toUpperCase()}...`
56
+ ).start();
57
+ try {
58
+ const allRecords = [];
59
+ let page = 1;
60
+ const limit = 1e3;
61
+ let result;
62
+ do {
63
+ result = await service.listRecords(slugOrId, { page, limit });
64
+ allRecords.push(...result.data);
65
+ page++;
66
+ } while (page <= result.pagination.totalPages);
67
+ spinner.stop();
68
+ if (format === "csv") {
69
+ const output = toCsv(allRecords);
70
+ if (output) {
71
+ process.stdout.write(output + "\n");
72
+ }
73
+ } else {
74
+ const output = toJsonl(allRecords);
75
+ if (output) {
76
+ process.stdout.write(output + "\n");
77
+ }
78
+ }
79
+ process.stderr.write(
80
+ _chalk2.default.green(
81
+ `Downloaded ${allRecords.length} record${allRecords.length !== 1 ? "s" : ""} from "${slugOrId}"
82
+ `
83
+ )
84
+ );
85
+ } catch (error) {
86
+ spinner.fail("Failed to download dataset");
87
+ _chunkX7QBE6AAjs.handleDatasetCommandError.call(void 0, error, "downloading dataset");
88
+ }
89
+ };
90
+
91
+
92
+
93
+
94
+
95
+ exports.downloadCommand = downloadCommand; exports.escapeCsvField = escapeCsvField; exports.toCsv = toCsv; exports.toJsonl = toJsonl;
96
+ //# sourceMappingURL=download-2Q5T4WW2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/download-2Q5T4WW2.js","../src/cli/commands/dataset/download.ts"],"names":[],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/download-2Q5T4WW2.js","sourcesContent":[null,"import chalk from \"chalk\";\nimport ora from \"ora\";\nimport type { DatasetRecordResponse } from \"@/client-sdk/services/datasets/types\";\nimport { checkApiKey } from \"../../utils/apiKey\";\nimport { createDatasetService } from \"./service-factory\";\nimport { handleDatasetCommandError } from \"./error-handler\";\n\n/**\n * Escapes a value for inclusion in a CSV field.\n * Wraps in quotes if the value contains commas, quotes, or newlines.\n */\nexport const escapeCsvField = (value: unknown): string => {\n if (value === null || value === undefined) return \"\";\n const str = typeof value === \"string\" ? value : JSON.stringify(value);\n if (str.includes(\",\") || str.includes('\"') || str.includes(\"\\n\")) {\n return `\"${str.replace(/\"/g, '\"\"')}\"`;\n }\n return str;\n};\n\n/**\n * Converts records to CSV format.\n *\n * @param records - Array of dataset record responses\n * @returns CSV string with header row\n */\nexport const toCsv = (records: DatasetRecordResponse[]): string => {\n if (records.length === 0) return \"\";\n\n // Collect all keys from all entries\n const allKeys = new Set<string>();\n records.forEach((record) => {\n Object.keys(record.entry).forEach((key) => allKeys.add(key));\n });\n const headers = Array.from(allKeys);\n\n const headerRow = headers.map(escapeCsvField).join(\",\");\n const dataRows = records.map((record) =>\n headers.map((key) => escapeCsvField(record.entry[key])).join(\",\"),\n );\n\n return [headerRow, ...dataRows].join(\"\\n\");\n};\n\n/**\n * Converts records to JSONL format (one JSON object per line).\n */\nexport const toJsonl = (records: DatasetRecordResponse[]): string => {\n return records.map((record) => JSON.stringify(record.entry)).join(\"\\n\");\n};\n\n/**\n * Downloads all records from a dataset and outputs as CSV or JSONL to stdout.\n */\nexport const downloadCommand = async (\n slugOrId: string,\n options: { format?: string },\n): Promise<void> => {\n checkApiKey();\n\n const format = options.format ?? \"csv\";\n if (format !== \"csv\" && format !== \"jsonl\") {\n console.error(\n chalk.red(`Invalid format \"${format}\". Use \"csv\" or \"jsonl\".`),\n );\n process.exit(1);\n }\n\n const service = createDatasetService();\n const spinner = ora(\n `Downloading dataset \"${slugOrId}\" as ${format.toUpperCase()}...`,\n ).start();\n\n try {\n // Fetch all records by paging through results\n const allRecords: DatasetRecordResponse[] = [];\n let page = 1;\n const limit = 1000;\n\n let result;\n do {\n result = await service.listRecords(slugOrId, { page, limit });\n allRecords.push(...result.data);\n page++;\n } while (page <= result.pagination.totalPages);\n\n spinner.stop();\n\n // Output to stdout\n if (format === \"csv\") {\n const output = toCsv(allRecords);\n if (output) {\n process.stdout.write(output + \"\\n\");\n }\n } else {\n const output = toJsonl(allRecords);\n if (output) {\n process.stdout.write(output + \"\\n\");\n }\n }\n\n // Summary to stderr so it doesn't pollute piped output\n process.stderr.write(\n chalk.green(\n `Downloaded ${allRecords.length} record${allRecords.length !== 1 ? \"s\" : \"\"} from \"${slugOrId}\"\\n`,\n ),\n );\n } catch (error) {\n spinner.fail(\"Failed to download dataset\");\n handleDatasetCommandError(error, \"downloading dataset\");\n }\n};\n"]}
@@ -0,0 +1,96 @@
1
+ import {
2
+ createDatasetService,
3
+ handleDatasetCommandError
4
+ } from "./chunk-DWHR6QJK.mjs";
5
+ import "./chunk-ILLEMTW3.mjs";
6
+ import {
7
+ checkApiKey
8
+ } from "./chunk-DHJKJVY7.mjs";
9
+ import "./chunk-FG3JQBJB.mjs";
10
+ import "./chunk-QH3WUSKF.mjs";
11
+ import "./chunk-43STSE3B.mjs";
12
+ import "./chunk-LN33ZL4Z.mjs";
13
+ import "./chunk-M4IBRWUC.mjs";
14
+ import "./chunk-URTD2WOC.mjs";
15
+
16
+ // src/cli/commands/dataset/download.ts
17
+ import chalk from "chalk";
18
+ import ora from "ora";
19
+ var escapeCsvField = (value) => {
20
+ if (value === null || value === void 0) return "";
21
+ const str = typeof value === "string" ? value : JSON.stringify(value);
22
+ if (str.includes(",") || str.includes('"') || str.includes("\n")) {
23
+ return `"${str.replace(/"/g, '""')}"`;
24
+ }
25
+ return str;
26
+ };
27
+ var toCsv = (records) => {
28
+ if (records.length === 0) return "";
29
+ const allKeys = /* @__PURE__ */ new Set();
30
+ records.forEach((record) => {
31
+ Object.keys(record.entry).forEach((key) => allKeys.add(key));
32
+ });
33
+ const headers = Array.from(allKeys);
34
+ const headerRow = headers.map(escapeCsvField).join(",");
35
+ const dataRows = records.map(
36
+ (record) => headers.map((key) => escapeCsvField(record.entry[key])).join(",")
37
+ );
38
+ return [headerRow, ...dataRows].join("\n");
39
+ };
40
+ var toJsonl = (records) => {
41
+ return records.map((record) => JSON.stringify(record.entry)).join("\n");
42
+ };
43
+ var downloadCommand = async (slugOrId, options) => {
44
+ var _a;
45
+ checkApiKey();
46
+ const format = (_a = options.format) != null ? _a : "csv";
47
+ if (format !== "csv" && format !== "jsonl") {
48
+ console.error(
49
+ chalk.red(`Invalid format "${format}". Use "csv" or "jsonl".`)
50
+ );
51
+ process.exit(1);
52
+ }
53
+ const service = createDatasetService();
54
+ const spinner = ora(
55
+ `Downloading dataset "${slugOrId}" as ${format.toUpperCase()}...`
56
+ ).start();
57
+ try {
58
+ const allRecords = [];
59
+ let page = 1;
60
+ const limit = 1e3;
61
+ let result;
62
+ do {
63
+ result = await service.listRecords(slugOrId, { page, limit });
64
+ allRecords.push(...result.data);
65
+ page++;
66
+ } while (page <= result.pagination.totalPages);
67
+ spinner.stop();
68
+ if (format === "csv") {
69
+ const output = toCsv(allRecords);
70
+ if (output) {
71
+ process.stdout.write(output + "\n");
72
+ }
73
+ } else {
74
+ const output = toJsonl(allRecords);
75
+ if (output) {
76
+ process.stdout.write(output + "\n");
77
+ }
78
+ }
79
+ process.stderr.write(
80
+ chalk.green(
81
+ `Downloaded ${allRecords.length} record${allRecords.length !== 1 ? "s" : ""} from "${slugOrId}"
82
+ `
83
+ )
84
+ );
85
+ } catch (error) {
86
+ spinner.fail("Failed to download dataset");
87
+ handleDatasetCommandError(error, "downloading dataset");
88
+ }
89
+ };
90
+ export {
91
+ downloadCommand,
92
+ escapeCsvField,
93
+ toCsv,
94
+ toJsonl
95
+ };
96
+ //# sourceMappingURL=download-7RBJ3GZM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/dataset/download.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport ora from \"ora\";\nimport type { DatasetRecordResponse } from \"@/client-sdk/services/datasets/types\";\nimport { checkApiKey } from \"../../utils/apiKey\";\nimport { createDatasetService } from \"./service-factory\";\nimport { handleDatasetCommandError } from \"./error-handler\";\n\n/**\n * Escapes a value for inclusion in a CSV field.\n * Wraps in quotes if the value contains commas, quotes, or newlines.\n */\nexport const escapeCsvField = (value: unknown): string => {\n if (value === null || value === undefined) return \"\";\n const str = typeof value === \"string\" ? value : JSON.stringify(value);\n if (str.includes(\",\") || str.includes('\"') || str.includes(\"\\n\")) {\n return `\"${str.replace(/\"/g, '\"\"')}\"`;\n }\n return str;\n};\n\n/**\n * Converts records to CSV format.\n *\n * @param records - Array of dataset record responses\n * @returns CSV string with header row\n */\nexport const toCsv = (records: DatasetRecordResponse[]): string => {\n if (records.length === 0) return \"\";\n\n // Collect all keys from all entries\n const allKeys = new Set<string>();\n records.forEach((record) => {\n Object.keys(record.entry).forEach((key) => allKeys.add(key));\n });\n const headers = Array.from(allKeys);\n\n const headerRow = headers.map(escapeCsvField).join(\",\");\n const dataRows = records.map((record) =>\n headers.map((key) => escapeCsvField(record.entry[key])).join(\",\"),\n );\n\n return [headerRow, ...dataRows].join(\"\\n\");\n};\n\n/**\n * Converts records to JSONL format (one JSON object per line).\n */\nexport const toJsonl = (records: DatasetRecordResponse[]): string => {\n return records.map((record) => JSON.stringify(record.entry)).join(\"\\n\");\n};\n\n/**\n * Downloads all records from a dataset and outputs as CSV or JSONL to stdout.\n */\nexport const downloadCommand = async (\n slugOrId: string,\n options: { format?: string },\n): Promise<void> => {\n checkApiKey();\n\n const format = options.format ?? \"csv\";\n if (format !== \"csv\" && format !== \"jsonl\") {\n console.error(\n chalk.red(`Invalid format \"${format}\". Use \"csv\" or \"jsonl\".`),\n );\n process.exit(1);\n }\n\n const service = createDatasetService();\n const spinner = ora(\n `Downloading dataset \"${slugOrId}\" as ${format.toUpperCase()}...`,\n ).start();\n\n try {\n // Fetch all records by paging through results\n const allRecords: DatasetRecordResponse[] = [];\n let page = 1;\n const limit = 1000;\n\n let result;\n do {\n result = await service.listRecords(slugOrId, { page, limit });\n allRecords.push(...result.data);\n page++;\n } while (page <= result.pagination.totalPages);\n\n spinner.stop();\n\n // Output to stdout\n if (format === \"csv\") {\n const output = toCsv(allRecords);\n if (output) {\n process.stdout.write(output + \"\\n\");\n }\n } else {\n const output = toJsonl(allRecords);\n if (output) {\n process.stdout.write(output + \"\\n\");\n }\n }\n\n // Summary to stderr so it doesn't pollute piped output\n process.stderr.write(\n chalk.green(\n `Downloaded ${allRecords.length} record${allRecords.length !== 1 ? \"s\" : \"\"} from \"${slugOrId}\"\\n`,\n ),\n );\n } catch (error) {\n spinner.fail(\"Failed to download dataset\");\n handleDatasetCommandError(error, \"downloading dataset\");\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAUT,IAAM,iBAAiB,CAAC,UAA2B;AACxD,MAAI,UAAU,QAAQ,UAAU,OAAW,QAAO;AAClD,QAAM,MAAM,OAAO,UAAU,WAAW,QAAQ,KAAK,UAAU,KAAK;AACpE,MAAI,IAAI,SAAS,GAAG,KAAK,IAAI,SAAS,GAAG,KAAK,IAAI,SAAS,IAAI,GAAG;AAChE,WAAO,IAAI,IAAI,QAAQ,MAAM,IAAI,CAAC;AAAA,EACpC;AACA,SAAO;AACT;AAQO,IAAM,QAAQ,CAAC,YAA6C;AACjE,MAAI,QAAQ,WAAW,EAAG,QAAO;AAGjC,QAAM,UAAU,oBAAI,IAAY;AAChC,UAAQ,QAAQ,CAAC,WAAW;AAC1B,WAAO,KAAK,OAAO,KAAK,EAAE,QAAQ,CAAC,QAAQ,QAAQ,IAAI,GAAG,CAAC;AAAA,EAC7D,CAAC;AACD,QAAM,UAAU,MAAM,KAAK,OAAO;AAElC,QAAM,YAAY,QAAQ,IAAI,cAAc,EAAE,KAAK,GAAG;AACtD,QAAM,WAAW,QAAQ;AAAA,IAAI,CAAC,WAC5B,QAAQ,IAAI,CAAC,QAAQ,eAAe,OAAO,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG;AAAA,EAClE;AAEA,SAAO,CAAC,WAAW,GAAG,QAAQ,EAAE,KAAK,IAAI;AAC3C;AAKO,IAAM,UAAU,CAAC,YAA6C;AACnE,SAAO,QAAQ,IAAI,CAAC,WAAW,KAAK,UAAU,OAAO,KAAK,CAAC,EAAE,KAAK,IAAI;AACxE;AAKO,IAAM,kBAAkB,OAC7B,UACA,YACkB;AAzDpB;AA0DE,cAAY;AAEZ,QAAM,UAAS,aAAQ,WAAR,YAAkB;AACjC,MAAI,WAAW,SAAS,WAAW,SAAS;AAC1C,YAAQ;AAAA,MACN,MAAM,IAAI,mBAAmB,MAAM,0BAA0B;AAAA,IAC/D;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,UAAU,qBAAqB;AACrC,QAAM,UAAU;AAAA,IACd,wBAAwB,QAAQ,QAAQ,OAAO,YAAY,CAAC;AAAA,EAC9D,EAAE,MAAM;AAER,MAAI;AAEF,UAAM,aAAsC,CAAC;AAC7C,QAAI,OAAO;AACX,UAAM,QAAQ;AAEd,QAAI;AACJ,OAAG;AACD,eAAS,MAAM,QAAQ,YAAY,UAAU,EAAE,MAAM,MAAM,CAAC;AAC5D,iBAAW,KAAK,GAAG,OAAO,IAAI;AAC9B;AAAA,IACF,SAAS,QAAQ,OAAO,WAAW;AAEnC,YAAQ,KAAK;AAGb,QAAI,WAAW,OAAO;AACpB,YAAM,SAAS,MAAM,UAAU;AAC/B,UAAI,QAAQ;AACV,gBAAQ,OAAO,MAAM,SAAS,IAAI;AAAA,MACpC;AAAA,IACF,OAAO;AACL,YAAM,SAAS,QAAQ,UAAU;AACjC,UAAI,QAAQ;AACV,gBAAQ,OAAO,MAAM,SAAS,IAAI;AAAA,MACpC;AAAA,IACF;AAGA,YAAQ,OAAO;AAAA,MACb,MAAM;AAAA,QACJ,cAAc,WAAW,MAAM,UAAU,WAAW,WAAW,IAAI,MAAM,EAAE,UAAU,QAAQ;AAAA;AAAA,MAC/F;AAAA,IACF;AAAA,EACF,SAAS,OAAO;AACd,YAAQ,KAAK,4BAA4B;AACzC,8BAA0B,OAAO,qBAAqB;AAAA,EACxD;AACF;","names":[]}
@@ -0,0 +1,48 @@
1
+ import {
2
+ SuitesApiError,
3
+ SuitesApiService
4
+ } from "./chunk-NIW2SFZZ.mjs";
5
+ import {
6
+ checkApiKey
7
+ } from "./chunk-DHJKJVY7.mjs";
8
+ import "./chunk-QH3WUSKF.mjs";
9
+ import "./chunk-LN33ZL4Z.mjs";
10
+ import "./chunk-URTD2WOC.mjs";
11
+
12
+ // src/cli/commands/suites/duplicate.ts
13
+ import chalk from "chalk";
14
+ import ora from "ora";
15
+ var duplicateSuiteCommand = async (id, options) => {
16
+ checkApiKey();
17
+ const service = new SuitesApiService();
18
+ const spinner = ora(`Duplicating suite "${id}"...`).start();
19
+ try {
20
+ const suite = await service.duplicate(id);
21
+ spinner.succeed(`Suite duplicated as "${suite.name}" (${suite.id})`);
22
+ if ((options == null ? void 0 : options.format) === "json") {
23
+ console.log(JSON.stringify(suite, null, 2));
24
+ return;
25
+ }
26
+ console.log();
27
+ console.log(` ${chalk.gray("New ID:")} ${chalk.green(suite.id)}`);
28
+ console.log(` ${chalk.gray("Name:")} ${chalk.cyan(suite.name)}`);
29
+ console.log(` ${chalk.gray("Slug:")} ${chalk.yellow(suite.slug)}`);
30
+ console.log();
31
+ } catch (error) {
32
+ spinner.fail();
33
+ if (error instanceof SuitesApiError) {
34
+ console.error(chalk.red(`Error: ${error.message}`));
35
+ } else {
36
+ console.error(
37
+ chalk.red(
38
+ `Error: ${error instanceof Error ? error.message : "Unknown error"}`
39
+ )
40
+ );
41
+ }
42
+ process.exit(1);
43
+ }
44
+ };
45
+ export {
46
+ duplicateSuiteCommand
47
+ };
48
+ //# sourceMappingURL=duplicate-7N6B5PJD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/suites/duplicate.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport ora from \"ora\";\nimport {\n SuitesApiService,\n SuitesApiError,\n} from \"@/client-sdk/services/suites\";\nimport { checkApiKey } from \"../../utils/apiKey\";\n\nexport const duplicateSuiteCommand = async (\n id: string,\n options?: { format?: string },\n): Promise<void> => {\n checkApiKey();\n\n const service = new SuitesApiService();\n const spinner = ora(`Duplicating suite \"${id}\"...`).start();\n\n try {\n const suite = await service.duplicate(id);\n\n spinner.succeed(`Suite duplicated as \"${suite.name}\" (${suite.id})`);\n\n if (options?.format === \"json\") {\n console.log(JSON.stringify(suite, null, 2));\n return;\n }\n\n console.log();\n console.log(` ${chalk.gray(\"New ID:\")} ${chalk.green(suite.id)}`);\n console.log(` ${chalk.gray(\"Name:\")} ${chalk.cyan(suite.name)}`);\n console.log(` ${chalk.gray(\"Slug:\")} ${chalk.yellow(suite.slug)}`);\n console.log();\n } catch (error) {\n spinner.fail();\n if (error instanceof SuitesApiError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Error: ${error instanceof Error ? error.message : \"Unknown error\"}`,\n ),\n );\n }\n process.exit(1);\n }\n};\n"],"mappings":";;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAOT,IAAM,wBAAwB,OACnC,IACA,YACkB;AAClB,cAAY;AAEZ,QAAM,UAAU,IAAI,iBAAiB;AACrC,QAAM,UAAU,IAAI,sBAAsB,EAAE,MAAM,EAAE,MAAM;AAE1D,MAAI;AACF,UAAM,QAAQ,MAAM,QAAQ,UAAU,EAAE;AAExC,YAAQ,QAAQ,wBAAwB,MAAM,IAAI,MAAM,MAAM,EAAE,GAAG;AAEnE,SAAI,mCAAS,YAAW,QAAQ;AAC9B,cAAQ,IAAI,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC;AAC1C;AAAA,IACF;AAEA,YAAQ,IAAI;AACZ,YAAQ,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,EAAE,CAAC,EAAE;AACnE,YAAQ,IAAI,KAAK,MAAM,KAAK,OAAO,CAAC,QAAQ,MAAM,KAAK,MAAM,IAAI,CAAC,EAAE;AACpE,YAAQ,IAAI,KAAK,MAAM,KAAK,OAAO,CAAC,QAAQ,MAAM,OAAO,MAAM,IAAI,CAAC,EAAE;AACtE,YAAQ,IAAI;AAAA,EACd,SAAS,OAAO;AACd,YAAQ,KAAK;AACb,QAAI,iBAAiB,gBAAgB;AACnC,cAAQ,MAAM,MAAM,IAAI,UAAU,MAAM,OAAO,EAAE,CAAC;AAAA,IACpD,OAAO;AACL,cAAQ;AAAA,QACN,MAAM;AAAA,UACJ,UAAU,iBAAiB,QAAQ,MAAM,UAAU,eAAe;AAAA,QACpE;AAAA,MACF;AAAA,IACF;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;","names":[]}
@@ -0,0 +1,48 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+
4
+ var _chunkVMDYRBQ7js = require('./chunk-VMDYRBQ7.js');
5
+
6
+
7
+ var _chunkF6E4XQQUjs = require('./chunk-F6E4XQQU.js');
8
+ require('./chunk-2BJPLPLU.js');
9
+ require('./chunk-D2FHOR76.js');
10
+ require('./chunk-OHM7JUMR.js');
11
+
12
+ // src/cli/commands/suites/duplicate.ts
13
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
14
+ var _ora = require('ora'); var _ora2 = _interopRequireDefault(_ora);
15
+ var duplicateSuiteCommand = async (id, options) => {
16
+ _chunkF6E4XQQUjs.checkApiKey.call(void 0, );
17
+ const service = new (0, _chunkVMDYRBQ7js.SuitesApiService)();
18
+ const spinner = _ora2.default.call(void 0, `Duplicating suite "${id}"...`).start();
19
+ try {
20
+ const suite = await service.duplicate(id);
21
+ spinner.succeed(`Suite duplicated as "${suite.name}" (${suite.id})`);
22
+ if ((options == null ? void 0 : options.format) === "json") {
23
+ console.log(JSON.stringify(suite, null, 2));
24
+ return;
25
+ }
26
+ console.log();
27
+ console.log(` ${_chalk2.default.gray("New ID:")} ${_chalk2.default.green(suite.id)}`);
28
+ console.log(` ${_chalk2.default.gray("Name:")} ${_chalk2.default.cyan(suite.name)}`);
29
+ console.log(` ${_chalk2.default.gray("Slug:")} ${_chalk2.default.yellow(suite.slug)}`);
30
+ console.log();
31
+ } catch (error) {
32
+ spinner.fail();
33
+ if (error instanceof _chunkVMDYRBQ7js.SuitesApiError) {
34
+ console.error(_chalk2.default.red(`Error: ${error.message}`));
35
+ } else {
36
+ console.error(
37
+ _chalk2.default.red(
38
+ `Error: ${error instanceof Error ? error.message : "Unknown error"}`
39
+ )
40
+ );
41
+ }
42
+ process.exit(1);
43
+ }
44
+ };
45
+
46
+
47
+ exports.duplicateSuiteCommand = duplicateSuiteCommand;
48
+ //# sourceMappingURL=duplicate-HZGUFROD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/duplicate-HZGUFROD.js","../src/cli/commands/suites/duplicate.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACA;ACXA,4EAAkB;AAClB,oEAAgB;AAOT,IAAM,sBAAA,EAAwB,MAAA,CACnC,EAAA,EACA,OAAA,EAAA,GACkB;AAClB,EAAA,0CAAA,CAAY;AAEZ,EAAA,MAAM,QAAA,EAAU,IAAI,sCAAA,CAAiB,CAAA;AACrC,EAAA,MAAM,QAAA,EAAU,2BAAA,CAAI,mBAAA,EAAsB,EAAE,CAAA,IAAA,CAAM,CAAA,CAAE,KAAA,CAAM,CAAA;AAE1D,EAAA,IAAI;AACF,IAAA,MAAM,MAAA,EAAQ,MAAM,OAAA,CAAQ,SAAA,CAAU,EAAE,CAAA;AAExC,IAAA,OAAA,CAAQ,OAAA,CAAQ,CAAA,qBAAA,EAAwB,KAAA,CAAM,IAAI,CAAA,GAAA,EAAM,KAAA,CAAM,EAAE,CAAA,CAAA,CAAG,CAAA;AAEnE,IAAA,GAAA,CAAA,CAAI,QAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,OAAA,CAAS,MAAA,EAAA,IAAW,MAAA,EAAQ;AAC9B,MAAA,OAAA,CAAQ,GAAA,CAAI,IAAA,CAAK,SAAA,CAAU,KAAA,EAAO,IAAA,EAAM,CAAC,CAAC,CAAA;AAC1C,MAAA,MAAA;AAAA,IACF;AAEA,IAAA,OAAA,CAAQ,GAAA,CAAI,CAAA;AACZ,IAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAA,EAAK,eAAA,CAAM,IAAA,CAAK,SAAS,CAAC,CAAA,GAAA,EAAM,eAAA,CAAM,KAAA,CAAM,KAAA,CAAM,EAAE,CAAC,CAAA,CAAA;AACC,IAAA;AACH,IAAA;AACnD,IAAA;AACE,EAAA;AACD,IAAA;AACwB,IAAA;AACe,MAAA;AAC7C,IAAA;AACG,MAAA;AACA,QAAA;AAC+C,UAAA;AACrD,QAAA;AACF,MAAA;AACF,IAAA;AACc,IAAA;AAChB,EAAA;AACF;ADDsE;AACA;AACA","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/duplicate-HZGUFROD.js","sourcesContent":[null,"import chalk from \"chalk\";\nimport ora from \"ora\";\nimport {\n SuitesApiService,\n SuitesApiError,\n} from \"@/client-sdk/services/suites\";\nimport { checkApiKey } from \"../../utils/apiKey\";\n\nexport const duplicateSuiteCommand = async (\n id: string,\n options?: { format?: string },\n): Promise<void> => {\n checkApiKey();\n\n const service = new SuitesApiService();\n const spinner = ora(`Duplicating suite \"${id}\"...`).start();\n\n try {\n const suite = await service.duplicate(id);\n\n spinner.succeed(`Suite duplicated as \"${suite.name}\" (${suite.id})`);\n\n if (options?.format === \"json\") {\n console.log(JSON.stringify(suite, null, 2));\n return;\n }\n\n console.log();\n console.log(` ${chalk.gray(\"New ID:\")} ${chalk.green(suite.id)}`);\n console.log(` ${chalk.gray(\"Name:\")} ${chalk.cyan(suite.name)}`);\n console.log(` ${chalk.gray(\"Slug:\")} ${chalk.yellow(suite.slug)}`);\n console.log();\n } catch (error) {\n spinner.fail();\n if (error instanceof SuitesApiError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Error: ${error instanceof Error ? error.message : \"Unknown error\"}`,\n ),\n );\n }\n process.exit(1);\n }\n};\n"]}
@@ -0,0 +1,91 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+ var _chunkF6E4XQQUjs = require('./chunk-F6E4XQQU.js');
4
+ require('./chunk-OHM7JUMR.js');
5
+
6
+ // src/cli/commands/traces/export.ts
7
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
8
+ var _ora = require('ora'); var _ora2 = _interopRequireDefault(_ora);
9
+ var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);
10
+ var exportTracesCommand = async (options) => {
11
+ var _a, _b, _c, _d;
12
+ _chunkF6E4XQQUjs.checkApiKey.call(void 0, );
13
+ const apiKey = (_a = process.env.LANGWATCH_API_KEY) != null ? _a : "";
14
+ const endpoint = (_b = process.env.LANGWATCH_ENDPOINT) != null ? _b : "https://app.langwatch.ai";
15
+ const format = (_c = options.format) != null ? _c : "jsonl";
16
+ if (format !== "csv" && format !== "jsonl" && format !== "json") {
17
+ console.error(_chalk2.default.red("Error: --format must be csv, jsonl, or json"));
18
+ process.exit(1);
19
+ }
20
+ const now = Date.now();
21
+ const startDate = options.startDate ? new Date(options.startDate).getTime() : now - 7 * 24 * 60 * 60 * 1e3;
22
+ const endDate = options.endDate ? new Date(options.endDate).getTime() : now;
23
+ const limit = options.limit ? parseInt(options.limit, 10) : 1e3;
24
+ const spinner = _ora2.default.call(void 0, `Exporting traces (${format})...`).start();
25
+ try {
26
+ const response = await fetch(`${endpoint}/api/traces/search`, {
27
+ method: "POST",
28
+ headers: {
29
+ "Content-Type": "application/json",
30
+ "X-Auth-Token": apiKey
31
+ },
32
+ body: JSON.stringify({
33
+ query: options.query,
34
+ startDate,
35
+ endDate,
36
+ pageSize: Math.min(limit, 100),
37
+ format: "json"
38
+ })
39
+ });
40
+ if (!response.ok) {
41
+ const errorBody = await response.text();
42
+ spinner.fail(`Export failed (${response.status})`);
43
+ console.error(_chalk2.default.red(`Error: ${errorBody}`));
44
+ process.exit(1);
45
+ }
46
+ const data = await response.json();
47
+ const traces = data.traces;
48
+ spinner.succeed(`Exported ${traces.length} trace${traces.length !== 1 ? "s" : ""}${((_d = data.pagination) == null ? void 0 : _d.totalHits) ? ` (${data.pagination.totalHits} total)` : ""}`);
49
+ let output;
50
+ if (format === "json") {
51
+ output = JSON.stringify(traces, null, 2);
52
+ } else if (format === "jsonl") {
53
+ output = traces.map((t) => JSON.stringify(t)).join("\n") + "\n";
54
+ } else {
55
+ const headers = ["trace_id", "input", "output", "started_at", "error"];
56
+ const rows = traces.map((t) => {
57
+ var _a2, _b2, _c2, _d2, _e;
58
+ return [
59
+ t.trace_id,
60
+ csvEscape((_b2 = (_a2 = t.input) == null ? void 0 : _a2.value) != null ? _b2 : ""),
61
+ csvEscape((_d2 = (_c2 = t.output) == null ? void 0 : _c2.value) != null ? _d2 : ""),
62
+ ((_e = t.timestamps) == null ? void 0 : _e.started_at) ? new Date(t.timestamps.started_at).toISOString() : "",
63
+ t.error ? csvEscape(JSON.stringify(t.error)) : ""
64
+ ];
65
+ });
66
+ output = [headers.join(","), ...rows.map((r) => r.join(","))].join("\n") + "\n";
67
+ }
68
+ if (options.output) {
69
+ _fs2.default.writeFileSync(options.output, output);
70
+ console.log(_chalk2.default.green(`Written to ${options.output}`));
71
+ } else {
72
+ process.stdout.write(output);
73
+ }
74
+ } catch (error) {
75
+ spinner.fail();
76
+ console.error(
77
+ _chalk2.default.red(`Error: ${error instanceof Error ? error.message : "Unknown error"}`)
78
+ );
79
+ process.exit(1);
80
+ }
81
+ };
82
+ function csvEscape(value) {
83
+ if (value.includes(",") || value.includes('"') || value.includes("\n")) {
84
+ return `"${value.replace(/"/g, '""')}"`;
85
+ }
86
+ return value;
87
+ }
88
+
89
+
90
+ exports.exportTracesCommand = exportTracesCommand;
91
+ //# sourceMappingURL=export-PP5LG6Q7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/export-PP5LG6Q7.js","../src/cli/commands/traces/export.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACA;ACLA,4EAAkB;AAClB,oEAAgB;AAChB,gEAAe;AAGR,IAAM,oBAAA,EAAsB,MAAA,CAAO,OAAA,EAAA,GAOrB;AAZrB,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAaE,EAAA,0CAAA,CAAY;AAEZ,EAAA,MAAM,OAAA,EAAA,CAAS,GAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,iBAAA,EAAA,GAAZ,KAAA,EAAA,GAAA,EAAiC,EAAA;AAChD,EAAA,MAAM,SAAA,EAAA,CAAW,GAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,kBAAA,EAAA,GAAZ,KAAA,EAAA,GAAA,EAAkC,0BAAA;AAEnD,EAAA,MAAM,OAAA,EAAA,CAAS,GAAA,EAAA,OAAA,CAAQ,MAAA,EAAA,GAAR,KAAA,EAAA,GAAA,EAAkB,OAAA;AACjC,EAAA,GAAA,CAAI,OAAA,IAAW,MAAA,GAAS,OAAA,IAAW,QAAA,GAAW,OAAA,IAAW,MAAA,EAAQ;AAC/D,IAAA,OAAA,CAAQ,KAAA,CAAM,eAAA,CAAM,GAAA,CAAI,6CAA6C,CAAC,CAAA;AACtE,IAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA;AAAA,EAChB;AAEA,EAAA,MAAM,IAAA,EAAM,IAAA,CAAK,GAAA,CAAI,CAAA;AACrB,EAAA,MAAM,UAAA,EAAY,OAAA,CAAQ,UAAA,EACtB,IAAI,IAAA,CAAK,OAAA,CAAQ,SAAS,CAAA,CAAE,OAAA,CAAQ,EAAA,EACpC,IAAA,EAAM,EAAA,EAAI,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAA;AAC7B,EAAA,MAAM,QAAA,EAAU,OAAA,CAAQ,QAAA,EACpB,IAAI,IAAA,CAAK,OAAA,CAAQ,OAAO,CAAA,CAAE,OAAA,CAAQ,EAAA,EAClC,GAAA;AAEJ,EAAA,MAAM,MAAA,EAAQ,OAAA,CAAQ,MAAA,EAAQ,QAAA,CAAS,OAAA,CAAQ,KAAA,EAAO,EAAE,EAAA,EAAI,GAAA;AAC5D,EAAA,MAAM,QAAA,EAAU,2BAAA,CAAI,kBAAA,EAAqB,MAAM,CAAA,IAAA,CAAM,CAAA,CAAE,KAAA,CAAM,CAAA;AAE7D,EAAA,IAAI;AACF,IAAA,MAAM,SAAA,EAAW,MAAM,KAAA,CAAM,CAAA,EAAA;AACnB,MAAA;AACC,MAAA;AACS,QAAA;AACA,QAAA;AAClB,MAAA;AACqB,MAAA;AACJ,QAAA;AACf,QAAA;AACA,QAAA;AAC0B,QAAA;AAClB,QAAA;AACT,MAAA;AACF,IAAA;AAEiB,IAAA;AACQ,MAAA;AACX,MAAA;AACW,MAAA;AACV,MAAA;AAChB,IAAA;AAE4B,IAAA;AAYR,IAAA;AACQ,IAAA;AAExB,IAAA;AAEmB,IAAA;AACG,MAAA;AACJ,IAAA;AACO,MAAA;AACtB,IAAA;AAEY,MAAA;AACQ,MAAA;AAlF/B,QAAA;AAkFqC,QAAA;AAC3B,UAAA;AACQ,UAAA;AACA,UAAA;AACV,UAAA;AACoB,UAAA;AACtB,QAAA;AAAC,MAAA;AACyB,MAAA;AAC5B,IAAA;AAEoB,IAAA;AACO,MAAA;AACD,MAAA;AACnB,IAAA;AACsB,MAAA;AAC7B,IAAA;AACc,EAAA;AACD,IAAA;AACL,IAAA;AACc,MAAA;AACtB,IAAA;AACc,IAAA;AAChB,EAAA;AACF;AAE0C;AACb,EAAA;AACA,IAAA;AAC3B,EAAA;AACO,EAAA;AACT;ADzBkC;AACA;AACA","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/export-PP5LG6Q7.js","sourcesContent":[null,"import chalk from \"chalk\";\nimport ora from \"ora\";\nimport fs from \"fs\";\nimport { checkApiKey } from \"../../utils/apiKey\";\n\nexport const exportTracesCommand = async (options: {\n startDate?: string;\n endDate?: string;\n query?: string;\n format?: string;\n output?: string;\n limit?: string;\n}): Promise<void> => {\n checkApiKey();\n\n const apiKey = process.env.LANGWATCH_API_KEY ?? \"\";\n const endpoint = process.env.LANGWATCH_ENDPOINT ?? \"https://app.langwatch.ai\";\n\n const format = options.format ?? \"jsonl\";\n if (format !== \"csv\" && format !== \"jsonl\" && format !== \"json\") {\n console.error(chalk.red(\"Error: --format must be csv, jsonl, or json\"));\n process.exit(1);\n }\n\n const now = Date.now();\n const startDate = options.startDate\n ? new Date(options.startDate).getTime()\n : now - 7 * 24 * 60 * 60 * 1000; // 7 days ago\n const endDate = options.endDate\n ? new Date(options.endDate).getTime()\n : now;\n\n const limit = options.limit ? parseInt(options.limit, 10) : 1000;\n const spinner = ora(`Exporting traces (${format})...`).start();\n\n try {\n const response = await fetch(`${endpoint}/api/traces/search`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-Auth-Token\": apiKey,\n },\n body: JSON.stringify({\n query: options.query,\n startDate,\n endDate,\n pageSize: Math.min(limit, 100),\n format: \"json\",\n }),\n });\n\n if (!response.ok) {\n const errorBody = await response.text();\n spinner.fail(`Export failed (${response.status})`);\n console.error(chalk.red(`Error: ${errorBody}`));\n process.exit(1);\n }\n\n const data = await response.json() as {\n traces: Array<{\n trace_id: string;\n input?: { value: string };\n output?: { value: string };\n timestamps?: { started_at?: number };\n metadata?: Record<string, unknown>;\n error?: Record<string, unknown>;\n }>;\n pagination?: { totalHits?: number };\n };\n\n const traces = data.traces;\n spinner.succeed(`Exported ${traces.length} trace${traces.length !== 1 ? \"s\" : \"\"}${data.pagination?.totalHits ? ` (${data.pagination.totalHits} total)` : \"\"}`);\n\n let output: string;\n\n if (format === \"json\") {\n output = JSON.stringify(traces, null, 2);\n } else if (format === \"jsonl\") {\n output = traces.map((t) => JSON.stringify(t)).join(\"\\n\") + \"\\n\";\n } else {\n // CSV format\n const headers = [\"trace_id\", \"input\", \"output\", \"started_at\", \"error\"];\n const rows = traces.map((t) => [\n t.trace_id,\n csvEscape(t.input?.value ?? \"\"),\n csvEscape(t.output?.value ?? \"\"),\n t.timestamps?.started_at ? new Date(t.timestamps.started_at).toISOString() : \"\",\n t.error ? csvEscape(JSON.stringify(t.error)) : \"\",\n ]);\n output = [headers.join(\",\"), ...rows.map((r) => r.join(\",\"))].join(\"\\n\") + \"\\n\";\n }\n\n if (options.output) {\n fs.writeFileSync(options.output, output);\n console.log(chalk.green(`Written to ${options.output}`));\n } else {\n process.stdout.write(output);\n }\n } catch (error) {\n spinner.fail();\n console.error(\n chalk.red(`Error: ${error instanceof Error ? error.message : \"Unknown error\"}`),\n );\n process.exit(1);\n }\n};\n\nfunction csvEscape(value: string): string {\n if (value.includes(\",\") || value.includes('\"') || value.includes(\"\\n\")) {\n return `\"${value.replace(/\"/g, '\"\"')}\"`;\n }\n return value;\n}\n"]}