@keboola/api-client 4.0.0 → 6.0.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 (362) hide show
  1. package/README.md +34 -6
  2. package/dist/ai/index.cjs +4 -3
  3. package/dist/ai/index.d.cts +26 -9
  4. package/dist/ai/index.d.ts +26 -9
  5. package/dist/ai/index.js +3 -2
  6. package/dist/ai/types.d.cts +2 -2
  7. package/dist/ai/types.d.ts +2 -2
  8. package/dist/assets/index.cjs +4 -3
  9. package/dist/assets/index.d.cts +2 -2
  10. package/dist/assets/index.d.ts +2 -2
  11. package/dist/assets/index.js +3 -2
  12. package/dist/{authMiddleware-Dcy9gRT9.d.ts → authMiddleware-B0p06GYQ.d.ts} +1 -1
  13. package/dist/{authMiddleware-CeIxAJQ5.d.cts → authMiddleware-vNb2hfLP.d.cts} +1 -1
  14. package/dist/chat/index.cjs +4 -3
  15. package/dist/chat/index.d.cts +4 -4
  16. package/dist/chat/index.d.ts +4 -4
  17. package/dist/chat/index.js +3 -2
  18. package/dist/chat/types.d.cts +2 -2
  19. package/dist/chat/types.d.ts +2 -2
  20. package/dist/{chunk-GLQZHLLN.js → chunk-2Q75RQ3X.js} +7 -5
  21. package/dist/chunk-2Q75RQ3X.js.map +1 -0
  22. package/dist/{chunk-OAKTIIG4.js → chunk-4HORTOGH.js} +4 -3
  23. package/dist/chunk-4HORTOGH.js.map +1 -0
  24. package/dist/chunk-4KJRGFNV.cjs +54 -0
  25. package/dist/chunk-4KJRGFNV.cjs.map +1 -0
  26. package/dist/{chunk-HCH4WXK2.cjs → chunk-4S3EKVQT.cjs} +443 -44
  27. package/dist/chunk-4S3EKVQT.cjs.map +1 -0
  28. package/dist/{chunk-RBGTWJ7G.js → chunk-54N7LIDM.js} +8 -6
  29. package/dist/chunk-54N7LIDM.js.map +1 -0
  30. package/dist/{chunk-KOO3ZG5X.cjs → chunk-5XKPYMQL.cjs} +12 -6
  31. package/dist/chunk-5XKPYMQL.cjs.map +1 -0
  32. package/dist/{chunk-HLGMFFDF.js → chunk-5YTV36EI.js} +7 -5
  33. package/dist/chunk-5YTV36EI.js.map +1 -0
  34. package/dist/{chunk-6TUGEXVX.js → chunk-6S4JS7OJ.js} +3 -3
  35. package/dist/{chunk-6TUGEXVX.js.map → chunk-6S4JS7OJ.js.map} +1 -1
  36. package/dist/{chunk-WMJUK4P4.cjs → chunk-AK4ZHM77.cjs} +8 -6
  37. package/dist/chunk-AK4ZHM77.cjs.map +1 -0
  38. package/dist/{chunk-VLSN55I3.cjs → chunk-AWRMGLMT.cjs} +113 -3
  39. package/dist/chunk-AWRMGLMT.cjs.map +1 -0
  40. package/dist/chunk-BBRS2HLH.cjs +46 -0
  41. package/dist/chunk-BBRS2HLH.cjs.map +1 -0
  42. package/dist/chunk-BZO2GTJP.js +44 -0
  43. package/dist/chunk-BZO2GTJP.js.map +1 -0
  44. package/dist/{chunk-RTD3XWBM.cjs → chunk-CFRR7QPR.cjs} +14 -12
  45. package/dist/chunk-CFRR7QPR.cjs.map +1 -0
  46. package/dist/{chunk-4TENBFWN.cjs → chunk-CONUMVLZ.cjs} +11 -6
  47. package/dist/chunk-CONUMVLZ.cjs.map +1 -0
  48. package/dist/{chunk-QXWPUKK2.js → chunk-D2SWTZFS.js} +4 -20
  49. package/dist/chunk-D2SWTZFS.js.map +1 -0
  50. package/dist/{chunk-T23NVI3Q.js → chunk-EEG7YZUY.js} +7 -5
  51. package/dist/chunk-EEG7YZUY.js.map +1 -0
  52. package/dist/{chunk-ECQZAWH3.cjs → chunk-FB3E7VS6.cjs} +8 -6
  53. package/dist/chunk-FB3E7VS6.cjs.map +1 -0
  54. package/dist/chunk-H5DZOHH7.js +338 -0
  55. package/dist/chunk-H5DZOHH7.js.map +1 -0
  56. package/dist/{chunk-MTFRH3R5.cjs → chunk-IDYRJ4K3.cjs} +4 -23
  57. package/dist/chunk-IDYRJ4K3.cjs.map +1 -0
  58. package/dist/{chunk-PM2FAMWT.js → chunk-J5JUQRPD.js} +7 -5
  59. package/dist/chunk-J5JUQRPD.js.map +1 -0
  60. package/dist/{chunk-5DVEQBCD.cjs → chunk-J7EQLDUU.cjs} +11 -9
  61. package/dist/chunk-J7EQLDUU.cjs.map +1 -0
  62. package/dist/{chunk-RBW5ABSQ.js → chunk-JDFNUP4M.js} +126 -7
  63. package/dist/chunk-JDFNUP4M.js.map +1 -0
  64. package/dist/chunk-KCGEV4ZA.cjs +340 -0
  65. package/dist/chunk-KCGEV4ZA.cjs.map +1 -0
  66. package/dist/{chunk-2ZMZ4KWJ.js → chunk-KQ2QNGRX.js} +113 -3
  67. package/dist/chunk-KQ2QNGRX.js.map +1 -0
  68. package/dist/chunk-MQ554O4E.js +52 -0
  69. package/dist/chunk-MQ554O4E.js.map +1 -0
  70. package/dist/chunk-MRHQJNWF.cjs +8 -0
  71. package/dist/chunk-MRHQJNWF.cjs.map +1 -0
  72. package/dist/chunk-MSI6FVGG.js +6 -0
  73. package/dist/chunk-MSI6FVGG.js.map +1 -0
  74. package/dist/{chunk-LBVYZLWL.js → chunk-N37PZ2MB.js} +3 -3
  75. package/dist/{chunk-LBVYZLWL.js.map → chunk-N37PZ2MB.js.map} +1 -1
  76. package/dist/{chunk-LI3BAYDV.cjs → chunk-NFGQHJVB.cjs} +8 -6
  77. package/dist/chunk-NFGQHJVB.cjs.map +1 -0
  78. package/dist/{chunk-IL2PAEG3.cjs → chunk-OVGB3W3A.cjs} +21 -7
  79. package/dist/chunk-OVGB3W3A.cjs.map +1 -0
  80. package/dist/{chunk-6D3MJRXE.cjs → chunk-PWA6XFXA.cjs} +8 -6
  81. package/dist/chunk-PWA6XFXA.cjs.map +1 -0
  82. package/dist/{chunk-7NX56CKZ.js → chunk-QEQAZPWM.js} +441 -41
  83. package/dist/chunk-QEQAZPWM.js.map +1 -0
  84. package/dist/chunk-R7MQGDLC.cjs +61 -0
  85. package/dist/chunk-R7MQGDLC.cjs.map +1 -0
  86. package/dist/{chunk-ZIVZF6M2.cjs → chunk-RPKKOIYG.cjs} +9 -7
  87. package/dist/chunk-RPKKOIYG.cjs.map +1 -0
  88. package/dist/{chunk-BA2JMZP6.cjs → chunk-S4PI2LUQ.cjs} +4 -4
  89. package/dist/{chunk-BA2JMZP6.cjs.map → chunk-S4PI2LUQ.cjs.map} +1 -1
  90. package/dist/chunk-SI5TFV5M.js +54 -0
  91. package/dist/chunk-SI5TFV5M.js.map +1 -0
  92. package/dist/chunk-TD2PFSP6.js +248 -0
  93. package/dist/chunk-TD2PFSP6.js.map +1 -0
  94. package/dist/{chunk-D2ZTB5R2.cjs → chunk-TWP7DBSZ.cjs} +135 -16
  95. package/dist/chunk-TWP7DBSZ.cjs.map +1 -0
  96. package/dist/{chunk-REXMA2IN.cjs → chunk-TXDMA4CT.cjs} +8 -6
  97. package/dist/chunk-TXDMA4CT.cjs.map +1 -0
  98. package/dist/chunk-UUY6LQT6.cjs +267 -0
  99. package/dist/chunk-UUY6LQT6.cjs.map +1 -0
  100. package/dist/chunk-UYZTOVYS.cjs +252 -0
  101. package/dist/chunk-UYZTOVYS.cjs.map +1 -0
  102. package/dist/{chunk-3DW7RIEB.js → chunk-V2MQG3FZ.js} +20 -6
  103. package/dist/chunk-V2MQG3FZ.js.map +1 -0
  104. package/dist/{chunk-5PUNJJAR.js → chunk-VFZVLZC6.js} +7 -5
  105. package/dist/chunk-VFZVLZC6.js.map +1 -0
  106. package/dist/chunk-VKHQ6BWE.cjs +30 -0
  107. package/dist/chunk-VKHQ6BWE.cjs.map +1 -0
  108. package/dist/{chunk-Q6T6GRDR.js → chunk-VUVBYSYM.js} +12 -5
  109. package/dist/chunk-VUVBYSYM.js.map +1 -0
  110. package/dist/{chunk-5YN6FED2.cjs → chunk-W3AFDHXQ.cjs} +13 -6
  111. package/dist/chunk-W3AFDHXQ.cjs.map +1 -0
  112. package/dist/{chunk-V35JLM5Q.js → chunk-WILFTDTS.js} +11 -5
  113. package/dist/chunk-WILFTDTS.js.map +1 -0
  114. package/dist/{chunk-AYXQJONA.cjs → chunk-XLFQJDYZ.cjs} +4 -4
  115. package/dist/chunk-XLFQJDYZ.cjs.map +1 -0
  116. package/dist/{chunk-ZQPET6GI.js → chunk-Y26EBVMH.js} +10 -5
  117. package/dist/chunk-Y26EBVMH.js.map +1 -0
  118. package/dist/{chunk-6HBXNLB7.cjs → chunk-YGAWVMHH.cjs} +8 -6
  119. package/dist/chunk-YGAWVMHH.cjs.map +1 -0
  120. package/dist/{chunk-76Q2CTFV.js → chunk-YIWAUNKU.js} +7 -5
  121. package/dist/chunk-YIWAUNKU.js.map +1 -0
  122. package/dist/{chunk-X73I4PLK.js → chunk-YLK5KBXD.js} +7 -5
  123. package/dist/chunk-YLK5KBXD.js.map +1 -0
  124. package/dist/chunk-ZOREOLGE.js +264 -0
  125. package/dist/chunk-ZOREOLGE.js.map +1 -0
  126. package/dist/{chunk-CQFZ7PGZ.js → chunk-ZPSPCPDQ.js} +7 -5
  127. package/dist/chunk-ZPSPCPDQ.js.map +1 -0
  128. package/dist/{createGenericFetchClient-Cp2By_KQ.d.ts → createGenericFetchClient-Gpom91V-.d.ts} +1 -1
  129. package/dist/{createGenericFetchClient-DuW7iSRy.d.cts → createGenericFetchClient-yfcpR7qD.d.cts} +1 -1
  130. package/dist/{createOpenapiFetchClient-DhL2gQvd.d.ts → createOpenapiFetchClient-B44nXiti.d.ts} +2 -2
  131. package/dist/{createOpenapiFetchClient-BuKDZcLD.d.cts → createOpenapiFetchClient-Ci0-Qe53.d.cts} +2 -2
  132. package/dist/dataScience/index.cjs +6 -4
  133. package/dist/dataScience/index.d.cts +26 -6
  134. package/dist/dataScience/index.d.ts +26 -6
  135. package/dist/dataScience/index.js +4 -2
  136. package/dist/dataScience/types.d.cts +2 -2
  137. package/dist/dataScience/types.d.ts +2 -2
  138. package/dist/domain/permissions/index.cjs +5 -11
  139. package/dist/domain/permissions/index.cjs.map +1 -1
  140. package/dist/domain/permissions/index.d.cts +3 -2
  141. package/dist/domain/permissions/index.d.ts +3 -2
  142. package/dist/domain/permissions/index.js +1 -7
  143. package/dist/domain/permissions/index.js.map +1 -1
  144. package/dist/domain/storageTable/index.cjs +9 -260
  145. package/dist/domain/storageTable/index.cjs.map +1 -1
  146. package/dist/domain/storageTable/index.js +1 -262
  147. package/dist/domain/storageTable/index.js.map +1 -1
  148. package/dist/editor/index.cjs +4 -3
  149. package/dist/editor/index.d.cts +4 -4
  150. package/dist/editor/index.d.ts +4 -4
  151. package/dist/editor/index.js +3 -2
  152. package/dist/editor/types.d.cts +2 -2
  153. package/dist/editor/types.d.ts +2 -2
  154. package/dist/encryption/index.cjs +4 -3
  155. package/dist/encryption/index.d.cts +6 -3
  156. package/dist/encryption/index.d.ts +6 -3
  157. package/dist/encryption/index.js +3 -2
  158. package/dist/encryption/types.d.cts +62 -3
  159. package/dist/encryption/types.d.ts +62 -3
  160. package/dist/import/index.cjs +4 -3
  161. package/dist/import/index.d.cts +2 -2
  162. package/dist/import/index.d.ts +2 -2
  163. package/dist/import/index.js +3 -2
  164. package/dist/index-DzhQuag5.d.cts +1511 -0
  165. package/dist/index-G9ZyDi7K.d.ts +1511 -0
  166. package/dist/index.cjs +348 -159
  167. package/dist/index.cjs.map +1 -1
  168. package/dist/index.d.cts +6016 -1032
  169. package/dist/index.d.ts +6016 -1032
  170. package/dist/index.js +285 -110
  171. package/dist/index.js.map +1 -1
  172. package/dist/management/index.cjs +6 -5
  173. package/dist/management/index.d.cts +137 -69
  174. package/dist/management/index.d.ts +137 -69
  175. package/dist/management/index.js +4 -3
  176. package/dist/management/types.d.cts +2 -2
  177. package/dist/management/types.d.ts +2 -2
  178. package/dist/metastore/index.cjs +4 -3
  179. package/dist/metastore/index.d.cts +5 -5
  180. package/dist/metastore/index.d.ts +5 -5
  181. package/dist/metastore/index.js +3 -2
  182. package/dist/metastore/types.d.cts +2 -2
  183. package/dist/metastore/types.d.ts +2 -2
  184. package/dist/notifications/index.cjs +14 -0
  185. package/dist/notifications/index.cjs.map +1 -0
  186. package/dist/notifications/index.d.cts +46 -0
  187. package/dist/notifications/index.d.ts +46 -0
  188. package/dist/notifications/index.js +5 -0
  189. package/dist/notifications/index.js.map +1 -0
  190. package/dist/notifications/types.cjs +4 -0
  191. package/dist/notifications/types.cjs.map +1 -0
  192. package/dist/notifications/types.d.cts +2 -0
  193. package/dist/notifications/types.d.ts +2 -0
  194. package/dist/notifications/types.js +3 -0
  195. package/dist/notifications/types.js.map +1 -0
  196. package/dist/oauth/index.cjs +4 -3
  197. package/dist/oauth/index.d.cts +2 -2
  198. package/dist/oauth/index.d.ts +2 -2
  199. package/dist/oauth/index.js +3 -2
  200. package/dist/{project-CYhB6rYN.d.cts → project-C_m_tOgy.d.cts} +1 -1
  201. package/dist/{project-Bzslbq4u.d.ts → project-DQLliCsX.d.ts} +1 -1
  202. package/dist/queryService/index.cjs +4 -3
  203. package/dist/queryService/index.d.cts +4 -4
  204. package/dist/queryService/index.d.ts +4 -4
  205. package/dist/queryService/index.js +3 -2
  206. package/dist/queryService/types.d.cts +2 -2
  207. package/dist/queryService/types.d.ts +2 -2
  208. package/dist/queue/index.cjs +4 -3
  209. package/dist/queue/index.d.cts +4 -4
  210. package/dist/queue/index.d.ts +4 -4
  211. package/dist/queue/index.js +3 -2
  212. package/dist/queue/types.d.cts +2 -2
  213. package/dist/queue/types.d.ts +2 -2
  214. package/dist/registry-Xwk-vCjf.d.cts +417 -0
  215. package/dist/registry-Xwk-vCjf.d.ts +417 -0
  216. package/dist/scheduler/index.cjs +14 -0
  217. package/dist/scheduler/index.cjs.map +1 -0
  218. package/dist/scheduler/index.d.cts +75 -0
  219. package/dist/scheduler/index.d.ts +75 -0
  220. package/dist/scheduler/index.js +5 -0
  221. package/dist/scheduler/index.js.map +1 -0
  222. package/dist/scheduler/types.cjs +4 -0
  223. package/dist/scheduler/types.cjs.map +1 -0
  224. package/dist/scheduler/types.d.cts +372 -0
  225. package/dist/scheduler/types.d.ts +372 -0
  226. package/dist/scheduler/types.js +3 -0
  227. package/dist/scheduler/types.js.map +1 -0
  228. package/dist/sdk/configurations/index.cjs +8 -8
  229. package/dist/sdk/configurations/index.cjs.map +1 -1
  230. package/dist/sdk/configurations/index.d.cts +1257 -10
  231. package/dist/sdk/configurations/index.d.ts +1257 -10
  232. package/dist/sdk/configurations/index.js +3 -9
  233. package/dist/sdk/configurations/index.js.map +1 -1
  234. package/dist/sdk/storage/index.cjs +11 -11
  235. package/dist/sdk/storage/index.d.cts +7 -7
  236. package/dist/sdk/storage/index.d.ts +7 -7
  237. package/dist/sdk/storage/index.js +1 -1
  238. package/dist/sdk/tag/index.d.cts +4 -4
  239. package/dist/sdk/tag/index.d.ts +4 -4
  240. package/dist/sdk/tag/types.d.cts +4 -4
  241. package/dist/sdk/tag/types.d.ts +4 -4
  242. package/dist/sdk/vault/index.d.cts +4 -3
  243. package/dist/sdk/vault/index.d.ts +4 -3
  244. package/dist/status/index.cjs +4 -3
  245. package/dist/status/index.d.cts +2 -2
  246. package/dist/status/index.d.ts +2 -2
  247. package/dist/status/index.js +3 -2
  248. package/dist/storage/index.cjs +4 -7
  249. package/dist/storage/index.d.cts +6 -10
  250. package/dist/storage/index.d.ts +6 -10
  251. package/dist/storage/index.js +3 -2
  252. package/dist/storage/types.d.cts +443 -11638
  253. package/dist/storage/types.d.ts +443 -11638
  254. package/dist/storageSdk-TDISOoqX.d.ts +746 -0
  255. package/dist/storageSdk-VlBWkuF3.d.cts +746 -0
  256. package/dist/stream/index.cjs +14 -0
  257. package/dist/stream/index.cjs.map +1 -0
  258. package/dist/stream/index.d.cts +348 -0
  259. package/dist/stream/index.d.ts +348 -0
  260. package/dist/stream/index.js +5 -0
  261. package/dist/stream/index.js.map +1 -0
  262. package/dist/stream/types.cjs +4 -0
  263. package/dist/stream/types.cjs.map +1 -0
  264. package/dist/stream/types.d.cts +2 -0
  265. package/dist/stream/types.d.ts +2 -0
  266. package/dist/stream/types.js +3 -0
  267. package/dist/stream/types.js.map +1 -0
  268. package/dist/syncActions/index.cjs +4 -3
  269. package/dist/syncActions/index.d.cts +4 -7
  270. package/dist/syncActions/index.d.ts +4 -7
  271. package/dist/syncActions/index.js +3 -2
  272. package/dist/syncActions/types.d.cts +1 -1
  273. package/dist/syncActions/types.d.ts +1 -1
  274. package/dist/telemetry/index.cjs +4 -3
  275. package/dist/telemetry/index.d.cts +3 -3
  276. package/dist/telemetry/index.d.ts +3 -3
  277. package/dist/telemetry/index.js +3 -2
  278. package/dist/types-BG8yQyYt.d.ts +15821 -0
  279. package/dist/types-BVldT2vs.d.cts +404 -0
  280. package/dist/{types-CNkgmuhe.d.cts → types-Bc-H4gfv.d.cts} +1 -1
  281. package/dist/{types-CRSKcua9.d.cts → types-BxjcUj-y.d.cts} +1 -1
  282. package/dist/{types-CqWXdTMg.d.ts → types-CFd7q2ed.d.ts} +1 -1
  283. package/dist/types-CS8MYc2k.d.ts +404 -0
  284. package/dist/{types-DBVQGCI1.d.cts → types-CWebeQXy.d.cts} +1 -1
  285. package/dist/{types-Brx8PoEB.d.cts → types-CfEvz7zi.d.cts} +2 -1
  286. package/dist/{types-Dws8mFNY.d.cts → types-CvHPHNH0.d.cts} +5 -2
  287. package/dist/{types-B51cQMrX.d.ts → types-D3Kkh6yW.d.ts} +5 -2
  288. package/dist/{types-DJkU9gvB.d.cts → types-D9cNOf-3.d.cts} +1 -1
  289. package/dist/types-DFWnAftN.d.cts +7523 -0
  290. package/dist/types-DJbXfC2q.d.cts +15821 -0
  291. package/dist/types-DMC601TE.d.cts +14375 -0
  292. package/dist/types-DMC601TE.d.ts +14375 -0
  293. package/dist/{types-C-bd4ArM.d.cts → types-DTkxk0fW.d.cts} +1 -1
  294. package/dist/{types-cH0_hkCW.d.ts → types-DacFMc6L.d.ts} +1 -1
  295. package/dist/types-Dv3vN7M9.d.ts +7523 -0
  296. package/dist/{types-Bom8wyth.d.ts → types-DxJD6LIN.d.cts} +1 -0
  297. package/dist/{types-Bom8wyth.d.cts → types-DxJD6LIN.d.ts} +1 -0
  298. package/dist/{types-DzwzVgyG.d.ts → types-JvKRS8Qd.d.ts} +1 -1
  299. package/dist/{types-BY0tjg2Q.d.ts → types-Mghz1gMD.d.ts} +1 -1
  300. package/dist/{types-C7mpAfq-.d.cts → types-jKnx7Tm_.d.cts} +1 -1
  301. package/dist/{types-C7mpAfq-.d.ts → types-jKnx7Tm_.d.ts} +1 -1
  302. package/dist/{types-D4CDCW-Y.d.ts → types-sxxmo6h9.d.ts} +2 -1
  303. package/dist/{types-CGMJT3JL.d.ts → types-yKV1EX6f.d.ts} +1 -1
  304. package/dist/{utils-BNQZiNOu.d.ts → utils-Cl4emy8g.d.ts} +567 -3
  305. package/dist/{utils-DE09pDTi.d.cts → utils-JsCYFmHj.d.cts} +567 -3
  306. package/dist/vault/index.cjs +4 -3
  307. package/dist/vault/index.d.cts +3 -3
  308. package/dist/vault/index.d.ts +3 -3
  309. package/dist/vault/index.js +3 -2
  310. package/dist/vault/types.d.cts +1 -1
  311. package/dist/vault/types.d.ts +1 -1
  312. package/dist/verify/index.cjs +4 -3
  313. package/dist/verify/index.d.cts +2 -1
  314. package/dist/verify/index.d.ts +2 -1
  315. package/dist/verify/index.js +3 -2
  316. package/package.json +82 -2
  317. package/dist/chunk-2ZMZ4KWJ.js.map +0 -1
  318. package/dist/chunk-3DW7RIEB.js.map +0 -1
  319. package/dist/chunk-4TENBFWN.cjs.map +0 -1
  320. package/dist/chunk-5DVEQBCD.cjs.map +0 -1
  321. package/dist/chunk-5PUNJJAR.js.map +0 -1
  322. package/dist/chunk-5YN6FED2.cjs.map +0 -1
  323. package/dist/chunk-6D3MJRXE.cjs.map +0 -1
  324. package/dist/chunk-6FW72PC2.cjs +0 -29
  325. package/dist/chunk-6FW72PC2.cjs.map +0 -1
  326. package/dist/chunk-6HBXNLB7.cjs.map +0 -1
  327. package/dist/chunk-76Q2CTFV.js.map +0 -1
  328. package/dist/chunk-7NX56CKZ.js.map +0 -1
  329. package/dist/chunk-AYXQJONA.cjs.map +0 -1
  330. package/dist/chunk-CQFZ7PGZ.js.map +0 -1
  331. package/dist/chunk-D2ZTB5R2.cjs.map +0 -1
  332. package/dist/chunk-ECQZAWH3.cjs.map +0 -1
  333. package/dist/chunk-GLQZHLLN.js.map +0 -1
  334. package/dist/chunk-HCH4WXK2.cjs.map +0 -1
  335. package/dist/chunk-HLGMFFDF.js.map +0 -1
  336. package/dist/chunk-IL2PAEG3.cjs.map +0 -1
  337. package/dist/chunk-KOO3ZG5X.cjs.map +0 -1
  338. package/dist/chunk-LI3BAYDV.cjs.map +0 -1
  339. package/dist/chunk-MTFRH3R5.cjs.map +0 -1
  340. package/dist/chunk-OAKTIIG4.js.map +0 -1
  341. package/dist/chunk-PM2FAMWT.js.map +0 -1
  342. package/dist/chunk-Q6T6GRDR.js.map +0 -1
  343. package/dist/chunk-QXWPUKK2.js.map +0 -1
  344. package/dist/chunk-RBGTWJ7G.js.map +0 -1
  345. package/dist/chunk-RBW5ABSQ.js.map +0 -1
  346. package/dist/chunk-REXMA2IN.cjs.map +0 -1
  347. package/dist/chunk-RTD3XWBM.cjs.map +0 -1
  348. package/dist/chunk-T23NVI3Q.js.map +0 -1
  349. package/dist/chunk-V35JLM5Q.js.map +0 -1
  350. package/dist/chunk-VLSN55I3.cjs.map +0 -1
  351. package/dist/chunk-WMJUK4P4.cjs.map +0 -1
  352. package/dist/chunk-X73I4PLK.js.map +0 -1
  353. package/dist/chunk-ZIVZF6M2.cjs.map +0 -1
  354. package/dist/chunk-ZQPET6GI.js.map +0 -1
  355. package/dist/storageClient-DTTDHnLM.d.cts +0 -633
  356. package/dist/storageClient-xm0yUrNc.d.ts +0 -633
  357. package/dist/storageSdk-CxNyfe5Z.d.cts +0 -143
  358. package/dist/storageSdk-bwKHEMB4.d.ts +0 -143
  359. package/dist/types-BTcT8Q0T.d.cts +0 -8605
  360. package/dist/types-BTcT8Q0T.d.ts +0 -8605
  361. package/dist/types-DYMMsuU0.d.cts +0 -78
  362. package/dist/types-DYMMsuU0.d.ts +0 -78
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/errors/ManagementClientAuthError.ts","../src/clients/management/authMiddleware.ts","../src/clients/management/currentUser/currentUser.ts","../src/clients/management/features/features.ts","../src/clients/management/maintainers/maintainers.ts","../src/clients/management/organizations/organizations.ts","../src/clients/management/projects/projects.ts","../src/clients/management/users/users.ts","../src/clients/management/managementClient.ts"],"names":["ApiError","createGenericFetchClient","KeboolaHttpHeader","HttpHeader","HttpContentType","defaultValidateStatus","createVerifyClient","createOpenapiFetchClient"],"mappings":";;;;;;;AAIO,IAAM,yBAAA,GAAN,cAAwCA,0BAAA,CAAS;AAAA,EACtD,KAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA,CAAY,KAAA,EAAe,OAAA,EAAiB,GAAA,EAAkB;AAC5D,IAAA,KAAA,CAAM,GAAG,CAAA;AACT,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACb,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACjB;AACF;;;ACIA,IAAM,kBAAA,GAAqB,GAAA;AAEpB,IAAM,2BAAA,GAA8B,CAAC,KAAA,KAC1C,KAAA,YAAiB;AAEnB,IAAM,UAAA,GAAa,CAAC,OAAA,KAAoB;AACtC,EAAA,MAAM,WAAA,GAAcC,0CAAA,CAAyB,EAAE,OAAA,EAAS,CAAA;AAExD,EAAA,MAAM,6BAAA,GAAgC,OAAO,WAAA,KAAwB;AACnE,IAAA,MAAM,OAAA,GAAU,IAAI,OAAA,CAAQ,EAAE,CAACC,mCAAA,CAAkB,oBAAoB,GAAG,WAAA,EAAa,CAAA;AACrF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,WAAA,CAAY,IAAA;AAAA,MACjC,oCAAA;AAAA,MACA,EAAC;AAAA,MACD,EAAE,OAAA;AAAQ,KACZ;AACA,IAAA,OAAO,IAAA,CAAK,KAAA;AAAA,EACd,CAAA;AAEA,EAAA,MAAM,iCAAiC,YAAY;AACjD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,WAAA,CAAY,IAAA;AAAA,MACjC,8BAAA;AAAA,MACA,EAAC;AAAA,MACD;AAAA;AAAA,QAEE,cAAA,EAAgB,CAAC,WAAA,KAAgB;AAC/B,UAAA,MAAM,EAAE,UAAS,GAAI,WAAA;AAIrB,UAAA,MAAM,aAAA,GAAgB,SAAS,OAAA,CAC5B,GAAA,CAAIC,6BAAW,YAAY,CAAA,EAC1B,QAAA,CAASC,iCAAA,CAAgB,SAAS,CAAA;AAEtC,UAAA,IAAI,aAAA;AACF,YAAA,OAAO,IAAI,yBAAA;AAAA,cACT,sBAAA;AAAA,cACA,uCAAA;AAAA,cACA;AAAA,aACF;AAEF,UAAA,OAAOC,wCAAsB,WAAW,CAAA;AAAA,QAC1C;AAAA;AACF,KACF;AACA,IAAA,OAAO,IAAA,CAAK,KAAA;AAAA,EACd,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,6BAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA;AAEO,IAAM,uBAAuB,CAAC;AAAA,EACnC,WAAA;AAAA,EACA;AACF,CAAA,KAGoB;AAClB,EAAA,MAAM,IAAA,GAAO,WAAW,OAAO,CAAA;AAC/B,EAAA,MAAM,SAASC,oCAAA,EAAmB;AAElC,EAAA,IAAI,KAAA,GAA4B,WAAA;AAChC,EAAA,IAAI,eAAA,GAAkB,CAAA;AACtB,EAAA,IAAI,YAAA,GAAuC,IAAA;AAE3C,EAAA,MAAM,aAAA,GAAgB,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,aAAA;AAE/C,EAAA,MAAM,mBAAmB,YAA6B;AACpD,IAAA,IAAI,KAAA,IAAS,IAAA,CAAK,GAAA,EAAI,GAAI,iBAAiB,OAAO,KAAA;AAElD,IAAA,IAAI,KAAA,EAAO;AACT,MAAA,MAAM,SAAA,GAAY,MAAM,MAAA,CAAO,kBAAA,CAAmB,SAAS,KAAK,CAAA;AAChE,MAAA,MAAM,YAAA,GAAe,CAAC,SAAA,CAAU,UAAA,IAAc,CAAC,SAAA,CAAU,SAAA;AACzD,MAAA,IAAI,YAAA,EAAc;AAChB,QAAA,eAAA,GAAkB,IAAA,CAAK,KAAI,GAAI,kBAAA;AAC/B,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,KAAA,GAAQ,aAAA,GACJ,MAAM,IAAA,CAAK,6BAAA,CAA8B,KAAK,CAAA,GAC9C,MAAM,KAAK,8BAAA,EAA+B;AAC9C,MAAA,eAAA,GAAkB,IAAA,CAAK,KAAI,GAAI,kBAAA;AAC/B,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,KAAA,GAAQ,MAAM,KAAK,8BAAA,EAA+B;AAClD,IAAA,eAAA,GAAkB,IAAA,CAAK,KAAI,GAAI,kBAAA;AAC/B,IAAA,OAAO,KAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO,CAAC,IAAA,KAAS,OAAO,OAAA,KAAY;AAElC,IAAA,IAAI,CAAC,YAAA,EAAc;AACjB,MAAA,YAAA,GAAe,gBAAA,EAAiB,CAAE,OAAA,CAAQ,MAAM;AAC9C,QAAA,YAAA,GAAe,IAAA;AAAA,MACjB,CAAC,CAAA;AAAA,IACH;AACA,IAAA,MAAM,aAAa,MAAM,YAAA;AAEzB,IAAA,OAAA,CAAQ,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAIJ,mCAAA,CAAkB,sBAAsB,UAAU,CAAA;AAC9E,IAAA,OAAO,KAAK,OAAO,CAAA;AAAA,EACrB,CAAA;AACF,CAAA;;;ACrHO,IAAM,iBAAA,GAAoB,CAAC,MAAA,KAAyC;AAGzE,EAAA,MAAM,wBAAA,GAA2B,OAAO,MAAA,KAAyB;AAC/D,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,8CAAA;AAAA,MACA,EAAC;AAAA,MACD,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,uBAAA,GAA0B,OAAO,EAAA,EAAY,MAAA,KAAyB;AAC1E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,mDAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAG,EAAE;AAAA,MACf,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,0BAAA,GAA6B,OAAO,EAAA,KAAe;AACvD,IAAA,MAAM,MAAA,CAAO,IAAI,mDAAA,EAAqD,EAAE,MAAM,EAAE,EAAA,IAAM,CAAA;AAAA,EACxF,CAAA;AAEA,EAAA,MAAM,0BAAA,GAA6B,OAAO,EAAA,KAAe;AACvD,IAAA,MAAM,MAAA,CAAO,OAAO,mDAAA,EAAqD,EAAE,MAAM,EAAE,EAAA,IAAM,CAAA;AAAA,EAC3F,CAAA;AAIA,EAAA,MAAM,0BAAA,GAA6B,OAAO,MAAA,KAAyB;AACjE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,gDAAA;AAAA,MACA,EAAC;AAAA,MACD,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,yBAAA,GAA4B,OAAO,EAAA,EAAY,MAAA,KAAyB;AAC5E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,qDAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAG,EAAE;AAAA,MACf,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,4BAAA,GAA+B,OAAO,EAAA,KAAe;AACzD,IAAA,MAAM,MAAA,CAAO,IAAI,qDAAA,EAAuD,EAAE,MAAM,EAAE,EAAA,IAAM,CAAA;AAAA,EAC1F,CAAA;AAEA,EAAA,MAAM,4BAAA,GAA+B,OAAO,EAAA,KAAe;AACzD,IAAA,MAAM,MAAA,CAAO,OAAO,qDAAA,EAAuD,EAAE,MAAM,EAAE,EAAA,IAAM,CAAA;AAAA,EAC7F,CAAA;AAIA,EAAA,MAAM,qBAAA,GAAwB,OAAO,MAAA,KAAyB;AAC5D,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,2CAAA,EAA6C,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AAC7F,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,oBAAA,GAAuB,OAAO,EAAA,EAAY,MAAA,KAAyB;AACvE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,gDAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAG,EAAE;AAAA,MACf,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,uBAAA,GAA0B,OAAO,EAAA,KAAe;AACpD,IAAA,MAAM,MAAA,CAAO,IAAI,gDAAA,EAAkD,EAAE,MAAM,EAAE,EAAA,IAAM,CAAA;AAAA,EACrF,CAAA;AAEA,EAAA,MAAM,uBAAA,GAA0B,OAAO,EAAA,KAAe;AACpD,IAAA,MAAM,MAAA,CAAO,OAAO,gDAAA,EAAkD,EAAE,MAAM,EAAE,EAAA,IAAM,CAAA;AAAA,EACxF,CAAA;AAIA,EAAA,MAAM,sBAAA,GAAyB,OAAO,MAAA,KAAyB;AAC7D,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,6CAAA;AAAA,MACA,EAAC;AAAA,MACD,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,wBAAA,GAA2B,OAAO,EAAA,KAAe;AACrD,IAAA,MAAM,MAAA,CAAO,OAAO,kDAAA,EAAoD,EAAE,MAAM,EAAE,EAAA,IAAM,CAAA;AAAA,EAC1F,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,wBAAA;AAAA,IACA,uBAAA;AAAA,IACA,0BAAA;AAAA,IACA,0BAAA;AAAA,IACA,0BAAA;AAAA,IACA,yBAAA;AAAA,IACA,4BAAA;AAAA,IACA,4BAAA;AAAA,IACA,qBAAA;AAAA,IACA,oBAAA;AAAA,IACA,uBAAA;AAAA,IACA,uBAAA;AAAA,IACA,sBAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA;;;AC9GO,IAAM,cAAA,GAAiB,CAAC,MAAA,KAA+B;AAC5D,EAAA,MAAM,cAAA,GAAiB,OAAO,KAAA,EAA4B,MAAA,KAAyB;AACjF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,kBAAA;AAAA,MACA,EAAE,KAAA,EAAM;AAAA,MACR,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,OAAO,SAAA,EAAmB,MAAA,KAAyB;AACpE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,8BAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,SAAA,EAAU,EAAE;AAAA,MACtB,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OAAO,SAAA,EAAmB,MAAA,KAAyB;AAC5E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,uCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,SAAA,EAAU,EAAE;AAAA,MACtB,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OAAO,SAAA,EAAmB,MAAA,KAAyB;AAC1E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,qCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,SAAA,EAAU,EAAE;AAAA,MACtB,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,UAAA;AAAA,IACA,kBAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA;;;AC/BO,IAAM,iBAAA,GAAoB,CAAC,MAAA,KAAyC;AAGzE,EAAA,MAAM,cAAA,GAAiB,OAAO,MAAA,KAAyB;AACrD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,qBAAA,EAAuB,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AAEvE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,OAAO,YAAA,EAAsB,MAAA,KAAyB;AAC1E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,0BAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAI,cAAa,EAAE;AAAA,MAC7B,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OAAO,IAAA,KAA+B;AAC7D,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,qBAAA,EAAuB,EAAE,IAAA,EAAM,CAAA;AAClE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,mBAAmB,OAAO;AAAA,IAC9B,YAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAuD;AACrD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,MAAM,0BAAA,EAA4B;AAAA,MAC9D,IAAA,EAAM,EAAE,EAAA,EAAI,YAAA,EAAa;AAAA,MACzB;AAAA,KACD,CAAA;AACD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OAAO,YAAA,KAAyB;AACvD,IAAA,MAAM,MAAA,CAAO,OAAO,0BAAA,EAA4B,EAAE,MAAM,EAAE,EAAA,EAAI,YAAA,EAAa,EAAG,CAAA;AAAA,EAChF,CAAA;AAIA,EAAA,MAAM,kBAAA,GAAqB,OAAO,YAAA,EAAsB,MAAA,KAAyB;AAC/E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,gCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAI,cAAa,EAAE;AAAA,MAC7B,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,oBAAoB,OAAO;AAAA,IAC/B,YAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAwD;AACtD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAAK,gCAAA,EAAkC;AAAA,MACnE,IAAA,EAAM,EAAE,EAAA,EAAI,YAAA,EAAa;AAAA,MACzB;AAAA,KACD,CAAA;AACD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,uBAAuB,OAAO;AAAA,IAClC,YAAA;AAAA,IACA;AAAA,GACF,KAGM;AACJ,IAAA,MAAM,MAAA,CAAO,OAAO,0CAAA,EAA4C;AAAA,MAC9D,IAAA,EAAM,EAAE,EAAA,EAAI,YAAA,EAAc,OAAA;AAAQ,KACnC,CAAA;AAAA,EACH,CAAA;AAIA,EAAA,MAAM,wBAAA,GAA2B,OAAO,YAAA,EAAsB,MAAA,KAAyB;AACrF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,sCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAI,cAAa,EAAE;AAAA,MAC7B,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,0BAA0B,OAC9B,EAAE,YAAA,EAAc,YAAA,IAChB,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,qDAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAI,YAAA,EAAc,cAAa,EAAE;AAAA,MAC3C,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,6BAA6B,OAAO;AAAA,IACxC,YAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAiE;AAC/D,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAAK,sCAAA,EAAwC;AAAA,MACzE,IAAA,EAAM,EAAE,EAAA,EAAI,YAAA,EAAa;AAAA,MACzB;AAAA,KACD,CAAA;AACD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,6BAA6B,OAAO;AAAA,IACxC,YAAA;AAAA,IACA;AAAA,GACF,KAGM;AACJ,IAAA,MAAM,MAAA,CAAO,OAAO,qDAAA,EAAuD;AAAA,MACzE,IAAA,EAAM,EAAE,EAAA,EAAI,YAAA,EAAc,YAAA;AAAa,KACxC,CAAA;AAAA,EACH,CAAA;AAIA,EAAA,MAAM,+BAA+B,OAAO;AAAA,IAC1C,YAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAmE;AACjE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAAK,wCAAA,EAA0C;AAAA,MAC3E,IAAA,EAAM,EAAE,EAAA,EAAI,YAAA,EAAa;AAAA,MACzB;AAAA,KACD,CAAA;AACD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAIA,EAAA,MAAM,qBAAA,GAAwB,OAAO,YAAA,EAAsB,MAAA,KAAyB;AAClF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,mCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAI,cAAa,EAAE;AAAA,MAC7B,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,wBAAwB,OAAO;AAAA,IACnC,YAAA;AAAA,IACA,GAAG;AAAA,GACL,KAA4D;AAC1D,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAAK,mCAAA,EAAqC;AAAA,MACtE,IAAA,EAAM,EAAE,EAAA,EAAI,YAAA,EAAa;AAAA,MACzB;AAAA,KACD,CAAA;AAED,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,2BAA2B,OAAO;AAAA,IACtC,YAAA;AAAA,IACA;AAAA,GACF,KAGM;AACJ,IAAA,MAAM,MAAA,CAAO,OAAO,gDAAA,EAAkD;AAAA,MACpE,IAAA,EAAM,EAAE,EAAA,EAAI,YAAA,EAAc,UAAA;AAAW,KACtC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,aAAA;AAAA,IACA,gBAAA;AAAA,IACA,gBAAA;AAAA,IACA,gBAAA;AAAA,IACA,kBAAA;AAAA,IACA,iBAAA;AAAA,IACA,oBAAA;AAAA,IACA,wBAAA;AAAA,IACA,uBAAA;AAAA,IACA,0BAAA;AAAA,IACA,0BAAA;AAAA,IACA,4BAAA;AAAA,IACA,qBAAA;AAAA,IACA,qBAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA;;;AC7LO,IAAM,mBAAA,GAAsB,CAAC,MAAA,KAAyC;AAG3E,EAAA,MAAM,gBAAA,GAAmB,OAAO,MAAA,KAAyB;AACvD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,uBAAA,EAAyB,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AACzE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,OAAO,cAAA,EAAwB,MAAA,KAAyB;AAC9E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,4BAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAI,gBAAe,EAAE;AAAA,MAC/B,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,qBAAqB,OAAO;AAAA,IAChC,cAAA;AAAA,IACA,GAAG;AAAA,GACL,KAA2D;AACzD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,MAAM,4BAAA,EAA8B;AAAA,MAChE,IAAA,EAAM,EAAE,EAAA,EAAI,cAAA,EAAe;AAAA,MAC3B;AAAA,KACD,CAAA;AACD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OAAO,cAAA,KAA2B;AAC3D,IAAA,MAAM,MAAA,CAAO,OAAO,4BAAA,EAA8B,EAAE,MAAM,EAAE,EAAA,EAAI,cAAA,EAAe,EAAG,CAAA;AAAA,EACpF,CAAA;AAEA,EAAA,MAAM,QAAA,GAAW,OAAO,cAAA,KAA2B;AACjD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,MAAM,sCAAA,EAAwC;AAAA,MAC1E,IAAA,EAAM,EAAE,EAAA,EAAI,cAAA;AAAe,KAC5B,CAAA;AACD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OAAO,cAAA,KAA2B;AACzD,IAAA,MAAM,MAAA,CAAO,KAAK,8CAAA,EAAgD;AAAA,MAChE,IAAA,EAAM,EAAE,EAAA,EAAI,cAAA;AAAe,KAC5B,CAAA;AAAA,EACH,CAAA;AAIA,EAAA,MAAM,oBAAA,GAAuB,OAAO,cAAA,EAAwB,MAAA,KAAyB;AACnF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,kCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAI,gBAAe,EAAE;AAAA,MAC/B,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,sBAAsB,OAAO;AAAA,IACjC,cAAA;AAAA,IACA,GAAG;AAAA,GACL,KAA4D;AAC1D,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAAK,kCAAA,EAAoC;AAAA,MACrE,IAAA,EAAM,EAAE,EAAA,EAAI,cAAA,EAAe;AAAA,MAC3B;AAAA,KACD,CAAA;AACD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,yBAAyB,OAAO;AAAA,IACpC,cAAA;AAAA,IACA;AAAA,GACF,KAGM;AACJ,IAAA,MAAM,MAAA,CAAO,OAAO,2CAAA,EAA6C;AAAA,MAC/D,IAAA,EAAM,EAAE,EAAA,EAAI,cAAA,EAAgB,MAAA;AAAO,KACpC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,4BAAA,GAA+B,OAAO,cAAA,EAAwB,MAAA,KAAyB;AAC3F,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,2CAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAI,gBAAe,EAAE;AAAA,MAC/B,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAIA,EAAA,MAAM,0BAAA,GAA6B,OAAO,cAAA,EAAwB,MAAA,KAAyB;AACzF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,wCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAI,gBAAe,EAAE;AAAA,MAC/B,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,4BAA4B,OAChC,EAAE,cAAA,EAAgB,YAAA,IAClB,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,uDAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAI,cAAA,EAAgB,cAAa,EAAE;AAAA,MAC7C,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,+BAA+B,OAAO;AAAA,IAC1C,cAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAqE;AACnE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAAK,wCAAA,EAA0C;AAAA,MAC3E,IAAA,EAAM,EAAE,EAAA,EAAI,cAAA,EAAe;AAAA,MAC3B;AAAA,KACD,CAAA;AACD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,+BAA+B,OAAO;AAAA,IAC1C,cAAA;AAAA,IACA;AAAA,GACF,KAGM;AACJ,IAAA,MAAM,MAAA,CAAO,OAAO,uDAAA,EAAyD;AAAA,MAC3E,IAAA,EAAM,EAAE,EAAA,EAAI,cAAA,EAAgB,YAAA;AAAa,KAC1C,CAAA;AAAA,EACH,CAAA;AAIA,EAAA,MAAM,uBAAA,GAA0B,OAAO,cAAA,EAAwB,MAAA,KAAyB;AACtF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,qCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAI,gBAAe,EAAE;AAAA,MAC/B,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,4BAA4B,OAAO;AAAA,IACvC,cAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAkE;AAChE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAAK,qCAAA,EAAuC;AAAA,MACxE,IAAA,EAAM,EAAE,EAAA,EAAI,cAAA,EAAe;AAAA,MAC3B;AAAA,KACD,CAAA;AACD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAIA,EAAA,MAAM,uBAAA,GAA0B,OAAO,cAAA,EAAwB,MAAA,KAAyB;AACtF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,qCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,EAAA,EAAI,gBAAe,EAAE;AAAA,MAC/B,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,0BAA0B,OAAO;AAAA,IACrC,cAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAgE;AAC9D,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAAK,qCAAA,EAAuC;AAAA,MACxE,IAAA,EAAM,EAAE,EAAA,EAAI,cAAA,EAAe;AAAA,MAC3B;AAAA,KACD,CAAA;AAED,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,6BAA6B,OAAO;AAAA,IACxC,cAAA;AAAA,IACA;AAAA,GACF,KAGM;AACJ,IAAA,MAAM,MAAA,CAAO,OAAO,kDAAA,EAAoD;AAAA,MACtE,IAAA,EAAM,EAAE,EAAA,EAAI,cAAA,EAAgB,UAAA;AAAW,KACxC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,gBAAA;AAAA,IACA,eAAA;AAAA,IACA,kBAAA;AAAA,IACA,kBAAA;AAAA,IACA,QAAA;AAAA,IACA,gBAAA;AAAA,IACA,oBAAA;AAAA,IACA,mBAAA;AAAA,IACA,sBAAA;AAAA,IACA,4BAAA;AAAA,IACA,0BAAA;AAAA,IACA,yBAAA;AAAA,IACA,4BAAA;AAAA,IACA,4BAAA;AAAA,IACA,uBAAA;AAAA,IACA,yBAAA;AAAA,IACA,uBAAA;AAAA,IACA,uBAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA;;;AC1MO,IAAM,cAAA,GAAiB,CAAC,MAAA,KAA+B;AAC5D,EAAA,MAAM,UAAA,GAAa,OAAO,SAAA,EAAwC,MAAA,KAAyB;AACzF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,8BAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,SAAA,EAAU,EAAE;AAAA,MACtB,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,oBAAoB,OAAO;AAAA,IAC/B,SAAA;AAAA,IACA;AAAA,GACF,KAA2D;AACzD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAK5B,uCAAA,EAAyC,EAAE,IAAA,EAAM,EAAE,WAAU,EAAG,IAAA,EAAM,EAAE,OAAA,IAAW,CAAA;AACrF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,oBAAA,GAAuB,OAAO,IAAA,KAAmC;AACrE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,MAAA;AAAA,MAC5B,iDAAA;AAAA,MACA,EAAE,IAAA;AAAK,KACT;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,wBAAwB,OAAO;AAAA,IACnC,SAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACF,KAIM;AACJ,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,MAK5B,6CAAA,EAA+C;AAAA,MAC/C,IAAA,EAAM,EAAE,SAAA,EAAW,MAAA,EAAO;AAAA,MAC1B,IAAA,EAAM,EAAE,IAAA;AAAK,KACd,CAAA;AAED,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,OACtB,SAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,oCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,SAAA,EAAU,EAAE;AAAA,MACtB,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,qBAAA,GAAwB,OAC5B,SAAA,EACA,MAAA,KACG;AAGH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,0CAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,SAAA,EAAU,EAAE;AAAA,MACtB,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,0BAA0B,OAAO;AAAA,IACrC,SAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAiE;AAC/D,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAK5B,0CAAA,EAA4C;AAAA,MAC5C,IAAA,EAAM,EAAE,SAAA,EAAU;AAAA,MAClB;AAAA,KACD,CAAA;AACD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,0BAA0B,OAAO;AAAA,IACrC,SAAA;AAAA,IACA;AAAA,GACF,KAAmC;AACjC,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,MAAA;AAAA,MAC5B,yDAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,SAAA,EAAW,cAAa;AAAE,KACtC;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,iBAAiB,OAAO;AAAA,IAC5B,SAAA;AAAA,IACA,GAAG;AAAA,GACL,KAA+C;AAC7C,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,oCAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,SAAA,EAAU;AAAA,QAClB;AAAA;AACF,KACF;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,iBAAA,GAAoB,OAAO,EAAE,SAAA,EAAW,WAAU,KAA6B;AACnF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,MAAA;AAAA,MAC5B,gDAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,SAAA,EAAW,WAAU;AAAE,KACnC;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OACzB,SAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,uCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,SAAA,EAAU,EAAE;AAAA,MACtB,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,qBAAqB,OAAO;AAAA,IAChC,SAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACF,KAAuD;AACrD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,KAK5B,uCAAA,EAAyC;AAAA,MACzC,IAAA,EAAM,EAAE,SAAA,EAAU;AAAA,MAClB,IAAA,EAAM,EAAE,QAAA,EAAU,QAAA;AAAS,KAC5B,CAAA;AACD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,mBAAA,GAAsB,OAC1B,SAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,wCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,SAAA,EAAU,EAAE;AAAA,MACtB,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,sBAAsB,OAAO;AAAA,IACjC,SAAA;AAAA,IACA;AAAA,GACF,KAAyD;AACvD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAK5B,wCAAA,EAA0C;AAAA,MAC1C,IAAA,EAAM,EAAE,SAAA,EAAU;AAAA,MAClB,IAAA,EAAM,EAAE,QAAA;AAAS,KAClB,CAAA;AACD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAIA,EAAA,MAAM,gBAAgB,OAAO;AAAA,IAC3B,SAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAiD;AAC/C,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,8BAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,SAAA,IAAa,IAAA;AAAK,KAC9B;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,OAAO,SAAA,KAAsB;AACjD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,MAAA;AAAA,MAC5B,8BAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,SAAA,EAAU;AAAE,KACxB;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,cAAc,OAAO;AAAA,IACzB,SAAA;AAAA,IACA;AAAA,GACF,KAA+C;AAC7C,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,4CAAA;AAAA,MACA,EAAE,MAAM,EAAE,SAAA,IAAa,IAAA,EAAM,EAAE,gBAAe;AAAE,KAClD;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,qBAAqB,OAAO;AAAA,IAChC,SAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAsD;AACpD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA,CAK5B,uCAAA,EAAyC,EAAE,IAAA,EAAM,EAAE,SAAA,EAAU,EAAG,MAAM,CAAA;AACxE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,UAAA;AAAA,IACA,iBAAA;AAAA,IACA,oBAAA;AAAA,IACA,qBAAA;AAAA,IACA,eAAA;AAAA,IACA,qBAAA;AAAA,IACA,uBAAA;AAAA,IACA,uBAAA;AAAA,IACA,cAAA;AAAA,IACA,iBAAA;AAAA,IACA,kBAAA;AAAA,IACA,kBAAA;AAAA,IACA,mBAAA;AAAA,IACA,mBAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA;;;ACrRO,IAAM,WAAA,GAAc,CAAC,MAAA,KAA+B;AACzD,EAAA,MAAM,sBAAsB,OAC1B,EAAE,OAAA,EAAS,YAAA,IACX,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,uCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,YAAA,EAAc,kBAAA,CAAmB,YAAY,CAAA,EAAE,EAAG,IAAA,EAAM,EAAE,OAAA,EAAQ,EAAE;AAAA,MAC9E,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,yBAAyB,OAC7B,EAAE,YAAA,EAAc,OAAA,IAChB,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,MAAA;AAAA,MAC5B,iDAAA;AAAA,MACA,EAAE,MAAM,EAAE,YAAA,EAAc,mBAAmB,YAAY,CAAA,EAAG,SAAQ,EAAE;AAAA,MACpE,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,mBAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA;;;AClBO,IAAM,yBAAyB,CAAC;AAAA,EACrC,OAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAA,KAA6D;AAC3D,EAAA,MAAM,iBAAiB,oBAAA,CAAqB;AAAA,IAC1C,OAAA;AAAA,IACA,WAAA,EAAa;AAAA,GACd,CAAA;AACD,EAAA,MAAM,cAAA,GAAiB;AAAA,IACrB,GAAG,WAAA;AAAA,IACH;AAAA;AAAA,GACF;AAEA,EAAA,MAAM,SAASD,0CAAA,CAAyB;AAAA,IACtC,OAAA;AAAA,IACA,WAAA,EAAa;AAAA,GACd,CAAA;AAED,EAAA,MAAM,gBAAgBM,0CAAA,CAAgC;AAAA,IACpD,OAAA;AAAA,IACA,WAAA,EAAa;AAAA,GACd,CAAA;AAED,EAAA,MAAM,WAAA,GAAc,OAAO,MAAA,KAAyB;AAClD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,aAAA,CAAc,GAAA,CAAI,uBAAA,EAAyB,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AAChF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,WAAA,EAAa,kBAAkB,aAAa,CAAA;AAAA,IAC5C,WAAA,EAAa,kBAAkB,aAAa,CAAA;AAAA,IAC5C,aAAA,EAAe,oBAAoB,aAAa,CAAA;AAAA,IAChD,QAAA,EAAU,eAAe,MAAM,CAAA;AAAA,IAC/B,QAAA,EAAU,eAAe,MAAM,CAAA;AAAA,IAC/B,KAAA,EAAO,YAAY,MAAM,CAAA;AAAA,IACzB;AAAA,GACF;AACF","file":"chunk-TWP7DBSZ.cjs","sourcesContent":["import type { ApiResponse } from '../fetchClient/createFetchClient/types';\n\nimport { ApiError } from './ApiError';\n\nexport class ManagementClientAuthError extends ApiError {\n title: string;\n message: string;\n constructor(title: string, message: string, res: ApiResponse) {\n super(res);\n this.title = title;\n this.message = message;\n }\n}\n","import { KeboolaHttpHeader } from '../../constants';\nimport { ManagementClientAuthError } from '../../errors';\nimport {\n createGenericFetchClient,\n defaultValidateStatus,\n HttpContentType,\n HttpHeader,\n type MiddlewareFn,\n} from '../../fetchClient';\nimport { createVerifyClient } from '../verify';\nimport type { ManagementToken } from '../verify/types';\n\ntype ManagementTokenWithStringToken = { token: string } & ManagementToken;\n\n// Long enough to amortize verify calls over a burst of parallel queries at app\n// startup; short enough that a remotely revoked token is re-checked within a minute.\nconst TOKEN_CACHE_TTL_MS = 60_000;\n\nexport const isManagementClientAuthError = (error: unknown): error is ManagementClientAuthError =>\n error instanceof ManagementClientAuthError;\n\nconst createAuth = (baseUrl: string) => {\n const fetchClient = createGenericFetchClient({ baseUrl });\n\n const createCurrentUserSessionToken = async (accessToken: string) => {\n const headers = new Headers({ [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: accessToken });\n const { data } = await fetchClient.post<ManagementTokenWithStringToken>(\n '/manage/current-user/session-token',\n {},\n { headers },\n );\n return data.token;\n };\n\n const createAdminAccountSessionToken = async () => {\n const { data } = await fetchClient.post<ManagementTokenWithStringToken>(\n '/admin/account/session-token',\n {},\n {\n // transform valid response, to invalid and throw custom error\n validateStatus: (apiResponse) => {\n const { response } = apiResponse;\n\n // If the response is \"302 Found\", then response type is \"text/html\", because backend detected\n // that session expired and redirected user to login screen\n const isTextContent = response.headers\n .get(HttpHeader.CONTENT_TYPE)\n ?.includes(HttpContentType.TEXT_HTML);\n\n if (isTextContent)\n return new ManagementClientAuthError(\n 'Your session expired',\n 'You will be logged out automatically.',\n apiResponse,\n );\n\n return defaultValidateStatus(apiResponse);\n },\n },\n );\n return data.token;\n };\n\n return {\n createCurrentUserSessionToken,\n createAdminAccountSessionToken,\n };\n};\n\nexport const createAuthMiddleware = ({\n accessToken,\n baseUrl,\n}: {\n baseUrl: string;\n accessToken?: string;\n}): MiddlewareFn => {\n const auth = createAuth(baseUrl);\n const verify = createVerifyClient();\n\n let token: string | undefined = accessToken;\n let tokenValidUntil = 0;\n let inflightAuth: Promise<string> | null = null;\n // oxlint-disable-next-line turbo/no-undeclared-env-vars\n const isDevelopment = process.env.NODE_ENV === 'development';\n\n const ensureValidToken = async (): Promise<string> => {\n if (token && Date.now() < tokenValidUntil) return token;\n\n if (token) {\n const tokenInfo = await verify.managementApiToken(baseUrl, token);\n const isTokenValid = !tokenInfo.isDisabled && !tokenInfo.isExpired;\n if (isTokenValid) {\n tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;\n return token;\n }\n token = isDevelopment\n ? await auth.createCurrentUserSessionToken(token)\n : await auth.createAdminAccountSessionToken();\n tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;\n return token;\n }\n\n token = await auth.createAdminAccountSessionToken();\n tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;\n return token;\n };\n\n return (next) => async (request) => {\n // Deduplicate concurrent auth — all parallel requests share one inflight promise\n if (!inflightAuth) {\n inflightAuth = ensureValidToken().finally(() => {\n inflightAuth = null;\n });\n }\n const validToken = await inflightAuth;\n\n request.request.headers.set(KeboolaHttpHeader.MANAGEMENT_API_TOKEN, validToken);\n return next(request);\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nexport const createCurrentUser = (client: ManagementOpenApiFetchClient) => {\n // --- Maintainer invitations ---\n\n const getMaintainerInvitations = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/maintainers-invitations',\n {},\n { signal },\n );\n return data;\n };\n\n const getMaintainerInvitation = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/maintainers-invitations/{id}',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const acceptMaintainerInvitation = async (id: number) => {\n await client.put('/manage/current-user/maintainers-invitations/{id}', { path: { id } });\n };\n\n const rejectMaintainerInvitation = async (id: number) => {\n await client.delete('/manage/current-user/maintainers-invitations/{id}', { path: { id } });\n };\n\n // --- Organization invitations ---\n\n const getOrganizationInvitations = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/organizations-invitations',\n {},\n { signal },\n );\n return data;\n };\n\n const getOrganizationInvitation = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/organizations-invitations/{id}',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const acceptOrganizationInvitation = async (id: number) => {\n await client.put('/manage/current-user/organizations-invitations/{id}', { path: { id } });\n };\n\n const rejectOrganizationInvitation = async (id: number) => {\n await client.delete('/manage/current-user/organizations-invitations/{id}', { path: { id } });\n };\n\n // --- Project invitations ---\n\n const getProjectInvitations = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/current-user/projects-invitations', {}, { signal });\n return data;\n };\n\n const getProjectInvitation = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/projects-invitations/{id}',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const acceptProjectInvitation = async (id: number) => {\n await client.put('/manage/current-user/projects-invitations/{id}', { path: { id } });\n };\n\n const rejectProjectInvitation = async (id: number) => {\n await client.delete('/manage/current-user/projects-invitations/{id}', { path: { id } });\n };\n\n // --- Project join requests ---\n\n const getProjectJoinRequests = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/projects-join-requests',\n {},\n { signal },\n );\n return data;\n };\n\n const deleteProjectJoinRequest = async (id: number) => {\n await client.delete('/manage/current-user/projects-join-requests/{id}', { path: { id } });\n };\n\n return {\n getMaintainerInvitations,\n getMaintainerInvitation,\n acceptMaintainerInvitation,\n rejectMaintainerInvitation,\n getOrganizationInvitations,\n getOrganizationInvitation,\n acceptOrganizationInvitation,\n rejectOrganizationInvitation,\n getProjectInvitations,\n getProjectInvitation,\n acceptProjectInvitation,\n rejectProjectInvitation,\n getProjectJoinRequests,\n deleteProjectJoinRequest,\n };\n};\n","import type { GenericFetchClient } from '../managementClient';\n\nimport type { Feature, FeatureAdmin, FeatureProject, GetAllFeaturesQuery } from './types';\n\nexport const createFeatures = (client: GenericFetchClient) => {\n const getAllFeatures = async (query: GetAllFeaturesQuery, signal?: AbortSignal) => {\n const { data } = await client.get<Feature[], void, GetAllFeaturesQuery>(\n '/manage/features',\n { query },\n { signal },\n );\n return data;\n };\n\n const getFeature = async (featureId: number, signal?: AbortSignal) => {\n const { data } = await client.get<Feature>(\n '/manage/features/{featureId}',\n { path: { featureId } },\n { signal },\n );\n return data;\n };\n\n const getFeatureProjects = async (featureId: number, signal?: AbortSignal) => {\n const { data } = await client.get<FeatureProject[]>(\n '/manage/features/{featureId}/projects',\n { path: { featureId } },\n { signal },\n );\n return data;\n };\n\n const getFeatureAdmins = async (featureId: number, signal?: AbortSignal) => {\n const { data } = await client.get<FeatureAdmin[]>(\n '/manage/features/{featureId}/admins',\n { path: { featureId } },\n { signal },\n );\n return data;\n };\n\n return {\n getAllFeatures,\n getFeature,\n getFeatureProjects,\n getFeatureAdmins,\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nimport type {\n AddMaintainerUserBody,\n CreateMaintainerBody,\n CreateMaintainerInvitationBody,\n CreateMaintainerOrganizationBody,\n Maintainer,\n MaintainerDetail,\n MaintainerInvitationDetail,\n MaintainerUser,\n MetadataItem,\n SetMaintainerMetadataBody,\n UpdateMaintainerBody,\n} from './types';\n\nexport const createMaintainers = (client: ManagementOpenApiFetchClient) => {\n // --- Maintainer CRUD ---\n\n const getMaintainers = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/maintainers', {}, { signal });\n // OpenAPI declares response as `Record<string, never>[]`; backend returns MaintainerResponse[].\n return data as unknown as Maintainer[];\n };\n\n const getMaintainer = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}',\n { path: { id: maintainerId } },\n { signal },\n );\n // OpenAPI under-models the detail's `organizations`; backend returns full organization objects.\n return data as unknown as MaintainerDetail;\n };\n\n const createMaintainer = async (body: CreateMaintainerBody) => {\n const { data } = await client.post('/manage/maintainers', { body });\n return data;\n };\n\n const updateMaintainer = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & UpdateMaintainerBody) => {\n const { data } = await client.patch('/manage/maintainers/{id}', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n const deleteMaintainer = async (maintainerId: number) => {\n await client.delete('/manage/maintainers/{id}', { path: { id: maintainerId } });\n };\n\n // --- Members (users/admins) ---\n\n const getMaintainerUsers = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/users',\n { path: { id: maintainerId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns user objects.\n return data as unknown as MaintainerUser[];\n };\n\n const addMaintainerUser = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & AddMaintainerUserBody) => {\n const { data } = await client.post('/manage/maintainers/{id}/users', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n const removeMaintainerUser = async ({\n maintainerId,\n adminId,\n }: {\n maintainerId: number;\n adminId: number;\n }) => {\n await client.delete('/manage/maintainers/{id}/users/{adminId}', {\n path: { id: maintainerId, adminId },\n });\n };\n\n // --- Invitations ---\n\n const getMaintainerInvitations = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/invitations',\n { path: { id: maintainerId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns invitation objects.\n return data as unknown as MaintainerInvitationDetail[];\n };\n\n const getMaintainerInvitation = async (\n { maintainerId, invitationId }: { maintainerId: number; invitationId: number },\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/invitations/{invitationId}',\n { path: { id: maintainerId, invitationId } },\n { signal },\n );\n return data;\n };\n\n const createMaintainerInvitation = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & CreateMaintainerInvitationBody) => {\n const { data } = await client.post('/manage/maintainers/{id}/invitations', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n const deleteMaintainerInvitation = async ({\n maintainerId,\n invitationId,\n }: {\n maintainerId: number;\n invitationId: number;\n }) => {\n await client.delete('/manage/maintainers/{id}/invitations/{invitationId}', {\n path: { id: maintainerId, invitationId },\n });\n };\n\n // --- Organizations under maintainer ---\n\n const createMaintainerOrganization = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & CreateMaintainerOrganizationBody) => {\n const { data } = await client.post('/manage/maintainers/{id}/organizations', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n // --- Metadata ---\n\n const getMaintainerMetadata = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/metadata',\n { path: { id: maintainerId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns MetadataItem[].\n return data as unknown as MetadataItem[];\n };\n\n const setMaintainerMetadata = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & SetMaintainerMetadataBody) => {\n const { data } = await client.post('/manage/maintainers/{id}/metadata', {\n path: { id: maintainerId },\n body,\n });\n // OpenAPI declares response as `Record<string, never>[]`; backend returns MetadataItem[].\n return data as unknown as MetadataItem[];\n };\n\n const deleteMaintainerMetadata = async ({\n maintainerId,\n metadataId,\n }: {\n maintainerId: number;\n metadataId: number;\n }) => {\n await client.delete('/manage/maintainers/{id}/metadata/{metadataId}', {\n path: { id: maintainerId, metadataId },\n });\n };\n\n return {\n getMaintainers,\n getMaintainer,\n createMaintainer,\n updateMaintainer,\n deleteMaintainer,\n getMaintainerUsers,\n addMaintainerUser,\n removeMaintainerUser,\n getMaintainerInvitations,\n getMaintainerInvitation,\n createMaintainerInvitation,\n deleteMaintainerInvitation,\n createMaintainerOrganization,\n getMaintainerMetadata,\n setMaintainerMetadata,\n deleteMaintainerMetadata,\n };\n};\n","import type { MetadataItem } from '../maintainers/types';\nimport type { ManagementOpenApiFetchClient } from '../managementClient';\nimport type { Project } from '../projects/types';\n\nimport type {\n AddOrganizationUserBody,\n AdminUser,\n CreateOrganizationInvitationBody,\n CreateOrganizationProjectBody,\n OrganizationDetail,\n OrganizationInvitationDetail,\n SetOrganizationMetadataBody,\n UpdateOrganizationBody,\n} from './types';\n\nexport const createOrganizations = (client: ManagementOpenApiFetchClient) => {\n // --- Organization CRUD ---\n\n const getOrganizations = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/organizations', {}, { signal });\n return data;\n };\n\n const getOrganization = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares projects/maintainer as `Record<string, never>`; backend returns full shapes.\n return data as unknown as OrganizationDetail;\n };\n\n const updateOrganization = async ({\n organizationId,\n ...body\n }: { organizationId: number } & UpdateOrganizationBody) => {\n const { data } = await client.patch('/manage/organizations/{id}', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n const deleteOrganization = async (organizationId: number) => {\n await client.delete('/manage/organizations/{id}', { path: { id: organizationId } });\n };\n\n const forceMfa = async (organizationId: number) => {\n const { data } = await client.patch('/manage/organizations/{id}/force-mfa', {\n path: { id: organizationId },\n });\n return data;\n };\n\n const joinOrganization = async (organizationId: number) => {\n await client.post('/manage/organizations/{id}/join-organization', {\n path: { id: organizationId },\n });\n };\n\n // --- Members (users/admins) ---\n\n const getOrganizationUsers = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/users',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns user objects.\n return data as unknown as AdminUser[];\n };\n\n const addOrganizationUser = async ({\n organizationId,\n ...body\n }: { organizationId: number } & AddOrganizationUserBody) => {\n const { data } = await client.post('/manage/organizations/{id}/users', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n const removeOrganizationUser = async ({\n organizationId,\n userId,\n }: {\n organizationId: number;\n userId: number;\n }) => {\n await client.delete('/manage/organizations/{id}/users/{userId}', {\n path: { id: organizationId, userId },\n });\n };\n\n const getOrganizationProjectsUsers = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/projects-users',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns user objects.\n return data as unknown as AdminUser[];\n };\n\n // --- Invitations ---\n\n const getOrganizationInvitations = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/invitations',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns invitation objects.\n return data as unknown as OrganizationInvitationDetail[];\n };\n\n const getOrganizationInvitation = async (\n { organizationId, invitationId }: { organizationId: number; invitationId: number },\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/invitations/{invitationId}',\n { path: { id: organizationId, invitationId } },\n { signal },\n );\n return data;\n };\n\n const createOrganizationInvitation = async ({\n organizationId,\n ...body\n }: { organizationId: number } & CreateOrganizationInvitationBody) => {\n const { data } = await client.post('/manage/organizations/{id}/invitations', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n const deleteOrganizationInvitation = async ({\n organizationId,\n invitationId,\n }: {\n organizationId: number;\n invitationId: number;\n }) => {\n await client.delete('/manage/organizations/{id}/invitations/{invitationId}', {\n path: { id: organizationId, invitationId },\n });\n };\n\n // --- Projects under organization ---\n\n const getOrganizationProjects = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/projects',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns project objects.\n return data as unknown as Project[];\n };\n\n const createOrganizationProject = async ({\n organizationId,\n ...body\n }: { organizationId: number } & CreateOrganizationProjectBody) => {\n const { data } = await client.post('/manage/organizations/{id}/projects', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n // --- Metadata ---\n\n const getOrganizationMetadata = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/metadata',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns metadata items.\n return data as unknown as MetadataItem[];\n };\n\n const setOrganizationMetadata = async ({\n organizationId,\n ...body\n }: { organizationId: number } & SetOrganizationMetadataBody) => {\n const { data } = await client.post('/manage/organizations/{id}/metadata', {\n path: { id: organizationId },\n body,\n });\n // OpenAPI declares response as `Record<string, never>[]`; backend returns metadata items.\n return data as unknown as MetadataItem[];\n };\n\n const deleteOrganizationMetadata = async ({\n organizationId,\n metadataId,\n }: {\n organizationId: number;\n metadataId: number;\n }) => {\n await client.delete('/manage/organizations/{id}/metadata/{metadataId}', {\n path: { id: organizationId, metadataId },\n });\n };\n\n return {\n getOrganizations,\n getOrganization,\n updateOrganization,\n deleteOrganization,\n forceMfa,\n joinOrganization,\n getOrganizationUsers,\n addOrganizationUser,\n removeOrganizationUser,\n getOrganizationProjectsUsers,\n getOrganizationInvitations,\n getOrganizationInvitation,\n createOrganizationInvitation,\n deleteOrganizationInvitation,\n getOrganizationProjects,\n createOrganizationProject,\n getOrganizationMetadata,\n setOrganizationMetadata,\n deleteOrganizationMetadata,\n };\n};\n","import type { GenericFetchClient } from '../managementClient';\nimport type { User } from '../types';\n\nimport type {\n AddProjectUserBody,\n AddProjectUserPath,\n CreateProjectFeatureBody,\n CreateProjectFeaturePath,\n CreateProjectInvitationBody,\n CreateProjectInvitationPath,\n DeleteProjectInvitationPath,\n GetProjectMetadataPath,\n GetProjectPath,\n GetProjectReviewersPath,\n ListProjectInvitationsPath,\n ListProjectUsersPath,\n MoveProjectBody,\n Project,\n ProjectInvitationDetail,\n ProjectMetadataItem,\n RemoveProjectFeaturePath,\n RemoveProjectUserPath,\n Reviewer,\n SetProjectDisabledBody,\n SetProjectMetadataBody,\n SetProjectMetadataPath,\n SetProjectReviewersBody,\n SetProjectReviewersPath,\n UpdateProjectBody,\n} from './types';\n\nexport const createProjects = (client: GenericFetchClient) => {\n const getProject = async (projectId: GetProjectPath['projectId'], signal?: AbortSignal) => {\n const { data } = await client.get<Project, GetProjectPath>(\n '/manage/projects/{projectId}',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n const addProjectFeature = async ({\n projectId,\n feature,\n }: CreateProjectFeaturePath & CreateProjectFeatureBody) => {\n const { data } = await client.post<\n Project,\n CreateProjectFeaturePath,\n void,\n CreateProjectFeatureBody\n >('/manage/projects/{projectId}/features', { path: { projectId }, body: { feature } });\n return data;\n };\n\n const removeProjectFeature = async (path: RemoveProjectFeaturePath) => {\n const { data } = await client.delete<null, RemoveProjectFeaturePath>(\n '/manage/projects/{projectId}/features/{feature}',\n { path },\n );\n return data;\n };\n\n const changeProjectUserRole = async ({\n projectId,\n userId,\n role,\n }: {\n projectId: number;\n userId: number;\n role: User['role'];\n }) => {\n const { data } = await client.patch<\n User,\n { projectId: number; userId: number },\n never,\n { role: User['role'] }\n >('/manage/projects/{projectId}/users/{userId}', {\n path: { projectId, userId },\n body: { role },\n });\n\n return data;\n };\n\n const getProjectUsers = async (\n projectId: ListProjectUsersPath['projectId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<User[], ListProjectUsersPath>(\n '/manage/projects/{projectId}/users',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n const getProjectInvitations = async (\n projectId: ListProjectInvitationsPath['projectId'],\n signal?: AbortSignal,\n ) => {\n // OpenAPI declares the list response as `Record<string, never>[]`; backend returns\n // ProjectInvitationDetailResponse objects.\n const { data } = await client.get<ProjectInvitationDetail[], ListProjectInvitationsPath>(\n '/manage/projects/{projectId}/invitations',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n const createProjectInvitation = async ({\n projectId,\n ...body\n }: CreateProjectInvitationPath & CreateProjectInvitationBody) => {\n const { data } = await client.post<\n ProjectInvitationDetail,\n CreateProjectInvitationPath,\n never,\n CreateProjectInvitationBody\n >('/manage/projects/{projectId}/invitations', {\n path: { projectId },\n body,\n });\n return data;\n };\n\n const deleteProjectInvitation = async ({\n projectId,\n invitationId,\n }: DeleteProjectInvitationPath) => {\n const { data } = await client.delete<null, DeleteProjectInvitationPath>(\n '/manage/projects/{projectId}/invitations/{invitationId}',\n { path: { projectId, invitationId } },\n );\n return data;\n };\n\n const addProjectUser = async ({\n projectId,\n ...body\n }: AddProjectUserPath & AddProjectUserBody) => {\n const { data } = await client.post<User, AddProjectUserPath, never, AddProjectUserBody>(\n '/manage/projects/{projectId}/users',\n {\n path: { projectId },\n body,\n },\n );\n return data;\n };\n\n const removeProjectUser = async ({ projectId, idOrEmail }: RemoveProjectUserPath) => {\n const { data } = await client.delete<null, RemoveProjectUserPath>(\n '/manage/projects/{projectId}/users/{idOrEmail}',\n { path: { projectId, idOrEmail } },\n );\n return data;\n };\n\n const getProjectMetadata = async (\n projectId: GetProjectMetadataPath['projectId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<ProjectMetadataItem[], GetProjectMetadataPath>(\n '/manage/projects/{projectId}/metadata',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n const setProjectMetadata = async ({\n projectId,\n provider,\n metadata,\n }: SetProjectMetadataPath & SetProjectMetadataBody) => {\n const { data } = await client.post<\n ProjectMetadataItem[],\n SetProjectMetadataPath,\n void,\n SetProjectMetadataBody\n >('/manage/projects/{projectId}/metadata', {\n path: { projectId },\n body: { provider, metadata },\n });\n return data;\n };\n\n const getProjectReviewers = async (\n projectId: GetProjectReviewersPath['projectId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Reviewer[], GetProjectReviewersPath>(\n '/manage/projects/{projectId}/reviewers',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n const setProjectReviewers = async ({\n projectId,\n adminIds,\n }: SetProjectReviewersPath & SetProjectReviewersBody) => {\n const { data } = await client.put<\n void,\n SetProjectReviewersPath,\n never,\n SetProjectReviewersBody\n >('/manage/projects/{projectId}/reviewers', {\n path: { projectId },\n body: { adminIds },\n });\n return data;\n };\n\n // --- M6 write operations ---\n\n const updateProject = async ({\n projectId,\n ...body\n }: { projectId: number } & UpdateProjectBody) => {\n const { data } = await client.put<Project, { projectId: number }, never, UpdateProjectBody>(\n '/manage/projects/{projectId}',\n { path: { projectId }, body },\n );\n return data;\n };\n\n const deleteProject = async (projectId: number) => {\n const { data } = await client.delete<null, { projectId: number }>(\n '/manage/projects/{projectId}',\n { path: { projectId } },\n );\n return data;\n };\n\n const moveProject = async ({\n projectId,\n organizationId,\n }: { projectId: number } & MoveProjectBody) => {\n const { data } = await client.post<Project, { projectId: number }, never, MoveProjectBody>(\n '/manage/projects/{projectId}/organizations',\n { path: { projectId }, body: { organizationId } },\n );\n return data;\n };\n\n const setProjectDisabled = async ({\n projectId,\n ...body\n }: { projectId: number } & SetProjectDisabledBody) => {\n const { data } = await client.post<\n Project,\n { projectId: number },\n never,\n SetProjectDisabledBody\n >('/manage/projects/{projectId}/disabled', { path: { projectId }, body });\n return data;\n };\n\n return {\n getProject,\n addProjectFeature,\n removeProjectFeature,\n changeProjectUserRole,\n getProjectUsers,\n getProjectInvitations,\n createProjectInvitation,\n deleteProjectInvitation,\n addProjectUser,\n removeProjectUser,\n getProjectMetadata,\n setProjectMetadata,\n getProjectReviewers,\n setProjectReviewers,\n updateProject,\n deleteProject,\n moveProject,\n setProjectDisabled,\n };\n};\n","import type { GenericFetchClient } from '../managementClient';\n\nimport type { AddUserFeatureBody, AddUserFeaturePath, RemoveUserFeaturePath, User } from './types';\n\nexport const createUsers = (client: GenericFetchClient) => {\n const addUserAdminFeature = async (\n { feature, userIdOrMail }: AddUserFeatureBody & AddUserFeaturePath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<User, AddUserFeaturePath, void, AddUserFeatureBody>(\n '/manage/users/{userIdOrMail}/features',\n { path: { userIdOrMail: encodeURIComponent(userIdOrMail) }, body: { feature } },\n { signal },\n );\n return data;\n };\n\n const removeUserAdminFeature = async (\n { userIdOrMail, feature }: RemoveUserFeaturePath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.delete<User, RemoveUserFeaturePath>(\n '/manage/users/{userIdOrMail}/features/{feature}',\n { path: { userIdOrMail: encodeURIComponent(userIdOrMail), feature } },\n { signal },\n );\n return data;\n };\n\n return {\n addUserAdminFeature,\n removeUserAdminFeature,\n };\n};\n","import { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createAuthMiddleware } from './authMiddleware';\nimport { createCurrentUser } from './currentUser';\nimport { createFeatures } from './features';\nimport { createMaintainers } from './maintainers';\nimport { createOrganizations } from './organizations';\nimport { createProjects } from './projects';\nimport { createUsers } from './users';\n\nexport type GenericFetchClient = ReturnType<typeof createGenericFetchClient>;\nexport type ManagementOpenApiFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createManagementClient = ({\n baseUrl,\n middlewares,\n token,\n}: Omit<ClientInitOptions, 'token'> & { token?: string }) => {\n const authMiddleware = createAuthMiddleware({\n baseUrl,\n accessToken: token,\n });\n const allMiddlewares = [\n ...middlewares,\n authMiddleware, // 👈 beware order of middlewares always matter\n ];\n\n const client = createGenericFetchClient({\n baseUrl,\n middlewares: allMiddlewares,\n });\n\n const openApiClient = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares: allMiddlewares,\n });\n\n const verifyToken = async (signal?: AbortSignal) => {\n const { data } = await openApiClient.get('/manage/tokens/verify', {}, { signal });\n return data;\n };\n\n return {\n currentUser: createCurrentUser(openApiClient),\n maintainers: createMaintainers(openApiClient),\n organizations: createOrganizations(openApiClient),\n features: createFeatures(client),\n projects: createProjects(client),\n users: createUsers(client),\n verifyToken,\n };\n};\n"]}
@@ -1,12 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var chunkMTFRH3R5_cjs = require('./chunk-MTFRH3R5.cjs');
3
+ var chunkIDYRJ4K3_cjs = require('./chunk-IDYRJ4K3.cjs');
4
+ var chunkR7MQGDLC_cjs = require('./chunk-R7MQGDLC.cjs');
4
5
 
5
6
  // src/clients/editor/editorClient.ts
6
- var createEditorClient = ({ baseUrl, middlewares }) => {
7
- const client = chunkMTFRH3R5_cjs.createOpenapiFetchClient({
7
+ var createEditorClient = ({ baseUrl, middlewares, token }) => {
8
+ const client = chunkIDYRJ4K3_cjs.createOpenapiFetchClient({
8
9
  baseUrl,
9
- middlewares
10
+ middlewares,
11
+ headers: { [chunkR7MQGDLC_cjs.KeboolaHttpHeader.STORAGE_API_TOKEN]: token }
10
12
  });
11
13
  const createSession = async (body) => {
12
14
  const { data } = await client.post("/sql/sessions", {
@@ -106,5 +108,5 @@ var createEditorClient = ({ baseUrl, middlewares }) => {
106
108
  };
107
109
 
108
110
  exports.createEditorClient = createEditorClient;
109
- //# sourceMappingURL=chunk-REXMA2IN.cjs.map
110
- //# sourceMappingURL=chunk-REXMA2IN.cjs.map
111
+ //# sourceMappingURL=chunk-TXDMA4CT.cjs.map
112
+ //# sourceMappingURL=chunk-TXDMA4CT.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/clients/editor/editorClient.ts"],"names":["createOpenapiFetchClient","KeboolaHttpHeader"],"mappings":"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","file":"chunk-TXDMA4CT.cjs","sourcesContent":["import { KeboolaHttpHeader } from '../../constants';\nimport { createOpenapiFetchClient } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n CreateSqlSessionBody,\n GetSqlSessionPath,\n GetSqlSessionSchemaPath,\n GetSqlSessionSchemaQuery,\n GetSqlSessionsQuery,\n GetSqlSessionTableDdlPath,\n GetSqlSessionTableDdlQuery,\n PostSqlRunQueryBody,\n PostSqlRunQueryPath,\n PostSqlSessionLoadBody,\n PostSqlSessionLoadPath,\n PostSqlSessionUnloadBody,\n PostSqlSessionUnloadPath,\n PostSqlTablePreviewBody,\n PostSqlTablePreviewPath,\n} from './types';\n\nexport const createEditorClient = ({ baseUrl, middlewares, token }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: { [KeboolaHttpHeader.STORAGE_API_TOKEN]: token },\n });\n\n const createSession = async (body: CreateSqlSessionBody) => {\n const { data } = await client.post('/sql/sessions', {\n body,\n });\n return data;\n };\n\n const getSession = async ({ id }: GetSqlSessionPath, signal?: AbortSignal) => {\n const { data } = await client.get(`/sql/sessions/{id}`, { path: { id } }, { signal });\n return data;\n };\n\n const getSessions = async (query: GetSqlSessionsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(`/sql/sessions`, { query }, { signal });\n\n return data;\n };\n\n const getSessionSchema = async (\n {\n id,\n onlyWorkspaceSchema = '1',\n loadTables = '1',\n }: GetSqlSessionSchemaPath & GetSqlSessionSchemaQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n `/sql/sessions/{id}/schema`,\n {\n path: { id },\n query: { onlyWorkspaceSchema, loadTables },\n },\n { signal },\n );\n return data;\n };\n\n const createQueryJob = async ({ id }: PostSqlRunQueryPath, body: PostSqlRunQueryBody) => {\n const { data } = await client.post(`/sql/sessions/{id}/run-query`, {\n path: { id },\n body,\n });\n return data;\n };\n\n const tablePreview = async ({ id }: PostSqlTablePreviewPath, body: PostSqlTablePreviewBody) => {\n const { data } = await client.post(`/sql/sessions/{id}/table-preview`, {\n path: { id },\n body,\n });\n\n return data;\n };\n\n const tableDefinition = async (\n { id, ...query }: GetSqlSessionTableDdlPath & GetSqlSessionTableDdlQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n `/sql/sessions/{id}/table-ddl`,\n { path: { id }, query },\n { signal },\n );\n return data;\n };\n\n const load = async ({ id }: PostSqlSessionLoadPath, body: PostSqlSessionLoadBody) => {\n const { data } = await client.post(`/sql/sessions/{id}/load`, {\n path: { id },\n body,\n });\n\n return data;\n };\n\n const unload = async ({ id }: PostSqlSessionUnloadPath, body?: PostSqlSessionUnloadBody) => {\n const { data } = await client.post(`/sql/sessions/{id}/unload`, {\n path: { id },\n // BE error: The body is optional; however, without it, the request will fail with the message \"Request content type must be application/json.\"\n // This is expected, as our client cannot correctly determine the content type without the body.\n // This issue should be addressed to indicate that the body is required in their Swagger schema.\n body: body ?? { tableId: null },\n });\n\n return data;\n };\n\n const resetWorkspacePassword = async (id: string) => {\n const { data } = await client.post(`/sql/sessions/{id}/reset-password`, {\n path: { id },\n });\n\n return data;\n };\n\n const getSessionCredentials = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n `/sql/sessions/{id}/credentials`,\n { path: { id } },\n { signal },\n );\n\n return data;\n };\n\n return {\n createSession,\n getSession,\n getSessions,\n getSessionSchema,\n createQueryJob,\n tablePreview,\n tableDefinition,\n load,\n unload,\n resetWorkspacePassword,\n getSessionCredentials,\n };\n};\n"]}
@@ -0,0 +1,267 @@
1
+ 'use strict';
2
+
3
+ var zod = require('zod');
4
+
5
+ // src/domain/storageTable/constants.ts
6
+ var BRANCH_PREFIX_REGEX = /^(\d+)-(.+)$/;
7
+ var LEGACY_BUCKET_PREFIX = "c-";
8
+ var NAME_CHARSET_REGEX = /^[a-zA-Z0-9_-]+$/;
9
+ var NAME_MAX_LENGTH = 96;
10
+ var stageSchema = zod.z.enum(["in", "out"]);
11
+ var nameSchema = zod.z.string().min(1, `Invalid name segment: must not be empty`).max(NAME_MAX_LENGTH, `Invalid name segment: exceeds ${NAME_MAX_LENGTH} characters`).refine((n) => !n.startsWith("_"), `Invalid name segment: must not start with an underscore`).regex(NAME_CHARSET_REGEX, `Invalid name segment: contains invalid characters`);
12
+ var tableIdSchema = zod.z.string().refine(
13
+ (id) => id.split(".").length === 3,
14
+ 'Invalid table id: must be in "{stage}.{bucket}.{table}" form'
15
+ ).transform((id) => id.split(".")).pipe(zod.z.tuple([stageSchema, nameSchema, nameSchema]));
16
+ var bucketIdSchema = zod.z.string().refine(
17
+ (id) => id.split(".").length === 2,
18
+ 'Invalid bucket id: must be in "{stage}.{bucket}" form'
19
+ ).transform((id) => id.split(".")).pipe(zod.z.tuple([stageSchema, nameSchema]));
20
+
21
+ // src/domain/storageTable/codec.ts
22
+ var createBucketCodec = ({
23
+ useLegacyBucketPrefix,
24
+ hasProtectedDefaultBranch,
25
+ hasStorageBranches
26
+ }) => {
27
+ const decode = (name) => {
28
+ const hasLegacyPrefix = useLegacyBucketPrefix && name.startsWith(LEGACY_BUCKET_PREFIX);
29
+ const stripped = hasLegacyPrefix ? name.slice(LEGACY_BUCKET_PREFIX.length) : name;
30
+ if (hasProtectedDefaultBranch || hasStorageBranches)
31
+ return {
32
+ kind: "storage-branch",
33
+ baseName: stripped,
34
+ hasLegacyPrefix
35
+ };
36
+ const branchMatch = BRANCH_PREFIX_REGEX.exec(stripped);
37
+ return {
38
+ kind: "legacy",
39
+ hasLegacyPrefix,
40
+ branchId: branchMatch?.[1] ?? null,
41
+ baseName: branchMatch?.[2] ?? stripped
42
+ };
43
+ };
44
+ const encode = (bucket) => {
45
+ const stageResult = stageSchema.safeParse(bucket.stage);
46
+ if (!stageResult.success) return { success: false, error: stageResult.error };
47
+ const prefix = bucket.hasLegacyPrefix ? LEGACY_BUCKET_PREFIX : "";
48
+ const baseNameResult = nameSchema.safeParse(bucket.baseName);
49
+ if (!baseNameResult.success) return { success: false, error: baseNameResult.error };
50
+ if (bucket.kind === "storage-branch") {
51
+ const prefixedName2 = `${prefix}${bucket.baseName}`;
52
+ return {
53
+ success: true,
54
+ data: {
55
+ kind: "storage-branch",
56
+ id: `${bucket.stage}.${prefixedName2}`,
57
+ prefixedName: prefixedName2
58
+ }
59
+ };
60
+ }
61
+ const branch = bucket.branchId ? `${bucket.branchId}-` : "";
62
+ const branchedName = `${branch}${bucket.baseName}`;
63
+ const prefixedName = `${prefix}${branchedName}`;
64
+ return {
65
+ success: true,
66
+ data: {
67
+ kind: "legacy",
68
+ id: `${bucket.stage}.${prefixedName}`,
69
+ prefixedName,
70
+ branchedName
71
+ }
72
+ };
73
+ };
74
+ return { decode, encode };
75
+ };
76
+
77
+ // src/domain/storageTable/model.ts
78
+ var createTableModel = (options) => {
79
+ const codec = createBucketCodec(options);
80
+ const decodeTable = (stage, bucketName, tableName) => ({
81
+ name: tableName,
82
+ bucket: { ...codec.decode(bucketName), stage }
83
+ });
84
+ const serializeBucketDisplayName = (bucket) => {
85
+ const result = codec.encode(bucket);
86
+ if (!result.success) throw result.error;
87
+ return result.data.kind === "storage-branch" ? bucket.baseName : result.data.branchedName;
88
+ };
89
+ const serializeBucketName = (bucket) => {
90
+ const result = codec.encode(bucket);
91
+ if (!result.success) throw result.error;
92
+ return result.data.prefixedName;
93
+ };
94
+ const serializeBucketId = (bucket) => {
95
+ const result = codec.encode(bucket);
96
+ if (!result.success) throw result.error;
97
+ return result.data.id;
98
+ };
99
+ const serializeTableId = (table) => `${serializeBucketId(table.bucket)}.${nameSchema.parse(table.name)}`;
100
+ const safeSerializeBucketName = (bucket) => {
101
+ const result = codec.encode(bucket);
102
+ if (!result.success) return null;
103
+ return result.data.prefixedName;
104
+ };
105
+ const safeSerializeBucketId = (bucket) => {
106
+ const result = codec.encode(bucket);
107
+ if (!result.success) return null;
108
+ return result.data.id;
109
+ };
110
+ const safeSerializeTableId = (table) => {
111
+ const bucketId = safeSerializeBucketId(table.bucket);
112
+ const tableNameResult = nameSchema.safeParse(table.name);
113
+ if (!bucketId || !tableNameResult.success) return null;
114
+ return `${bucketId}.${tableNameResult.data}`;
115
+ };
116
+ const parse = (id) => {
117
+ const data = tableIdSchema.parse(id);
118
+ return decodeTable(...data);
119
+ };
120
+ const safeParse = (id) => {
121
+ const parseResult = tableIdSchema.safeParse(id);
122
+ if (!parseResult.success) return null;
123
+ return decodeTable(...parseResult.data);
124
+ };
125
+ const parseBucket = (id) => {
126
+ const [stage, bucketName] = bucketIdSchema.parse(id);
127
+ return { ...codec.decode(bucketName), stage };
128
+ };
129
+ const safeParseBucket = (id) => {
130
+ const parseResult = bucketIdSchema.safeParse(id);
131
+ if (!parseResult.success) return null;
132
+ const [stage, bucketName] = parseResult.data;
133
+ return { ...codec.decode(bucketName), stage };
134
+ };
135
+ const createBucket = (input) => {
136
+ const decoded = codec.decode(input.name);
137
+ if (decoded.kind === "storage-branch")
138
+ return { ...decoded, stage: input.stage, hasLegacyPrefix: options.useLegacyBucketPrefix };
139
+ return {
140
+ ...decoded,
141
+ stage: input.stage,
142
+ hasLegacyPrefix: options.useLegacyBucketPrefix,
143
+ branchId: input.branchId ?? decoded.branchId
144
+ };
145
+ };
146
+ const createTable = (input) => ({
147
+ name: input.tableName,
148
+ bucket: createBucket({ stage: input.stage, name: input.bucketName, branchId: input.branchId })
149
+ });
150
+ return {
151
+ parse,
152
+ safeParse,
153
+ parseBucket,
154
+ safeParseBucket,
155
+ createTable,
156
+ createBucket,
157
+ serializeTableId,
158
+ serializeBucketId,
159
+ serializeBucketName,
160
+ serializeBucketDisplayName,
161
+ safeSerializeTableId,
162
+ safeSerializeBucketId,
163
+ safeSerializeBucketName
164
+ };
165
+ };
166
+
167
+ // src/domain/storageTable/utils.ts
168
+ var webalize = (str) => {
169
+ const out = str.normalize("NFD").replace(/\p{M}/gu, "").toLowerCase().replace(/[^a-z0-9\-_]/g, "-").replace(/-+/g, "-").replace(/^-+|-+$/g, "").replace(/^_+/, "").slice(0, NAME_MAX_LENGTH).replace(/-+$/g, "");
170
+ if (out.length === 0) {
171
+ throw new Error(`Cannot webalize "${str}" into a valid name segment`);
172
+ }
173
+ return out;
174
+ };
175
+
176
+ // src/domain/storageTable/createStorageTable.ts
177
+ var createStorageTable = (flags) => {
178
+ const model = createTableModel(flags);
179
+ const branchIt = (bucket, branchId) => bucket.kind !== "legacy" ? bucket : { ...bucket, branchId };
180
+ const unbranchIt = (bucket, branchId) => bucket.kind !== "legacy" || bucket.branchId !== branchId ? bucket : { ...bucket, branchId: null };
181
+ const make = (bucket, tableName) => {
182
+ const self = {
183
+ bucket,
184
+ name: tableName,
185
+ isInBranch: (branchId) => bucket.kind === "legacy" && bucket.branchId === branchId,
186
+ addBranch: (branchId) => {
187
+ if (branchId.length === 0) throw new Error("branchId is required");
188
+ return make(branchIt(bucket, branchId), tableName);
189
+ },
190
+ removeBranch: (branchId) => {
191
+ if (branchId.length === 0) throw new Error("branchId is required");
192
+ return make(unbranchIt(bucket, branchId), tableName);
193
+ },
194
+ addTableName: (name) => {
195
+ if (name.length === 0) throw new Error("tableName is required");
196
+ return make(bucket, name);
197
+ },
198
+ getBucketName: () => model.serializeBucketName(bucket),
199
+ getBucketDisplayName: () => model.serializeBucketDisplayName(bucket),
200
+ getBucketBaseName: () => bucket.baseName,
201
+ getTableName: () => {
202
+ if (tableName === null)
203
+ throw new Error(
204
+ "getTableName() requires a table name \u2014 instance was built via createBucket"
205
+ );
206
+ return tableName;
207
+ },
208
+ getBucketId: () => model.serializeBucketId(bucket),
209
+ getTableId: () => model.serializeTableId({ bucket, name: tableName ?? "" }),
210
+ getSafeBucketId: () => model.safeSerializeBucketId(bucket),
211
+ getSafeTableId: () => model.safeSerializeTableId({ bucket, name: tableName ?? "" })
212
+ };
213
+ return self;
214
+ };
215
+ const parse = (id) => {
216
+ const table = model.parse(id);
217
+ return make(table.bucket, table.name);
218
+ };
219
+ const safeParse = (id) => {
220
+ const table = model.safeParse(id);
221
+ return table ? make(table.bucket, table.name) : null;
222
+ };
223
+ const parseBucket = (id) => make(model.parseBucket(id), null);
224
+ const safeParseBucket = (id) => {
225
+ const bucket = model.safeParseBucket(id);
226
+ return bucket ? make(bucket, null) : null;
227
+ };
228
+ const createTable = (input) => {
229
+ const { bucket, name } = model.createTable(input);
230
+ return make(bucket, name);
231
+ };
232
+ const createBucket = (input) => make(model.createBucket(input), null);
233
+ return {
234
+ // generic
235
+ parse,
236
+ safeParse,
237
+ parseBucket,
238
+ safeParseBucket,
239
+ createTable,
240
+ createBucket,
241
+ // Business
242
+ createDefaultCsvImportTable: (configId) => {
243
+ const bucketName = flags.useLegacyBucketPrefix ? "c-csv-import" : webalize(`keboola.csv-import-${configId}`);
244
+ const tableName = flags.useLegacyBucketPrefix ? configId : "data";
245
+ return createTable({
246
+ stage: "in",
247
+ tableName,
248
+ bucketName
249
+ });
250
+ },
251
+ createDefaultBucket: ({ stage, name }) => createBucket({ stage, name: webalize(name) }),
252
+ safeCreateDefaultBucket: ({ stage, name }) => {
253
+ try {
254
+ return createBucket({ stage, name: webalize(name) });
255
+ } catch {
256
+ return null;
257
+ }
258
+ },
259
+ createDefaultConfigBucket: ({ stage, componentId, configId }) => createBucket({ stage, name: webalize(`${componentId}-${configId}`) }),
260
+ createDefaultConfigTable: ({ stage, componentId, configId, tableName }) => createTable({ stage, bucketName: webalize(`${componentId}-${configId}`), tableName })
261
+ };
262
+ };
263
+
264
+ exports.createStorageTable = createStorageTable;
265
+ exports.createTableModel = createTableModel;
266
+ //# sourceMappingURL=chunk-UUY6LQT6.cjs.map
267
+ //# sourceMappingURL=chunk-UUY6LQT6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/domain/storageTable/constants.ts","../src/domain/storageTable/schema.ts","../src/domain/storageTable/codec.ts","../src/domain/storageTable/model.ts","../src/domain/storageTable/utils.ts","../src/domain/storageTable/createStorageTable.ts"],"names":["z","prefixedName"],"mappings":"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","file":"chunk-UUY6LQT6.cjs","sourcesContent":["/** Matches a numeric dev-branch prefix on a legacy-prefix-stripped bucket name. */\nexport const BRANCH_PREFIX_REGEX = /^(\\d+)-(.+)$/;\n/** Historical `c-` prefix Storage prepends to legacy bucket names. */\nexport const LEGACY_BUCKET_PREFIX = 'c-';\n/** Characters allowed in a bucket or table name segment. */\nexport const NAME_CHARSET_REGEX = /^[a-zA-Z0-9_-]+$/;\n/** Max length of a bucket or table name segment. */\nexport const NAME_MAX_LENGTH = 96;\n","import { z } from 'zod';\n\nimport { NAME_CHARSET_REGEX, NAME_MAX_LENGTH } from './constants';\n\nexport const stageSchema = z.enum(['in', 'out']);\n\nexport const nameSchema = z\n .string()\n .min(1, `Invalid name segment: must not be empty`)\n .max(NAME_MAX_LENGTH, `Invalid name segment: exceeds ${NAME_MAX_LENGTH} characters`)\n .refine((n) => !n.startsWith('_'), `Invalid name segment: must not start with an underscore`)\n .regex(NAME_CHARSET_REGEX, `Invalid name segment: contains invalid characters`);\n\nexport const tableIdSchema = z\n .string()\n .refine(\n (id) => id.split('.').length === 3,\n 'Invalid table id: must be in \"{stage}.{bucket}.{table}\" form',\n )\n .transform((id) => id.split('.') as [string, string, string])\n .pipe(z.tuple([stageSchema, nameSchema, nameSchema]));\n\nexport const bucketIdSchema = z\n .string()\n .refine(\n (id) => id.split('.').length === 2,\n 'Invalid bucket id: must be in \"{stage}.{bucket}\" form',\n )\n .transform((id) => id.split('.') as [string, string])\n .pipe(z.tuple([stageSchema, nameSchema]));\n","import type z from 'zod';\n\nimport { BRANCH_PREFIX_REGEX, LEGACY_BUCKET_PREFIX } from './constants';\nimport { nameSchema, stageSchema } from './schema';\nimport type {\n Bucket,\n BucketId,\n BucketName,\n LegacyBucket,\n ModelOptions,\n ParsedBucket,\n StorageBranchBucket,\n} from './types';\n\ntype EncodedBucket =\n | {\n kind: 'legacy';\n id: BucketId;\n /** baseName + `{branchId}-` prefix, without `c-`. User-facing. e.g. `123-main` */\n branchedName: BucketName;\n /** baseName + branch + `c-` prefix. On-disk (Storage `bucket.name`). e.g. `c-123-main` */\n prefixedName: BucketName;\n }\n | {\n kind: 'storage-branch';\n id: BucketId;\n /** baseName + `c-` prefix when hasLegacyPrefix. On-disk (Storage `bucket.name`). e.g. `c-main` */\n prefixedName: BucketName;\n };\n\nexport const createBucketCodec = ({\n useLegacyBucketPrefix,\n hasProtectedDefaultBranch,\n hasStorageBranches,\n}: ModelOptions) => {\n const decode = (name: BucketName): ParsedBucket => {\n const hasLegacyPrefix = useLegacyBucketPrefix && name.startsWith(LEGACY_BUCKET_PREFIX);\n const stripped = hasLegacyPrefix ? name.slice(LEGACY_BUCKET_PREFIX.length) : name;\n\n // Native branched storage: branch is BE-side (no `{branchId}-` decoration), but the\n // legacy `c-` prefix is still applied independently of the branch model.\n if (hasProtectedDefaultBranch || hasStorageBranches)\n return {\n kind: 'storage-branch',\n baseName: stripped,\n hasLegacyPrefix,\n } satisfies StorageBranchBucket;\n\n const branchMatch = BRANCH_PREFIX_REGEX.exec(stripped);\n\n return {\n kind: 'legacy',\n hasLegacyPrefix,\n branchId: branchMatch?.[1] ?? null,\n baseName: branchMatch?.[2] ?? stripped,\n } satisfies LegacyBucket;\n };\n\n const encode = (\n bucket: Bucket,\n ): { success: true; data: EncodedBucket } | { success: false; error: z.ZodError<string> } => {\n const stageResult = stageSchema.safeParse(bucket.stage);\n if (!stageResult.success) return { success: false, error: stageResult.error };\n\n const prefix = bucket.hasLegacyPrefix ? LEGACY_BUCKET_PREFIX : '';\n const baseNameResult = nameSchema.safeParse(bucket.baseName);\n if (!baseNameResult.success) return { success: false, error: baseNameResult.error };\n\n if (bucket.kind === 'storage-branch') {\n const prefixedName = `${prefix}${bucket.baseName}`;\n\n return {\n success: true,\n data: {\n kind: 'storage-branch',\n id: `${bucket.stage}.${prefixedName}` satisfies BucketId,\n prefixedName,\n },\n };\n }\n\n const branch = bucket.branchId ? `${bucket.branchId}-` : '';\n const branchedName = `${branch}${bucket.baseName}`;\n const prefixedName = `${prefix}${branchedName}`;\n\n return {\n success: true,\n data: {\n kind: 'legacy',\n id: `${bucket.stage}.${prefixedName}` satisfies BucketId,\n prefixedName,\n branchedName,\n },\n };\n };\n\n return { decode, encode };\n};\n","import { createBucketCodec } from './codec';\nimport { bucketIdSchema, nameSchema, tableIdSchema } from './schema';\nimport type {\n Bucket,\n BucketId,\n BucketName,\n BucketStage,\n ModelOptions,\n Table,\n TableId,\n TableName,\n} from './types';\n\nexport type CreateBucketFn = (input: {\n stage: BucketStage;\n name: BucketName;\n branchId?: string | null;\n}) => Bucket;\n\nexport type CreateTableFn = (input: {\n stage: BucketStage;\n tableName: TableName;\n bucketName: BucketName;\n branchId?: string | null;\n}) => Table;\n\nexport type TableModel = {\n parse(id: string): Table;\n parseBucket(id: string): Bucket;\n\n safeParse(id: string): Table | null;\n safeParseBucket(id: string): Bucket | null;\n\n serializeTableId(table: Table): TableId;\n serializeBucketId(bucket: Bucket): BucketId;\n serializeBucketName(bucket: Bucket): BucketName;\n serializeBucketDisplayName(bucket: Bucket): BucketName;\n\n safeSerializeTableId(table: Table): TableId | null;\n safeSerializeBucketId(bucket: Bucket): BucketId | null;\n safeSerializeBucketName(bucket: Bucket): BucketName | null;\n\n createTable: CreateTableFn;\n createBucket: CreateBucketFn;\n};\n\nexport const createTableModel = (options: ModelOptions): TableModel => {\n const codec = createBucketCodec(options);\n\n const decodeTable = (stage: BucketStage, bucketName: string, tableName: string): Table => ({\n name: tableName,\n bucket: { ...codec.decode(bucketName), stage },\n });\n\n const serializeBucketDisplayName = (bucket: Bucket) => {\n const result = codec.encode(bucket);\n if (!result.success) throw result.error;\n // Storage-branch display name is just the bare baseName (no branch decoration to apply);\n // encode is still called so the empty-name guard throws consistently.\n return result.data.kind === 'storage-branch' ? bucket.baseName : result.data.branchedName;\n };\n\n const serializeBucketName = (bucket: Bucket) => {\n const result = codec.encode(bucket);\n if (!result.success) throw result.error;\n return result.data.prefixedName;\n };\n\n const serializeBucketId = (bucket: Bucket): BucketId => {\n const result = codec.encode(bucket);\n if (!result.success) throw result.error;\n return result.data.id;\n };\n\n const serializeTableId = (table: Table): TableId =>\n `${serializeBucketId(table.bucket)}.${nameSchema.parse(table.name)}`;\n\n // Safe counterparts: return null instead of throwing when a required segment is empty.\n const safeSerializeBucketName = (bucket: Bucket): BucketName | null => {\n const result = codec.encode(bucket);\n if (!result.success) return null;\n return result.data.prefixedName;\n };\n\n const safeSerializeBucketId = (bucket: Bucket): BucketId | null => {\n const result = codec.encode(bucket);\n if (!result.success) return null;\n return result.data.id;\n };\n\n const safeSerializeTableId = (table: Table): TableId | null => {\n const bucketId = safeSerializeBucketId(table.bucket);\n const tableNameResult = nameSchema.safeParse(table.name);\n if (!bucketId || !tableNameResult.success) return null;\n return `${bucketId}.${tableNameResult.data}`;\n };\n\n const parse = (id: string) => {\n const data = tableIdSchema.parse(id);\n return decodeTable(...data);\n };\n\n const safeParse = (id: string): Table | null => {\n const parseResult = tableIdSchema.safeParse(id);\n if (!parseResult.success) return null;\n return decodeTable(...parseResult.data);\n };\n\n const parseBucket = (id: string): Bucket => {\n const [stage, bucketName] = bucketIdSchema.parse(id);\n return { ...codec.decode(bucketName), stage };\n };\n\n const safeParseBucket = (id: string): Bucket | null => {\n const parseResult = bucketIdSchema.safeParse(id);\n if (!parseResult.success) return null;\n const [stage, bucketName] = parseResult.data;\n return { ...codec.decode(bucketName), stage };\n };\n\n const createBucket: CreateBucketFn = (input) => {\n // Normalize the input the same way decoding does (strips a `c-`/`{branchId}-`\n // a caller may have passed), so `baseName` always holds the bare name.\n const decoded = codec.decode(input.name);\n // On create the prefix is decided by the project flag — not by whether the\n // input happened to start with `c-`. This applies to both bucket models.\n if (decoded.kind === 'storage-branch')\n return { ...decoded, stage: input.stage, hasLegacyPrefix: options.useLegacyBucketPrefix };\n\n return {\n ...decoded,\n stage: input.stage,\n hasLegacyPrefix: options.useLegacyBucketPrefix,\n branchId: input.branchId ?? decoded.branchId,\n };\n };\n\n const createTable: CreateTableFn = (input) => ({\n name: input.tableName,\n bucket: createBucket({ stage: input.stage, name: input.bucketName, branchId: input.branchId }),\n });\n\n return {\n parse,\n safeParse,\n parseBucket,\n safeParseBucket,\n\n createTable,\n createBucket,\n\n serializeTableId,\n serializeBucketId,\n serializeBucketName,\n serializeBucketDisplayName,\n\n safeSerializeTableId,\n safeSerializeBucketId,\n safeSerializeBucketName,\n };\n};\n","import { NAME_MAX_LENGTH } from './constants';\n\nexport const webalize = (str: string): string => {\n const out = str\n .normalize('NFD')\n .replace(/\\p{M}/gu, '') // strip diacritics after NFD decomposition: á→a, č→c, ý→y …\n .toLowerCase()\n .replace(/[^a-z0-9\\-_]/g, '-')\n .replace(/-+/g, '-')\n .replace(/^-+|-+$/g, '')\n .replace(/^_+/, '')\n .slice(0, NAME_MAX_LENGTH)\n .replace(/-+$/g, '');\n\n if (out.length === 0) {\n throw new Error(`Cannot webalize \"${str}\" into a valid name segment`);\n }\n\n return out;\n};\n","import { type CreateBucketFn, type CreateTableFn, createTableModel } from './model';\nimport type {\n Bucket,\n BucketId,\n BucketName,\n BucketStage,\n ModelOptions,\n TableId,\n TableName,\n} from './types';\nimport { webalize } from './utils';\n\nexport type StorageTableInstance = {\n readonly bucket: Bucket;\n readonly name: TableName | null;\n isInBranch(branchId: string): boolean;\n addBranch(branchId: string): StorageTableInstance;\n removeBranch(branchId: string): StorageTableInstance;\n /** A new instance with the table name set (or replaced). */\n addTableName(tableName: TableName): StorageTableInstance;\n getBucketName(): BucketName;\n /** Bucket name as shown to users: dev-branch prefix kept, legacy `c-` prefix always dropped. */\n getBucketDisplayName(): BucketName;\n /** Bare bucket name: no `c-` prefix, no dev-branch prefix (legacy `baseName`, or the canonical storage-branch name). */\n getBucketBaseName(): BucketName;\n getBucketId(): BucketId;\n getSafeBucketId(): BucketId | null;\n /** @throws when there is no table name (the instance was built via `createBucket`). */\n getTableName(): TableName;\n /** @throws when there is no table name (the instance was built via `createBucket`). */\n getTableId(): TableId;\n /** Null when there is no table name (built via `createBucket`) or a segment is empty. */\n getSafeTableId(): TableId | null;\n};\n\nexport type StorageTable = {\n parse(id: string): StorageTableInstance;\n safeParse(id: string): StorageTableInstance | null;\n /** Decode a bucket id (`{stage}.{bucket}`) into a bucket-only instance. */\n parseBucket(id: string): StorageTableInstance;\n safeParseBucket(id: string): StorageTableInstance | null;\n createTable(input: Parameters<CreateTableFn>[0]): StorageTableInstance;\n createBucket(input: Parameters<CreateBucketFn>[0]): StorageTableInstance;\n\n // Business\n createDefaultBucket(input: { stage: BucketStage; name: string }): StorageTableInstance;\n /** Like `createDefaultBucket`, but returns null instead of throwing when the name sanitizes to an empty/invalid segment. */\n safeCreateDefaultBucket(input: { stage: BucketStage; name: string }): StorageTableInstance | null;\n createDefaultConfigBucket(input: {\n stage: BucketStage;\n componentId: string;\n configId: string;\n }): StorageTableInstance;\n createDefaultConfigTable(input: {\n stage: BucketStage;\n componentId: string;\n configId: string;\n tableName: string;\n }): StorageTableInstance;\n createDefaultCsvImportTable(configId: string): StorageTableInstance;\n};\n\nexport const createStorageTable = (flags: ModelOptions): StorageTable => {\n const model = createTableModel(flags);\n\n const branchIt = (bucket: Bucket, branchId: string): Bucket =>\n bucket.kind !== 'legacy' ? bucket : { ...bucket, branchId };\n\n const unbranchIt = (bucket: Bucket, branchId: string): Bucket =>\n bucket.kind !== 'legacy' || bucket.branchId !== branchId\n ? bucket\n : { ...bucket, branchId: null };\n\n const make = (bucket: Bucket, tableName: TableName | null): StorageTableInstance => {\n const self: StorageTableInstance = {\n bucket,\n name: tableName,\n isInBranch: (branchId) => bucket.kind === 'legacy' && bucket.branchId === branchId,\n addBranch: (branchId) => {\n if (branchId.length === 0) throw new Error('branchId is required');\n return make(branchIt(bucket, branchId), tableName);\n },\n removeBranch: (branchId) => {\n if (branchId.length === 0) throw new Error('branchId is required');\n return make(unbranchIt(bucket, branchId), tableName);\n },\n addTableName: (name) => {\n if (name.length === 0) throw new Error('tableName is required');\n return make(bucket, name);\n },\n\n getBucketName: () => model.serializeBucketName(bucket),\n getBucketDisplayName: () => model.serializeBucketDisplayName(bucket),\n getBucketBaseName: () => bucket.baseName,\n getTableName: () => {\n if (tableName === null)\n throw new Error(\n 'getTableName() requires a table name — instance was built via createBucket',\n );\n return tableName;\n },\n\n getBucketId: () => model.serializeBucketId(bucket),\n getTableId: () => model.serializeTableId({ bucket, name: tableName ?? '' }),\n\n getSafeBucketId: () => model.safeSerializeBucketId(bucket),\n getSafeTableId: () => model.safeSerializeTableId({ bucket, name: tableName ?? '' }),\n };\n\n return self;\n };\n\n const parse = (id: TableId) => {\n const table = model.parse(id);\n return make(table.bucket, table.name);\n };\n const safeParse = (id: TableId) => {\n const table = model.safeParse(id);\n return table ? make(table.bucket, table.name) : null;\n };\n\n const parseBucket = (id: BucketId) => make(model.parseBucket(id), null);\n\n const safeParseBucket = (id: BucketId) => {\n const bucket = model.safeParseBucket(id);\n return bucket ? make(bucket, null) : null;\n };\n\n const createTable = (input: Parameters<CreateTableFn>[0]) => {\n const { bucket, name } = model.createTable(input);\n return make(bucket, name);\n };\n\n const createBucket = (input: Parameters<CreateBucketFn>[0]): StorageTableInstance =>\n make(model.createBucket(input), null);\n\n return {\n // generic\n parse,\n safeParse,\n parseBucket,\n safeParseBucket,\n createTable,\n createBucket,\n\n // Business\n createDefaultCsvImportTable: (configId: string) => {\n const bucketName = flags.useLegacyBucketPrefix\n ? 'c-csv-import'\n : webalize(`keboola.csv-import-${configId}`);\n const tableName = flags.useLegacyBucketPrefix ? configId : 'data';\n\n return createTable({\n stage: 'in',\n tableName,\n bucketName,\n });\n },\n createDefaultBucket: ({ stage, name }) => createBucket({ stage, name: webalize(name) }),\n safeCreateDefaultBucket: ({ stage, name }) => {\n try {\n return createBucket({ stage, name: webalize(name) });\n } catch {\n // webalize() throws when the input sanitizes to an empty name segment — surface as null per the safe-* contract\n return null;\n }\n },\n createDefaultConfigBucket: ({ stage, componentId, configId }) =>\n createBucket({ stage, name: webalize(`${componentId}-${configId}`) }),\n createDefaultConfigTable: ({ stage, componentId, configId, tableName }) =>\n createTable({ stage, bucketName: webalize(`${componentId}-${configId}`), tableName }),\n };\n};\n"]}