langwatch 0.29.1 → 0.30.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 (1250) hide show
  1. package/dist/add-BCQPBWEE.js +148 -0
  2. package/dist/add-BCQPBWEE.js.map +1 -0
  3. package/dist/add-NTGJL2CX.mjs +148 -0
  4. package/dist/add-NTGJL2CX.mjs.map +1 -0
  5. package/dist/archive-BO7SNPHL.js +41 -0
  6. package/dist/archive-BO7SNPHL.js.map +1 -0
  7. package/dist/archive-RHIZYPNS.mjs +41 -0
  8. package/dist/archive-RHIZYPNS.mjs.map +1 -0
  9. package/dist/assign-56XQOSK3.mjs +54 -0
  10. package/dist/assign-56XQOSK3.mjs.map +1 -0
  11. package/dist/assign-I2JW6DNX.js +54 -0
  12. package/dist/assign-I2JW6DNX.js.map +1 -0
  13. package/dist/chunk-25RYLDHZ.js +346 -0
  14. package/dist/chunk-25RYLDHZ.js.map +1 -0
  15. package/dist/chunk-2FCA2CRB.mjs +512 -0
  16. package/dist/chunk-2I6DFG3T.js +36 -0
  17. package/dist/chunk-2I6DFG3T.js.map +1 -0
  18. package/dist/chunk-3CPA262Z.mjs +124 -0
  19. package/dist/chunk-3CPA262Z.mjs.map +1 -0
  20. package/dist/chunk-5B7IKUNG.js +297 -0
  21. package/dist/chunk-5B7IKUNG.js.map +1 -0
  22. package/dist/chunk-6HB4LUF2.js +42 -0
  23. package/dist/chunk-6HB4LUF2.js.map +1 -0
  24. package/dist/chunk-6MVAXO5A.mjs +263 -0
  25. package/dist/chunk-6MVAXO5A.mjs.map +1 -0
  26. package/dist/chunk-72IQOPR2.js +76 -0
  27. package/dist/chunk-72IQOPR2.js.map +1 -0
  28. package/dist/chunk-7BS33JNZ.mjs +53 -0
  29. package/dist/chunk-7KTDTNXT.mjs +297 -0
  30. package/dist/chunk-7KTDTNXT.mjs.map +1 -0
  31. package/dist/chunk-A7T4DZKC.js +263 -0
  32. package/dist/chunk-A7T4DZKC.js.map +1 -0
  33. package/dist/chunk-ALG4K7WV.mjs +90 -0
  34. package/dist/chunk-AVCJRGOB.js +68 -0
  35. package/dist/chunk-AVCJRGOB.js.map +1 -0
  36. package/dist/chunk-BAT3CBL7.mjs +34 -0
  37. package/dist/chunk-BAT3CBL7.mjs.map +1 -0
  38. package/dist/chunk-BLLBUKUY.mjs +66 -0
  39. package/dist/chunk-C6KCPPDE.mjs +80 -0
  40. package/dist/chunk-CBKUU3DP.mjs +300 -0
  41. package/dist/chunk-CQSAZUGQ.js +53 -0
  42. package/dist/chunk-CQSAZUGQ.js.map +1 -0
  43. package/dist/chunk-CSTSXKEO.js +103 -0
  44. package/dist/chunk-CSTSXKEO.js.map +1 -0
  45. package/dist/chunk-D4TPA4ZM.js +300 -0
  46. package/dist/chunk-D4TPA4ZM.js.map +1 -0
  47. package/dist/chunk-DVY534IX.js +63 -0
  48. package/dist/chunk-DVY534IX.js.map +1 -0
  49. package/dist/chunk-DYHYEMX7.js +196 -0
  50. package/dist/chunk-DYHYEMX7.js.map +1 -0
  51. package/dist/chunk-E2L65VBA.js +40 -0
  52. package/dist/chunk-E2L65VBA.js.map +1 -0
  53. package/dist/chunk-E6LJUX36.js +70 -0
  54. package/dist/chunk-E6LJUX36.js.map +1 -0
  55. package/dist/chunk-EY3RI65X.js +80 -0
  56. package/dist/chunk-EY3RI65X.js.map +1 -0
  57. package/dist/chunk-F4UXJDGZ.mjs +42 -0
  58. package/dist/chunk-F4UXJDGZ.mjs.map +1 -0
  59. package/dist/chunk-FFTW6SV4.mjs +68 -0
  60. package/dist/chunk-FJHSBSAP.mjs +36 -0
  61. package/dist/chunk-FUNE35XZ.js +80 -0
  62. package/dist/chunk-FUNE35XZ.js.map +1 -0
  63. package/dist/chunk-GNBFS5EQ.mjs +17 -0
  64. package/dist/chunk-GNBFS5EQ.mjs.map +1 -0
  65. package/dist/chunk-I5DYFMEZ.js +17 -0
  66. package/dist/chunk-I5DYFMEZ.js.map +1 -0
  67. package/dist/chunk-IBUFY5TJ.js +67 -0
  68. package/dist/chunk-IBUFY5TJ.js.map +1 -0
  69. package/dist/chunk-IGRJP4RX.mjs +76 -0
  70. package/dist/chunk-JBZRGURS.mjs +40 -0
  71. package/dist/chunk-JBZRGURS.mjs.map +1 -0
  72. package/dist/chunk-K45NQQ7F.js +85 -0
  73. package/dist/chunk-K45NQQ7F.js.map +1 -0
  74. package/dist/chunk-KCDBRFHE.js +96 -0
  75. package/dist/chunk-KCDBRFHE.js.map +1 -0
  76. package/dist/chunk-KDX56WS2.mjs +101 -0
  77. package/dist/chunk-LCKB2Z5Y.js +34 -0
  78. package/dist/chunk-LCKB2Z5Y.js.map +1 -0
  79. package/dist/chunk-LIPRXHHB.js +101 -0
  80. package/dist/chunk-LIPRXHHB.js.map +1 -0
  81. package/dist/chunk-MSGYVS7X.mjs +136 -0
  82. package/dist/chunk-N7MVAEQX.js +888 -0
  83. package/dist/chunk-N7MVAEQX.js.map +1 -0
  84. package/dist/chunk-NJICHVPX.mjs +70 -0
  85. package/dist/chunk-NOUIWZCK.js +136 -0
  86. package/dist/chunk-NOUIWZCK.js.map +1 -0
  87. package/dist/chunk-NTUIOWUM.mjs +888 -0
  88. package/dist/chunk-NZT2VUX5.mjs +54 -0
  89. package/dist/chunk-OJ2RV3YY.js +66 -0
  90. package/dist/chunk-OJ2RV3YY.js.map +1 -0
  91. package/dist/chunk-P27JS2XK.mjs +96 -0
  92. package/dist/chunk-PWXUXMNV.js +663 -0
  93. package/dist/chunk-PWXUXMNV.js.map +1 -0
  94. package/dist/chunk-QH6442NY.mjs +663 -0
  95. package/dist/chunk-QVBXHLXS.mjs +103 -0
  96. package/dist/chunk-QVBXHLXS.mjs.map +1 -0
  97. package/dist/chunk-S4JKLESF.js +124 -0
  98. package/dist/chunk-S4JKLESF.js.map +1 -0
  99. package/dist/chunk-SFWGJNWG.mjs +196 -0
  100. package/dist/chunk-T46Y7B2D.mjs +63 -0
  101. package/dist/chunk-T46Y7B2D.mjs.map +1 -0
  102. package/dist/chunk-T6LELB2A.mjs +51 -0
  103. package/dist/chunk-U6BL2GLB.js +54 -0
  104. package/dist/chunk-U6BL2GLB.js.map +1 -0
  105. package/dist/chunk-U6UYZ7VC.js +63 -0
  106. package/dist/chunk-U6UYZ7VC.js.map +1 -0
  107. package/dist/chunk-VGZOUL5J.mjs +285 -0
  108. package/dist/chunk-VGZOUL5J.mjs.map +1 -0
  109. package/dist/chunk-VTHIHR22.mjs +42 -0
  110. package/dist/chunk-VW3GTPRE.mjs +67 -0
  111. package/dist/chunk-VW3GTPRE.mjs.map +1 -0
  112. package/dist/chunk-WDGR54P5.mjs +80 -0
  113. package/dist/chunk-WKK33HHX.mjs +63 -0
  114. package/dist/chunk-WKK33HHX.mjs.map +1 -0
  115. package/dist/chunk-XKCTA4Q2.js +51 -0
  116. package/dist/chunk-XKCTA4Q2.js.map +1 -0
  117. package/dist/chunk-XMVWAFHX.js +90 -0
  118. package/dist/chunk-XMVWAFHX.js.map +1 -0
  119. package/dist/chunk-XQOBW32F.js +512 -0
  120. package/dist/chunk-XQOBW32F.js.map +1 -0
  121. package/dist/chunk-XT7GI3H7.js +92 -0
  122. package/dist/chunk-XT7GI3H7.js.map +1 -0
  123. package/dist/chunk-Y5YA24Y4.js +42 -0
  124. package/dist/chunk-Y5YA24Y4.js.map +1 -0
  125. package/dist/chunk-YG3K5XBQ.mjs +346 -0
  126. package/dist/chunk-YN2GYHG3.js +285 -0
  127. package/dist/chunk-YN2GYHG3.js.map +1 -0
  128. package/dist/chunk-ZRCDO3D5.mjs +92 -0
  129. package/dist/chunk-ZWCPSY4D.mjs +85 -0
  130. package/dist/cli/index.js +390 -146
  131. package/dist/cli/index.js.map +1 -1
  132. package/dist/cli/index.mjs +384 -140
  133. package/dist/cli/index.mjs.map +1 -1
  134. package/dist/config-FY4AVETK.js +96 -0
  135. package/dist/config-FY4AVETK.js.map +1 -0
  136. package/dist/config-Z3UAKGVH.mjs +96 -0
  137. package/dist/config-Z3UAKGVH.mjs.map +1 -0
  138. package/dist/create-2JIJVWOR.mjs +75 -0
  139. package/dist/create-2JIJVWOR.mjs.map +1 -0
  140. package/dist/create-4IE4Y2SF.js +52 -0
  141. package/dist/create-4IE4Y2SF.js.map +1 -0
  142. package/dist/create-4IPHZC3V.js +88 -0
  143. package/dist/create-4IPHZC3V.js.map +1 -0
  144. package/dist/create-4TIOBNAA.mjs +52 -0
  145. package/dist/create-4TIOBNAA.mjs.map +1 -0
  146. package/dist/create-7OBC3X6K.mjs +48 -0
  147. package/dist/create-7OBC3X6K.mjs.map +1 -0
  148. package/dist/create-BL7TOIIF.js +72 -0
  149. package/dist/create-BL7TOIIF.js.map +1 -0
  150. package/dist/create-CMBNVJDE.mjs +94 -0
  151. package/dist/create-CMBNVJDE.mjs.map +1 -0
  152. package/dist/create-DUMUVRTI.mjs +91 -0
  153. package/dist/create-DUMUVRTI.mjs.map +1 -0
  154. package/dist/create-H4OG6VHE.js +92 -0
  155. package/dist/create-H4OG6VHE.js.map +1 -0
  156. package/dist/create-IQDZNSVC.js +42 -0
  157. package/dist/create-IQDZNSVC.js.map +1 -0
  158. package/dist/create-IZ7SBQS5.js +23 -0
  159. package/dist/create-IZ7SBQS5.js.map +1 -0
  160. package/dist/create-JDNZHYOR.mjs +43 -0
  161. package/dist/create-JDNZHYOR.mjs.map +1 -0
  162. package/dist/create-K2LDICOT.js +58 -0
  163. package/dist/create-K2LDICOT.js.map +1 -0
  164. package/dist/create-KGMGOFZN.mjs +88 -0
  165. package/dist/create-KGMGOFZN.mjs.map +1 -0
  166. package/dist/create-KJ75BZEJ.js +75 -0
  167. package/dist/create-KJ75BZEJ.js.map +1 -0
  168. package/dist/create-LYK356PR.js +88 -0
  169. package/dist/create-LYK356PR.js.map +1 -0
  170. package/dist/create-MM5IRL2S.js +91 -0
  171. package/dist/create-MM5IRL2S.js.map +1 -0
  172. package/dist/create-MMDDO3PB.mjs +87 -0
  173. package/dist/create-MMDDO3PB.mjs.map +1 -0
  174. package/dist/create-NM7P2DCT.mjs +49 -0
  175. package/dist/create-NM7P2DCT.mjs.map +1 -0
  176. package/dist/create-O4OOFM2G.js +71 -0
  177. package/dist/create-O4OOFM2G.js.map +1 -0
  178. package/dist/create-OCRBRM2G.js +87 -0
  179. package/dist/create-OCRBRM2G.js.map +1 -0
  180. package/dist/create-QQ6FUVKJ.js +94 -0
  181. package/dist/create-QQ6FUVKJ.js.map +1 -0
  182. package/dist/create-SKYE43CO.js +43 -0
  183. package/dist/create-SKYE43CO.js.map +1 -0
  184. package/dist/create-TBL2OR4U.mjs +88 -0
  185. package/dist/create-TBL2OR4U.mjs.map +1 -0
  186. package/dist/create-TGEYW3XC.js +48 -0
  187. package/dist/create-TGEYW3XC.js.map +1 -0
  188. package/dist/create-UHQ54VS7.mjs +58 -0
  189. package/dist/create-UHQ54VS7.mjs.map +1 -0
  190. package/dist/create-UPM5ZYUZ.mjs +42 -0
  191. package/dist/create-UPM5ZYUZ.mjs.map +1 -0
  192. package/dist/create-WCMYN6L3.mjs +50 -0
  193. package/dist/create-WCMYN6L3.mjs.map +1 -0
  194. package/dist/create-WL6QJWQC.mjs +71 -0
  195. package/dist/create-WL6QJWQC.mjs.map +1 -0
  196. package/dist/create-WPQN7MBG.js +50 -0
  197. package/dist/create-WPQN7MBG.js.map +1 -0
  198. package/dist/create-X4GUHVTD.mjs +72 -0
  199. package/dist/create-X4GUHVTD.mjs.map +1 -0
  200. package/dist/create-XWVUSGYK.mjs +23 -0
  201. package/dist/create-YD5AT5LO.js +49 -0
  202. package/dist/create-YD5AT5LO.js.map +1 -0
  203. package/dist/create-YYFTCL3H.mjs +92 -0
  204. package/dist/create-YYFTCL3H.mjs.map +1 -0
  205. package/dist/delete-3IVPCPZC.js +52 -0
  206. package/dist/delete-3IVPCPZC.js.map +1 -0
  207. package/dist/delete-53YPK4BT.js +39 -0
  208. package/dist/delete-53YPK4BT.js.map +1 -0
  209. package/dist/delete-6LHKOZQZ.js +59 -0
  210. package/dist/delete-6LHKOZQZ.js.map +1 -0
  211. package/dist/delete-6Q4LPBCD.js +38 -0
  212. package/dist/delete-6Q4LPBCD.js.map +1 -0
  213. package/dist/delete-C3WRIBAL.mjs +52 -0
  214. package/dist/delete-C3WRIBAL.mjs.map +1 -0
  215. package/dist/delete-DK7XLD4N.js +44 -0
  216. package/dist/delete-DK7XLD4N.js.map +1 -0
  217. package/dist/delete-DO4LSCUW.js +42 -0
  218. package/dist/delete-DO4LSCUW.js.map +1 -0
  219. package/dist/delete-GGBF26W2.mjs +39 -0
  220. package/dist/delete-GGBF26W2.mjs.map +1 -0
  221. package/dist/delete-IOV33BOC.mjs +52 -0
  222. package/dist/delete-IOV33BOC.mjs.map +1 -0
  223. package/dist/delete-IQPGNG3Y.js +39 -0
  224. package/dist/delete-IQPGNG3Y.js.map +1 -0
  225. package/dist/delete-K6N47ZLX.js +57 -0
  226. package/dist/delete-K6N47ZLX.js.map +1 -0
  227. package/dist/delete-KX4VUL2C.mjs +59 -0
  228. package/dist/delete-KX4VUL2C.mjs.map +1 -0
  229. package/dist/delete-NRJXAXQ2.mjs +57 -0
  230. package/dist/delete-NRJXAXQ2.mjs.map +1 -0
  231. package/dist/delete-NSGIFPWK.js +59 -0
  232. package/dist/delete-NSGIFPWK.js.map +1 -0
  233. package/dist/delete-O2ZOJT6O.mjs +44 -0
  234. package/dist/delete-O2ZOJT6O.mjs.map +1 -0
  235. package/dist/delete-ODSJGPKL.mjs +52 -0
  236. package/dist/delete-ODSJGPKL.mjs.map +1 -0
  237. package/dist/delete-OGBMBW65.mjs +59 -0
  238. package/dist/delete-OGBMBW65.mjs.map +1 -0
  239. package/dist/delete-OYBYDUGN.js +41 -0
  240. package/dist/delete-OYBYDUGN.js.map +1 -0
  241. package/dist/delete-PWAPCGIC.mjs +41 -0
  242. package/dist/delete-PWAPCGIC.mjs.map +1 -0
  243. package/dist/delete-QK56UT6L.mjs +38 -0
  244. package/dist/delete-QK56UT6L.mjs.map +1 -0
  245. package/dist/delete-QL3QTZHM.js +52 -0
  246. package/dist/delete-QL3QTZHM.js.map +1 -0
  247. package/dist/delete-QMWRNRJ3.mjs +52 -0
  248. package/dist/delete-QMWRNRJ3.mjs.map +1 -0
  249. package/dist/delete-QSRX5BV6.mjs +42 -0
  250. package/dist/delete-QSRX5BV6.mjs.map +1 -0
  251. package/dist/delete-QUO3E3KK.js +52 -0
  252. package/dist/delete-QUO3E3KK.js.map +1 -0
  253. package/dist/delete-TRLG55RC.js +52 -0
  254. package/dist/delete-TRLG55RC.js.map +1 -0
  255. package/dist/delete-TU2JE6PT.mjs +61 -0
  256. package/dist/delete-TU2JE6PT.mjs.map +1 -0
  257. package/dist/delete-UKBO6KU5.js +61 -0
  258. package/dist/delete-UKBO6KU5.js.map +1 -0
  259. package/dist/delete-XV3FFG7P.mjs +39 -0
  260. package/dist/delete-XV3FFG7P.mjs.map +1 -0
  261. package/dist/download-JEJJA6DV.mjs +100 -0
  262. package/dist/download-JEJJA6DV.mjs.map +1 -0
  263. package/dist/download-K2DLSB5R.js +100 -0
  264. package/dist/download-K2DLSB5R.js.map +1 -0
  265. package/dist/duplicate-2TQJNHTA.js +45 -0
  266. package/dist/duplicate-2TQJNHTA.js.map +1 -0
  267. package/dist/duplicate-FXY4IYWC.mjs +45 -0
  268. package/dist/duplicate-FXY4IYWC.mjs.map +1 -0
  269. package/dist/export-SM5GXH4S.mjs +103 -0
  270. package/dist/export-SM5GXH4S.mjs.map +1 -0
  271. package/dist/export-TCDER22C.js +103 -0
  272. package/dist/export-TCDER22C.js.map +1 -0
  273. package/dist/get-2SLOZIPN.js +56 -0
  274. package/dist/get-2SLOZIPN.js.map +1 -0
  275. package/dist/get-3LMPNC73.mjs +149 -0
  276. package/dist/get-3LMPNC73.mjs.map +1 -0
  277. package/dist/get-3ZKC5CVY.mjs +68 -0
  278. package/dist/get-3ZKC5CVY.mjs.map +1 -0
  279. package/dist/get-7OE62A5G.mjs +71 -0
  280. package/dist/get-7OE62A5G.mjs.map +1 -0
  281. package/dist/get-A5BA32NL.js +52 -0
  282. package/dist/get-A5BA32NL.js.map +1 -0
  283. package/dist/get-AJW7Y3HU.mjs +51 -0
  284. package/dist/get-AJW7Y3HU.mjs.map +1 -0
  285. package/dist/get-ASKIVMCX.js +68 -0
  286. package/dist/get-ASKIVMCX.js.map +1 -0
  287. package/dist/get-CXEFUZRR.js +49 -0
  288. package/dist/get-CXEFUZRR.js.map +1 -0
  289. package/dist/get-EUFFPDDE.js +52 -0
  290. package/dist/get-EUFFPDDE.js.map +1 -0
  291. package/dist/get-GOVIRAZM.js +71 -0
  292. package/dist/get-GOVIRAZM.js.map +1 -0
  293. package/dist/get-GVKH5CK6.mjs +94 -0
  294. package/dist/get-GVKH5CK6.mjs.map +1 -0
  295. package/dist/get-H3QB47KL.js +70 -0
  296. package/dist/get-H3QB47KL.js.map +1 -0
  297. package/dist/get-HWZLCJHR.mjs +52 -0
  298. package/dist/get-HWZLCJHR.mjs.map +1 -0
  299. package/dist/get-IF7MBWBU.js +67 -0
  300. package/dist/get-IF7MBWBU.js.map +1 -0
  301. package/dist/get-J6RBO5FC.mjs +71 -0
  302. package/dist/get-J6RBO5FC.mjs.map +1 -0
  303. package/dist/get-JN4XRABY.mjs +66 -0
  304. package/dist/get-JN4XRABY.mjs.map +1 -0
  305. package/dist/get-JUNLBFPQ.mjs +76 -0
  306. package/dist/get-JUNLBFPQ.mjs.map +1 -0
  307. package/dist/get-KCPTPAZQ.js +149 -0
  308. package/dist/get-KCPTPAZQ.js.map +1 -0
  309. package/dist/get-LEX5DHEH.mjs +70 -0
  310. package/dist/get-LEX5DHEH.mjs.map +1 -0
  311. package/dist/get-MIPHEIIS.js +76 -0
  312. package/dist/get-MIPHEIIS.js.map +1 -0
  313. package/dist/get-MVVI5UBJ.js +71 -0
  314. package/dist/get-MVVI5UBJ.js.map +1 -0
  315. package/dist/get-MZSC4XTK.mjs +56 -0
  316. package/dist/get-MZSC4XTK.mjs.map +1 -0
  317. package/dist/get-O74QPFVW.js +94 -0
  318. package/dist/get-O74QPFVW.js.map +1 -0
  319. package/dist/get-PDMFBUS6.js +51 -0
  320. package/dist/get-PDMFBUS6.js.map +1 -0
  321. package/dist/get-PVJOVUY2.js +85 -0
  322. package/dist/get-PVJOVUY2.js.map +1 -0
  323. package/dist/get-PZFFQGHE.mjs +49 -0
  324. package/dist/get-PZFFQGHE.mjs.map +1 -0
  325. package/dist/get-RBZCE26R.mjs +67 -0
  326. package/dist/get-RBZCE26R.mjs.map +1 -0
  327. package/dist/get-RZOK67QH.mjs +52 -0
  328. package/dist/get-RZOK67QH.mjs.map +1 -0
  329. package/dist/get-WYN27ZYK.mjs +71 -0
  330. package/dist/get-WYN27ZYK.mjs.map +1 -0
  331. package/dist/get-X2E3KFBO.mjs +85 -0
  332. package/dist/get-X2E3KFBO.mjs.map +1 -0
  333. package/dist/get-XGQTOUUA.js +71 -0
  334. package/dist/get-XGQTOUUA.js.map +1 -0
  335. package/dist/get-Y45EY5GL.js +66 -0
  336. package/dist/get-Y45EY5GL.js.map +1 -0
  337. package/dist/health-G7QIL32K.js +73 -0
  338. package/dist/health-G7QIL32K.js.map +1 -0
  339. package/dist/health-K4TNDKO5.mjs +73 -0
  340. package/dist/health-K4TNDKO5.mjs.map +1 -0
  341. package/dist/implementation-BjKH8hfM.d.ts +716 -0
  342. package/dist/implementation-DVeJmBaC.d.mts +716 -0
  343. package/dist/index.d.mts +2 -2
  344. package/dist/index.d.ts +2 -2
  345. package/dist/index.js +40 -40
  346. package/dist/index.mjs +21 -21
  347. package/dist/ingestion-templates-4JIA7SSF.mjs +185 -0
  348. package/dist/ingestion-templates-4JIA7SSF.mjs.map +1 -0
  349. package/dist/ingestion-templates-ZV2373JE.js +185 -0
  350. package/dist/ingestion-templates-ZV2373JE.js.map +1 -0
  351. package/dist/init-shell-MCX27UIL.mjs +71 -0
  352. package/dist/init-shell-MCX27UIL.mjs.map +1 -0
  353. package/dist/init-shell-YK7WR2C2.js +71 -0
  354. package/dist/init-shell-YK7WR2C2.js.map +1 -0
  355. package/dist/list-2NIHHNHH.js +71 -0
  356. package/dist/list-2NIHHNHH.js.map +1 -0
  357. package/dist/list-2POSB4AL.mjs +111 -0
  358. package/dist/list-2POSB4AL.mjs.map +1 -0
  359. package/dist/list-2QL7GRGM.mjs +87 -0
  360. package/dist/list-2QL7GRGM.mjs.map +1 -0
  361. package/dist/list-3PM76NUS.js +80 -0
  362. package/dist/list-3PM76NUS.js.map +1 -0
  363. package/dist/list-4GZTZHNR.js +82 -0
  364. package/dist/list-4GZTZHNR.js.map +1 -0
  365. package/dist/list-4HSUMNXW.mjs +76 -0
  366. package/dist/list-4HSUMNXW.mjs.map +1 -0
  367. package/dist/list-4K4RX2Y2.js +78 -0
  368. package/dist/list-4K4RX2Y2.js.map +1 -0
  369. package/dist/list-6BIZYEPW.js +90 -0
  370. package/dist/list-6BIZYEPW.js.map +1 -0
  371. package/dist/list-BB43NKUM.mjs +53 -0
  372. package/dist/list-BB43NKUM.mjs.map +1 -0
  373. package/dist/list-BC2OES2G.mjs +104 -0
  374. package/dist/list-BC2OES2G.mjs.map +1 -0
  375. package/dist/list-C2IXWMFN.mjs +78 -0
  376. package/dist/list-C2IXWMFN.mjs.map +1 -0
  377. package/dist/list-C3674FXP.mjs +75 -0
  378. package/dist/list-C3674FXP.mjs.map +1 -0
  379. package/dist/list-D64DW6VQ.js +83 -0
  380. package/dist/list-D64DW6VQ.js.map +1 -0
  381. package/dist/list-DVGDEGQH.mjs +82 -0
  382. package/dist/list-DVGDEGQH.mjs.map +1 -0
  383. package/dist/list-E2Q7UXQN.js +72 -0
  384. package/dist/list-E2Q7UXQN.js.map +1 -0
  385. package/dist/list-FAHNBAHW.js +78 -0
  386. package/dist/list-FAHNBAHW.js.map +1 -0
  387. package/dist/list-FAUMOBHA.mjs +80 -0
  388. package/dist/list-FAUMOBHA.mjs.map +1 -0
  389. package/dist/list-FKDR27HO.mjs +75 -0
  390. package/dist/list-FKDR27HO.mjs.map +1 -0
  391. package/dist/list-FNPC3YED.mjs +78 -0
  392. package/dist/list-FNPC3YED.mjs.map +1 -0
  393. package/dist/list-FNVZXYIS.js +80 -0
  394. package/dist/list-FNVZXYIS.js.map +1 -0
  395. package/dist/list-G3NQU4CF.mjs +122 -0
  396. package/dist/list-G3NQU4CF.mjs.map +1 -0
  397. package/dist/list-G4KTNT7Z.mjs +86 -0
  398. package/dist/list-G4KTNT7Z.mjs.map +1 -0
  399. package/dist/list-GTYDZ4BW.mjs +90 -0
  400. package/dist/list-GTYDZ4BW.mjs.map +1 -0
  401. package/dist/list-IPROZBHH.js +122 -0
  402. package/dist/list-IPROZBHH.js.map +1 -0
  403. package/dist/list-J5LSLPUA.js +75 -0
  404. package/dist/list-J5LSLPUA.js.map +1 -0
  405. package/dist/list-J5RLSPXZ.js +104 -0
  406. package/dist/list-J5RLSPXZ.js.map +1 -0
  407. package/dist/list-JIRLV2GF.js +76 -0
  408. package/dist/list-JIRLV2GF.js.map +1 -0
  409. package/dist/list-JSQW2CEJ.js +53 -0
  410. package/dist/list-JSQW2CEJ.js.map +1 -0
  411. package/dist/list-KDRFJ76E.mjs +85 -0
  412. package/dist/list-KDRFJ76E.mjs.map +1 -0
  413. package/dist/list-KRUADMDD.js +75 -0
  414. package/dist/list-KRUADMDD.js.map +1 -0
  415. package/dist/list-KX7MEJPP.mjs +71 -0
  416. package/dist/list-KX7MEJPP.mjs.map +1 -0
  417. package/dist/list-LLIEQUMO.js +111 -0
  418. package/dist/list-LLIEQUMO.js.map +1 -0
  419. package/dist/list-OHV42MFI.js +85 -0
  420. package/dist/list-OHV42MFI.js.map +1 -0
  421. package/dist/list-OQNU4RZK.mjs +75 -0
  422. package/dist/list-OQNU4RZK.mjs.map +1 -0
  423. package/dist/list-OVSKCRLK.mjs +72 -0
  424. package/dist/list-OVSKCRLK.mjs.map +1 -0
  425. package/dist/list-RQP6FA2U.mjs +83 -0
  426. package/dist/list-RQP6FA2U.mjs.map +1 -0
  427. package/dist/list-TD43XBFH.js +86 -0
  428. package/dist/list-TD43XBFH.js.map +1 -0
  429. package/dist/list-UWKO3J4O.js +78 -0
  430. package/dist/list-UWKO3J4O.js.map +1 -0
  431. package/dist/list-VE3W3RLV.mjs +82 -0
  432. package/dist/list-VE3W3RLV.mjs.map +1 -0
  433. package/dist/list-WDT6PJLI.js +87 -0
  434. package/dist/list-WDT6PJLI.js.map +1 -0
  435. package/dist/list-WERZN5VJ.js +82 -0
  436. package/dist/list-WERZN5VJ.js.map +1 -0
  437. package/dist/list-WVUPB5MJ.mjs +80 -0
  438. package/dist/list-WVUPB5MJ.mjs.map +1 -0
  439. package/dist/list-XLZHX2AO.js +75 -0
  440. package/dist/list-XLZHX2AO.js.map +1 -0
  441. package/dist/list-Y65ONFMR.mjs +78 -0
  442. package/dist/list-Y65ONFMR.mjs.map +1 -0
  443. package/dist/login-VS2QKX4F.mjs +231 -0
  444. package/dist/login-VS2QKX4F.mjs.map +1 -0
  445. package/dist/login-YM5YEWKL.js +231 -0
  446. package/dist/login-YM5YEWKL.js.map +1 -0
  447. package/dist/logout-device-4GI5URWD.js +39 -0
  448. package/dist/logout-device-4GI5URWD.js.map +1 -0
  449. package/dist/logout-device-D34PE5R6.mjs +39 -0
  450. package/dist/logout-device-D34PE5R6.mjs.map +1 -0
  451. package/dist/observability-sdk/index.d.mts +3 -3
  452. package/dist/observability-sdk/index.d.ts +3 -3
  453. package/dist/observability-sdk/index.js +3 -3
  454. package/dist/observability-sdk/index.mjs +2 -2
  455. package/dist/observability-sdk/instrumentation/langchain/index.d.mts +1 -1
  456. package/dist/observability-sdk/instrumentation/langchain/index.d.ts +1 -1
  457. package/dist/observability-sdk/setup/node/index.js +4 -4
  458. package/dist/observability-sdk/setup/node/index.mjs +3 -3
  459. package/dist/open-JIZ3KJHS.mjs +47 -0
  460. package/dist/open-JIZ3KJHS.mjs.map +1 -0
  461. package/dist/open-LGMC22E5.js +47 -0
  462. package/dist/open-LGMC22E5.js.map +1 -0
  463. package/dist/pull-34TC66ZB.js +27 -0
  464. package/dist/pull-34TC66ZB.js.map +1 -0
  465. package/dist/pull-6TWIHJTL.mjs +27 -0
  466. package/dist/push-CPZFOM5M.mjs +27 -0
  467. package/dist/push-IG4U2NVQ.js +27 -0
  468. package/dist/push-IG4U2NVQ.js.map +1 -0
  469. package/dist/query-6XH7GMYS.js +122 -0
  470. package/dist/query-6XH7GMYS.js.map +1 -0
  471. package/dist/query-MXUNPAC5.mjs +122 -0
  472. package/dist/query-MXUNPAC5.mjs.map +1 -0
  473. package/dist/records-add-27W36W6C.mjs +98 -0
  474. package/dist/records-add-27W36W6C.mjs.map +1 -0
  475. package/dist/records-add-HPIL7KWD.js +98 -0
  476. package/dist/records-add-HPIL7KWD.js.map +1 -0
  477. package/dist/records-delete-7J5TPTDH.js +46 -0
  478. package/dist/records-delete-7J5TPTDH.js.map +1 -0
  479. package/dist/records-delete-R67MVBNC.mjs +46 -0
  480. package/dist/records-delete-R67MVBNC.mjs.map +1 -0
  481. package/dist/records-list-PCI4DGVV.mjs +89 -0
  482. package/dist/records-list-PCI4DGVV.mjs.map +1 -0
  483. package/dist/records-list-QYASBZGW.js +89 -0
  484. package/dist/records-list-QYASBZGW.js.map +1 -0
  485. package/dist/records-update-2IXQ6B7S.mjs +53 -0
  486. package/dist/records-update-2IXQ6B7S.mjs.map +1 -0
  487. package/dist/records-update-VUCZYGJM.js +53 -0
  488. package/dist/records-update-VUCZYGJM.js.map +1 -0
  489. package/dist/remove-7RFN5M6K.js +114 -0
  490. package/dist/remove-7RFN5M6K.js.map +1 -0
  491. package/dist/remove-KSZO5PJ3.mjs +114 -0
  492. package/dist/rename-5RVE224Z.js +42 -0
  493. package/dist/rename-5RVE224Z.js.map +1 -0
  494. package/dist/rename-OPZ57MAU.mjs +42 -0
  495. package/dist/rename-OPZ57MAU.mjs.map +1 -0
  496. package/dist/request-increase-42B3536U.js +37 -0
  497. package/dist/request-increase-42B3536U.js.map +1 -0
  498. package/dist/request-increase-SFKA63AF.mjs +37 -0
  499. package/dist/request-increase-SFKA63AF.mjs.map +1 -0
  500. package/dist/restore-GIKZE32G.js +73 -0
  501. package/dist/restore-GIKZE32G.js.map +1 -0
  502. package/dist/restore-XSEILUEP.mjs +73 -0
  503. package/dist/restore-XSEILUEP.mjs.map +1 -0
  504. package/dist/revoke-AAHB6DKY.js +41 -0
  505. package/dist/revoke-AAHB6DKY.js.map +1 -0
  506. package/dist/revoke-I7DMDHCI.mjs +41 -0
  507. package/dist/revoke-I7DMDHCI.mjs.map +1 -0
  508. package/dist/revoke-LCZ5ORHO.js +44 -0
  509. package/dist/revoke-LCZ5ORHO.js.map +1 -0
  510. package/dist/revoke-ZCLT4SKY.mjs +44 -0
  511. package/dist/revoke-ZCLT4SKY.mjs.map +1 -0
  512. package/dist/rotate-7OG4XI7F.js +52 -0
  513. package/dist/rotate-7OG4XI7F.js.map +1 -0
  514. package/dist/rotate-QB5UAO44.mjs +52 -0
  515. package/dist/rotate-QB5UAO44.mjs.map +1 -0
  516. package/dist/run-2R2STWSR.mjs +77 -0
  517. package/dist/run-2R2STWSR.mjs.map +1 -0
  518. package/dist/run-3W2OBPMD.js +142 -0
  519. package/dist/run-3W2OBPMD.js.map +1 -0
  520. package/dist/run-CSRJCY5K.js +83 -0
  521. package/dist/run-CSRJCY5K.js.map +1 -0
  522. package/dist/run-HIDZ6M3T.js +144 -0
  523. package/dist/run-HIDZ6M3T.js.map +1 -0
  524. package/dist/run-KWE47WKD.js +131 -0
  525. package/dist/run-KWE47WKD.js.map +1 -0
  526. package/dist/run-LQTVXDBU.mjs +83 -0
  527. package/dist/run-LQTVXDBU.mjs.map +1 -0
  528. package/dist/run-MOZBEBF4.js +77 -0
  529. package/dist/run-MOZBEBF4.js.map +1 -0
  530. package/dist/run-RZCXEXSI.mjs +142 -0
  531. package/dist/run-RZCXEXSI.mjs.map +1 -0
  532. package/dist/run-WSAWSK6Y.mjs +144 -0
  533. package/dist/run-WSAWSK6Y.mjs.map +1 -0
  534. package/dist/run-ZKPZ5L6R.mjs +131 -0
  535. package/dist/run-ZKPZ5L6R.mjs.map +1 -0
  536. package/dist/search-DDAXU6KT.js +108 -0
  537. package/dist/search-DDAXU6KT.js.map +1 -0
  538. package/dist/search-K3W2DEHF.mjs +108 -0
  539. package/dist/search-K3W2DEHF.mjs.map +1 -0
  540. package/dist/set-CPPQ6IA3.mjs +59 -0
  541. package/dist/set-CPPQ6IA3.mjs.map +1 -0
  542. package/dist/set-IOHIXABO.mjs +105 -0
  543. package/dist/set-IOHIXABO.mjs.map +1 -0
  544. package/dist/set-N3OYQ2ZB.js +59 -0
  545. package/dist/set-N3OYQ2ZB.js.map +1 -0
  546. package/dist/set-QXIVHVOU.js +105 -0
  547. package/dist/set-QXIVHVOU.js.map +1 -0
  548. package/dist/status-E3YF7PKO.mjs +153 -0
  549. package/dist/status-E3YF7PKO.mjs.map +1 -0
  550. package/dist/status-EXATRY7O.js +153 -0
  551. package/dist/status-EXATRY7O.js.map +1 -0
  552. package/dist/status-LA3NQTLE.mjs +56 -0
  553. package/dist/status-LA3NQTLE.mjs.map +1 -0
  554. package/dist/status-VHIZIX4I.js +56 -0
  555. package/dist/status-VHIZIX4I.js.map +1 -0
  556. package/dist/status-WFURFYKE.js +108 -0
  557. package/dist/status-WFURFYKE.js.map +1 -0
  558. package/dist/status-XQIWM34F.mjs +108 -0
  559. package/dist/status-XQIWM34F.mjs.map +1 -0
  560. package/dist/sync-5JPO2354.mjs +132 -0
  561. package/dist/sync-5JPO2354.mjs.map +1 -0
  562. package/dist/sync-EFMZYS7N.js +132 -0
  563. package/dist/sync-EFMZYS7N.js.map +1 -0
  564. package/dist/tail-ULXKVXW3.js +108 -0
  565. package/dist/tail-ULXKVXW3.js.map +1 -0
  566. package/dist/tail-ZJQ47UIQ.mjs +108 -0
  567. package/dist/tail-ZJQ47UIQ.mjs.map +1 -0
  568. package/dist/types-CdEEWouX.d.mts +15125 -0
  569. package/dist/types-SQg9EYOC.d.ts +15125 -0
  570. package/dist/unset-HBSCU43Q.js +107 -0
  571. package/dist/unset-HBSCU43Q.js.map +1 -0
  572. package/dist/unset-PPMHHXD7.mjs +107 -0
  573. package/dist/unset-PPMHHXD7.mjs.map +1 -0
  574. package/dist/update-45T64GNF.mjs +71 -0
  575. package/dist/update-45T64GNF.mjs.map +1 -0
  576. package/dist/update-4CBEARKP.mjs +83 -0
  577. package/dist/update-4CBEARKP.mjs.map +1 -0
  578. package/dist/update-5FW6XOLE.js +75 -0
  579. package/dist/update-5FW6XOLE.js.map +1 -0
  580. package/dist/update-7A5YAIS4.js +61 -0
  581. package/dist/update-7A5YAIS4.js.map +1 -0
  582. package/dist/update-AMAVGICN.js +65 -0
  583. package/dist/update-AMAVGICN.js.map +1 -0
  584. package/dist/update-BOHGMKYA.js +66 -0
  585. package/dist/update-BOHGMKYA.js.map +1 -0
  586. package/dist/update-DLBPONRP.mjs +48 -0
  587. package/dist/update-DLBPONRP.mjs.map +1 -0
  588. package/dist/update-E456QX26.js +63 -0
  589. package/dist/update-E456QX26.js.map +1 -0
  590. package/dist/update-EJCSFXU7.mjs +63 -0
  591. package/dist/update-EJCSFXU7.mjs.map +1 -0
  592. package/dist/update-F3WC4S2A.js +79 -0
  593. package/dist/update-F3WC4S2A.js.map +1 -0
  594. package/dist/update-HFF4JPKC.js +51 -0
  595. package/dist/update-HFF4JPKC.js.map +1 -0
  596. package/dist/update-HKH6Q6WH.mjs +48 -0
  597. package/dist/update-HKH6Q6WH.mjs.map +1 -0
  598. package/dist/update-HXGC7ACW.js +63 -0
  599. package/dist/update-HXGC7ACW.js.map +1 -0
  600. package/dist/update-IT3I5MY3.mjs +66 -0
  601. package/dist/update-IT3I5MY3.mjs.map +1 -0
  602. package/dist/update-IZ2SB3G6.mjs +61 -0
  603. package/dist/update-IZ2SB3G6.mjs.map +1 -0
  604. package/dist/update-KU2BSYPB.js +83 -0
  605. package/dist/update-KU2BSYPB.js.map +1 -0
  606. package/dist/update-LG77R7CZ.js +48 -0
  607. package/dist/update-LG77R7CZ.js.map +1 -0
  608. package/dist/update-MWK3QBIB.mjs +106 -0
  609. package/dist/update-MWK3QBIB.mjs.map +1 -0
  610. package/dist/update-QWIIF7IM.mjs +51 -0
  611. package/dist/update-QWIIF7IM.mjs.map +1 -0
  612. package/dist/update-R6EMJDGI.js +76 -0
  613. package/dist/update-R6EMJDGI.js.map +1 -0
  614. package/dist/update-S4TKF5OJ.js +106 -0
  615. package/dist/update-S4TKF5OJ.js.map +1 -0
  616. package/dist/update-TW65O3DI.js +48 -0
  617. package/dist/update-TW65O3DI.js.map +1 -0
  618. package/dist/update-V53W7KF6.mjs +76 -0
  619. package/dist/update-V53W7KF6.mjs.map +1 -0
  620. package/dist/update-WLNXEROM.mjs +63 -0
  621. package/dist/update-WLNXEROM.mjs.map +1 -0
  622. package/dist/update-X7LDZHL7.mjs +75 -0
  623. package/dist/update-X7LDZHL7.mjs.map +1 -0
  624. package/dist/update-XFZQOP75.mjs +79 -0
  625. package/dist/update-XFZQOP75.mjs.map +1 -0
  626. package/dist/update-XHWI6LQB.js +71 -0
  627. package/dist/update-XHWI6LQB.js.map +1 -0
  628. package/dist/update-XY3CY367.mjs +65 -0
  629. package/dist/update-XY3CY367.mjs.map +1 -0
  630. package/dist/upload-LO4WXWBY.mjs +80 -0
  631. package/dist/upload-LO4WXWBY.mjs.map +1 -0
  632. package/dist/upload-UL4DFXSC.js +80 -0
  633. package/dist/upload-UL4DFXSC.js.map +1 -0
  634. package/dist/user-ingestion-bindings-2GNU635P.mjs +129 -0
  635. package/dist/user-ingestion-bindings-2GNU635P.mjs.map +1 -0
  636. package/dist/user-ingestion-bindings-JV74TMGD.js +129 -0
  637. package/dist/user-ingestion-bindings-JV74TMGD.js.map +1 -0
  638. package/dist/versions-5Z6KSW6L.mjs +85 -0
  639. package/dist/versions-5Z6KSW6L.mjs.map +1 -0
  640. package/dist/versions-FU77C2TY.js +85 -0
  641. package/dist/versions-FU77C2TY.js.map +1 -0
  642. package/dist/whoami-2WXL4TMP.mjs +30 -0
  643. package/dist/whoami-2WXL4TMP.mjs.map +1 -0
  644. package/dist/whoami-TC6A4G4U.js +30 -0
  645. package/dist/whoami-TC6A4G4U.js.map +1 -0
  646. package/dist/wrap-FIHQNQEH.js +33 -0
  647. package/dist/wrap-FIHQNQEH.js.map +1 -0
  648. package/dist/wrap-OZUCTG73.mjs +33 -0
  649. package/dist/wrap-OZUCTG73.mjs.map +1 -0
  650. package/package.json +3 -2
  651. package/dist/add-C2M2WP24.mjs +0 -147
  652. package/dist/add-C2M2WP24.mjs.map +0 -1
  653. package/dist/add-ZTECKSAG.js +0 -147
  654. package/dist/add-ZTECKSAG.js.map +0 -1
  655. package/dist/archive-JWNEYKH2.js +0 -40
  656. package/dist/archive-JWNEYKH2.js.map +0 -1
  657. package/dist/archive-RQFBSRMZ.mjs +0 -40
  658. package/dist/archive-RQFBSRMZ.mjs.map +0 -1
  659. package/dist/assign-34G4XXOM.js +0 -53
  660. package/dist/assign-34G4XXOM.js.map +0 -1
  661. package/dist/assign-IR5WQAQL.mjs +0 -53
  662. package/dist/assign-IR5WQAQL.mjs.map +0 -1
  663. package/dist/chunk-2IKUERSY.js +0 -512
  664. package/dist/chunk-2IKUERSY.js.map +0 -1
  665. package/dist/chunk-2NVZGSJ3.js +0 -53
  666. package/dist/chunk-2NVZGSJ3.js.map +0 -1
  667. package/dist/chunk-32KNHBYI.mjs +0 -63
  668. package/dist/chunk-32KNHBYI.mjs.map +0 -1
  669. package/dist/chunk-37ALI6BP.js +0 -92
  670. package/dist/chunk-37ALI6BP.js.map +0 -1
  671. package/dist/chunk-3CKCGYUG.js +0 -17
  672. package/dist/chunk-3CKCGYUG.js.map +0 -1
  673. package/dist/chunk-3PSEK7KO.js +0 -36
  674. package/dist/chunk-3PSEK7KO.js.map +0 -1
  675. package/dist/chunk-4AT4WT56.mjs +0 -136
  676. package/dist/chunk-4MC6XHOO.mjs +0 -53
  677. package/dist/chunk-53UZBDMO.js +0 -80
  678. package/dist/chunk-53UZBDMO.js.map +0 -1
  679. package/dist/chunk-5KMOKGPC.mjs +0 -196
  680. package/dist/chunk-6EPCICL7.mjs +0 -42
  681. package/dist/chunk-7F6J37ZA.js +0 -54
  682. package/dist/chunk-7F6J37ZA.js.map +0 -1
  683. package/dist/chunk-7ID3HNYT.mjs +0 -80
  684. package/dist/chunk-BNBRUL22.js +0 -103
  685. package/dist/chunk-BNBRUL22.js.map +0 -1
  686. package/dist/chunk-BSSV2XBT.js +0 -27
  687. package/dist/chunk-BSSV2XBT.js.map +0 -1
  688. package/dist/chunk-BV3AEXUL.js +0 -15
  689. package/dist/chunk-BV3AEXUL.js.map +0 -1
  690. package/dist/chunk-CG7DQAKM.js +0 -68
  691. package/dist/chunk-CG7DQAKM.js.map +0 -1
  692. package/dist/chunk-CGPEN4Q2.js +0 -90
  693. package/dist/chunk-CGPEN4Q2.js.map +0 -1
  694. package/dist/chunk-CHEW6HIM.mjs +0 -63
  695. package/dist/chunk-CHEW6HIM.mjs.map +0 -1
  696. package/dist/chunk-CTEONB5S.mjs +0 -27
  697. package/dist/chunk-CTEONB5S.mjs.map +0 -1
  698. package/dist/chunk-D53G2KXD.mjs +0 -80
  699. package/dist/chunk-DVRBW67X.js +0 -101
  700. package/dist/chunk-DVRBW67X.js.map +0 -1
  701. package/dist/chunk-E2A2D7EJ.mjs +0 -54
  702. package/dist/chunk-EBOVKJWY.js +0 -96
  703. package/dist/chunk-EBOVKJWY.js.map +0 -1
  704. package/dist/chunk-ECLM4KJH.js +0 -346
  705. package/dist/chunk-ECLM4KJH.js.map +0 -1
  706. package/dist/chunk-FQLF66A7.js +0 -63
  707. package/dist/chunk-FQLF66A7.js.map +0 -1
  708. package/dist/chunk-GWZORBGZ.js +0 -66
  709. package/dist/chunk-GWZORBGZ.js.map +0 -1
  710. package/dist/chunk-H4QQDQCN.js +0 -51
  711. package/dist/chunk-H4QQDQCN.js.map +0 -1
  712. package/dist/chunk-HMZMYISG.mjs +0 -76
  713. package/dist/chunk-HOCJHR2V.mjs +0 -512
  714. package/dist/chunk-IN7Z7SU2.mjs +0 -663
  715. package/dist/chunk-IPJWPFFF.js +0 -85
  716. package/dist/chunk-IPJWPFFF.js.map +0 -1
  717. package/dist/chunk-JDZ7NF37.mjs +0 -68
  718. package/dist/chunk-JEYMPD6P.js +0 -42
  719. package/dist/chunk-JEYMPD6P.js.map +0 -1
  720. package/dist/chunk-JJLIE6ZO.js +0 -80
  721. package/dist/chunk-JJLIE6ZO.js.map +0 -1
  722. package/dist/chunk-KFD6UFSX.mjs +0 -70
  723. package/dist/chunk-L2ZVDINF.mjs +0 -85
  724. package/dist/chunk-NTJJVSJR.mjs +0 -346
  725. package/dist/chunk-OD44MSQ6.mjs +0 -888
  726. package/dist/chunk-OKR32MOP.mjs +0 -36
  727. package/dist/chunk-P4CVD7XJ.mjs +0 -17
  728. package/dist/chunk-P4CVD7XJ.mjs.map +0 -1
  729. package/dist/chunk-QRZRCNVZ.mjs +0 -66
  730. package/dist/chunk-RHDZDDBI.mjs +0 -90
  731. package/dist/chunk-RHDZDDBI.mjs.map +0 -1
  732. package/dist/chunk-RLMQSAZ2.mjs +0 -101
  733. package/dist/chunk-ROXQ72RE.mjs +0 -92
  734. package/dist/chunk-RSX364LB.js +0 -70
  735. package/dist/chunk-RSX364LB.js.map +0 -1
  736. package/dist/chunk-SS3HBBBO.mjs +0 -96
  737. package/dist/chunk-SZ2OS7K7.mjs +0 -51
  738. package/dist/chunk-U3HN6PWA.js +0 -136
  739. package/dist/chunk-U3HN6PWA.js.map +0 -1
  740. package/dist/chunk-U6FI42ID.mjs +0 -103
  741. package/dist/chunk-U6FI42ID.mjs.map +0 -1
  742. package/dist/chunk-UZKNXXT3.mjs +0 -300
  743. package/dist/chunk-VAEDJF56.js +0 -196
  744. package/dist/chunk-VAEDJF56.js.map +0 -1
  745. package/dist/chunk-VAVYKJCV.js +0 -90
  746. package/dist/chunk-VAVYKJCV.js.map +0 -1
  747. package/dist/chunk-VJKWNTUS.js +0 -63
  748. package/dist/chunk-VJKWNTUS.js.map +0 -1
  749. package/dist/chunk-W3V7II7G.mjs +0 -15
  750. package/dist/chunk-W3V7II7G.mjs.map +0 -1
  751. package/dist/chunk-WFPW3D2K.js +0 -76
  752. package/dist/chunk-WFPW3D2K.js.map +0 -1
  753. package/dist/chunk-X32ZZXGM.js +0 -888
  754. package/dist/chunk-X32ZZXGM.js.map +0 -1
  755. package/dist/chunk-XIZQ7OPD.js +0 -300
  756. package/dist/chunk-XIZQ7OPD.js.map +0 -1
  757. package/dist/chunk-XTPCKWRP.mjs +0 -90
  758. package/dist/chunk-ZJ7BAK3J.js +0 -663
  759. package/dist/chunk-ZJ7BAK3J.js.map +0 -1
  760. package/dist/create-2LDBGJAV.mjs +0 -47
  761. package/dist/create-2LDBGJAV.mjs.map +0 -1
  762. package/dist/create-3SWQ47V6.js +0 -22
  763. package/dist/create-3SWQ47V6.js.map +0 -1
  764. package/dist/create-5P5AZNVK.js +0 -71
  765. package/dist/create-5P5AZNVK.js.map +0 -1
  766. package/dist/create-6BP5RIXR.mjs +0 -42
  767. package/dist/create-6BP5RIXR.mjs.map +0 -1
  768. package/dist/create-76TPO7XM.mjs +0 -51
  769. package/dist/create-76TPO7XM.mjs.map +0 -1
  770. package/dist/create-7CPKNXMZ.mjs +0 -68
  771. package/dist/create-7CPKNXMZ.mjs.map +0 -1
  772. package/dist/create-AEIYCNQY.mjs +0 -48
  773. package/dist/create-AEIYCNQY.mjs.map +0 -1
  774. package/dist/create-BABU2YFY.mjs +0 -41
  775. package/dist/create-BABU2YFY.mjs.map +0 -1
  776. package/dist/create-BJLMIXMK.mjs +0 -91
  777. package/dist/create-BJLMIXMK.mjs.map +0 -1
  778. package/dist/create-C5JB73HC.js +0 -88
  779. package/dist/create-C5JB73HC.js.map +0 -1
  780. package/dist/create-E2Y5LR2V.js +0 -54
  781. package/dist/create-E2Y5LR2V.js.map +0 -1
  782. package/dist/create-F5G6GR4H.js +0 -42
  783. package/dist/create-F5G6GR4H.js.map +0 -1
  784. package/dist/create-GT4WNGXO.js +0 -85
  785. package/dist/create-GT4WNGXO.js.map +0 -1
  786. package/dist/create-HQOASFIL.js +0 -91
  787. package/dist/create-HQOASFIL.js.map +0 -1
  788. package/dist/create-IUVRGEZI.js +0 -51
  789. package/dist/create-IUVRGEZI.js.map +0 -1
  790. package/dist/create-J7D7TF24.mjs +0 -71
  791. package/dist/create-J7D7TF24.mjs.map +0 -1
  792. package/dist/create-L46KYLBG.mjs +0 -72
  793. package/dist/create-L46KYLBG.mjs.map +0 -1
  794. package/dist/create-M4XW6SPJ.mjs +0 -85
  795. package/dist/create-M4XW6SPJ.mjs.map +0 -1
  796. package/dist/create-NCOXUSMQ.mjs +0 -88
  797. package/dist/create-NCOXUSMQ.mjs.map +0 -1
  798. package/dist/create-PM6I4C7T.mjs +0 -49
  799. package/dist/create-PM6I4C7T.mjs.map +0 -1
  800. package/dist/create-PY5J2ZYW.js +0 -73
  801. package/dist/create-PY5J2ZYW.js.map +0 -1
  802. package/dist/create-PYY4GW2D.js +0 -41
  803. package/dist/create-PYY4GW2D.js.map +0 -1
  804. package/dist/create-Q5JHWPXX.js +0 -68
  805. package/dist/create-Q5JHWPXX.js.map +0 -1
  806. package/dist/create-QZZQQYWH.js +0 -47
  807. package/dist/create-QZZQQYWH.js.map +0 -1
  808. package/dist/create-RNMLO4OA.js +0 -49
  809. package/dist/create-RNMLO4OA.js.map +0 -1
  810. package/dist/create-RUPKFNJO.js +0 -57
  811. package/dist/create-RUPKFNJO.js.map +0 -1
  812. package/dist/create-SIF2ZOB3.js +0 -72
  813. package/dist/create-SIF2ZOB3.js.map +0 -1
  814. package/dist/create-SUSO4P2W.js +0 -87
  815. package/dist/create-SUSO4P2W.js.map +0 -1
  816. package/dist/create-THLMUHJR.mjs +0 -54
  817. package/dist/create-THLMUHJR.mjs.map +0 -1
  818. package/dist/create-TLGM2IT3.mjs +0 -57
  819. package/dist/create-TLGM2IT3.mjs.map +0 -1
  820. package/dist/create-UE7243GO.js +0 -86
  821. package/dist/create-UE7243GO.js.map +0 -1
  822. package/dist/create-UUAHAFBF.mjs +0 -73
  823. package/dist/create-UUAHAFBF.mjs.map +0 -1
  824. package/dist/create-XA6GN7IF.mjs +0 -87
  825. package/dist/create-XA6GN7IF.mjs.map +0 -1
  826. package/dist/create-Y5EPTAQA.mjs +0 -86
  827. package/dist/create-Y5EPTAQA.mjs.map +0 -1
  828. package/dist/create-YVJ3EY7S.js +0 -48
  829. package/dist/create-YVJ3EY7S.js.map +0 -1
  830. package/dist/create-YWCBEGUP.mjs +0 -22
  831. package/dist/delete-25FJKNGG.js +0 -49
  832. package/dist/delete-25FJKNGG.js.map +0 -1
  833. package/dist/delete-2QDH3SMF.js +0 -49
  834. package/dist/delete-2QDH3SMF.js.map +0 -1
  835. package/dist/delete-47QEGC34.mjs +0 -58
  836. package/dist/delete-47QEGC34.mjs.map +0 -1
  837. package/dist/delete-4MBVZO7R.mjs +0 -58
  838. package/dist/delete-4MBVZO7R.mjs.map +0 -1
  839. package/dist/delete-65PA2XFX.mjs +0 -38
  840. package/dist/delete-65PA2XFX.mjs.map +0 -1
  841. package/dist/delete-7LN2LX6S.mjs +0 -49
  842. package/dist/delete-7LN2LX6S.mjs.map +0 -1
  843. package/dist/delete-7PJCNMQX.js +0 -37
  844. package/dist/delete-7PJCNMQX.js.map +0 -1
  845. package/dist/delete-AYF7XV4D.js +0 -56
  846. package/dist/delete-AYF7XV4D.js.map +0 -1
  847. package/dist/delete-BABWUHTM.mjs +0 -60
  848. package/dist/delete-BABWUHTM.mjs.map +0 -1
  849. package/dist/delete-C7P3EOD2.js +0 -49
  850. package/dist/delete-C7P3EOD2.js.map +0 -1
  851. package/dist/delete-C7P6T6AN.js +0 -60
  852. package/dist/delete-C7P6T6AN.js.map +0 -1
  853. package/dist/delete-DN6S4OC5.js +0 -40
  854. package/dist/delete-DN6S4OC5.js.map +0 -1
  855. package/dist/delete-E7IXUSAJ.js +0 -38
  856. package/dist/delete-E7IXUSAJ.js.map +0 -1
  857. package/dist/delete-EEOGOTLN.mjs +0 -40
  858. package/dist/delete-EEOGOTLN.mjs.map +0 -1
  859. package/dist/delete-F4DUHDEW.mjs +0 -49
  860. package/dist/delete-F4DUHDEW.mjs.map +0 -1
  861. package/dist/delete-GJR3UV2E.mjs +0 -37
  862. package/dist/delete-GJR3UV2E.mjs.map +0 -1
  863. package/dist/delete-HY5PC6AF.js +0 -49
  864. package/dist/delete-HY5PC6AF.js.map +0 -1
  865. package/dist/delete-J7XMRETD.js +0 -38
  866. package/dist/delete-J7XMRETD.js.map +0 -1
  867. package/dist/delete-JCQTJFMN.js +0 -58
  868. package/dist/delete-JCQTJFMN.js.map +0 -1
  869. package/dist/delete-LIXJTZDY.mjs +0 -49
  870. package/dist/delete-LIXJTZDY.mjs.map +0 -1
  871. package/dist/delete-MS4V2N5U.mjs +0 -56
  872. package/dist/delete-MS4V2N5U.mjs.map +0 -1
  873. package/dist/delete-NYQXHJYH.mjs +0 -41
  874. package/dist/delete-NYQXHJYH.mjs.map +0 -1
  875. package/dist/delete-Q6PDPCAY.js +0 -41
  876. package/dist/delete-Q6PDPCAY.js.map +0 -1
  877. package/dist/delete-QSUPIK4G.js +0 -43
  878. package/dist/delete-QSUPIK4G.js.map +0 -1
  879. package/dist/delete-RFKQDFLV.mjs +0 -38
  880. package/dist/delete-RFKQDFLV.mjs.map +0 -1
  881. package/dist/delete-TZ5QYWQM.mjs +0 -49
  882. package/dist/delete-TZ5QYWQM.mjs.map +0 -1
  883. package/dist/delete-UWWGSUU5.js +0 -58
  884. package/dist/delete-UWWGSUU5.js.map +0 -1
  885. package/dist/delete-ZXD6F6GH.mjs +0 -43
  886. package/dist/delete-ZXD6F6GH.mjs.map +0 -1
  887. package/dist/disable-EEOAE5SU.mjs +0 -40
  888. package/dist/disable-EEOAE5SU.mjs.map +0 -1
  889. package/dist/disable-IHJXH7MA.js +0 -40
  890. package/dist/disable-IHJXH7MA.js.map +0 -1
  891. package/dist/download-H23O5O3X.mjs +0 -99
  892. package/dist/download-H23O5O3X.mjs.map +0 -1
  893. package/dist/download-I75O575Z.js +0 -99
  894. package/dist/download-I75O575Z.js.map +0 -1
  895. package/dist/duplicate-EB54YPB7.mjs +0 -44
  896. package/dist/duplicate-EB54YPB7.mjs.map +0 -1
  897. package/dist/duplicate-QILOL7XF.js +0 -44
  898. package/dist/duplicate-QILOL7XF.js.map +0 -1
  899. package/dist/export-HORK63SO.js +0 -100
  900. package/dist/export-HORK63SO.js.map +0 -1
  901. package/dist/export-KXXYJTPU.mjs +0 -100
  902. package/dist/export-KXXYJTPU.mjs.map +0 -1
  903. package/dist/get-2XDDNVLA.js +0 -48
  904. package/dist/get-2XDDNVLA.js.map +0 -1
  905. package/dist/get-35G7ZIWF.js +0 -55
  906. package/dist/get-35G7ZIWF.js.map +0 -1
  907. package/dist/get-4PPYV3WG.js +0 -65
  908. package/dist/get-4PPYV3WG.js.map +0 -1
  909. package/dist/get-5CFI2JFS.js +0 -84
  910. package/dist/get-5CFI2JFS.js.map +0 -1
  911. package/dist/get-5IPITT4M.js +0 -67
  912. package/dist/get-5IPITT4M.js.map +0 -1
  913. package/dist/get-7AEN3EIR.mjs +0 -68
  914. package/dist/get-7AEN3EIR.mjs.map +0 -1
  915. package/dist/get-AOIBMSZP.mjs +0 -48
  916. package/dist/get-AOIBMSZP.mjs.map +0 -1
  917. package/dist/get-CXJUQ2U2.mjs +0 -50
  918. package/dist/get-CXJUQ2U2.mjs.map +0 -1
  919. package/dist/get-CYFV7JD5.js +0 -73
  920. package/dist/get-CYFV7JD5.js.map +0 -1
  921. package/dist/get-DE4MKOAP.js +0 -70
  922. package/dist/get-DE4MKOAP.js.map +0 -1
  923. package/dist/get-GMGRLWNW.js +0 -50
  924. package/dist/get-GMGRLWNW.js.map +0 -1
  925. package/dist/get-HDNIYTZY.mjs +0 -51
  926. package/dist/get-HDNIYTZY.mjs.map +0 -1
  927. package/dist/get-HMTQT3HF.js +0 -146
  928. package/dist/get-HMTQT3HF.js.map +0 -1
  929. package/dist/get-HQPPOOQ3.js +0 -68
  930. package/dist/get-HQPPOOQ3.js.map +0 -1
  931. package/dist/get-I2CZZPUZ.js +0 -51
  932. package/dist/get-I2CZZPUZ.js.map +0 -1
  933. package/dist/get-JMWMBLFO.js +0 -64
  934. package/dist/get-JMWMBLFO.js.map +0 -1
  935. package/dist/get-LPD6B5S6.mjs +0 -67
  936. package/dist/get-LPD6B5S6.mjs.map +0 -1
  937. package/dist/get-MDOZ72G7.mjs +0 -68
  938. package/dist/get-MDOZ72G7.mjs.map +0 -1
  939. package/dist/get-MG24XHD5.js +0 -67
  940. package/dist/get-MG24XHD5.js.map +0 -1
  941. package/dist/get-N6UUMRGN.mjs +0 -55
  942. package/dist/get-N6UUMRGN.mjs.map +0 -1
  943. package/dist/get-PRL4NJW2.js +0 -51
  944. package/dist/get-PRL4NJW2.js.map +0 -1
  945. package/dist/get-QAEXEJFO.mjs +0 -70
  946. package/dist/get-QAEXEJFO.mjs.map +0 -1
  947. package/dist/get-QXI63GPD.js +0 -68
  948. package/dist/get-QXI63GPD.js.map +0 -1
  949. package/dist/get-REF24SE4.mjs +0 -65
  950. package/dist/get-REF24SE4.mjs.map +0 -1
  951. package/dist/get-RHUT3PZR.mjs +0 -146
  952. package/dist/get-RHUT3PZR.mjs.map +0 -1
  953. package/dist/get-RZRPAZ5J.mjs +0 -93
  954. package/dist/get-RZRPAZ5J.mjs.map +0 -1
  955. package/dist/get-SHDHYKHK.mjs +0 -84
  956. package/dist/get-SHDHYKHK.mjs.map +0 -1
  957. package/dist/get-UJS3RI4G.mjs +0 -51
  958. package/dist/get-UJS3RI4G.mjs.map +0 -1
  959. package/dist/get-WPZLVTPC.mjs +0 -73
  960. package/dist/get-WPZLVTPC.mjs.map +0 -1
  961. package/dist/get-XHTYAL7I.js +0 -93
  962. package/dist/get-XHTYAL7I.js.map +0 -1
  963. package/dist/get-ZI2B4R73.mjs +0 -64
  964. package/dist/get-ZI2B4R73.mjs.map +0 -1
  965. package/dist/get-ZIP2VLKS.mjs +0 -67
  966. package/dist/get-ZIP2VLKS.mjs.map +0 -1
  967. package/dist/implementation-CF2VbiqN.d.ts +0 -716
  968. package/dist/implementation-T2Yh2Y89.d.mts +0 -716
  969. package/dist/list-2OPMMXFF.js +0 -83
  970. package/dist/list-2OPMMXFF.js.map +0 -1
  971. package/dist/list-4E6YUD3X.mjs +0 -84
  972. package/dist/list-4E6YUD3X.mjs.map +0 -1
  973. package/dist/list-5G5SPFNM.mjs +0 -79
  974. package/dist/list-5G5SPFNM.mjs.map +0 -1
  975. package/dist/list-7FA4HYSW.mjs +0 -70
  976. package/dist/list-7FA4HYSW.mjs.map +0 -1
  977. package/dist/list-7GJIAG2H.js +0 -71
  978. package/dist/list-7GJIAG2H.js.map +0 -1
  979. package/dist/list-AP663LPN.js +0 -89
  980. package/dist/list-AP663LPN.js.map +0 -1
  981. package/dist/list-BKJVXJOJ.mjs +0 -71
  982. package/dist/list-BKJVXJOJ.mjs.map +0 -1
  983. package/dist/list-EBAKJGFX.mjs +0 -110
  984. package/dist/list-EBAKJGFX.mjs.map +0 -1
  985. package/dist/list-EBH5LG6B.js +0 -79
  986. package/dist/list-EBH5LG6B.js.map +0 -1
  987. package/dist/list-EURMVFOH.mjs +0 -84
  988. package/dist/list-EURMVFOH.mjs.map +0 -1
  989. package/dist/list-F6FY3Y6O.js +0 -72
  990. package/dist/list-F6FY3Y6O.js.map +0 -1
  991. package/dist/list-FDTSCUIN.mjs +0 -77
  992. package/dist/list-FDTSCUIN.mjs.map +0 -1
  993. package/dist/list-GFHTAWNY.js +0 -84
  994. package/dist/list-GFHTAWNY.js.map +0 -1
  995. package/dist/list-H7OILQEK.mjs +0 -89
  996. package/dist/list-H7OILQEK.mjs.map +0 -1
  997. package/dist/list-HLW673TU.mjs +0 -74
  998. package/dist/list-HLW673TU.mjs.map +0 -1
  999. package/dist/list-JSU7Q26B.mjs +0 -71
  1000. package/dist/list-JSU7Q26B.mjs.map +0 -1
  1001. package/dist/list-KACM5YVN.js +0 -75
  1002. package/dist/list-KACM5YVN.js.map +0 -1
  1003. package/dist/list-L2JIPJVJ.js +0 -77
  1004. package/dist/list-L2JIPJVJ.js.map +0 -1
  1005. package/dist/list-MBOJJKVX.js +0 -84
  1006. package/dist/list-MBOJJKVX.js.map +0 -1
  1007. package/dist/list-MQQYRJV4.js +0 -101
  1008. package/dist/list-MQQYRJV4.js.map +0 -1
  1009. package/dist/list-MXY46LQS.js +0 -80
  1010. package/dist/list-MXY46LQS.js.map +0 -1
  1011. package/dist/list-N7WY3KF4.mjs +0 -72
  1012. package/dist/list-N7WY3KF4.mjs.map +0 -1
  1013. package/dist/list-NEYDQSPM.mjs +0 -77
  1014. package/dist/list-NEYDQSPM.mjs.map +0 -1
  1015. package/dist/list-NWKWZ7QR.js +0 -74
  1016. package/dist/list-NWKWZ7QR.js.map +0 -1
  1017. package/dist/list-OPRHYUVY.mjs +0 -83
  1018. package/dist/list-OPRHYUVY.mjs.map +0 -1
  1019. package/dist/list-OWZCIYEL.js +0 -81
  1020. package/dist/list-OWZCIYEL.js.map +0 -1
  1021. package/dist/list-PGX2TMCC.js +0 -79
  1022. package/dist/list-PGX2TMCC.js.map +0 -1
  1023. package/dist/list-PN2PQNFU.js +0 -79
  1024. package/dist/list-PN2PQNFU.js.map +0 -1
  1025. package/dist/list-QFN5VXYX.mjs +0 -80
  1026. package/dist/list-QFN5VXYX.mjs.map +0 -1
  1027. package/dist/list-QIMFNA5W.js +0 -110
  1028. package/dist/list-QIMFNA5W.js.map +0 -1
  1029. package/dist/list-R2P53YSJ.mjs +0 -79
  1030. package/dist/list-R2P53YSJ.mjs.map +0 -1
  1031. package/dist/list-SHVQIG3R.mjs +0 -81
  1032. package/dist/list-SHVQIG3R.mjs.map +0 -1
  1033. package/dist/list-ST737MVR.mjs +0 -75
  1034. package/dist/list-ST737MVR.mjs.map +0 -1
  1035. package/dist/list-SZQX2YEG.mjs +0 -79
  1036. package/dist/list-SZQX2YEG.mjs.map +0 -1
  1037. package/dist/list-T7SKTMMU.js +0 -71
  1038. package/dist/list-T7SKTMMU.js.map +0 -1
  1039. package/dist/list-UAFOZENR.js +0 -77
  1040. package/dist/list-UAFOZENR.js.map +0 -1
  1041. package/dist/list-UCDMDBFA.mjs +0 -74
  1042. package/dist/list-UCDMDBFA.mjs.map +0 -1
  1043. package/dist/list-UJBHT67E.js +0 -77
  1044. package/dist/list-UJBHT67E.js.map +0 -1
  1045. package/dist/list-URU2LA5S.mjs +0 -52
  1046. package/dist/list-URU2LA5S.mjs.map +0 -1
  1047. package/dist/list-WP3KQZLL.js +0 -52
  1048. package/dist/list-WP3KQZLL.js.map +0 -1
  1049. package/dist/list-X664TBW6.mjs +0 -77
  1050. package/dist/list-X664TBW6.mjs.map +0 -1
  1051. package/dist/list-YWEY3VNW.mjs +0 -101
  1052. package/dist/list-YWEY3VNW.mjs.map +0 -1
  1053. package/dist/list-ZHG4W6N6.js +0 -74
  1054. package/dist/list-ZHG4W6N6.js.map +0 -1
  1055. package/dist/list-ZZR67LIO.js +0 -70
  1056. package/dist/list-ZZR67LIO.js.map +0 -1
  1057. package/dist/login-G2TZBZAT.mjs +0 -131
  1058. package/dist/login-G2TZBZAT.mjs.map +0 -1
  1059. package/dist/login-PCRVN32I.js +0 -131
  1060. package/dist/login-PCRVN32I.js.map +0 -1
  1061. package/dist/pull-3HTEO2KV.js +0 -26
  1062. package/dist/pull-3HTEO2KV.js.map +0 -1
  1063. package/dist/pull-D7OCRPTJ.mjs +0 -26
  1064. package/dist/push-FHAY6EUV.js +0 -26
  1065. package/dist/push-FHAY6EUV.js.map +0 -1
  1066. package/dist/push-V2JOPVQ5.mjs +0 -26
  1067. package/dist/query-EMF7IR2S.js +0 -121
  1068. package/dist/query-EMF7IR2S.js.map +0 -1
  1069. package/dist/query-IUJRH3CE.mjs +0 -121
  1070. package/dist/query-IUJRH3CE.mjs.map +0 -1
  1071. package/dist/records-add-LHL6YBOK.mjs +0 -97
  1072. package/dist/records-add-LHL6YBOK.mjs.map +0 -1
  1073. package/dist/records-add-WBHSWDLN.js +0 -97
  1074. package/dist/records-add-WBHSWDLN.js.map +0 -1
  1075. package/dist/records-delete-4RG2LZ5V.js +0 -45
  1076. package/dist/records-delete-4RG2LZ5V.js.map +0 -1
  1077. package/dist/records-delete-YBEWFWHP.mjs +0 -45
  1078. package/dist/records-delete-YBEWFWHP.mjs.map +0 -1
  1079. package/dist/records-list-MAY7BZ2D.js +0 -88
  1080. package/dist/records-list-MAY7BZ2D.js.map +0 -1
  1081. package/dist/records-list-VT3CTM5S.mjs +0 -88
  1082. package/dist/records-list-VT3CTM5S.mjs.map +0 -1
  1083. package/dist/records-update-OFFWG6GP.mjs +0 -52
  1084. package/dist/records-update-OFFWG6GP.mjs.map +0 -1
  1085. package/dist/records-update-YDD4UKOY.js +0 -52
  1086. package/dist/records-update-YDD4UKOY.js.map +0 -1
  1087. package/dist/remove-XRXUKF4W.js +0 -114
  1088. package/dist/remove-XRXUKF4W.js.map +0 -1
  1089. package/dist/remove-YQPCKQUV.mjs +0 -114
  1090. package/dist/rename-SNVTJTY7.js +0 -41
  1091. package/dist/rename-SNVTJTY7.js.map +0 -1
  1092. package/dist/rename-TH6UNSGF.mjs +0 -41
  1093. package/dist/rename-TH6UNSGF.mjs.map +0 -1
  1094. package/dist/restore-2GRPBZWH.mjs +0 -70
  1095. package/dist/restore-2GRPBZWH.mjs.map +0 -1
  1096. package/dist/restore-ZBLOMLMJ.js +0 -70
  1097. package/dist/restore-ZBLOMLMJ.js.map +0 -1
  1098. package/dist/revoke-4KVTQF7O.mjs +0 -43
  1099. package/dist/revoke-4KVTQF7O.mjs.map +0 -1
  1100. package/dist/revoke-EMI3JKYB.mjs +0 -40
  1101. package/dist/revoke-EMI3JKYB.mjs.map +0 -1
  1102. package/dist/revoke-LSJTJNH5.js +0 -43
  1103. package/dist/revoke-LSJTJNH5.js.map +0 -1
  1104. package/dist/revoke-RYM2TIXS.js +0 -40
  1105. package/dist/revoke-RYM2TIXS.js.map +0 -1
  1106. package/dist/rotate-ARU557YV.js +0 -51
  1107. package/dist/rotate-ARU557YV.js.map +0 -1
  1108. package/dist/rotate-XHGB6AOX.mjs +0 -51
  1109. package/dist/rotate-XHGB6AOX.mjs.map +0 -1
  1110. package/dist/run-2VWYDGSD.mjs +0 -82
  1111. package/dist/run-2VWYDGSD.mjs.map +0 -1
  1112. package/dist/run-3KQUWTYC.js +0 -141
  1113. package/dist/run-3KQUWTYC.js.map +0 -1
  1114. package/dist/run-BDTTVSPQ.mjs +0 -141
  1115. package/dist/run-BDTTVSPQ.mjs.map +0 -1
  1116. package/dist/run-D7LXXZWE.js +0 -74
  1117. package/dist/run-D7LXXZWE.js.map +0 -1
  1118. package/dist/run-DDXNSP2E.js +0 -139
  1119. package/dist/run-DDXNSP2E.js.map +0 -1
  1120. package/dist/run-EMLBSL4K.mjs +0 -128
  1121. package/dist/run-EMLBSL4K.mjs.map +0 -1
  1122. package/dist/run-GY5AE4T6.js +0 -128
  1123. package/dist/run-GY5AE4T6.js.map +0 -1
  1124. package/dist/run-HBC6WH74.mjs +0 -139
  1125. package/dist/run-HBC6WH74.mjs.map +0 -1
  1126. package/dist/run-P6Z6KTYB.js +0 -82
  1127. package/dist/run-P6Z6KTYB.js.map +0 -1
  1128. package/dist/run-S3DQKR6S.mjs +0 -74
  1129. package/dist/run-S3DQKR6S.mjs.map +0 -1
  1130. package/dist/search-VEY2FDMR.mjs +0 -107
  1131. package/dist/search-VEY2FDMR.mjs.map +0 -1
  1132. package/dist/search-Z3TTH6CX.js +0 -107
  1133. package/dist/search-Z3TTH6CX.js.map +0 -1
  1134. package/dist/set-GZLLMGRR.mjs +0 -104
  1135. package/dist/set-GZLLMGRR.mjs.map +0 -1
  1136. package/dist/set-UO5W7IO4.mjs +0 -58
  1137. package/dist/set-UO5W7IO4.mjs.map +0 -1
  1138. package/dist/set-VNNYMKIG.js +0 -58
  1139. package/dist/set-VNNYMKIG.js.map +0 -1
  1140. package/dist/set-XRHAR4NX.js +0 -104
  1141. package/dist/set-XRHAR4NX.js.map +0 -1
  1142. package/dist/status-QSEOS2PK.mjs +0 -150
  1143. package/dist/status-QSEOS2PK.mjs.map +0 -1
  1144. package/dist/status-RAIEBGK2.js +0 -66
  1145. package/dist/status-RAIEBGK2.js.map +0 -1
  1146. package/dist/status-XIABEKCG.js +0 -150
  1147. package/dist/status-XIABEKCG.js.map +0 -1
  1148. package/dist/status-ZCR6IMH2.mjs +0 -66
  1149. package/dist/status-ZCR6IMH2.mjs.map +0 -1
  1150. package/dist/sync-ALF3MSXZ.mjs +0 -131
  1151. package/dist/sync-ALF3MSXZ.mjs.map +0 -1
  1152. package/dist/sync-ZSUKSU6F.js +0 -131
  1153. package/dist/sync-ZSUKSU6F.js.map +0 -1
  1154. package/dist/types-CTj0i-sr.d.mts +0 -13892
  1155. package/dist/types-DY_kjh0O.d.ts +0 -13892
  1156. package/dist/unset-4XAATHVE.mjs +0 -106
  1157. package/dist/unset-4XAATHVE.mjs.map +0 -1
  1158. package/dist/unset-OCMXABBD.js +0 -106
  1159. package/dist/unset-OCMXABBD.js.map +0 -1
  1160. package/dist/update-2PC23OZN.mjs +0 -47
  1161. package/dist/update-2PC23OZN.mjs.map +0 -1
  1162. package/dist/update-423FNGKG.js +0 -60
  1163. package/dist/update-423FNGKG.js.map +0 -1
  1164. package/dist/update-5OAPZQVS.js +0 -76
  1165. package/dist/update-5OAPZQVS.js.map +0 -1
  1166. package/dist/update-6IVXFEUD.mjs +0 -89
  1167. package/dist/update-6IVXFEUD.mjs.map +0 -1
  1168. package/dist/update-A4ZZX4TW.mjs +0 -60
  1169. package/dist/update-A4ZZX4TW.mjs.map +0 -1
  1170. package/dist/update-AJERVKOF.mjs +0 -60
  1171. package/dist/update-AJERVKOF.mjs.map +0 -1
  1172. package/dist/update-CJYTH4N5.js +0 -80
  1173. package/dist/update-CJYTH4N5.js.map +0 -1
  1174. package/dist/update-DCCJDNQD.mjs +0 -62
  1175. package/dist/update-DCCJDNQD.mjs.map +0 -1
  1176. package/dist/update-DMMDBSF6.mjs +0 -73
  1177. package/dist/update-DMMDBSF6.mjs.map +0 -1
  1178. package/dist/update-F7OARGUN.mjs +0 -80
  1179. package/dist/update-F7OARGUN.mjs.map +0 -1
  1180. package/dist/update-FIL4FU3H.js +0 -50
  1181. package/dist/update-FIL4FU3H.js.map +0 -1
  1182. package/dist/update-GVJDKMVO.js +0 -89
  1183. package/dist/update-GVJDKMVO.js.map +0 -1
  1184. package/dist/update-HQG6R73E.mjs +0 -47
  1185. package/dist/update-HQG6R73E.mjs.map +0 -1
  1186. package/dist/update-JCEVPGGP.mjs +0 -76
  1187. package/dist/update-JCEVPGGP.mjs.map +0 -1
  1188. package/dist/update-JIGWEBLF.js +0 -74
  1189. package/dist/update-JIGWEBLF.js.map +0 -1
  1190. package/dist/update-L3PFOE6J.js +0 -47
  1191. package/dist/update-L3PFOE6J.js.map +0 -1
  1192. package/dist/update-LIOML73C.mjs +0 -64
  1193. package/dist/update-LIOML73C.mjs.map +0 -1
  1194. package/dist/update-M6ZZ322Y.js +0 -60
  1195. package/dist/update-M6ZZ322Y.js.map +0 -1
  1196. package/dist/update-NGZWAYHJ.js +0 -73
  1197. package/dist/update-NGZWAYHJ.js.map +0 -1
  1198. package/dist/update-O5PGUH7P.js +0 -62
  1199. package/dist/update-O5PGUH7P.js.map +0 -1
  1200. package/dist/update-PJ6GMMIK.mjs +0 -74
  1201. package/dist/update-PJ6GMMIK.mjs.map +0 -1
  1202. package/dist/update-Q4EILOZH.js +0 -63
  1203. package/dist/update-Q4EILOZH.js.map +0 -1
  1204. package/dist/update-TGHJJWK2.js +0 -64
  1205. package/dist/update-TGHJJWK2.js.map +0 -1
  1206. package/dist/update-TSZCZ6GG.js +0 -70
  1207. package/dist/update-TSZCZ6GG.js.map +0 -1
  1208. package/dist/update-UF2PKCDF.mjs +0 -50
  1209. package/dist/update-UF2PKCDF.mjs.map +0 -1
  1210. package/dist/update-UJK2KJQ7.mjs +0 -63
  1211. package/dist/update-UJK2KJQ7.mjs.map +0 -1
  1212. package/dist/update-VJ63FBSK.mjs +0 -70
  1213. package/dist/update-VJ63FBSK.mjs.map +0 -1
  1214. package/dist/update-Y57DU2FM.js +0 -47
  1215. package/dist/update-Y57DU2FM.js.map +0 -1
  1216. package/dist/upload-DNND4YCX.mjs +0 -79
  1217. package/dist/upload-DNND4YCX.mjs.map +0 -1
  1218. package/dist/upload-GDNQ73DG.js +0 -79
  1219. package/dist/upload-GDNQ73DG.js.map +0 -1
  1220. package/dist/versions-3JBLJ4Z6.js +0 -84
  1221. package/dist/versions-3JBLJ4Z6.js.map +0 -1
  1222. package/dist/versions-ACMLZ6NH.mjs +0 -84
  1223. package/dist/versions-ACMLZ6NH.mjs.map +0 -1
  1224. /package/dist/{chunk-HOCJHR2V.mjs.map → chunk-2FCA2CRB.mjs.map} +0 -0
  1225. /package/dist/{chunk-4MC6XHOO.mjs.map → chunk-7BS33JNZ.mjs.map} +0 -0
  1226. /package/dist/{chunk-XTPCKWRP.mjs.map → chunk-ALG4K7WV.mjs.map} +0 -0
  1227. /package/dist/{chunk-QRZRCNVZ.mjs.map → chunk-BLLBUKUY.mjs.map} +0 -0
  1228. /package/dist/{chunk-7ID3HNYT.mjs.map → chunk-C6KCPPDE.mjs.map} +0 -0
  1229. /package/dist/{chunk-UZKNXXT3.mjs.map → chunk-CBKUU3DP.mjs.map} +0 -0
  1230. /package/dist/{chunk-JDZ7NF37.mjs.map → chunk-FFTW6SV4.mjs.map} +0 -0
  1231. /package/dist/{chunk-OKR32MOP.mjs.map → chunk-FJHSBSAP.mjs.map} +0 -0
  1232. /package/dist/{chunk-HMZMYISG.mjs.map → chunk-IGRJP4RX.mjs.map} +0 -0
  1233. /package/dist/{chunk-RLMQSAZ2.mjs.map → chunk-KDX56WS2.mjs.map} +0 -0
  1234. /package/dist/{chunk-4AT4WT56.mjs.map → chunk-MSGYVS7X.mjs.map} +0 -0
  1235. /package/dist/{chunk-KFD6UFSX.mjs.map → chunk-NJICHVPX.mjs.map} +0 -0
  1236. /package/dist/{chunk-OD44MSQ6.mjs.map → chunk-NTUIOWUM.mjs.map} +0 -0
  1237. /package/dist/{chunk-E2A2D7EJ.mjs.map → chunk-NZT2VUX5.mjs.map} +0 -0
  1238. /package/dist/{chunk-SS3HBBBO.mjs.map → chunk-P27JS2XK.mjs.map} +0 -0
  1239. /package/dist/{chunk-IN7Z7SU2.mjs.map → chunk-QH6442NY.mjs.map} +0 -0
  1240. /package/dist/{chunk-5KMOKGPC.mjs.map → chunk-SFWGJNWG.mjs.map} +0 -0
  1241. /package/dist/{chunk-SZ2OS7K7.mjs.map → chunk-T6LELB2A.mjs.map} +0 -0
  1242. /package/dist/{chunk-6EPCICL7.mjs.map → chunk-VTHIHR22.mjs.map} +0 -0
  1243. /package/dist/{chunk-D53G2KXD.mjs.map → chunk-WDGR54P5.mjs.map} +0 -0
  1244. /package/dist/{chunk-NTJJVSJR.mjs.map → chunk-YG3K5XBQ.mjs.map} +0 -0
  1245. /package/dist/{chunk-ROXQ72RE.mjs.map → chunk-ZRCDO3D5.mjs.map} +0 -0
  1246. /package/dist/{chunk-L2ZVDINF.mjs.map → chunk-ZWCPSY4D.mjs.map} +0 -0
  1247. /package/dist/{create-YWCBEGUP.mjs.map → create-XWVUSGYK.mjs.map} +0 -0
  1248. /package/dist/{pull-D7OCRPTJ.mjs.map → pull-6TWIHJTL.mjs.map} +0 -0
  1249. /package/dist/{push-V2JOPVQ5.mjs.map → push-CPZFOM5M.mjs.map} +0 -0
  1250. /package/dist/{remove-YQPCKQUV.mjs.map → remove-KSZO5PJ3.mjs.map} +0 -0
@@ -0,0 +1,78 @@
1
+ import {
2
+ createDatasetService,
3
+ handleDatasetCommandError
4
+ } from "./chunk-T46Y7B2D.mjs";
5
+ import "./chunk-QH6442NY.mjs";
6
+ import {
7
+ formatRelativeTime,
8
+ formatTable
9
+ } from "./chunk-DTEKJ3UD.mjs";
10
+ import {
11
+ checkApiKey
12
+ } from "./chunk-BAT3CBL7.mjs";
13
+ import "./chunk-F4UXJDGZ.mjs";
14
+ import "./chunk-VW3GTPRE.mjs";
15
+ import "./chunk-FG3JQBJB.mjs";
16
+ import "./chunk-Q7AHHFC3.mjs";
17
+ import "./chunk-FJHSBSAP.mjs";
18
+ import "./chunk-SDUILEFR.mjs";
19
+ import "./chunk-SIXSSID3.mjs";
20
+ import "./chunk-WKK33HHX.mjs";
21
+ import "./chunk-GVFRS2UN.mjs";
22
+ import "./chunk-J3KM7ZO7.mjs";
23
+ import "./chunk-BAX4W3AY.mjs";
24
+
25
+ // src/cli/commands/dataset/list.ts
26
+ import chalk from "chalk";
27
+ import ora from "ora";
28
+ var listCommand = async (options) => {
29
+ checkApiKey();
30
+ const service = createDatasetService();
31
+ const spinner = ora("Fetching datasets...").start();
32
+ try {
33
+ const result = await service.listDatasets();
34
+ const { data: datasets, pagination } = result;
35
+ spinner.succeed(
36
+ `Found ${pagination.total} dataset${pagination.total !== 1 ? "s" : ""}`
37
+ );
38
+ if ((options == null ? void 0 : options.format) === "json") {
39
+ console.log(JSON.stringify({ data: datasets, pagination }, null, 2));
40
+ return;
41
+ }
42
+ if (datasets.length === 0) {
43
+ console.log();
44
+ console.log(chalk.gray("No datasets found."));
45
+ console.log(chalk.gray("Create your first dataset with:"));
46
+ console.log(
47
+ chalk.cyan(' langwatch dataset create "My Dataset" --columns input:string,output:string')
48
+ );
49
+ return;
50
+ }
51
+ console.log();
52
+ const tableData = datasets.map((ds) => ({
53
+ Name: ds.name,
54
+ Slug: ds.slug,
55
+ Records: String(ds.recordCount),
56
+ Updated: ds.updatedAt ? formatRelativeTime(ds.updatedAt) : "N/A"
57
+ }));
58
+ formatTable({
59
+ data: tableData,
60
+ headers: ["Name", "Slug", "Records", "Updated"],
61
+ colorMap: { Name: chalk.cyan }
62
+ });
63
+ if (pagination.totalPages > 1) {
64
+ console.log();
65
+ console.log(
66
+ chalk.gray(
67
+ `Showing page ${pagination.page} of ${pagination.totalPages} (${pagination.total} total)`
68
+ )
69
+ );
70
+ }
71
+ } catch (error) {
72
+ handleDatasetCommandError({ spinner, error, context: "list datasets" });
73
+ }
74
+ };
75
+ export {
76
+ listCommand
77
+ };
78
+ //# sourceMappingURL=list-Y65ONFMR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/dataset/list.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport ora from \"ora\";\nimport { checkApiKey } from \"../../utils/apiKey\";\nimport { formatTable, formatRelativeTime } from \"../../utils/formatting\";\nimport { createDatasetService } from \"./service-factory\";\nimport { handleDatasetCommandError } from \"./error-handler\";\n\n/**\n * Lists all datasets for the current project.\n * Displays a table with name, slug, record count, and last updated.\n */\nexport const listCommand = async (options?: { format?: string }): Promise<void> => {\n checkApiKey();\n\n const service = createDatasetService();\n const spinner = ora(\"Fetching datasets...\").start();\n\n try {\n const result = await service.listDatasets();\n const { data: datasets, pagination } = result;\n\n spinner.succeed(\n `Found ${pagination.total} dataset${pagination.total !== 1 ? \"s\" : \"\"}`,\n );\n\n if (options?.format === \"json\") {\n console.log(JSON.stringify({ data: datasets, pagination }, null, 2));\n return;\n }\n\n if (datasets.length === 0) {\n console.log();\n console.log(chalk.gray(\"No datasets found.\"));\n console.log(chalk.gray(\"Create your first dataset with:\"));\n console.log(\n chalk.cyan(' langwatch dataset create \"My Dataset\" --columns input:string,output:string'),\n );\n return;\n }\n\n console.log();\n\n const tableData = datasets.map((ds) => ({\n Name: ds.name,\n Slug: ds.slug,\n Records: String(ds.recordCount),\n Updated: ds.updatedAt ? formatRelativeTime(ds.updatedAt) : \"N/A\",\n }));\n\n formatTable({\n data: tableData,\n headers: [\"Name\", \"Slug\", \"Records\", \"Updated\"],\n colorMap: { Name: chalk.cyan },\n });\n\n if (pagination.totalPages > 1) {\n console.log();\n console.log(\n chalk.gray(\n `Showing page ${pagination.page} of ${pagination.totalPages} (${pagination.total} total)`,\n ),\n );\n }\n } catch (error) {\n handleDatasetCommandError({ spinner, error, context: \"list datasets\" });\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAUT,IAAM,cAAc,OAAO,YAAiD;AACjF,cAAY;AAEZ,QAAM,UAAU,qBAAqB;AACrC,QAAM,UAAU,IAAI,sBAAsB,EAAE,MAAM;AAElD,MAAI;AACF,UAAM,SAAS,MAAM,QAAQ,aAAa;AAC1C,UAAM,EAAE,MAAM,UAAU,WAAW,IAAI;AAEvC,YAAQ;AAAA,MACN,SAAS,WAAW,KAAK,WAAW,WAAW,UAAU,IAAI,MAAM,EAAE;AAAA,IACvE;AAEA,SAAI,mCAAS,YAAW,QAAQ;AAC9B,cAAQ,IAAI,KAAK,UAAU,EAAE,MAAM,UAAU,WAAW,GAAG,MAAM,CAAC,CAAC;AACnE;AAAA,IACF;AAEA,QAAI,SAAS,WAAW,GAAG;AACzB,cAAQ,IAAI;AACZ,cAAQ,IAAI,MAAM,KAAK,oBAAoB,CAAC;AAC5C,cAAQ,IAAI,MAAM,KAAK,iCAAiC,CAAC;AACzD,cAAQ;AAAA,QACN,MAAM,KAAK,8EAA8E;AAAA,MAC3F;AACA;AAAA,IACF;AAEA,YAAQ,IAAI;AAEZ,UAAM,YAAY,SAAS,IAAI,CAAC,QAAQ;AAAA,MACtC,MAAM,GAAG;AAAA,MACT,MAAM,GAAG;AAAA,MACT,SAAS,OAAO,GAAG,WAAW;AAAA,MAC9B,SAAS,GAAG,YAAY,mBAAmB,GAAG,SAAS,IAAI;AAAA,IAC7D,EAAE;AAEF,gBAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,CAAC,QAAQ,QAAQ,WAAW,SAAS;AAAA,MAC9C,UAAU,EAAE,MAAM,MAAM,KAAK;AAAA,IAC/B,CAAC;AAED,QAAI,WAAW,aAAa,GAAG;AAC7B,cAAQ,IAAI;AACZ,cAAQ;AAAA,QACN,MAAM;AAAA,UACJ,gBAAgB,WAAW,IAAI,OAAO,WAAW,UAAU,KAAK,WAAW,KAAK;AAAA,QAClF;AAAA,MACF;AAAA,IACF;AAAA,EACF,SAAS,OAAO;AACd,8BAA0B,EAAE,SAAS,OAAO,SAAS,gBAAgB,CAAC;AAAA,EACxE;AACF;","names":[]}
@@ -0,0 +1,231 @@
1
+ import {
2
+ runDeviceFlowLogin,
3
+ runUnifiedLoginFlow
4
+ } from "./chunk-6MVAXO5A.mjs";
5
+ import "./chunk-3CPA262Z.mjs";
6
+ import "./chunk-7KTDTNXT.mjs";
7
+ import {
8
+ loadConfig,
9
+ saveConfig
10
+ } from "./chunk-VW3GTPRE.mjs";
11
+ import {
12
+ formatApiErrorMessage
13
+ } from "./chunk-J3KM7ZO7.mjs";
14
+ import "./chunk-BAX4W3AY.mjs";
15
+
16
+ // src/cli/commands/login.ts
17
+ import * as fs from "fs";
18
+ import * as path from "path";
19
+ import chalk from "chalk";
20
+ import prompts from "prompts";
21
+ function printAgentHintBanner() {
22
+ console.log(
23
+ chalk.gray(
24
+ "Running interactively. To skip these prompts (CI / agents that already have a credential):"
25
+ )
26
+ );
27
+ console.log(
28
+ chalk.gray(
29
+ " --device AI tools / SSO (browser approval, no paste)"
30
+ )
31
+ );
32
+ console.log(
33
+ chalk.gray(
34
+ " --api-key <KEY> project SDK key (writes .env)"
35
+ )
36
+ );
37
+ console.log(
38
+ chalk.gray(
39
+ " --token <TOKEN> pre-minted device session (writes ~/.langwatch/config.json)"
40
+ )
41
+ );
42
+ console.log(
43
+ chalk.gray(
44
+ " --endpoint <URL> self-hosted instance URL"
45
+ )
46
+ );
47
+ console.log();
48
+ }
49
+ var updateEnvFile = (apiKey) => {
50
+ const envPath = path.join(process.cwd(), ".env");
51
+ if (!fs.existsSync(envPath)) {
52
+ fs.writeFileSync(envPath, `LANGWATCH_API_KEY=${apiKey}
53
+ `);
54
+ return { created: true, updated: false, path: envPath };
55
+ }
56
+ const content = fs.readFileSync(envPath, "utf-8");
57
+ const lines = content.split("\n");
58
+ let found = false;
59
+ const updatedLines = lines.map((line) => {
60
+ if (line.startsWith("LANGWATCH_API_KEY=")) {
61
+ found = true;
62
+ return `LANGWATCH_API_KEY=${apiKey}`;
63
+ }
64
+ return line;
65
+ });
66
+ if (!found) {
67
+ if (content.endsWith("\n") || content === "") {
68
+ updatedLines.push(`LANGWATCH_API_KEY=${apiKey}`);
69
+ } else {
70
+ updatedLines.push("", `LANGWATCH_API_KEY=${apiKey}`);
71
+ }
72
+ }
73
+ fs.writeFileSync(envPath, updatedLines.join("\n"));
74
+ return { created: false, updated: found, path: envPath };
75
+ };
76
+ var loginCommand = async (options) => {
77
+ var _a, _b;
78
+ try {
79
+ const endpointFromEnv = (_a = process.env.LANGWATCH_ENDPOINT) == null ? void 0 : _a.trim();
80
+ const presetEndpoint = (_b = options == null ? void 0 : options.endpoint) != null ? _b : endpointFromEnv;
81
+ if (presetEndpoint) {
82
+ const trimmed = presetEndpoint.replace(/\/+$/, "");
83
+ const cfg = loadConfig();
84
+ cfg.control_plane_url = trimmed;
85
+ saveConfig(cfg);
86
+ }
87
+ if (options == null ? void 0 : options.token) {
88
+ const token = options.token.trim();
89
+ if (token.length < 10) {
90
+ console.error(chalk.red("Error: token seems too short. Please check and try again."));
91
+ process.exit(1);
92
+ }
93
+ const cfg = loadConfig();
94
+ cfg.access_token = token;
95
+ saveConfig(cfg);
96
+ console.log(chalk.green("\u2713 device-session token saved"));
97
+ console.log(chalk.gray(" ~/.langwatch/config.json"));
98
+ return;
99
+ }
100
+ if (options == null ? void 0 : options.device) {
101
+ await runDeviceFlowLogin({ browser: options.browser });
102
+ return;
103
+ }
104
+ if (options == null ? void 0 : options.apiKey) {
105
+ const apiKey = options.apiKey.trim();
106
+ if (apiKey.length < 10) {
107
+ console.error(chalk.red("Error: API key seems too short. Please check and try again."));
108
+ process.exit(1);
109
+ }
110
+ const envResult = updateEnvFile(apiKey);
111
+ console.log(chalk.green("API key saved successfully."));
112
+ if (envResult.created) {
113
+ console.log(chalk.gray(`Created .env file at ${envResult.path}`));
114
+ } else if (envResult.updated) {
115
+ console.log(chalk.gray(`Updated existing API key in ${envResult.path}`));
116
+ } else {
117
+ console.log(chalk.gray(`Added API key to ${envResult.path}`));
118
+ }
119
+ return;
120
+ }
121
+ if (!process.stdin.isTTY) {
122
+ console.error(
123
+ chalk.red(
124
+ "Error: cannot run interactive `langwatch login` in a non-TTY context."
125
+ )
126
+ );
127
+ console.error(chalk.gray("Run one of:"));
128
+ console.error(chalk.gray(" langwatch login --device # AI tools / SSO (recommended)"));
129
+ console.error(chalk.gray(" langwatch login --api-key <KEY> # project SDK key (writes .env)"));
130
+ console.error(chalk.gray(" langwatch login --token <TOKEN> # pre-minted device session"));
131
+ console.error(chalk.gray(" LANGWATCH_AUTO_LOGIN=1 langwatch <cmd> # let the wrapper trigger device flow"));
132
+ process.exit(1);
133
+ }
134
+ printAgentHintBanner();
135
+ console.log(chalk.blue("\u{1F510} LangWatch Login"));
136
+ console.log();
137
+ if (!(options == null ? void 0 : options.endpoint)) {
138
+ const where = await prompts({
139
+ type: "select",
140
+ name: "where",
141
+ message: "Where do you want to log in?",
142
+ choices: [
143
+ {
144
+ title: "LangWatch Cloud",
145
+ description: "app.langwatch.ai (default)",
146
+ value: "cloud"
147
+ },
148
+ {
149
+ title: "Self-hosted instance",
150
+ description: "Custom URL \u2014 your company's LangWatch deployment",
151
+ value: "self-hosted"
152
+ }
153
+ ],
154
+ initial: 0
155
+ });
156
+ if (where.where === "self-hosted") {
157
+ const url = await prompts({
158
+ type: "text",
159
+ name: "url",
160
+ message: "Self-hosted LangWatch URL (e.g. https://lw.acme.internal):",
161
+ validate: (v) => {
162
+ try {
163
+ const parsed = new URL(v);
164
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
165
+ return "URL must start with http(s)://";
166
+ }
167
+ return true;
168
+ } catch (e) {
169
+ return "URL must be absolute (https://...)";
170
+ }
171
+ }
172
+ });
173
+ if (!url.url) {
174
+ console.log(chalk.yellow("Login cancelled"));
175
+ process.exit(0);
176
+ }
177
+ const cfg = loadConfig();
178
+ cfg.control_plane_url = url.url.replace(/\/+$/, "");
179
+ saveConfig(cfg);
180
+ }
181
+ }
182
+ const mode = await prompts({
183
+ type: "select",
184
+ name: "mode",
185
+ message: "How do you want to use LangWatch?",
186
+ choices: [
187
+ {
188
+ title: "AI tools / agentic flows",
189
+ description: "claude, codex, cursor, gemini, opencode \u2014 device-flow SSO",
190
+ value: "device"
191
+ },
192
+ {
193
+ title: "Project / SDK API key",
194
+ description: "langwatch sync, langwatch eval, SDK auto-instrumentation",
195
+ value: "api-key"
196
+ },
197
+ {
198
+ title: "Both",
199
+ description: "Run both flows in sequence",
200
+ value: "both"
201
+ }
202
+ ],
203
+ initial: 0
204
+ });
205
+ if (!mode.mode) {
206
+ console.log(chalk.yellow("Login cancelled"));
207
+ process.exit(0);
208
+ }
209
+ if (mode.mode === "device" || mode.mode === "both") {
210
+ await runDeviceFlowLogin({ browser: options == null ? void 0 : options.browser });
211
+ }
212
+ if (mode.mode === "api-key" || mode.mode === "both") {
213
+ await runUnifiedLoginFlow({
214
+ kind: "project_api_key",
215
+ browser: options == null ? void 0 : options.browser
216
+ });
217
+ }
218
+ return;
219
+ } catch (error) {
220
+ console.error(
221
+ chalk.red(
222
+ `Error during login: ${formatApiErrorMessage({ error })}`
223
+ )
224
+ );
225
+ process.exit(1);
226
+ }
227
+ };
228
+ export {
229
+ loginCommand
230
+ };
231
+ //# sourceMappingURL=login-VS2QKX4F.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/login.ts"],"sourcesContent":["import * as fs from \"fs\";\nimport * as path from \"path\";\nimport chalk from \"chalk\";\nimport prompts from \"prompts\";\nimport { formatApiErrorMessage } from \"@/client-sdk/services/_shared/format-api-error\";\nimport {\n runDeviceFlowLogin,\n runUnifiedLoginFlow,\n} from \"@/cli/utils/governance/login-flow\";\nimport {\n loadConfig,\n saveConfig,\n} from \"@/cli/utils/governance/config\";\n\n/**\n * Always-on agent-hint banner shown above the interactive prompts on\n * `langwatch login` (no flags). Some agent harnesses fake a TTY but can't\n * actually answer prompts — this banner names the escape-hatch flags so\n * the agent (or the human staring at the stuck prompt) can re-invoke\n * with the right flag and proceed.\n *\n * Spec: specs/ai-governance/cli-onboarding/login-unified.feature\n */\nfunction printAgentHintBanner(): void {\n console.log(\n chalk.gray(\n \"Running interactively. To skip these prompts (CI / agents that already have a credential):\",\n ),\n );\n console.log(\n chalk.gray(\n \" --device AI tools / SSO (browser approval, no paste)\",\n ),\n );\n console.log(\n chalk.gray(\n \" --api-key <KEY> project SDK key (writes .env)\",\n ),\n );\n console.log(\n chalk.gray(\n \" --token <TOKEN> pre-minted device session (writes ~/.langwatch/config.json)\",\n ),\n );\n console.log(\n chalk.gray(\n \" --endpoint <URL> self-hosted instance URL\",\n ),\n );\n console.log();\n}\n\nconst updateEnvFile = (\n apiKey: string,\n): { created: boolean; updated: boolean; path: string } => {\n const envPath = path.join(process.cwd(), \".env\");\n\n // Check if .env exists\n if (!fs.existsSync(envPath)) {\n // Create new .env file\n fs.writeFileSync(envPath, `LANGWATCH_API_KEY=${apiKey}\\n`);\n return { created: true, updated: false, path: envPath };\n }\n\n // Read existing .env file\n const content = fs.readFileSync(envPath, \"utf-8\");\n const lines = content.split(\"\\n\");\n\n // Check if LANGWATCH_API_KEY already exists and update it\n let found = false;\n const updatedLines = lines.map((line) => {\n if (line.startsWith(\"LANGWATCH_API_KEY=\")) {\n found = true;\n return `LANGWATCH_API_KEY=${apiKey}`;\n }\n return line;\n });\n\n if (!found) {\n // Add to end of file\n if (content.endsWith(\"\\n\") || content === \"\") {\n updatedLines.push(`LANGWATCH_API_KEY=${apiKey}`);\n } else {\n updatedLines.push(\"\", `LANGWATCH_API_KEY=${apiKey}`);\n }\n }\n\n fs.writeFileSync(envPath, updatedLines.join(\"\\n\"));\n return { created: false, updated: found, path: envPath };\n};\n\nexport const loginCommand = async (\n options?: {\n apiKey?: string;\n device?: boolean;\n browser?: string;\n endpoint?: string;\n token?: string;\n },\n): Promise<void> => {\n try {\n // Honor `--endpoint` flag OR `LANGWATCH_ENDPOINT` env. Persist the\n // resolved value BEFORE the chosen flow runs so subsequent reads\n // (in the device flow, the API-key flow, any sub-command spawned\n // later) see the right control-plane URL. The 4-source resolver\n // (flag > env > config > default) honors this value via the\n // persisted-config layer for any flow that doesn't explicitly take\n // a flag. The env var has the same precedence as the flag for the\n // login flow itself so users running `LANGWATCH_ENDPOINT=... langwatch\n // login` skip the cloud/self-hosted picker.\n const endpointFromEnv = process.env.LANGWATCH_ENDPOINT?.trim();\n const presetEndpoint = options?.endpoint ?? endpointFromEnv;\n if (presetEndpoint) {\n const trimmed = presetEndpoint.replace(/\\/+$/, \"\");\n const cfg = loadConfig();\n cfg.control_plane_url = trimmed;\n saveConfig(cfg);\n }\n\n // --token: pre-minted device-session escape hatch (CI / agent contexts\n // where the token was minted via the dashboard 'Personal Access Tokens'\n // surface). No browser, no prompts — just persist the token so\n // subsequent `langwatch claude/codex/...` invocations can use it.\n if (options?.token) {\n const token = options.token.trim();\n if (token.length < 10) {\n console.error(chalk.red(\"Error: token seems too short. Please check and try again.\"));\n process.exit(1);\n }\n const cfg = loadConfig();\n cfg.access_token = token;\n // No refresh_token / expires_at — that's the trade-off of bypassing\n // the device flow. The wrapper auto-login will mint a real session\n // if this token expires, since loadConfig+isLoggedIn only checks\n // access_token presence.\n saveConfig(cfg);\n console.log(chalk.green(\"✓ device-session token saved\"));\n console.log(chalk.gray(\" ~/.langwatch/config.json\"));\n return;\n }\n\n // Device-flow mode: SSO via the control plane's RFC 8628 endpoints,\n // mints a personal virtual key bound to the user. This is the\n // governance-plane onboarding for enterprise users, distinct from the\n // single-user API-key flow below.\n if (options?.device) {\n await runDeviceFlowLogin({ browser: options.browser });\n return;\n }\n\n // Non-interactive mode: --api-key flag provided\n if (options?.apiKey) {\n const apiKey = options.apiKey.trim();\n if (apiKey.length < 10) {\n console.error(chalk.red(\"Error: API key seems too short. Please check and try again.\"));\n process.exit(1);\n }\n\n const envResult = updateEnvFile(apiKey);\n console.log(chalk.green(\"API key saved successfully.\"));\n if (envResult.created) {\n console.log(chalk.gray(`Created .env file at ${envResult.path}`));\n } else if (envResult.updated) {\n console.log(chalk.gray(`Updated existing API key in ${envResult.path}`));\n } else {\n console.log(chalk.gray(`Added API key to ${envResult.path}`));\n }\n return;\n }\n\n // Interactive mode (no flags). Refuse on non-TTY contexts with an\n // actionable hint pointing at the escape-hatch flags — agents and CI\n // pipelines should pass the right flag rather than getting stuck on a\n // hidden interactive prompt.\n if (!process.stdin.isTTY) {\n console.error(\n chalk.red(\n \"Error: cannot run interactive `langwatch login` in a non-TTY context.\",\n ),\n );\n console.error(chalk.gray(\"Run one of:\"));\n console.error(chalk.gray(\" langwatch login --device # AI tools / SSO (recommended)\"));\n console.error(chalk.gray(\" langwatch login --api-key <KEY> # project SDK key (writes .env)\"));\n console.error(chalk.gray(\" langwatch login --token <TOKEN> # pre-minted device session\"));\n console.error(chalk.gray(\" LANGWATCH_AUTO_LOGIN=1 langwatch <cmd> # let the wrapper trigger device flow\"));\n process.exit(1);\n }\n\n // Always-on agent-hint banner — fake-TTY agents see this BEFORE the\n // prompt block so they (or the human watching) can re-invoke with the\n // right flag instead of staring at a stuck prompt.\n printAgentHintBanner();\n\n console.log(chalk.blue(\"🔐 LangWatch Login\"));\n console.log();\n\n // Q1 — endpoint (cloud vs self-hosted). Skipped if --endpoint was\n // passed (already persisted above). On 'self-hosted' the entered\n // URL is persisted to ~/.langwatch/config.json so subsequent\n // `runUnifiedLoginFlow` calls (and every CLI command's resolver\n // read) target the right host.\n if (!options?.endpoint) {\n const where = await prompts({\n type: \"select\",\n name: \"where\",\n message: \"Where do you want to log in?\",\n choices: [\n {\n title: \"LangWatch Cloud\",\n description: \"app.langwatch.ai (default)\",\n value: \"cloud\",\n },\n {\n title: \"Self-hosted instance\",\n description: \"Custom URL — your company's LangWatch deployment\",\n value: \"self-hosted\",\n },\n ],\n initial: 0,\n });\n if (where.where === \"self-hosted\") {\n const url = await prompts({\n type: \"text\",\n name: \"url\",\n message: \"Self-hosted LangWatch URL (e.g. https://lw.acme.internal):\",\n validate: (v: string) => {\n try {\n const parsed = new URL(v);\n if (parsed.protocol !== \"http:\" && parsed.protocol !== \"https:\") {\n return \"URL must start with http(s)://\";\n }\n return true;\n } catch {\n return \"URL must be absolute (https://...)\";\n }\n },\n });\n if (!url.url) {\n console.log(chalk.yellow(\"Login cancelled\"));\n process.exit(0);\n }\n const cfg = loadConfig();\n cfg.control_plane_url = (url.url as string).replace(/\\/+$/, \"\");\n saveConfig(cfg);\n }\n }\n\n // Q2 — auth mode (AI tools = device-flow vs Project SDK = API key)\n const mode = await prompts({\n type: \"select\",\n name: \"mode\",\n message: \"How do you want to use LangWatch?\",\n choices: [\n {\n title: \"AI tools / agentic flows\",\n description: \"claude, codex, cursor, gemini, opencode — device-flow SSO\",\n value: \"device\",\n },\n {\n title: \"Project / SDK API key\",\n description: \"langwatch sync, langwatch eval, SDK auto-instrumentation\",\n value: \"api-key\",\n },\n {\n title: \"Both\",\n description: \"Run both flows in sequence\",\n value: \"both\",\n },\n ],\n initial: 0,\n });\n if (!mode.mode) {\n console.log(chalk.yellow(\"Login cancelled\"));\n process.exit(0);\n }\n\n if (mode.mode === \"device\" || mode.mode === \"both\") {\n await runDeviceFlowLogin({ browser: options?.browser });\n }\n if (mode.mode === \"api-key\" || mode.mode === \"both\") {\n // No-paste convergence (sergey f9fcc3927 + alexis bfef4ebab):\n // /authorize page shows a project-picker + 'Generate API key'\n // button; the freshly-minted key flows back to the CLI over the\n // same RFC 8628 poll endpoint as the device-session flow. No\n // copy-paste of the credential ever.\n await runUnifiedLoginFlow({\n kind: \"project_api_key\",\n browser: options?.browser,\n });\n }\n return;\n } catch (error) {\n console.error(\n chalk.red(\n `Error during login: ${\n formatApiErrorMessage({ error })\n }`,\n ),\n );\n process.exit(1);\n }\n};\n\n\n"],"mappings":"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","names":[]}
@@ -0,0 +1,231 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+
4
+ var _chunkA7T4DZKCjs = require('./chunk-A7T4DZKC.js');
5
+ require('./chunk-S4JKLESF.js');
6
+ require('./chunk-5B7IKUNG.js');
7
+
8
+
9
+
10
+ var _chunkIBUFY5TJjs = require('./chunk-IBUFY5TJ.js');
11
+
12
+
13
+ var _chunkC5Y772G7js = require('./chunk-C5Y772G7.js');
14
+ require('./chunk-BRPEG3YQ.js');
15
+
16
+ // src/cli/commands/login.ts
17
+ var _fs = require('fs'); var fs = _interopRequireWildcard(_fs);
18
+ var _path = require('path'); var path = _interopRequireWildcard(_path);
19
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
20
+ var _prompts = require('prompts'); var _prompts2 = _interopRequireDefault(_prompts);
21
+ function printAgentHintBanner() {
22
+ console.log(
23
+ _chalk2.default.gray(
24
+ "Running interactively. To skip these prompts (CI / agents that already have a credential):"
25
+ )
26
+ );
27
+ console.log(
28
+ _chalk2.default.gray(
29
+ " --device AI tools / SSO (browser approval, no paste)"
30
+ )
31
+ );
32
+ console.log(
33
+ _chalk2.default.gray(
34
+ " --api-key <KEY> project SDK key (writes .env)"
35
+ )
36
+ );
37
+ console.log(
38
+ _chalk2.default.gray(
39
+ " --token <TOKEN> pre-minted device session (writes ~/.langwatch/config.json)"
40
+ )
41
+ );
42
+ console.log(
43
+ _chalk2.default.gray(
44
+ " --endpoint <URL> self-hosted instance URL"
45
+ )
46
+ );
47
+ console.log();
48
+ }
49
+ var updateEnvFile = (apiKey) => {
50
+ const envPath = path.join(process.cwd(), ".env");
51
+ if (!fs.existsSync(envPath)) {
52
+ fs.writeFileSync(envPath, `LANGWATCH_API_KEY=${apiKey}
53
+ `);
54
+ return { created: true, updated: false, path: envPath };
55
+ }
56
+ const content = fs.readFileSync(envPath, "utf-8");
57
+ const lines = content.split("\n");
58
+ let found = false;
59
+ const updatedLines = lines.map((line) => {
60
+ if (line.startsWith("LANGWATCH_API_KEY=")) {
61
+ found = true;
62
+ return `LANGWATCH_API_KEY=${apiKey}`;
63
+ }
64
+ return line;
65
+ });
66
+ if (!found) {
67
+ if (content.endsWith("\n") || content === "") {
68
+ updatedLines.push(`LANGWATCH_API_KEY=${apiKey}`);
69
+ } else {
70
+ updatedLines.push("", `LANGWATCH_API_KEY=${apiKey}`);
71
+ }
72
+ }
73
+ fs.writeFileSync(envPath, updatedLines.join("\n"));
74
+ return { created: false, updated: found, path: envPath };
75
+ };
76
+ var loginCommand = async (options) => {
77
+ var _a, _b;
78
+ try {
79
+ const endpointFromEnv = (_a = process.env.LANGWATCH_ENDPOINT) == null ? void 0 : _a.trim();
80
+ const presetEndpoint = (_b = options == null ? void 0 : options.endpoint) != null ? _b : endpointFromEnv;
81
+ if (presetEndpoint) {
82
+ const trimmed = presetEndpoint.replace(/\/+$/, "");
83
+ const cfg = _chunkIBUFY5TJjs.loadConfig.call(void 0, );
84
+ cfg.control_plane_url = trimmed;
85
+ _chunkIBUFY5TJjs.saveConfig.call(void 0, cfg);
86
+ }
87
+ if (options == null ? void 0 : options.token) {
88
+ const token = options.token.trim();
89
+ if (token.length < 10) {
90
+ console.error(_chalk2.default.red("Error: token seems too short. Please check and try again."));
91
+ process.exit(1);
92
+ }
93
+ const cfg = _chunkIBUFY5TJjs.loadConfig.call(void 0, );
94
+ cfg.access_token = token;
95
+ _chunkIBUFY5TJjs.saveConfig.call(void 0, cfg);
96
+ console.log(_chalk2.default.green("\u2713 device-session token saved"));
97
+ console.log(_chalk2.default.gray(" ~/.langwatch/config.json"));
98
+ return;
99
+ }
100
+ if (options == null ? void 0 : options.device) {
101
+ await _chunkA7T4DZKCjs.runDeviceFlowLogin.call(void 0, { browser: options.browser });
102
+ return;
103
+ }
104
+ if (options == null ? void 0 : options.apiKey) {
105
+ const apiKey = options.apiKey.trim();
106
+ if (apiKey.length < 10) {
107
+ console.error(_chalk2.default.red("Error: API key seems too short. Please check and try again."));
108
+ process.exit(1);
109
+ }
110
+ const envResult = updateEnvFile(apiKey);
111
+ console.log(_chalk2.default.green("API key saved successfully."));
112
+ if (envResult.created) {
113
+ console.log(_chalk2.default.gray(`Created .env file at ${envResult.path}`));
114
+ } else if (envResult.updated) {
115
+ console.log(_chalk2.default.gray(`Updated existing API key in ${envResult.path}`));
116
+ } else {
117
+ console.log(_chalk2.default.gray(`Added API key to ${envResult.path}`));
118
+ }
119
+ return;
120
+ }
121
+ if (!process.stdin.isTTY) {
122
+ console.error(
123
+ _chalk2.default.red(
124
+ "Error: cannot run interactive `langwatch login` in a non-TTY context."
125
+ )
126
+ );
127
+ console.error(_chalk2.default.gray("Run one of:"));
128
+ console.error(_chalk2.default.gray(" langwatch login --device # AI tools / SSO (recommended)"));
129
+ console.error(_chalk2.default.gray(" langwatch login --api-key <KEY> # project SDK key (writes .env)"));
130
+ console.error(_chalk2.default.gray(" langwatch login --token <TOKEN> # pre-minted device session"));
131
+ console.error(_chalk2.default.gray(" LANGWATCH_AUTO_LOGIN=1 langwatch <cmd> # let the wrapper trigger device flow"));
132
+ process.exit(1);
133
+ }
134
+ printAgentHintBanner();
135
+ console.log(_chalk2.default.blue("\u{1F510} LangWatch Login"));
136
+ console.log();
137
+ if (!(options == null ? void 0 : options.endpoint)) {
138
+ const where = await _prompts2.default.call(void 0, {
139
+ type: "select",
140
+ name: "where",
141
+ message: "Where do you want to log in?",
142
+ choices: [
143
+ {
144
+ title: "LangWatch Cloud",
145
+ description: "app.langwatch.ai (default)",
146
+ value: "cloud"
147
+ },
148
+ {
149
+ title: "Self-hosted instance",
150
+ description: "Custom URL \u2014 your company's LangWatch deployment",
151
+ value: "self-hosted"
152
+ }
153
+ ],
154
+ initial: 0
155
+ });
156
+ if (where.where === "self-hosted") {
157
+ const url = await _prompts2.default.call(void 0, {
158
+ type: "text",
159
+ name: "url",
160
+ message: "Self-hosted LangWatch URL (e.g. https://lw.acme.internal):",
161
+ validate: (v) => {
162
+ try {
163
+ const parsed = new URL(v);
164
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
165
+ return "URL must start with http(s)://";
166
+ }
167
+ return true;
168
+ } catch (e) {
169
+ return "URL must be absolute (https://...)";
170
+ }
171
+ }
172
+ });
173
+ if (!url.url) {
174
+ console.log(_chalk2.default.yellow("Login cancelled"));
175
+ process.exit(0);
176
+ }
177
+ const cfg = _chunkIBUFY5TJjs.loadConfig.call(void 0, );
178
+ cfg.control_plane_url = url.url.replace(/\/+$/, "");
179
+ _chunkIBUFY5TJjs.saveConfig.call(void 0, cfg);
180
+ }
181
+ }
182
+ const mode = await _prompts2.default.call(void 0, {
183
+ type: "select",
184
+ name: "mode",
185
+ message: "How do you want to use LangWatch?",
186
+ choices: [
187
+ {
188
+ title: "AI tools / agentic flows",
189
+ description: "claude, codex, cursor, gemini, opencode \u2014 device-flow SSO",
190
+ value: "device"
191
+ },
192
+ {
193
+ title: "Project / SDK API key",
194
+ description: "langwatch sync, langwatch eval, SDK auto-instrumentation",
195
+ value: "api-key"
196
+ },
197
+ {
198
+ title: "Both",
199
+ description: "Run both flows in sequence",
200
+ value: "both"
201
+ }
202
+ ],
203
+ initial: 0
204
+ });
205
+ if (!mode.mode) {
206
+ console.log(_chalk2.default.yellow("Login cancelled"));
207
+ process.exit(0);
208
+ }
209
+ if (mode.mode === "device" || mode.mode === "both") {
210
+ await _chunkA7T4DZKCjs.runDeviceFlowLogin.call(void 0, { browser: options == null ? void 0 : options.browser });
211
+ }
212
+ if (mode.mode === "api-key" || mode.mode === "both") {
213
+ await _chunkA7T4DZKCjs.runUnifiedLoginFlow.call(void 0, {
214
+ kind: "project_api_key",
215
+ browser: options == null ? void 0 : options.browser
216
+ });
217
+ }
218
+ return;
219
+ } catch (error) {
220
+ console.error(
221
+ _chalk2.default.red(
222
+ `Error during login: ${_chunkC5Y772G7js.formatApiErrorMessage.call(void 0, { error })}`
223
+ )
224
+ );
225
+ process.exit(1);
226
+ }
227
+ };
228
+
229
+
230
+ exports.loginCommand = loginCommand;
231
+ //# sourceMappingURL=login-YM5YEWKL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/login-YM5YEWKL.js","../src/cli/commands/login.ts"],"names":[],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/login-YM5YEWKL.js","sourcesContent":[null,"import * as fs from \"fs\";\nimport * as path from \"path\";\nimport chalk from \"chalk\";\nimport prompts from \"prompts\";\nimport { formatApiErrorMessage } from \"@/client-sdk/services/_shared/format-api-error\";\nimport {\n runDeviceFlowLogin,\n runUnifiedLoginFlow,\n} from \"@/cli/utils/governance/login-flow\";\nimport {\n loadConfig,\n saveConfig,\n} from \"@/cli/utils/governance/config\";\n\n/**\n * Always-on agent-hint banner shown above the interactive prompts on\n * `langwatch login` (no flags). Some agent harnesses fake a TTY but can't\n * actually answer prompts — this banner names the escape-hatch flags so\n * the agent (or the human staring at the stuck prompt) can re-invoke\n * with the right flag and proceed.\n *\n * Spec: specs/ai-governance/cli-onboarding/login-unified.feature\n */\nfunction printAgentHintBanner(): void {\n console.log(\n chalk.gray(\n \"Running interactively. To skip these prompts (CI / agents that already have a credential):\",\n ),\n );\n console.log(\n chalk.gray(\n \" --device AI tools / SSO (browser approval, no paste)\",\n ),\n );\n console.log(\n chalk.gray(\n \" --api-key <KEY> project SDK key (writes .env)\",\n ),\n );\n console.log(\n chalk.gray(\n \" --token <TOKEN> pre-minted device session (writes ~/.langwatch/config.json)\",\n ),\n );\n console.log(\n chalk.gray(\n \" --endpoint <URL> self-hosted instance URL\",\n ),\n );\n console.log();\n}\n\nconst updateEnvFile = (\n apiKey: string,\n): { created: boolean; updated: boolean; path: string } => {\n const envPath = path.join(process.cwd(), \".env\");\n\n // Check if .env exists\n if (!fs.existsSync(envPath)) {\n // Create new .env file\n fs.writeFileSync(envPath, `LANGWATCH_API_KEY=${apiKey}\\n`);\n return { created: true, updated: false, path: envPath };\n }\n\n // Read existing .env file\n const content = fs.readFileSync(envPath, \"utf-8\");\n const lines = content.split(\"\\n\");\n\n // Check if LANGWATCH_API_KEY already exists and update it\n let found = false;\n const updatedLines = lines.map((line) => {\n if (line.startsWith(\"LANGWATCH_API_KEY=\")) {\n found = true;\n return `LANGWATCH_API_KEY=${apiKey}`;\n }\n return line;\n });\n\n if (!found) {\n // Add to end of file\n if (content.endsWith(\"\\n\") || content === \"\") {\n updatedLines.push(`LANGWATCH_API_KEY=${apiKey}`);\n } else {\n updatedLines.push(\"\", `LANGWATCH_API_KEY=${apiKey}`);\n }\n }\n\n fs.writeFileSync(envPath, updatedLines.join(\"\\n\"));\n return { created: false, updated: found, path: envPath };\n};\n\nexport const loginCommand = async (\n options?: {\n apiKey?: string;\n device?: boolean;\n browser?: string;\n endpoint?: string;\n token?: string;\n },\n): Promise<void> => {\n try {\n // Honor `--endpoint` flag OR `LANGWATCH_ENDPOINT` env. Persist the\n // resolved value BEFORE the chosen flow runs so subsequent reads\n // (in the device flow, the API-key flow, any sub-command spawned\n // later) see the right control-plane URL. The 4-source resolver\n // (flag > env > config > default) honors this value via the\n // persisted-config layer for any flow that doesn't explicitly take\n // a flag. The env var has the same precedence as the flag for the\n // login flow itself so users running `LANGWATCH_ENDPOINT=... langwatch\n // login` skip the cloud/self-hosted picker.\n const endpointFromEnv = process.env.LANGWATCH_ENDPOINT?.trim();\n const presetEndpoint = options?.endpoint ?? endpointFromEnv;\n if (presetEndpoint) {\n const trimmed = presetEndpoint.replace(/\\/+$/, \"\");\n const cfg = loadConfig();\n cfg.control_plane_url = trimmed;\n saveConfig(cfg);\n }\n\n // --token: pre-minted device-session escape hatch (CI / agent contexts\n // where the token was minted via the dashboard 'Personal Access Tokens'\n // surface). No browser, no prompts — just persist the token so\n // subsequent `langwatch claude/codex/...` invocations can use it.\n if (options?.token) {\n const token = options.token.trim();\n if (token.length < 10) {\n console.error(chalk.red(\"Error: token seems too short. Please check and try again.\"));\n process.exit(1);\n }\n const cfg = loadConfig();\n cfg.access_token = token;\n // No refresh_token / expires_at — that's the trade-off of bypassing\n // the device flow. The wrapper auto-login will mint a real session\n // if this token expires, since loadConfig+isLoggedIn only checks\n // access_token presence.\n saveConfig(cfg);\n console.log(chalk.green(\"✓ device-session token saved\"));\n console.log(chalk.gray(\" ~/.langwatch/config.json\"));\n return;\n }\n\n // Device-flow mode: SSO via the control plane's RFC 8628 endpoints,\n // mints a personal virtual key bound to the user. This is the\n // governance-plane onboarding for enterprise users, distinct from the\n // single-user API-key flow below.\n if (options?.device) {\n await runDeviceFlowLogin({ browser: options.browser });\n return;\n }\n\n // Non-interactive mode: --api-key flag provided\n if (options?.apiKey) {\n const apiKey = options.apiKey.trim();\n if (apiKey.length < 10) {\n console.error(chalk.red(\"Error: API key seems too short. Please check and try again.\"));\n process.exit(1);\n }\n\n const envResult = updateEnvFile(apiKey);\n console.log(chalk.green(\"API key saved successfully.\"));\n if (envResult.created) {\n console.log(chalk.gray(`Created .env file at ${envResult.path}`));\n } else if (envResult.updated) {\n console.log(chalk.gray(`Updated existing API key in ${envResult.path}`));\n } else {\n console.log(chalk.gray(`Added API key to ${envResult.path}`));\n }\n return;\n }\n\n // Interactive mode (no flags). Refuse on non-TTY contexts with an\n // actionable hint pointing at the escape-hatch flags — agents and CI\n // pipelines should pass the right flag rather than getting stuck on a\n // hidden interactive prompt.\n if (!process.stdin.isTTY) {\n console.error(\n chalk.red(\n \"Error: cannot run interactive `langwatch login` in a non-TTY context.\",\n ),\n );\n console.error(chalk.gray(\"Run one of:\"));\n console.error(chalk.gray(\" langwatch login --device # AI tools / SSO (recommended)\"));\n console.error(chalk.gray(\" langwatch login --api-key <KEY> # project SDK key (writes .env)\"));\n console.error(chalk.gray(\" langwatch login --token <TOKEN> # pre-minted device session\"));\n console.error(chalk.gray(\" LANGWATCH_AUTO_LOGIN=1 langwatch <cmd> # let the wrapper trigger device flow\"));\n process.exit(1);\n }\n\n // Always-on agent-hint banner — fake-TTY agents see this BEFORE the\n // prompt block so they (or the human watching) can re-invoke with the\n // right flag instead of staring at a stuck prompt.\n printAgentHintBanner();\n\n console.log(chalk.blue(\"🔐 LangWatch Login\"));\n console.log();\n\n // Q1 — endpoint (cloud vs self-hosted). Skipped if --endpoint was\n // passed (already persisted above). On 'self-hosted' the entered\n // URL is persisted to ~/.langwatch/config.json so subsequent\n // `runUnifiedLoginFlow` calls (and every CLI command's resolver\n // read) target the right host.\n if (!options?.endpoint) {\n const where = await prompts({\n type: \"select\",\n name: \"where\",\n message: \"Where do you want to log in?\",\n choices: [\n {\n title: \"LangWatch Cloud\",\n description: \"app.langwatch.ai (default)\",\n value: \"cloud\",\n },\n {\n title: \"Self-hosted instance\",\n description: \"Custom URL — your company's LangWatch deployment\",\n value: \"self-hosted\",\n },\n ],\n initial: 0,\n });\n if (where.where === \"self-hosted\") {\n const url = await prompts({\n type: \"text\",\n name: \"url\",\n message: \"Self-hosted LangWatch URL (e.g. https://lw.acme.internal):\",\n validate: (v: string) => {\n try {\n const parsed = new URL(v);\n if (parsed.protocol !== \"http:\" && parsed.protocol !== \"https:\") {\n return \"URL must start with http(s)://\";\n }\n return true;\n } catch {\n return \"URL must be absolute (https://...)\";\n }\n },\n });\n if (!url.url) {\n console.log(chalk.yellow(\"Login cancelled\"));\n process.exit(0);\n }\n const cfg = loadConfig();\n cfg.control_plane_url = (url.url as string).replace(/\\/+$/, \"\");\n saveConfig(cfg);\n }\n }\n\n // Q2 — auth mode (AI tools = device-flow vs Project SDK = API key)\n const mode = await prompts({\n type: \"select\",\n name: \"mode\",\n message: \"How do you want to use LangWatch?\",\n choices: [\n {\n title: \"AI tools / agentic flows\",\n description: \"claude, codex, cursor, gemini, opencode — device-flow SSO\",\n value: \"device\",\n },\n {\n title: \"Project / SDK API key\",\n description: \"langwatch sync, langwatch eval, SDK auto-instrumentation\",\n value: \"api-key\",\n },\n {\n title: \"Both\",\n description: \"Run both flows in sequence\",\n value: \"both\",\n },\n ],\n initial: 0,\n });\n if (!mode.mode) {\n console.log(chalk.yellow(\"Login cancelled\"));\n process.exit(0);\n }\n\n if (mode.mode === \"device\" || mode.mode === \"both\") {\n await runDeviceFlowLogin({ browser: options?.browser });\n }\n if (mode.mode === \"api-key\" || mode.mode === \"both\") {\n // No-paste convergence (sergey f9fcc3927 + alexis bfef4ebab):\n // /authorize page shows a project-picker + 'Generate API key'\n // button; the freshly-minted key flows back to the CLI over the\n // same RFC 8628 poll endpoint as the device-session flow. No\n // copy-paste of the credential ever.\n await runUnifiedLoginFlow({\n kind: \"project_api_key\",\n browser: options?.browser,\n });\n }\n return;\n } catch (error) {\n console.error(\n chalk.red(\n `Error during login: ${\n formatApiErrorMessage({ error })\n }`,\n ),\n );\n process.exit(1);\n }\n};\n\n\n"]}
@@ -0,0 +1,39 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+
4
+ var _chunkS4JKLESFjs = require('./chunk-S4JKLESF.js');
5
+
6
+
7
+
8
+
9
+ var _chunkIBUFY5TJjs = require('./chunk-IBUFY5TJ.js');
10
+ require('./chunk-BRPEG3YQ.js');
11
+
12
+ // src/cli/commands/logout-device.ts
13
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
14
+ var logoutDeviceCommand = async () => {
15
+ const cfg = _chunkIBUFY5TJjs.loadConfig.call(void 0, );
16
+ if (!_chunkIBUFY5TJjs.isLoggedIn.call(void 0, cfg)) {
17
+ _chunkIBUFY5TJjs.clearConfig.call(void 0, );
18
+ console.log("Not logged in. Local config cleared (idempotent).");
19
+ return;
20
+ }
21
+ if (cfg.refresh_token) {
22
+ try {
23
+ await _chunkS4JKLESFjs.logout.call(void 0,
24
+ { baseUrl: cfg.control_plane_url },
25
+ cfg.refresh_token,
26
+ cfg.access_token
27
+ );
28
+ } catch (err) {
29
+ const msg = err instanceof _chunkS4JKLESFjs.DeviceFlowError ? err.message : String(err);
30
+ console.error(_chalk2.default.yellow(`warning: server-side revoke failed: ${msg}`));
31
+ }
32
+ }
33
+ _chunkIBUFY5TJjs.clearConfig.call(void 0, );
34
+ console.log("Logged out \u2014 local credentials cleared.");
35
+ };
36
+
37
+
38
+ exports.logoutDeviceCommand = logoutDeviceCommand;
39
+ //# sourceMappingURL=logout-device-4GI5URWD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/logout-device-4GI5URWD.js","../src/cli/commands/logout-device.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACA;ACXA,4EAAkB;AAqBX,IAAM,oBAAA,EAAsB,MAAA,CAAA,EAAA,GAA2B;AAC5D,EAAA,MAAM,IAAA,EAAM,yCAAA,CAAW;AACvB,EAAA,GAAA,CAAI,CAAC,yCAAA,GAAc,CAAA,EAAG;AACpB,IAAA,0CAAA,CAAY;AACZ,IAAA,OAAA,CAAQ,GAAA,CAAI,mDAAmD,CAAA;AAC/D,IAAA,MAAA;AAAA,EACF;AAEA,EAAA,GAAA,CAAI,GAAA,CAAI,aAAA,EAAe;AACrB,IAAA,IAAI;AAGF,MAAA,MAAM,qCAAA;AAAA,QACJ,EAAE,OAAA,EAAS,GAAA,CAAI,kBAAkB,CAAA;AAAA,QACjC,GAAA,CAAI,aAAA;AAAA,QACJ,GAAA,CAAI;AAAA,MACN,CAAA;AAAA,IACF,EAAA,MAAA,CAAS,GAAA,EAAK;AAIZ,MAAA,MAAM,IAAA,EAAM,IAAA,WAAe,iCAAA,EAAkB,GAAA,CAAI,QAAA,EAAU,MAAA,CAAO,GAAG,CAAA;AACrE,MAAA,OAAA,CAAQ,KAAA,CAAM,eAAA,CAAM,MAAA,CAAO,CAAA,oCAAA,EAAuC,GAAG,CAAA,CAAA;AACvE,IAAA;AACF,EAAA;AACY,EAAA;AACyC,EAAA;AACvD;ADb4E;AACA;AACA","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/logout-device-4GI5URWD.js","sourcesContent":[null,"import chalk from \"chalk\";\nimport {\n loadConfig,\n clearConfig,\n isLoggedIn,\n} from \"@/cli/utils/governance/config\";\nimport { logout as serverRevokeLogout, DeviceFlowError } from \"@/cli/utils/governance/device-flow\";\n\n/**\n * `langwatch logout --device` — server-revoke the refresh token\n * AND clear the local config. Best-effort: if the server call\n * fails (network down, 5xx), the local clear still happens —\n * otherwise \"logout\" leaves a usable token on disk and the user\n * has to remember to delete the file manually.\n *\n * Idempotent: safe to run when not logged in.\n *\n * The bare `langwatch logout` (no flag) is reserved by the existing\n * API-key flow; this is namespaced under `--device` to avoid\n * regressing the existing CLI surface.\n */\nexport const logoutDeviceCommand = async (): Promise<void> => {\n const cfg = loadConfig();\n if (!isLoggedIn(cfg)) {\n clearConfig();\n console.log(\"Not logged in. Local config cleared (idempotent).\");\n return;\n }\n\n if (cfg.refresh_token) {\n try {\n // Send both tokens so the access_token is invalidated\n // immediately (Sergey's e7a042c69 closes the 1h-survival gap).\n await serverRevokeLogout(\n { baseUrl: cfg.control_plane_url },\n cfg.refresh_token,\n cfg.access_token,\n );\n } catch (err) {\n // Server-side revoke failed; we still want to clear locally\n // per the spec (\"local wipe must happen even when remote\n // revoke fails — otherwise leaves a usable token on disk\").\n const msg = err instanceof DeviceFlowError ? err.message : String(err);\n console.error(chalk.yellow(`warning: server-side revoke failed: ${msg}`));\n }\n }\n clearConfig();\n console.log(\"Logged out — local credentials cleared.\");\n};\n"]}