@keboola/api-client 20.0.0 → 23.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 (392) hide show
  1. package/API-SURFACE.md +51 -3
  2. package/README.md +124 -24
  3. package/dist/{ManagementClientAuthError-BMOhz4mx.d.ts → ManagementClientAuthError-B3PZRWBU.d.ts} +1 -1
  4. package/dist/{ManagementClientAuthError-B7mGrnGn.d.cts → ManagementClientAuthError-CJu_hpGi.d.cts} +1 -1
  5. package/dist/ai/index.cjs +4 -4
  6. package/dist/ai/index.d.cts +4 -3
  7. package/dist/ai/index.d.ts +4 -3
  8. package/dist/ai/index.js +3 -3
  9. package/dist/ai/types.d.cts +2 -2
  10. package/dist/ai/types.d.ts +2 -2
  11. package/dist/assets/index.cjs +12 -3
  12. package/dist/assets/index.cjs.map +1 -1
  13. package/dist/assets/index.d.cts +2 -1
  14. package/dist/assets/index.d.ts +2 -1
  15. package/dist/assets/index.js +11 -2
  16. package/dist/assets/index.js.map +1 -1
  17. package/dist/auth/index.cjs +22 -10
  18. package/dist/auth/index.d.cts +117 -10
  19. package/dist/auth/index.d.ts +117 -10
  20. package/dist/auth/index.js +2 -2
  21. package/dist/auth/types.d.cts +4 -8
  22. package/dist/auth/types.d.ts +4 -8
  23. package/dist/chat/index.cjs +4 -4
  24. package/dist/chat/index.d.cts +4 -8
  25. package/dist/chat/index.d.ts +4 -8
  26. package/dist/chat/index.js +3 -3
  27. package/dist/chat/suggestions.d.cts +11 -11
  28. package/dist/chat/suggestions.d.ts +11 -11
  29. package/dist/chat/types.d.cts +2 -2
  30. package/dist/chat/types.d.ts +2 -2
  31. package/dist/{chunk-SWJHENEP.cjs → chunk-22D55AHX.cjs} +180 -28
  32. package/dist/chunk-22D55AHX.cjs.map +1 -0
  33. package/dist/chunk-22E6IGXR.js +6 -0
  34. package/dist/chunk-22E6IGXR.js.map +1 -0
  35. package/dist/{chunk-7ETZQGY7.js → chunk-2BOG5U7C.js} +3 -3
  36. package/dist/{chunk-7ETZQGY7.js.map → chunk-2BOG5U7C.js.map} +1 -1
  37. package/dist/{chunk-RHLDDKX6.js → chunk-33NQB34X.js} +99 -30
  38. package/dist/chunk-33NQB34X.js.map +1 -0
  39. package/dist/{chunk-AWRMGLMT.cjs → chunk-35MODDCL.cjs} +8 -9
  40. package/dist/chunk-35MODDCL.cjs.map +1 -0
  41. package/dist/{chunk-RK2VGHJE.js → chunk-3B3GOGAL.js} +3 -3
  42. package/dist/chunk-3B3GOGAL.js.map +1 -0
  43. package/dist/{chunk-TTPJSPZA.cjs → chunk-3KEVPUSX.cjs} +10 -3
  44. package/dist/chunk-3KEVPUSX.cjs.map +1 -0
  45. package/dist/chunk-43CGBOVT.cjs +16 -0
  46. package/dist/chunk-43CGBOVT.cjs.map +1 -0
  47. package/dist/{chunk-IZWNTRMT.cjs → chunk-4GUUSO5O.cjs} +24 -7
  48. package/dist/chunk-4GUUSO5O.cjs.map +1 -0
  49. package/dist/{chunk-YUTWLJBK.js → chunk-4IEIVLYT.js} +55 -5
  50. package/dist/chunk-4IEIVLYT.js.map +1 -0
  51. package/dist/{chunk-KLVBTRLR.js → chunk-4Z5W2F6Q.js} +168 -17
  52. package/dist/chunk-4Z5W2F6Q.js.map +1 -0
  53. package/dist/{chunk-JJXTE2SL.cjs → chunk-556U6PFA.cjs} +6 -6
  54. package/dist/{chunk-JJXTE2SL.cjs.map → chunk-556U6PFA.cjs.map} +1 -1
  55. package/dist/{chunk-M3UUJIMO.js → chunk-5Z6M32UE.js} +16 -5
  56. package/dist/chunk-5Z6M32UE.js.map +1 -0
  57. package/dist/{chunk-XISA4SYM.cjs → chunk-5ZOWA7DA.cjs} +6 -6
  58. package/dist/{chunk-XISA4SYM.cjs.map → chunk-5ZOWA7DA.cjs.map} +1 -1
  59. package/dist/{chunk-6FE3CWV6.js → chunk-6LBMZAPF.js} +14 -5
  60. package/dist/chunk-6LBMZAPF.js.map +1 -0
  61. package/dist/{chunk-4H2DDEUI.cjs → chunk-BWBTNAVL.cjs} +9 -9
  62. package/dist/{chunk-4H2DDEUI.cjs.map → chunk-BWBTNAVL.cjs.map} +1 -1
  63. package/dist/{chunk-NRJTA5P3.cjs → chunk-CCC6I32C.cjs} +4 -4
  64. package/dist/{chunk-NRJTA5P3.cjs.map → chunk-CCC6I32C.cjs.map} +1 -1
  65. package/dist/{chunk-ZLW3243Q.cjs → chunk-CN5GAKRO.cjs} +6 -6
  66. package/dist/chunk-CN5GAKRO.cjs.map +1 -0
  67. package/dist/{chunk-JURD5MC3.js → chunk-DHOVQ2TW.js} +15 -16
  68. package/dist/chunk-DHOVQ2TW.js.map +1 -0
  69. package/dist/{chunk-IUN2ZSU3.cjs → chunk-DMNWPVVT.cjs} +3 -2
  70. package/dist/chunk-DMNWPVVT.cjs.map +1 -0
  71. package/dist/chunk-EWMXK3EI.cjs +8 -0
  72. package/dist/chunk-EWMXK3EI.cjs.map +1 -0
  73. package/dist/{chunk-IWIN6HKU.cjs → chunk-EYIPM2XB.cjs} +4 -4
  74. package/dist/{chunk-IWIN6HKU.cjs.map → chunk-EYIPM2XB.cjs.map} +1 -1
  75. package/dist/{chunk-HEVDH4JQ.js → chunk-F43HBNKD.js} +4 -4
  76. package/dist/{chunk-HEVDH4JQ.js.map → chunk-F43HBNKD.js.map} +1 -1
  77. package/dist/{chunk-QQJXXNUE.cjs → chunk-FDTWXXI4.cjs} +7 -7
  78. package/dist/{chunk-QQJXXNUE.cjs.map → chunk-FDTWXXI4.cjs.map} +1 -1
  79. package/dist/{chunk-CVV4HROS.cjs → chunk-FMS5PNM2.cjs} +4 -4
  80. package/dist/chunk-FMS5PNM2.cjs.map +1 -0
  81. package/dist/{chunk-ZHNOZHJG.js → chunk-FQK3YM7U.js} +3 -3
  82. package/dist/{chunk-ZHNOZHJG.js.map → chunk-FQK3YM7U.js.map} +1 -1
  83. package/dist/{chunk-BR3SBEFE.cjs → chunk-FRLSKIUI.cjs} +19 -21
  84. package/dist/chunk-FRLSKIUI.cjs.map +1 -0
  85. package/dist/{chunk-JIAMBOU7.cjs → chunk-FVJC2GJY.cjs} +19 -8
  86. package/dist/chunk-FVJC2GJY.cjs.map +1 -0
  87. package/dist/{chunk-7KMFRSYA.js → chunk-G5JMZI2L.js} +22 -5
  88. package/dist/chunk-G5JMZI2L.js.map +1 -0
  89. package/dist/{chunk-4HJUQVXR.js → chunk-HFZCZ7PZ.js} +61 -12
  90. package/dist/chunk-HFZCZ7PZ.js.map +1 -0
  91. package/dist/{chunk-4JCVPUXF.cjs → chunk-HZSZQFEO.cjs} +109 -40
  92. package/dist/chunk-HZSZQFEO.cjs.map +1 -0
  93. package/dist/{chunk-WWICQYOY.cjs → chunk-IYGHWPCR.cjs} +4 -4
  94. package/dist/{chunk-WWICQYOY.cjs.map → chunk-IYGHWPCR.cjs.map} +1 -1
  95. package/dist/{chunk-KDWIJTED.js → chunk-J2MBTBE2.js} +4 -4
  96. package/dist/{chunk-KDWIJTED.js.map → chunk-J2MBTBE2.js.map} +1 -1
  97. package/dist/{chunk-ISY2BOFY.js → chunk-JQSMJ64B.js} +4 -4
  98. package/dist/{chunk-ISY2BOFY.js.map → chunk-JQSMJ64B.js.map} +1 -1
  99. package/dist/{chunk-ANRUSNYD.cjs → chunk-K6EZ3USU.cjs} +7 -7
  100. package/dist/{chunk-ANRUSNYD.cjs.map → chunk-K6EZ3USU.cjs.map} +1 -1
  101. package/dist/{chunk-KQ2QNGRX.js → chunk-KH6BHTXN.js} +5 -6
  102. package/dist/chunk-KH6BHTXN.js.map +1 -0
  103. package/dist/chunk-KUYVBCUM.cjs +231 -0
  104. package/dist/chunk-KUYVBCUM.cjs.map +1 -0
  105. package/dist/{chunk-EKWD4ODT.cjs → chunk-KY4EYQ6I.cjs} +6 -6
  106. package/dist/{chunk-EKWD4ODT.cjs.map → chunk-KY4EYQ6I.cjs.map} +1 -1
  107. package/dist/{chunk-WJRHT346.js → chunk-L4R66Q6S.js} +4 -4
  108. package/dist/chunk-L4R66Q6S.js.map +1 -0
  109. package/dist/{chunk-K6E7LOWZ.js → chunk-L63UYWJG.js} +4 -4
  110. package/dist/{chunk-K6E7LOWZ.js.map → chunk-L63UYWJG.js.map} +1 -1
  111. package/dist/{chunk-EXNR4FGV.js → chunk-MIUULCML.js} +3 -3
  112. package/dist/{chunk-EXNR4FGV.js.map → chunk-MIUULCML.js.map} +1 -1
  113. package/dist/{chunk-V4FLCCD4.js → chunk-PEC3BYFA.js} +4 -4
  114. package/dist/{chunk-V4FLCCD4.js.map → chunk-PEC3BYFA.js.map} +1 -1
  115. package/dist/{chunk-ZAPK7HZS.js → chunk-PHP2NND7.js} +4 -4
  116. package/dist/{chunk-ZAPK7HZS.js.map → chunk-PHP2NND7.js.map} +1 -1
  117. package/dist/{chunk-STAQJVW4.cjs → chunk-Q7C2IRF2.cjs} +6 -6
  118. package/dist/{chunk-STAQJVW4.cjs.map → chunk-Q7C2IRF2.cjs.map} +1 -1
  119. package/dist/chunk-QHD4LPAQ.cjs +8 -0
  120. package/dist/chunk-QHD4LPAQ.cjs.map +1 -0
  121. package/dist/{chunk-FPWOK2CR.js → chunk-R3NW5LAB.js} +4 -4
  122. package/dist/chunk-R3NW5LAB.js.map +1 -0
  123. package/dist/{chunk-EBCZUGUX.js → chunk-SJZ66FD5.js} +4 -4
  124. package/dist/chunk-SJZ66FD5.js.map +1 -0
  125. package/dist/chunk-T526LPBK.js +6 -0
  126. package/dist/chunk-T526LPBK.js.map +1 -0
  127. package/dist/{chunk-G7VCXMQB.cjs → chunk-T7SEZMQ7.cjs} +16 -7
  128. package/dist/chunk-T7SEZMQ7.cjs.map +1 -0
  129. package/dist/{chunk-UREIP7XG.js → chunk-TCGHVOIJ.js} +4 -4
  130. package/dist/{chunk-UREIP7XG.js.map → chunk-TCGHVOIJ.js.map} +1 -1
  131. package/dist/{chunk-IBELIKBL.js → chunk-TF3JWA7J.js} +4 -4
  132. package/dist/{chunk-IBELIKBL.js.map → chunk-TF3JWA7J.js.map} +1 -1
  133. package/dist/{chunk-GENABZQ3.js → chunk-UH5JOSEE.js} +4 -4
  134. package/dist/{chunk-GENABZQ3.js.map → chunk-UH5JOSEE.js.map} +1 -1
  135. package/dist/chunk-UP5SEEYZ.js +218 -0
  136. package/dist/chunk-UP5SEEYZ.js.map +1 -0
  137. package/dist/{chunk-MLCMKHMK.cjs → chunk-VPNWX7YM.cjs} +6 -6
  138. package/dist/{chunk-MLCMKHMK.cjs.map → chunk-VPNWX7YM.cjs.map} +1 -1
  139. package/dist/{chunk-YOD5F25S.js → chunk-WJEAGAWB.js} +4 -4
  140. package/dist/{chunk-YOD5F25S.js.map → chunk-WJEAGAWB.js.map} +1 -1
  141. package/dist/{chunk-YLHZ2H7O.cjs → chunk-WZGBE4XH.cjs} +9 -9
  142. package/dist/{chunk-YLHZ2H7O.cjs.map → chunk-WZGBE4XH.cjs.map} +1 -1
  143. package/dist/chunk-X4HEWMPU.cjs +113 -0
  144. package/dist/chunk-X4HEWMPU.cjs.map +1 -0
  145. package/dist/{chunk-WFBQUWRC.js → chunk-XMC355U2.js} +10 -3
  146. package/dist/chunk-XMC355U2.js.map +1 -0
  147. package/dist/{chunk-N3GNUFMA.cjs → chunk-YEF46DYF.cjs} +65 -13
  148. package/dist/chunk-YEF46DYF.cjs.map +1 -0
  149. package/dist/{chunk-AKDJSXVJ.cjs → chunk-YQEBJG5H.cjs} +6 -6
  150. package/dist/{chunk-AKDJSXVJ.cjs.map → chunk-YQEBJG5H.cjs.map} +1 -1
  151. package/dist/{chunk-UFQVOZZ6.cjs → chunk-Z76DIRLA.cjs} +55 -5
  152. package/dist/chunk-Z76DIRLA.cjs.map +1 -0
  153. package/dist/chunk-ZDCEKJAL.js +110 -0
  154. package/dist/chunk-ZDCEKJAL.js.map +1 -0
  155. package/dist/constants/index.cjs +17 -3
  156. package/dist/constants/index.cjs.map +1 -1
  157. package/dist/constants/index.d.cts +8 -1
  158. package/dist/constants/index.d.ts +8 -1
  159. package/dist/constants/index.js +16 -2
  160. package/dist/constants/index.js.map +1 -1
  161. package/dist/{createGenericFetchClient-D4tfhW6Z.d.ts → createGenericFetchClient-B2Gp1a8f.d.ts} +1 -1
  162. package/dist/{createGenericFetchClient-CrB9cdk8.d.cts → createGenericFetchClient-DJ-oaxPj.d.cts} +1 -1
  163. package/dist/{createOpenapiFetchClient-DLA4-_yg.d.ts → createOpenapiFetchClient-BX7_szVZ.d.ts} +2 -2
  164. package/dist/{createOpenapiFetchClient-zK2SckO2.d.cts → createOpenapiFetchClient-pguVgT7R.d.cts} +2 -2
  165. package/dist/dataScience/index.cjs +5 -5
  166. package/dist/dataScience/index.d.cts +4 -9
  167. package/dist/dataScience/index.d.ts +4 -9
  168. package/dist/dataScience/index.js +3 -3
  169. package/dist/dataScience/types.d.cts +2 -2
  170. package/dist/dataScience/types.d.ts +2 -2
  171. package/dist/domain/permissions/index.cjs +23 -0
  172. package/dist/domain/permissions/index.cjs.map +1 -1
  173. package/dist/domain/permissions/index.d.cts +40 -5
  174. package/dist/domain/permissions/index.d.ts +40 -5
  175. package/dist/domain/permissions/index.js +20 -1
  176. package/dist/domain/permissions/index.js.map +1 -1
  177. package/dist/editor/index.cjs +4 -4
  178. package/dist/editor/index.d.cts +3 -3
  179. package/dist/editor/index.d.ts +3 -3
  180. package/dist/editor/index.js +3 -3
  181. package/dist/editor/types.d.cts +2 -2
  182. package/dist/editor/types.d.ts +2 -2
  183. package/dist/encryption/index.cjs +3 -3
  184. package/dist/encryption/index.d.cts +4 -4
  185. package/dist/encryption/index.d.ts +4 -4
  186. package/dist/encryption/index.js +2 -2
  187. package/dist/encryption/types.d.cts +3 -3
  188. package/dist/encryption/types.d.ts +3 -3
  189. package/dist/import/index.cjs +4 -4
  190. package/dist/import/index.d.cts +1 -1
  191. package/dist/import/index.d.ts +1 -1
  192. package/dist/import/index.js +3 -3
  193. package/dist/index.cjs +1572 -848
  194. package/dist/index.cjs.map +1 -1
  195. package/dist/index.d.cts +1830 -1101
  196. package/dist/index.d.ts +1830 -1101
  197. package/dist/index.js +1571 -881
  198. package/dist/index.js.map +1 -1
  199. package/dist/management/index.cjs +5 -5
  200. package/dist/management/index.d.cts +39 -42
  201. package/dist/management/index.d.ts +39 -42
  202. package/dist/management/index.js +3 -3
  203. package/dist/management/types.d.cts +3 -7
  204. package/dist/management/types.d.ts +3 -7
  205. package/dist/metastore/index.cjs +4 -4
  206. package/dist/metastore/index.d.cts +14 -33
  207. package/dist/metastore/index.d.ts +14 -33
  208. package/dist/metastore/index.js +3 -3
  209. package/dist/metastore/types.d.cts +2 -2
  210. package/dist/metastore/types.d.ts +2 -2
  211. package/dist/notifications/index.cjs +5 -4
  212. package/dist/notifications/index.d.cts +30 -17
  213. package/dist/notifications/index.d.ts +30 -17
  214. package/dist/notifications/index.js +4 -3
  215. package/dist/notifications/types.d.cts +2 -2
  216. package/dist/notifications/types.d.ts +2 -2
  217. package/dist/oauth/index.cjs +4 -4
  218. package/dist/oauth/index.d.cts +1 -1
  219. package/dist/oauth/index.d.ts +1 -1
  220. package/dist/oauth/index.js +3 -3
  221. package/dist/{project-Bj7A_TSe.d.ts → project-BV-vseKc.d.ts} +2 -2
  222. package/dist/{project-CX3TEH8A.d.cts → project-CbJCjkdt.d.cts} +2 -2
  223. package/dist/queryService/index.cjs +4 -4
  224. package/dist/queryService/index.d.cts +3 -3
  225. package/dist/queryService/index.d.ts +3 -3
  226. package/dist/queryService/index.js +3 -3
  227. package/dist/queryService/types.d.cts +2 -2
  228. package/dist/queryService/types.d.ts +2 -2
  229. package/dist/queue/index.cjs +5 -4
  230. package/dist/queue/index.d.cts +207 -3
  231. package/dist/queue/index.d.ts +207 -3
  232. package/dist/queue/index.js +4 -3
  233. package/dist/queue/types.d.cts +2 -2
  234. package/dist/queue/types.d.ts +2 -2
  235. package/dist/{registry-BLItWxbK.d.ts → registry-v_1krdcs.d.cts} +136 -1
  236. package/dist/{registry-BLItWxbK.d.cts → registry-v_1krdcs.d.ts} +136 -1
  237. package/dist/scheduler/index.cjs +5 -4
  238. package/dist/scheduler/index.d.cts +3 -2
  239. package/dist/scheduler/index.d.ts +3 -2
  240. package/dist/scheduler/index.js +4 -3
  241. package/dist/scheduler/types.d.cts +1 -1
  242. package/dist/scheduler/types.d.ts +1 -1
  243. package/dist/sdk/configurations/index.cjs +3 -3
  244. package/dist/sdk/configurations/index.d.cts +418 -26
  245. package/dist/sdk/configurations/index.d.ts +418 -26
  246. package/dist/sdk/configurations/index.js +2 -2
  247. package/dist/sdk/semanticLayer/index.cjs +58 -0
  248. package/dist/sdk/semanticLayer/index.cjs.map +1 -0
  249. package/dist/sdk/semanticLayer/index.d.cts +151 -0
  250. package/dist/sdk/semanticLayer/index.d.ts +151 -0
  251. package/dist/sdk/semanticLayer/index.js +5 -0
  252. package/dist/sdk/semanticLayer/index.js.map +1 -0
  253. package/dist/sdk/semanticLayer/types.cjs +4 -0
  254. package/dist/sdk/semanticLayer/types.cjs.map +1 -0
  255. package/dist/sdk/semanticLayer/types.d.cts +132 -0
  256. package/dist/sdk/semanticLayer/types.d.ts +132 -0
  257. package/dist/sdk/semanticLayer/types.js +3 -0
  258. package/dist/sdk/semanticLayer/types.js.map +1 -0
  259. package/dist/sdk/storage/index.cjs +12 -11
  260. package/dist/sdk/storage/index.d.cts +8 -8
  261. package/dist/sdk/storage/index.d.ts +8 -8
  262. package/dist/sdk/storage/index.js +2 -1
  263. package/dist/sdk/tag/index.cjs +4 -3
  264. package/dist/sdk/tag/index.d.cts +7 -7
  265. package/dist/sdk/tag/index.d.ts +7 -7
  266. package/dist/sdk/tag/index.js +3 -2
  267. package/dist/sdk/tag/types.d.cts +5 -5
  268. package/dist/sdk/tag/types.d.ts +5 -5
  269. package/dist/sdk/vault/index.cjs +8 -8
  270. package/dist/sdk/vault/index.d.cts +5 -5
  271. package/dist/sdk/vault/index.d.ts +5 -5
  272. package/dist/sdk/vault/index.js +2 -2
  273. package/dist/status/index.cjs +2 -2
  274. package/dist/status/index.d.cts +1 -1
  275. package/dist/status/index.d.ts +1 -1
  276. package/dist/status/index.js +1 -1
  277. package/dist/storage/index.cjs +12 -12
  278. package/dist/storage/index.d.cts +8 -8
  279. package/dist/storage/index.d.ts +8 -8
  280. package/dist/storage/index.js +5 -5
  281. package/dist/storage/types.d.cts +59 -6
  282. package/dist/storage/types.d.ts +59 -6
  283. package/dist/{storageClient-D1USmiC5.d.cts → storageClient-Dlu7OJgJ.d.cts} +14 -7
  284. package/dist/{storageClient-Cwr5Vl45.d.ts → storageClient-Dz4tTWOc.d.ts} +14 -7
  285. package/dist/{storageSdk-MciYsR_e.d.cts → storageSdk-DxbSjnHh.d.cts} +1 -1
  286. package/dist/{storageSdk-Um7iSJMs.d.ts → storageSdk-PRaSLkD6.d.ts} +1 -1
  287. package/dist/stream/index.cjs +4 -4
  288. package/dist/stream/index.d.cts +3 -3
  289. package/dist/stream/index.d.ts +3 -3
  290. package/dist/stream/index.js +3 -3
  291. package/dist/stream/types.d.cts +2 -2
  292. package/dist/stream/types.d.ts +2 -2
  293. package/dist/syncActions/index.cjs +4 -4
  294. package/dist/syncActions/index.d.cts +3 -3
  295. package/dist/syncActions/index.d.ts +3 -3
  296. package/dist/syncActions/index.js +3 -3
  297. package/dist/syncActions/types.d.cts +1 -10
  298. package/dist/syncActions/types.d.ts +1 -10
  299. package/dist/telemetry/index.cjs +4 -4
  300. package/dist/telemetry/index.d.cts +2 -2
  301. package/dist/telemetry/index.d.ts +2 -2
  302. package/dist/telemetry/index.js +3 -3
  303. package/dist/{types-BCPmAXOQ.d.cts → types-22LtuLPM.d.cts} +355 -108
  304. package/dist/{types-BVldT2vs.d.cts → types-B-3bBl2q.d.ts} +21 -17
  305. package/dist/{types-DHCbX2uR.d.cts → types-B3hgDuaG.d.cts} +1 -1
  306. package/dist/{types-jKnx7Tm_.d.cts → types-BbM5WDSR.d.cts} +1 -1
  307. package/dist/{types-jKnx7Tm_.d.ts → types-BbM5WDSR.d.ts} +1 -1
  308. package/dist/{types-Dv3vN7M9.d.ts → types-Bj3fLP0h.d.ts} +1 -1
  309. package/dist/{types-D3Kkh6yW.d.ts → types-BjNd012m.d.ts} +3 -545
  310. package/dist/{types-yKV1EX6f.d.ts → types-BjdcqqvT.d.ts} +10 -1
  311. package/dist/{types-ClxrZC77.d.cts → types-CJ0RgA57.d.ts} +3146 -826
  312. package/dist/{types-DFWnAftN.d.cts → types-CUzRu6Z8.d.cts} +1 -1
  313. package/dist/{types-o8eTf_G9.d.ts → types-CfIKhNMg.d.cts} +3146 -826
  314. package/dist/{types-D9cNOf-3.d.cts → types-CkQXSDqo.d.cts} +10 -1
  315. package/dist/{types-CWebeQXy.d.cts → types-CmdRXxqa.d.cts} +1 -1
  316. package/dist/{types-l_pP5J0H.d.ts → types-Cnsa5tWp.d.ts} +1 -1
  317. package/dist/{types-BxjcUj-y.d.cts → types-D6p5VsOx.d.cts} +27 -4
  318. package/dist/{types-oJnjpvPi.d.ts → types-DNEuJ-tb.d.cts} +585 -6
  319. package/dist/{types-BbeZapCu.d.ts → types-DXFcF3_c.d.ts} +2 -2
  320. package/dist/{types-GRfGXouy.d.cts → types-DgU_wy4q.d.cts} +2 -2
  321. package/dist/{types-DacFMc6L.d.ts → types-Dq5jIMye.d.ts} +27 -4
  322. package/dist/{types-0yn6OefX.d.ts → types-DqxZDbM1.d.cts} +1 -1
  323. package/dist/{types-0yn6OefX.d.cts → types-DqxZDbM1.d.ts} +1 -1
  324. package/dist/{types-BowqtZ7v.d.ts → types-Dz4Yc-Mu.d.ts} +355 -108
  325. package/dist/{types-YEfQ5pAy.d.ts → types-GecGaYgv.d.cts} +981 -171
  326. package/dist/{types-YEfQ5pAy.d.cts → types-GecGaYgv.d.ts} +981 -171
  327. package/dist/{types-CFd7q2ed.d.ts → types-PG_v0QyH.d.ts} +1 -1
  328. package/dist/{types-CS8MYc2k.d.ts → types-mQtL3f4D.d.cts} +21 -17
  329. package/dist/{types-59-LNg5i.d.cts → types-qCMu5X9I.d.ts} +585 -6
  330. package/dist/{types-CvHPHNH0.d.cts → types-y3pEpGrH.d.cts} +3 -545
  331. package/dist/{utils-DDERw8dM.d.cts → utils-CuiDsDxz.d.cts} +997 -168
  332. package/dist/{utils-C7eSJKtG.d.ts → utils-zcz60drL.d.ts} +997 -168
  333. package/dist/vault/index.cjs +4 -4
  334. package/dist/vault/index.d.cts +2 -2
  335. package/dist/vault/index.d.ts +2 -2
  336. package/dist/vault/index.js +3 -3
  337. package/dist/vault/types.d.cts +4 -10
  338. package/dist/vault/types.d.ts +4 -10
  339. package/package.json +30 -4
  340. package/surface/ai.md +2 -2
  341. package/surface/auth.md +15 -3
  342. package/surface/chat.md +1 -1
  343. package/surface/dataScience.md +5 -5
  344. package/surface/editor.md +5 -5
  345. package/surface/kaiAgent.md +4 -4
  346. package/surface/management.md +24 -4
  347. package/surface/metastore.md +10 -10
  348. package/surface/notifications.md +6 -4
  349. package/surface/queue.md +6 -1
  350. package/surface/scheduler.md +1 -0
  351. package/surface/sdk.md +21 -6
  352. package/surface/storage.md +12 -4
  353. package/surface/stream.md +7 -7
  354. package/dist/authMiddleware-BcRYj3eQ.d.cts +0 -5
  355. package/dist/authMiddleware-CirRGURb.d.ts +0 -5
  356. package/dist/chunk-4HJUQVXR.js.map +0 -1
  357. package/dist/chunk-4JCVPUXF.cjs.map +0 -1
  358. package/dist/chunk-6FE3CWV6.js.map +0 -1
  359. package/dist/chunk-7KMFRSYA.js.map +0 -1
  360. package/dist/chunk-AWRMGLMT.cjs.map +0 -1
  361. package/dist/chunk-BR3SBEFE.cjs.map +0 -1
  362. package/dist/chunk-CVV4HROS.cjs.map +0 -1
  363. package/dist/chunk-EBCZUGUX.js.map +0 -1
  364. package/dist/chunk-FPWOK2CR.js.map +0 -1
  365. package/dist/chunk-G7VCXMQB.cjs.map +0 -1
  366. package/dist/chunk-HNP33VR5.cjs +0 -16
  367. package/dist/chunk-HNP33VR5.cjs.map +0 -1
  368. package/dist/chunk-IUN2ZSU3.cjs.map +0 -1
  369. package/dist/chunk-IZWNTRMT.cjs.map +0 -1
  370. package/dist/chunk-JIAMBOU7.cjs.map +0 -1
  371. package/dist/chunk-JURD5MC3.js.map +0 -1
  372. package/dist/chunk-KLVBTRLR.js.map +0 -1
  373. package/dist/chunk-KQ2QNGRX.js.map +0 -1
  374. package/dist/chunk-M3UUJIMO.js.map +0 -1
  375. package/dist/chunk-N3GNUFMA.cjs.map +0 -1
  376. package/dist/chunk-PINOAERX.js +0 -36
  377. package/dist/chunk-PINOAERX.js.map +0 -1
  378. package/dist/chunk-RHLDDKX6.js.map +0 -1
  379. package/dist/chunk-RK2VGHJE.js.map +0 -1
  380. package/dist/chunk-SWJHENEP.cjs.map +0 -1
  381. package/dist/chunk-TTPJSPZA.cjs.map +0 -1
  382. package/dist/chunk-UFQVOZZ6.cjs.map +0 -1
  383. package/dist/chunk-WFBQUWRC.js.map +0 -1
  384. package/dist/chunk-WJRHT346.js.map +0 -1
  385. package/dist/chunk-YOPRPXER.cjs +0 -38
  386. package/dist/chunk-YOPRPXER.cjs.map +0 -1
  387. package/dist/chunk-YUTWLJBK.js.map +0 -1
  388. package/dist/chunk-ZLW3243Q.cjs.map +0 -1
  389. package/dist/schemas-CraXbXke.d.cts +0 -74
  390. package/dist/schemas-CraXbXke.d.ts +0 -74
  391. package/dist/{backends-Bofq_Nr0.d.cts → adminRoles-Cil1lavB.d.cts} +6 -6
  392. package/dist/{backends-Bofq_Nr0.d.ts → adminRoles-Cil1lavB.d.ts} +6 -6
@@ -29,7 +29,7 @@ Part of the [`@keboola/api-client` surface index](../API-SURFACE.md).
29
29
  - `api.storage.buckets.forceUnlinkBucket(bucketId: string, linkedProjectId: string, signal?: AbortSignal | undefined): Promise<ForceUnlinkBucketJob>`
30
30
  - `api.storage.buckets.getBucket(id: string, signal?: AbortSignal | undefined): Promise<BucketDetail>`
31
31
  - `api.storage.buckets.getBucketOwner(bucketId: string, signal?: AbortSignal | undefined): Promise<{ id: number; name: string; email: string; }>`
32
- - `api.storage.buckets.getBucketRegistrationGuide(query: { 'path[]': string[]; backend: "bigquery" | "snowflake"; isSnowflakeSharedDatabase?: boolean | null | undefined; }, signal?: AbortSignal | undefined): Promise<{ markdown: string; }>`
32
+ - `api.storage.buckets.getBucketRegistrationGuide(query: { 'path[]': string[]; backend: "snowflake" | "bigquery"; isSnowflakeSharedDatabase?: boolean | null | undefined; }, signal?: AbortSignal | undefined): Promise<{ markdown: string; }>`
33
33
  - `api.storage.buckets.getBuckets(branchId: string, query?: GetBucketsQuery, signal?: AbortSignal | undefined): Promise<Bucket[]>`
34
34
  - `api.storage.buckets.getListing(bucketId: string, signal?: AbortSignal | undefined): Promise<BucketListing | null>`
35
35
  - `api.storage.buckets.listListings(signal?: AbortSignal | undefined): Promise<BucketListing[]>`
@@ -74,13 +74,21 @@ Part of the [`@keboola/api-client` surface index](../API-SURFACE.md).
74
74
  - `api.storage.componentsAndConfigurations.getConfigurationWorkspaces({ componentId, branchId, configId, }: ConfigurationPath): Promise<Workspace[]>`
75
75
  - `api.storage.componentsAndConfigurations.getConfigurations<T extends ConfigType = "unknown">({ componentId, branchId }: GetConfigurationsPath, signal?: AbortSignal | undefined): Promise<ComponentConfig<T>[]>`
76
76
  - `api.storage.componentsAndConfigurations.rebaseConfiguration({ branchId, componentId, configId, ...body }: RebaseConfigurationInput): Promise<BaseComponentConfig<Record<string, unknown>>>`
77
+ - `api.storage.componentsAndConfigurations.resetConfigurationToDefault({ branchId, componentId, configId, }: ConfigurationPath): Promise<BaseComponentConfig<Record<string, unknown>>>`
78
+ - `api.storage.componentsAndConfigurations.restoreConfiguration({ branchId, componentId, configId, }: ConfigurationPath): Promise<BaseComponentConfig<Record<string, unknown>>>`
77
79
  - `api.storage.componentsAndConfigurations.searchComponentConfigurations({ branchId }?: GetSearchComponentConfigurationsPath, query?: SearchComponentConfigurationsQuery | undefined, signal?: AbortSignal | undefined): Promise<SearchComponentConfiguration[]>`
78
80
  - `api.storage.componentsAndConfigurations.updateConfiguration<T extends ConfigType = "unknown">({ branchId, componentId, configId, configuration, ...rest }: PartialKey<UpdateConfigurationInput, "branchId">, signal?: AbortSignal | undefined): Promise<ComponentConfig<T>>`
79
81
 
82
+ ### `api.storage.configurationMetadata`
83
+
84
+ - `api.storage.configurationMetadata.saveConfigurationMetadata({ branchId, componentId, configId, ...body }: SaveConfigurationMetadataInput): Promise<ConfigurationMetadataItem[]>`
85
+
80
86
  ### `api.storage.configurationVersions`
81
87
 
88
+ - `api.storage.configurationVersions.copyConfigurationFromVersion({ branchId, componentId, configId, versionId, ...body }: CopyConfigurationFromVersionInput): Promise<BaseComponentConfig<Record<string, unknown>>>`
82
89
  - `api.storage.configurationVersions.getConfigurationVersion({ branchId, componentId, configId, versionId }: ConfigurationVersionDetailPath, signal?: AbortSignal | undefined): Promise<ConfigurationVersionDetail>`
83
- - `api.storage.configurationVersions.listConfigurationVersions({ branchId, componentId, configId }: ConfigurationVersionPath, signal?: AbortSignal | undefined): Promise<ConfigurationVersion[]>`
90
+ - `api.storage.configurationVersions.getConfigurationVersions({ branchId, componentId, configId }: ConfigurationVersionPath, signal?: AbortSignal | undefined): Promise<ConfigurationVersion[]>`
91
+ - `api.storage.configurationVersions.rollbackConfigurationToVersion({ branchId, componentId, configId, versionId, }: RollbackConfigurationToVersionInput): Promise<BaseComponentConfig<Record<string, unknown>>>`
84
92
 
85
93
  ### `api.storage.events`
86
94
 
@@ -112,7 +120,7 @@ Part of the [`@keboola/api-client` surface index](../API-SURFACE.md).
112
120
  - `api.storage.mergeRequests.getMergeRequestConflicts(id: number, signal?: AbortSignal | undefined): Promise<{ message: string; componentId: string; configurationId: string; isDeleted: boolean; devBranchVersionIdentifier: string; defaultBranchVersionIdentifier: string; }[]>`
113
121
  - `api.storage.mergeRequests.getMergeRequestWithActivityLog(id: number, signal?: AbortSignal | undefined): Promise<MergeRequestDetailWithActivityLog>`
114
122
  - `api.storage.mergeRequests.getMergeRequests(signal?: AbortSignal | undefined): Promise<{ id: number; creator: { id?: number | undefined; name?: string | undefined; }; title: string; description: string; state: "canceled" | "development" | "in_review" | "approved" | "in_merge" | "published"; branches: { branchFromId?: number | null | undefined; branchIntoId?: number | null | undefined; }; merge: { mergedAt?: string | null | undefined; mergerId?: number | null | undefined; mergerName?: string | undefined; }; createdAt: string; externalId: string; autoMergeStrategy: "immediately" | "scheduled" | "none"; autoMergeAt?: string | null | undefined; approvals: { approverId?: string | undefined; approverName?: string | undefined; createdAt?: string | undefined; }[]; reviewers: { id?: number | undefined; name?: string | undefined; email?: string | undefined; status?: "approved" | "rejected" | null | undefined; }[]; }[]>`
115
- - `api.storage.mergeRequests.mergeMergeRequest(id: number): Promise<{ id: string; status: string; url: string; tableId: string; operationName: string; operationParams: Record<string, never>; createdTime: string; startTime?: string | null | undefined; endTime?: string | null | undefined; runId: string; results?: { bucketId: string; exposureName: string; exposureDescription?: string | null | undefined; bigquery: { listingId?: string | undefined; subscribers?: string[] | undefined; }; } | { idBucket: number; listingId: string; listingResourceName: string; providerResourceName: string; } | { id: number; status: string; url: string; tableId?: string | null | undefined; operationName: string; operationParams: { [key: string]: Record<string, never>; }; createdTime: string; startTime?: string | null | undefined; endTime?: string | null | undefined; runId?: string | null | undefined; results?: Record<string, never> | null | undefined; creatorToken: { id?: number | undefined; description?: string | null | undefined; }; metrics: { [key: string]: Record<string, never>; }; error?: { code?: string | null | undefined; message?: string | null | undefined; exceptionId?: string | null | undefined; } | null | undefined; } | { uri: string; id: string; name: string; displayName: string; idBranch: number; stage: string; description: string; tables: string; created: string; lastChangeDate?: string | null | undefined; updated?: string | null | undefined; isReadOnly: boolean; dataSizeBytes: number; rowsCount: number; isMaintenance: boolean; backend: string; sharing?: string | null | undefined; hasExternalSchema: boolean; databaseName?: string | null | undefined; path: string; isSnowflakeSharedDatabase: boolean; color?: string | null | undefined; sharingParameters?: Record<string, never> | null | undefined; sharedBy?: { id?: number | null | undefined; name?: string | null | undefined; date?: string | null | undefined; } | null | undefined; owner?: Record<string, never> | null | undefined; sourceBucket?: Record<string, never> | null | undefined; warnings: { message?: string | undefined; context?: string | null | undefined; }[]; } | { id: number; status: string; url: string; tableId?: string | null | undefined; operationName: string; operationParams: { [key: string]: Record<string, never>; }; createdTime: string; startTime?: string | null | undefined; endTime?: string | null | undefined; runId?: string | null | undefined; results?: Record<string, never> | null | undefined; creatorToken: { id?: number | undefined; description?: string | null | undefined; }; metrics: { [key: string]: Record<string, never>; }; error?: { code?: string | null | undefined; message?: string | null | undefined; exceptionId?: string | null | undefined; } | null | undefined; } | { id: string; description?: string | null | undefined; createdTime: string; type: string; creatorToken: { id?: number | undefined; description?: string | undefined; }; uri: string; dataFileId: number; } | { tableAStringId: string; tableBStringId: string; } | { uri: string; id: string; name: string; displayName: string; transactional: boolean; primaryKey: string[]; indexType: string | null; indexKey: string[]; distributionType: string | null; distributionKey: string[]; syntheticPrimaryKeyEnabled: boolean; created: string | null; lastImportDate: string | null; lastChangeDate: string | null; rowsCount: number | null; dataSizeBytes: number | null; isAlias: boolean; isAliasable: boolean; isTyped: boolean; tableType: string; path: string; columns: string[]; sourceTable?: { id: string; uri: string; project: { id: number; name: string; }; isAlias: boolean; } | null | undefined; aliasColumnsAutoSync?: boolean | null | undefined; aliasFilter?: Record<string, never> | null | undefined; selectSql?: string | null | undefined; } | { file?: { id?: number | null | undefined; } | null | undefined; } | undefined; creatorToken: { id?: string | undefined; description?: string | undefined; }; metrics: { inCompressed?: boolean | undefined; inBytes?: number | undefined; inBytesUncompressed?: number | undefined; outCompressed?: boolean | undefined; outBytes?: number | undefined; outBytesUncompressed?: number | undefined; }; error?: { code?: string | undefined; message?: string | undefined; exceptionId?: string | undefined; contextParams?: Record<string, never> | null | undefined; uuid?: string | null | undefined; } | null | undefined; }>`
123
+ - `api.storage.mergeRequests.mergeMergeRequest(id: number): Promise<{ id: string; status: string; url: string; tableId: string; operationName: string; operationParams: Record<string, never>; createdTime: string; startTime?: string | null | undefined; endTime?: string | null | undefined; runId: string; results?: Record<string, never> | { bucketId: string; exposureName: string; exposureDescription?: string | null | undefined; bigquery: { listingId?: string | undefined; subscribers?: string[] | undefined; }; } | { idBucket: number; listingId: string; listingResourceName: string; providerResourceName: string; } | { id: number; status: string; url: string; tableId?: string | null | undefined; operationName: string; operationParams: { [key: string]: Record<string, never>; }; createdTime: string; startTime?: string | null | undefined; endTime?: string | null | undefined; runId?: string | null | undefined; results?: Record<string, never> | null | undefined; creatorToken: { id?: number | undefined; description?: string | null | undefined; }; metrics: { [key: string]: Record<string, never>; }; error?: { code?: string | null | undefined; message?: string | null | undefined; exceptionId?: string | null | undefined; } | null | undefined; } | { id: number; status: string; url: string; tableId?: string | null | undefined; operationName: string; operationParams: { [key: string]: Record<string, never>; }; createdTime: string; startTime?: string | null | undefined; endTime?: string | null | undefined; runId?: string | null | undefined; results?: Record<string, never> | null | undefined; creatorToken: { id?: number | undefined; description?: string | null | undefined; }; metrics: { [key: string]: Record<string, never>; }; error?: { code?: string | null | undefined; message?: string | null | undefined; exceptionId?: string | null | undefined; } | null | undefined; } | { uri: string; id: string; name: string; displayName: string; idBranch: number; stage: string; description: string; tables: string; created: string; lastChangeDate?: string | null | undefined; updated?: string | null | undefined; isReadOnly: boolean; dataSizeBytes: number; rowsCount: number; isMaintenance: boolean; backend: string; sharing?: string | null | undefined; hasExternalSchema: boolean; databaseName?: string | null | undefined; path: string; isSnowflakeSharedDatabase: boolean; color?: string | null | undefined; sharingParameters?: Record<string, never> | null | undefined; sharedBy?: { id?: number | null | undefined; name?: string | null | undefined; date?: string | null | undefined; } | null | undefined; owner?: Record<string, never> | null | undefined; sourceBucket?: Record<string, never> | null | undefined; warnings: { message?: string | undefined; context?: string | null | undefined; }[]; } | { id: number; status: string; url: string; tableId?: string | null | undefined; operationName: string; operationParams: { [key: string]: Record<string, never>; }; createdTime: string; startTime?: string | null | undefined; endTime?: string | null | undefined; runId?: string | null | undefined; results?: Record<string, never> | null | undefined; creatorToken: { id?: number | undefined; description?: string | null | undefined; }; metrics: { [key: string]: Record<string, never>; }; error?: { code?: string | null | undefined; message?: string | null | undefined; exceptionId?: string | null | undefined; } | null | undefined; } | { id: string; description?: string | null | undefined; createdTime: string; type: string; creatorToken: { id?: number | undefined; description?: string | undefined; }; uri: string; dataFileId: number; } | { file: { id?: number | undefined; }; cacheHit: boolean; } | { tableAStringId: string; tableBStringId: string; } | { uri: string; id: string; name: string; displayName: string; transactional: boolean; primaryKey: string[]; indexType: string | null; indexKey: string[]; distributionType: string | null; distributionKey: string[]; syntheticPrimaryKeyEnabled: boolean; created: string | null; lastImportDate: string | null; lastChangeDate: string | null; rowsCount: number | null; dataSizeBytes: number | null; isAlias: boolean; isAliasable: boolean; isTyped: boolean; tableType: string; path: string; columns: string[]; sourceTable?: { id: string; uri: string; project: { id: number; name: string; }; isAlias: boolean; } | null | undefined; aliasColumnsAutoSync?: boolean | null | undefined; aliasFilter?: Record<string, never> | null | undefined; selectSql?: string | null | undefined; } | { file?: { id?: number | null | undefined; } | null | undefined; } | null | undefined; creatorToken: { id?: string | undefined; description?: string | undefined; }; metrics: { inCompressed?: boolean | undefined; inBytes?: number | undefined; inBytesUncompressed?: number | undefined; outCompressed?: boolean | undefined; outBytes?: number | undefined; outBytesUncompressed?: number | undefined; }; error?: { code?: string | undefined; message?: string | undefined; exceptionId?: string | undefined; contextParams?: Record<string, never> | null | undefined; uuid?: string | null | undefined; } | null | undefined; }>`
116
124
  - `api.storage.mergeRequests.requestChangesMergeRequest(id: number, reason?: string | undefined): Promise<{ id: number; creator: { id?: number | undefined; name?: string | undefined; }; title: string; description: string; state: "canceled" | "development" | "in_review" | "approved" | "in_merge" | "published"; branches: { branchFromId?: number | null | undefined; branchIntoId?: number | null | undefined; }; merge: { mergedAt?: string | null | undefined; mergerId?: number | null | undefined; mergerName?: string | undefined; }; createdAt: string; externalId: string; autoMergeStrategy: "immediately" | "scheduled" | "none"; autoMergeAt?: string | null | undefined; approvals: { approverId?: string | undefined; approverName?: string | undefined; createdAt?: string | undefined; }[]; reviewers: { id?: number | undefined; name?: string | undefined; email?: string | undefined; status?: "approved" | "rejected" | null | undefined; }[]; } & { changeLog?: Record<string, never> | undefined; }>`
117
125
  - `api.storage.mergeRequests.requestReview(id: number): Promise<{ id: number; creator: { id?: number | undefined; name?: string | undefined; }; title: string; description: string; state: "canceled" | "development" | "in_review" | "approved" | "in_merge" | "published"; branches: { branchFromId?: number | null | undefined; branchIntoId?: number | null | undefined; }; merge: { mergedAt?: string | null | undefined; mergerId?: number | null | undefined; mergerName?: string | undefined; }; createdAt: string; externalId: string; autoMergeStrategy: "immediately" | "scheduled" | "none"; autoMergeAt?: string | null | undefined; approvals: { approverId?: string | undefined; approverName?: string | undefined; createdAt?: string | undefined; }[]; reviewers: { id?: number | undefined; name?: string | undefined; email?: string | undefined; status?: "approved" | "rejected" | null | undefined; }[]; } & { changeLog?: Record<string, never> | undefined; }>`
118
126
  - `api.storage.mergeRequests.updateMergeRequest(id: number, params: { title: string | null; description: string | null; externalId: string | null; autoMergeStrategy: "immediately" | "scheduled" | "none" | null; autoMergeAt: string | null; reviewerIds: number[] | null; }): Promise<{ id: number; creator: { id?: number | undefined; name?: string | undefined; }; title: string; description: string; state: "canceled" | "development" | "in_review" | "approved" | "in_merge" | "published"; branches: { branchFromId?: number | null | undefined; branchIntoId?: number | null | undefined; }; merge: { mergedAt?: string | null | undefined; mergerId?: number | null | undefined; mergerName?: string | undefined; }; createdAt: string; externalId: string; autoMergeStrategy: "immediately" | "scheduled" | "none"; autoMergeAt?: string | null | undefined; approvals: { approverId?: string | undefined; approverName?: string | undefined; createdAt?: string | undefined; }[]; reviewers: { id?: number | undefined; name?: string | undefined; email?: string | undefined; status?: "approved" | "rejected" | null | undefined; }[]; }>`
@@ -163,7 +171,7 @@ Part of the [`@keboola/api-client` surface index](../API-SURFACE.md).
163
171
 
164
172
  - `api.storage.triggers.createTrigger(body: { runWithTokenId: number; component: string; configurationId: string; coolDownPeriodMinutes: number; tableIds: string[]; }, signal?: AbortSignal | undefined): Promise<{ id: string; runWithTokenId: number; component: string; configurationId: string; lastRun?: string | null | undefined; creatorToken: { id: number; description: string; }; coolDownPeriodMinutes: number; tables: { tableId: string; }[]; }>`
165
173
  - `api.storage.triggers.deleteTrigger(triggerId: string, signal?: AbortSignal | undefined): Promise<void>`
166
- - `api.storage.triggers.listTriggers(query?: { component?: string | undefined; configurationId?: string | undefined; } | undefined, signal?: AbortSignal | undefined): Promise<{ id: string; runWithTokenId: number; component: string; configurationId: string; lastRun?: string | null | undefined; creatorToken: { id: number; description: string; }; coolDownPeriodMinutes: number; tables: { tableId: string; }[]; }[]>`
174
+ - `api.storage.triggers.listTriggers(query?: { component?: string | null | undefined; configurationId?: string | null | undefined; } | undefined, signal?: AbortSignal | undefined): Promise<{ id: string; runWithTokenId: number; component: string; configurationId: string; lastRun?: string | null | undefined; creatorToken: { id: number; description: string; }; coolDownPeriodMinutes: number; tables: { tableId: string; }[]; }[]>`
167
175
  - `api.storage.triggers.updateTrigger(triggerId: string, body: { runWithTokenId: number; component: string; configurationId: string; coolDownPeriodMinutes: number; tableIds: string[]; }, signal?: AbortSignal | undefined): Promise<{ id: string; runWithTokenId: number; component: string; configurationId: string; lastRun?: string | null | undefined; creatorToken: { id: number; description: string; }; coolDownPeriodMinutes: number; tables: { tableId: string; }[]; }>`
168
176
 
169
177
  ### `api.storage.workspaces`
package/surface/stream.md CHANGED
@@ -6,7 +6,7 @@ Part of the [`@keboola/api-client` surface index](../API-SURFACE.md).
6
6
 
7
7
  - `api.stream.clearSinkStatistics(branchId: string, sourceId: string, sinkId: string, signal?: AbortSignal | undefined): Promise<void>`
8
8
  - `api.stream.clearSourceStatistics(branchId: string, sourceId: string, signal?: AbortSignal | undefined): Promise<void>`
9
- - `api.stream.createSink(branchId: string, sourceId: string, body: { allowedSignals?: ("logs" | "metrics" | "traces")[] | undefined; description?: string | undefined; name: string; sinkId?: string | undefined; table?: { mapping: { columns: { defaultValue?: string | undefined; name: string; path?: string | undefined; rawString?: boolean | undefined; template?: { content: string; language: "jsonnet"; } | undefined; type: "path" | "body" | "headers" | "template" | "uuid" | "datetime" | "ip"; }[]; }; tableId: string; type: "keboola"; } | undefined; type: "table"; }, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
9
+ - `api.stream.createSink(branchId: string, sourceId: string, body: { allowedSignals?: ("metrics" | "logs" | "traces")[] | undefined; description?: string | undefined; name: string; sinkId?: string | undefined; table?: { mapping: { columns: { defaultValue?: string | undefined; name: string; path?: string | undefined; rawString?: boolean | undefined; template?: { content: string; language: "jsonnet"; } | undefined; type: "path" | "body" | "headers" | "template" | "uuid" | "datetime" | "ip"; }[]; }; tableId: string; type: "keboola"; } | undefined; type: "table"; }, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
10
10
  - `api.stream.createSource(branchId: string, body: { description?: string | undefined; name: string; sourceId?: string | undefined; type: "http" | "otlp"; }, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
11
11
  - `api.stream.deleteSink(branchId: string, sourceId: string, sinkId: string, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
12
12
  - `api.stream.deleteSource(branchId: string, sourceId: string, query?: { cascade?: boolean | undefined; } | undefined, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
@@ -14,16 +14,16 @@ Part of the [`@keboola/api-client` surface index](../API-SURFACE.md).
14
14
  - `api.stream.disableSource(branchId: string, sourceId: string, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
15
15
  - `api.stream.enableSink(branchId: string, sourceId: string, sinkId: string, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
16
16
  - `api.stream.enableSource(branchId: string, sourceId: string, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
17
- - `api.stream.getAggregatedSources(branchId: string, query?: { afterId?: string | undefined; limit?: number | undefined; } | undefined, signal?: AbortSignal | undefined): Promise<{ branchId: number; page: { afterId: string; lastId: string; limit: number; totalCount: number; }; projectId: number; sources: { branchId: number; created: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; }; deleted?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; } | undefined; description: string; disabled?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; reason: string; } | undefined; http?: { url: string; } | undefined; name: string; otlp?: { baseUrl: string; secret: string; url: string; } | undefined; projectId: number; sinks: { allowedSignals?: ("logs" | "metrics" | "traces")[] | undefined; branchId: number; created: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; }; deleted?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; } | undefined; description: string; disabled?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; reason: string; } | undefined; name: string; projectId: number; sinkId: string; sourceId: string; statistics?: { files: { closingAt?: string | undefined; importedAt?: string | undefined; importingAt?: string | undefined; openedAt: string; retryAfter?: string | undefined; retryAttempt?: number | undefined; retryReason?: string | undefined; state: "writing" | "closing" | "importing" | "imported"; statistics?: { levels: { local?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; staging?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; target?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; }; total: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; }; } | undefined; }[]; levels: { local?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; staging?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; target?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; }; total: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; }; } | undefined; table?: { mapping: { columns: { defaultValue?: string | undefined; name: string; path?: string | undefined; rawString?: boolean | undefined; template?: { content: string; language: "jsonnet"; } | undefined; type: "path" | "body" | "headers" | "template" | "uuid" | "datetime" | "ip"; }[]; }; tableId: string; type: "keboola"; } | undefined; type: "table"; version: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }; }[]; sourceId: string; type: "http" | "otlp"; version: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }; }[]; }>`
18
- - `api.stream.getDeletedSinks(branchId: string, sourceId: string, query?: { afterId?: string | undefined; limit?: number | undefined; } | undefined, signal?: AbortSignal | undefined): Promise<{ branchId: number; page: { afterId: string; lastId: string; limit: number; totalCount: number; }; projectId: number; sinks: { allowedSignals?: ("logs" | "metrics" | "traces")[] | undefined; branchId: number; created: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; }; deleted?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; } | undefined; description: string; disabled?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; reason: string; } | undefined; name: string; projectId: number; sinkId: string; sourceId: string; table?: { mapping: { columns: { defaultValue?: string | undefined; name: string; path?: string | undefined; rawString?: boolean | undefined; template?: { content: string; language: "jsonnet"; } | undefined; type: "path" | "body" | "headers" | "template" | "uuid" | "datetime" | "ip"; }[]; }; tableId: string; type: "keboola"; } | undefined; type: "table"; version: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }; }[]; sourceId: string; }>`
17
+ - `api.stream.getAggregatedSources(branchId: string, query?: { afterId?: string | undefined; limit?: number | undefined; } | undefined, signal?: AbortSignal | undefined): Promise<{ branchId: number; page: { afterId: string; lastId: string; limit: number; totalCount: number; }; projectId: number; sources: { branchId: number; created: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; }; deleted?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; } | undefined; description: string; disabled?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; reason: string; } | undefined; http?: { url: string; } | undefined; name: string; otlp?: { baseUrl: string; secret: string; url: string; } | undefined; projectId: number; sinks: { allowedSignals?: ("metrics" | "logs" | "traces")[] | undefined; branchId: number; created: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; }; deleted?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; } | undefined; description: string; disabled?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; reason: string; } | undefined; name: string; projectId: number; sinkId: string; sourceId: string; statistics?: { files: { closingAt?: string | undefined; importedAt?: string | undefined; importingAt?: string | undefined; openedAt: string; retryAfter?: string | undefined; retryAttempt?: number | undefined; retryReason?: string | undefined; state: "writing" | "closing" | "importing" | "imported"; statistics?: { levels: { local?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; staging?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; target?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; }; total: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; }; } | undefined; }[]; levels: { local?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; staging?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; target?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; }; total: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; }; } | undefined; table?: { mapping: { columns: { defaultValue?: string | undefined; name: string; path?: string | undefined; rawString?: boolean | undefined; template?: { content: string; language: "jsonnet"; } | undefined; type: "path" | "body" | "headers" | "template" | "uuid" | "datetime" | "ip"; }[]; }; tableId: string; type: "keboola"; } | undefined; type: "table"; version: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }; }[]; sourceId: string; type: "http" | "otlp"; version: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }; }[]; }>`
18
+ - `api.stream.getDeletedSinks(branchId: string, sourceId: string, query?: { afterId?: string | undefined; limit?: number | undefined; } | undefined, signal?: AbortSignal | undefined): Promise<{ branchId: number; page: { afterId: string; lastId: string; limit: number; totalCount: number; }; projectId: number; sinks: { allowedSignals?: ("metrics" | "logs" | "traces")[] | undefined; branchId: number; created: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; }; deleted?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; } | undefined; description: string; disabled?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; reason: string; } | undefined; name: string; projectId: number; sinkId: string; sourceId: string; table?: { mapping: { columns: { defaultValue?: string | undefined; name: string; path?: string | undefined; rawString?: boolean | undefined; template?: { content: string; language: "jsonnet"; } | undefined; type: "path" | "body" | "headers" | "template" | "uuid" | "datetime" | "ip"; }[]; }; tableId: string; type: "keboola"; } | undefined; type: "table"; version: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }; }[]; sourceId: string; }>`
19
19
  - `api.stream.getDeletedSources(branchId: string, query?: { afterId?: string | undefined; limit?: number | undefined; } | undefined, signal?: AbortSignal | undefined): Promise<{ branchId: number; page: { afterId: string; lastId: string; limit: number; totalCount: number; }; projectId: number; sources: { branchId: number; created: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; }; deleted?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; } | undefined; description: string; disabled?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; reason: string; } | undefined; http?: { url: string; } | undefined; name: string; otlp?: { baseUrl: string; secret: string; url: string; } | undefined; projectId: number; sourceId: string; type: "http" | "otlp"; version: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }; }[]; }>`
20
- - `api.stream.getSink(branchId: string, sourceId: string, sinkId: string, signal?: AbortSignal | undefined): Promise<{ allowedSignals?: ("logs" | "metrics" | "traces")[] | undefined; branchId: number; created: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; }; deleted?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; } | undefined; description: string; disabled?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; reason: string; } | undefined; name: string; projectId: number; sinkId: string; sourceId: string; table?: { mapping: { columns: { defaultValue?: string | undefined; name: string; path?: string | undefined; rawString?: boolean | undefined; template?: { content: string; language: "jsonnet"; } | undefined; type: "path" | "body" | "headers" | "template" | "uuid" | "datetime" | "ip"; }[]; }; tableId: string; type: "keboola"; } | undefined; type: "table"; version: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }; }>`
20
+ - `api.stream.getSink(branchId: string, sourceId: string, sinkId: string, signal?: AbortSignal | undefined): Promise<{ allowedSignals?: ("metrics" | "logs" | "traces")[] | undefined; branchId: number; created: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; }; deleted?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; } | undefined; description: string; disabled?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; reason: string; } | undefined; name: string; projectId: number; sinkId: string; sourceId: string; table?: { mapping: { columns: { defaultValue?: string | undefined; name: string; path?: string | undefined; rawString?: boolean | undefined; template?: { content: string; language: "jsonnet"; } | undefined; type: "path" | "body" | "headers" | "template" | "uuid" | "datetime" | "ip"; }[]; }; tableId: string; type: "keboola"; } | undefined; type: "table"; version: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }; }>`
21
21
  - `api.stream.getSinkSettings(branchId: string, sourceId: string, sinkId: string, signal?: AbortSignal | undefined): Promise<{ settings?: { defaultValue: unknown; description: string; key: string; overwritten: boolean; protected: boolean; type: "string" | "int" | "float" | "bool" | "[]string" | "[]int" | "[]float"; validation?: string | undefined; value: unknown; }[] | undefined; }>`
22
22
  - `api.stream.getSinkStatisticsFiles(branchId: string, sourceId: string, sinkId: string, query?: { failedFiles?: boolean | undefined; } | undefined, signal?: AbortSignal | undefined): Promise<{ files: { closingAt?: string | undefined; importedAt?: string | undefined; importingAt?: string | undefined; openedAt: string; retryAfter?: string | undefined; retryAttempt?: number | undefined; retryReason?: string | undefined; state: "writing" | "closing" | "importing" | "imported"; statistics?: { levels: { local?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; staging?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; target?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; }; total: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; }; } | undefined; }[]; }>`
23
23
  - `api.stream.getSinkStatisticsTotal(branchId: string, sourceId: string, sinkId: string, signal?: AbortSignal | undefined): Promise<{ levels: { local?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; staging?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; target?: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; } | undefined; }; total: { compressedSize: number; firstRecordAt?: string | undefined; lastRecordAt?: string | undefined; recordsCount: number; uncompressedSize: number; }; }>`
24
24
  - `api.stream.getSinkVersion(branchId: string, sourceId: string, sinkId: string, versionNumber: number, signal?: AbortSignal | undefined): Promise<{ at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }>`
25
25
  - `api.stream.getSinkVersions(branchId: string, sourceId: string, sinkId: string, query?: { afterId?: string | undefined; limit?: number | undefined; } | undefined, signal?: AbortSignal | undefined): Promise<{ page: { afterId: string; lastId: string; limit: number; totalCount: number; }; versions: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }[]; }>`
26
- - `api.stream.getSinks(branchId: string, sourceId: string, query?: { afterId?: string | undefined; limit?: number | undefined; } | undefined, signal?: AbortSignal | undefined): Promise<{ branchId: number; page: { afterId: string; lastId: string; limit: number; totalCount: number; }; projectId: number; sinks: { allowedSignals?: ("logs" | "metrics" | "traces")[] | undefined; branchId: number; created: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; }; deleted?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; } | undefined; description: string; disabled?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; reason: string; } | undefined; name: string; projectId: number; sinkId: string; sourceId: string; table?: { mapping: { columns: { defaultValue?: string | undefined; name: string; path?: string | undefined; rawString?: boolean | undefined; template?: { content: string; language: "jsonnet"; } | undefined; type: "path" | "body" | "headers" | "template" | "uuid" | "datetime" | "ip"; }[]; }; tableId: string; type: "keboola"; } | undefined; type: "table"; version: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }; }[]; sourceId: string; }>`
26
+ - `api.stream.getSinks(branchId: string, sourceId: string, query?: { afterId?: string | undefined; limit?: number | undefined; } | undefined, signal?: AbortSignal | undefined): Promise<{ branchId: number; page: { afterId: string; lastId: string; limit: number; totalCount: number; }; projectId: number; sinks: { allowedSignals?: ("metrics" | "logs" | "traces")[] | undefined; branchId: number; created: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; }; deleted?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; } | undefined; description: string; disabled?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; reason: string; } | undefined; name: string; projectId: number; sinkId: string; sourceId: string; table?: { mapping: { columns: { defaultValue?: string | undefined; name: string; path?: string | undefined; rawString?: boolean | undefined; template?: { content: string; language: "jsonnet"; } | undefined; type: "path" | "body" | "headers" | "template" | "uuid" | "datetime" | "ip"; }[]; }; tableId: string; type: "keboola"; } | undefined; type: "table"; version: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }; }[]; sourceId: string; }>`
27
27
  - `api.stream.getSource(branchId: string, sourceId: string, signal?: AbortSignal | undefined): Promise<{ branchId: number; created: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; }; deleted?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; } | undefined; description: string; disabled?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; reason: string; } | undefined; http?: { url: string; } | undefined; name: string; otlp?: { baseUrl: string; secret: string; url: string; } | undefined; projectId: number; sourceId: string; type: "http" | "otlp"; version: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }; }>`
28
28
  - `api.stream.getSourceSettings(branchId: string, sourceId: string, signal?: AbortSignal | undefined): Promise<{ settings?: { defaultValue: unknown; description: string; key: string; overwritten: boolean; protected: boolean; type: "string" | "int" | "float" | "bool" | "[]string" | "[]int" | "[]float"; validation?: string | undefined; value: unknown; }[] | undefined; }>`
29
29
  - `api.stream.getSourceVersion(branchId: string, sourceId: string, versionNumber: number, signal?: AbortSignal | undefined): Promise<{ at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }>`
@@ -33,10 +33,10 @@ Part of the [`@keboola/api-client` surface index](../API-SURFACE.md).
33
33
  - `api.stream.rollbackSinkVersion(branchId: string, sourceId: string, sinkId: string, versionNumber: number, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
34
34
  - `api.stream.rollbackSourceVersion(branchId: string, sourceId: string, versionNumber: number, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
35
35
  - `api.stream.rotateSourceSecret(branchId: string, sourceId: string, signal?: AbortSignal | undefined): Promise<{ branchId: number; created: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; }; deleted?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; } | undefined; description: string; disabled?: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; reason: string; } | undefined; http?: { url: string; } | undefined; name: string; otlp?: { baseUrl: string; secret: string; url: string; } | undefined; projectId: number; sourceId: string; type: "http" | "otlp"; version: { at: string; by: { tokenDesc?: string | undefined; tokenId?: string | undefined; type: "user" | "system"; userId?: string | undefined; userName?: string | undefined; }; description: string; hash: string; number: number; }; }>`
36
- - `api.stream.testSource(branchId: string, sourceId: string, payload: Record<string, unknown>, query?: { signal?: "logs" | "metrics" | "traces" | undefined; } | undefined, signal?: AbortSignal | undefined): Promise<{ branchId: number; projectId: number; sourceId: string; tables: { rows: { columns: { name: string; value: string; }[]; }[]; sinkId: string; tableId: string; }[]; }>`
36
+ - `api.stream.testSource(branchId: string, sourceId: string, payload: Record<string, unknown>, query?: { signal?: "metrics" | "logs" | "traces" | undefined; } | undefined, signal?: AbortSignal | undefined): Promise<{ branchId: number; projectId: number; sourceId: string; tables: { rows: { columns: { name: string; value: string; }[]; }[]; sinkId: string; tableId: string; }[]; }>`
37
37
  - `api.stream.undeleteSink(branchId: string, sourceId: string, sinkId: string, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
38
38
  - `api.stream.undeleteSource(branchId: string, sourceId: string, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
39
- - `api.stream.updateSink(branchId: string, sourceId: string, sinkId: string, body: { allowedSignals?: ("logs" | "metrics" | "traces")[] | undefined; changeDescription?: string | undefined; description?: string | undefined; name?: string | undefined; table?: { mapping?: { columns: { defaultValue?: string | undefined; name: string; path?: string | undefined; rawString?: boolean | undefined; template?: { content: string; language: "jsonnet"; } | undefined; type: "path" | "body" | "headers" | "template" | "uuid" | "datetime" | "ip"; }[]; } | undefined; tableId?: string | undefined; type?: "keboola" | undefined; } | undefined; type?: "table" | undefined; }, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
39
+ - `api.stream.updateSink(branchId: string, sourceId: string, sinkId: string, body: { allowedSignals?: ("metrics" | "logs" | "traces")[] | undefined; changeDescription?: string | undefined; description?: string | undefined; name?: string | undefined; table?: { mapping?: { columns: { defaultValue?: string | undefined; name: string; path?: string | undefined; rawString?: boolean | undefined; template?: { content: string; language: "jsonnet"; } | undefined; type: "path" | "body" | "headers" | "template" | "uuid" | "datetime" | "ip"; }[]; } | undefined; tableId?: string | undefined; type?: "keboola" | undefined; } | undefined; type?: "table" | undefined; }, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
40
40
  - `api.stream.updateSinkSettings(branchId: string, sourceId: string, sinkId: string, body: { changeDescription?: string | undefined; settings?: { key: string; value?: unknown; }[] | undefined; }, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
41
41
  - `api.stream.updateSource(branchId: string, sourceId: string, body: { changeDescription?: string | undefined; description?: string | undefined; name?: string | undefined; type?: "http" | "otlp" | undefined; }, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
42
42
  - `api.stream.updateSourceSettings(branchId: string, sourceId: string, body: { changeDescription?: string | undefined; settings?: { key: string; value?: unknown; }[] | undefined; }, signal?: AbortSignal | undefined): Promise<{ createdAt: string; duration?: number | undefined; error?: string | undefined; finishedAt?: string | undefined; isFinished: boolean; outputs?: { branchId?: number | undefined; projectId?: number | undefined; sinkId?: string | undefined; sourceId?: string | undefined; url?: string | undefined; } | undefined; result?: string | undefined; status: "error" | "success" | "processing"; taskId: string; type: string; url: string; }>`
@@ -1,5 +0,0 @@
1
- import { M as ManagementClientAuthError } from './ManagementClientAuthError-B7mGrnGn.cjs';
2
-
3
- declare const isManagementClientAuthError: (error: unknown) => error is ManagementClientAuthError;
4
-
5
- export { isManagementClientAuthError as i };
@@ -1,5 +0,0 @@
1
- import { M as ManagementClientAuthError } from './ManagementClientAuthError-BMOhz4mx.js';
2
-
3
- declare const isManagementClientAuthError: (error: unknown) => error is ManagementClientAuthError;
4
-
5
- export { isManagementClientAuthError as i };
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/clients/auth/login/schemas.ts","../src/clients/auth/mfa/schemas.ts","../src/clients/auth/device/device.ts","../src/clients/auth/login/login.ts","../src/clients/auth/mfa/mfa.ts","../src/clients/auth/pat/pat.ts","../src/clients/auth/pkce/pkce.ts","../src/clients/auth/saml/saml.ts","../src/clients/auth/session/session.ts","../src/clients/auth/sudo/sudo.ts","../src/clients/auth/token/token.ts","../src/clients/auth/authClient.ts"],"names":["z2","email"],"mappings":"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","file":"chunk-4HJUQVXR.js","sourcesContent":["import * as z from 'zod';\n\nexport const loginInputSchema = z.object({\n email: z.email(),\n password: z.string(),\n});\n\nexport const oidcInputSchema = z.object({\n grantType: z.enum(['google', 'microsoft']),\n idToken: z.string(),\n});\n\nexport type LoginInput = z.infer<typeof loginInputSchema>;\nexport type OidcInput = z.infer<typeof oidcInputSchema>;\n\nconst userSchema = z.object({\n id: z.number(),\n email: z.string(),\n name: z.string(),\n});\n\n// Success shape. The backend omits `mfaRequired` here, so we inject a `false`\n// literal to make the outcome a discriminated union on `mfaRequired`.\nexport const loginSuccessSchema = z.object({\n mfaRequired: z.literal(false).default(false),\n accessToken: z.string(),\n refreshToken: z.string(),\n tokenType: z.string(),\n expiresIn: z.number(),\n sessionId: z.string(),\n user: userSchema,\n});\n\n// MFA-challenge shape. `mfaRequired` is always true here — it is the discriminant.\nexport const mfaChallengeSchema = z.object({\n mfaRequired: z.literal(true),\n mfaType: z.string(),\n mfaToken: z.string(),\n expiresIn: z.number(),\n allowedMethods: z.array(z.string()),\n webauthn: z.record(z.string(), z.unknown()).nullable(),\n});\n\nexport const loginResultSchema = z.union([loginSuccessSchema, mfaChallengeSchema]);\n\nexport type LoginResult = z.infer<typeof loginResultSchema>;\n","import * as z from 'zod';\n\nexport const mfaCodeInputSchema = z.object({\n mfaToken: z.string(),\n type: z.enum(['totp', 'recovery_code']),\n code: z.string(),\n});\n\nexport const mfaWebauthnInputSchema = z.object({\n mfaToken: z.string(),\n assertion: z.string(),\n});\n\nexport type MfaCodeInput = z.infer<typeof mfaCodeInputSchema>;\nexport type MfaWebauthnInput = z.infer<typeof mfaWebauthnInputSchema>;\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type {\n ApproveDeviceAuthorizationBody,\n CreateDeviceAuthorizationBody,\n GetDeviceAuthorizationTokenBody,\n} from './types';\n\nexport const createDevice = (client: AuthOpenApiFetchClient) => {\n const create = async (body: CreateDeviceAuthorizationBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/device', { body }, { signal });\n return data;\n };\n\n const approve = async (body: ApproveDeviceAuthorizationBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/device/approve', { body }, { signal });\n return data;\n };\n\n const getToken = async (body: GetDeviceAuthorizationTokenBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/device/token', { body }, { signal });\n return data;\n };\n\n return { create, approve, getToken };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { LoginInput, OidcInput } from './schemas';\nimport { loginInputSchema, loginResultSchema, oidcInputSchema } from './schemas';\nimport type { LoginBody } from './types';\n\nexport const createLogin = (client: AuthOpenApiFetchClient) => {\n const _login = async (body: LoginBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/login', { body }, { signal });\n return data;\n };\n\n const withPassword = async (input: LoginInput, signal?: AbortSignal) => {\n const { email, password } = loginInputSchema.parse(input);\n // Cast: omit fields outside the grant — the backend rejects null.\n const data = await _login({ grantType: 'password', email, password } as LoginBody, signal);\n // Validate against our own schema — the generated response type is unreliable,\n // and this narrows the outcome to a discriminated union on `mfaRequired`.\n return loginResultSchema.parse(data);\n };\n\n const withOidc = async (input: OidcInput, signal?: AbortSignal) => {\n const { grantType, idToken } = oidcInputSchema.parse(input);\n // Cast: omit fields outside the grant — the backend rejects null.\n const data = await _login({ grantType, idToken } as LoginBody, signal);\n return loginResultSchema.parse(data);\n };\n\n return { withPassword, withOidc };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { MfaCodeInput, MfaWebauthnInput } from './schemas';\nimport { mfaCodeInputSchema, mfaWebauthnInputSchema } from './schemas';\nimport type { VerifyMfaBody } from './types';\n\nexport const createMfa = (client: AuthOpenApiFetchClient) => {\n const _verify = async (body: VerifyMfaBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/mfa', { body }, { signal });\n return data;\n };\n\n const verifyWithCode = async (input: MfaCodeInput, signal?: AbortSignal) => {\n const { mfaToken, type, code } = mfaCodeInputSchema.parse(input);\n // Cast: omit fields outside the type — the backend rejects null.\n return _verify({ mfaToken, type, code } as VerifyMfaBody, signal);\n };\n\n const verifyWithWebauthn = async (input: MfaWebauthnInput, signal?: AbortSignal) => {\n const { mfaToken, assertion } = mfaWebauthnInputSchema.parse(input);\n // Cast: omit fields outside the type — the backend rejects null.\n return _verify({ mfaToken, type: 'webauthn', assertion } as VerifyMfaBody, signal);\n };\n\n const regenerateRecoveryCodes = async (signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/mfa/recovery-codes', {}, { signal });\n return data;\n };\n\n return { verifyWithCode, verifyWithWebauthn, regenerateRecoveryCodes };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { CreatePatBody, ExchangePatBody, RevokePatPath } from './types';\n\nexport const createPat = (client: AuthOpenApiFetchClient) => {\n const getAll = async (signal?: AbortSignal) => {\n const { data } = await client.get('/v1/auth/pat', {}, { signal });\n return data;\n };\n\n const create = async (body: CreatePatBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/pat', { body }, { signal });\n return data;\n };\n\n const exchange = async (body?: ExchangePatBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/pat/exchange', { body }, { signal });\n return data;\n };\n\n const revoke = async (id: RevokePatPath['id'], signal?: AbortSignal) => {\n await client.delete('/v1/auth/pat/{id}', { path: { id } }, { signal });\n };\n\n return { create, exchange, revoke, getAll };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { GetPkceTokenBody } from './types';\n\nexport const createPkce = (client: AuthOpenApiFetchClient) => {\n const getToken = async (body: GetPkceTokenBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/pkce/token', { body }, { signal });\n return data;\n };\n\n return { getToken };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { AssertSamlBody, InitiateSamlBody } from './types';\n\nexport const createSaml = (client: AuthOpenApiFetchClient) => {\n const assert = async (body: AssertSamlBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/saml/assert', { body }, { signal });\n return data;\n };\n\n const initiate = async (body?: InitiateSamlBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/saml/initiate', { body }, { signal });\n return data;\n };\n\n return { assert, initiate };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { RevokeSessionPath } from './types';\n\nexport const createSession = (client: AuthOpenApiFetchClient) => {\n const getAll = async (signal?: AbortSignal) => {\n const { data } = await client.get('/v1/auth/sessions', {}, { signal });\n return data;\n };\n\n const revoke = async (sessionId: RevokeSessionPath['sessionId'], signal?: AbortSignal) => {\n await client.delete('/v1/auth/sessions/{sessionId}', { path: { sessionId } }, { signal });\n };\n\n const revokeAll = async (signal?: AbortSignal) => {\n await client.delete('/v1/auth/sessions', {}, { signal });\n };\n\n return { getAll, revoke, revokeAll };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { SudoBody } from './types';\n\nexport const createSudo = (client: AuthOpenApiFetchClient) => {\n const verify = async (body: SudoBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/sudo', { body }, { signal });\n return data;\n };\n\n const challenge = async (signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/sudo/challenge', {}, { signal });\n return data;\n };\n\n return { verify, challenge };\n};\n","import { HttpHeader } from '../../../fetchClient';\nimport type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { RevokeTokenBody } from './types';\n\nexport const createToken = (client: AuthOpenApiFetchClient) => {\n const refresh = async (refreshToken: string, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/v1/auth/token/refresh',\n { body: { refreshToken } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Introspects an authenticated session token.\n *\n * @param token - Optional token to introspect (`Authorization: Bearer`); a middleware-set header wins.\n */\n const introspect = async (token?: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/v1/auth/token/introspect',\n {},\n { signal, headers: token ? { [HttpHeader.AUTHORIZATION]: `Bearer ${token}` } : undefined },\n );\n return data;\n };\n\n const revoke = async (body: RevokeTokenBody, signal?: AbortSignal) => {\n await client.post('/v1/auth/token/revoke', { body }, { signal });\n };\n\n return { refresh, introspect, revoke };\n};\n","import { createOpenapiFetchClient } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createDevice } from './device';\nimport { createLogin } from './login';\nimport { createMfa } from './mfa';\nimport { createPat } from './pat';\nimport { createPkce } from './pkce';\nimport { createSaml } from './saml';\nimport { createSession } from './session';\nimport { createSudo } from './sudo';\nimport { createToken } from './token';\n\nexport type AuthClientInitOptions = Omit<ClientInitOptions, 'auth'>;\n\nexport type AuthOpenApiFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createAuthClient = ({ baseUrl, middlewares }: AuthClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({ baseUrl, middlewares });\n\n return {\n login: createLogin(client),\n mfa: createMfa(client),\n saml: createSaml(client),\n pat: createPat(client),\n device: createDevice(client),\n sudo: createSudo(client),\n pkce: createPkce(client),\n session: createSession(client),\n token: createToken(client),\n };\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/errors/ServiceUnavailableError.ts","../src/clients/storage/configurationVersions/configurationVersions.ts","../src/clients/storage/mergeRequests/mergeRequests.ts","../src/clients/storage/branches/mappers.ts","../src/clients/storage/branches/branches.ts","../src/clients/storage/buckets/listingConversion.ts","../src/clients/storage/buckets/buckets.ts","../src/clients/storage/columns/columns.ts","../src/utils/series.ts","../src/clients/storage/componentsAndConfigurations/componentsAndConfigurations.ts","../src/clients/storage/events/events.ts","../src/clients/storage/files/files.ts","../src/clients/storage/jobs/jobs.ts","../src/clients/storage/refreshTokenMiddleware.ts","../src/clients/storage/search/search.ts","../src/clients/storage/stats/stats.ts","../src/clients/storage/tables/tables.ts","../src/clients/storage/tokens/tokens.ts","../src/clients/storage/triggers/triggers.ts","../src/clients/storage/workspaces/workspaces.ts","../src/clients/storage/storageClient.ts"],"names":["isApiError","concurrent","KeboolaHttpHeader","createAuthHeaders","createGenericFetchClient","createOpenapiFetchClient"],"mappings":"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","file":"chunk-4JCVPUXF.cjs","sourcesContent":["export class ServiceUnavailableError extends Error {\n constructor(serviceId: string, path: string[], clientName: string) {\n super(\n `Service \"${serviceId}\" is not available in this stack. Caused by: ${clientName}.${path.join('.')}()`,\n );\n this.name = 'ServiceUnavailableError';\n Object.setPrototypeOf(this, ServiceUnavailableError.prototype);\n }\n}\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type {\n ConfigurationVersion,\n ConfigurationVersionDetail,\n ConfigurationVersionDetailPath,\n ConfigurationVersionPath,\n} from './types';\n\nexport const createConfigurationVersions = (client: GenericFetchClient) => {\n const listConfigurationVersions = async (\n { branchId, componentId, configId }: ConfigurationVersionPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<ConfigurationVersion[], ConfigurationVersionPath, void, void>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/versions',\n { path: { branchId, componentId, configId } },\n { signal },\n );\n return data;\n };\n\n const getConfigurationVersion = async (\n { branchId, componentId, configId, versionId }: ConfigurationVersionDetailPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<\n ConfigurationVersionDetail,\n ConfigurationVersionDetailPath,\n void,\n void\n >(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/versions/{versionId}',\n { path: { branchId, componentId, configId, versionId } },\n { signal },\n );\n return data;\n };\n\n return {\n listConfigurationVersions,\n getConfigurationVersion,\n };\n};\n","import type { StorageOpenApiFetchClient } from '../storageClient';\n\nimport type {\n CreateMergeRequestParams,\n MergeRequestDetail,\n MergeRequestDetailWithActivityLog,\n UpdateMergeRequestParams,\n} from './types';\n\nexport const createMergeRequests = (client: StorageOpenApiFetchClient) => {\n const getMergeRequests = async (signal?: AbortSignal) => {\n const { data } = await client.get('/v2/storage/merge-request', {}, { signal });\n return data;\n };\n\n const getMergeRequest = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/v2/storage/merge-request/{id}',\n { path: { id } },\n { signal },\n );\n // Schema types changeLog as Record<string, never>; cast to the real shape.\n return data as MergeRequestDetail;\n };\n\n const getMergeRequestWithActivityLog = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/v2/storage/merge-request/{id}',\n { path: { id }, query: { include: 'activityLog' } },\n { signal },\n );\n return data as MergeRequestDetailWithActivityLog;\n };\n\n const createMergeRequest = async (params: CreateMergeRequestParams) => {\n const { data } = await client.post('/v2/storage/merge-request', { body: params });\n return data;\n };\n\n const updateMergeRequest = async (id: number, params: UpdateMergeRequestParams) => {\n const { data } = await client.put('/v2/storage/merge-request/{id}', {\n path: { id },\n body: params,\n });\n return data;\n };\n\n const requestReview = async (id: number) => {\n const { data } = await client.put('/v2/storage/merge-request/{id}/request-review', {\n path: { id },\n });\n return data;\n };\n\n const approveMergeRequest = async (id: number) => {\n const { data } = await client.put('/v2/storage/merge-request/{id}/approve', {\n path: { id },\n });\n return data;\n };\n\n const requestChangesMergeRequest = async (id: number, reason?: string) => {\n const { data } = await client.put('/v2/storage/merge-request/{id}/request-changes', {\n path: { id },\n body: reason ? { reason } : undefined,\n });\n return data;\n };\n\n /**\n * Merges an approved merge request. The endpoint is async — it returns the created merge job.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/merge-requests/PUT/v2/storage/merge-request/{id}/merge\n */\n const mergeMergeRequest = async (id: number) => {\n const { data } = await client.put('/v2/storage/merge-request/{id}/merge', {\n path: { id },\n });\n return data;\n };\n\n const getMergeRequestConflicts = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/v2/storage/merge-request/{id}/conflicts',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n return {\n getMergeRequests,\n getMergeRequest,\n getMergeRequestWithActivityLog,\n createMergeRequest,\n updateMergeRequest,\n requestReview,\n approveMergeRequest,\n requestChangesMergeRequest,\n mergeMergeRequest,\n getMergeRequestConflicts,\n };\n};\n","import type { BranchMetadata, BranchMetadataRaw } from './types';\n\nexport const mapBranchMetadata = (data: BranchMetadataRaw): BranchMetadata => ({\n ...data,\n timestamp: new Date(data.timestamp),\n});\n","import type { Job } from '../jobs/types';\nimport type { GenericFetchClient } from '../storageClient';\n\nimport { mapBranchMetadata } from './mappers';\nimport type {\n BranchMetadataEntry,\n BranchMetadataRaw,\n CreateDevBranchJobBody,\n DevBranch,\n DevBranchPath,\n} from './types';\n\nexport const createBranches = (client: GenericFetchClient) => {\n const getDevBranches = async (signal?: AbortSignal) => {\n const { data } = await client.get<DevBranch[]>('/v2/storage/dev-branches', {}, { signal });\n return data;\n };\n\n const createDevBranchJob = async (body: CreateDevBranchJobBody) => {\n const { data } = await client.post<Job<'devBranchCreate'>, void, void, CreateDevBranchJobBody>(\n '/v2/storage/dev-branches',\n {\n body,\n },\n );\n return data;\n };\n\n const updateDevBranch = async ({\n id,\n name,\n description,\n }: CreateDevBranchJobBody & DevBranchPath) => {\n const { data } = await client.put<DevBranch, DevBranchPath, void, CreateDevBranchJobBody>(\n '/v2/storage/dev-branches/{id}',\n {\n path: { id },\n body: {\n name,\n description,\n },\n },\n );\n return data;\n };\n\n const deleteDevBranchJob = async (id: number) => {\n const { data } = await client.delete<Job<'devBranchDelete'>, DevBranchPath>(\n '/v2/storage/dev-branches/{id}',\n {\n path: { id },\n },\n );\n\n return data;\n };\n\n const getDevBranchMetadata = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.get<BranchMetadataRaw[], { id: string }>(\n '/v2/storage/branch/{id}/metadata',\n { path: { id } },\n { signal },\n );\n\n return data.map(mapBranchMetadata);\n };\n\n const saveDevBranchMetadata = async (\n id: string,\n metadata: BranchMetadataEntry[],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n BranchMetadataRaw[],\n { id: string },\n void,\n { metadata: BranchMetadataEntry[] }\n >('/v2/storage/branch/{id}/metadata', { path: { id }, body: { metadata } }, { signal });\n\n return data.map(mapBranchMetadata);\n };\n\n const deleteDevBranchMetadata = async (id: string, metadataId: string, signal?: AbortSignal) => {\n await client.delete<void, { id: string; metadataId: string }>(\n '/v2/storage/branch/{id}/metadata/{metadataId}',\n { path: { id, metadataId } },\n { signal },\n );\n };\n\n return {\n getDevBranches,\n createDevBranchJob,\n updateDevBranch,\n deleteDevBranchJob,\n getDevBranchMetadata,\n saveDevBranchMetadata,\n deleteDevBranchMetadata,\n };\n};\n","import type { BucketListing, RawBucketListingResponse, Subscriber } from './types';\n\nexport const toBackendSubscribers = (subscribers: Subscriber[]): string[] =>\n subscribers.map((s) => `${s.type}:${s.email}`);\n\n// Forward-compatible: silently skip rows with an unknown prefix or a missing\n// email rather than throwing — a single bad row shouldn't break the grid.\nexport const fromBackendSubscribers = (raw: string[]): Subscriber[] => {\n const result: Subscriber[] = [];\n for (const entry of raw) {\n const colon = entry.indexOf(':');\n if (colon === -1) continue;\n const prefix = entry.slice(0, colon);\n const email = entry.slice(colon + 1);\n if (prefix !== 'user' && prefix !== 'group') continue;\n if (email.length === 0) continue;\n result.push({ type: prefix, email });\n }\n return result;\n};\n\nexport const toBucketListing = (\n raw: RawBucketListingResponse,\n bucketId: string,\n): BucketListing => ({\n bucketId,\n name: raw.name,\n description: raw.description ?? null,\n listingId: raw.bigquery.listingId,\n subscribers: fromBackendSubscribers(raw.bigquery.subscribers),\n createdAt: raw.createdAt,\n});\n","import { isApiError } from '../../../fetchClient';\nimport type { Job } from '../jobs/types';\nimport type { GenericFetchClient } from '../storageClient';\n\nimport { toBackendSubscribers, toBucketListing } from './listingConversion';\nimport type {\n Bucket,\n BucketDetail,\n BucketListing,\n BucketMetadata,\n BucketOwner,\n BucketRegistrationGuide,\n BucketRegistrationGuideQuery,\n CreateBucketBody,\n CreateBucketListingInput,\n CreateScheduledRefreshBody,\n CreateScheduledRefreshPath,\n GetBucketsQuery,\n RawBucketListingResponse,\n RawBucketListingRow,\n RefreshExternalBucketQuery,\n RegisterBucketBody,\n SaveBucketMetadataBody,\n ScheduledTask,\n ShareBucketToProjectsBody,\n ShareBucketToUsersBody,\n SharedBuckets,\n UpdateBucketBody,\n UpdateBucketListingInput,\n UpdateBucketOwnerBody,\n} from './types';\n\n// PATCH /buckets/{id}/listing uses `exposureName` / `exposureDescription`\n// while POST uses `listingName` / `listingDescription` (see createListing).\ntype UpdateBucketListingRequestBody = {\n exposureName?: string;\n exposureDescription?: string | null;\n bigquery?: { subscribers: string[] };\n};\n\nexport const createBuckets = (client: GenericFetchClient) => {\n const getBuckets = async (\n branchId: string,\n query: GetBucketsQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Bucket[], { branchId: string }, GetBucketsQuery>(\n `/v2/storage/branch/{branchId}/buckets`,\n { path: { branchId }, query },\n { signal, queryArrayFormat: 'comma' },\n );\n\n return data;\n };\n\n const getBucket = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.get<BucketDetail, { id: string }>(\n `/v2/storage/buckets/{id}`,\n { path: { id } },\n { signal },\n );\n\n return data;\n };\n\n const createBucket = async (body: CreateBucketBody) => {\n const { data } = await client.post<BucketDetail, void, never, CreateBucketBody>(\n `/v2/storage/buckets`,\n {\n body,\n },\n );\n\n return data;\n };\n\n const updateBucket = async (id: string, body: UpdateBucketBody) => {\n const { data } = await client.put<BucketDetail, { id: string }, never, UpdateBucketBody>(\n `/v2/storage/buckets/{id}`,\n { path: { id }, body },\n );\n\n return data;\n };\n\n const deleteBucket = async (id: string) => {\n await client.delete<void, { id: string }>(`/v2/storage/buckets/{id}`, { path: { id } });\n };\n\n /**\n * Deletes a bucket asynchronously and returns a job to poll.\n * Required on GCP stacks where synchronous bucket deletion is not supported.\n *\n * `force` deletes all tables inside the bucket before removing it.\n * The parameter is supported by the API but not reflected in the generated OpenAPI schema.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets\n */\n const deleteBucketAsync = async (id: string, options: { force?: boolean } = {}) => {\n const { data } = await client.delete<\n Job<'bucketDelete'>,\n { id: string },\n { async: true; force?: boolean }\n >(`/v2/storage/buckets/{id}`, { path: { id }, query: { async: true, ...options } });\n return data;\n };\n\n const createScheduledRefresh = async (\n input: CreateScheduledRefreshPath & CreateScheduledRefreshBody,\n ) => {\n const { branchId, bucketId, cronExpression } = input;\n const { data } = await client.post<\n ScheduledTask,\n CreateScheduledRefreshPath,\n never,\n CreateScheduledRefreshBody\n >(`/v2/storage/branch/{branchId}/buckets/{bucketId}/scheduled-tasks/refresh`, {\n path: { branchId, bucketId },\n body: { cronExpression },\n });\n\n return data;\n };\n\n const deleteScheduledTask = async (taskId: string) => {\n await client.delete<void, { taskId: string }>(`/v2/storage/scheduled-tasks/{taskId}`, {\n path: { taskId },\n });\n };\n\n const getListing = async (\n bucketId: string,\n signal?: AbortSignal,\n ): Promise<BucketListing | null> => {\n try {\n const { data } = await client.get<RawBucketListingResponse, { bucketId: string }>(\n `/v2/storage/buckets/{bucketId}/listing`,\n { path: { bucketId } },\n { signal },\n );\n return toBucketListing(data, bucketId);\n } catch (error) {\n if (isApiError(error) && error.response.status === 404) return null;\n throw error;\n }\n };\n\n const createListing = async (\n bucketId: string,\n input: CreateBucketListingInput,\n signal?: AbortSignal,\n ): Promise<Job<'bucketListingCreate'>> => {\n const { data } = await client.post<\n Job<'bucketListingCreate'>,\n { bucketId: string },\n never,\n {\n listingName: string;\n listingDescription: string | null;\n bigquery: { listingId: string; subscribers: string[] };\n }\n >(\n `/v2/storage/buckets/{bucketId}/listing`,\n {\n path: { bucketId },\n body: {\n listingName: input.name,\n listingDescription: input.description?.trim() || null,\n bigquery: {\n listingId: input.listingId,\n subscribers: toBackendSubscribers(input.subscribers),\n },\n },\n },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Update a bucket exposure. At least one of `name`, `description`, or\n * `subscribers` must be provided — the SDK throws synchronously if all three\n * are absent, since the backend would otherwise no-op a PATCH with an empty\n * body and we'd return a job that's already in `success` with no actual\n * change. Callers should gate the call against the form's \"dirty\" state.\n */\n const updateListing = async (\n bucketId: string,\n input: UpdateBucketListingInput,\n signal?: AbortSignal,\n ): Promise<Job<'bucketListingUpdate'>> => {\n // PATCH uses `exposureName` / `exposureDescription`; POST uses\n // `listingName` / `listingDescription`. Do not \"normalize\" without\n // coordinating with the bucket-listing backend owner.\n const body: UpdateBucketListingRequestBody = {};\n if (input.name !== undefined) body.exposureName = input.name;\n if (input.description !== undefined) {\n body.exposureDescription = input.description?.trim() || null;\n }\n if (input.subscribers !== undefined) {\n body.bigquery = { subscribers: toBackendSubscribers(input.subscribers) };\n }\n if (Object.keys(body).length === 0) {\n throw new Error('updateListing requires at least one field');\n }\n\n const { data } = await client.patch<\n Job<'bucketListingUpdate'>,\n { bucketId: string },\n never,\n UpdateBucketListingRequestBody\n >(`/v2/storage/buckets/{bucketId}/listing`, { path: { bucketId }, body }, { signal });\n\n return data;\n };\n\n const deleteListing = async (\n bucketId: string,\n signal?: AbortSignal,\n ): Promise<Job<'bucketListingDelete'>> => {\n const { data } = await client.delete<Job<'bucketListingDelete'>, { bucketId: string }>(\n `/v2/storage/buckets/{bucketId}/listing`,\n { path: { bucketId } },\n { signal },\n );\n\n return data;\n };\n\n const listListings = async (signal?: AbortSignal): Promise<BucketListing[]> => {\n const { data } = await client.get<RawBucketListingRow[]>(\n `/v2/storage/listings`,\n {},\n { signal },\n );\n\n return data.map((row) => toBucketListing(row, row.bucketId));\n };\n\n /**\n * Shares a bucket with everyone in the organization. Async — returns a job to poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/buckets/{bucketId}/share-organization\n */\n const shareBucketToOrganization = async (bucketId: string, signal?: AbortSignal) => {\n const { data } = await client.post<\n Job<'bucketShareToOrganization'>,\n { bucketId: string },\n { async: true }\n >(\n `/v2/storage/buckets/{bucketId}/share-organization`,\n { path: { bucketId }, query: { async: true } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Shares a bucket with every project in the organization. Async — returns a job to poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/buckets/{bucketId}/share-organization-project\n */\n const shareBucketToOrganizationProject = async (bucketId: string, signal?: AbortSignal) => {\n const { data } = await client.post<\n Job<'bucketShareToOrganizationProject'>,\n { bucketId: string },\n { async: true }\n >(\n `/v2/storage/buckets/{bucketId}/share-organization-project`,\n { path: { bucketId }, query: { async: true } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Shares a bucket with specific projects. Async — returns a job to poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/POST/v2/storage/buckets/{bucketId}/share-to-projects\n */\n const shareBucketToProjects = async (\n bucketId: string,\n body: ShareBucketToProjectsBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n Job<'bucketShareToProjects'>,\n { bucketId: string },\n { async: true },\n ShareBucketToProjectsBody\n >(\n `/v2/storage/buckets/{bucketId}/share-to-projects`,\n { path: { bucketId }, query: { async: true }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Shares a bucket with specific users (by ID or e-mail). Async — returns a job to poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/POST/v2/storage/buckets/{bucketId}/share-to-users\n */\n const shareBucketToUsers = async (\n bucketId: string,\n body: ShareBucketToUsersBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n Job<'bucketShareToAdmins'>,\n { bucketId: string },\n { async: true },\n ShareBucketToUsersBody\n >(\n `/v2/storage/buckets/{bucketId}/share-to-users`,\n { path: { bucketId }, query: { async: true }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Stops sharing a bucket. Async — returns a job to poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/DELETE/v2/storage/buckets/{bucketId}/share\n */\n const unshareBucket = async (bucketId: string, signal?: AbortSignal) => {\n const { data } = await client.delete<\n Job<'bucketRemoveShare'>,\n { bucketId: string },\n { async: true }\n >(\n `/v2/storage/buckets/{bucketId}/share`,\n { path: { bucketId }, query: { async: true } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Force-unlinks a bucket from a linked project. Async — returns a job to poll.\n * The path is absent from the generated OpenAPI schema, so the call is hand-typed.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets\n */\n const forceUnlinkBucket = async (\n bucketId: string,\n linkedProjectId: string,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.delete<\n Job<'bucketForceUnlink'>,\n { bucketId: string; linkedProjectId: string },\n { async: true }\n >(\n `/v2/storage/buckets/{bucketId}/links/{linkedProjectId}`,\n { path: { bucketId, linkedProjectId }, query: { async: true } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Returns the owner of a bucket.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/GET/v2/storage/buckets/{bucketId}/owner\n */\n const getBucketOwner = async (bucketId: string, signal?: AbortSignal) => {\n const { data } = await client.get<BucketOwner, { bucketId: string }>(\n `/v2/storage/buckets/{bucketId}/owner`,\n { path: { bucketId } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Changes the owner of a bucket (by `id` or `email`).\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/buckets/{bucketId}/owner\n */\n const updateBucketOwner = async (\n bucketId: string,\n body: UpdateBucketOwnerBody,\n signal?: AbortSignal,\n ) => {\n await client.post<void, { bucketId: string }, never, UpdateBucketOwnerBody>(\n `/v2/storage/buckets/{bucketId}/owner`,\n { path: { bucketId }, body },\n { signal },\n );\n };\n\n /**\n * Refreshes an external bucket's table metadata. Async — returns a job to poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/PUT/v2/storage/buckets/{bucketId}/refresh\n */\n const refreshExternalBucket = async (\n bucketId: string,\n query: RefreshExternalBucketQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.put<\n Job<'bucketRefresh'>,\n { bucketId: string },\n RefreshExternalBucketQuery\n >(`/v2/storage/buckets/{bucketId}/refresh`, { path: { bucketId }, query }, { signal });\n\n return data;\n };\n\n /**\n * Registers an external bucket. Async — returns a job to poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/POST/v2/storage/buckets/register\n */\n const registerBucket = async (body: RegisterBucketBody, signal?: AbortSignal) => {\n const { data } = await client.post<\n Job<'bucketRegister'>,\n void,\n { async: true },\n RegisterBucketBody\n >(`/v2/storage/buckets/register`, { query: { async: true }, body }, { signal });\n\n return data;\n };\n\n /**\n * Returns a markdown guide for registering an external bucket.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/GET/v2/storage/buckets/register-guide\n */\n const getBucketRegistrationGuide = async (\n query: BucketRegistrationGuideQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<BucketRegistrationGuide, void, BucketRegistrationGuideQuery>(\n `/v2/storage/buckets/register-guide`,\n { query },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Lists buckets shared with the current project.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/shared-buckets/GET/v2/storage/shared-buckets\n */\n const sharedBuckets = async (signal?: AbortSignal) => {\n const { data } = await client.get<SharedBuckets>(`/v2/storage/shared-buckets`, {}, { signal });\n\n return data;\n };\n\n /**\n * Adds or updates metadata on a bucket.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/buckets/{bucketId}/metadata\n */\n const saveBucketMetadata = async (\n bucketId: string,\n body: SaveBucketMetadataBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n BucketMetadata,\n { bucketId: string },\n never,\n SaveBucketMetadataBody\n >(`/v2/storage/buckets/{bucketId}/metadata`, { path: { bucketId }, body }, { signal });\n\n return data;\n };\n\n /**\n * Deletes a single metadata entry from a bucket.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/DELETE/v2/storage/buckets/{bucketId}/metadata/{metadataId}\n */\n const deleteBucketMetadata = async (\n bucketId: string,\n metadataId: string,\n signal?: AbortSignal,\n ) => {\n await client.delete<void, { bucketId: string; metadataId: string }>(\n `/v2/storage/buckets/{bucketId}/metadata/{metadataId}`,\n { path: { bucketId, metadataId } },\n { signal },\n );\n };\n\n return {\n getBuckets,\n getBucket,\n createBucket,\n updateBucket,\n deleteBucket,\n deleteBucketAsync,\n createScheduledRefresh,\n deleteScheduledTask,\n getListing,\n createListing,\n updateListing,\n deleteListing,\n listListings,\n shareBucketToOrganization,\n shareBucketToOrganizationProject,\n shareBucketToProjects,\n shareBucketToUsers,\n unshareBucket,\n forceUnlinkBucket,\n getBucketOwner,\n updateBucketOwner,\n refreshExternalBucket,\n registerBucket,\n getBucketRegistrationGuide,\n sharedBuckets,\n saveBucketMetadata,\n deleteBucketMetadata,\n };\n};\n","import type { Job } from '../jobs/types';\nimport type { GenericFetchClient } from '../storageClient';\nimport type { Metadata, SaveMetadataBody } from '../tables/types';\n\nimport type {\n AddTableColumnBody,\n CreateTablePrimaryKeyBody,\n DeleteTableColumnQuery,\n} from './types';\n\nexport const createColumns = (client: GenericFetchClient) => {\n /**\n * Adds a column to a table. Async — returns a job.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/columns/POST/v2/storage/tables/{id}/columns\n */\n const addTableColumn = async (\n tableId: string,\n body: AddTableColumnBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n Job<'tableColumnAdd'>,\n { id: string },\n never,\n AddTableColumnBody\n >('/v2/storage/tables/{id}/columns', { path: { id: tableId }, body }, { signal });\n\n return data;\n };\n\n /**\n * Drops a column from a table. Async — returns a job.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/columns\n */\n const deleteTableColumn = async (\n tableId: string,\n columnName: string,\n query?: DeleteTableColumnQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.delete<\n Job<'tableColumnDelete'>,\n { id: string; column: string },\n DeleteTableColumnQuery\n >(\n '/v2/storage/tables/{id}/columns/{column}',\n { path: { id: tableId, column: columnName }, query },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Sets the primary key of a table. Async — returns a job.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables\n */\n const createTablePrimaryKey = async (\n tableId: string,\n body: CreateTablePrimaryKeyBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n Job<'tablePrimaryKeyAdd'>,\n { id: string },\n never,\n CreateTablePrimaryKeyBody\n >('/v2/storage/tables/{id}/primary-key', { path: { id: tableId }, body }, { signal });\n\n return data;\n };\n\n /**\n * Removes the primary key of a table. Async — returns a job.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables\n */\n const removeTablePrimaryKey = async (tableId: string, signal?: AbortSignal) => {\n const { data } = await client.delete<Job<'tablePrimaryKeyDelete'>, { id: string }>(\n '/v2/storage/tables/{id}/primary-key',\n { path: { id: tableId } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Adds or updates metadata on a column.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/columns/POST/v2/storage/columns/{id}/metadata\n */\n const saveColumnMetadata = async (\n columnId: string,\n body: SaveMetadataBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<Metadata[], { id: string }, never, SaveMetadataBody>(\n '/v2/storage/columns/{id}/metadata',\n { path: { id: columnId }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Deletes a single metadata entry from a column.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/columns/DELETE/v2/storage/columns/{id}/metadata/{metadataId}\n */\n const deleteColumnMetadata = async (\n columnId: string,\n metadataId: string,\n signal?: AbortSignal,\n ) => {\n await client.delete<void, { id: string; metadataId: string }>(\n '/v2/storage/columns/{id}/metadata/{metadataId}',\n { path: { id: columnId, metadataId } },\n { signal },\n );\n };\n\n return {\n addTableColumn,\n deleteTableColumn,\n createTablePrimaryKey,\n removeTablePrimaryKey,\n saveColumnMetadata,\n deleteColumnMetadata,\n };\n};\n","import type { ConcurrentOptions } from './concurrent';\nimport { concurrent } from './concurrent';\n\n/**\n * Executes an asynchronous callback function on an array of items in series (one at a time).\n * It behaves similarly to Promise.all(), failing on the first rejected promise.\n * The order of the results matches the order of the promises.\n */\nexport const series = async <T, R>(\n options: Omit<ConcurrentOptions<T, R>, 'concurrency'>,\n): Promise<R[]> =>\n concurrent({\n ...options,\n concurrency: 1,\n });\n","import type { MiddlewareFn } from '../../../utils';\nimport { concurrent, series } from '../../../utils';\nimport type { Job } from '../jobs/types';\nimport type { GenericFetchClient } from '../storageClient';\nimport type { Component, PartialKey, SearchComponentConfiguration, Workspace } from '../types';\n\nimport type {\n ComponentConfig,\n ConfigType,\n ConfigurationDiff,\n ConfigurationDiffPath,\n ConfigurationPath,\n ConfigurationRowDiff,\n ConfigurationRowDiffPath,\n CreateConfigurationBody,\n CreateConfigurationInput,\n CreateConfigurationRowBody,\n CreateConfigurationRowInput,\n CreateConfigurationRowPath,\n CreateConfigurationRowsInput,\n CreateConfigurationWorkspaceBody,\n CreateConfigurationWorkspaceQuery,\n DeleteConfigurationRowBody,\n DeleteConfigurationRowInput,\n DeleteConfigurationRowPath,\n DeleteConfigurationRowsInput,\n GetComponentPath,\n GetComponentsPath,\n GetComponentsQuery,\n GetConfigurationsPath,\n GetSearchComponentConfigurationsPath,\n RebaseConfigurationBody,\n RebaseConfigurationInput,\n RebaseConfigurationPath,\n Row,\n SearchComponentConfigurationsQuery,\n UpdateConfigurationInput,\n UpdateConfigurationRequestBody,\n} from './types';\n\nexport const createComponentsAndConfigurations = (client: GenericFetchClient) => {\n const getComponent = async (\n { componentId, branchId = 'default' }: GetComponentPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Component, GetComponentPath, void, void>(\n '/v2/storage/branch/{branchId}/components/{componentId}',\n { path: { componentId, branchId } },\n { signal },\n );\n return data;\n };\n\n const getComponents = async (\n { branchId = 'default', ...query }: GetComponentsPath & GetComponentsQuery = {},\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Component[], GetComponentsPath, GetComponentsQuery, void>(\n '/v2/storage/branch/{branchId}/components',\n { path: { branchId }, query },\n { signal, queryArrayFormat: 'comma' },\n );\n return data;\n };\n\n const getConfiguration = async <T extends ConfigType = 'unknown'>(\n { componentId, configId, branchId = 'default' }: ConfigurationPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<ComponentConfig<T>, Required<ConfigurationPath>>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}',\n { path: { componentId, configId, branchId } },\n { signal },\n );\n\n return data;\n };\n\n const getConfigurationDiff = async (\n { componentId, configId, branchId }: ConfigurationDiffPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<ConfigurationDiff, ConfigurationDiffPath>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/diff',\n { path: { componentId, configId, branchId } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Rebase a dev-branch configuration onto a default-branch version, carrying\n * the user's resolved values (the 3-way merge result) as the new head. After\n * a successful rebase the configuration has no outstanding merge conflict with\n * the default branch.\n *\n * Phase 1: config body only. Rows are reset to the target default version —\n * dev-branch row edits are not preserved yet (row reconciliation is a deferred\n * follow-up).\n */\n const rebaseConfiguration = async ({\n branchId,\n componentId,\n configId,\n ...body\n }: RebaseConfigurationInput) => {\n const { data } = await client.post<\n ComponentConfig,\n RebaseConfigurationPath,\n void,\n RebaseConfigurationBody\n >('/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/rebase', {\n path: { branchId, componentId, configId },\n body,\n });\n\n return data;\n };\n\n const getConfigurationRowDiff = async (\n { componentId, configId, rowId, branchId }: ConfigurationRowDiffPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<ConfigurationRowDiff, ConfigurationRowDiffPath>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/rows/{rowId}/diff',\n { path: { componentId, configId, rowId, branchId } },\n { signal },\n );\n\n return data;\n };\n\n const createConfiguration = async ({\n branchId = 'default',\n componentId,\n ...body\n }: CreateConfigurationInput) => {\n const { data } = await client.post<\n ComponentConfig,\n Required<GetConfigurationsPath>,\n void,\n CreateConfigurationBody\n >('/v2/storage/branch/{branchId}/components/{componentId}/configs', {\n path: { branchId, componentId },\n body,\n });\n return data;\n };\n\n /**\n * Update an existing configuration. Only the fields provided are sent; the\n * `configuration` object is JSON-stringified into a string field, matching\n * the Storage API contract.\n * @link https://api.keboola.com/?service=storage#storage/tag/component-configurations/PUT/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}\n */\n const updateConfiguration = async <T extends ConfigType = 'unknown'>(\n {\n branchId = 'default',\n componentId,\n configId,\n configuration,\n ...rest\n }: PartialKey<UpdateConfigurationInput, 'branchId'>,\n signal?: AbortSignal,\n ) => {\n const body: UpdateConfigurationRequestBody = {\n ...rest,\n ...(configuration !== undefined && { configuration: JSON.stringify(configuration) }),\n };\n\n const { data } = await client.put<\n ComponentConfig<T>,\n Required<ConfigurationPath>,\n void,\n UpdateConfigurationRequestBody\n >(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}',\n { path: { branchId, componentId, configId }, body },\n { signal },\n );\n\n return data;\n };\n\n const deleteConfiguration = async (path: Required<ConfigurationPath>) => {\n await client.delete<void, Required<ConfigurationPath>, void, void>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}',\n { path },\n );\n };\n\n const deleteConfigurations = async ({\n configIds,\n ...rest\n }: Required<Omit<ConfigurationPath, 'configId'>> & {\n configIds: string[];\n }) => {\n await concurrent({\n items: configIds,\n process: async (configId) => deleteConfiguration({ ...rest, configId }),\n });\n };\n\n const getConfigurations = async <T extends ConfigType = 'unknown'>(\n { componentId, branchId = 'default' }: GetConfigurationsPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<ComponentConfig<T>[], Required<GetConfigurationsPath>>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs',\n { path: { componentId, branchId } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * @link https://api.keboola.com/?service=storage#storage/tag/component-configurations/GET/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/workspaces\n */\n const getConfigurationWorkspaces = async ({\n componentId,\n branchId,\n configId,\n }: ConfigurationPath) => {\n const { data } = await client.get<Workspace[], ConfigurationPath>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces',\n {\n path: { componentId, branchId, configId },\n },\n );\n\n return data;\n };\n\n const createConfigurationWorkspace = async ({\n componentId,\n branchId,\n configId,\n ...body\n }: Required<ConfigurationPath> & CreateConfigurationWorkspaceBody) => {\n const { data } = await client.post<\n Workspace,\n ConfigurationPath,\n CreateConfigurationWorkspaceQuery,\n CreateConfigurationWorkspaceBody\n >('/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces', {\n path: { componentId, branchId, configId },\n body,\n });\n\n return data;\n };\n\n const createConfigurationWorkspaceJob = async ({\n componentId,\n branchId,\n configId,\n ...body\n }: Required<ConfigurationPath> & CreateConfigurationWorkspaceBody) => {\n const { data } = await client.post<\n Job<'workspaceCreate'>,\n ConfigurationPath,\n CreateConfigurationWorkspaceQuery,\n CreateConfigurationWorkspaceBody\n >('/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces', {\n path: { componentId, branchId, configId },\n body,\n query: { async: true },\n });\n\n return data;\n };\n\n /**\n * @link https://api.keboola.com/?service=storage#storage/tag/component-configuration-rows/POST/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows\n */\n const createConfigurationRow = async ({\n branchId = 'default',\n componentId,\n configId,\n ...body\n }: PartialKey<CreateConfigurationRowInput, 'branchId'>) => {\n const { data } = await client.post<\n Row,\n CreateConfigurationRowPath,\n void,\n CreateConfigurationRowBody\n >('/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/rows', {\n path: { branchId, componentId, configId },\n body,\n });\n\n return data;\n };\n\n /**\n * NOTE: Do not run this method concurrently; BE will return 500 server errors under load due to a BE bottleneck with IDs allocation.\n * @link https://api.keboola.com/?service=storage#storage/tag/component-configuration-rows/POST/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows\n */\n const createConfigurationRows = async (\n {\n branchId = 'default',\n componentId,\n configId,\n data,\n }: PartialKey<CreateConfigurationRowsInput, 'branchId'>,\n options?: { middlewares: MiddlewareFn<CreateConfigurationRowBody, Row>[] },\n ) => {\n return series({\n items: data,\n process: (rowBody) => {\n return createConfigurationRow({\n branchId,\n componentId,\n configId,\n ...rowBody,\n });\n },\n middlewares: options?.middlewares,\n });\n };\n\n /**\n * @link https://api.keboola.com/?service=storage#storage/tag/component-configuration-rows/DELETE/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows/{rowId}\n */\n const deleteConfigurationRow = async ({\n changeDescription,\n ...path\n }: DeleteConfigurationRowInput) => {\n await client.delete<void, DeleteConfigurationRowPath, void, DeleteConfigurationRowBody>(\n '/v2/storage/branch/{branchId}/components/{componentId}/configs/{configId}/rows/{rowId}',\n {\n path,\n body: { changeDescription },\n },\n );\n };\n\n /**\n * @link https://api.keboola.com/?service=storage#storage/tag/component-configuration-rows/DELETE/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows/{rowId}\n */\n const deleteConfigurationRows = async (\n { rowIds, changeDescription, ...input }: DeleteConfigurationRowsInput,\n options?: { middlewares: MiddlewareFn<string, void>[] },\n ) => {\n await concurrent({\n items: rowIds,\n process: (rowId) => {\n const resolvedDescription =\n typeof changeDescription === 'string' ? changeDescription : changeDescription?.(rowId);\n\n return deleteConfigurationRow({\n rowId,\n changeDescription: resolvedDescription,\n ...input,\n });\n },\n concurrency: 5,\n middlewares: options?.middlewares,\n });\n };\n\n const searchComponentConfigurations = async (\n { branchId = 'default' }: GetSearchComponentConfigurationsPath = {},\n query?: SearchComponentConfigurationsQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<\n SearchComponentConfiguration[],\n GetSearchComponentConfigurationsPath,\n SearchComponentConfigurationsQuery,\n void\n >(\n '/v2/storage/branch/{branchId}/search/component-configurations',\n { path: { branchId }, query },\n { signal, queryArrayFormat: 'comma' },\n );\n\n return data;\n };\n\n return {\n // components\n getComponent,\n getComponents,\n searchComponentConfigurations,\n\n // configurations\n createConfiguration,\n updateConfiguration,\n getConfiguration,\n getConfigurationDiff,\n getConfigurationRowDiff,\n rebaseConfiguration,\n deleteConfiguration,\n deleteConfigurations,\n getConfigurations,\n\n // configuration's rows\n createConfigurationRow,\n createConfigurationRows,\n deleteConfigurationRow,\n deleteConfigurationRows,\n\n // configuration's workspaces\n createConfigurationWorkspace,\n createConfigurationWorkspaceJob,\n getConfigurationWorkspaces,\n };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type {\n CreateEventBody,\n EventPath,\n GetEventsQuery,\n GetTableEventsQuery,\n StorageEvent,\n TableEvent,\n TableEventPath,\n} from './types';\n\nexport const createEvents = (client: GenericFetchClient) => {\n const getEvents = async (query?: GetEventsQuery, signal?: AbortSignal) => {\n const { data } = await client.get<StorageEvent[], never, GetEventsQuery>(\n '/v2/storage/events',\n { query },\n { signal },\n );\n\n return data;\n };\n\n const getEvent = async (eventId: string | number, signal?: AbortSignal) => {\n const { data } = await client.get<StorageEvent, EventPath, never>(\n '/v2/storage/events/{eventId}',\n {\n path: { eventId },\n },\n { signal },\n );\n\n return data;\n };\n\n const getTableEvents = async (\n tableId: string,\n query?: GetTableEventsQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<TableEvent[], TableEventPath, GetTableEventsQuery>(\n '/v2/storage/tables/{tableId}/events',\n { path: { tableId }, query },\n { signal },\n );\n\n return data;\n };\n\n const createEvent = async (body: CreateEventBody, signal?: AbortSignal) => {\n const { data } = await client.post<StorageEvent, never, never, CreateEventBody>(\n '/v2/storage/events',\n {\n body,\n },\n { signal },\n );\n\n return data;\n };\n\n return {\n getEvents,\n getEvent,\n getTableEvents,\n createEvent,\n };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type {\n AddFileTagBody,\n DeleteFileTagPath,\n File,\n FilePath,\n GetFilesQuery,\n PreparedFile,\n PrepareFileBody,\n} from './types';\n\nexport const createFiles = (client: GenericFetchClient) => {\n const getFile = async (fileId: number, signal?: AbortSignal) => {\n const { data } = await client.get<File, FilePath, never>(\n `/v2/storage/files/{fileId}`,\n {\n path: { fileId },\n },\n { signal },\n );\n\n return data;\n };\n\n const getFiles = async (query?: GetFilesQuery, signal?: AbortSignal) => {\n const { data } = await client.get<File[], never, GetFilesQuery>(\n '/v2/storage/files',\n { query },\n { signal, queryArrayFormat: 'brackets' },\n );\n\n return data;\n };\n\n const deleteFile = async (fileId: number) => {\n const { data } = await client.delete<void, FilePath, never>(`/v2/storage/files/{fileId}`, {\n path: { fileId },\n });\n\n return data;\n };\n\n const addFileTag = async (fileId: number, tag: string) => {\n const { data } = await client.post<void, FilePath, never, AddFileTagBody>(\n `/v2/storage/files/{fileId}/tags`,\n {\n path: { fileId },\n body: { tag },\n },\n );\n\n return data;\n };\n\n const getFileContent = async (fileId: number, signal?: AbortSignal) => {\n const { data } = await client.get<string, FilePath, never>(\n `/v2/storage/files/{fileId}/content`,\n {\n path: { fileId },\n },\n { signal },\n );\n\n // The fetch client auto-parses JSON responses into objects,\n // but we always need a string for file preview rendering.\n return typeof data === 'string' ? data : JSON.stringify(data, null, 2);\n };\n\n const deleteFileTag = async (\n fileId: DeleteFileTagPath['fileId'],\n tag: DeleteFileTagPath['tag'],\n ) => {\n const { data } = await client.delete<void, DeleteFileTagPath, never>(\n '/v2/storage/files/{fileId}/tags/{tag}',\n {\n path: { fileId, tag },\n },\n );\n\n return data;\n };\n\n const prepareFile = async (body: PrepareFileBody, signal?: AbortSignal) => {\n const { data } = await client.post<PreparedFile, never, never, PrepareFileBody>(\n '/v2/storage/files/prepare',\n { body },\n { signal },\n );\n\n return data;\n };\n\n return {\n getFile,\n getFileContent,\n getFiles,\n deleteFile,\n addFileTag,\n deleteFileTag,\n prepareFile,\n };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type { GetJobPath, GetJobsQuery, Job, JobOperation } from './types';\n\nexport const createJobs = (client: GenericFetchClient) => {\n const getJob = async <T extends JobOperation | string = string>(\n id: GetJobPath['id'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Job<T>, GetJobPath>(\n `/v2/storage/jobs/{id}`,\n {\n path: { id },\n },\n { signal },\n );\n\n return data;\n };\n\n const getJobs = async <T extends JobOperation | string = string>(\n query?: GetJobsQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Job<T>[], never, GetJobsQuery>(\n '/v2/storage/jobs',\n { query },\n { signal, queryArrayFormat: 'brackets' },\n );\n\n return data;\n };\n\n return { getJob, getJobs };\n};\n","import type { MiddlewareFn } from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\n\nconst isTokenRefreshEndpoint = (request: Request): boolean => {\n const url = new URL(request.url);\n return request.method === 'POST' && /\\/tokens\\/[^/]+\\/refresh$/.test(url.pathname);\n};\n\nconst tryParseNewToken = (data: unknown): string | null => {\n if (data === null || typeof data !== 'object') return null;\n const token = (data as Record<string, unknown>).token;\n return typeof token === 'string' ? token : null;\n};\n\ntype Options = {\n accessToken: string;\n onRefresh?: (newToken: string) => void;\n};\n\nexport const createRefreshTokenMiddlware = ({ accessToken, onRefresh }: Options): MiddlewareFn => {\n let current = accessToken;\n\n return (next) => async (request) => {\n request.request.headers.set(KeboolaHttpHeader.STORAGE_API_TOKEN, current);\n\n if (!isTokenRefreshEndpoint(request.request)) return next(request);\n\n const response = await next(request);\n const newToken = tryParseNewToken(response.data);\n if (newToken === null) return response;\n\n current = newToken;\n onRefresh?.(current);\n\n return response;\n };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type { GlobalSearchQuery, GlobalSearchResponse } from './types';\n\nexport const createSearch = (client: GenericFetchClient) => {\n /**\n * Project- and organization-wide search across buckets, tables, configurations, flows, ….\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/global-search/GET/v2/storage/global-search\n */\n const globalSearch = async (query: GlobalSearchQuery, signal?: AbortSignal) => {\n const { data } = await client.get<GlobalSearchResponse, void, GlobalSearchQuery, void>(\n '/v2/storage/global-search',\n { query },\n { signal },\n );\n\n return data;\n };\n\n return { globalSearch };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type { GetRunIdStatsQuery, RunIdStats } from './types';\n\nexport const createStats = (client: GenericFetchClient) => {\n /**\n * Returns import/export table stats for a job run, identified by its runId.\n *\n * @link https://api.keboola.com/?service=storage#storage/GET/v2/storage/stats\n */\n const getRunIdStats = async (runId: string, signal?: AbortSignal) => {\n const { data } = await client.get<RunIdStats, void, GetRunIdStatsQuery, void>(\n '/v2/storage/stats',\n { query: { runId } },\n { signal },\n );\n\n return data;\n };\n\n return { getRunIdStats };\n};\n","import { concurrent } from '../../../utils';\nimport type { Job, TableCreateJob, TableExportJob, TableImportJob } from '../jobs/types';\nimport type { GenericFetchClient } from '../storageClient';\n\nimport type {\n CreateAliasTableBody,\n CreateSnapshotBody,\n CreateTableAsyncBody,\n CreateTableDefinitionBody,\n DeleteTableRows,\n GetDataPreview,\n GetTablesQuery,\n Metadata,\n PreviewData,\n SaveMetadataBody,\n SetAliasTableFilterBody,\n Snapshot,\n Table,\n TableDetail,\n TableExportAsyncBody,\n TableImportAsyncBody,\n UpdateTableBody,\n UpdateTableDefinitionBody,\n UpdateTableDefinitionInput,\n UpdateTableDefinitionPath,\n} from './types';\n\nexport const createTables = (client: GenericFetchClient) => {\n /**\n * Returns every table in the given branch. Filter client-side by\n * `table.bucket?.id` (requires `include: ['buckets']`) or by the\n * `{bucketId}.` prefix in `table.id` (IDs use `{bucketId}.{tableName}`,\n * e.g. `in.c-main.users`).\n *\n * @link https://api.keboola.com/?service=storage#storage/GET/v2/storage/branch/{branchId}/tables\n */\n const getTables = async (\n branchId: string,\n query: GetTablesQuery = { include: [] },\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Table[], { branchId: string }, GetTablesQuery>(\n `/v2/storage/branch/{branchId}/tables`,\n { path: { branchId }, query },\n { signal, queryArrayFormat: 'comma' },\n );\n\n return data;\n };\n\n const getTable = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.get<TableDetail, { id: string }>(\n `/v2/storage/tables/{id}`,\n { path: { id } },\n { signal },\n );\n\n return data;\n };\n\n const deleteTable = async (id: string, signal?: AbortSignal) => {\n await client.delete<void, { id: string }>(\n `/v2/storage/tables/{id}`,\n { path: { id } },\n { signal },\n );\n };\n\n const deleteTables = async (ids: string[]) => {\n await concurrent({\n items: ids,\n process: (id) => deleteTable(id),\n });\n };\n\n const deleteTableRows = async (id: string, query?: DeleteTableRows, signal?: AbortSignal) => {\n const { data } = await client.delete<Job, { id: string }, DeleteTableRows>(\n `/v2/storage/tables/{id}/rows`,\n { path: { id }, query },\n { signal },\n );\n\n return data;\n };\n\n const getDataPreview = async (id: string, query?: GetDataPreview, signal?: AbortSignal) => {\n const { data } = await client.get<PreviewData, { id: string }, GetDataPreview>(\n `/v2/storage/tables/{id}/data-preview`,\n { path: { id }, query: { format: 'json', ...query } },\n { signal },\n );\n\n return data;\n };\n\n const exportAsync = async (\n tableId: string,\n body?: TableExportAsyncBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<TableExportJob, { id: string }, never, TableExportAsyncBody>(\n '/v2/storage/tables/{id}/export-async',\n { path: { id: tableId }, body },\n { signal },\n );\n\n return data;\n };\n\n const createTableAsync = async (\n bucketId: string,\n body: CreateTableAsyncBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n TableCreateJob,\n { bucketId: string },\n never,\n CreateTableAsyncBody\n >('/v2/storage/buckets/{bucketId}/tables-async', { path: { bucketId }, body }, { signal });\n\n return data;\n };\n\n /**\n * Creates a typed table from an explicit column definition (no data) in the given bucket.\n * The endpoint is async: it returns a `tableDefinitionCreate` storage job the caller can poll.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/buckets/{bucketId}/tables-definition\n */\n const createTableDefinitionAsync = async (\n bucketId: string,\n body: CreateTableDefinitionBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n Job<'tableDefinitionCreate'>,\n { bucketId: string },\n never,\n CreateTableDefinitionBody\n >('/v2/storage/buckets/{bucketId}/tables-definition', { path: { bucketId }, body }, { signal });\n\n return data;\n };\n\n const importAsync = async (tableId: string, body: TableImportAsyncBody, signal?: AbortSignal) => {\n const { data } = await client.post<TableImportJob, { id: string }, never, TableImportAsyncBody>(\n '/v2/storage/tables/{id}/import-async',\n { path: { id: tableId }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Updates a table's definition in place — `displayName`, `description`, and\n * per-column `length`/`nullable`/`default`/`description`. The endpoint is\n * async: it returns a `tableDefinitionUpdate` storage job that the caller\n * can poll.\n *\n * `displayName` is required by the server even when only `description` or\n * column-level fields change — read the current value from the same branch\n * (e.g. via `GET /v2/storage/branch/{branchId}/tables/{id}`) and pass it\n * through.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables/PUT/v2/storage/branch/{branchId}/tables/{tableId}/definition\n */\n const updateTableDefinition = async (\n { branchId = 'default', tableId, ...body }: UpdateTableDefinitionInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.put<\n Job<'tableDefinitionUpdate'>,\n UpdateTableDefinitionPath,\n never,\n UpdateTableDefinitionBody\n >(\n '/v2/storage/branch/{branchId}/tables/{tableId}/definition',\n { path: { branchId, tableId }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Updates a table's display name (synchronous). For typed-table column/definition changes use\n * `updateTableDefinition` instead.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables\n */\n const updateTable = async (tableId: string, body: UpdateTableBody, signal?: AbortSignal) => {\n const { data } = await client.put<Table, { id: string }, never, UpdateTableBody>(\n '/v2/storage/tables/{id}',\n { path: { id: tableId }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Pulls a table from the default branch into the current dev branch. Async — returns a job.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables\n */\n const pullTable = async (tableId: string, signal?: AbortSignal) => {\n const { data } = await client.post<Job<'devBranchTablePull'>, { id: string }>(\n '/v2/storage/tables/{id}/pull',\n { path: { id: tableId } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Creates an alias table in the given bucket. Usually returns the created alias `Table`\n * synchronously; for BigQuery VIEW-persisted aliases the API instead returns an `aliasCreate`\n * storage job, so the response is typed as a union — narrow on `operationName` before use.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables\n */\n const createAliasTable = async (\n bucketId: string,\n body: CreateAliasTableBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n Table | Job<'aliasCreate'>,\n { bucketId: string },\n never,\n CreateAliasTableBody\n >('/v2/storage/buckets/{bucketId}/table-aliases', { path: { bucketId }, body }, { signal });\n\n return data;\n };\n\n /**\n * Sets (replaces) the filter of an alias table (synchronous).\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables\n */\n const setAliasTableFilter = async (\n tableId: string,\n body: SetAliasTableFilterBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<Table, { id: string }, never, SetAliasTableFilterBody>(\n '/v2/storage/tables/{id}/alias-filter',\n { path: { id: tableId }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Removes the filter of an alias table (synchronous).\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables\n */\n const removeAliasTableFilter = async (tableId: string, signal?: AbortSignal) => {\n await client.delete<void, { id: string }>(\n '/v2/storage/tables/{id}/alias-filter',\n { path: { id: tableId } },\n { signal },\n );\n };\n\n /**\n * Creates a snapshot of a table. Async — returns a job.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables/POST/v2/storage/tables/{id}/snapshots\n */\n const createSnapshot = async (\n tableId: string,\n body?: CreateSnapshotBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<\n Job<'tableSnapshotCreate'>,\n { id: string },\n never,\n CreateSnapshotBody\n >('/v2/storage/tables/{id}/snapshots', { path: { id: tableId }, body }, { signal });\n\n return data;\n };\n\n /**\n * Deletes a snapshot.\n *\n * @link https://api.keboola.com/?service=storage#storage/DELETE/v2/storage/snapshots/{snapshotId}\n */\n const deleteSnapshot = async (snapshotId: string, signal?: AbortSignal) => {\n await client.delete<void, { snapshotId: string }>(\n '/v2/storage/snapshots/{snapshotId}',\n { path: { snapshotId } },\n { signal },\n );\n };\n\n /**\n * Lists the snapshots of a table.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables/GET/v2/storage/tables/{id}/snapshots\n */\n const loadTableSnapshots = async (tableId: string, signal?: AbortSignal) => {\n const { data } = await client.get<Snapshot[], { id: string }>(\n '/v2/storage/tables/{id}/snapshots',\n { path: { id: tableId } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Adds or updates metadata on a table.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables/POST/v2/storage/tables/{id}/metadata\n */\n const saveTableMetadata = async (\n tableId: string,\n body: SaveMetadataBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<Metadata[], { id: string }, never, SaveMetadataBody>(\n '/v2/storage/tables/{id}/metadata',\n { path: { id: tableId }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Deletes a single metadata entry from a table.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tables/DELETE/v2/storage/tables/{id}/metadata/{metadataId}\n */\n const deleteTableMetadata = async (tableId: string, metadataId: string, signal?: AbortSignal) => {\n await client.delete<void, { id: string; metadataId: string }>(\n '/v2/storage/tables/{id}/metadata/{metadataId}',\n { path: { id: tableId, metadataId } },\n { signal },\n );\n };\n\n return {\n getTables,\n getTable,\n getDataPreview,\n deleteTable,\n deleteTables,\n deleteTableRows,\n exportAsync,\n createTableAsync,\n createTableDefinitionAsync,\n importAsync,\n updateTableDefinition,\n updateTable,\n pullTable,\n createAliasTable,\n setAliasTableFilter,\n removeAliasTableFilter,\n createSnapshot,\n deleteSnapshot,\n loadTableSnapshots,\n saveTableMetadata,\n deleteTableMetadata,\n };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type {\n CreateTokenBody,\n CreateTokenResponse,\n ShareTokenBody,\n StorageToken,\n TokenListItem,\n UpdateTokenBody,\n} from './types';\n\nexport const createTokens = (client: GenericFetchClient) => {\n const verify = async (signal?: AbortSignal) => {\n const { data } = await client.get<StorageToken, void, void, void>(\n '/v2/storage/tokens/verify',\n {},\n { signal },\n );\n\n return data;\n };\n\n const refresh = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.post<StorageToken, void, void, void>(\n `/v2/storage/tokens/${id}/refresh`,\n {},\n { signal },\n );\n\n return data;\n };\n\n /**\n * Lists storage tokens accessible by the current token.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tokens/GET/v2/storage/tokens\n */\n const getTokens = async (signal?: AbortSignal) => {\n const { data } = await client.get<TokenListItem[], void, void, void>(\n '/v2/storage/tokens',\n {},\n { signal },\n );\n\n return data;\n };\n\n /**\n * Creates a new storage token. The response includes the freshly issued `token` secret.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tokens/POST/v2/storage/tokens\n */\n const createToken = async (body: CreateTokenBody, signal?: AbortSignal) => {\n const { data } = await client.post<CreateTokenResponse, void, void, CreateTokenBody>(\n '/v2/storage/tokens',\n { body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Updates an existing storage token (description, permissions, expiration, …).\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tokens/PUT/v2/storage/tokens/{id}\n */\n const updateToken = async (id: string, body: UpdateTokenBody, signal?: AbortSignal) => {\n const { data } = await client.put<StorageToken, { id: string }, void, UpdateTokenBody>(\n '/v2/storage/tokens/{id}',\n { path: { id }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Deletes a storage token.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tokens/DELETE/v2/storage/tokens/{id}\n */\n const deleteToken = async (id: string, signal?: AbortSignal) => {\n await client.delete<void, { id: string }>(\n '/v2/storage/tokens/{id}',\n { path: { id } },\n { signal },\n );\n };\n\n /**\n * Shares a storage token with another user by email.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/tokens/POST/v2/storage/tokens/{id}/share\n */\n const shareToken = async (id: string, body: ShareTokenBody, signal?: AbortSignal) => {\n await client.post<void, { id: string }, void, ShareTokenBody>(\n '/v2/storage/tokens/{id}/share',\n { path: { id }, body },\n { signal },\n );\n };\n\n return {\n verify,\n refresh,\n getTokens,\n createToken,\n updateToken,\n deleteToken,\n shareToken,\n };\n};\n","import type { GenericFetchClient } from '../storageClient';\n\nimport type { CreateTriggerBody, ListTriggersQuery, Trigger, UpdateTriggerBody } from './types';\n\nexport const createTriggers = (client: GenericFetchClient) => {\n /**\n * Lists triggers in the project, optionally filtered by component / configuration.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/triggers/GET/v2/storage/triggers\n */\n const listTriggers = async (query?: ListTriggersQuery, signal?: AbortSignal) => {\n const { data } = await client.get<Trigger[], void, ListTriggersQuery, void>(\n '/v2/storage/triggers',\n { query },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Creates a new trigger for a component configuration.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/triggers/POST/v2/storage/triggers\n */\n const createTrigger = async (body: CreateTriggerBody, signal?: AbortSignal) => {\n const { data } = await client.post<Trigger, void, void, CreateTriggerBody>(\n '/v2/storage/triggers',\n { body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Updates an existing trigger.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/triggers/PUT/v2/storage/triggers/{triggerId}\n */\n const updateTrigger = async (\n triggerId: string,\n body: UpdateTriggerBody,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.put<Trigger, { triggerId: string }, void, UpdateTriggerBody>(\n '/v2/storage/triggers/{triggerId}',\n { path: { triggerId }, body },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Deletes a trigger.\n *\n * @link https://api.keboola.com/?service=storage#storage/tag/triggers/DELETE/v2/storage/triggers/{triggerId}\n */\n const deleteTrigger = async (triggerId: string, signal?: AbortSignal) => {\n await client.delete<void, { triggerId: string }>(\n '/v2/storage/triggers/{triggerId}',\n { path: { triggerId } },\n { signal },\n );\n };\n\n return {\n listTriggers,\n createTrigger,\n updateTrigger,\n deleteTrigger,\n };\n};\n","import { concurrent } from '../../../utils';\nimport type { Job } from '../jobs/types';\nimport type { GenericFetchClient, StorageOpenApiFetchClient } from '../storageClient';\n\nimport type {\n DeleteWorkspaceObjectBody,\n DeleteWorkspaceObjectInput,\n DeleteWorkspaceQuery,\n GetWorkspaceSaml2LoginPath,\n ResetWorkspacePassword,\n SetWorkspacePublicInput,\n SetWorkspacePublicKeyBody,\n SetWorkspacePublicKeyPath,\n UnloadWorkspaceInput,\n Workspace,\n WorkspaceInputMappingLoadPreviewInput,\n WorkspaceObject,\n WorkspacePath,\n WorkspaceSaml2Login,\n WorkspacesPath,\n} from './types';\n\nexport const createWorkspaces = (\n client: GenericFetchClient,\n openApiClient: StorageOpenApiFetchClient,\n) => {\n const getWorkspaces = async (branchId: WorkspacesPath['branchId'], signal?: AbortSignal) => {\n const { data } = await client.get<Workspace[], WorkspacesPath>(\n '/v2/storage/branch/{branchId}/workspaces',\n { path: { branchId } },\n { signal },\n );\n\n return data;\n };\n\n const getWorkspace = async (path: WorkspacePath, signal?: AbortSignal) => {\n const { data } = await client.get<Workspace, WorkspacePath>(\n '/v2/storage/branch/{branchId}/workspaces/{workspaceId}',\n { path },\n { signal },\n );\n\n return data;\n };\n\n const deleteWorkspace = async (path: WorkspacePath) => {\n await client.delete<void, WorkspacePath, DeleteWorkspaceQuery>(\n '/v2/storage/branch/{branchId}/workspaces/{workspaceId}',\n { path },\n );\n };\n\n const deleteWorkspaces = async ({\n workspaceIds,\n branchId,\n }: Omit<WorkspacePath, 'workspaceId'> & {\n workspaceIds: WorkspacePath['workspaceId'][];\n }) => {\n await concurrent({\n items: workspaceIds,\n process: async (workspaceId) => deleteWorkspace({ branchId, workspaceId }),\n concurrency: 5,\n });\n };\n\n const deleteWorkspaceJob = async (path: WorkspacePath) => {\n const { data } = await client.delete<Job<'workspaceDrop'>, WorkspacePath, DeleteWorkspaceQuery>(\n '/v2/storage/branch/{branchId}/workspaces/{workspaceId}',\n { path, query: { async: true } },\n {},\n );\n\n return data;\n };\n\n const resetWorkspacePassword = async ({ branchId, workspaceId }: WorkspacePath) => {\n const { data } = await client.post<ResetWorkspacePassword, WorkspacePath, void, void>(\n '/v2/storage/branch/{branchId}/workspaces/{workspaceId}/password',\n {\n path: { branchId, workspaceId },\n },\n );\n\n return data;\n };\n\n const getWorkspaceSaml2Login = async (path: GetWorkspaceSaml2LoginPath, signal?: AbortSignal) => {\n const { data } = await client.get<WorkspaceSaml2Login, GetWorkspaceSaml2LoginPath>(\n '/v2/storage/branch/{branchId}/workspaces/{workspaceId}/saml2-login',\n { path },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Set the public key for the workspace user, or migrate workspace from password to key auth.\n * Supported only on Snowflake.\n * When called, either a new key is created, or the older one is replaced.\n */\n const setWorkspacePublicKey = async ({\n branchId,\n workspaceId,\n publicKey,\n }: SetWorkspacePublicInput) => {\n const { data } = await client.post<\n Workspace,\n SetWorkspacePublicKeyPath,\n void,\n SetWorkspacePublicKeyBody\n >('/v2/storage/branch/{branchId}/workspaces/{workspaceId}/public-key', {\n path: { branchId, workspaceId },\n body: { publicKey },\n });\n\n return data;\n };\n\n const getWorkspaceObjects = async (path: WorkspacePath, signal?: AbortSignal) => {\n const { data } = await client.get<WorkspaceObject[], WorkspacePath>(\n '/v2/storage/branch/{branchId}/workspaces/{workspaceId}/objects',\n { path },\n { signal },\n );\n\n return data;\n };\n\n const deleteWorkspaceObjectsAsync = async ({\n branchId,\n workspaceId,\n ...body\n }: DeleteWorkspaceObjectInput) => {\n const { data } = await client.post<\n Job<'workspaceBatchDeleteObject'>,\n WorkspacePath,\n never,\n DeleteWorkspaceObjectBody\n >('/v2/storage/branch/{branchId}/workspaces/{workspaceId}/objects/batch-delete', {\n path: { branchId, workspaceId },\n body,\n });\n\n return data;\n };\n\n const unloadWorkspace = async ({ branchId, workspaceId, ...query }: UnloadWorkspaceInput) => {\n const { data } = await openApiClient.post(\n '/v2/storage/branch/{branchId}/workspaces/{workspaceId}/unload',\n {\n path: { branchId, workspaceId },\n query,\n },\n );\n\n return data;\n };\n\n /**\n * Preview the resolved load types for a component-style input-mapping config without a workspace.\n * Returns the preferred load type plus the possible load types per table for the resolved backend,\n * without creating a job. The backend is resolved per item from the item `backend` field, then the\n * `backend` argument, then the project default.\n */\n const inputMappingLoadPreview = async (\n { branchId, body, backend }: WorkspaceInputMappingLoadPreviewInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await openApiClient.post(\n '/v2/storage/branch/{branchId}/input-mapping-load/preview',\n {\n path: { branchId: String(branchId) },\n query: backend ? { backend } : undefined,\n body,\n },\n { signal },\n );\n\n return data;\n };\n\n return {\n getWorkspace,\n getWorkspaces,\n deleteWorkspace,\n resetWorkspacePassword,\n deleteWorkspaces,\n deleteWorkspaceJob,\n setWorkspacePublicKey,\n getWorkspaceSaml2Login,\n getWorkspaceObjects,\n deleteWorkspaceObjectsAsync,\n unloadWorkspace,\n inputMappingLoadPreview,\n };\n};\n","import { type MiddlewareFn } from '../../fetchClient';\nimport { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createConfigurationVersions } from './configurationVersions/configurationVersions';\nimport { createMergeRequests } from './mergeRequests/mergeRequests';\nimport { createBranches } from './branches';\nimport { createBuckets } from './buckets';\nimport { createColumns } from './columns';\nimport { createComponentsAndConfigurations } from './componentsAndConfigurations';\nimport { createEvents } from './events';\nimport { createFiles } from './files';\nimport { createJobs } from './jobs';\nimport { createRefreshTokenMiddlware } from './refreshTokenMiddleware';\nimport { createSearch } from './search';\nimport { createStats } from './stats';\nimport { createTables } from './tables';\nimport { createTokens } from './tokens';\nimport { createTriggers } from './triggers';\nimport type { GetStackInfoQuery, StackInfo } from './types';\nimport { createWorkspaces } from './workspaces';\n\nexport type GenericFetchClient = ReturnType<typeof createGenericFetchClient>;\nexport type StorageOpenApiFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\ntype StorageClientInitOptions = Omit<ClientInitOptions, 'middlewares'> & {\n middlewares?: MiddlewareFn[];\n onRefreshToken?: (newToken: string) => void;\n};\n\nexport const createStorageClient = ({\n baseUrl,\n auth,\n middlewares = [],\n onRefreshToken,\n}: StorageClientInitOptions) => {\n const headers = createAuthHeaders(auth);\n\n // Token-rotation tracking only matters on the client that calls the refresh\n // endpoint. A reader (no `onRefreshToken`) keeps its token fresh via a caller-\n // supplied token-sync middleware instead, so the refresh middleware must not\n // tag along — it would set the header from its stale private `current`.\n // SAPI in-band token rotation only applies to a project-bound storage token. Bearer carries no\n // storage token (its session middleware sets the Authorization header), so it never rotates here.\n const allMiddlewares =\n onRefreshToken && auth.type === 'sapi-token'\n ? [\n ...middlewares,\n createRefreshTokenMiddlware({ accessToken: auth.token, onRefresh: onRefreshToken }),\n ]\n : middlewares;\n\n const client = createGenericFetchClient({\n baseUrl,\n middlewares: allMiddlewares,\n headers,\n });\n\n const openApiClient = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares: allMiddlewares,\n headers,\n });\n\n const getStackInfo = async (query?: GetStackInfoQuery, signal?: AbortSignal) => {\n const { data } = await client.get<StackInfo, never, GetStackInfoQuery>(\n '/v2/storage',\n { query },\n { signal },\n );\n\n return data;\n };\n\n return {\n buckets: createBuckets(client),\n events: createEvents(client),\n files: createFiles(client),\n tables: createTables(client),\n columns: createColumns(client),\n branches: createBranches(client),\n workspaces: createWorkspaces(client, openApiClient),\n mergeRequests: createMergeRequests(openApiClient),\n jobs: createJobs(client),\n componentsAndConfigurations: createComponentsAndConfigurations(client),\n configurationVersions: createConfigurationVersions(client),\n tokens: createTokens(client),\n triggers: createTriggers(client),\n search: createSearch(client),\n stats: createStats(client),\n getStackInfo,\n };\n};\n"]}