langwatch 0.31.0 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1220) hide show
  1. package/dist/add-Q2IP7YH3.mjs +148 -0
  2. package/dist/add-X3B3DLPD.js +148 -0
  3. package/dist/add-X3B3DLPD.js.map +1 -0
  4. package/dist/archive-G3LVQFLL.js +41 -0
  5. package/dist/archive-G3LVQFLL.js.map +1 -0
  6. package/dist/archive-KA3DDEKA.mjs +41 -0
  7. package/dist/assign-MHDHXJLE.mjs +54 -0
  8. package/dist/assign-ZQ6IWPRW.js +54 -0
  9. package/dist/assign-ZQ6IWPRW.js.map +1 -0
  10. package/dist/chunk-35TLPU6Q.mjs +1411 -0
  11. package/dist/chunk-35TLPU6Q.mjs.map +1 -0
  12. package/dist/chunk-3E6W6KZ7.js +277 -0
  13. package/dist/chunk-3E6W6KZ7.js.map +1 -0
  14. package/dist/chunk-56HLVZTH.mjs +101 -0
  15. package/dist/chunk-5YPBJ2RX.js +300 -0
  16. package/dist/chunk-5YPBJ2RX.js.map +1 -0
  17. package/dist/chunk-6JLYEKSN.mjs +136 -0
  18. package/dist/chunk-76F3JX5P.mjs +63 -0
  19. package/dist/chunk-7DLH2I54.js +1411 -0
  20. package/dist/chunk-7DLH2I54.js.map +1 -0
  21. package/dist/chunk-A665WGBN.js +68 -0
  22. package/dist/chunk-A665WGBN.js.map +1 -0
  23. package/dist/chunk-A7JNYV5M.js +264 -0
  24. package/dist/chunk-A7JNYV5M.js.map +1 -0
  25. package/dist/chunk-B5TBCV6N.js +96 -0
  26. package/dist/chunk-B5TBCV6N.js.map +1 -0
  27. package/dist/chunk-BCWCQQVZ.js +103 -0
  28. package/dist/chunk-BCWCQQVZ.js.map +1 -0
  29. package/dist/chunk-BGYXA2QV.mjs +96 -0
  30. package/dist/chunk-BZCUVXVX.js +136 -0
  31. package/dist/chunk-BZCUVXVX.js.map +1 -0
  32. package/dist/chunk-C3AJ77YT.js +70 -0
  33. package/dist/chunk-C3AJ77YT.js.map +1 -0
  34. package/dist/chunk-C5MLYQPW.mjs +512 -0
  35. package/dist/chunk-CEJY6QI3.mjs +508 -0
  36. package/dist/chunk-CEJY6QI3.mjs.map +1 -0
  37. package/dist/chunk-D3UYY7BE.mjs +90 -0
  38. package/dist/chunk-EGOB3GIL.mjs +156 -0
  39. package/dist/chunk-EGOB3GIL.mjs.map +1 -0
  40. package/dist/chunk-EOPOUETF.js +76 -0
  41. package/dist/chunk-EOPOUETF.js.map +1 -0
  42. package/dist/chunk-FHIZZVOY.mjs +894 -0
  43. package/dist/chunk-FHIZZVOY.mjs.map +1 -0
  44. package/dist/chunk-G7XWPZVF.mjs +264 -0
  45. package/dist/chunk-G7XWPZVF.mjs.map +1 -0
  46. package/dist/chunk-GCSSYCND.mjs +103 -0
  47. package/dist/chunk-GPKFTIVT.mjs +300 -0
  48. package/dist/chunk-GWQIWOSA.js +51 -0
  49. package/dist/chunk-GWQIWOSA.js.map +1 -0
  50. package/dist/chunk-HAIPL262.mjs +63 -0
  51. package/dist/chunk-HAIPL262.mjs.map +1 -0
  52. package/dist/chunk-HLWOZ2EB.js +842 -0
  53. package/dist/chunk-HLWOZ2EB.js.map +1 -0
  54. package/dist/chunk-ILLSPR66.js +85 -0
  55. package/dist/chunk-ILLSPR66.js.map +1 -0
  56. package/dist/chunk-IV5D5ONR.mjs +92 -0
  57. package/dist/chunk-J7DHDTC2.js +92 -0
  58. package/dist/chunk-J7DHDTC2.js.map +1 -0
  59. package/dist/chunk-JU4TVC65.mjs +76 -0
  60. package/dist/chunk-JZBRGWCQ.js +42 -0
  61. package/dist/chunk-JZBRGWCQ.js.map +1 -0
  62. package/dist/chunk-K6DOYWPS.js +34 -0
  63. package/dist/chunk-K6DOYWPS.js.map +1 -0
  64. package/dist/chunk-KSHHFBLP.mjs +663 -0
  65. package/dist/chunk-KT6HZNPV.js +36 -0
  66. package/dist/chunk-KT6HZNPV.js.map +1 -0
  67. package/dist/chunk-KTETIIUG.mjs +277 -0
  68. package/dist/chunk-KTETIIUG.mjs.map +1 -0
  69. package/dist/chunk-L22NFE2Y.js +80 -0
  70. package/dist/chunk-L22NFE2Y.js.map +1 -0
  71. package/dist/chunk-M44BH7B5.js +663 -0
  72. package/dist/chunk-M44BH7B5.js.map +1 -0
  73. package/dist/chunk-M5CWQUST.mjs +348 -0
  74. package/dist/chunk-M5CWQUST.mjs.map +1 -0
  75. package/dist/chunk-NQBQ73TT.js +894 -0
  76. package/dist/chunk-NQBQ73TT.js.map +1 -0
  77. package/dist/chunk-NUN3A2JL.js +36 -0
  78. package/dist/chunk-NUN3A2JL.js.map +1 -0
  79. package/dist/chunk-NWO6WIEY.js +80 -0
  80. package/dist/chunk-NWO6WIEY.js.map +1 -0
  81. package/dist/chunk-O6GI7MOK.js +196 -0
  82. package/dist/chunk-O6GI7MOK.js.map +1 -0
  83. package/dist/chunk-OAKLOXKJ.mjs +42 -0
  84. package/dist/chunk-OGAE7BVQ.js +67 -0
  85. package/dist/chunk-OGAE7BVQ.js.map +1 -0
  86. package/dist/chunk-OMGZWYBX.js +66 -0
  87. package/dist/chunk-OMGZWYBX.js.map +1 -0
  88. package/dist/chunk-Q6Y2L7K2.js +54 -0
  89. package/dist/chunk-Q6Y2L7K2.js.map +1 -0
  90. package/dist/chunk-QQNL7EER.js +96 -0
  91. package/dist/chunk-QQNL7EER.js.map +1 -0
  92. package/dist/chunk-QTQSPKSO.js +90 -0
  93. package/dist/chunk-QTQSPKSO.js.map +1 -0
  94. package/dist/chunk-QU7P4VY4.mjs +66 -0
  95. package/dist/chunk-SENLTNDW.js +512 -0
  96. package/dist/chunk-SENLTNDW.js.map +1 -0
  97. package/dist/chunk-SR6IXG3H.js +53 -0
  98. package/dist/chunk-SR6IXG3H.js.map +1 -0
  99. package/dist/chunk-TJ6BZNZN.js +63 -0
  100. package/dist/chunk-TJ6BZNZN.js.map +1 -0
  101. package/dist/chunk-TXNH2FAV.mjs +85 -0
  102. package/dist/chunk-U47MQ6CS.mjs +67 -0
  103. package/dist/chunk-U47MQ6CS.mjs.map +1 -0
  104. package/dist/chunk-U64ZSIAG.mjs +34 -0
  105. package/dist/chunk-U64ZSIAG.mjs.map +1 -0
  106. package/dist/chunk-UGCEHB5O.mjs +68 -0
  107. package/dist/chunk-ULSEH636.js +348 -0
  108. package/dist/chunk-ULSEH636.js.map +1 -0
  109. package/dist/chunk-VRGHREA7.mjs +36 -0
  110. package/dist/chunk-VSI557PV.mjs +40 -0
  111. package/dist/chunk-W2BNKVWJ.mjs +36 -0
  112. package/dist/chunk-W2BNKVWJ.mjs.map +1 -0
  113. package/dist/chunk-WUHNQOQS.js +42 -0
  114. package/dist/chunk-WUHNQOQS.js.map +1 -0
  115. package/dist/chunk-X4BHZH7P.js +156 -0
  116. package/dist/chunk-X4BHZH7P.js.map +1 -0
  117. package/dist/chunk-XQQJNND7.js +40 -0
  118. package/dist/chunk-XQQJNND7.js.map +1 -0
  119. package/dist/chunk-XZP4XGSU.js +101 -0
  120. package/dist/chunk-XZP4XGSU.js.map +1 -0
  121. package/dist/chunk-Y4SR2XOX.mjs +53 -0
  122. package/dist/chunk-Y4VNZ6M4.mjs +842 -0
  123. package/dist/chunk-Y4VNZ6M4.mjs.map +1 -0
  124. package/dist/chunk-YCYMQFCK.mjs +80 -0
  125. package/dist/chunk-YD7YGJGS.mjs +51 -0
  126. package/dist/chunk-YOFMLSCR.mjs +196 -0
  127. package/dist/chunk-Z44MRFLB.mjs +42 -0
  128. package/dist/chunk-ZFFJYYDN.js +508 -0
  129. package/dist/chunk-ZFFJYYDN.js.map +1 -0
  130. package/dist/chunk-ZHDSVAH4.mjs +80 -0
  131. package/dist/chunk-ZK7JBAZA.mjs +54 -0
  132. package/dist/chunk-ZPNBTB6K.mjs +70 -0
  133. package/dist/chunk-ZW6FPEKB.js +63 -0
  134. package/dist/chunk-ZW6FPEKB.js.map +1 -0
  135. package/dist/chunk-ZXNNEA3K.mjs +96 -0
  136. package/dist/cli/index.js +166 -179
  137. package/dist/cli/index.js.map +1 -1
  138. package/dist/cli/index.mjs +159 -172
  139. package/dist/cli/index.mjs.map +1 -1
  140. package/dist/config-GLVFORAH.mjs +96 -0
  141. package/dist/config-S5IJEKP4.js +96 -0
  142. package/dist/config-S5IJEKP4.js.map +1 -0
  143. package/dist/create-3JMML7UG.js +43 -0
  144. package/dist/create-3JMML7UG.js.map +1 -0
  145. package/dist/create-47NY6B73.js +49 -0
  146. package/dist/create-47NY6B73.js.map +1 -0
  147. package/dist/create-4DNEGL3M.js +71 -0
  148. package/dist/create-4DNEGL3M.js.map +1 -0
  149. package/dist/create-4QN5LUKH.js +58 -0
  150. package/dist/create-4QN5LUKH.js.map +1 -0
  151. package/dist/create-4Z7UHJRP.mjs +88 -0
  152. package/dist/create-5LJE5X75.mjs +71 -0
  153. package/dist/create-6P52UISK.mjs +42 -0
  154. package/dist/create-77WBXXQP.js +94 -0
  155. package/dist/create-77WBXXQP.js.map +1 -0
  156. package/dist/create-AE4DHK4X.js +92 -0
  157. package/dist/create-AE4DHK4X.js.map +1 -0
  158. package/dist/create-BAQA2KNQ.mjs +88 -0
  159. package/dist/create-CELHF3VQ.mjs +58 -0
  160. package/dist/create-CFNC3NS7.js +48 -0
  161. package/dist/create-CFNC3NS7.js.map +1 -0
  162. package/dist/create-CSFX5PK2.js +23 -0
  163. package/dist/create-CSFX5PK2.js.map +1 -0
  164. package/dist/create-CUXVFTCC.mjs +72 -0
  165. package/dist/create-ENWDXW4L.js +88 -0
  166. package/dist/create-ENWDXW4L.js.map +1 -0
  167. package/dist/create-IBNHVCH3.mjs +92 -0
  168. package/dist/create-JF67X7QF.mjs +94 -0
  169. package/dist/create-JOHDQFGP.mjs +43 -0
  170. package/dist/create-KBL3RQJD.js +72 -0
  171. package/dist/create-KBL3RQJD.js.map +1 -0
  172. package/dist/create-LIZ5IYDO.mjs +49 -0
  173. package/dist/create-MFWGGCWU.mjs +91 -0
  174. package/dist/create-NWRMJPUH.mjs +52 -0
  175. package/dist/create-NZK24RKX.mjs +75 -0
  176. package/dist/create-OADST6TX.js +88 -0
  177. package/dist/create-OADST6TX.js.map +1 -0
  178. package/dist/create-Q4S2ROG7.mjs +87 -0
  179. package/dist/create-QG5BF2IZ.mjs +48 -0
  180. package/dist/create-QTSZ4MV6.js +50 -0
  181. package/dist/create-QTSZ4MV6.js.map +1 -0
  182. package/dist/create-RDMVYC32.js +91 -0
  183. package/dist/create-RDMVYC32.js.map +1 -0
  184. package/dist/create-RNNGGW2N.js +42 -0
  185. package/dist/create-RNNGGW2N.js.map +1 -0
  186. package/dist/create-RRA765DL.mjs +50 -0
  187. package/dist/create-TC73WSZM.mjs +23 -0
  188. package/dist/create-TZOL2HUE.js +87 -0
  189. package/dist/create-TZOL2HUE.js.map +1 -0
  190. package/dist/create-UM645TPT.js +75 -0
  191. package/dist/create-UM645TPT.js.map +1 -0
  192. package/dist/create-UNHWTHF6.js +52 -0
  193. package/dist/create-UNHWTHF6.js.map +1 -0
  194. package/dist/delete-2DVGKYHJ.mjs +59 -0
  195. package/dist/delete-4XNQI4FR.js +52 -0
  196. package/dist/delete-4XNQI4FR.js.map +1 -0
  197. package/dist/delete-5IGR7LFW.mjs +61 -0
  198. package/dist/delete-6NZTBEBA.mjs +59 -0
  199. package/dist/delete-7JQHM5XL.js +61 -0
  200. package/dist/delete-7JQHM5XL.js.map +1 -0
  201. package/dist/delete-ALNP3GIL.js +39 -0
  202. package/dist/delete-ALNP3GIL.js.map +1 -0
  203. package/dist/delete-B5X5TQDN.js +59 -0
  204. package/dist/delete-B5X5TQDN.js.map +1 -0
  205. package/dist/delete-BWYSFEUP.js +57 -0
  206. package/dist/delete-BWYSFEUP.js.map +1 -0
  207. package/dist/delete-CIT5VULY.mjs +52 -0
  208. package/dist/delete-FCSC3CZJ.mjs +52 -0
  209. package/dist/delete-FPQVCWJE.js +41 -0
  210. package/dist/delete-FPQVCWJE.js.map +1 -0
  211. package/dist/delete-HLM5EIZ7.js +44 -0
  212. package/dist/delete-HLM5EIZ7.js.map +1 -0
  213. package/dist/delete-HRUPAVC6.mjs +52 -0
  214. package/dist/delete-IRP6N4SD.mjs +52 -0
  215. package/dist/delete-IX7TARG5.js +42 -0
  216. package/dist/delete-IX7TARG5.js.map +1 -0
  217. package/dist/delete-M636IL4I.mjs +39 -0
  218. package/dist/delete-O7PZ3S77.js +52 -0
  219. package/dist/delete-O7PZ3S77.js.map +1 -0
  220. package/dist/delete-PX6VKIDA.mjs +44 -0
  221. package/dist/delete-Q7FP7CAK.js +52 -0
  222. package/dist/delete-Q7FP7CAK.js.map +1 -0
  223. package/dist/delete-QO5X4SUG.js +39 -0
  224. package/dist/delete-QO5X4SUG.js.map +1 -0
  225. package/dist/delete-RZOYIWR3.mjs +42 -0
  226. package/dist/delete-SEOO5442.js +59 -0
  227. package/dist/delete-SEOO5442.js.map +1 -0
  228. package/dist/delete-UZN3D2XY.js +52 -0
  229. package/dist/delete-UZN3D2XY.js.map +1 -0
  230. package/dist/delete-VK4SOKET.js +38 -0
  231. package/dist/delete-VK4SOKET.js.map +1 -0
  232. package/dist/delete-WT5ZPOW5.mjs +39 -0
  233. package/dist/delete-XKXIQGY2.mjs +38 -0
  234. package/dist/delete-XVELJHBT.mjs +41 -0
  235. package/dist/delete-ZCOMJXJN.mjs +57 -0
  236. package/dist/download-CHMFKTTA.js +100 -0
  237. package/dist/download-CHMFKTTA.js.map +1 -0
  238. package/dist/download-LBZQQGAW.mjs +100 -0
  239. package/dist/duplicate-4CYGY3CB.js +45 -0
  240. package/dist/duplicate-4CYGY3CB.js.map +1 -0
  241. package/dist/duplicate-CK5CK7EE.mjs +45 -0
  242. package/dist/export-PCNLQKT7.mjs +103 -0
  243. package/dist/export-RJUV4K5G.js +103 -0
  244. package/dist/export-RJUV4K5G.js.map +1 -0
  245. package/dist/get-2FCVWEAR.mjs +52 -0
  246. package/dist/get-2FFH55XR.mjs +71 -0
  247. package/dist/get-33M3ULUA.mjs +56 -0
  248. package/dist/get-4FUVJWUP.js +56 -0
  249. package/dist/get-4FUVJWUP.js.map +1 -0
  250. package/dist/get-5J5ZCVO3.mjs +51 -0
  251. package/dist/get-5LPZZBFE.mjs +76 -0
  252. package/dist/get-62HI4WSZ.mjs +52 -0
  253. package/dist/get-6EASKLZD.js +52 -0
  254. package/dist/get-6EASKLZD.js.map +1 -0
  255. package/dist/get-AZ5B7JMV.js +71 -0
  256. package/dist/get-AZ5B7JMV.js.map +1 -0
  257. package/dist/get-C7F4Q4SZ.mjs +85 -0
  258. package/dist/get-C7M6MBK7.mjs +71 -0
  259. package/dist/get-DB7HWIK5.mjs +49 -0
  260. package/dist/get-DRVCLWK2.js +71 -0
  261. package/dist/get-DRVCLWK2.js.map +1 -0
  262. package/dist/get-E6UZ4RIO.mjs +67 -0
  263. package/dist/get-G6I4TTVS.mjs +70 -0
  264. package/dist/get-GBKBVQ4Z.mjs +94 -0
  265. package/dist/get-GV5SFKJX.js +51 -0
  266. package/dist/get-GV5SFKJX.js.map +1 -0
  267. package/dist/get-HBDFWG5S.js +71 -0
  268. package/dist/get-HBDFWG5S.js.map +1 -0
  269. package/dist/get-I5S7Y3AV.js +66 -0
  270. package/dist/get-I5S7Y3AV.js.map +1 -0
  271. package/dist/get-IPSTC3JQ.js +52 -0
  272. package/dist/get-IPSTC3JQ.js.map +1 -0
  273. package/dist/get-KY6NDIFX.js +67 -0
  274. package/dist/get-KY6NDIFX.js.map +1 -0
  275. package/dist/get-MDKUNVII.js +76 -0
  276. package/dist/get-MDKUNVII.js.map +1 -0
  277. package/dist/get-MPWMWBP5.js +149 -0
  278. package/dist/get-MPWMWBP5.js.map +1 -0
  279. package/dist/get-MYCFTBG2.js +68 -0
  280. package/dist/get-MYCFTBG2.js.map +1 -0
  281. package/dist/get-Q3ML5RPZ.js +85 -0
  282. package/dist/get-Q3ML5RPZ.js.map +1 -0
  283. package/dist/get-QLQE2CRR.js +70 -0
  284. package/dist/get-QLQE2CRR.js.map +1 -0
  285. package/dist/get-R57XCMUI.js +49 -0
  286. package/dist/get-R57XCMUI.js.map +1 -0
  287. package/dist/get-SBEWJXMA.mjs +66 -0
  288. package/dist/get-USU7CKKV.mjs +149 -0
  289. package/dist/get-V2XSCF5A.mjs +71 -0
  290. package/dist/get-Z3CCLLV2.mjs +68 -0
  291. package/dist/get-Z6Y2IMIC.js +94 -0
  292. package/dist/get-Z6Y2IMIC.js.map +1 -0
  293. package/dist/health-N2OH2AY2.js +73 -0
  294. package/dist/health-N2OH2AY2.js.map +1 -0
  295. package/dist/health-TRFE5XP6.mjs +73 -0
  296. package/dist/implementation-BnHDvCiV.d.ts +716 -0
  297. package/dist/implementation-DAJWafyn.d.mts +716 -0
  298. package/dist/index.d.mts +60 -53
  299. package/dist/index.d.ts +60 -53
  300. package/dist/index.js +47 -47
  301. package/dist/index.js.map +1 -1
  302. package/dist/index.mjs +23 -23
  303. package/dist/ingestion-templates-JKPKSBKU.mjs +169 -0
  304. package/dist/ingestion-templates-JKPKSBKU.mjs.map +1 -0
  305. package/dist/ingestion-templates-VMYNI5PE.js +169 -0
  306. package/dist/ingestion-templates-VMYNI5PE.js.map +1 -0
  307. package/dist/init-SQ5UUFDM.js +16 -0
  308. package/dist/init-SQ5UUFDM.js.map +1 -0
  309. package/dist/init-UGSR2T2P.mjs +16 -0
  310. package/dist/init-shell-HDRZNWT5.mjs +72 -0
  311. package/dist/init-shell-HDRZNWT5.mjs.map +1 -0
  312. package/dist/init-shell-TRIEEIBG.js +72 -0
  313. package/dist/init-shell-TRIEEIBG.js.map +1 -0
  314. package/dist/install-C7BQPKYW.js +191 -0
  315. package/dist/install-C7BQPKYW.js.map +1 -0
  316. package/dist/install-OZGCZVAX.mjs +191 -0
  317. package/dist/install-OZGCZVAX.mjs.map +1 -0
  318. package/dist/list-2CFFGBXV.mjs +76 -0
  319. package/dist/list-2D5L7NDX.mjs +71 -0
  320. package/dist/list-3RNYOMH3.js +75 -0
  321. package/dist/list-3RNYOMH3.js.map +1 -0
  322. package/dist/list-4SBPZS55.js +76 -0
  323. package/dist/list-4SBPZS55.js.map +1 -0
  324. package/dist/list-4SFFUJEU.js +78 -0
  325. package/dist/list-4SFFUJEU.js.map +1 -0
  326. package/dist/list-4WXNGK5M.mjs +80 -0
  327. package/dist/list-6U376WQD.mjs +86 -0
  328. package/dist/list-7JHALKIB.js +122 -0
  329. package/dist/list-7JHALKIB.js.map +1 -0
  330. package/dist/list-AAETVUWI.js +82 -0
  331. package/dist/list-AAETVUWI.js.map +1 -0
  332. package/dist/list-BB5WZ6RT.js +71 -0
  333. package/dist/list-BB5WZ6RT.js.map +1 -0
  334. package/dist/list-D3PAG5BA.mjs +75 -0
  335. package/dist/list-DYTJUCV5.mjs +82 -0
  336. package/dist/list-E5DZRDYB.mjs +85 -0
  337. package/dist/list-EAMGM7UH.mjs +72 -0
  338. package/dist/list-FKBXBSNK.js +75 -0
  339. package/dist/list-FKBXBSNK.js.map +1 -0
  340. package/dist/list-FMVSTEJQ.js +78 -0
  341. package/dist/list-FMVSTEJQ.js.map +1 -0
  342. package/dist/list-H342LAW7.js +72 -0
  343. package/dist/list-H342LAW7.js.map +1 -0
  344. package/dist/list-HW5FPLPX.js +83 -0
  345. package/dist/list-HW5FPLPX.js.map +1 -0
  346. package/dist/list-I7DSQZP3.js +90 -0
  347. package/dist/list-I7DSQZP3.js.map +1 -0
  348. package/dist/list-IG2LS5FB.mjs +111 -0
  349. package/dist/list-J4UCDIO7.mjs +122 -0
  350. package/dist/list-J7CSHIO7.mjs +75 -0
  351. package/dist/list-KQRCGH46.mjs +87 -0
  352. package/dist/list-LLMHZ4VJ.js +85 -0
  353. package/dist/list-LLMHZ4VJ.js.map +1 -0
  354. package/dist/list-LOMKG7GX.mjs +78 -0
  355. package/dist/list-LUTBRHMC.js +87 -0
  356. package/dist/list-LUTBRHMC.js.map +1 -0
  357. package/dist/list-MPI3XBWH.mjs +80 -0
  358. package/dist/list-MYHFWCOJ.js +80 -0
  359. package/dist/list-MYHFWCOJ.js.map +1 -0
  360. package/dist/list-NACMHMLI.mjs +53 -0
  361. package/dist/list-OFXYAGCR.mjs +78 -0
  362. package/dist/list-OSYUGPEL.js +75 -0
  363. package/dist/list-OSYUGPEL.js.map +1 -0
  364. package/dist/list-OZ3SJY3K.js +53 -0
  365. package/dist/list-OZ3SJY3K.js.map +1 -0
  366. package/dist/list-QDHXY3UU.js +111 -0
  367. package/dist/list-QDHXY3UU.js.map +1 -0
  368. package/dist/list-QEDZMWZH.mjs +75 -0
  369. package/dist/list-QN26UM36.mjs +82 -0
  370. package/dist/list-UI6UIPJA.mjs +90 -0
  371. package/dist/list-W2MSW6OM.js +78 -0
  372. package/dist/list-W2MSW6OM.js.map +1 -0
  373. package/dist/list-W5WMNQC4.js +86 -0
  374. package/dist/list-W5WMNQC4.js.map +1 -0
  375. package/dist/list-WHL45EER.mjs +83 -0
  376. package/dist/list-XXZR7LE7.js +104 -0
  377. package/dist/list-XXZR7LE7.js.map +1 -0
  378. package/dist/list-YLMF4OM2.mjs +104 -0
  379. package/dist/list-YXMRMNSO.js +80 -0
  380. package/dist/list-YXMRMNSO.js.map +1 -0
  381. package/dist/list-YZFZHZWK.mjs +78 -0
  382. package/dist/list-Z3UVHWV6.js +82 -0
  383. package/dist/list-Z3UVHWV6.js.map +1 -0
  384. package/dist/login-47UJCUSU.js +236 -0
  385. package/dist/login-47UJCUSU.js.map +1 -0
  386. package/dist/login-JR7TJML3.mjs +236 -0
  387. package/dist/login-JR7TJML3.mjs.map +1 -0
  388. package/dist/logout-device-J325Y37F.js +39 -0
  389. package/dist/logout-device-J325Y37F.js.map +1 -0
  390. package/dist/logout-device-JOPQKPFL.mjs +39 -0
  391. package/dist/observability-sdk/index.d.mts +3 -3
  392. package/dist/observability-sdk/index.d.ts +3 -3
  393. package/dist/observability-sdk/index.js +5 -5
  394. package/dist/observability-sdk/index.js.map +1 -1
  395. package/dist/observability-sdk/index.mjs +8 -8
  396. package/dist/observability-sdk/instrumentation/langchain/index.d.mts +1 -1
  397. package/dist/observability-sdk/instrumentation/langchain/index.d.ts +1 -1
  398. package/dist/observability-sdk/instrumentation/langchain/index.js +3 -3
  399. package/dist/observability-sdk/instrumentation/langchain/index.js.map +1 -1
  400. package/dist/observability-sdk/instrumentation/langchain/index.mjs +1 -1
  401. package/dist/observability-sdk/instrumentation/langchain/index.mjs.map +1 -1
  402. package/dist/observability-sdk/setup/node/index.js +4 -4
  403. package/dist/observability-sdk/setup/node/index.mjs +3 -3
  404. package/dist/open-2IGFGDDB.mjs +47 -0
  405. package/dist/open-TCBDPKWM.js +47 -0
  406. package/dist/open-TCBDPKWM.js.map +1 -0
  407. package/dist/pull-D2BGVRRQ.js +27 -0
  408. package/dist/pull-D2BGVRRQ.js.map +1 -0
  409. package/dist/pull-WYMWXDEI.mjs +27 -0
  410. package/dist/push-IEQSXRML.js +27 -0
  411. package/dist/push-IEQSXRML.js.map +1 -0
  412. package/dist/push-RVSTM24X.mjs +27 -0
  413. package/dist/query-4AKTSCJ4.js +122 -0
  414. package/dist/query-4AKTSCJ4.js.map +1 -0
  415. package/dist/query-NXIO4E43.mjs +122 -0
  416. package/dist/records-add-H42W7OL2.js +98 -0
  417. package/dist/records-add-H42W7OL2.js.map +1 -0
  418. package/dist/records-add-MEZAQFMP.mjs +98 -0
  419. package/dist/records-delete-3SW57JBS.js +46 -0
  420. package/dist/records-delete-3SW57JBS.js.map +1 -0
  421. package/dist/records-delete-TULWUHBK.mjs +46 -0
  422. package/dist/records-list-DCWD3EQ7.mjs +89 -0
  423. package/dist/records-list-IXZPDMXF.js +89 -0
  424. package/dist/records-list-IXZPDMXF.js.map +1 -0
  425. package/dist/records-update-3SCCJWLV.js +53 -0
  426. package/dist/records-update-3SCCJWLV.js.map +1 -0
  427. package/dist/records-update-HUPBIWQH.mjs +53 -0
  428. package/dist/remove-I7H6G24M.mjs +114 -0
  429. package/dist/remove-R4XQSQ7T.js +114 -0
  430. package/dist/remove-R4XQSQ7T.js.map +1 -0
  431. package/dist/rename-MX5O5TQS.mjs +42 -0
  432. package/dist/rename-UCWITCVB.js +42 -0
  433. package/dist/rename-UCWITCVB.js.map +1 -0
  434. package/dist/request-increase-FLFEPGIC.js +37 -0
  435. package/dist/request-increase-FLFEPGIC.js.map +1 -0
  436. package/dist/request-increase-NHM27JXH.mjs +37 -0
  437. package/dist/restore-URMJWFUH.js +73 -0
  438. package/dist/restore-URMJWFUH.js.map +1 -0
  439. package/dist/restore-YX52WBPO.mjs +73 -0
  440. package/dist/revoke-EBRCPCNZ.js +41 -0
  441. package/dist/revoke-EBRCPCNZ.js.map +1 -0
  442. package/dist/revoke-MOIPQURQ.mjs +44 -0
  443. package/dist/revoke-NT346HCC.js +44 -0
  444. package/dist/revoke-NT346HCC.js.map +1 -0
  445. package/dist/revoke-QM3XGPFO.mjs +41 -0
  446. package/dist/rotate-KRJIPA7Y.js +52 -0
  447. package/dist/rotate-KRJIPA7Y.js.map +1 -0
  448. package/dist/rotate-SFFTJBX6.mjs +52 -0
  449. package/dist/run-22CWT4SE.mjs +83 -0
  450. package/dist/run-BECC4Z4P.mjs +142 -0
  451. package/dist/run-E2TMYRV3.js +144 -0
  452. package/dist/run-E2TMYRV3.js.map +1 -0
  453. package/dist/run-E74YQQP5.js +77 -0
  454. package/dist/run-E74YQQP5.js.map +1 -0
  455. package/dist/run-IOZEKG5Z.js +83 -0
  456. package/dist/run-IOZEKG5Z.js.map +1 -0
  457. package/dist/run-M4SYFW7B.mjs +144 -0
  458. package/dist/run-R65VGQKC.js +131 -0
  459. package/dist/run-R65VGQKC.js.map +1 -0
  460. package/dist/run-SO2EUV4M.mjs +131 -0
  461. package/dist/run-WDKEERR7.js +142 -0
  462. package/dist/run-WDKEERR7.js.map +1 -0
  463. package/dist/run-XWZPJ7D7.mjs +77 -0
  464. package/dist/search-DK5YZUWJ.js +108 -0
  465. package/dist/search-DK5YZUWJ.js.map +1 -0
  466. package/dist/search-EE5ILLO5.mjs +108 -0
  467. package/dist/set-6JLOE6A3.js +59 -0
  468. package/dist/set-6JLOE6A3.js.map +1 -0
  469. package/dist/set-N2YD4CWA.mjs +105 -0
  470. package/dist/set-NCCBGSZI.js +105 -0
  471. package/dist/set-NCCBGSZI.js.map +1 -0
  472. package/dist/set-SQWMRODU.mjs +59 -0
  473. package/dist/status-A63BEBHA.mjs +153 -0
  474. package/dist/status-AZKXVX5K.js +120 -0
  475. package/dist/status-AZKXVX5K.js.map +1 -0
  476. package/dist/status-BRJAXF7H.mjs +56 -0
  477. package/dist/status-QEI7AEFU.mjs +120 -0
  478. package/dist/status-SPR7WGJD.js +153 -0
  479. package/dist/status-SPR7WGJD.js.map +1 -0
  480. package/dist/status-ZINQQC77.js +56 -0
  481. package/dist/status-ZINQQC77.js.map +1 -0
  482. package/dist/sync-C2FYBUXZ.mjs +132 -0
  483. package/dist/sync-N4WAZX2V.js +132 -0
  484. package/dist/sync-N4WAZX2V.js.map +1 -0
  485. package/dist/tail-2TZBJ4UU.mjs +108 -0
  486. package/dist/tail-O5WZSWUR.js +108 -0
  487. package/dist/tail-O5WZSWUR.js.map +1 -0
  488. package/dist/types-mrPkoEqK.d.mts +14817 -0
  489. package/dist/types-oFt_LG_E.d.ts +14817 -0
  490. package/dist/unset-EP5UF3HN.js +107 -0
  491. package/dist/unset-EP5UF3HN.js.map +1 -0
  492. package/dist/unset-JDBF5WZ4.mjs +107 -0
  493. package/dist/update-2NUUNQGQ.js +48 -0
  494. package/dist/update-2NUUNQGQ.js.map +1 -0
  495. package/dist/update-3HM7BQCB.mjs +79 -0
  496. package/dist/update-72TLFN4K.js +65 -0
  497. package/dist/update-72TLFN4K.js.map +1 -0
  498. package/dist/update-74CONOGX.mjs +106 -0
  499. package/dist/update-BVR5YK2N.js +106 -0
  500. package/dist/update-BVR5YK2N.js.map +1 -0
  501. package/dist/update-DWKSFXZS.mjs +76 -0
  502. package/dist/update-E2X4PTCH.mjs +66 -0
  503. package/dist/update-FZ3F4CZP.js +51 -0
  504. package/dist/update-FZ3F4CZP.js.map +1 -0
  505. package/dist/update-GEAMFHWQ.js +76 -0
  506. package/dist/update-GEAMFHWQ.js.map +1 -0
  507. package/dist/update-HTH3B37F.js +48 -0
  508. package/dist/update-HTH3B37F.js.map +1 -0
  509. package/dist/update-ICAZVWN7.mjs +48 -0
  510. package/dist/update-JZXY7QZZ.js +63 -0
  511. package/dist/update-JZXY7QZZ.js.map +1 -0
  512. package/dist/update-L3AO4LLS.js +61 -0
  513. package/dist/update-L3AO4LLS.js.map +1 -0
  514. package/dist/update-MHT2RTIA.js +75 -0
  515. package/dist/update-MHT2RTIA.js.map +1 -0
  516. package/dist/update-MICKP74Y.mjs +63 -0
  517. package/dist/update-MXMHHDQC.js +83 -0
  518. package/dist/update-MXMHHDQC.js.map +1 -0
  519. package/dist/update-OMVCUCBW.mjs +75 -0
  520. package/dist/update-OQCBAY4R.mjs +71 -0
  521. package/dist/update-REHOOIWE.mjs +61 -0
  522. package/dist/update-RG44DJJN.mjs +63 -0
  523. package/dist/update-TGAZLXSS.mjs +65 -0
  524. package/dist/update-UX7DDCTZ.js +71 -0
  525. package/dist/update-UX7DDCTZ.js.map +1 -0
  526. package/dist/update-UXXBNBD2.mjs +51 -0
  527. package/dist/update-W4TGWD7Y.js +66 -0
  528. package/dist/update-W4TGWD7Y.js.map +1 -0
  529. package/dist/update-WAKJMJSW.mjs +48 -0
  530. package/dist/update-WZFUHNL6.js +63 -0
  531. package/dist/update-WZFUHNL6.js.map +1 -0
  532. package/dist/update-X5HDX6OF.mjs +83 -0
  533. package/dist/update-YPXL5AA3.js +79 -0
  534. package/dist/update-YPXL5AA3.js.map +1 -0
  535. package/dist/upload-II4EJAVL.js +80 -0
  536. package/dist/upload-II4EJAVL.js.map +1 -0
  537. package/dist/upload-LOZDNQI7.mjs +80 -0
  538. package/dist/versions-5EUM6XGH.js +85 -0
  539. package/dist/versions-5EUM6XGH.js.map +1 -0
  540. package/dist/versions-IMI3IJXZ.mjs +85 -0
  541. package/dist/whoami-EI52YRCH.js +30 -0
  542. package/dist/whoami-EI52YRCH.js.map +1 -0
  543. package/dist/whoami-KGRA4QEY.mjs +30 -0
  544. package/dist/wrap-4RZZKIGG.mjs +34 -0
  545. package/dist/wrap-4RZZKIGG.mjs.map +1 -0
  546. package/dist/wrap-ICL5AYPL.js +34 -0
  547. package/dist/wrap-ICL5AYPL.js.map +1 -0
  548. package/package.json +3 -4
  549. package/dist/add-4GEX76FR.mjs +0 -148
  550. package/dist/add-MEIABGRA.js +0 -148
  551. package/dist/add-MEIABGRA.js.map +0 -1
  552. package/dist/archive-6YSRFVIZ.js +0 -41
  553. package/dist/archive-6YSRFVIZ.js.map +0 -1
  554. package/dist/archive-NVOBWBWQ.mjs +0 -41
  555. package/dist/assign-K37T6B4T.js +0 -54
  556. package/dist/assign-K37T6B4T.js.map +0 -1
  557. package/dist/assign-KEAEJ2CM.mjs +0 -54
  558. package/dist/chunk-24E6WZWI.js +0 -54
  559. package/dist/chunk-24E6WZWI.js.map +0 -1
  560. package/dist/chunk-27ICOQ2G.js +0 -42
  561. package/dist/chunk-27ICOQ2G.js.map +0 -1
  562. package/dist/chunk-47BQ3U2K.mjs +0 -40
  563. package/dist/chunk-4AG4UVAE.mjs +0 -96
  564. package/dist/chunk-5B7IKUNG.js +0 -297
  565. package/dist/chunk-5B7IKUNG.js.map +0 -1
  566. package/dist/chunk-5JRUUJOE.js +0 -501
  567. package/dist/chunk-5JRUUJOE.js.map +0 -1
  568. package/dist/chunk-6EEFSFAE.mjs +0 -80
  569. package/dist/chunk-6G4SEKUP.js +0 -76
  570. package/dist/chunk-6G4SEKUP.js.map +0 -1
  571. package/dist/chunk-6LJEG34C.js +0 -70
  572. package/dist/chunk-6LJEG34C.js.map +0 -1
  573. package/dist/chunk-6MVAXO5A.mjs +0 -263
  574. package/dist/chunk-6MVAXO5A.mjs.map +0 -1
  575. package/dist/chunk-6WK5F3AA.js +0 -68
  576. package/dist/chunk-6WK5F3AA.js.map +0 -1
  577. package/dist/chunk-7AXJHD6Z.mjs +0 -101
  578. package/dist/chunk-7IX4CELY.mjs +0 -63
  579. package/dist/chunk-7KTDTNXT.mjs +0 -297
  580. package/dist/chunk-7KTDTNXT.mjs.map +0 -1
  581. package/dist/chunk-7SF4OITT.js +0 -40
  582. package/dist/chunk-7SF4OITT.js.map +0 -1
  583. package/dist/chunk-7UCML4GT.mjs +0 -42
  584. package/dist/chunk-A7T4DZKC.js +0 -263
  585. package/dist/chunk-A7T4DZKC.js.map +0 -1
  586. package/dist/chunk-AA3HSZUJ.js +0 -66
  587. package/dist/chunk-AA3HSZUJ.js.map +0 -1
  588. package/dist/chunk-AZHZ4NB4.js +0 -35
  589. package/dist/chunk-AZHZ4NB4.js.map +0 -1
  590. package/dist/chunk-B4QCZKFV.mjs +0 -63
  591. package/dist/chunk-B4QCZKFV.mjs.map +0 -1
  592. package/dist/chunk-BOTX7OBC.js +0 -661
  593. package/dist/chunk-BOTX7OBC.js.map +0 -1
  594. package/dist/chunk-BTBSMJTY.mjs +0 -35
  595. package/dist/chunk-BTBSMJTY.mjs.map +0 -1
  596. package/dist/chunk-BUDHOAPR.js +0 -512
  597. package/dist/chunk-BUDHOAPR.js.map +0 -1
  598. package/dist/chunk-DAMGOHJV.mjs +0 -888
  599. package/dist/chunk-DAMGOHJV.mjs.map +0 -1
  600. package/dist/chunk-ENPWVSJU.js +0 -42
  601. package/dist/chunk-ENPWVSJU.js.map +0 -1
  602. package/dist/chunk-ERLEJBL4.js +0 -63
  603. package/dist/chunk-ERLEJBL4.js.map +0 -1
  604. package/dist/chunk-FBNSZMWH.mjs +0 -70
  605. package/dist/chunk-FDCBE3Q3.js +0 -136
  606. package/dist/chunk-FDCBE3Q3.js.map +0 -1
  607. package/dist/chunk-G335XWQW.mjs +0 -92
  608. package/dist/chunk-GAWNPFFX.js +0 -36
  609. package/dist/chunk-GAWNPFFX.js.map +0 -1
  610. package/dist/chunk-GIOZB7QD.mjs +0 -68
  611. package/dist/chunk-GJ6EEOZC.mjs +0 -96
  612. package/dist/chunk-GMK2CJBK.js +0 -663
  613. package/dist/chunk-GMK2CJBK.js.map +0 -1
  614. package/dist/chunk-GQBRWKIN.js +0 -80
  615. package/dist/chunk-GQBRWKIN.js.map +0 -1
  616. package/dist/chunk-HZHJMCEC.js +0 -63
  617. package/dist/chunk-HZHJMCEC.js.map +0 -1
  618. package/dist/chunk-IBUFY5TJ.js +0 -67
  619. package/dist/chunk-IBUFY5TJ.js.map +0 -1
  620. package/dist/chunk-IDTCVMLK.mjs +0 -34
  621. package/dist/chunk-IDTCVMLK.mjs.map +0 -1
  622. package/dist/chunk-IGRGQD4N.js +0 -34
  623. package/dist/chunk-IGRGQD4N.js.map +0 -1
  624. package/dist/chunk-IKHXX3OX.mjs +0 -53
  625. package/dist/chunk-INGKFNLE.mjs +0 -80
  626. package/dist/chunk-JGRTDNBX.js +0 -103
  627. package/dist/chunk-JGRTDNBX.js.map +0 -1
  628. package/dist/chunk-K5JHSMKT.js +0 -96
  629. package/dist/chunk-K5JHSMKT.js.map +0 -1
  630. package/dist/chunk-LAACS4ZA.js +0 -92
  631. package/dist/chunk-LAACS4ZA.js.map +0 -1
  632. package/dist/chunk-LBWSGTU2.mjs +0 -54
  633. package/dist/chunk-LU5TDIXF.mjs +0 -103
  634. package/dist/chunk-N6EIP3NH.js +0 -51
  635. package/dist/chunk-N6EIP3NH.js.map +0 -1
  636. package/dist/chunk-NCK4JOHC.mjs +0 -36
  637. package/dist/chunk-O3ZXQR6P.js +0 -53
  638. package/dist/chunk-O3ZXQR6P.js.map +0 -1
  639. package/dist/chunk-PQH77QZ4.mjs +0 -90
  640. package/dist/chunk-PSY3PSZB.mjs +0 -51
  641. package/dist/chunk-Q5MA2QJB.js +0 -346
  642. package/dist/chunk-Q5MA2QJB.js.map +0 -1
  643. package/dist/chunk-RNIRFGGU.js +0 -300
  644. package/dist/chunk-RNIRFGGU.js.map +0 -1
  645. package/dist/chunk-S47MLKDG.mjs +0 -300
  646. package/dist/chunk-S4T3LQEP.mjs +0 -136
  647. package/dist/chunk-SDUILEFR.mjs +0 -661
  648. package/dist/chunk-SDUILEFR.mjs.map +0 -1
  649. package/dist/chunk-TJDCA5V5.mjs +0 -42
  650. package/dist/chunk-TNDMQE63.mjs +0 -85
  651. package/dist/chunk-TTW74YAZ.js +0 -85
  652. package/dist/chunk-TTW74YAZ.js.map +0 -1
  653. package/dist/chunk-U42IPGT7.mjs +0 -196
  654. package/dist/chunk-VBJAWDW3.js +0 -101
  655. package/dist/chunk-VBJAWDW3.js.map +0 -1
  656. package/dist/chunk-VFXRMLPF.mjs +0 -66
  657. package/dist/chunk-VGZOUL5J.mjs +0 -285
  658. package/dist/chunk-VGZOUL5J.mjs.map +0 -1
  659. package/dist/chunk-VW3GTPRE.mjs +0 -67
  660. package/dist/chunk-VW3GTPRE.mjs.map +0 -1
  661. package/dist/chunk-WAZCNHL6.js +0 -90
  662. package/dist/chunk-WAZCNHL6.js.map +0 -1
  663. package/dist/chunk-WMFPZH2H.js +0 -80
  664. package/dist/chunk-WMFPZH2H.js.map +0 -1
  665. package/dist/chunk-WYJMMVPY.mjs +0 -346
  666. package/dist/chunk-WYJMMVPY.mjs.map +0 -1
  667. package/dist/chunk-XIUS2BTF.mjs +0 -76
  668. package/dist/chunk-XKXYBWXC.mjs +0 -663
  669. package/dist/chunk-XRVWR7XT.js +0 -96
  670. package/dist/chunk-XRVWR7XT.js.map +0 -1
  671. package/dist/chunk-YKGQVSLF.mjs +0 -501
  672. package/dist/chunk-YKGQVSLF.mjs.map +0 -1
  673. package/dist/chunk-YN2GYHG3.js +0 -285
  674. package/dist/chunk-YN2GYHG3.js.map +0 -1
  675. package/dist/chunk-YWMMPIH3.mjs +0 -512
  676. package/dist/chunk-ZFXGZHBF.js +0 -196
  677. package/dist/chunk-ZFXGZHBF.js.map +0 -1
  678. package/dist/chunk-ZSE5WWAE.js +0 -888
  679. package/dist/chunk-ZSE5WWAE.js.map +0 -1
  680. package/dist/config-CHV2IOQG.js +0 -96
  681. package/dist/config-CHV2IOQG.js.map +0 -1
  682. package/dist/config-IYRMS4ZK.mjs +0 -96
  683. package/dist/create-2G4NQNHU.mjs +0 -42
  684. package/dist/create-2LJ62VNS.mjs +0 -49
  685. package/dist/create-2N57IFDQ.js +0 -72
  686. package/dist/create-2N57IFDQ.js.map +0 -1
  687. package/dist/create-2NXTHN6A.js +0 -75
  688. package/dist/create-2NXTHN6A.js.map +0 -1
  689. package/dist/create-3EIDSUIJ.mjs +0 -87
  690. package/dist/create-3HJCKNU5.mjs +0 -94
  691. package/dist/create-3VT7KZUB.js +0 -91
  692. package/dist/create-3VT7KZUB.js.map +0 -1
  693. package/dist/create-4WCBTDWG.mjs +0 -75
  694. package/dist/create-5Y4S36FY.js +0 -23
  695. package/dist/create-5Y4S36FY.js.map +0 -1
  696. package/dist/create-6CRAXV6K.js +0 -92
  697. package/dist/create-6CRAXV6K.js.map +0 -1
  698. package/dist/create-6ZTJKKOK.js +0 -42
  699. package/dist/create-6ZTJKKOK.js.map +0 -1
  700. package/dist/create-7E4ZM3XD.mjs +0 -23
  701. package/dist/create-7QEVFFOX.mjs +0 -88
  702. package/dist/create-7ZQJ3F2Y.mjs +0 -92
  703. package/dist/create-AXF4EUTJ.mjs +0 -48
  704. package/dist/create-BHHL23VO.mjs +0 -43
  705. package/dist/create-BPLS22U7.js +0 -58
  706. package/dist/create-BPLS22U7.js.map +0 -1
  707. package/dist/create-D4ROOQBA.js +0 -50
  708. package/dist/create-D4ROOQBA.js.map +0 -1
  709. package/dist/create-EN7MTBTX.mjs +0 -72
  710. package/dist/create-FISF5JU7.mjs +0 -52
  711. package/dist/create-FLOOVKRB.mjs +0 -88
  712. package/dist/create-FPEEAMQ5.js +0 -87
  713. package/dist/create-FPEEAMQ5.js.map +0 -1
  714. package/dist/create-H2JR7ABG.js +0 -49
  715. package/dist/create-H2JR7ABG.js.map +0 -1
  716. package/dist/create-H2TIHE5T.js +0 -88
  717. package/dist/create-H2TIHE5T.js.map +0 -1
  718. package/dist/create-JP3WFT6I.js +0 -94
  719. package/dist/create-JP3WFT6I.js.map +0 -1
  720. package/dist/create-K652IF2J.js +0 -48
  721. package/dist/create-K652IF2J.js.map +0 -1
  722. package/dist/create-LSO2AIFL.js +0 -88
  723. package/dist/create-LSO2AIFL.js.map +0 -1
  724. package/dist/create-OECBWP4Y.js +0 -43
  725. package/dist/create-OECBWP4Y.js.map +0 -1
  726. package/dist/create-RXM4RKS6.mjs +0 -50
  727. package/dist/create-SOUFLICB.mjs +0 -91
  728. package/dist/create-TVECYSFN.js +0 -71
  729. package/dist/create-TVECYSFN.js.map +0 -1
  730. package/dist/create-UMTRLQFF.js +0 -52
  731. package/dist/create-UMTRLQFF.js.map +0 -1
  732. package/dist/create-VSSQ6OFM.mjs +0 -58
  733. package/dist/create-YSRX2FMP.mjs +0 -71
  734. package/dist/delete-2IICL4XZ.mjs +0 -59
  735. package/dist/delete-2ZD5HIW2.mjs +0 -57
  736. package/dist/delete-3KKJZN6K.js +0 -39
  737. package/dist/delete-3KKJZN6K.js.map +0 -1
  738. package/dist/delete-5UKD2R4Z.js +0 -52
  739. package/dist/delete-5UKD2R4Z.js.map +0 -1
  740. package/dist/delete-6CNRY62S.mjs +0 -38
  741. package/dist/delete-6NOHDD2Z.js +0 -44
  742. package/dist/delete-6NOHDD2Z.js.map +0 -1
  743. package/dist/delete-6XG2WDEO.mjs +0 -39
  744. package/dist/delete-7P7A27VB.js +0 -38
  745. package/dist/delete-7P7A27VB.js.map +0 -1
  746. package/dist/delete-AATXSN7I.mjs +0 -52
  747. package/dist/delete-AIH5TOFH.js +0 -42
  748. package/dist/delete-AIH5TOFH.js.map +0 -1
  749. package/dist/delete-CC57AY25.mjs +0 -52
  750. package/dist/delete-DJTGZ7AI.js +0 -52
  751. package/dist/delete-DJTGZ7AI.js.map +0 -1
  752. package/dist/delete-F7EURJQ4.js +0 -61
  753. package/dist/delete-F7EURJQ4.js.map +0 -1
  754. package/dist/delete-GWIIZSGG.js +0 -41
  755. package/dist/delete-GWIIZSGG.js.map +0 -1
  756. package/dist/delete-HDCCBOV2.js +0 -52
  757. package/dist/delete-HDCCBOV2.js.map +0 -1
  758. package/dist/delete-HNPNRQJ3.mjs +0 -59
  759. package/dist/delete-K2LNTKGR.mjs +0 -52
  760. package/dist/delete-LRDQWGJL.js +0 -52
  761. package/dist/delete-LRDQWGJL.js.map +0 -1
  762. package/dist/delete-MXFWOQOC.mjs +0 -39
  763. package/dist/delete-PS3CCHRM.js +0 -59
  764. package/dist/delete-PS3CCHRM.js.map +0 -1
  765. package/dist/delete-QDOPHWJL.js +0 -57
  766. package/dist/delete-QDOPHWJL.js.map +0 -1
  767. package/dist/delete-QON3MSB4.mjs +0 -42
  768. package/dist/delete-RD4BG4YN.mjs +0 -44
  769. package/dist/delete-SAF26P5T.mjs +0 -61
  770. package/dist/delete-SLGS2RVO.mjs +0 -52
  771. package/dist/delete-UR3JVTTJ.js +0 -39
  772. package/dist/delete-UR3JVTTJ.js.map +0 -1
  773. package/dist/delete-XOZV7EKE.js +0 -59
  774. package/dist/delete-XOZV7EKE.js.map +0 -1
  775. package/dist/delete-ZODFFHGL.mjs +0 -41
  776. package/dist/download-24H2CONO.js +0 -100
  777. package/dist/download-24H2CONO.js.map +0 -1
  778. package/dist/download-S4J24VMD.mjs +0 -100
  779. package/dist/duplicate-ACEKEWUB.mjs +0 -45
  780. package/dist/duplicate-W6A5U6Y7.js +0 -45
  781. package/dist/duplicate-W6A5U6Y7.js.map +0 -1
  782. package/dist/export-X7ETQY6Q.js +0 -103
  783. package/dist/export-X7ETQY6Q.js.map +0 -1
  784. package/dist/export-YCLY34NK.mjs +0 -103
  785. package/dist/get-227YSVHT.mjs +0 -76
  786. package/dist/get-2JK5KHLL.js +0 -71
  787. package/dist/get-2JK5KHLL.js.map +0 -1
  788. package/dist/get-3KB4ZEDT.js +0 -49
  789. package/dist/get-3KB4ZEDT.js.map +0 -1
  790. package/dist/get-3Y2VJHHB.js +0 -70
  791. package/dist/get-3Y2VJHHB.js.map +0 -1
  792. package/dist/get-42HT3UZE.js +0 -149
  793. package/dist/get-42HT3UZE.js.map +0 -1
  794. package/dist/get-4IRLTNBU.mjs +0 -51
  795. package/dist/get-AGPQEUXN.js +0 -66
  796. package/dist/get-AGPQEUXN.js.map +0 -1
  797. package/dist/get-FKI6S6UA.mjs +0 -70
  798. package/dist/get-FVCI6CT7.js +0 -51
  799. package/dist/get-FVCI6CT7.js.map +0 -1
  800. package/dist/get-I2QLZDN3.js +0 -52
  801. package/dist/get-I2QLZDN3.js.map +0 -1
  802. package/dist/get-I5SLPN3R.mjs +0 -71
  803. package/dist/get-KPYB5SRI.js +0 -76
  804. package/dist/get-KPYB5SRI.js.map +0 -1
  805. package/dist/get-LUOCR5Q4.js +0 -71
  806. package/dist/get-LUOCR5Q4.js.map +0 -1
  807. package/dist/get-O2F3LNHV.js +0 -67
  808. package/dist/get-O2F3LNHV.js.map +0 -1
  809. package/dist/get-P52J4Q2K.mjs +0 -56
  810. package/dist/get-Q4UDLUZC.mjs +0 -71
  811. package/dist/get-R3XLY7EV.mjs +0 -52
  812. package/dist/get-RGF5I4NP.mjs +0 -66
  813. package/dist/get-T4R3FTRG.mjs +0 -94
  814. package/dist/get-THSHHMRP.js +0 -52
  815. package/dist/get-THSHHMRP.js.map +0 -1
  816. package/dist/get-TJYW4Y6Y.js +0 -85
  817. package/dist/get-TJYW4Y6Y.js.map +0 -1
  818. package/dist/get-UI37DBK7.js +0 -56
  819. package/dist/get-UI37DBK7.js.map +0 -1
  820. package/dist/get-UKIVU6SR.js +0 -71
  821. package/dist/get-UKIVU6SR.js.map +0 -1
  822. package/dist/get-VH3K2BVI.mjs +0 -85
  823. package/dist/get-VQCPEJGR.mjs +0 -52
  824. package/dist/get-X6LBTFUZ.js +0 -68
  825. package/dist/get-X6LBTFUZ.js.map +0 -1
  826. package/dist/get-XQENNCHW.mjs +0 -149
  827. package/dist/get-YGJXWCBK.mjs +0 -49
  828. package/dist/get-YRW4KG2W.js +0 -94
  829. package/dist/get-YRW4KG2W.js.map +0 -1
  830. package/dist/get-YT2RX3NV.mjs +0 -67
  831. package/dist/get-Z4CE42C2.mjs +0 -68
  832. package/dist/get-ZT3EGWZO.mjs +0 -71
  833. package/dist/health-G7QIL32K.js +0 -73
  834. package/dist/health-G7QIL32K.js.map +0 -1
  835. package/dist/health-K4TNDKO5.mjs +0 -73
  836. package/dist/implementation-Di-ClSsj.d.mts +0 -716
  837. package/dist/implementation-DmdujeFe.d.ts +0 -716
  838. package/dist/ingestion-templates-4JIA7SSF.mjs +0 -185
  839. package/dist/ingestion-templates-4JIA7SSF.mjs.map +0 -1
  840. package/dist/ingestion-templates-ZV2373JE.js +0 -185
  841. package/dist/ingestion-templates-ZV2373JE.js.map +0 -1
  842. package/dist/init-MKAX64ZI.mjs +0 -16
  843. package/dist/init-YE44LLGI.js +0 -16
  844. package/dist/init-YE44LLGI.js.map +0 -1
  845. package/dist/init-shell-MCX27UIL.mjs +0 -71
  846. package/dist/init-shell-MCX27UIL.mjs.map +0 -1
  847. package/dist/init-shell-YK7WR2C2.js +0 -71
  848. package/dist/init-shell-YK7WR2C2.js.map +0 -1
  849. package/dist/list-2UDKSKUW.js +0 -90
  850. package/dist/list-2UDKSKUW.js.map +0 -1
  851. package/dist/list-337B5YT7.js +0 -82
  852. package/dist/list-337B5YT7.js.map +0 -1
  853. package/dist/list-3JNRAWOH.mjs +0 -78
  854. package/dist/list-4RH4CWK5.js +0 -75
  855. package/dist/list-4RH4CWK5.js.map +0 -1
  856. package/dist/list-4VEUUKAJ.mjs +0 -104
  857. package/dist/list-4WKDFP35.mjs +0 -76
  858. package/dist/list-5XTAI7VR.mjs +0 -82
  859. package/dist/list-6NRBCWDI.mjs +0 -90
  860. package/dist/list-6NUP2HER.js +0 -71
  861. package/dist/list-6NUP2HER.js.map +0 -1
  862. package/dist/list-6VJCWNTI.js +0 -82
  863. package/dist/list-6VJCWNTI.js.map +0 -1
  864. package/dist/list-6XXUT5X4.js +0 -78
  865. package/dist/list-6XXUT5X4.js.map +0 -1
  866. package/dist/list-ATZJY2CP.js +0 -104
  867. package/dist/list-ATZJY2CP.js.map +0 -1
  868. package/dist/list-BWUTGRUF.js +0 -78
  869. package/dist/list-BWUTGRUF.js.map +0 -1
  870. package/dist/list-ERQ3WK5F.mjs +0 -75
  871. package/dist/list-FRC3XP2B.js +0 -87
  872. package/dist/list-FRC3XP2B.js.map +0 -1
  873. package/dist/list-FRGTLMAT.js +0 -78
  874. package/dist/list-FRGTLMAT.js.map +0 -1
  875. package/dist/list-FSCLCJIC.js +0 -75
  876. package/dist/list-FSCLCJIC.js.map +0 -1
  877. package/dist/list-G3NQU4CF.mjs +0 -122
  878. package/dist/list-GYB2SRCD.js +0 -86
  879. package/dist/list-GYB2SRCD.js.map +0 -1
  880. package/dist/list-HBDJQWYB.js +0 -76
  881. package/dist/list-HBDJQWYB.js.map +0 -1
  882. package/dist/list-IGQHUFIA.mjs +0 -75
  883. package/dist/list-INJDEND4.mjs +0 -111
  884. package/dist/list-IPROZBHH.js +0 -122
  885. package/dist/list-IPROZBHH.js.map +0 -1
  886. package/dist/list-IXZHX6GD.mjs +0 -78
  887. package/dist/list-JF7RSCSB.js +0 -72
  888. package/dist/list-JF7RSCSB.js.map +0 -1
  889. package/dist/list-JIKEGPWA.js +0 -80
  890. package/dist/list-JIKEGPWA.js.map +0 -1
  891. package/dist/list-LA4T3NFF.mjs +0 -71
  892. package/dist/list-MDQIBRYM.js +0 -83
  893. package/dist/list-MDQIBRYM.js.map +0 -1
  894. package/dist/list-MFLOZLWX.mjs +0 -72
  895. package/dist/list-MN5GMDIA.mjs +0 -87
  896. package/dist/list-NYC7NNHZ.mjs +0 -83
  897. package/dist/list-OHWSFPJG.js +0 -111
  898. package/dist/list-OHWSFPJG.js.map +0 -1
  899. package/dist/list-PS4WGKYB.mjs +0 -86
  900. package/dist/list-RSV4NYAB.mjs +0 -80
  901. package/dist/list-SVPQEIBS.js +0 -53
  902. package/dist/list-SVPQEIBS.js.map +0 -1
  903. package/dist/list-SW7JF6T3.js +0 -75
  904. package/dist/list-SW7JF6T3.js.map +0 -1
  905. package/dist/list-TA2FG3T7.mjs +0 -75
  906. package/dist/list-THD3SUTO.mjs +0 -53
  907. package/dist/list-TML6Y76M.mjs +0 -80
  908. package/dist/list-TVEK6TTO.js +0 -80
  909. package/dist/list-TVEK6TTO.js.map +0 -1
  910. package/dist/list-U2QLKGHQ.mjs +0 -78
  911. package/dist/list-WMW7X6LM.js +0 -85
  912. package/dist/list-WMW7X6LM.js.map +0 -1
  913. package/dist/list-WWZ5ACSA.mjs +0 -85
  914. package/dist/list-YYUEVF7B.mjs +0 -82
  915. package/dist/login-VS2QKX4F.mjs +0 -231
  916. package/dist/login-VS2QKX4F.mjs.map +0 -1
  917. package/dist/login-YM5YEWKL.js +0 -231
  918. package/dist/login-YM5YEWKL.js.map +0 -1
  919. package/dist/logout-device-4GI5URWD.js +0 -39
  920. package/dist/logout-device-4GI5URWD.js.map +0 -1
  921. package/dist/logout-device-D34PE5R6.mjs +0 -39
  922. package/dist/open-JIZ3KJHS.mjs +0 -47
  923. package/dist/open-LGMC22E5.js +0 -47
  924. package/dist/open-LGMC22E5.js.map +0 -1
  925. package/dist/pull-AVI2XHRD.js +0 -27
  926. package/dist/pull-AVI2XHRD.js.map +0 -1
  927. package/dist/pull-QECZPX6I.mjs +0 -27
  928. package/dist/push-OK6KQPSS.mjs +0 -27
  929. package/dist/push-RGULJMK2.js +0 -27
  930. package/dist/push-RGULJMK2.js.map +0 -1
  931. package/dist/query-6SZHL5A7.mjs +0 -122
  932. package/dist/query-NXBTUU3H.js +0 -122
  933. package/dist/query-NXBTUU3H.js.map +0 -1
  934. package/dist/records-add-KLATF7JZ.mjs +0 -98
  935. package/dist/records-add-WVEVR2O5.js +0 -98
  936. package/dist/records-add-WVEVR2O5.js.map +0 -1
  937. package/dist/records-delete-M6BKHEHK.js +0 -46
  938. package/dist/records-delete-M6BKHEHK.js.map +0 -1
  939. package/dist/records-delete-VAWKLUIW.mjs +0 -46
  940. package/dist/records-list-B7GSIKLG.js +0 -89
  941. package/dist/records-list-B7GSIKLG.js.map +0 -1
  942. package/dist/records-list-K5XNEI4A.mjs +0 -89
  943. package/dist/records-update-MY6PKLQJ.mjs +0 -53
  944. package/dist/records-update-NWU6KXBM.js +0 -53
  945. package/dist/records-update-NWU6KXBM.js.map +0 -1
  946. package/dist/remove-2KJSQ3WB.mjs +0 -114
  947. package/dist/remove-OSWA74GW.js +0 -114
  948. package/dist/remove-OSWA74GW.js.map +0 -1
  949. package/dist/rename-VUJWXRAE.mjs +0 -42
  950. package/dist/rename-X6CMKAEP.js +0 -42
  951. package/dist/rename-X6CMKAEP.js.map +0 -1
  952. package/dist/request-increase-42B3536U.js +0 -37
  953. package/dist/request-increase-42B3536U.js.map +0 -1
  954. package/dist/request-increase-SFKA63AF.mjs +0 -37
  955. package/dist/restore-C5ZHMHY2.js +0 -73
  956. package/dist/restore-C5ZHMHY2.js.map +0 -1
  957. package/dist/restore-UJDY5PA2.mjs +0 -73
  958. package/dist/revoke-PHX66V2T.mjs +0 -41
  959. package/dist/revoke-VXXP7OOI.js +0 -41
  960. package/dist/revoke-VXXP7OOI.js.map +0 -1
  961. package/dist/revoke-XMCUFG4U.mjs +0 -44
  962. package/dist/revoke-ZJU55RDS.js +0 -44
  963. package/dist/revoke-ZJU55RDS.js.map +0 -1
  964. package/dist/rotate-7RPYZCQE.js +0 -52
  965. package/dist/rotate-7RPYZCQE.js.map +0 -1
  966. package/dist/rotate-FT7QLVF7.mjs +0 -52
  967. package/dist/run-2VZ67L4G.mjs +0 -77
  968. package/dist/run-E6DQEKM4.mjs +0 -144
  969. package/dist/run-H2M4YXRR.js +0 -142
  970. package/dist/run-H2M4YXRR.js.map +0 -1
  971. package/dist/run-HXPRFY7B.mjs +0 -83
  972. package/dist/run-IKVCFIXR.mjs +0 -131
  973. package/dist/run-LBJLMDPT.js +0 -77
  974. package/dist/run-LBJLMDPT.js.map +0 -1
  975. package/dist/run-SSGAMQGK.js +0 -131
  976. package/dist/run-SSGAMQGK.js.map +0 -1
  977. package/dist/run-TUKXHL6F.js +0 -144
  978. package/dist/run-TUKXHL6F.js.map +0 -1
  979. package/dist/run-UFLOWPPS.js +0 -83
  980. package/dist/run-UFLOWPPS.js.map +0 -1
  981. package/dist/run-ZWA34V4H.mjs +0 -142
  982. package/dist/search-UDJ7ZFY4.mjs +0 -108
  983. package/dist/search-VPMZRS7P.js +0 -108
  984. package/dist/search-VPMZRS7P.js.map +0 -1
  985. package/dist/set-CUXDTHYY.mjs +0 -105
  986. package/dist/set-EP7W3ON6.js +0 -59
  987. package/dist/set-EP7W3ON6.js.map +0 -1
  988. package/dist/set-PJQOSTLU.mjs +0 -59
  989. package/dist/set-RKD2QZCC.js +0 -105
  990. package/dist/set-RKD2QZCC.js.map +0 -1
  991. package/dist/status-CHKZG56M.js +0 -153
  992. package/dist/status-CHKZG56M.js.map +0 -1
  993. package/dist/status-HQCKMCWR.js +0 -120
  994. package/dist/status-HQCKMCWR.js.map +0 -1
  995. package/dist/status-LA3NQTLE.mjs +0 -56
  996. package/dist/status-QETT7FVP.mjs +0 -153
  997. package/dist/status-S4KZQPKI.mjs +0 -120
  998. package/dist/status-VHIZIX4I.js +0 -56
  999. package/dist/status-VHIZIX4I.js.map +0 -1
  1000. package/dist/sync-7S4VNKQ2.mjs +0 -132
  1001. package/dist/sync-VCLCSO7U.js +0 -132
  1002. package/dist/sync-VCLCSO7U.js.map +0 -1
  1003. package/dist/tail-ULXKVXW3.js +0 -108
  1004. package/dist/tail-ULXKVXW3.js.map +0 -1
  1005. package/dist/tail-ZJQ47UIQ.mjs +0 -108
  1006. package/dist/types-B2StMPS9.d.ts +0 -15127
  1007. package/dist/types-C4CiVUee.d.mts +0 -15127
  1008. package/dist/unset-MEGDDKXV.mjs +0 -107
  1009. package/dist/unset-XPUCPT3N.js +0 -107
  1010. package/dist/unset-XPUCPT3N.js.map +0 -1
  1011. package/dist/update-3YLSOWLJ.js +0 -65
  1012. package/dist/update-3YLSOWLJ.js.map +0 -1
  1013. package/dist/update-6AS42QB3.js +0 -61
  1014. package/dist/update-6AS42QB3.js.map +0 -1
  1015. package/dist/update-6GIGMIG2.mjs +0 -48
  1016. package/dist/update-6UMNXAPI.mjs +0 -63
  1017. package/dist/update-7DD7XZTQ.mjs +0 -51
  1018. package/dist/update-ALI64WHT.mjs +0 -65
  1019. package/dist/update-BFJQZTNT.mjs +0 -71
  1020. package/dist/update-HESJNNS3.js +0 -75
  1021. package/dist/update-HESJNNS3.js.map +0 -1
  1022. package/dist/update-ICA7BC5Z.mjs +0 -61
  1023. package/dist/update-IILT7FYH.js +0 -71
  1024. package/dist/update-IILT7FYH.js.map +0 -1
  1025. package/dist/update-IY7PYSRR.js +0 -63
  1026. package/dist/update-IY7PYSRR.js.map +0 -1
  1027. package/dist/update-JRGTX3U5.js +0 -79
  1028. package/dist/update-JRGTX3U5.js.map +0 -1
  1029. package/dist/update-JXX4BB7X.js +0 -63
  1030. package/dist/update-JXX4BB7X.js.map +0 -1
  1031. package/dist/update-KDOTSB52.js +0 -48
  1032. package/dist/update-KDOTSB52.js.map +0 -1
  1033. package/dist/update-KVIOASZK.mjs +0 -83
  1034. package/dist/update-KYBXRF3H.js +0 -76
  1035. package/dist/update-KYBXRF3H.js.map +0 -1
  1036. package/dist/update-L4LL2NTL.js +0 -106
  1037. package/dist/update-L4LL2NTL.js.map +0 -1
  1038. package/dist/update-LCWVSFD4.js +0 -51
  1039. package/dist/update-LCWVSFD4.js.map +0 -1
  1040. package/dist/update-LKIIDE6O.mjs +0 -106
  1041. package/dist/update-LROGOTP2.mjs +0 -79
  1042. package/dist/update-NDZHPS57.mjs +0 -48
  1043. package/dist/update-QEWSIW2K.mjs +0 -75
  1044. package/dist/update-QWLHSZDT.js +0 -83
  1045. package/dist/update-QWLHSZDT.js.map +0 -1
  1046. package/dist/update-R32MYVWM.mjs +0 -63
  1047. package/dist/update-TSFSR7H6.js +0 -66
  1048. package/dist/update-TSFSR7H6.js.map +0 -1
  1049. package/dist/update-WRC7FRCH.mjs +0 -76
  1050. package/dist/update-Y2XSQ2OD.js +0 -48
  1051. package/dist/update-Y2XSQ2OD.js.map +0 -1
  1052. package/dist/update-ZXOKDD3E.mjs +0 -66
  1053. package/dist/upload-KVPSPIOR.mjs +0 -80
  1054. package/dist/upload-XTMQBQZB.js +0 -80
  1055. package/dist/upload-XTMQBQZB.js.map +0 -1
  1056. package/dist/user-ingestion-bindings-2GNU635P.mjs +0 -129
  1057. package/dist/user-ingestion-bindings-2GNU635P.mjs.map +0 -1
  1058. package/dist/user-ingestion-bindings-JV74TMGD.js +0 -129
  1059. package/dist/user-ingestion-bindings-JV74TMGD.js.map +0 -1
  1060. package/dist/versions-IU623A4W.mjs +0 -85
  1061. package/dist/versions-ZE6BRHRD.js +0 -85
  1062. package/dist/versions-ZE6BRHRD.js.map +0 -1
  1063. package/dist/whoami-2WXL4TMP.mjs +0 -30
  1064. package/dist/whoami-TC6A4G4U.js +0 -30
  1065. package/dist/whoami-TC6A4G4U.js.map +0 -1
  1066. package/dist/wrap-FIHQNQEH.js +0 -33
  1067. package/dist/wrap-FIHQNQEH.js.map +0 -1
  1068. package/dist/wrap-OZUCTG73.mjs +0 -33
  1069. package/dist/wrap-OZUCTG73.mjs.map +0 -1
  1070. /package/dist/{add-4GEX76FR.mjs.map → add-Q2IP7YH3.mjs.map} +0 -0
  1071. /package/dist/{archive-NVOBWBWQ.mjs.map → archive-KA3DDEKA.mjs.map} +0 -0
  1072. /package/dist/{assign-KEAEJ2CM.mjs.map → assign-MHDHXJLE.mjs.map} +0 -0
  1073. /package/dist/{chunk-7AXJHD6Z.mjs.map → chunk-56HLVZTH.mjs.map} +0 -0
  1074. /package/dist/{chunk-S4T3LQEP.mjs.map → chunk-6JLYEKSN.mjs.map} +0 -0
  1075. /package/dist/{chunk-7IX4CELY.mjs.map → chunk-76F3JX5P.mjs.map} +0 -0
  1076. /package/dist/{chunk-4AG4UVAE.mjs.map → chunk-BGYXA2QV.mjs.map} +0 -0
  1077. /package/dist/{chunk-YWMMPIH3.mjs.map → chunk-C5MLYQPW.mjs.map} +0 -0
  1078. /package/dist/{chunk-PQH77QZ4.mjs.map → chunk-D3UYY7BE.mjs.map} +0 -0
  1079. /package/dist/{chunk-LU5TDIXF.mjs.map → chunk-GCSSYCND.mjs.map} +0 -0
  1080. /package/dist/{chunk-S47MLKDG.mjs.map → chunk-GPKFTIVT.mjs.map} +0 -0
  1081. /package/dist/{chunk-G335XWQW.mjs.map → chunk-IV5D5ONR.mjs.map} +0 -0
  1082. /package/dist/{chunk-XIUS2BTF.mjs.map → chunk-JU4TVC65.mjs.map} +0 -0
  1083. /package/dist/{chunk-XKXYBWXC.mjs.map → chunk-KSHHFBLP.mjs.map} +0 -0
  1084. /package/dist/{chunk-TJDCA5V5.mjs.map → chunk-OAKLOXKJ.mjs.map} +0 -0
  1085. /package/dist/{chunk-VFXRMLPF.mjs.map → chunk-QU7P4VY4.mjs.map} +0 -0
  1086. /package/dist/{chunk-TNDMQE63.mjs.map → chunk-TXNH2FAV.mjs.map} +0 -0
  1087. /package/dist/{chunk-GIOZB7QD.mjs.map → chunk-UGCEHB5O.mjs.map} +0 -0
  1088. /package/dist/{chunk-NCK4JOHC.mjs.map → chunk-VRGHREA7.mjs.map} +0 -0
  1089. /package/dist/{chunk-47BQ3U2K.mjs.map → chunk-VSI557PV.mjs.map} +0 -0
  1090. /package/dist/{chunk-IKHXX3OX.mjs.map → chunk-Y4SR2XOX.mjs.map} +0 -0
  1091. /package/dist/{chunk-6EEFSFAE.mjs.map → chunk-YCYMQFCK.mjs.map} +0 -0
  1092. /package/dist/{chunk-PSY3PSZB.mjs.map → chunk-YD7YGJGS.mjs.map} +0 -0
  1093. /package/dist/{chunk-U42IPGT7.mjs.map → chunk-YOFMLSCR.mjs.map} +0 -0
  1094. /package/dist/{chunk-7UCML4GT.mjs.map → chunk-Z44MRFLB.mjs.map} +0 -0
  1095. /package/dist/{chunk-INGKFNLE.mjs.map → chunk-ZHDSVAH4.mjs.map} +0 -0
  1096. /package/dist/{chunk-LBWSGTU2.mjs.map → chunk-ZK7JBAZA.mjs.map} +0 -0
  1097. /package/dist/{chunk-FBNSZMWH.mjs.map → chunk-ZPNBTB6K.mjs.map} +0 -0
  1098. /package/dist/{chunk-GJ6EEOZC.mjs.map → chunk-ZXNNEA3K.mjs.map} +0 -0
  1099. /package/dist/{config-IYRMS4ZK.mjs.map → config-GLVFORAH.mjs.map} +0 -0
  1100. /package/dist/{create-7QEVFFOX.mjs.map → create-4Z7UHJRP.mjs.map} +0 -0
  1101. /package/dist/{create-YSRX2FMP.mjs.map → create-5LJE5X75.mjs.map} +0 -0
  1102. /package/dist/{create-2G4NQNHU.mjs.map → create-6P52UISK.mjs.map} +0 -0
  1103. /package/dist/{create-FLOOVKRB.mjs.map → create-BAQA2KNQ.mjs.map} +0 -0
  1104. /package/dist/{create-VSSQ6OFM.mjs.map → create-CELHF3VQ.mjs.map} +0 -0
  1105. /package/dist/{create-EN7MTBTX.mjs.map → create-CUXVFTCC.mjs.map} +0 -0
  1106. /package/dist/{create-7ZQJ3F2Y.mjs.map → create-IBNHVCH3.mjs.map} +0 -0
  1107. /package/dist/{create-3HJCKNU5.mjs.map → create-JF67X7QF.mjs.map} +0 -0
  1108. /package/dist/{create-BHHL23VO.mjs.map → create-JOHDQFGP.mjs.map} +0 -0
  1109. /package/dist/{create-2LJ62VNS.mjs.map → create-LIZ5IYDO.mjs.map} +0 -0
  1110. /package/dist/{create-SOUFLICB.mjs.map → create-MFWGGCWU.mjs.map} +0 -0
  1111. /package/dist/{create-FISF5JU7.mjs.map → create-NWRMJPUH.mjs.map} +0 -0
  1112. /package/dist/{create-4WCBTDWG.mjs.map → create-NZK24RKX.mjs.map} +0 -0
  1113. /package/dist/{create-3EIDSUIJ.mjs.map → create-Q4S2ROG7.mjs.map} +0 -0
  1114. /package/dist/{create-AXF4EUTJ.mjs.map → create-QG5BF2IZ.mjs.map} +0 -0
  1115. /package/dist/{create-RXM4RKS6.mjs.map → create-RRA765DL.mjs.map} +0 -0
  1116. /package/dist/{create-7E4ZM3XD.mjs.map → create-TC73WSZM.mjs.map} +0 -0
  1117. /package/dist/{delete-2IICL4XZ.mjs.map → delete-2DVGKYHJ.mjs.map} +0 -0
  1118. /package/dist/{delete-SAF26P5T.mjs.map → delete-5IGR7LFW.mjs.map} +0 -0
  1119. /package/dist/{delete-HNPNRQJ3.mjs.map → delete-6NZTBEBA.mjs.map} +0 -0
  1120. /package/dist/{delete-K2LNTKGR.mjs.map → delete-CIT5VULY.mjs.map} +0 -0
  1121. /package/dist/{delete-SLGS2RVO.mjs.map → delete-FCSC3CZJ.mjs.map} +0 -0
  1122. /package/dist/{delete-CC57AY25.mjs.map → delete-HRUPAVC6.mjs.map} +0 -0
  1123. /package/dist/{delete-AATXSN7I.mjs.map → delete-IRP6N4SD.mjs.map} +0 -0
  1124. /package/dist/{delete-MXFWOQOC.mjs.map → delete-M636IL4I.mjs.map} +0 -0
  1125. /package/dist/{delete-RD4BG4YN.mjs.map → delete-PX6VKIDA.mjs.map} +0 -0
  1126. /package/dist/{delete-QON3MSB4.mjs.map → delete-RZOYIWR3.mjs.map} +0 -0
  1127. /package/dist/{delete-6XG2WDEO.mjs.map → delete-WT5ZPOW5.mjs.map} +0 -0
  1128. /package/dist/{delete-6CNRY62S.mjs.map → delete-XKXIQGY2.mjs.map} +0 -0
  1129. /package/dist/{delete-ZODFFHGL.mjs.map → delete-XVELJHBT.mjs.map} +0 -0
  1130. /package/dist/{delete-2ZD5HIW2.mjs.map → delete-ZCOMJXJN.mjs.map} +0 -0
  1131. /package/dist/{download-S4J24VMD.mjs.map → download-LBZQQGAW.mjs.map} +0 -0
  1132. /package/dist/{duplicate-ACEKEWUB.mjs.map → duplicate-CK5CK7EE.mjs.map} +0 -0
  1133. /package/dist/{export-YCLY34NK.mjs.map → export-PCNLQKT7.mjs.map} +0 -0
  1134. /package/dist/{get-VQCPEJGR.mjs.map → get-2FCVWEAR.mjs.map} +0 -0
  1135. /package/dist/{get-ZT3EGWZO.mjs.map → get-2FFH55XR.mjs.map} +0 -0
  1136. /package/dist/{get-P52J4Q2K.mjs.map → get-33M3ULUA.mjs.map} +0 -0
  1137. /package/dist/{get-4IRLTNBU.mjs.map → get-5J5ZCVO3.mjs.map} +0 -0
  1138. /package/dist/{get-227YSVHT.mjs.map → get-5LPZZBFE.mjs.map} +0 -0
  1139. /package/dist/{get-R3XLY7EV.mjs.map → get-62HI4WSZ.mjs.map} +0 -0
  1140. /package/dist/{get-VH3K2BVI.mjs.map → get-C7F4Q4SZ.mjs.map} +0 -0
  1141. /package/dist/{get-I5SLPN3R.mjs.map → get-C7M6MBK7.mjs.map} +0 -0
  1142. /package/dist/{get-YGJXWCBK.mjs.map → get-DB7HWIK5.mjs.map} +0 -0
  1143. /package/dist/{get-YT2RX3NV.mjs.map → get-E6UZ4RIO.mjs.map} +0 -0
  1144. /package/dist/{get-FKI6S6UA.mjs.map → get-G6I4TTVS.mjs.map} +0 -0
  1145. /package/dist/{get-T4R3FTRG.mjs.map → get-GBKBVQ4Z.mjs.map} +0 -0
  1146. /package/dist/{get-RGF5I4NP.mjs.map → get-SBEWJXMA.mjs.map} +0 -0
  1147. /package/dist/{get-XQENNCHW.mjs.map → get-USU7CKKV.mjs.map} +0 -0
  1148. /package/dist/{get-Q4UDLUZC.mjs.map → get-V2XSCF5A.mjs.map} +0 -0
  1149. /package/dist/{get-Z4CE42C2.mjs.map → get-Z3CCLLV2.mjs.map} +0 -0
  1150. /package/dist/{health-K4TNDKO5.mjs.map → health-TRFE5XP6.mjs.map} +0 -0
  1151. /package/dist/{init-MKAX64ZI.mjs.map → init-UGSR2T2P.mjs.map} +0 -0
  1152. /package/dist/{list-4WKDFP35.mjs.map → list-2CFFGBXV.mjs.map} +0 -0
  1153. /package/dist/{list-LA4T3NFF.mjs.map → list-2D5L7NDX.mjs.map} +0 -0
  1154. /package/dist/{list-TML6Y76M.mjs.map → list-4WXNGK5M.mjs.map} +0 -0
  1155. /package/dist/{list-PS4WGKYB.mjs.map → list-6U376WQD.mjs.map} +0 -0
  1156. /package/dist/{list-IGQHUFIA.mjs.map → list-D3PAG5BA.mjs.map} +0 -0
  1157. /package/dist/{list-YYUEVF7B.mjs.map → list-DYTJUCV5.mjs.map} +0 -0
  1158. /package/dist/{list-WWZ5ACSA.mjs.map → list-E5DZRDYB.mjs.map} +0 -0
  1159. /package/dist/{list-MFLOZLWX.mjs.map → list-EAMGM7UH.mjs.map} +0 -0
  1160. /package/dist/{list-INJDEND4.mjs.map → list-IG2LS5FB.mjs.map} +0 -0
  1161. /package/dist/{list-G3NQU4CF.mjs.map → list-J4UCDIO7.mjs.map} +0 -0
  1162. /package/dist/{list-TA2FG3T7.mjs.map → list-J7CSHIO7.mjs.map} +0 -0
  1163. /package/dist/{list-MN5GMDIA.mjs.map → list-KQRCGH46.mjs.map} +0 -0
  1164. /package/dist/{list-U2QLKGHQ.mjs.map → list-LOMKG7GX.mjs.map} +0 -0
  1165. /package/dist/{list-RSV4NYAB.mjs.map → list-MPI3XBWH.mjs.map} +0 -0
  1166. /package/dist/{list-THD3SUTO.mjs.map → list-NACMHMLI.mjs.map} +0 -0
  1167. /package/dist/{list-IXZHX6GD.mjs.map → list-OFXYAGCR.mjs.map} +0 -0
  1168. /package/dist/{list-ERQ3WK5F.mjs.map → list-QEDZMWZH.mjs.map} +0 -0
  1169. /package/dist/{list-5XTAI7VR.mjs.map → list-QN26UM36.mjs.map} +0 -0
  1170. /package/dist/{list-6NRBCWDI.mjs.map → list-UI6UIPJA.mjs.map} +0 -0
  1171. /package/dist/{list-NYC7NNHZ.mjs.map → list-WHL45EER.mjs.map} +0 -0
  1172. /package/dist/{list-4VEUUKAJ.mjs.map → list-YLMF4OM2.mjs.map} +0 -0
  1173. /package/dist/{list-3JNRAWOH.mjs.map → list-YZFZHZWK.mjs.map} +0 -0
  1174. /package/dist/{logout-device-D34PE5R6.mjs.map → logout-device-JOPQKPFL.mjs.map} +0 -0
  1175. /package/dist/{open-JIZ3KJHS.mjs.map → open-2IGFGDDB.mjs.map} +0 -0
  1176. /package/dist/{pull-QECZPX6I.mjs.map → pull-WYMWXDEI.mjs.map} +0 -0
  1177. /package/dist/{push-OK6KQPSS.mjs.map → push-RVSTM24X.mjs.map} +0 -0
  1178. /package/dist/{query-6SZHL5A7.mjs.map → query-NXIO4E43.mjs.map} +0 -0
  1179. /package/dist/{records-add-KLATF7JZ.mjs.map → records-add-MEZAQFMP.mjs.map} +0 -0
  1180. /package/dist/{records-delete-VAWKLUIW.mjs.map → records-delete-TULWUHBK.mjs.map} +0 -0
  1181. /package/dist/{records-list-K5XNEI4A.mjs.map → records-list-DCWD3EQ7.mjs.map} +0 -0
  1182. /package/dist/{records-update-MY6PKLQJ.mjs.map → records-update-HUPBIWQH.mjs.map} +0 -0
  1183. /package/dist/{remove-2KJSQ3WB.mjs.map → remove-I7H6G24M.mjs.map} +0 -0
  1184. /package/dist/{rename-VUJWXRAE.mjs.map → rename-MX5O5TQS.mjs.map} +0 -0
  1185. /package/dist/{request-increase-SFKA63AF.mjs.map → request-increase-NHM27JXH.mjs.map} +0 -0
  1186. /package/dist/{restore-UJDY5PA2.mjs.map → restore-YX52WBPO.mjs.map} +0 -0
  1187. /package/dist/{revoke-XMCUFG4U.mjs.map → revoke-MOIPQURQ.mjs.map} +0 -0
  1188. /package/dist/{revoke-PHX66V2T.mjs.map → revoke-QM3XGPFO.mjs.map} +0 -0
  1189. /package/dist/{rotate-FT7QLVF7.mjs.map → rotate-SFFTJBX6.mjs.map} +0 -0
  1190. /package/dist/{run-HXPRFY7B.mjs.map → run-22CWT4SE.mjs.map} +0 -0
  1191. /package/dist/{run-ZWA34V4H.mjs.map → run-BECC4Z4P.mjs.map} +0 -0
  1192. /package/dist/{run-E6DQEKM4.mjs.map → run-M4SYFW7B.mjs.map} +0 -0
  1193. /package/dist/{run-IKVCFIXR.mjs.map → run-SO2EUV4M.mjs.map} +0 -0
  1194. /package/dist/{run-2VZ67L4G.mjs.map → run-XWZPJ7D7.mjs.map} +0 -0
  1195. /package/dist/{search-UDJ7ZFY4.mjs.map → search-EE5ILLO5.mjs.map} +0 -0
  1196. /package/dist/{set-CUXDTHYY.mjs.map → set-N2YD4CWA.mjs.map} +0 -0
  1197. /package/dist/{set-PJQOSTLU.mjs.map → set-SQWMRODU.mjs.map} +0 -0
  1198. /package/dist/{status-QETT7FVP.mjs.map → status-A63BEBHA.mjs.map} +0 -0
  1199. /package/dist/{status-LA3NQTLE.mjs.map → status-BRJAXF7H.mjs.map} +0 -0
  1200. /package/dist/{status-S4KZQPKI.mjs.map → status-QEI7AEFU.mjs.map} +0 -0
  1201. /package/dist/{sync-7S4VNKQ2.mjs.map → sync-C2FYBUXZ.mjs.map} +0 -0
  1202. /package/dist/{tail-ZJQ47UIQ.mjs.map → tail-2TZBJ4UU.mjs.map} +0 -0
  1203. /package/dist/{unset-MEGDDKXV.mjs.map → unset-JDBF5WZ4.mjs.map} +0 -0
  1204. /package/dist/{update-LROGOTP2.mjs.map → update-3HM7BQCB.mjs.map} +0 -0
  1205. /package/dist/{update-LKIIDE6O.mjs.map → update-74CONOGX.mjs.map} +0 -0
  1206. /package/dist/{update-WRC7FRCH.mjs.map → update-DWKSFXZS.mjs.map} +0 -0
  1207. /package/dist/{update-ZXOKDD3E.mjs.map → update-E2X4PTCH.mjs.map} +0 -0
  1208. /package/dist/{update-6GIGMIG2.mjs.map → update-ICAZVWN7.mjs.map} +0 -0
  1209. /package/dist/{update-6UMNXAPI.mjs.map → update-MICKP74Y.mjs.map} +0 -0
  1210. /package/dist/{update-QEWSIW2K.mjs.map → update-OMVCUCBW.mjs.map} +0 -0
  1211. /package/dist/{update-BFJQZTNT.mjs.map → update-OQCBAY4R.mjs.map} +0 -0
  1212. /package/dist/{update-ICA7BC5Z.mjs.map → update-REHOOIWE.mjs.map} +0 -0
  1213. /package/dist/{update-R32MYVWM.mjs.map → update-RG44DJJN.mjs.map} +0 -0
  1214. /package/dist/{update-ALI64WHT.mjs.map → update-TGAZLXSS.mjs.map} +0 -0
  1215. /package/dist/{update-7DD7XZTQ.mjs.map → update-UXXBNBD2.mjs.map} +0 -0
  1216. /package/dist/{update-NDZHPS57.mjs.map → update-WAKJMJSW.mjs.map} +0 -0
  1217. /package/dist/{update-KVIOASZK.mjs.map → update-X5HDX6OF.mjs.map} +0 -0
  1218. /package/dist/{upload-KVPSPIOR.mjs.map → upload-LOZDNQI7.mjs.map} +0 -0
  1219. /package/dist/{versions-IU623A4W.mjs.map → versions-IMI3IJXZ.mjs.map} +0 -0
  1220. /package/dist/{whoami-2WXL4TMP.mjs.map → whoami-KGRA4QEY.mjs.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/cli/utils/responseFormat.ts","../src/cli/utils/promptConverter.ts","../src/cli/utils/fileManager.ts","../src/cli/utils/errors/prompt-not-found.error.ts"],"sourcesContent":["/**\n * Bidirectional mapping between the platform's `outputs` array and the\n * local YAML `response_format` block.\n *\n * The platform is the single source of truth and stores structured output as\n * an `outputs` array. The local `.prompt.yaml` follows the GitHub Prompts\n * convention and carries a `response_format` block. Push and pull must be\n * exact inverses, so both directions live here and share one definition of\n * what \"flat structured fields\" vs. \"an opaque JSON schema\" means.\n *\n * Two shapes round-trip losslessly:\n *\n * - Flat platform fields (e.g. l1, l2, l3, reasoning) ⇆ a single-level\n * JSON-schema object whose properties are those fields. The platform keeps\n * showing them as individual fields after a pull → edit → push cycle.\n *\n * - A rich JSON schema (enums, nested objects, arrays, descriptions, …) ⇆ a\n * single `json_schema` output that preserves the schema verbatim.\n */\n\nexport type CliOutputType = \"str\" | \"float\" | \"bool\" | \"json_schema\";\n\nexport interface CliOutput {\n identifier: string;\n type: CliOutputType;\n json_schema?: Record<string, unknown>;\n}\n\nexport interface LocalResponseFormat {\n name?: string;\n schema: Record<string, unknown>;\n}\n\n/**\n * The CLI default output for an unstructured (plain text) prompt. A prompt\n * with exactly this single output has no structured response and therefore no\n * `response_format` block.\n */\nexport const DEFAULT_TEXT_OUTPUT: CliOutput = {\n identifier: \"output\",\n type: \"str\",\n};\n\nconst SCALAR_OUTPUT_TO_JSON_TYPE: Record<\n Exclude<CliOutputType, \"json_schema\">,\n string\n> = {\n str: \"string\",\n float: \"number\",\n bool: \"boolean\",\n};\n\nconst JSON_TYPE_TO_SCALAR_OUTPUT: Record<\n string,\n Exclude<CliOutputType, \"json_schema\">\n> = {\n string: \"str\",\n number: \"float\",\n integer: \"float\",\n boolean: \"bool\",\n};\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === \"object\" && value !== null && !Array.isArray(value);\n\n/**\n * Accepts either the canonical local form `{ name?, schema }` or the\n * OpenAI-standard wrapper `{ type: \"json_schema\", json_schema: { name, schema } }`\n * and normalizes to `{ name?, schema }`. Returns undefined when there is no\n * usable schema.\n */\nexport const normalizeResponseFormat = (\n raw: unknown,\n): LocalResponseFormat | undefined => {\n if (!isPlainObject(raw)) return undefined;\n\n // OpenAI-standard wrapper\n if (raw.type === \"json_schema\" && isPlainObject(raw.json_schema)) {\n const inner = raw.json_schema;\n if (isPlainObject(inner.schema)) {\n return {\n name: typeof inner.name === \"string\" ? inner.name : undefined,\n schema: inner.schema,\n };\n }\n return undefined;\n }\n\n // Canonical local form\n if (isPlainObject(raw.schema)) {\n return {\n name: typeof raw.name === \"string\" ? raw.name : undefined,\n schema: raw.schema,\n };\n }\n\n return undefined;\n};\n\n/**\n * A \"simple flat object schema\" has only scalar properties (string / number /\n * integer / boolean), no extra JSON-schema keywords on the schema or on any\n * property, and (when present) `required` listing exactly the properties.\n * These map losslessly to flat platform fields. Anything richer (enums,\n * arrays, nested objects, descriptions, …) is opaque and must be preserved\n * verbatim as a json_schema output.\n */\nexport const asFlatFields = (\n schema: Record<string, unknown>,\n): { identifier: string; type: Exclude<CliOutputType, \"json_schema\"> }[] | null => {\n if (schema.type !== \"object\") return null;\n if (!isPlainObject(schema.properties)) return null;\n\n const allowedSchemaKeys = new Set([\n \"type\",\n \"properties\",\n \"required\",\n \"additionalProperties\",\n ]);\n if (Object.keys(schema).some((k) => !allowedSchemaKeys.has(k))) return null;\n\n if (\n schema.additionalProperties !== undefined &&\n schema.additionalProperties !== false\n ) {\n return null;\n }\n\n const properties = schema.properties;\n const propertyNames = Object.keys(properties);\n if (propertyNames.length === 0) return null;\n\n const fields: {\n identifier: string;\n type: Exclude<CliOutputType, \"json_schema\">;\n }[] = [];\n\n for (const name of propertyNames) {\n const prop = properties[name];\n if (!isPlainObject(prop)) return null;\n if (Object.keys(prop).some((k) => k !== \"type\")) return null;\n const jsonType = prop.type;\n if (typeof jsonType !== \"string\") return null;\n const scalar = JSON_TYPE_TO_SCALAR_OUTPUT[jsonType];\n if (!scalar) return null;\n fields.push({ identifier: name, type: scalar });\n }\n\n if (schema.required !== undefined) {\n if (!Array.isArray(schema.required)) return null;\n const required = [...(schema.required as unknown[])].sort();\n const names = [...propertyNames].sort();\n if (\n required.length !== names.length ||\n required.some((r, i) => r !== names[i])\n ) {\n return null;\n }\n }\n\n return fields;\n};\n\n/**\n * Pull direction: reconstruct the local `response_format` block from the\n * platform `outputs` array. Returns undefined for a plain-text prompt so we\n * never invent a schema that wasn't there.\n */\nexport const outputsToResponseFormat = (\n outputs: CliOutput[] | undefined | null,\n fallbackName?: string,\n): LocalResponseFormat | undefined => {\n if (!outputs || outputs.length === 0) return undefined;\n\n const jsonSchemaOutput = outputs.find(\n (o) => o.type === \"json_schema\" && o.json_schema,\n );\n if (jsonSchemaOutput?.json_schema) {\n return {\n name: jsonSchemaOutput.identifier,\n schema: jsonSchemaOutput.json_schema,\n };\n }\n\n // Exactly the CLI default single text output → unstructured, no schema.\n if (\n outputs.length === 1 &&\n outputs[0]!.identifier === DEFAULT_TEXT_OUTPUT.identifier &&\n outputs[0]!.type === DEFAULT_TEXT_OUTPUT.type\n ) {\n return undefined;\n }\n\n // Flat structured fields → a single-level JSON schema object.\n const properties: Record<string, { type: string }> = {};\n for (const output of outputs) {\n if (output.type === \"json_schema\") continue;\n properties[output.identifier] = {\n type: SCALAR_OUTPUT_TO_JSON_TYPE[output.type],\n };\n }\n if (Object.keys(properties).length === 0) return undefined;\n\n return {\n name: fallbackName ?? \"output\",\n schema: {\n type: \"object\",\n properties,\n required: Object.keys(properties),\n additionalProperties: false,\n },\n };\n};\n\n/**\n * Push direction: turn the local `response_format` block back into the\n * platform `outputs` array. The exact inverse of {@link outputsToResponseFormat}:\n * a flat object schema expands to flat fields (so the platform keeps showing\n * them individually), anything richer becomes one json_schema output.\n */\nexport const responseFormatToOutputs = (\n raw: unknown,\n): CliOutput[] | undefined => {\n const rf = normalizeResponseFormat(raw);\n if (!rf) return undefined;\n\n const flat = asFlatFields(rf.schema);\n if (flat) {\n return flat.map((f) => ({ identifier: f.identifier, type: f.type }));\n }\n\n return [\n {\n identifier: rf.name ?? \"output\",\n type: \"json_schema\",\n json_schema: rf.schema,\n },\n ];\n};\n","import type { LocalPromptConfig, MaterializedPrompt } from \"../types\";\nimport { type PromptResponse, type UpdatePromptBody } from \"@/client-sdk/services/prompts/types\";\nimport {\n type CliOutput,\n type LocalResponseFormat,\n outputsToResponseFormat,\n} from \"./responseFormat\";\n\n/**\n * Converter utility for transforming between YAML prompt format and API service format.\n *\n * The YAML format follows the GitHub .prompt.yaml file format standard,\n * while the API format is our internal prompt service schema tied to the database.\n *\n * This separation allows us to maintain and evolve both formats independently\n * while keeping the conversion logic centralized and well-tested.\n */\nexport class PromptConverter {\n /**\n * Converts a Prompt instance from the API service to the MaterializedPrompt format\n * used for saving to the .materialized directory.\n */\n static fromApiToMaterialized(prompt: PromptResponse): MaterializedPrompt {\n return {\n id: prompt.id,\n name: prompt.name,\n version: prompt.version,\n versionId: prompt.versionId,\n model: prompt.model,\n messages: prompt.messages,\n prompt: prompt.prompt,\n temperature: prompt.temperature,\n maxTokens: prompt.maxTokens,\n inputs: prompt.inputs,\n outputs: prompt.outputs,\n updatedAt: prompt.updatedAt,\n };\n }\n\n /**\n * Converts a MaterializedPrompt to the YAML content structure\n * for saving to .prompt.yaml files.\n */\n static fromMaterializedToYaml(prompt: MaterializedPrompt): {\n model: string;\n modelParameters?: {\n temperature?: number;\n maxTokens?: number;\n };\n messages: Array<{\n role: \"system\" | \"user\" | \"assistant\";\n content: string;\n }>;\n response_format?: LocalResponseFormat;\n } {\n const result: any = {\n model: prompt.model,\n messages: prompt.messages,\n };\n\n // Add modelParameters if temperature or maxTokens exist. The server is the\n // source of truth for which sampling parameters a model accepts and omits\n // the ones it would reject (e.g. temperature on the gpt-5 family), so we\n // simply mirror what the API returned — never inject a default here.\n if (prompt.temperature !== undefined || prompt.maxTokens !== undefined) {\n result.modelParameters = {};\n if (prompt.temperature !== undefined) {\n result.modelParameters.temperature = prompt.temperature;\n }\n if (prompt.maxTokens !== undefined) {\n result.modelParameters.maxTokens = prompt.maxTokens;\n }\n }\n\n // Reconstruct the structured-output block from the platform outputs so a\n // pull never drops a response_format the user configured. Inverse of the\n // push direction in pushPrompts.\n const responseFormat = outputsToResponseFormat(\n prompt.outputs as CliOutput[] | undefined,\n prompt.name,\n );\n if (responseFormat) {\n result.response_format = responseFormat;\n }\n\n return result;\n }\n\n /**\n * Converts a LocalPromptConfig (loaded from YAML) to the format\n * expected by the API service for upserting.\n */\n static fromLocalToApiFormat(config: LocalPromptConfig): Omit<UpdatePromptBody, \"commitMessage\">\n {\n return {\n model: config.model,\n temperature: config.modelParameters?.temperature,\n maxTokens: config.modelParameters?.max_tokens,\n messages: config.messages,\n };\n }\n\n /**\n * Extracts the system prompt from messages array.\n * Used when converting to API format that separates system prompt from messages.\n */\n static extractSystemPrompt(\n messages: Array<{ role: string; content: string }>,\n ): string {\n return messages.find((m) => m.role === \"system\")?.content ?? \"\";\n }\n\n /**\n * Filters out system messages from the messages array.\n * Used when converting to API format that handles system prompt separately.\n */\n static filterNonSystemMessages(\n messages: Array<{\n role: \"system\" | \"user\" | \"assistant\";\n content: string;\n }>,\n ): Array<{ role: \"user\" | \"assistant\"; content: string }> {\n return messages.filter((m) => m.role !== \"system\") as Array<{\n role: \"user\" | \"assistant\";\n content: string;\n }>;\n }\n}\n","import * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as yaml from \"js-yaml\";\nimport chalk from \"chalk\";\nimport type { PromptsConfig, LocalPromptConfig, MaterializedPrompt, PromptsLock } from \"../types\";\nimport { localPromptConfigSchema } from \"../types\";\nimport { PromptConverter } from \"@/cli/utils/promptConverter\";\nimport { PromptFileNotFoundError } from \"./errors/prompt-not-found.error\";\nimport { formatApiErrorMessage } from \"@/client-sdk/services/_shared/format-api-error\";\n\nexport class FileManager {\n private static readonly PROMPTS_CONFIG_FILE = \"prompts.json\";\n private static readonly PROMPTS_LOCK_FILE = \"prompts-lock.json\";\n private static readonly PROMPTS_DIR = \"prompts\";\n private static readonly MATERIALIZED_DIR = \".materialized\";\n\n private static _projectRoot: string | undefined;\n\n /** Reset the cached project root. Tests use this to exercise different cwds. */\n static _resetProjectRootCache(): void {\n this._projectRoot = undefined;\n }\n\n private static readonly PROJECT_MARKERS = [\n \".git\",\n \"package.json\",\n \"pyproject.toml\",\n ];\n\n private static hasProjectMarker(dir: string): boolean {\n return this.PROJECT_MARKERS.some((m) => fs.existsSync(path.join(dir, m)));\n }\n\n private static findProjectRoot(): string {\n if (this._projectRoot) {\n return this._projectRoot;\n }\n\n const cwd = process.cwd();\n const fsRoot = path.parse(cwd).root;\n\n // Find the highest ancestor that still looks like part of \"this project\"\n // (has package.json / pyproject.toml / .git). If cwd itself has no marker,\n // we don't walk up at all — prevents grabbing a stray prompts.json from\n // /tmp or other shared scratch dirs.\n let topProjectDir: string | null = null;\n let scan = cwd;\n while (scan !== fsRoot) {\n if (this.hasProjectMarker(scan)) {\n topProjectDir = scan;\n }\n scan = path.dirname(scan);\n }\n\n if (!topProjectDir) {\n this._projectRoot = cwd;\n return cwd;\n }\n\n // Walk up from cwd looking for prompts.json, capped at the project boundary.\n let currentDir = cwd;\n while (true) {\n const configPath = path.join(currentDir, this.PROMPTS_CONFIG_FILE);\n if (fs.existsSync(configPath)) {\n this._projectRoot = currentDir;\n return currentDir;\n }\n if (currentDir === topProjectDir) break;\n currentDir = path.dirname(currentDir);\n }\n\n // No prompts.json anywhere within the project — default to cwd so `init`\n // creates it where the user actually ran the command. This also keeps\n // concurrent test workdirs isolated: each tempdir gets its own prompts.json\n // instead of all pointing at a shared repo-root file.\n this._projectRoot = cwd;\n return cwd;\n }\n\n static getPromptsConfigPath(): string {\n return path.join(this.findProjectRoot(), this.PROMPTS_CONFIG_FILE);\n }\n\n static getPromptsLockPath(): string {\n return path.join(this.findProjectRoot(), this.PROMPTS_LOCK_FILE);\n }\n\n static getPromptsDir(): string {\n return path.join(this.findProjectRoot(), this.PROMPTS_DIR);\n }\n\n static getMaterializedDir(): string {\n return path.join(this.getPromptsDir(), this.MATERIALIZED_DIR);\n }\n\n static ensureDirectories(): void {\n const promptsDir = this.getPromptsDir();\n const materializedDir = this.getMaterializedDir();\n\n if (!fs.existsSync(promptsDir)) {\n fs.mkdirSync(promptsDir, { recursive: true });\n }\n\n if (!fs.existsSync(materializedDir)) {\n fs.mkdirSync(materializedDir, { recursive: true });\n }\n }\n\n static loadPromptsConfig(): PromptsConfig {\n const configPath = this.getPromptsConfigPath();\n\n if (!fs.existsSync(configPath)) {\n return { prompts: {} };\n }\n\n try {\n const content = fs.readFileSync(configPath, \"utf-8\");\n return JSON.parse(content) as PromptsConfig;\n } catch (error) {\n throw new Error(`Failed to parse prompts.json: ${formatApiErrorMessage({ error })}`);\n }\n }\n\n static savePromptsConfig(config: PromptsConfig): void {\n const configPath = this.getPromptsConfigPath();\n fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + \"\\n\");\n }\n\n static initializePromptsConfig(): { created: boolean; path: string } {\n const configPath = this.getPromptsConfigPath();\n const existed = fs.existsSync(configPath);\n\n if (!existed) {\n const emptyConfig: PromptsConfig = { prompts: {} };\n this.savePromptsConfig(emptyConfig);\n return { created: true, path: configPath };\n }\n\n return { created: false, path: configPath };\n }\n\n static loadPromptsLock = (): PromptsLock => {\n const lockPath = this.getPromptsLockPath();\n\n if (!fs.existsSync(lockPath)) {\n return {\n lockfileVersion: 1,\n prompts: {}\n };\n }\n\n try {\n const content = fs.readFileSync(lockPath, \"utf-8\");\n return JSON.parse(content) as PromptsLock;\n } catch (error) {\n throw new Error(`Failed to parse prompts-lock.json: ${formatApiErrorMessage({ error })}`);\n }\n }\n\n static savePromptsLock(lock: PromptsLock): void {\n const lockPath = this.getPromptsLockPath();\n fs.writeFileSync(lockPath, JSON.stringify(lock, null, 2) + \"\\n\");\n }\n\n static initializePromptsLock(): { created: boolean; path: string } {\n const lockPath = this.getPromptsLockPath();\n const existed = fs.existsSync(lockPath);\n\n if (!existed) {\n const emptyLock: PromptsLock = {\n lockfileVersion: 1,\n prompts: {}\n };\n this.savePromptsLock(emptyLock);\n return { created: true, path: lockPath };\n }\n\n return { created: false, path: lockPath };\n }\n\n static loadLocalPrompt = (filePath: string): LocalPromptConfig => {\n const fullPath = path.resolve(filePath);\n\n if (!fs.existsSync(fullPath)) {\n throw new PromptFileNotFoundError(filePath);\n }\n\n try {\n const content = fs.readFileSync(fullPath, \"utf-8\");\n const rawData = yaml.load(content);\n\n // Validate with zod and provide nice error messages\n const result = localPromptConfigSchema.safeParse(rawData);\n\n if (!result.success) {\n // Format zod errors nicely (manually since z.prettifyError might not be available)\n const prettyError = result.error.issues\n .map(issue => `✖ ${issue.message}${issue.path.length > 0 ? `\\n → at ${issue.path.join('.')}` : ''}`)\n .join('\\n');\n\n throw new Error(\n `Invalid prompt configuration in ${chalk.yellow(filePath)}:\\n${prettyError}`\n );\n }\n\n return result.data;\n } catch (error) {\n if (error instanceof Error && error.message.includes(\"Invalid prompt configuration\")) {\n throw error; // Re-throw zod validation errors as-is\n }\n throw new Error(`Failed to parse local prompt file ${filePath}: ${formatApiErrorMessage({ error })}`);\n }\n }\n\n static saveMaterializedPrompt(name: string, prompt: MaterializedPrompt): string {\n const materializedDir = this.getMaterializedDir();\n const parts = name.split(\"/\");\n const fileName = `${parts[parts.length - 1]}.prompt.yaml`;\n\n // Create nested directories if needed\n if (parts.length > 1) {\n const subDir = path.join(materializedDir, ...parts.slice(0, -1));\n if (!fs.existsSync(subDir)) {\n fs.mkdirSync(subDir, { recursive: true });\n }\n }\n\n const filePath = path.join(materializedDir, ...parts.slice(0, -1), fileName);\n\n // Convert to YAML format using the converter\n const yamlContent = PromptConverter.fromMaterializedToYaml(prompt);\n\n const yamlString = yaml.dump(yamlContent, {\n lineWidth: -1,\n noRefs: true,\n sortKeys: false\n });\n\n fs.writeFileSync(filePath, yamlString);\n return filePath;\n }\n\n static getLocalPromptFiles = (): string[] => {\n const promptsDir = this.getPromptsDir();\n const materializedDir = this.getMaterializedDir();\n\n if (!fs.existsSync(promptsDir)) {\n return [];\n }\n\n const files: string[] = [];\n\n const walkDir = (dir: string, relativePath = \"\"): void => {\n const entries = fs.readdirSync(dir, { withFileTypes: true });\n\n for (const entry of entries) {\n const fullPath = path.join(dir, entry.name);\n const relativeFilePath = path.join(relativePath, entry.name);\n\n if (entry.isDirectory()) {\n // Skip the .materialized directory\n if (fullPath === materializedDir) {\n continue;\n }\n walkDir(fullPath, relativeFilePath);\n } else if (entry.isFile() && entry.name.endsWith(\".prompt.yaml\")) {\n files.push(path.join(promptsDir, relativeFilePath));\n }\n }\n };\n\n walkDir(promptsDir);\n return files;\n }\n\n static promptNameFromPath(filePath: string): string {\n const promptsDir = this.getPromptsDir();\n const relativePath = path.relative(promptsDir, filePath);\n return relativePath.replace(/\\.prompt\\.yaml$/, \"\");\n }\n\n static cleanupOrphanedMaterializedFiles(currentDependencies: Set<string>): string[] {\n const materializedDir = this.getMaterializedDir();\n\n if (!fs.existsSync(materializedDir)) {\n return [];\n }\n\n const cleaned: string[] = [];\n\n const cleanupDir = (dir: string, relativePath = \"\"): void => {\n const entries = fs.readdirSync(dir, { withFileTypes: true });\n\n for (const entry of entries) {\n const fullPath = path.join(dir, entry.name);\n const relativeFilePath = path.join(relativePath, entry.name);\n\n if (entry.isDirectory()) {\n cleanupDir(fullPath, relativeFilePath);\n\n // Remove empty directories\n try {\n const dirEntries = fs.readdirSync(fullPath);\n if (dirEntries.length === 0) {\n fs.rmdirSync(fullPath);\n }\n } catch {\n // Directory not empty or other error, ignore\n }\n } else if (entry.isFile() && entry.name.endsWith(\".prompt.yaml\")) {\n // Extract prompt name from materialized file path\n const promptName = relativeFilePath.replace(/\\.prompt\\.yaml$/, \"\");\n\n if (!currentDependencies.has(promptName)) {\n fs.unlinkSync(fullPath);\n cleaned.push(promptName);\n }\n }\n }\n };\n\n cleanupDir(materializedDir);\n return cleaned;\n }\n\n static updateLockEntry(lock: PromptsLock, name: string, prompt: MaterializedPrompt, materializedPath: string): void {\n const relativePath = path.relative(this.findProjectRoot(), materializedPath);\n\n lock.prompts[name] = {\n version: prompt.version,\n versionId: prompt.versionId,\n materialized: relativePath,\n };\n }\n\n static removeFromLock(lock: PromptsLock, names: string[]): void {\n for (const name of names) {\n delete lock.prompts[name];\n }\n }\n\n static addToGitignore(entry: string): { added: boolean; existed: boolean } {\n const gitignorePath = path.join(this.findProjectRoot(), \".gitignore\");\n\n // Check if .gitignore exists\n if (!fs.existsSync(gitignorePath)) {\n // Create new .gitignore with the entry\n fs.writeFileSync(gitignorePath, `${entry}\\n`);\n return { added: true, existed: false };\n }\n\n // Read existing .gitignore\n const content = fs.readFileSync(gitignorePath, \"utf-8\");\n const lines = content.split(\"\\n\").map(line => line.trim());\n\n // Check if entry already exists\n if (lines.includes(entry)) {\n return { added: false, existed: true };\n }\n\n // Add entry to .gitignore\n const newContent = content.endsWith(\"\\n\") ? `${content}${entry}\\n` : `${content}\\n${entry}\\n`;\n fs.writeFileSync(gitignorePath, newContent);\n\n return { added: true, existed: false };\n }\n}\n","export class PromptFileNotFoundError extends Error {\n constructor(filePath: string) {\n super(`Local prompt file not found: ${filePath}`);\n this.name = 'PromptFileNotFoundError';\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,285 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunkA7T4DZKCjs = require('./chunk-A7T4DZKC.js');
4
-
5
-
6
- var _chunk5B7IKUNGjs = require('./chunk-5B7IKUNG.js');
7
-
8
-
9
-
10
-
11
- var _chunkIBUFY5TJjs = require('./chunk-IBUFY5TJ.js');
12
-
13
-
14
- var _chunkBRPEG3YQjs = require('./chunk-BRPEG3YQ.js');
15
-
16
- // src/cli/utils/governance/wrapper.ts
17
- var _child_process = require('child_process');
18
-
19
- // src/cli/utils/governance/budget.ts
20
- async function checkBudget(cfg, opts = {}) {
21
- var _a, _b;
22
- if (!cfg.access_token) return null;
23
- const f = (_a = opts.fetchImpl) != null ? _a : fetch;
24
- const url = cfg.control_plane_url.replace(/\/+$/, "") + "/api/auth/cli/budget/status";
25
- let res;
26
- try {
27
- res = await f(url, {
28
- method: "GET",
29
- headers: {
30
- Authorization: `Bearer ${cfg.access_token}`,
31
- Accept: "application/json"
32
- }
33
- });
34
- } catch (e) {
35
- return null;
36
- }
37
- if (res.status === 200) return null;
38
- if (res.status === 404) return null;
39
- if (res.status === 402) {
40
- try {
41
- const body = await res.json();
42
- if (((_b = body.error) == null ? void 0 : _b.type) && body.error.scope) return body.error;
43
- } catch (e) {
44
- }
45
- }
46
- return null;
47
- }
48
- var PERIOD_LABEL = {
49
- minute: "per-minute",
50
- hour: "hourly",
51
- day: "daily",
52
- week: "weekly",
53
- month: "monthly",
54
- total: "total"
55
- };
56
- function renderBudgetExceeded(e) {
57
- var _a;
58
- const period = (e.period || "month").toLowerCase();
59
- const periodLabel = (_a = PERIOD_LABEL[period]) != null ? _a : period;
60
- const lines = [];
61
- lines.push("\u26A0 Budget limit reached");
62
- lines.push("");
63
- lines.push(` You've used $${e.spent_usd} of your $${e.limit_usd} ${periodLabel} budget.`);
64
- lines.push(" To continue, ask your team admin to raise your limit.");
65
- lines.push("");
66
- if (e.admin_email) {
67
- lines.push(` Admin: ${e.admin_email}`);
68
- lines.push("");
69
- }
70
- lines.push(" Need urgent access? Run:");
71
- lines.push(" langwatch request-increase");
72
- return lines.join("\n") + "\n";
73
- }
74
-
75
- // src/cli/utils/governance/wrapper.ts
76
- function envForTool(cfg, tool) {
77
- var _a;
78
- const gw = cfg.gateway_url.replace(/\/+$/, "");
79
- const auth = (_a = cfg.default_personal_vk) == null ? void 0 : _a.secret;
80
- if (!auth) return { vars: {} };
81
- switch (tool) {
82
- case "claude":
83
- return {
84
- vars: {
85
- ANTHROPIC_BASE_URL: gw,
86
- ANTHROPIC_AUTH_TOKEN: auth
87
- }
88
- };
89
- case "codex":
90
- return {
91
- vars: {
92
- OPENAI_BASE_URL: gw,
93
- OPENAI_API_KEY: auth
94
- }
95
- };
96
- case "cursor":
97
- return {
98
- vars: {
99
- OPENAI_BASE_URL: gw,
100
- OPENAI_API_KEY: auth,
101
- ANTHROPIC_BASE_URL: gw,
102
- ANTHROPIC_AUTH_TOKEN: auth
103
- }
104
- };
105
- case "gemini":
106
- return {
107
- vars: {
108
- GOOGLE_GENAI_API_BASE: gw,
109
- GEMINI_API_KEY: auth
110
- }
111
- };
112
- case "opencode":
113
- return {
114
- vars: {
115
- OPENAI_BASE_URL: gw,
116
- OPENAI_API_KEY: auth,
117
- ANTHROPIC_BASE_URL: gw,
118
- ANTHROPIC_AUTH_TOKEN: auth
119
- }
120
- };
121
- default:
122
- return { vars: {} };
123
- }
124
- }
125
- var TOOL_PROVIDER_FAMILIES = {
126
- claude: ["anthropic"],
127
- codex: ["openai"],
128
- cursor: ["anthropic", "openai"],
129
- gemini: ["google", "gemini"],
130
- opencode: ["anthropic", "openai"]
131
- };
132
- function renderContactFooter(adminEmail) {
133
- if (adminEmail) {
134
- return `Need help? Contact your LangWatch admin: ${adminEmail}
135
- `;
136
- }
137
- return `If you need help, contact your LangWatch admin.
138
- `;
139
- }
140
- async function preflightWrapper(cfg, tool, opts = {}) {
141
- var _a, _b, _c, _d, _e;
142
- const cp = cfg.control_plane_url.replace(/\/+$/, "");
143
- const bootstrap = await ((_a = opts.bootstrapImpl) != null ? _a : (0, _chunk5B7IKUNGjs.getCliBootstrap))(cfg).catch(
144
- () => null
145
- );
146
- const adminEmail = (_b = bootstrap == null ? void 0 : bootstrap.adminEmail) != null ? _b : null;
147
- if (!((_c = cfg.default_personal_vk) == null ? void 0 : _c.secret)) {
148
- return {
149
- ok: false,
150
- message: `No personal virtual key on this account.
151
- Your organization needs at least one AI provider configured before
152
- \`langwatch ${tool}\` can route requests.
153
- If you're an admin, set one up at
154
- ${cp}/settings/model-providers
155
- then run \`langwatch login --device\` to refresh your credentials.
156
- ` + renderContactFooter(adminEmail)
157
- };
158
- }
159
- const gw = cfg.gateway_url.replace(/\/+$/, "");
160
- const f = (_d = opts.fetchImpl) != null ? _d : fetch;
161
- const timeoutMs = (_e = opts.timeoutMs) != null ? _e : 3e3;
162
- try {
163
- const res = await f(`${gw}/healthz`, {
164
- method: "GET",
165
- signal: AbortSignal.timeout(timeoutMs)
166
- });
167
- if (!res.ok) {
168
- return {
169
- ok: false,
170
- message: `AI Gateway at ${gw} returned HTTP ${res.status}.
171
- The wrapper cannot route \`langwatch ${tool}\` requests until the
172
- data plane is healthy. Check that the LangWatch gateway is running.
173
- ` + renderContactFooter(adminEmail)
174
- };
175
- }
176
- } catch (err) {
177
- return {
178
- ok: false,
179
- message: `Cannot reach AI Gateway at ${gw}
180
- ${err.message}
181
- Check that the LangWatch gateway is running, or set LANGWATCH_GATEWAY_URL
182
- if you've deployed it elsewhere.
183
- ` + renderContactFooter(adminEmail)
184
- };
185
- }
186
- const need = TOOL_PROVIDER_FAMILIES[tool];
187
- if (need && need.length > 0 && bootstrap && Array.isArray(bootstrap.providers)) {
188
- const have = new Set(bootstrap.providers.map((p) => p.name.toLowerCase()));
189
- const matches = need.filter((n) => have.has(n));
190
- if (matches.length === 0) {
191
- const list = need.map((n) => `\`${n}\``).join(" or ");
192
- return {
193
- ok: false,
194
- message: `No ${list} provider is configured for your organization.
195
- \`langwatch ${tool}\` needs at least one to route requests through the gateway.
196
- If you're an admin, configure one at
197
- ${cp}/settings/model-providers
198
- ` + renderContactFooter(adminEmail)
199
- };
200
- }
201
- }
202
- return { ok: true };
203
- }
204
- function shouldAutoLogin() {
205
- const flag = process.env.LANGWATCH_AUTO_LOGIN;
206
- if (flag === "1" || flag === "true") return true;
207
- if (flag === "0" || flag === "false") return false;
208
- return Boolean(process.stdin.isTTY);
209
- }
210
- async function runWrapped(tool, args) {
211
- var _a, _b;
212
- let cfg = _chunkIBUFY5TJjs.loadConfig.call(void 0, );
213
- if (!_chunkIBUFY5TJjs.isLoggedIn.call(void 0, cfg)) {
214
- if (!shouldAutoLogin()) {
215
- process.stderr.write(
216
- "Not logged in. Run `langwatch login --device` first.\n"
217
- );
218
- process.exit(1);
219
- }
220
- process.stderr.write(
221
- "Not logged in. Starting device-flow login...\n"
222
- );
223
- try {
224
- cfg = await _chunkA7T4DZKCjs.runDeviceFlowLogin.call(void 0, { cfg });
225
- } catch (err) {
226
- process.stderr.write(
227
- `login failed: ${(_a = err.message) != null ? _a : "unknown error"}
228
- `
229
- );
230
- process.exit(1);
231
- }
232
- if (!_chunkIBUFY5TJjs.isLoggedIn.call(void 0, cfg)) {
233
- process.stderr.write("login did not complete \u2014 exiting\n");
234
- process.exit(1);
235
- }
236
- }
237
- const exceeded = await checkBudget(cfg);
238
- if (exceeded) {
239
- process.stderr.write(renderBudgetExceeded(exceeded));
240
- if (exceeded.request_increase_url) {
241
- cfg.last_request_increase_url = exceeded.request_increase_url;
242
- try {
243
- _chunkIBUFY5TJjs.saveConfig.call(void 0, cfg);
244
- } catch (e) {
245
- }
246
- }
247
- process.exit(2);
248
- }
249
- const probe = await preflightWrapper(cfg, tool);
250
- if (!probe.ok) {
251
- process.stderr.write((_b = probe.message) != null ? _b : "preflight failed\n");
252
- process.exit(2);
253
- }
254
- const env = _chunkBRPEG3YQjs.__spreadValues.call(void 0, _chunkBRPEG3YQjs.__spreadValues.call(void 0, {}, process.env), envForTool(cfg, tool).vars);
255
- const child = _child_process.spawn.call(void 0, tool, args, {
256
- stdio: "inherit",
257
- env,
258
- shell: process.platform === "win32"
259
- });
260
- child.on("error", (err) => {
261
- if (err.code === "ENOENT") {
262
- process.stderr.write(
263
- `${tool} not found in PATH \u2014 install it first (https://docs.langwatch.ai/ai-gateway/governance/admin-setup#cli-device-flow-rest-api)
264
- `
265
- );
266
- process.exit(127);
267
- }
268
- process.stderr.write(`exec ${tool}: ${err.message}
269
- `);
270
- process.exit(1);
271
- });
272
- await new Promise((resolve) => {
273
- child.on("close", (code) => {
274
- process.exit(code != null ? code : 1);
275
- resolve();
276
- });
277
- });
278
- process.exit(0);
279
- }
280
-
281
-
282
-
283
-
284
- exports.envForTool = envForTool; exports.runWrapped = runWrapped;
285
- //# sourceMappingURL=chunk-YN2GYHG3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-YN2GYHG3.js","../src/cli/utils/governance/wrapper.ts","../src/cli/utils/governance/budget.ts"],"names":[],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-YN2GYHG3.js","sourcesContent":[null,"/**\n * exec wrapper helper for `langwatch claude` / `codex` / `cursor` /\n * `gemini`. Loads the persisted device-flow config, optionally\n * pre-checks the budget (Screen-8 box + exit 2 if exceeded),\n * computes the right env-var pair for the tool, and spawns the\n * underlying binary inheriting stdio so the user keeps their\n * familiar UX.\n *\n * On Unix we use spawn() with stdio:'inherit'; signals (Ctrl-C,\n * SIGTERM) propagate via the child process group. We do NOT use\n * execve replacement — Node's child_process never replaces the\n * current process, but this is functionally equivalent for the\n * end-user (same exit code, same terminal handling) and works on\n * Windows where execve doesn't exist.\n */\n\nimport { spawn } from \"node:child_process\";\nimport type { GovernanceConfig } from \"./config\";\nimport { loadConfig, saveConfig, isLoggedIn } from \"./config\";\nimport { checkBudget, renderBudgetExceeded } from \"./budget\";\nimport { getCliBootstrap } from \"./cli-api\";\nimport { runDeviceFlowLogin } from \"./login-flow\";\n\nexport interface ToolEnv {\n /** Env-var name → value pairs to inject into the child process. */\n vars: Record<string, string>;\n}\n\n/**\n * Mirror of the Go CLI's env-injection map. The wrapped tools\n * read these standard env vars (Anthropic, OpenAI, Google) and\n * route through the gateway with the user's personal VK as bearer.\n */\nexport function envForTool(cfg: GovernanceConfig, tool: string): ToolEnv {\n const gw = cfg.gateway_url.replace(/\\/+$/, \"\");\n const auth = cfg.default_personal_vk?.secret;\n if (!auth) return { vars: {} };\n switch (tool) {\n case \"claude\":\n return {\n vars: {\n ANTHROPIC_BASE_URL: gw,\n ANTHROPIC_AUTH_TOKEN: auth,\n },\n };\n case \"codex\":\n return {\n vars: {\n OPENAI_BASE_URL: gw,\n OPENAI_API_KEY: auth,\n },\n };\n case \"cursor\":\n return {\n vars: {\n OPENAI_BASE_URL: gw,\n OPENAI_API_KEY: auth,\n ANTHROPIC_BASE_URL: gw,\n ANTHROPIC_AUTH_TOKEN: auth,\n },\n };\n case \"gemini\":\n return {\n vars: {\n GOOGLE_GENAI_API_BASE: gw,\n GEMINI_API_KEY: auth,\n },\n };\n case \"opencode\":\n // opencode is multi-provider — it reads the standard\n // OPENAI_*/ANTHROPIC_* env vars depending on which model the\n // user selected at the prompt. Mirror cursor's both-pairs\n // injection so any provider the user hops to lands at our gw.\n return {\n vars: {\n OPENAI_BASE_URL: gw,\n OPENAI_API_KEY: auth,\n ANTHROPIC_BASE_URL: gw,\n ANTHROPIC_AUTH_TOKEN: auth,\n },\n };\n default:\n return { vars: {} };\n }\n}\n\n/**\n * Provider families the tool needs upstream. Used by `preflightWrapper`\n * to verify the org has at least one matching provider configured —\n * otherwise the gateway can authenticate the VK but has nothing to\n * route the request to, surfacing as a confusing tool-side error.\n *\n * Multi-provider tools (cursor, opencode) match any listed family.\n */\nconst TOOL_PROVIDER_FAMILIES: Record<string, string[]> = {\n claude: [\"anthropic\"],\n codex: [\"openai\"],\n cursor: [\"anthropic\", \"openai\"],\n gemini: [\"google\", \"gemini\"],\n opencode: [\"anthropic\", \"openai\"],\n};\n\nexport interface PreflightResult {\n ok: boolean;\n /** Human-readable, action-oriented message rendered to stderr on failure. */\n message?: string;\n}\n\nexport interface PreflightOptions {\n fetchImpl?: typeof fetch;\n bootstrapImpl?: typeof getCliBootstrap;\n /** Per-probe timeout, ms. Default 3000. */\n timeoutMs?: number;\n}\n\n/**\n * Render the \"who to talk to\" footer attached to every preflight\n * failure message. Single source of truth so the admin-mailto format\n * stays consistent across the three failure shapes. Bootstrap is the\n * source of `adminEmail`; on legacy servers or unreachable control\n * planes it'll be null and we fall back to a generic line.\n */\nfunction renderContactFooter(adminEmail: string | null | undefined): string {\n if (adminEmail) {\n return `Need help? Contact your LangWatch admin: ${adminEmail}\\n`;\n }\n return `If you need help, contact your LangWatch admin.\\n`;\n}\n\n/**\n * Pre-exec probe for `langwatch <tool>` wrappers. Three layered checks,\n * each gracefully degrading rather than blocking on transient hiccups:\n *\n * 1. `cfg.default_personal_vk?.secret` present — without it the\n * wrapper would silently inject no env vars and the underlying\n * tool would call the upstream provider directly (api.anthropic.com\n * etc.), surfacing as the wrong error or — when there's stale\n * env from a prior session — a confusing ConnectionRefused\n * against a stale base URL.\n * 2. `GET <gateway_url>/healthz` reachable. Catches \"data plane not\n * running\" and bad `LANGWATCH_GATEWAY_URL` overrides. Fatal: if\n * the gateway isn't reachable the tool will spin in a retry loop\n * and there's no recovery. We don't name a specific run command\n * (`make`, helm chart, docker compose, `npx @langwatch/server`,\n * etc.) because deployments vary; point the user at the admin\n * contact instead.\n * 3. `getCliBootstrap()` providers cover the tool's family. Catches\n * the shape where login succeeds but the org has no AI provider\n * configured yet, so the gateway has nothing to route to. 404 /\n * missing-providers data passes through (older self-hosted\n * servers without the endpoint).\n *\n * Bootstrap is fetched up-front (it lives on the control plane,\n * independent of the gateway data plane) so every failure message can\n * embed the org admin's email as a real contact path. A bootstrap\n * error is non-fatal; we just lose the admin mailto and continue.\n */\nexport async function preflightWrapper(\n cfg: GovernanceConfig,\n tool: string,\n opts: PreflightOptions = {},\n): Promise<PreflightResult> {\n const cp = cfg.control_plane_url.replace(/\\/+$/, \"\");\n const bootstrap = await (opts.bootstrapImpl ?? getCliBootstrap)(cfg).catch(\n () => null,\n );\n const adminEmail = bootstrap?.adminEmail ?? null;\n\n if (!cfg.default_personal_vk?.secret) {\n return {\n ok: false,\n message:\n `No personal virtual key on this account.\\n` +\n `Your organization needs at least one AI provider configured before\\n` +\n `\\`langwatch ${tool}\\` can route requests.\\n` +\n `If you're an admin, set one up at\\n` +\n ` ${cp}/settings/model-providers\\n` +\n `then run \\`langwatch login --device\\` to refresh your credentials.\\n` +\n renderContactFooter(adminEmail),\n };\n }\n\n const gw = cfg.gateway_url.replace(/\\/+$/, \"\");\n const f = opts.fetchImpl ?? fetch;\n const timeoutMs = opts.timeoutMs ?? 3000;\n try {\n const res = await f(`${gw}/healthz`, {\n method: \"GET\",\n signal: AbortSignal.timeout(timeoutMs),\n });\n if (!res.ok) {\n return {\n ok: false,\n message:\n `AI Gateway at ${gw} returned HTTP ${res.status}.\\n` +\n `The wrapper cannot route \\`langwatch ${tool}\\` requests until the\\n` +\n `data plane is healthy. Check that the LangWatch gateway is running.\\n` +\n renderContactFooter(adminEmail),\n };\n }\n } catch (err) {\n return {\n ok: false,\n message:\n `Cannot reach AI Gateway at ${gw}\\n` +\n ` ${(err as Error).message}\\n` +\n `Check that the LangWatch gateway is running, or set LANGWATCH_GATEWAY_URL\\n` +\n `if you've deployed it elsewhere.\\n` +\n renderContactFooter(adminEmail),\n };\n }\n\n const need = TOOL_PROVIDER_FAMILIES[tool];\n if (\n need &&\n need.length > 0 &&\n bootstrap &&\n Array.isArray(bootstrap.providers)\n ) {\n const have = new Set(bootstrap.providers.map((p) => p.name.toLowerCase()));\n const matches = need.filter((n) => have.has(n));\n if (matches.length === 0) {\n const list = need.map((n) => `\\`${n}\\``).join(\" or \");\n return {\n ok: false,\n message:\n `No ${list} provider is configured for your organization.\\n` +\n `\\`langwatch ${tool}\\` needs at least one to route requests through the gateway.\\n` +\n `If you're an admin, configure one at\\n` +\n ` ${cp}/settings/model-providers\\n` +\n renderContactFooter(adminEmail),\n };\n }\n }\n\n return { ok: true };\n}\n\n/**\n * When the wrapper is invoked without a usable config, decide whether to\n * auto-trigger the device-flow login inline or to fail fast. The device\n * flow needs a TTY (the user has to copy a code or click a browser link),\n * so default ON only when stdin is a TTY. CI/scripted callers can opt in\n * explicitly via `LANGWATCH_AUTO_LOGIN=1`, or opt out via\n * `LANGWATCH_AUTO_LOGIN=0` even on an interactive shell.\n */\nfunction shouldAutoLogin(): boolean {\n const flag = process.env.LANGWATCH_AUTO_LOGIN;\n if (flag === \"1\" || flag === \"true\") return true;\n if (flag === \"0\" || flag === \"false\") return false;\n return Boolean(process.stdin.isTTY);\n}\n\n/**\n * Run the named tool routed through the gateway. Inherits stdio so\n * the user gets the same interactive UX they'd have invoking the\n * tool directly. Exits the parent process with the child's exit\n * code (or 2 if the budget pre-check fired).\n */\nexport async function runWrapped(tool: string, args: string[]): Promise<never> {\n let cfg = loadConfig();\n if (!isLoggedIn(cfg)) {\n if (!shouldAutoLogin()) {\n process.stderr.write(\n \"Not logged in. Run `langwatch login --device` first.\\n\",\n );\n process.exit(1);\n }\n process.stderr.write(\n \"Not logged in. Starting device-flow login...\\n\",\n );\n try {\n cfg = await runDeviceFlowLogin({ cfg });\n } catch (err) {\n process.stderr.write(\n `login failed: ${(err as Error).message ?? \"unknown error\"}\\n`,\n );\n process.exit(1);\n }\n if (!isLoggedIn(cfg)) {\n process.stderr.write(\"login did not complete — exiting\\n\");\n process.exit(1);\n }\n }\n\n // Budget pre-check — render Screen-8 box + exit 2 BEFORE exec.\n const exceeded = await checkBudget(cfg);\n if (exceeded) {\n process.stderr.write(renderBudgetExceeded(exceeded));\n if (exceeded.request_increase_url) {\n cfg.last_request_increase_url = exceeded.request_increase_url;\n try {\n saveConfig(cfg);\n } catch {\n // Config write failure shouldn't change the spec'd exit\n // code — the next `langwatch request-increase` falls back\n // to the static page.\n }\n }\n process.exit(2);\n }\n\n const probe = await preflightWrapper(cfg, tool);\n if (!probe.ok) {\n process.stderr.write(probe.message ?? \"preflight failed\\n\");\n process.exit(2);\n }\n\n const env = { ...process.env, ...envForTool(cfg, tool).vars };\n // npm installs claude/codex/cursor/gemini as `.cmd` shims on Windows;\n // bare spawn() can't resolve them without a shell. shell:true is safe\n // here because `tool` is whitelisted (claude/codex/cursor/gemini) and\n // `args` is forwarded from the user's own terminal invocation — same\n // trust boundary as if they'd typed `claude …` directly.\n const child = spawn(tool, args, {\n stdio: \"inherit\",\n env,\n shell: process.platform === \"win32\",\n });\n child.on(\"error\", (err) => {\n if ((err as NodeJS.ErrnoException).code === \"ENOENT\") {\n process.stderr.write(\n `${tool} not found in PATH — install it first (https://docs.langwatch.ai/ai-gateway/governance/admin-setup#cli-device-flow-rest-api)\\n`,\n );\n process.exit(127);\n }\n process.stderr.write(`exec ${tool}: ${err.message}\\n`);\n process.exit(1);\n });\n await new Promise<void>((resolve) => {\n child.on(\"close\", (code) => {\n process.exit(code ?? 1);\n resolve();\n });\n });\n // unreachable\n process.exit(0);\n}\n","/**\n * Pre-exec budget probe + Screen-8 ASCII renderer for the langwatch\n * wrappers (`langwatch claude` / `codex` / `cursor` / `gemini`).\n *\n * Per `specs/ai-gateway/governance/budget-exceeded.feature`: before\n * any wrapped command exec's the underlying tool, the CLI hits\n * `GET /api/auth/cli/budget/status`. On 402, render the spec\n * canonical box and exit 2 (configuration / quota error) without\n * spawning the tool.\n */\n\nimport { type GovernanceConfig } from \"./config\";\n\nexport interface BudgetExceededPayload {\n type: string;\n scope: \"user\" | \"team\" | \"org\" | \"project\";\n limit_usd: string;\n spent_usd: string;\n period: string; // \"month\" | \"week\" | \"day\" | ...\n request_increase_url?: string;\n admin_email?: string;\n}\n\nexport interface CheckBudgetOptions {\n fetchImpl?: typeof fetch;\n}\n\n/**\n * Returns the 402 payload if the user is currently blocked, null\n * otherwise. 404 is treated as \"older self-hosted server doesn't\n * expose this endpoint yet — pass through\" so the CLI degrades\n * gracefully against legacy deploys. Network/5xx/etc. also\n * pass-through (the gateway's own 402 will surface via the wrapped\n * tool's error rendering as a fallback).\n */\nexport async function checkBudget(\n cfg: GovernanceConfig,\n opts: CheckBudgetOptions = {},\n): Promise<BudgetExceededPayload | null> {\n if (!cfg.access_token) return null;\n const f = opts.fetchImpl ?? fetch;\n const url = cfg.control_plane_url.replace(/\\/+$/, \"\") + \"/api/auth/cli/budget/status\";\n let res: Response;\n try {\n res = await f(url, {\n method: \"GET\",\n headers: {\n Authorization: `Bearer ${cfg.access_token}`,\n Accept: \"application/json\",\n },\n });\n } catch {\n return null; // network error — never block the user on this check\n }\n if (res.status === 200) return null;\n if (res.status === 404) return null; // older server, no endpoint yet\n if (res.status === 402) {\n try {\n const body = (await res.json()) as { error?: BudgetExceededPayload };\n if (body.error?.type && body.error.scope) return body.error;\n } catch {\n // malformed payload — fall through, let the underlying tool's\n // error render whatever the gateway returns\n }\n }\n return null;\n}\n\n/**\n * Spec-canonical Screen-8 box. ASCII only — no ANSI codes — so\n * piping `langwatch claude | tee log` doesn't litter the log with\n * escape sequences. Lines match the budget-exceeded.feature\n * scenario character-for-character.\n */\n// Gateway emits root-form periods from the `GatewayBudgetWindow` Prisma\n// enum lowercased (\"month\", \"week\", \"day\", \"hour\", \"minute\", \"total\").\n// Naive `${period}ly` produces \"dayly\" / \"totally\" / \"minutely\" — map\n// explicitly. Unknown periods (e.g. older server adds \"rolling_24h\")\n// fall through to the raw value rather than render gibberish.\nconst PERIOD_LABEL: Record<string, string> = {\n minute: \"per-minute\",\n hour: \"hourly\",\n day: \"daily\",\n week: \"weekly\",\n month: \"monthly\",\n total: \"total\",\n};\n\nexport function renderBudgetExceeded(e: BudgetExceededPayload): string {\n const period = (e.period || \"month\").toLowerCase();\n const periodLabel = PERIOD_LABEL[period] ?? period;\n const lines: string[] = [];\n lines.push(\"⚠ Budget limit reached\");\n lines.push(\"\");\n lines.push(` You've used $${e.spent_usd} of your $${e.limit_usd} ${periodLabel} budget.`);\n lines.push(\" To continue, ask your team admin to raise your limit.\");\n lines.push(\"\");\n if (e.admin_email) {\n lines.push(` Admin: ${e.admin_email}`);\n lines.push(\"\");\n }\n lines.push(\" Need urgent access? Run:\");\n lines.push(\" langwatch request-increase\");\n return lines.join(\"\\n\") + \"\\n\";\n}\n"]}