@keboola/api-client 25.0.0 → 27.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 (458) hide show
  1. package/AGENTS.md +489 -0
  2. package/API-SURFACE.md +126 -57
  3. package/README.md +29 -25
  4. package/dist/{adminRoles-Cil1lavB.d.cts → adminRoles-BSUPLfNf.d.cts} +1 -7
  5. package/dist/{adminRoles-Cil1lavB.d.ts → adminRoles-BSUPLfNf.d.ts} +1 -7
  6. package/dist/ai/index.cjs +4 -4
  7. package/dist/ai/index.d.cts +5 -2
  8. package/dist/ai/index.d.ts +5 -2
  9. package/dist/ai/index.js +3 -3
  10. package/dist/ai/types.d.cts +2 -2
  11. package/dist/ai/types.d.ts +2 -2
  12. package/dist/appLogs-BbgAJ5I8.d.cts +7 -0
  13. package/dist/appLogs-BbgAJ5I8.d.ts +7 -0
  14. package/dist/apps/index.cjs +16 -0
  15. package/dist/apps/index.cjs.map +1 -0
  16. package/dist/apps/index.d.cts +249 -0
  17. package/dist/apps/index.d.ts +249 -0
  18. package/dist/apps/index.js +7 -0
  19. package/dist/apps/index.js.map +1 -0
  20. package/dist/apps/types.cjs +4 -0
  21. package/dist/apps/types.cjs.map +1 -0
  22. package/dist/apps/types.d.cts +3 -0
  23. package/dist/apps/types.d.ts +3 -0
  24. package/dist/apps/types.js +3 -0
  25. package/dist/apps/types.js.map +1 -0
  26. package/dist/assets/index.cjs +2 -2
  27. package/dist/assets/index.js +1 -1
  28. package/dist/auth/index.cjs +17 -13
  29. package/dist/auth/index.d.cts +18 -5
  30. package/dist/auth/index.d.ts +18 -5
  31. package/dist/auth/index.js +2 -2
  32. package/dist/auth/types.d.cts +3 -3
  33. package/dist/auth/types.d.ts +3 -3
  34. package/dist/backends-UNp_e5y9.d.cts +7 -0
  35. package/dist/backends-UNp_e5y9.d.ts +7 -0
  36. package/dist/chat/index.cjs +4 -4
  37. package/dist/chat/index.d.cts +5 -2
  38. package/dist/chat/index.d.ts +5 -2
  39. package/dist/chat/index.js +3 -3
  40. package/dist/chat/types.d.cts +2 -2
  41. package/dist/chat/types.d.ts +2 -2
  42. package/dist/{chunk-LD3JERYP.js → chunk-24YVNNAG.js} +10 -4
  43. package/dist/chunk-24YVNNAG.js.map +1 -0
  44. package/dist/{chunk-CV2JGHBN.js → chunk-255CHZ3U.js} +23 -6
  45. package/dist/chunk-255CHZ3U.js.map +1 -0
  46. package/dist/{chunk-S4JK7DKM.js → chunk-2BCH2U57.js} +11 -5
  47. package/dist/chunk-2BCH2U57.js.map +1 -0
  48. package/dist/{chunk-XHDYLUM4.js → chunk-2BQBKU6E.js} +15 -13
  49. package/dist/chunk-2BQBKU6E.js.map +1 -0
  50. package/dist/{chunk-NVQ6LGDO.cjs → chunk-2JKTV7UG.cjs} +6 -6
  51. package/dist/{chunk-NVQ6LGDO.cjs.map → chunk-2JKTV7UG.cjs.map} +1 -1
  52. package/dist/chunk-3UBGQFBU.js +29 -0
  53. package/dist/chunk-3UBGQFBU.js.map +1 -0
  54. package/dist/chunk-57Q4CY4H.js +190 -0
  55. package/dist/chunk-57Q4CY4H.js.map +1 -0
  56. package/dist/{chunk-EDX5D6UY.js → chunk-5A3AQIXR.js} +3 -3
  57. package/dist/{chunk-EDX5D6UY.js.map → chunk-5A3AQIXR.js.map} +1 -1
  58. package/dist/{chunk-UABYNGBZ.js → chunk-5HEIR4DC.js} +4 -4
  59. package/dist/chunk-5HEIR4DC.js.map +1 -0
  60. package/dist/{chunk-Z3HZ4MP4.cjs → chunk-5SR2L35Y.cjs} +885 -553
  61. package/dist/chunk-5SR2L35Y.cjs.map +1 -0
  62. package/dist/{chunk-OUSPQ55W.js → chunk-62LG5KPI.js} +29 -7
  63. package/dist/chunk-62LG5KPI.js.map +1 -0
  64. package/dist/{chunk-HMCZUHR7.js → chunk-67P5UI6H.js} +9 -4
  65. package/dist/{chunk-2CFM7K4U.cjs.map → chunk-67P5UI6H.js.map} +1 -1
  66. package/dist/{chunk-HY7J3OD3.cjs → chunk-6PVEHUJL.cjs} +39 -29
  67. package/dist/chunk-6PVEHUJL.cjs.map +1 -0
  68. package/dist/chunk-6XFXU5N4.js +119 -0
  69. package/dist/chunk-6XFXU5N4.js.map +1 -0
  70. package/dist/chunk-6ZQBFK2Y.js +24 -0
  71. package/dist/chunk-6ZQBFK2Y.js.map +1 -0
  72. package/dist/{chunk-AFJGNBVM.cjs → chunk-AJ3SCWUB.cjs} +14 -8
  73. package/dist/chunk-AJ3SCWUB.cjs.map +1 -0
  74. package/dist/{chunk-GF4XZK5N.cjs → chunk-AXYNFDUI.cjs} +4 -4
  75. package/dist/chunk-AXYNFDUI.cjs.map +1 -0
  76. package/dist/{chunk-UP5SEEYZ.js → chunk-B45B4AYG.js} +61 -7
  77. package/dist/chunk-B45B4AYG.js.map +1 -0
  78. package/dist/{chunk-4VVF2PIX.js → chunk-B4T4QCLB.js} +10 -4
  79. package/dist/chunk-B4T4QCLB.js.map +1 -0
  80. package/dist/{chunk-XIIER7QQ.js → chunk-BGJWHTBJ.js} +10 -4
  81. package/dist/chunk-BGJWHTBJ.js.map +1 -0
  82. package/dist/chunk-BVRPZKRE.cjs +147 -0
  83. package/dist/chunk-BVRPZKRE.cjs.map +1 -0
  84. package/dist/chunk-BZB4UVQA.cjs +192 -0
  85. package/dist/chunk-BZB4UVQA.cjs.map +1 -0
  86. package/dist/{chunk-IAYPOSMM.cjs → chunk-CHRBWCL7.cjs} +8 -8
  87. package/dist/chunk-CHRBWCL7.cjs.map +1 -0
  88. package/dist/{chunk-3PVERYSF.js → chunk-CPZME73I.js} +3 -3
  89. package/dist/{chunk-3PVERYSF.js.map → chunk-CPZME73I.js.map} +1 -1
  90. package/dist/{chunk-RVBGE2Z4.js → chunk-DVV35AIS.js} +7 -7
  91. package/dist/chunk-DVV35AIS.js.map +1 -0
  92. package/dist/{chunk-CWUQ6ZAO.cjs → chunk-E7GGDLAH.cjs} +25 -8
  93. package/dist/chunk-E7GGDLAH.cjs.map +1 -0
  94. package/dist/{chunk-J3NLKXQ5.cjs → chunk-EQPBR3BE.cjs} +15 -9
  95. package/dist/chunk-EQPBR3BE.cjs.map +1 -0
  96. package/dist/{chunk-SJZ66FD5.js → chunk-ERZEQ5JR.js} +8 -3
  97. package/dist/chunk-ERZEQ5JR.js.map +1 -0
  98. package/dist/{chunk-CWCUQACX.cjs → chunk-ES3ADC2G.cjs} +4 -4
  99. package/dist/{chunk-CWCUQACX.cjs.map → chunk-ES3ADC2G.cjs.map} +1 -1
  100. package/dist/{chunk-2CFM7K4U.cjs → chunk-FEAE6L3K.cjs} +13 -8
  101. package/dist/chunk-FEAE6L3K.cjs.map +1 -0
  102. package/dist/{chunk-IDWGBCSB.cjs → chunk-FVU7WU2H.cjs} +11 -6
  103. package/dist/chunk-FVU7WU2H.cjs.map +1 -0
  104. package/dist/{chunk-3BFPNM2J.js → chunk-FW5GBBKL.js} +11 -5
  105. package/dist/chunk-FW5GBBKL.js.map +1 -0
  106. package/dist/chunk-G2SWCC3X.js +90 -0
  107. package/dist/chunk-G2SWCC3X.js.map +1 -0
  108. package/dist/{chunk-KUYVBCUM.cjs → chunk-G3JHVIDZ.cjs} +63 -8
  109. package/dist/chunk-G3JHVIDZ.cjs.map +1 -0
  110. package/dist/{chunk-D4WOOKMI.js → chunk-HGKDXF35.js} +58 -107
  111. package/dist/chunk-HGKDXF35.js.map +1 -0
  112. package/dist/chunk-HQO572JW.cjs +34 -0
  113. package/dist/chunk-HQO572JW.cjs.map +1 -0
  114. package/dist/{chunk-MMOAH3EH.cjs → chunk-HUQ5ATIL.cjs} +15 -13
  115. package/dist/chunk-HUQ5ATIL.cjs.map +1 -0
  116. package/dist/{chunk-XKIENBIE.js → chunk-HZDVMHU6.js} +10 -4
  117. package/dist/chunk-HZDVMHU6.js.map +1 -0
  118. package/dist/{chunk-7R22VKV7.cjs → chunk-ICWUR5WA.cjs} +13 -7
  119. package/dist/chunk-ICWUR5WA.cjs.map +1 -0
  120. package/dist/{chunk-BR6WZE3O.cjs → chunk-IQFNHQWP.cjs} +9 -4
  121. package/dist/chunk-IQFNHQWP.cjs.map +1 -0
  122. package/dist/{chunk-7Z4MU7ZB.js → chunk-IZ4QM7O4.js} +32 -22
  123. package/dist/chunk-IZ4QM7O4.js.map +1 -0
  124. package/dist/{chunk-UWQUHP3T.cjs → chunk-J5JCXSAS.cjs} +11 -6
  125. package/dist/chunk-J5JCXSAS.cjs.map +1 -0
  126. package/dist/{chunk-LIXSIM3H.cjs → chunk-JI7HLIDL.cjs} +12 -6
  127. package/dist/chunk-JI7HLIDL.cjs.map +1 -0
  128. package/dist/chunk-JWISA775.cjs +92 -0
  129. package/dist/chunk-JWISA775.cjs.map +1 -0
  130. package/dist/chunk-K3BLXPLA.cjs +16 -0
  131. package/dist/{chunk-7RO6PKZ4.cjs.map → chunk-K3BLXPLA.cjs.map} +1 -1
  132. package/dist/{chunk-BZA3FGO6.js → chunk-KATUDT3E.js} +8 -3
  133. package/dist/chunk-KATUDT3E.js.map +1 -0
  134. package/dist/chunk-KGBWWS6I.js +32 -0
  135. package/dist/chunk-KGBWWS6I.js.map +1 -0
  136. package/dist/chunk-KQENBXPS.cjs +34 -0
  137. package/dist/chunk-KQENBXPS.cjs.map +1 -0
  138. package/dist/chunk-KTKJD4DM.js +60 -0
  139. package/dist/chunk-KTKJD4DM.js.map +1 -0
  140. package/dist/{chunk-2BOG5U7C.js → chunk-LWQP7OWA.js} +3 -3
  141. package/dist/{chunk-2BOG5U7C.js.map → chunk-LWQP7OWA.js.map} +1 -1
  142. package/dist/chunk-NFJKJGXR.js +397 -0
  143. package/dist/chunk-NFJKJGXR.js.map +1 -0
  144. package/dist/chunk-NH2TQGRL.cjs +28 -0
  145. package/dist/chunk-NH2TQGRL.cjs.map +1 -0
  146. package/dist/{chunk-KEFXOJD7.js → chunk-NHYL5QPM.js} +16 -3
  147. package/dist/chunk-NHYL5QPM.js.map +1 -0
  148. package/dist/{chunk-AVH6F5LB.js → chunk-ON4ILCHP.js} +876 -546
  149. package/dist/chunk-ON4ILCHP.js.map +1 -0
  150. package/dist/{chunk-T242YFMT.cjs → chunk-PLF4JX5B.cjs} +12 -7
  151. package/dist/chunk-PLF4JX5B.cjs.map +1 -0
  152. package/dist/{chunk-77LILJYX.js → chunk-QNF3L4B7.js} +9 -4
  153. package/dist/chunk-QNF3L4B7.js.map +1 -0
  154. package/dist/{chunk-NVRVPWNY.js → chunk-RBN3ITTM.js} +9 -4
  155. package/dist/chunk-RBN3ITTM.js.map +1 -0
  156. package/dist/{chunk-DRNOCC6W.cjs → chunk-RXYT7EMN.cjs} +31 -8
  157. package/dist/chunk-RXYT7EMN.cjs.map +1 -0
  158. package/dist/chunk-S46FMY4G.cjs +64 -0
  159. package/dist/chunk-S46FMY4G.cjs.map +1 -0
  160. package/dist/chunk-S6BWQKHJ.cjs +116 -0
  161. package/dist/chunk-S6BWQKHJ.cjs.map +1 -0
  162. package/dist/{chunk-3YWQQ3OG.cjs → chunk-SFTI6QFB.cjs} +13 -7
  163. package/dist/chunk-SFTI6QFB.cjs.map +1 -0
  164. package/dist/{chunk-7YXL4FKN.cjs → chunk-SNP577FA.cjs} +12 -6
  165. package/dist/chunk-SNP577FA.cjs.map +1 -0
  166. package/dist/{chunk-PPQF7LTS.cjs → chunk-SUVM3S2T.cjs} +15 -9
  167. package/dist/chunk-SUVM3S2T.cjs.map +1 -0
  168. package/dist/chunk-SYZ5OFNT.js +114 -0
  169. package/dist/chunk-SYZ5OFNT.js.map +1 -0
  170. package/dist/{chunk-FRLSKIUI.cjs → chunk-SZBW4EE2.cjs} +6 -6
  171. package/dist/{chunk-FRLSKIUI.cjs.map → chunk-SZBW4EE2.cjs.map} +1 -1
  172. package/dist/{chunk-G66EP527.js → chunk-TBHJQCAE.js} +9 -4
  173. package/dist/chunk-TBHJQCAE.js.map +1 -0
  174. package/dist/{chunk-EYIPM2XB.cjs → chunk-U3E5YMLO.cjs} +4 -4
  175. package/dist/{chunk-EYIPM2XB.cjs.map → chunk-U3E5YMLO.cjs.map} +1 -1
  176. package/dist/{chunk-34GM6NXB.js → chunk-UVX733BX.js} +10 -4
  177. package/dist/chunk-UVX733BX.js.map +1 -0
  178. package/dist/{chunk-FMS5PNM2.cjs → chunk-V6FT3RTU.cjs} +8 -3
  179. package/dist/chunk-V6FT3RTU.cjs.map +1 -0
  180. package/dist/{chunk-F6ZAYTBX.cjs → chunk-VB56OVFM.cjs} +58 -110
  181. package/dist/chunk-VB56OVFM.cjs.map +1 -0
  182. package/dist/{chunk-5XWVWFTC.js → chunk-WQ7NNIJ3.js} +4 -4
  183. package/dist/{chunk-5XWVWFTC.js.map → chunk-WQ7NNIJ3.js.map} +1 -1
  184. package/dist/{chunk-DHOVQ2TW.js → chunk-WUFODWZV.js} +3 -3
  185. package/dist/{chunk-DHOVQ2TW.js.map → chunk-WUFODWZV.js.map} +1 -1
  186. package/dist/{chunk-FJBP3MRI.cjs → chunk-WUJ53PP7.cjs} +16 -3
  187. package/dist/chunk-WUJ53PP7.cjs.map +1 -0
  188. package/dist/chunk-YDOSWWE4.cjs +419 -0
  189. package/dist/chunk-YDOSWWE4.cjs.map +1 -0
  190. package/dist/constants/index.cjs +2 -2
  191. package/dist/constants/index.d.cts +13 -1
  192. package/dist/constants/index.d.ts +13 -1
  193. package/dist/constants/index.js +1 -1
  194. package/dist/createFetchClient-BHAsPDgF.d.cts +86 -0
  195. package/dist/createFetchClient-CFIwc6Lh.d.ts +86 -0
  196. package/dist/{createOpenapiFetchClient-BFmiJ9C5.d.cts → createOpenapiFetchClient-CduEua6F.d.cts} +1 -1
  197. package/dist/{createOpenapiFetchClient-6RX67Hws.d.ts → createOpenapiFetchClient-wLlVgp3k.d.ts} +1 -1
  198. package/dist/dataScience/index.cjs +6 -5
  199. package/dist/dataScience/index.d.cts +7 -5
  200. package/dist/dataScience/index.d.ts +7 -5
  201. package/dist/dataScience/index.js +4 -3
  202. package/dist/dataScience/types.d.cts +2172 -2
  203. package/dist/dataScience/types.d.ts +2172 -2
  204. package/dist/domain/permissions/index.cjs +3 -3
  205. package/dist/domain/permissions/index.d.cts +5 -4
  206. package/dist/domain/permissions/index.d.ts +5 -4
  207. package/dist/domain/permissions/index.js +1 -1
  208. package/dist/editor/index.cjs +4 -4
  209. package/dist/editor/index.d.cts +5 -2
  210. package/dist/editor/index.d.ts +5 -2
  211. package/dist/editor/index.js +3 -3
  212. package/dist/editor/types.d.cts +2 -2
  213. package/dist/editor/types.d.ts +2 -2
  214. package/dist/encryption/index.cjs +3 -3
  215. package/dist/encryption/index.d.cts +5 -3
  216. package/dist/encryption/index.d.ts +5 -3
  217. package/dist/encryption/index.js +2 -2
  218. package/dist/encryption/types.d.cts +4 -3
  219. package/dist/encryption/types.d.ts +4 -3
  220. package/dist/import/index.cjs +4 -4
  221. package/dist/import/index.d.cts +5 -2
  222. package/dist/import/index.d.ts +5 -2
  223. package/dist/import/index.js +3 -3
  224. package/dist/index.cjs +211 -127
  225. package/dist/index.cjs.map +1 -1
  226. package/dist/index.d.cts +934 -457
  227. package/dist/index.d.ts +934 -457
  228. package/dist/index.js +95 -44
  229. package/dist/index.js.map +1 -1
  230. package/dist/management/index.cjs +5 -5
  231. package/dist/management/index.d.cts +60 -67
  232. package/dist/management/index.d.ts +60 -67
  233. package/dist/management/index.js +3 -3
  234. package/dist/management/types.d.cts +3 -3
  235. package/dist/management/types.d.ts +3 -3
  236. package/dist/metastore/index.cjs +4 -4
  237. package/dist/metastore/index.d.cts +5 -6
  238. package/dist/metastore/index.d.ts +5 -6
  239. package/dist/metastore/index.js +3 -3
  240. package/dist/metastore/types.d.cts +2 -2
  241. package/dist/metastore/types.d.ts +2 -2
  242. package/dist/notifications/index.cjs +5 -5
  243. package/dist/notifications/index.d.cts +3 -2
  244. package/dist/notifications/index.d.ts +3 -2
  245. package/dist/notifications/index.js +4 -4
  246. package/dist/notifications/types.d.cts +2 -2
  247. package/dist/notifications/types.d.ts +2 -2
  248. package/dist/oauth/index.cjs +4 -4
  249. package/dist/oauth/index.d.cts +2 -1
  250. package/dist/oauth/index.d.ts +2 -1
  251. package/dist/oauth/index.js +3 -3
  252. package/dist/oauth/types.d.cts +1 -1
  253. package/dist/oauth/types.d.ts +1 -1
  254. package/dist/omnisearch/index.cjs +14 -0
  255. package/dist/omnisearch/index.cjs.map +1 -0
  256. package/dist/omnisearch/index.d.cts +32 -0
  257. package/dist/omnisearch/index.d.ts +32 -0
  258. package/dist/omnisearch/index.js +5 -0
  259. package/dist/omnisearch/index.js.map +1 -0
  260. package/dist/omnisearch/types.cjs +4 -0
  261. package/dist/omnisearch/types.cjs.map +1 -0
  262. package/dist/omnisearch/types.d.cts +3 -0
  263. package/dist/omnisearch/types.d.ts +3 -0
  264. package/dist/omnisearch/types.js +3 -0
  265. package/dist/omnisearch/types.js.map +1 -0
  266. package/dist/{project-CXqPYo4T.d.ts → project-Dmr-zrQG.d.ts} +2 -2
  267. package/dist/{project-CZPvcxRW.d.cts → project-DstzWVMN.d.cts} +2 -2
  268. package/dist/queryService/index.cjs +4 -4
  269. package/dist/queryService/index.d.cts +3 -2
  270. package/dist/queryService/index.d.ts +3 -2
  271. package/dist/queryService/index.js +3 -3
  272. package/dist/queryService/types.d.cts +2 -2
  273. package/dist/queryService/types.d.ts +2 -2
  274. package/dist/queue/index.cjs +4 -4
  275. package/dist/queue/index.d.cts +8 -2
  276. package/dist/queue/index.d.ts +8 -2
  277. package/dist/queue/index.js +3 -3
  278. package/dist/queue/types.d.cts +2 -2
  279. package/dist/queue/types.d.ts +2 -2
  280. package/dist/scheduler/index.cjs +5 -5
  281. package/dist/scheduler/index.d.cts +2 -1
  282. package/dist/scheduler/index.d.ts +2 -1
  283. package/dist/scheduler/index.js +4 -4
  284. package/dist/scheduler/types.d.cts +3 -3
  285. package/dist/scheduler/types.d.ts +3 -3
  286. package/dist/sdk/configurations/index.cjs +3 -3
  287. package/dist/sdk/configurations/index.d.cts +7 -6
  288. package/dist/sdk/configurations/index.d.ts +7 -6
  289. package/dist/sdk/configurations/index.js +2 -2
  290. package/dist/sdk/queryService/index.cjs +16 -0
  291. package/dist/sdk/queryService/index.cjs.map +1 -0
  292. package/dist/sdk/queryService/index.d.cts +35 -0
  293. package/dist/sdk/queryService/index.d.ts +35 -0
  294. package/dist/sdk/queryService/index.js +7 -0
  295. package/dist/sdk/queryService/index.js.map +1 -0
  296. package/dist/sdk/semanticLayer/index.cjs +18 -14
  297. package/dist/sdk/semanticLayer/index.d.cts +25 -10
  298. package/dist/sdk/semanticLayer/index.d.ts +25 -10
  299. package/dist/sdk/semanticLayer/index.js +2 -2
  300. package/dist/sdk/semanticLayer/types.d.cts +25 -5
  301. package/dist/sdk/semanticLayer/types.d.ts +25 -5
  302. package/dist/sdk/storage/index.cjs +12 -11
  303. package/dist/sdk/storage/index.d.cts +7 -6
  304. package/dist/sdk/storage/index.d.ts +7 -6
  305. package/dist/sdk/storage/index.js +2 -1
  306. package/dist/sdk/tag/index.cjs +3 -3
  307. package/dist/sdk/tag/index.d.cts +3 -3
  308. package/dist/sdk/tag/index.d.ts +3 -3
  309. package/dist/sdk/tag/index.js +2 -2
  310. package/dist/sdk/tag/types.d.cts +10 -4
  311. package/dist/sdk/tag/types.d.ts +10 -4
  312. package/dist/sdk/vault/index.cjs +8 -8
  313. package/dist/sdk/vault/index.d.cts +5 -4
  314. package/dist/sdk/vault/index.d.ts +5 -4
  315. package/dist/sdk/vault/index.js +2 -2
  316. package/dist/status/index.cjs +2 -2
  317. package/dist/status/index.js +1 -1
  318. package/dist/storage/index.cjs +50 -12
  319. package/dist/storage/index.d.cts +17 -36
  320. package/dist/storage/index.d.ts +17 -36
  321. package/dist/storage/index.js +7 -5
  322. package/dist/storage/types.d.cts +720 -425
  323. package/dist/storage/types.d.ts +720 -425
  324. package/dist/{storageClient-Dkcg7hKa.d.cts → storageClient-BAid0vi2.d.cts} +478 -247
  325. package/dist/{storageClient-Cd4jVt58.d.ts → storageClient-BX50Attd.d.ts} +478 -247
  326. package/dist/{storageSdk-L6NOdgSJ.d.ts → storageSdk-BS5982c_.d.cts} +22 -15
  327. package/dist/{storageSdk-15_Fbucc.d.cts → storageSdk-BeJcnEIO.d.ts} +22 -15
  328. package/dist/stream/index.cjs +4 -4
  329. package/dist/stream/index.d.cts +3 -2
  330. package/dist/stream/index.d.ts +3 -2
  331. package/dist/stream/index.js +3 -3
  332. package/dist/stream/types.d.cts +2 -2
  333. package/dist/stream/types.d.ts +2 -2
  334. package/dist/syncActions/index.cjs +6 -5
  335. package/dist/syncActions/index.d.cts +31 -76
  336. package/dist/syncActions/index.d.ts +31 -76
  337. package/dist/syncActions/index.js +5 -4
  338. package/dist/syncActions/types.d.cts +334 -18
  339. package/dist/syncActions/types.d.ts +334 -18
  340. package/dist/telemetry/index.cjs +4 -4
  341. package/dist/telemetry/index.js +3 -3
  342. package/dist/{types-DbAO-Tgk.d.ts → types-BALUbGA5.d.ts} +10 -2
  343. package/dist/{types-B30y9Lhc.d.ts → types-BCBF_5cU.d.cts} +186 -4
  344. package/dist/{types-B-vmDlWB.d.cts → types-BPKQRahf.d.cts} +3 -3
  345. package/dist/types-BcaALDYY.d.cts +2130 -0
  346. package/dist/{types-BfuVN8Pk.d.cts → types-Bom93Zx2.d.cts} +3 -3
  347. package/dist/types-Bp8d9PJf.d.cts +607 -0
  348. package/dist/types-BsejtGjZ.d.ts +2130 -0
  349. package/dist/{types-DeoA45gz.d.cts → types-BuEkMmKT.d.ts} +491 -308
  350. package/dist/{types-BqC3U0k0.d.cts → types-C5DdOzx8.d.cts} +1 -1
  351. package/dist/{types-D-MuJHwl.d.cts → types-CFeOCzzg.d.cts} +3 -2
  352. package/dist/{types-DpUcInCX.d.ts → types-COti0FGo.d.ts} +3 -3
  353. package/dist/{types-Dkipk6NN.d.ts → types-C_jxWM7A.d.ts} +1 -1
  354. package/dist/{types-CM1zHzgm.d.ts → types-Cffam0Nw.d.ts} +856 -36
  355. package/dist/{types-BieLFMW1.d.cts → types-CfzHhZVG.d.ts} +3 -3
  356. package/dist/{types-DYnHIm7m.d.cts → types-CniF_D1P.d.cts} +3 -3
  357. package/dist/{types-BEnE7LHB.d.cts → types-CwAYn1EJ.d.cts} +10 -2
  358. package/dist/{types-DgSyBwP3.d.cts → types-CxAH36ip.d.cts} +3 -3
  359. package/dist/{types-DwMezEHT.d.ts → types-D2qGShlS.d.ts} +15 -3
  360. package/dist/{types-CSZoV4lM.d.cts → types-D6dnnju2.d.ts} +186 -4
  361. package/dist/{types-CrLjE5xf.d.ts → types-DM1glEQI.d.ts} +3 -3
  362. package/dist/{types-Hj1CaKtV.d.ts → types-DNyZ0z3L.d.cts} +491 -308
  363. package/dist/types-DOc5_aYZ.d.ts +607 -0
  364. package/dist/{types-DHXZZKb3.d.ts → types-Dpwb4dD0.d.ts} +3 -3
  365. package/dist/{types-YzkNUuYo.d.ts → types-DrGnvgkB.d.ts} +3 -3
  366. package/dist/{types-00IaLn3S.d.ts → types-EZBBpiFU.d.ts} +695 -82
  367. package/dist/{types-BX1xr4CX.d.cts → types-Y1ynT2PH.d.cts} +15 -3
  368. package/dist/{types-sVyfECai.d.cts → types-cxk-0ftN.d.cts} +695 -82
  369. package/dist/{types-DeS-oVdn.d.ts → types-ebolWqn1.d.ts} +3 -2
  370. package/dist/{types-gcShAmmi.d.cts → types-f8dUjMX4.d.cts} +1 -1
  371. package/dist/{types-gcShAmmi.d.ts → types-f8dUjMX4.d.ts} +1 -1
  372. package/dist/{types-CiJ5ULtS.d.ts → types-nt7I4XNc.d.cts} +3 -3
  373. package/dist/{types-Cgh3jqrV.d.cts → types-qvle4Ydu.d.cts} +856 -36
  374. package/dist/vault/index.cjs +4 -4
  375. package/dist/vault/index.d.cts +2 -1
  376. package/dist/vault/index.d.ts +2 -1
  377. package/dist/vault/index.js +3 -3
  378. package/dist/vault/types.d.cts +3 -3
  379. package/dist/vault/types.d.ts +3 -3
  380. package/package.json +71 -3
  381. package/surface/ai.md +1 -0
  382. package/surface/apps.md +32 -0
  383. package/surface/auth.md +6 -4
  384. package/surface/chat.md +1 -0
  385. package/surface/dataScience.md +1 -0
  386. package/surface/editor.md +1 -0
  387. package/surface/encryption.md +1 -0
  388. package/surface/import.md +1 -0
  389. package/surface/kaiAgent.md +1 -0
  390. package/surface/management.md +17 -16
  391. package/surface/metastore.md +2 -1
  392. package/surface/notifications.md +1 -0
  393. package/surface/oauth.md +1 -0
  394. package/surface/omnisearch.md +9 -0
  395. package/surface/queryService.md +1 -0
  396. package/surface/queue.md +7 -6
  397. package/surface/scheduler.md +1 -0
  398. package/surface/sdk.md +16 -16
  399. package/surface/storage.md +119 -83
  400. package/surface/stream.md +1 -0
  401. package/surface/syncActions.md +13 -6
  402. package/surface/vault.md +1 -0
  403. package/dist/chunk-34GM6NXB.js.map +0 -1
  404. package/dist/chunk-3BFPNM2J.js.map +0 -1
  405. package/dist/chunk-3YWQQ3OG.cjs.map +0 -1
  406. package/dist/chunk-4VVF2PIX.js.map +0 -1
  407. package/dist/chunk-77LILJYX.js.map +0 -1
  408. package/dist/chunk-7R22VKV7.cjs.map +0 -1
  409. package/dist/chunk-7RO6PKZ4.cjs +0 -16
  410. package/dist/chunk-7YXL4FKN.cjs.map +0 -1
  411. package/dist/chunk-7Z4MU7ZB.js.map +0 -1
  412. package/dist/chunk-AFJGNBVM.cjs.map +0 -1
  413. package/dist/chunk-AVH6F5LB.js.map +0 -1
  414. package/dist/chunk-AXEANGGK.js +0 -226
  415. package/dist/chunk-AXEANGGK.js.map +0 -1
  416. package/dist/chunk-BR6WZE3O.cjs.map +0 -1
  417. package/dist/chunk-BZA3FGO6.js.map +0 -1
  418. package/dist/chunk-CV2JGHBN.js.map +0 -1
  419. package/dist/chunk-CWUQ6ZAO.cjs.map +0 -1
  420. package/dist/chunk-D4WOOKMI.js.map +0 -1
  421. package/dist/chunk-DRNOCC6W.cjs.map +0 -1
  422. package/dist/chunk-F6ZAYTBX.cjs.map +0 -1
  423. package/dist/chunk-FJBP3MRI.cjs.map +0 -1
  424. package/dist/chunk-FMS5PNM2.cjs.map +0 -1
  425. package/dist/chunk-G66EP527.js.map +0 -1
  426. package/dist/chunk-GF4XZK5N.cjs.map +0 -1
  427. package/dist/chunk-HMCZUHR7.js.map +0 -1
  428. package/dist/chunk-HTVJR5WS.cjs +0 -305
  429. package/dist/chunk-HTVJR5WS.cjs.map +0 -1
  430. package/dist/chunk-HY7J3OD3.cjs.map +0 -1
  431. package/dist/chunk-IAYPOSMM.cjs.map +0 -1
  432. package/dist/chunk-IDWGBCSB.cjs.map +0 -1
  433. package/dist/chunk-J3NLKXQ5.cjs.map +0 -1
  434. package/dist/chunk-KEFXOJD7.js.map +0 -1
  435. package/dist/chunk-KUYVBCUM.cjs.map +0 -1
  436. package/dist/chunk-L262THNK.cjs +0 -253
  437. package/dist/chunk-L262THNK.cjs.map +0 -1
  438. package/dist/chunk-LD3JERYP.js.map +0 -1
  439. package/dist/chunk-LIXSIM3H.cjs.map +0 -1
  440. package/dist/chunk-MMOAH3EH.cjs.map +0 -1
  441. package/dist/chunk-NVRVPWNY.js.map +0 -1
  442. package/dist/chunk-OUSPQ55W.js.map +0 -1
  443. package/dist/chunk-PPQF7LTS.cjs.map +0 -1
  444. package/dist/chunk-RVBGE2Z4.js.map +0 -1
  445. package/dist/chunk-S4JK7DKM.js.map +0 -1
  446. package/dist/chunk-SJZ66FD5.js.map +0 -1
  447. package/dist/chunk-T242YFMT.cjs.map +0 -1
  448. package/dist/chunk-UABYNGBZ.js.map +0 -1
  449. package/dist/chunk-UP5SEEYZ.js.map +0 -1
  450. package/dist/chunk-UQ5CACMW.js +0 -283
  451. package/dist/chunk-UQ5CACMW.js.map +0 -1
  452. package/dist/chunk-UWQUHP3T.cjs.map +0 -1
  453. package/dist/chunk-XHDYLUM4.js.map +0 -1
  454. package/dist/chunk-XIIER7QQ.js.map +0 -1
  455. package/dist/chunk-XKIENBIE.js.map +0 -1
  456. package/dist/chunk-Z3HZ4MP4.cjs.map +0 -1
  457. package/dist/utils-B_SOM1XR.d.ts +0 -3051
  458. package/dist/utils-DK7uJcmR.d.cts +0 -3051
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/async/dedupe.ts","../src/clients/management/validateStatus.ts","../src/clients/management/authMiddleware.ts","../src/clients/management/currentUser/currentUser.ts","../src/clients/management/deletedProjects/deletedProjects.ts","../src/clients/management/features/features.ts","../src/clients/management/fileStorage/fileStorage.ts","../src/clients/management/maintainers/maintainers.ts","../src/clients/management/organizations/organizations.ts","../src/clients/management/projects/projects.ts","../src/clients/management/storageBackends/storageBackends.ts","../src/clients/management/uiApps/uiApps.ts","../src/clients/management/users/users.ts","../src/clients/management/managementClient.ts"],"names":[],"mappings":"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","file":"chunk-IZ4QM7O4.js","sourcesContent":["import type { TaskFn } from './types';\n\n/**\n * Deduplicates concurrent triggers by sharing one in-flight run of `task`.\n * While a run is in flight every trigger returns that same promise; once it\n * settles the next trigger starts a fresh run. (Contrast `coalesce`, which\n * runs a *trailing* pass for triggers that arrive mid-run.)\n *\n * @returns a trigger; each call returns a promise of the task result.\n * @throws The returned promise rejects with whatever `task` throws or rejects\n * with — the caller handles it (try/catch, or `.catch` on `void trigger()`).\n */\nexport const dedupe = <T>(task: TaskFn<T>): (() => Promise<Awaited<T>>) => {\n let inflight: Promise<Awaited<T>> | null = null;\n\n // async wrapper so a synchronous throw from `task` rejects rather than throws.\n const runTask = async (): Promise<Awaited<T>> => await task();\n\n return () => {\n inflight ??= runTask().finally(() => {\n inflight = null;\n });\n return inflight;\n };\n};\n","import { ManagementClientAuthError } from '../../errors';\nimport {\n defaultValidateStatus,\n HttpContentType,\n HttpHeader,\n type ValidateStatusFn,\n} from '../../fetchClient';\n\n/**\n * The Manage API is served by the PHP app, which answers an expired session with a \"302 Found\" to\n * the login screen. `fetch` follows the redirect, so the request resolves `200 text/html` — a\n * success as far as the status code goes. Left alone, that login page reaches the caller as a raw\n * string typed as the endpoint's DTO and only fails much later, wherever the value is first used.\n */\nexport const validateManagementStatus: ValidateStatusFn = (apiResponse) => {\n const isValid = defaultValidateStatus(apiResponse);\n\n // Media types are case-insensitive, so compare lowercased — a `Text/HTML` login page is still one.\n const isHtml = apiResponse.response.headers\n .get(HttpHeader.CONTENT_TYPE)\n ?.toLowerCase()\n .includes(HttpContentType.TEXT_HTML);\n\n // Only a *successful* HTML response is the login page — the redirect was followed, so it arrives\n // as a 200. HTML on a failed one is a real error page (a proxy's 502), and must stay an `ApiError`:\n // reading it as session expiry would sign the user out over a transient upstream blip.\n if (isValid && isHtml) {\n return new ManagementClientAuthError(\n 'Your session expired',\n 'You will be logged out automatically.',\n apiResponse,\n );\n }\n\n return isValid;\n};\n","import { ManagementClientAuthError } from '../../errors';\nimport { createGenericFetchClient, type MiddlewareFn } from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport { dedupe } from '../../utils';\n\nimport type { ManagementToken } from './tokenTypes';\nimport { validateManagementStatus } from './validateStatus';\n\ntype ManagementTokenWithStringToken = { token: string } & ManagementToken;\n\n// Long enough to amortize verify calls over a burst of parallel queries at app\n// startup; short enough that a remotely revoked token is re-checked within a minute.\nconst TOKEN_CACHE_TTL_MS = 60_000;\n\nexport const isManagementClientAuthError = (error: unknown): error is ManagementClientAuthError =>\n error instanceof ManagementClientAuthError;\n\nconst createAuth = (baseUrl: string) => {\n const fetchClient = createGenericFetchClient({\n baseUrl,\n validateStatus: validateManagementStatus,\n });\n\n // Raw token verify — deliberately does NOT go through this middleware (which would recurse).\n const verifyManagementToken = async (accessToken: string) => {\n const headers = new Headers({ [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: accessToken });\n const { data } = await fetchClient.get<ManagementToken>(\n '/manage/tokens/verify',\n {},\n { headers },\n );\n return data;\n };\n\n const createCurrentUserSessionToken = async (accessToken: string) => {\n const headers = new Headers({ [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: accessToken });\n const { data } = await fetchClient.post<ManagementTokenWithStringToken>(\n '/manage/current-user/session-token',\n {},\n { headers },\n );\n return data.token;\n };\n\n // A session-expired redirect lands here as `200 text/html`; `validateManagementStatus` (on the\n // client above) turns it into a `ManagementClientAuthError`.\n const createAdminAccountSessionToken = async () => {\n const { data } = await fetchClient.post<ManagementTokenWithStringToken>(\n '/admin/account/session-token',\n {},\n );\n return data.token;\n };\n\n return {\n verifyManagementToken,\n createCurrentUserSessionToken,\n createAdminAccountSessionToken,\n };\n};\n\nexport const createAuthMiddleware = ({\n accessToken,\n baseUrl,\n}: {\n baseUrl: string;\n accessToken?: string;\n}): MiddlewareFn => {\n const auth = createAuth(baseUrl);\n\n let token: string | undefined = accessToken;\n let tokenValidUntil = 0;\n // oxlint-disable-next-line turbo/no-undeclared-env-vars\n const isDevelopment = process.env.NODE_ENV === 'development';\n\n const ensureValidToken = async () => {\n if (token && Date.now() < tokenValidUntil) return token;\n\n if (token) {\n const tokenInfo = await auth.verifyManagementToken(token);\n const isTokenValid = !tokenInfo.isDisabled && !tokenInfo.isExpired;\n if (isTokenValid) {\n tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;\n return token;\n }\n token = isDevelopment\n ? await auth.createCurrentUserSessionToken(token)\n : await auth.createAdminAccountSessionToken();\n tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;\n return token;\n }\n\n token = await auth.createAdminAccountSessionToken();\n tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;\n return token;\n };\n\n // Deduplicate concurrent auth — all parallel requests share one inflight promise.\n const ensureValidTokenDeduped = dedupe(ensureValidToken);\n\n return (next) => async (request) => {\n const validToken = await ensureValidTokenDeduped();\n\n request.request.headers.set(KeboolaHttpHeader.MANAGEMENT_API_TOKEN, validToken);\n return next(request);\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nexport const createCurrentUser = (client: ManagementOpenApiFetchClient) => {\n const getMaintainerInvitations = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/maintainers-invitations',\n {},\n { signal },\n );\n return data;\n };\n\n const getMaintainerInvitation = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/maintainers-invitations/{id}',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const acceptMaintainerInvitation = async (id: number) => {\n await client.put('/manage/current-user/maintainers-invitations/{id}', { path: { id } });\n };\n\n const rejectMaintainerInvitation = async (id: number) => {\n await client.delete('/manage/current-user/maintainers-invitations/{id}', { path: { id } });\n };\n\n const getOrganizationInvitations = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/organizations-invitations',\n {},\n { signal },\n );\n return data;\n };\n\n const getOrganizationInvitation = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/organizations-invitations/{id}',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const acceptOrganizationInvitation = async (id: number) => {\n await client.put('/manage/current-user/organizations-invitations/{id}', { path: { id } });\n };\n\n const rejectOrganizationInvitation = async (id: number) => {\n await client.delete('/manage/current-user/organizations-invitations/{id}', { path: { id } });\n };\n\n const getProjectInvitations = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/current-user/projects-invitations', {}, { signal });\n return data;\n };\n\n const getProjectInvitation = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/projects-invitations/{id}',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const acceptProjectInvitation = async (id: number) => {\n await client.put('/manage/current-user/projects-invitations/{id}', { path: { id } });\n };\n\n const rejectProjectInvitation = async (id: number) => {\n await client.delete('/manage/current-user/projects-invitations/{id}', { path: { id } });\n };\n\n const getProjectJoinRequests = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/projects-join-requests',\n {},\n { signal },\n );\n return data;\n };\n\n const getProjectJoinRequest = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/projects-join-requests/{id}',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const deleteProjectJoinRequest = async (id: number) => {\n await client.delete('/manage/current-user/projects-join-requests/{id}', { path: { id } });\n };\n\n return {\n getMaintainerInvitations,\n getMaintainerInvitation,\n acceptMaintainerInvitation,\n rejectMaintainerInvitation,\n getOrganizationInvitations,\n getOrganizationInvitation,\n acceptOrganizationInvitation,\n rejectOrganizationInvitation,\n getProjectInvitations,\n getProjectInvitation,\n acceptProjectInvitation,\n rejectProjectInvitation,\n getProjectJoinRequests,\n getProjectJoinRequest,\n deleteProjectJoinRequest,\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nimport type { DeletedProjectsListQuery } from './types';\n\nexport const createDeletedProjects = (client: ManagementOpenApiFetchClient) => {\n const getDeletedProjects = async (query?: DeletedProjectsListQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/deleted-projects',\n {\n query: {\n limit: query?.limit ?? undefined,\n offset: query?.offset ?? undefined,\n organizationId: query?.organizationId ?? undefined,\n name: query?.name ?? undefined,\n },\n },\n { signal },\n );\n return data;\n };\n\n const getDeletedProject = async (projectId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/deleted-projects/{projectId}',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n /** Restore a deleted project (cancels deletion). Maps to DELETE /manage/deleted-projects/{projectId}\n * — note: the RFC says POST but the live schema uses DELETE. */\n const restoreDeletedProject = async (projectId: number) => {\n await client.delete('/manage/deleted-projects/{projectId}', { path: { projectId } });\n };\n\n /** Permanently purge a deleted project (irreversible). Pass `ignoreBackendErrors: true` to purge\n * even if backend-storage cleanup fails. Returns the enqueued purge command. */\n const purgeDeletedProject = async (projectId: number, ignoreBackendErrors = false) => {\n const { data } = await client.post('/manage/deleted-projects/{projectId}/purge', {\n path: { projectId },\n body: { ignoreBackendErrors },\n });\n return data;\n };\n\n return {\n getDeletedProjects,\n getDeletedProject,\n restoreDeletedProject,\n purgeDeletedProject,\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nimport type { Feature, FeatureAdmin, FeatureProject, GetAllFeaturesQuery } from './types';\n\n// Read-only on purpose. The three write endpoints the schema declares are not exposed:\n//\n// - `POST /manage/features` — deprecated upstream; features are provisioned by migration.\n// - `PATCH /manage/features/{id}` — edits a definition shared by every project on the stack.\n// - `DELETE /manage/features/{id}` — removes it from every project that has it.\n//\n// Add one only alongside a caller that genuinely needs it.\nexport const createFeatures = (client: ManagementOpenApiFetchClient) => {\n const getAllFeatures = async (query: GetAllFeaturesQuery, signal?: AbortSignal) => {\n const { data } = await client.get('/manage/features', { query }, { signal });\n return data as Feature[];\n };\n\n // The schema names the path parameter `id`; the public argument stays `featureId`.\n const getFeature = async (featureId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/features/{id}',\n { path: { id: featureId } },\n { signal },\n );\n return data as Feature;\n };\n\n const getFeatureProjects = async (featureId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/features/{id}/projects',\n { path: { id: featureId } },\n { signal },\n );\n // Every field is present on the response; the swagger just declares none of them required.\n return data as FeatureProject[];\n };\n\n const getFeatureAdmins = async (featureId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/features/{id}/admins',\n { path: { id: featureId } },\n { signal },\n );\n return data as FeatureAdmin[];\n };\n\n return {\n getAllFeatures,\n getFeature,\n getFeatureProjects,\n getFeatureAdmins,\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nimport type {\n CreateFileStorageAbsBody,\n CreateFileStorageGcsBody,\n CreateFileStorageS3Body,\n FileStorageGcs,\n RotateFileStorageAbsInput,\n RotateFileStorageGcsInput,\n RotateFileStorageS3Input,\n} from './types';\n\n// The GCS methods return `FileStorageGcs`, which widens `gcsCredentials` — the generated schema models\n// it as `Record<string, never>`, where every property access would be `never`.\nexport const createFileStorage = (client: ManagementOpenApiFetchClient) => {\n const getFileStoragesS3 = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/file-storage-s3', {}, { signal });\n return data;\n };\n\n const getFileStoragesAbs = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/file-storage-abs', {}, { signal });\n return data;\n };\n\n const getFileStoragesGcs = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/file-storage-gcs', {}, { signal });\n return data as FileStorageGcs[];\n };\n\n const createFileStorageS3 = async (body: CreateFileStorageS3Body) => {\n const { data } = await client.post('/manage/file-storage-s3', { body });\n return data;\n };\n\n const rotateFileStorageS3Credentials = async ({\n fileStorageId,\n ...body\n }: RotateFileStorageS3Input) => {\n const { data } = await client.post('/manage/file-storage-s3/{fileStorageId}/credentials', {\n path: { fileStorageId },\n body,\n });\n return data;\n };\n\n const setFileStorageS3Default = async (fileStorageId: number) => {\n const { data } = await client.post('/manage/file-storage-s3/{fileStorageId}/default', {\n path: { fileStorageId },\n });\n return data;\n };\n\n const createFileStorageAbs = async (body: CreateFileStorageAbsBody) => {\n const { data } = await client.post('/manage/file-storage-abs', { body });\n return data;\n };\n\n const rotateFileStorageAbsCredentials = async ({\n fileStorageId,\n ...body\n }: RotateFileStorageAbsInput) => {\n const { data } = await client.post('/manage/file-storage-abs/{fileStorageId}/credentials', {\n path: { fileStorageId },\n body,\n });\n return data;\n };\n\n const setFileStorageAbsDefault = async (fileStorageId: number) => {\n const { data } = await client.post('/manage/file-storage-abs/{fileStorageId}/default', {\n path: { fileStorageId },\n });\n return data;\n };\n\n const createFileStorageGcs = async (body: CreateFileStorageGcsBody) => {\n const { data } = await client.post('/manage/file-storage-gcs', { body });\n return data as FileStorageGcs;\n };\n\n const rotateFileStorageGcsCredentials = async ({\n fileStorageId,\n ...body\n }: RotateFileStorageGcsInput) => {\n const { data } = await client.post('/manage/file-storage-gcs/{fileStorageId}/credentials', {\n path: { fileStorageId },\n body,\n });\n return data as FileStorageGcs;\n };\n\n const setFileStorageGcsDefault = async (fileStorageId: number) => {\n const { data } = await client.post('/manage/file-storage-gcs/{fileStorageId}/default', {\n path: { fileStorageId },\n });\n return data as FileStorageGcs;\n };\n\n return {\n getFileStoragesS3,\n getFileStoragesAbs,\n getFileStoragesGcs,\n createFileStorageS3,\n createFileStorageAbs,\n createFileStorageGcs,\n rotateFileStorageS3Credentials,\n rotateFileStorageAbsCredentials,\n rotateFileStorageGcsCredentials,\n setFileStorageS3Default,\n setFileStorageAbsDefault,\n setFileStorageGcsDefault,\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nimport type {\n AddMaintainerUserInput,\n CompleteSamlSetupInput,\n CreateMaintainerBody,\n CreateMaintainerInvitationInput,\n CreateMaintainerOrganizationInput,\n CreateSamlConfigInput,\n Maintainer,\n MaintainerDetail,\n MaintainerInvitationPath,\n MaintainerMetadataItemPath,\n MaintainerUser,\n MaintainerUserPath,\n MetadataItem,\n SamlConfigPath,\n SetMaintainerMetadataInput,\n UpdateMaintainerInput,\n UpdateSamlConfigInput,\n} from './types';\n\nexport const createMaintainers = (client: ManagementOpenApiFetchClient) => {\n const getMaintainers = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/maintainers', {}, { signal });\n // The schema types each maintainer's `organizations` as bare objects; `Maintainer` overrides them.\n return data as unknown as Maintainer[];\n };\n\n const getMaintainer = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}',\n { path: { id: maintainerId } },\n { signal },\n );\n // The schema under-models the detail's `organizations`; the backend returns full objects.\n return data as unknown as MaintainerDetail;\n };\n\n const createMaintainer = async (body: CreateMaintainerBody) => {\n const { data } = await client.post('/manage/maintainers', { body });\n return data;\n };\n\n const updateMaintainer = async ({ maintainerId, ...body }: UpdateMaintainerInput) => {\n const { data } = await client.patch('/manage/maintainers/{id}', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n const deleteMaintainer = async (maintainerId: number) => {\n await client.delete('/manage/maintainers/{id}', { path: { id: maintainerId } });\n };\n\n const getMaintainerUsers = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/users',\n { path: { id: maintainerId } },\n { signal },\n );\n // The schema documents only `{ id, name, email }`; the backend also returns features and flags.\n return data as unknown as MaintainerUser[];\n };\n\n const addMaintainerUser = async ({ maintainerId, ...body }: AddMaintainerUserInput) => {\n const { data } = await client.post('/manage/maintainers/{id}/users', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n const removeMaintainerUser = async ({ maintainerId, adminId }: MaintainerUserPath) => {\n await client.delete('/manage/maintainers/{id}/users/{adminId}', {\n path: { id: maintainerId, adminId },\n });\n };\n\n const getMaintainerInvitations = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/invitations',\n { path: { id: maintainerId } },\n { signal },\n );\n return data;\n };\n\n const getMaintainerInvitation = async (\n { maintainerId, invitationId }: MaintainerInvitationPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/invitations/{invitationId}',\n { path: { id: maintainerId, invitationId } },\n { signal },\n );\n return data;\n };\n\n const createMaintainerInvitation = async ({\n maintainerId,\n ...body\n }: CreateMaintainerInvitationInput) => {\n const { data } = await client.post('/manage/maintainers/{id}/invitations', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n const deleteMaintainerInvitation = async ({\n maintainerId,\n invitationId,\n }: MaintainerInvitationPath) => {\n await client.delete('/manage/maintainers/{id}/invitations/{invitationId}', {\n path: { id: maintainerId, invitationId },\n });\n };\n\n const createMaintainerOrganization = async ({\n maintainerId,\n ...body\n }: CreateMaintainerOrganizationInput) => {\n const { data } = await client.post('/manage/maintainers/{id}/organizations', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n const getMaintainerMetadata = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/metadata',\n { path: { id: maintainerId } },\n { signal },\n );\n // The swagger marks no field of the metadata items required; the backend sends them all.\n return data as MetadataItem[];\n };\n\n const setMaintainerMetadata = async ({ maintainerId, ...body }: SetMaintainerMetadataInput) => {\n const { data } = await client.post('/manage/maintainers/{id}/metadata', {\n path: { id: maintainerId },\n body,\n });\n return data as MetadataItem[];\n };\n\n const deleteMaintainerMetadata = async ({\n maintainerId,\n metadataId,\n }: MaintainerMetadataItemPath) => {\n await client.delete('/manage/maintainers/{id}/metadata/{metadataId}', {\n path: { id: maintainerId, metadataId },\n });\n };\n\n const getMaintainerOrganizations = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/organizations',\n { path: { id: maintainerId } },\n { signal },\n );\n return data;\n };\n\n const joinMaintainer = async (maintainerId: number) => {\n await client.post('/manage/maintainers/{id}/join-maintainer', { path: { id: maintainerId } });\n };\n\n const getMaintainerSamlConfigs = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{maintainerId}/saml',\n { path: { maintainerId } },\n { signal },\n );\n return data;\n };\n\n const getMaintainerSamlConfig = async (\n { maintainerId, configId }: SamlConfigPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/maintainers/{maintainerId}/saml/{configId}',\n { path: { maintainerId, configId } },\n { signal },\n );\n return data;\n };\n\n const createMaintainerSamlConfig = async ({ maintainerId, ...body }: CreateSamlConfigInput) => {\n const { data } = await client.post('/manage/maintainers/{maintainerId}/saml', {\n path: { maintainerId },\n body,\n });\n return data;\n };\n\n const updateMaintainerSamlConfig = async ({\n maintainerId,\n configId,\n ...body\n }: UpdateSamlConfigInput) => {\n const { data } = await client.patch('/manage/maintainers/{maintainerId}/saml/{configId}', {\n path: { maintainerId, configId },\n body,\n });\n return data;\n };\n\n const completeMaintainerSamlSetup = async ({\n maintainerId,\n configId,\n ...body\n }: CompleteSamlSetupInput) => {\n const { data } = await client.post(\n '/manage/maintainers/{maintainerId}/saml/{configId}/complete-setup',\n { path: { maintainerId, configId }, body },\n );\n return data;\n };\n\n const deleteMaintainerSamlConfig = async ({ maintainerId, configId }: SamlConfigPath) => {\n await client.delete('/manage/maintainers/{maintainerId}/saml/{configId}', {\n path: { maintainerId, configId },\n });\n };\n\n return {\n getMaintainers,\n getMaintainer,\n createMaintainer,\n updateMaintainer,\n deleteMaintainer,\n getMaintainerUsers,\n addMaintainerUser,\n removeMaintainerUser,\n getMaintainerInvitations,\n getMaintainerInvitation,\n createMaintainerInvitation,\n deleteMaintainerInvitation,\n createMaintainerOrganization,\n getMaintainerMetadata,\n setMaintainerMetadata,\n deleteMaintainerMetadata,\n getMaintainerOrganizations,\n joinMaintainer,\n getMaintainerSamlConfigs,\n getMaintainerSamlConfig,\n createMaintainerSamlConfig,\n updateMaintainerSamlConfig,\n completeMaintainerSamlSetup,\n deleteMaintainerSamlConfig,\n };\n};\n","import type { MetadataItem } from '../maintainers/types';\nimport type { ManagementOpenApiFetchClient } from '../managementClient';\nimport type { Project } from '../projects/types';\n\nimport type {\n AddOrganizationUserInput,\n AdminUser,\n CreateOrganizationInvitationInput,\n CreateOrganizationProjectInput,\n OrganizationDetail,\n OrganizationInvitationPath,\n OrganizationMetadataItemPath,\n OrganizationUserPath,\n SetOrganizationMetadataInput,\n UpdateOrganizationInput,\n} from './types';\n\nexport const createOrganizations = (client: ManagementOpenApiFetchClient) => {\n const getOrganizations = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/organizations', {}, { signal });\n return data;\n };\n\n const getOrganization = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}',\n { path: { id: organizationId } },\n { signal },\n );\n // The schema's `projects` items carry only `{ id, name, created }`; the backend returns more.\n return data as unknown as OrganizationDetail;\n };\n\n const updateOrganization = async ({ organizationId, ...body }: UpdateOrganizationInput) => {\n const { data } = await client.patch('/manage/organizations/{id}', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n const deleteOrganization = async (organizationId: number) => {\n await client.delete('/manage/organizations/{id}', { path: { id: organizationId } });\n };\n\n const forceMfa = async (organizationId: number) => {\n const { data } = await client.patch('/manage/organizations/{id}/force-mfa', {\n path: { id: organizationId },\n });\n return data;\n };\n\n const joinOrganization = async (organizationId: number) => {\n await client.post('/manage/organizations/{id}/join-organization', {\n path: { id: organizationId },\n });\n };\n\n const getOrganizationUsers = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/users',\n { path: { id: organizationId } },\n { signal },\n );\n // The schema documents only `{ id, name, email }`; the backend also returns features and flags.\n return data as unknown as AdminUser[];\n };\n\n const addOrganizationUser = async ({ organizationId, ...body }: AddOrganizationUserInput) => {\n const { data } = await client.post('/manage/organizations/{id}/users', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n const removeOrganizationUser = async ({ organizationId, userId }: OrganizationUserPath) => {\n await client.delete('/manage/organizations/{id}/users/{userId}', {\n path: { id: organizationId, userId },\n });\n };\n\n const getOrganizationProjectsUsers = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/projects-users',\n { path: { id: organizationId } },\n { signal },\n );\n // The schema documents only `{ id, name, email }`; the backend also returns features and flags.\n return data as unknown as AdminUser[];\n };\n\n const getOrganizationInvitations = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/invitations',\n { path: { id: organizationId } },\n { signal },\n );\n return data;\n };\n\n const getOrganizationInvitation = async (\n { organizationId, invitationId }: OrganizationInvitationPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/invitations/{invitationId}',\n { path: { id: organizationId, invitationId } },\n { signal },\n );\n return data;\n };\n\n const createOrganizationInvitation = async ({\n organizationId,\n ...body\n }: CreateOrganizationInvitationInput) => {\n const { data } = await client.post('/manage/organizations/{id}/invitations', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n const deleteOrganizationInvitation = async ({\n organizationId,\n invitationId,\n }: OrganizationInvitationPath) => {\n await client.delete('/manage/organizations/{id}/invitations/{invitationId}', {\n path: { id: organizationId, invitationId },\n });\n };\n\n const getOrganizationProjects = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/projects',\n { path: { id: organizationId } },\n { signal },\n );\n // The schema types the items as a bare object; the backend returns full project objects.\n return data as unknown as Project[];\n };\n\n const createOrganizationProject = async ({\n organizationId,\n ...body\n }: CreateOrganizationProjectInput) => {\n const { data } = await client.post('/manage/organizations/{id}/projects', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n const getOrganizationMetadata = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/metadata',\n { path: { id: organizationId } },\n { signal },\n );\n // The swagger marks no field of the metadata items required; the backend sends them all.\n return data as MetadataItem[];\n };\n\n const setOrganizationMetadata = async ({\n organizationId,\n ...body\n }: SetOrganizationMetadataInput) => {\n const { data } = await client.post('/manage/organizations/{id}/metadata', {\n path: { id: organizationId },\n body,\n });\n return data as MetadataItem[];\n };\n\n const deleteOrganizationMetadata = async ({\n organizationId,\n metadataId,\n }: OrganizationMetadataItemPath) => {\n await client.delete('/manage/organizations/{id}/metadata/{metadataId}', {\n path: { id: organizationId, metadataId },\n });\n };\n\n return {\n getOrganizations,\n getOrganization,\n updateOrganization,\n deleteOrganization,\n forceMfa,\n joinOrganization,\n getOrganizationUsers,\n addOrganizationUser,\n removeOrganizationUser,\n getOrganizationProjectsUsers,\n getOrganizationInvitations,\n getOrganizationInvitation,\n createOrganizationInvitation,\n deleteOrganizationInvitation,\n getOrganizationProjects,\n createOrganizationProject,\n getOrganizationMetadata,\n setOrganizationMetadata,\n deleteOrganizationMetadata,\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\nimport type { User } from '../types';\n\nimport type {\n AddProjectUserBody,\n AddProjectUserPath,\n AssignProjectTemplateFeatureInput,\n ChangeProjectUserRoleInput,\n CreateProjectFeatureBody,\n CreateProjectFeaturePath,\n CreateProjectInvitationBody,\n CreateProjectInvitationPath,\n DeleteProjectInvitationPath,\n DeleteProjectMetadataPath,\n GetProjectMetadataPath,\n GetProjectPath,\n GetProjectReviewersPath,\n JoinProjectInput,\n ListProjectInvitationsPath,\n ListProjectJoinRequestsPath,\n ListProjectUsersPath,\n MoveProjectInput,\n Project,\n ProjectBase,\n ProjectInvitableRole,\n ProjectJoinRequestPath,\n ProjectMetadataItem,\n RemoveProjectFeaturePath,\n RemoveProjectLimitPath,\n RemoveProjectTemplateFeaturePath,\n RemoveProjectUserPath,\n RequestProjectAccessInput,\n Reviewer,\n SetProjectDisabledInput,\n SetProjectLimitsInput,\n SetProjectMetadataBody,\n SetProjectMetadataPath,\n SetProjectReviewersBody,\n SetProjectReviewersPath,\n UpdateProjectInput,\n} from './types';\n\n// The schema types every `projectId` path parameter as a number while these methods accept\n// `number | string`, since legacy call sites hold project ids as strings. Coercing keeps that input\n// contract without widening the schema — `Number('123')` and `123` build the same path.\n//\n// This client is scoped to a project's own settings and membership. Five write endpoints the schema\n// files under `/manage/projects/{projectId}/` reach past that, and are deliberately not exposed here —\n// the capability isn't denied, it just belongs to the namespace that owns it:\n//\n// - `POST …/tokens` — mints a Storage token. Storage tokens live in `api.storage.tokens`, where the\n// permission model is visible at the call site.\n// - `POST …/storage-backend` and its `DELETE`, and `POST …/file-storage` — attach or detach storage\n// infrastructure. `api.management.storageBackends` and `api.management.fileStorage` own that.\n// - `POST …/credits` — grants pay-as-you-go credits; a billing operation with no home here.\n//\n// Add one only alongside a caller that genuinely needs it.\nexport const createProjects = (client: ManagementOpenApiFetchClient) => {\n const getProject = async (projectId: GetProjectPath['projectId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/projects/{projectId}',\n { path: { projectId: Number(projectId) } },\n { signal },\n );\n return data as unknown as Project;\n };\n\n const getProjectTemplates = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/project-templates', {}, { signal });\n return data;\n };\n\n const addProjectFeature = async ({\n projectId,\n feature,\n }: CreateProjectFeaturePath & CreateProjectFeatureBody) => {\n const { data } = await client.post('/manage/projects/{projectId}/features', {\n path: { projectId },\n body: { feature },\n });\n return data as ProjectBase;\n };\n\n const removeProjectFeature = async ({ projectId, feature }: RemoveProjectFeaturePath) => {\n await client.delete('/manage/projects/{projectId}/features/{feature}', {\n path: { projectId, feature },\n });\n return null;\n };\n\n const changeProjectUserRole = async ({ projectId, userId, role }: ChangeProjectUserRoleInput) => {\n const { data } = await client.patch('/manage/projects/{projectId}/users/{userId}', {\n path: { projectId, userId },\n // The schema's role enum lists only the four non-SOX roles; a project with a protected default\n // branch really does accept `productionManager` / `developer` / `reviewer` here.\n body: { role: role as ProjectInvitableRole },\n });\n\n return data as User;\n };\n\n const getProjectUsers = async (\n projectId: ListProjectUsersPath['projectId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/projects/{projectId}/users',\n { path: { projectId: Number(projectId) } },\n { signal },\n );\n // The schema types the items as a bare object; the backend returns full user objects.\n return data as unknown as User[];\n };\n\n const getProjectInvitations = async (\n projectId: ListProjectInvitationsPath['projectId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/projects/{projectId}/invitations',\n { path: { projectId: Number(projectId) } },\n { signal },\n );\n return data;\n };\n\n const createProjectInvitation = async ({\n projectId,\n ...body\n }: CreateProjectInvitationPath & CreateProjectInvitationBody) => {\n const { data } = await client.post('/manage/projects/{projectId}/invitations', {\n path: { projectId },\n // Same schema gap as `changeProjectUserRole` — the SOX roles are accepted but undocumented.\n body: { ...body, role: body.role as ProjectInvitableRole },\n });\n return data;\n };\n\n const deleteProjectInvitation = async ({\n projectId,\n invitationId,\n }: DeleteProjectInvitationPath) => {\n await client.delete('/manage/projects/{projectId}/invitations/{invitationId}', {\n path: { projectId, invitationId },\n });\n return null;\n };\n\n const addProjectUser = async ({\n projectId,\n ...body\n }: AddProjectUserPath & AddProjectUserBody) => {\n // 204 No Content — the endpoint answers with an empty body, not the created user.\n await client.post('/manage/projects/{projectId}/users', { path: { projectId }, body });\n return null;\n };\n\n const removeProjectUser = async ({ projectId, idOrEmail }: RemoveProjectUserPath) => {\n await client.delete('/manage/projects/{projectId}/users/{idOrEmail}', {\n path: { projectId, idOrEmail: String(idOrEmail) },\n });\n return null;\n };\n\n const getProjectJoinRequests = async (\n projectId: ListProjectJoinRequestsPath['projectId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/projects/{projectId}/join-requests',\n { path: { projectId: Number(projectId) } },\n { signal },\n );\n return data;\n };\n\n const approveProjectJoinRequest = async ({\n projectId,\n joinRequestId,\n }: ProjectJoinRequestPath) => {\n await client.put('/manage/projects/{projectId}/join-requests/{joinRequestId}', {\n path: { projectId, joinRequestId },\n });\n return null;\n };\n\n const rejectProjectJoinRequest = async ({ projectId, joinRequestId }: ProjectJoinRequestPath) => {\n await client.delete('/manage/projects/{projectId}/join-requests/{joinRequestId}', {\n path: { projectId, joinRequestId },\n });\n return null;\n };\n\n const getProjectMetadata = async (\n projectId: GetProjectMetadataPath['projectId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/projects/{projectId}/metadata',\n { path: { projectId } },\n { signal },\n );\n // Every field is present on the response; the swagger just declares none of them required.\n return data as ProjectMetadataItem[];\n };\n\n const setProjectMetadata = async ({\n projectId,\n provider,\n metadata,\n }: SetProjectMetadataPath & SetProjectMetadataBody) => {\n const { data } = await client.post('/manage/projects/{projectId}/metadata', {\n path: { projectId },\n body: { provider, metadata },\n });\n return data as ProjectMetadataItem[];\n };\n\n const getProjectReviewers = async (\n projectId: GetProjectReviewersPath['projectId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/projects/{projectId}/reviewers',\n { path: { projectId } },\n { signal },\n );\n return data as Reviewer[];\n };\n\n const setProjectReviewers = async ({\n projectId,\n adminIds,\n }: SetProjectReviewersPath & SetProjectReviewersBody) => {\n await client.put('/manage/projects/{projectId}/reviewers', {\n path: { projectId },\n body: { adminIds },\n });\n };\n\n const updateProject = async ({ projectId, ...body }: UpdateProjectInput) => {\n const { data } = await client.put('/manage/projects/{projectId}', {\n path: { projectId },\n body,\n });\n return data as ProjectBase;\n };\n\n const deleteProject = async (projectId: number) => {\n await client.delete('/manage/projects/{projectId}', { path: { projectId } });\n return null;\n };\n\n const moveProject = async ({ projectId, organizationId }: MoveProjectInput) => {\n const { data } = await client.post('/manage/projects/{projectId}/organizations', {\n path: { projectId },\n body: { organizationId },\n });\n return data as ProjectBase;\n };\n\n const setProjectDisabled = async ({ projectId, ...body }: SetProjectDisabledInput) => {\n const { data } = await client.post('/manage/projects/{projectId}/disabled', {\n path: { projectId },\n body,\n });\n return data as ProjectBase;\n };\n\n const setProjectLimits = async ({ projectId, ...body }: SetProjectLimitsInput) => {\n const { data } = await client.post('/manage/projects/{projectId}/limits', {\n path: { projectId },\n body,\n });\n return data as unknown as Project;\n };\n\n const getProjectTemplate = async (templateId: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/project-templates/{templateId}',\n { path: { templateId } },\n { signal },\n );\n return data;\n };\n\n const getProjectTemplateFeatures = async (templateId: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/project-templates/{templateId}/features',\n { path: { templateId } },\n { signal },\n );\n return data;\n };\n\n const addProjectTemplateFeature = async ({\n templateId,\n ...body\n }: AssignProjectTemplateFeatureInput) => {\n await client.post('/manage/project-templates/{templateId}/features', {\n path: { templateId },\n body,\n });\n };\n\n const removeProjectTemplateFeature = async ({\n templateId,\n featureName,\n }: RemoveProjectTemplateFeaturePath) => {\n await client.delete('/manage/project-templates/{templateId}/features/{featureName}', {\n path: { templateId, featureName },\n });\n };\n\n const getProjectInvitation = async (\n { projectId, invitationId }: DeleteProjectInvitationPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/projects/{projectId}/invitations/{invitationId}',\n { path: { projectId, invitationId } },\n { signal },\n );\n return data;\n };\n\n const getProjectJoinRequest = async (\n { projectId, joinRequestId }: ProjectJoinRequestPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/projects/{projectId}/join-requests/{joinRequestId}',\n { path: { projectId, joinRequestId } },\n { signal },\n );\n return data;\n };\n\n const joinProject = async ({ projectId, ...body }: JoinProjectInput) => {\n await client.post('/manage/projects/{projectId}/join-project', { path: { projectId }, body });\n };\n\n const requestProjectAccess = async ({ projectId, ...body }: RequestProjectAccessInput) => {\n const { data } = await client.post('/manage/projects/{projectId}/request-access', {\n path: { projectId },\n body,\n });\n return data;\n };\n\n const removeProjectLimit = async ({ projectId, limitName }: RemoveProjectLimitPath) => {\n await client.delete('/manage/projects/{projectId}/limits/{limitName}', {\n path: { projectId, limitName },\n });\n };\n\n const deleteProjectMetadata = async ({ projectId, metadataId }: DeleteProjectMetadataPath) => {\n await client.delete('/manage/projects/{projectId}/metadata/{metadataId}', {\n path: { projectId, metadataId },\n });\n };\n\n return {\n getProject,\n getProjectTemplates,\n addProjectFeature,\n removeProjectFeature,\n changeProjectUserRole,\n getProjectUsers,\n getProjectInvitations,\n createProjectInvitation,\n deleteProjectInvitation,\n addProjectUser,\n removeProjectUser,\n getProjectJoinRequests,\n approveProjectJoinRequest,\n rejectProjectJoinRequest,\n getProjectMetadata,\n setProjectMetadata,\n getProjectReviewers,\n setProjectReviewers,\n updateProject,\n deleteProject,\n moveProject,\n setProjectDisabled,\n setProjectLimits,\n getProjectTemplate,\n getProjectTemplateFeatures,\n addProjectTemplateFeature,\n removeProjectTemplateFeature,\n getProjectInvitation,\n getProjectJoinRequest,\n joinProject,\n requestProjectAccess,\n removeProjectLimit,\n deleteProjectMetadata,\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nimport type {\n CreateBigqueryStorageBackendBody,\n CreateSnowflakeStorageBackendBody,\n GetStorageBackendProjectsQuery,\n StorageBackend,\n UpdateBigqueryStorageBackendInput,\n UpdateStorageBackendInput,\n} from './types';\n\nexport const createStorageBackends = (client: ManagementOpenApiFetchClient) => {\n // `StorageBackend` weakens three fields the schema marks required — see its doc comment.\n const getStorageBackend = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get('/manage/storage-backend/{id}', { path: { id } }, { signal });\n return data as StorageBackend;\n };\n\n const getStorageBackends = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/storage-backend', {}, { signal });\n return data as StorageBackend[];\n };\n\n /** Projects assigned to this backend, paginated via `limit`/`offset`. */\n const getStorageBackendProjects = async (\n id: number,\n query?: GetStorageBackendProjectsQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/storage-backend/{id}/projects',\n { path: { id }, query: { limit: query?.limit, offset: query?.offset } },\n { signal },\n );\n return data;\n };\n\n /** Maintainers assigned to this backend — small, unpaginated list. */\n const getStorageBackendMaintainers = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/storage-backend/{id}/maintainers',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const createSnowflakeStorageBackend = async (body: CreateSnowflakeStorageBackendBody) => {\n const { data } = await client.post('/manage/storage-backend/snowflake', { body });\n return data;\n };\n\n const createBigqueryStorageBackend = async (body: CreateBigqueryStorageBackendBody) => {\n const { data } = await client.post('/manage/storage-backend/bigquery', { body });\n return data;\n };\n\n const updateStorageBackend = async ({ id, ...body }: UpdateStorageBackendInput) => {\n const { data } = await client.patch('/manage/storage-backend/{id}', { path: { id }, body });\n return data;\n };\n\n const updateBigqueryStorageBackend = async ({\n id,\n ...body\n }: UpdateBigqueryStorageBackendInput) => {\n const { data } = await client.patch('/manage/storage-backend/{id}/bigquery', {\n path: { id },\n body,\n });\n return data;\n };\n\n const activateStorageBackend = async (backendId: number) => {\n const { data } = await client.post('/manage/storage-backend/{backendId}/activate', {\n path: { backendId },\n });\n return data;\n };\n\n const deleteStorageBackend = async (id: number) => {\n await client.delete('/manage/storage-backend/{id}', { path: { id } });\n };\n\n return {\n getStorageBackend,\n getStorageBackends,\n getStorageBackendProjects,\n getStorageBackendMaintainers,\n createSnowflakeStorageBackend,\n createBigqueryStorageBackend,\n updateStorageBackend,\n updateBigqueryStorageBackend,\n activateStorageBackend,\n deleteStorageBackend,\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nimport type { ActivateUiAppVersionPath, RegisterUiAppBody } from './types';\n\nexport const createUiApps = (client: ManagementOpenApiFetchClient) => {\n const getUiApps = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/ui-apps', {}, { signal });\n return data;\n };\n\n const registerUiApp = async (body: RegisterUiAppBody) => {\n const { data } = await client.post('/manage/ui-apps', { body });\n return data;\n };\n\n const activateUiAppVersion = async ({ id, version }: ActivateUiAppVersionPath) => {\n await client.post('/manage/ui-apps/{id}/activate/{version}', { path: { id, version } });\n };\n\n const deleteUiApp = async (id: string) => {\n await client.delete('/manage/ui-apps/{id}', { path: { id } });\n };\n\n return {\n getUiApps,\n registerUiApp,\n activateUiAppVersion,\n deleteUiApp,\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nimport type {\n AddUserFeatureBody,\n AddUserFeaturePath,\n DeleteUserMetadataPath,\n GetUsersQuery,\n RemoveUserFeaturePath,\n SetUserMetadataInput,\n UpdateUserInput,\n UserDetail,\n UserListItem,\n UserMaintainerMembership,\n UserOrganizationMembership,\n UserProjectMembership,\n} from './types';\n\n// The schema names the path parameters `idOrEmail` / `featureName`; the public arguments keep the\n// names call sites already use. `createPath` percent-encodes every path parameter, so an email must\n// NOT be encoded here as well — doing so double-encodes it (`a@b.com` → `a%2540b.com`).\nexport const createUsers = (client: ManagementOpenApiFetchClient) => {\n const addUserAdminFeature = async (\n { feature, userIdOrMail }: AddUserFeatureBody & AddUserFeaturePath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post(\n '/manage/users/{idOrEmail}/features',\n { path: { idOrEmail: userIdOrMail }, body: { feature } },\n { signal },\n );\n return data;\n };\n\n const removeUserAdminFeature = async (\n { userIdOrMail, feature }: RemoveUserFeaturePath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.delete(\n '/manage/users/{idOrEmail}/features/{featureName}',\n { path: { idOrEmail: userIdOrMail, featureName: feature } },\n { signal },\n );\n return data;\n };\n\n /** Paginated list of all users, filterable via `q` (name/email substring). */\n const getUsers = async (query?: GetUsersQuery, signal?: AbortSignal): Promise<UserListItem[]> => {\n const { data } = await client.get(\n '/manage/users',\n { query: { q: query?.q, limit: query?.limit, offset: query?.offset } },\n { signal },\n );\n return data;\n };\n\n const getUser = async (id: number, signal?: AbortSignal): Promise<UserDetail> => {\n const { data } = await client.get(\n '/manage/users/{idOrEmail}',\n { path: { idOrEmail: String(id) } },\n { signal },\n );\n return data;\n };\n\n const getUserOrganizations = async (\n id: number,\n signal?: AbortSignal,\n ): Promise<UserOrganizationMembership[]> => {\n const { data } = await client.get(\n '/manage/users/{id}/organizations',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const getUserProjects = async (\n id: number,\n signal?: AbortSignal,\n ): Promise<UserProjectMembership[]> => {\n const { data } = await client.get('/manage/users/{id}/projects', { path: { id } }, { signal });\n return data;\n };\n\n const getUserMaintainers = async (\n id: number,\n signal?: AbortSignal,\n ): Promise<UserMaintainerMembership[]> => {\n const { data } = await client.get(\n '/manage/users/{id}/maintainers',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n /** Requires the target user to have MFA enabled (422 otherwise). Superadmin-only. */\n const grantSuperAdmin = async (id: number, signal?: AbortSignal): Promise<UserDetail> => {\n const { data } = await client.post(\n '/manage/users/{id}/super-admin',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const removeSuperAdmin = async (id: number, signal?: AbortSignal): Promise<UserDetail> => {\n const { data } = await client.delete(\n '/manage/users/{idOrEmail}/super-admin',\n { path: { idOrEmail: String(id) } },\n { signal },\n );\n return data;\n };\n\n const disableUserMfa = async (id: number, signal?: AbortSignal): Promise<void> => {\n await client.delete(\n '/manage/users/{idOrEmail}/mfa',\n { path: { idOrEmail: String(id) } },\n { signal },\n );\n };\n\n const deleteUser = async (id: number, signal?: AbortSignal): Promise<void> => {\n await client.delete(\n '/manage/users/{idOrEmail}',\n { path: { idOrEmail: String(id) } },\n { signal },\n );\n };\n\n const updateUser = async ({ id, ...body }: UpdateUserInput) => {\n const { data } = await client.put('/manage/users/{idOrEmail}', {\n path: { idOrEmail: String(id) },\n body,\n });\n return data;\n };\n\n const getUserMetadata = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/users/{idOrEmail}/metadata',\n { path: { idOrEmail: String(id) } },\n { signal },\n );\n return data;\n };\n\n const setUserMetadata = async ({ id, ...body }: SetUserMetadataInput) => {\n const { data } = await client.post('/manage/users/{idOrEmail}/metadata', {\n path: { idOrEmail: String(id) },\n body,\n });\n return data;\n };\n\n const deleteUserMetadata = async ({ id, metadataId }: DeleteUserMetadataPath) => {\n await client.delete('/manage/users/{idOrEmail}/metadata/{metadataId}', {\n path: { idOrEmail: String(id), metadataId },\n });\n };\n\n return {\n addUserAdminFeature,\n removeUserAdminFeature,\n getUsers,\n getUser,\n getUserOrganizations,\n getUserProjects,\n getUserMaintainers,\n grantSuperAdmin,\n removeSuperAdmin,\n disableUserMfa,\n deleteUser,\n updateUser,\n getUserMetadata,\n setUserMetadata,\n deleteUserMetadata,\n };\n};\n","import {\n createGenericFetchClient,\n createOpenapiFetchClient,\n HttpHeader,\n type MiddlewareFn,\n} from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createAuthMiddleware } from './authMiddleware';\nimport { createCurrentUser } from './currentUser';\nimport { createDeletedProjects } from './deletedProjects';\nimport { createFeatures } from './features';\nimport { createFileStorage } from './fileStorage';\nimport { createMaintainers } from './maintainers';\nimport { createOrganizations } from './organizations';\nimport { createProjects } from './projects';\nimport { createStorageBackends } from './storageBackends';\nimport { createUiApps } from './uiApps';\nimport { createUsers } from './users';\nimport { validateManagementStatus } from './validateStatus';\n\nexport type ManagementOpenApiFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport type AuthStrategy =\n | { type: 'management-token'; token?: string }\n | { type: 'bearer'; token: string };\n\n// Only invoked on the raw (no-auth-middleware) path — otherwise the auth middleware\n// owns the Manage API token header.\nconst createAuthHeaders = (auth: AuthStrategy): Record<string, string> => {\n if (auth.type === 'management-token')\n return auth.token ? { [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: auth.token } : {};\n\n return { [HttpHeader.AUTHORIZATION]: `Bearer ${auth.token}` };\n};\n\ntype ManagementClientInitOptions = Omit<ClientInitOptions, 'auth' | 'middlewares'> & {\n auth: AuthStrategy;\n middlewares?: MiddlewareFn[];\n withAuthMiddleware?: boolean;\n};\n\nexport const createManagementClient = ({\n baseUrl,\n middlewares = [],\n auth,\n withAuthMiddleware = true,\n}: ManagementClientInitOptions) => {\n // The auth middleware keeps a long-lived management session alive: it verifies the\n // token and, when it's invalid/expired, mints/refreshes a session token. That self-healing\n // is wrong for a plain \"is this token valid?\" check (it would recurse when used to verify,\n // and mint a session instead of reporting invalid). Pass `withAuthMiddleware: false` to get\n // a raw client that just attaches the token — used for token verification.\n const allMiddlewares =\n withAuthMiddleware && auth.type === 'management-token'\n ? [\n ...middlewares,\n createAuthMiddleware({ baseUrl, accessToken: auth.token }), // 👈 order of middlewares always matters\n ]\n : middlewares;\n\n const headers = withAuthMiddleware ? undefined : createAuthHeaders(auth);\n\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares: allMiddlewares,\n headers,\n validateStatus: validateManagementStatus,\n });\n const genericClient = createGenericFetchClient({ baseUrl, middlewares });\n\n const verifyToken = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/tokens/verify', {}, { signal });\n return data;\n };\n\n // Host-level: Connection serves the storage, management and auth APIs off one baseUrl, so this\n // probes the host, not this API's prefix — `/v2/storage/health-check`, `/manage/health-check`\n // and `/v1/auth/health-check` all 404.\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n return {\n healthCheck,\n currentUser: createCurrentUser(client),\n deletedProjects: createDeletedProjects(client),\n maintainers: createMaintainers(client),\n organizations: createOrganizations(client),\n features: createFeatures(client),\n fileStorage: createFileStorage(client),\n projects: createProjects(client),\n storageBackends: createStorageBackends(client),\n uiApps: createUiApps(client),\n users: createUsers(client),\n verifyToken,\n };\n};\n"]}
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var chunk7RO6PKZ4_cjs = require('./chunk-7RO6PKZ4.cjs');
4
- var chunkMMOAH3EH_cjs = require('./chunk-MMOAH3EH.cjs');
3
+ var chunkK3BLXPLA_cjs = require('./chunk-K3BLXPLA.cjs');
4
+ var chunkHUQ5ATIL_cjs = require('./chunk-HUQ5ATIL.cjs');
5
5
 
6
6
  // src/clients/editor/editorClient.ts
7
7
  var createEditorClient = ({ baseUrl, middlewares, auth }) => {
8
- const client = chunkMMOAH3EH_cjs.createOpenapiFetchClient({
8
+ const client = chunkHUQ5ATIL_cjs.createOpenapiFetchClient({
9
9
  baseUrl,
10
10
  middlewares,
11
- headers: chunk7RO6PKZ4_cjs.createAuthHeaders(auth)
11
+ headers: chunkK3BLXPLA_cjs.createAuthHeaders(auth)
12
12
  });
13
13
  const createSession = async (body) => {
14
14
  const { data } = await client.post("/sql/sessions", {
@@ -92,7 +92,12 @@ var createEditorClient = ({ baseUrl, middlewares, auth }) => {
92
92
  );
93
93
  return data;
94
94
  };
95
+ const healthCheck = async (signal) => {
96
+ const { data } = await client.get("/health-check", {}, { signal });
97
+ return data;
98
+ };
95
99
  return {
100
+ healthCheck,
96
101
  createSession,
97
102
  getSession,
98
103
  getSessions,
@@ -108,5 +113,5 @@ var createEditorClient = ({ baseUrl, middlewares, auth }) => {
108
113
  };
109
114
 
110
115
  exports.createEditorClient = createEditorClient;
111
- //# sourceMappingURL=chunk-UWQUHP3T.cjs.map
112
- //# sourceMappingURL=chunk-UWQUHP3T.cjs.map
116
+ //# sourceMappingURL=chunk-J5JCXSAS.cjs.map
117
+ //# sourceMappingURL=chunk-J5JCXSAS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/clients/editor/editorClient.ts"],"names":["createOpenapiFetchClient","createAuthHeaders"],"mappings":"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","file":"chunk-J5JCXSAS.cjs","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n CreateSqlSessionBody,\n GetSqlSessionPath,\n GetSqlSessionSchemaPath,\n GetSqlSessionSchemaQuery,\n GetSqlSessionsQuery,\n GetSqlSessionTableDdlPath,\n GetSqlSessionTableDdlQuery,\n PostSqlRunQueryBody,\n PostSqlRunQueryPath,\n PostSqlSessionLoadBody,\n PostSqlSessionLoadPath,\n PostSqlSessionUnloadBody,\n PostSqlSessionUnloadPath,\n PostSqlTablePreviewBody,\n PostSqlTablePreviewPath,\n} from './types';\n\nexport const createEditorClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n const createSession = async (body: CreateSqlSessionBody) => {\n const { data } = await client.post('/sql/sessions', {\n body,\n });\n return data;\n };\n\n const getSession = async ({ id }: GetSqlSessionPath, signal?: AbortSignal) => {\n const { data } = await client.get(`/sql/sessions/{id}`, { path: { id } }, { signal });\n return data;\n };\n\n const getSessions = async (query: GetSqlSessionsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(`/sql/sessions`, { query }, { signal });\n\n return data;\n };\n\n const getSessionSchema = async (\n {\n id,\n onlyWorkspaceSchema = '1',\n loadTables = '1',\n }: GetSqlSessionSchemaPath & GetSqlSessionSchemaQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n `/sql/sessions/{id}/schema`,\n {\n path: { id },\n query: { onlyWorkspaceSchema, loadTables },\n },\n { signal },\n );\n return data;\n };\n\n const createQueryJob = async ({ id }: PostSqlRunQueryPath, body: PostSqlRunQueryBody) => {\n const { data } = await client.post(`/sql/sessions/{id}/run-query`, {\n path: { id },\n body,\n });\n return data;\n };\n\n const tablePreview = async ({ id }: PostSqlTablePreviewPath, body: PostSqlTablePreviewBody) => {\n const { data } = await client.post(`/sql/sessions/{id}/table-preview`, {\n path: { id },\n body,\n });\n\n return data;\n };\n\n const tableDefinition = async (\n { id, ...query }: GetSqlSessionTableDdlPath & GetSqlSessionTableDdlQuery,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n `/sql/sessions/{id}/table-ddl`,\n { path: { id }, query },\n { signal },\n );\n return data;\n };\n\n const load = async ({ id }: PostSqlSessionLoadPath, body: PostSqlSessionLoadBody) => {\n const { data } = await client.post(`/sql/sessions/{id}/load`, {\n path: { id },\n body,\n });\n\n return data;\n };\n\n const unload = async ({ id }: PostSqlSessionUnloadPath, body?: PostSqlSessionUnloadBody) => {\n const { data } = await client.post(`/sql/sessions/{id}/unload`, {\n path: { id },\n // BE error: The body is optional; however, without it, the request will fail with the message \"Request content type must be application/json.\"\n // This is expected, as our client cannot correctly determine the content type without the body.\n // This issue should be addressed to indicate that the body is required in their Swagger schema.\n body: body ?? { tableId: null },\n });\n\n return data;\n };\n\n const resetWorkspacePassword = async (id: string) => {\n const { data } = await client.post(`/sql/sessions/{id}/reset-password`, {\n path: { id },\n });\n\n return data;\n };\n\n const getSessionCredentials = async (id: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n `/sql/sessions/{id}/credentials`,\n { path: { id } },\n { signal },\n );\n\n return data;\n };\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await client.get('/health-check', {}, { signal });\n\n return data;\n };\n\n return {\n healthCheck,\n createSession,\n getSession,\n getSessions,\n getSessionSchema,\n createQueryJob,\n tablePreview,\n tableDefinition,\n load,\n unload,\n resetWorkspacePassword,\n getSessionCredentials,\n };\n};\n"]}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkQHD4LPAQ_cjs = require('./chunk-QHD4LPAQ.cjs');
4
- var chunk7RO6PKZ4_cjs = require('./chunk-7RO6PKZ4.cjs');
5
- var chunkMMOAH3EH_cjs = require('./chunk-MMOAH3EH.cjs');
4
+ var chunkK3BLXPLA_cjs = require('./chunk-K3BLXPLA.cjs');
5
+ var chunkHUQ5ATIL_cjs = require('./chunk-HUQ5ATIL.cjs');
6
6
 
7
7
  // src/utils/async/collect.ts
8
8
  var collect = async ({
@@ -28,11 +28,12 @@ var collect = async ({
28
28
 
29
29
  // src/clients/queue/queueClient.ts
30
30
  var createQueueClient = ({ baseUrl, middlewares, auth }) => {
31
- const client = chunkMMOAH3EH_cjs.createOpenapiFetchClient({
31
+ const client = chunkHUQ5ATIL_cjs.createOpenapiFetchClient({
32
32
  baseUrl,
33
33
  middlewares,
34
- headers: chunk7RO6PKZ4_cjs.createAuthHeaders(auth)
34
+ headers: chunkK3BLXPLA_cjs.createAuthHeaders(auth)
35
35
  });
36
+ const genericClient = chunkHUQ5ATIL_cjs.createGenericFetchClient({ baseUrl, middlewares });
36
37
  const getJob = async (jobId, signal) => {
37
38
  const { data } = await client.get(
38
39
  "/jobs/{jobId}",
@@ -96,7 +97,12 @@ var createQueueClient = ({ baseUrl, middlewares, auth }) => {
96
97
  );
97
98
  return data;
98
99
  };
100
+ const healthCheck = async (signal) => {
101
+ const { data } = await genericClient.get("/health-check", {}, { signal });
102
+ return data;
103
+ };
99
104
  return {
105
+ healthCheck,
100
106
  getJob,
101
107
  searchJobs,
102
108
  searchAllJobs,
@@ -109,5 +115,5 @@ var createQueueClient = ({ baseUrl, middlewares, auth }) => {
109
115
 
110
116
  exports.collect = collect;
111
117
  exports.createQueueClient = createQueueClient;
112
- //# sourceMappingURL=chunk-LIXSIM3H.cjs.map
113
- //# sourceMappingURL=chunk-LIXSIM3H.cjs.map
118
+ //# sourceMappingURL=chunk-JI7HLIDL.cjs.map
119
+ //# sourceMappingURL=chunk-JI7HLIDL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/async/collect.ts","../src/clients/queue/queueClient.ts"],"names":["createAbortError","createOpenapiFetchClient","createAuthHeaders","createGenericFetchClient"],"mappings":";;;;;;;AAkBO,IAAM,UAAU,OAAU;AAAA,EAC/B,SAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,KAAuC;AACrC,EAAA,IAAI,MAAA,EAAQ,OAAA,EAAS,MAAMA,kCAAA,CAAiB,OAAO,MAAM,CAAA;AACzD,EAAA,IAAI,UAAU,MAAA,IAAa,KAAA,GAAQ,GAAG,MAAM,IAAI,MAAM,uBAAuB,CAAA;AAC7E,EAAA,IAAI,aAAa,MAAA,IAAa,QAAA,GAAW,GAAG,MAAM,IAAI,MAAM,0BAA0B,CAAA;AAEtF,EAAA,MAAM,QAAa,EAAC;AAEpB,EAAA,IAAI,KAAA,KAAU,GAAG,OAAO,KAAA;AAExB,EAAA,IAAI,MAAA,GAAS,CAAA;AAEb,EAAA,OAAO,IAAA,EAAM;AACX,IAAA,MAAM,KAAA,GAAQ,MAAM,SAAA,CAAU,MAAA,EAAQ,UAAU,MAAM,CAAA;AAEtD,IAAA,KAAA,CAAM,IAAA,CAAK,GAAG,KAAK,CAAA;AACnB,IAAA,MAAA,IAAU,KAAA,CAAM,MAAA;AAEhB,IAAA,IAAI,KAAA,KAAU,UAAa,KAAA,CAAM,MAAA,IAAU,OAAO,OAAO,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,KAAK,CAAA;AAC7E,IAAA,IAAI,QAAA,KAAa,SAAY,KAAA,CAAM,MAAA,KAAW,IAAI,KAAA,CAAM,MAAA,GAAS,UAAU,OAAO,KAAA;AAAA,EACpF;AACF;;;AC3BO,IAAM,oBAAoB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AACtF,EAAA,MAAM,SAASC,0CAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAASC,oCAAkB,IAAI;AAAA,GAChC,CAAA;AACD,EAAA,MAAM,aAAA,GAAgBC,0CAAA,CAAyB,EAAE,OAAA,EAAS,aAAa,CAAA;AAEvE,EAAA,MAAM,MAAA,GAAS,OAAO,KAAA,EAAiC,MAAA,KAAyB;AAC9E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,eAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,KAAA;AAAM,OAChB;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,OAAO,KAAA,EAAyB,MAAA,KAAyB;AAC1E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,cAAA;AAAA,MACA;AAAA,QACE;AAAA,OACF;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,EAA2B,MAAA,KAAyB;AACzE,IAAA,OAAO,OAAA,CAAQ;AAAA,MACb,UAAU,KAAA,CAAM,KAAA;AAAA,MAChB,MAAA;AAAA,MACA,SAAA,EAAW,CAAC,MAAA,EAAQ,QAAA,EAAU,WAAA,KAAgB;AAC5C,QAAA,OAAO,UAAA,CAAW,EAAE,GAAG,KAAA,EAAO,OAAO,QAAA,EAAU,MAAA,IAAU,WAAW,CAAA;AAAA,MACtE;AAAA,KACD,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,SAAA,GAAY,OAAO,IAAA,EAAqB,MAAA,KAAyB;AACrE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA,CAAK,OAAA,EAAS,EAAE,IAAA,EAAK,EAAG,EAAE,MAAA,EAAQ,CAAA;AAEhE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,OAAA,GAAU,OAAO,KAAA,EAA6B,MAAA,KAAyB;AAC3E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,oBAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,KAAA;AAAM,OAChB;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,iBAAA,GAAoB,OAAO,KAAA,EAA+B,MAAA,KAAyB;AACvF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,sBAAA;AAAA,MACA;AAAA,QACE;AAAA,OACF;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,yBAAA,GAA4B,OAChC,KAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,mCAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,KAAA;AAAM,OAChB;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,OAAO,MAAA,KAAyB;AAClD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,aAAA,CAAc,GAAA,CAAI,eAAA,EAAiB,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AAExE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,iBAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-JI7HLIDL.cjs","sourcesContent":["import { createAbortError } from '../createAbortError';\n\nexport type CollectOptions<T> = {\n fetchFrom: (offset: number, pageSize?: number, signal?: AbortSignal) => Promise<T[]>;\n pageSize?: number;\n limit?: number;\n signal?: AbortSignal;\n};\n\n/**\n * Collects items from an offset-paginated endpoint — up to `limit` of them, or all of them when\n * `limit` is omitted. Calls `fetchFrom` sequentially with the offset advancing by the number of\n * items received, and hands it `pageSize` so the request and the traversal agree on one value.\n *\n * Traversal ends on a page shorter than `pageSize`, or — when `pageSize` is omitted — only on an\n * empty page. Passing it therefore saves the trailing request, at the cost of stopping early if the\n * endpoint returns fewer items per page than asked for.\n */\nexport const collect = async <T>({\n fetchFrom,\n pageSize,\n limit,\n signal,\n}: CollectOptions<T>): Promise<T[]> => {\n if (signal?.aborted) throw createAbortError(signal.reason);\n if (limit !== undefined && limit < 0) throw new Error('Invalid collect limit');\n if (pageSize !== undefined && pageSize < 1) throw new Error('Invalid collect pageSize');\n\n const items: T[] = [];\n\n if (limit === 0) return items;\n\n let offset = 0;\n\n while (true) {\n const batch = await fetchFrom(offset, pageSize, signal);\n\n items.push(...batch);\n offset += batch.length;\n\n if (limit !== undefined && items.length >= limit) return items.slice(0, limit);\n if (pageSize === undefined ? batch.length === 0 : batch.length < pageSize) return items;\n }\n};\n","import { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { collect } from '../../utils';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n CreateJobBody,\n GetQueueJobPath,\n KillJobPath,\n OrchestrationRerunPlanPath,\n SearchAllJobsQuery,\n SearchGroupedJobsQuery,\n SearchJobsQuery,\n} from './types';\n\nexport const createQueueClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n const genericClient = createGenericFetchClient({ baseUrl, middlewares });\n\n const getJob = async (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/jobs/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchJobs = async (query?: SearchJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n const searchAllJobs = (query: SearchAllJobsQuery, signal?: AbortSignal) => {\n return collect({\n pageSize: query.limit,\n signal,\n fetchFrom: (offset, pageSize, batchSignal) => {\n return searchJobs({ ...query, limit: pageSize, offset }, batchSignal);\n },\n });\n };\n\n const createJob = async (body: CreateJobBody, signal?: AbortSignal) => {\n const { data } = await client.post('/jobs', { body }, { signal });\n\n return data;\n };\n\n const killJob = async (jobId: KillJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.post(\n '/jobs/{jobId}/kill',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchGroupedJobs = async (query: SearchGroupedJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/grouped-jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n const getOrchestrationRerunPlan = async (\n jobId: OrchestrationRerunPlanPath['jobId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/orchestration-rerun-plan/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n return {\n healthCheck,\n getJob,\n searchJobs,\n searchAllJobs,\n createJob,\n killJob,\n searchGroupedJobs,\n getOrchestrationRerunPlan,\n };\n};\n"]}
@@ -0,0 +1,92 @@
1
+ 'use strict';
2
+
3
+ var chunkS46FMY4G_cjs = require('./chunk-S46FMY4G.cjs');
4
+ var chunkKQENBXPS_cjs = require('./chunk-KQENBXPS.cjs');
5
+ var chunkNH2TQGRL_cjs = require('./chunk-NH2TQGRL.cjs');
6
+
7
+ // src/sdks/queryService/queryServiceSdk.ts
8
+ var DEFAULT_WAIT_FOR_JOB_INTERVAL = 500;
9
+ var DEFAULT_MAX_WAIT_TIME = 3e5;
10
+ var DEFAULT_EXECUTE_QUERY_PAGE_SIZE = 5e3;
11
+ var assertPositiveInteger = (name, value) => {
12
+ if (!Number.isInteger(value) || value <= 0) {
13
+ throw new chunkNH2TQGRL_cjs.ValidationError(`${name} must be a positive integer, got ${value}`);
14
+ }
15
+ };
16
+ var createQueryServiceSdk = ({ queryServiceClient }) => {
17
+ const waitForJob = async (queryJobId, {
18
+ interval = DEFAULT_WAIT_FOR_JOB_INTERVAL,
19
+ maxWaitTime = DEFAULT_MAX_WAIT_TIME,
20
+ signal
21
+ } = {}) => {
22
+ assertPositiveInteger("interval", interval);
23
+ assertPositiveInteger("maxWaitTime", maxWaitTime);
24
+ let result;
25
+ try {
26
+ result = await chunkS46FMY4G_cjs.poll({
27
+ pollFn: () => queryServiceClient.getQueryJob(queryJobId),
28
+ isDone: (status2) => status2.status === "completed" || status2.status === "failed" || status2.status === "canceled",
29
+ interval,
30
+ maxAttempts: Math.max(1, Math.ceil(maxWaitTime / interval)),
31
+ abortSignal: signal
32
+ });
33
+ } catch (error) {
34
+ if (error instanceof chunkS46FMY4G_cjs.PollException && error.message === "PollTimeoutError") {
35
+ throw new chunkKQENBXPS_cjs.QueryJobTimeoutError(`Job did not complete within ${maxWaitTime}ms`, queryJobId);
36
+ }
37
+ throw error;
38
+ }
39
+ const status = result.data;
40
+ if (status.status === "failed") {
41
+ const failedStatements = status.statements.filter((statement) => statement.status === "failed").map((statement) => ({ id: statement.id, error: statement.error }));
42
+ throw new chunkKQENBXPS_cjs.QueryJobError(failedStatements[0]?.error ?? "Job failed", queryJobId, {
43
+ failedStatements
44
+ });
45
+ }
46
+ return status;
47
+ };
48
+ const fetchAllResultPages = async (queryJobId, statementId, pageSize, maxRows) => {
49
+ const allData = [];
50
+ let offset = 0;
51
+ let firstPage;
52
+ while (true) {
53
+ const remaining = maxRows !== void 0 ? maxRows - allData.length : void 0;
54
+ if (remaining !== void 0 && remaining <= 0) break;
55
+ const currentPageSize = remaining !== void 0 ? Math.min(pageSize, remaining) : pageSize;
56
+ const page = await queryServiceClient.getQueryResults(queryJobId, statementId, {
57
+ offset,
58
+ pageSize: currentPageSize
59
+ });
60
+ firstPage ??= page;
61
+ const pageData = page.data ?? [];
62
+ allData.push(...pageData);
63
+ if (pageData.length < currentPageSize) break;
64
+ offset += pageData.length;
65
+ if (firstPage.numberOfRows !== void 0 && allData.length >= firstPage.numberOfRows) break;
66
+ }
67
+ if (!firstPage) {
68
+ throw new Error(`No result pages returned for statement ${statementId}`);
69
+ }
70
+ return { ...firstPage, data: allData };
71
+ };
72
+ const executeQuery = async (branchId, workspaceId, body, options = {}) => {
73
+ const { pageSize = DEFAULT_EXECUTE_QUERY_PAGE_SIZE, maxRows, ...waitOptions } = options;
74
+ assertPositiveInteger("pageSize", pageSize);
75
+ if (maxRows !== void 0) assertPositiveInteger("maxRows", maxRows);
76
+ const { queryJobId } = await queryServiceClient.createQueryJob(branchId, workspaceId, body);
77
+ const status = await waitForJob(queryJobId, waitOptions);
78
+ const results = [];
79
+ for (const statement of status.statements) {
80
+ results.push(await fetchAllResultPages(queryJobId, statement.id, pageSize, maxRows));
81
+ }
82
+ return results;
83
+ };
84
+ return {
85
+ waitForJob,
86
+ executeQuery
87
+ };
88
+ };
89
+
90
+ exports.createQueryServiceSdk = createQueryServiceSdk;
91
+ //# sourceMappingURL=chunk-JWISA775.cjs.map
92
+ //# sourceMappingURL=chunk-JWISA775.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sdks/queryService/queryServiceSdk.ts"],"names":["ValidationError","poll","status","PollException","QueryJobTimeoutError","QueryJobError"],"mappings":"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","file":"chunk-JWISA775.cjs","sourcesContent":["import type { createQueryServiceClient } from '../../clients/queryService';\nimport type {\n GetQueryJobPath,\n JobStatusResponse,\n PostQueryBody,\n PostQueryPath,\n QueryResult,\n} from '../../clients/queryService/types';\nimport { QueryJobError, QueryJobTimeoutError, ValidationError } from '../../errors';\nimport { poll, PollException } from '../../utils/async';\n\nconst DEFAULT_WAIT_FOR_JOB_INTERVAL = 500; // ms\nconst DEFAULT_MAX_WAIT_TIME = 300_000; // 5 minutes\nconst DEFAULT_EXECUTE_QUERY_PAGE_SIZE = 5000;\n\nconst assertPositiveInteger = (name: string, value: number) => {\n if (!Number.isInteger(value) || value <= 0) {\n throw new ValidationError(`${name} must be a positive integer, got ${value}`);\n }\n};\n\nexport type WaitForJobOptions = {\n /** Poll interval in ms. Default: 500. */\n interval?: number;\n /** Give up and throw {@link QueryJobTimeoutError} after this many ms. Default: 300_000 (5 min). */\n maxWaitTime?: number;\n signal?: AbortSignal;\n};\n\nexport type ExecuteQueryOptions = WaitForJobOptions & {\n /** Page size used internally while auto-paginating each statement's results. Default: 5000. */\n pageSize?: number;\n /**\n * Caps the number of rows fetched per statement. Pagination stops once this many rows have been\n * collected. Default: unlimited (fetch every row).\n */\n maxRows?: number;\n};\n\ntype QueryServiceSdkOptions = {\n queryServiceClient: ReturnType<typeof createQueryServiceClient>;\n};\n\n/**\n * Higher-level SDK composing queryService client calls with job polling and result-page\n * auto-pagination for orchestrated workflows — mirrors sdks/storage's `createStorageSdk`.\n */\nexport const createQueryServiceSdk = ({ queryServiceClient }: QueryServiceSdkOptions) => {\n /**\n * Polls a job until it reaches a terminal state (`completed`, `failed`, `canceled`).\n * Throws {@link QueryJobError} if the job fails, {@link QueryJobTimeoutError} if it doesn't reach\n * a terminal state within `maxWaitTime`.\n */\n const waitForJob = async (\n queryJobId: GetQueryJobPath['queryJobId'],\n {\n interval = DEFAULT_WAIT_FOR_JOB_INTERVAL,\n maxWaitTime = DEFAULT_MAX_WAIT_TIME,\n signal,\n }: WaitForJobOptions = {},\n ): Promise<JobStatusResponse> => {\n assertPositiveInteger('interval', interval);\n assertPositiveInteger('maxWaitTime', maxWaitTime);\n\n let result;\n try {\n result = await poll({\n pollFn: () => queryServiceClient.getQueryJob(queryJobId),\n isDone: (status) =>\n status.status === 'completed' ||\n status.status === 'failed' ||\n status.status === 'canceled',\n interval,\n maxAttempts: Math.max(1, Math.ceil(maxWaitTime / interval)),\n abortSignal: signal,\n });\n } catch (error) {\n if (error instanceof PollException && error.message === 'PollTimeoutError') {\n throw new QueryJobTimeoutError(`Job did not complete within ${maxWaitTime}ms`, queryJobId);\n }\n throw error;\n }\n\n const status = result.data;\n if (status.status === 'failed') {\n const failedStatements = status.statements\n .filter((statement) => statement.status === 'failed')\n .map((statement) => ({ id: statement.id, error: statement.error }));\n\n throw new QueryJobError(failedStatements[0]?.error ?? 'Job failed', queryJobId, {\n failedStatements,\n });\n }\n\n return status;\n };\n\n /** Fetches every page of a statement's results, merging them into a single {@link QueryResult}. */\n const fetchAllResultPages = async (\n queryJobId: string,\n statementId: string,\n pageSize: number,\n maxRows: number | undefined,\n ): Promise<QueryResult> => {\n const allData: NonNullable<QueryResult['data']> = [];\n let offset = 0;\n let firstPage: QueryResult | undefined;\n\n while (true) {\n const remaining = maxRows !== undefined ? maxRows - allData.length : undefined;\n if (remaining !== undefined && remaining <= 0) break;\n\n const currentPageSize = remaining !== undefined ? Math.min(pageSize, remaining) : pageSize;\n\n const page = await queryServiceClient.getQueryResults(queryJobId, statementId, {\n offset,\n pageSize: currentPageSize,\n });\n firstPage ??= page;\n\n const pageData = page.data ?? [];\n allData.push(...pageData);\n\n // Stop once a page is shorter than requested (end of the result set, or a statement like DDL\n // that has no rows at all) or once `numberOfRows` — known from the first page — is reached.\n if (pageData.length < currentPageSize) break;\n offset += pageData.length;\n if (firstPage.numberOfRows !== undefined && allData.length >= firstPage.numberOfRows) break;\n }\n\n if (!firstPage) {\n // Unreachable: the loop always issues at least one request (pageSize/maxRows are validated as\n // positive integers by executeQuery), assigning firstPage on the first iteration.\n throw new Error(`No result pages returned for statement ${statementId}`);\n }\n\n return { ...firstPage, data: allData };\n };\n\n /**\n * Submits a query job, waits for completion, and fetches results for every statement —\n * auto-paginating each statement's results so sets larger than `pageSize` come back in full\n * instead of being truncated at the API's default page size.\n */\n const executeQuery = async (\n branchId: PostQueryPath['branchId'],\n workspaceId: PostQueryPath['workspaceId'],\n body: PostQueryBody,\n options: ExecuteQueryOptions = {},\n ): Promise<QueryResult[]> => {\n const { pageSize = DEFAULT_EXECUTE_QUERY_PAGE_SIZE, maxRows, ...waitOptions } = options;\n assertPositiveInteger('pageSize', pageSize);\n if (maxRows !== undefined) assertPositiveInteger('maxRows', maxRows);\n\n const { queryJobId } = await queryServiceClient.createQueryJob(branchId, workspaceId, body);\n const status = await waitForJob(queryJobId, waitOptions);\n\n const results: QueryResult[] = [];\n for (const statement of status.statements) {\n results.push(await fetchAllResultPages(queryJobId, statement.id, pageSize, maxRows));\n }\n\n return results;\n };\n\n return {\n waitForJob,\n executeQuery,\n };\n};\n"]}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var chunkHUQ5ATIL_cjs = require('./chunk-HUQ5ATIL.cjs');
4
+
5
+ // src/clients/auth.ts
6
+ var createAuthHeaders = (auth) => {
7
+ if (auth.type === "sapi-token") return { [chunkHUQ5ATIL_cjs.KeboolaHttpHeader.STORAGE_API_TOKEN]: auth.token };
8
+ return {
9
+ [chunkHUQ5ATIL_cjs.HttpHeader.AUTHORIZATION]: `Bearer ${auth.token}`,
10
+ [chunkHUQ5ATIL_cjs.KeboolaHttpHeader.PROJECT_ID]: auth.projectId.toString()
11
+ };
12
+ };
13
+
14
+ exports.createAuthHeaders = createAuthHeaders;
15
+ //# sourceMappingURL=chunk-K3BLXPLA.cjs.map
16
+ //# sourceMappingURL=chunk-K3BLXPLA.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/clients/auth.ts"],"names":["KeboolaHttpHeader","HttpHeader"],"mappings":";;;;;AAcO,IAAM,iBAAA,GAAoB,CAAC,IAAA,KAA+C;AAC/E,EAAA,IAAI,IAAA,CAAK,IAAA,KAAS,YAAA,EAAc,OAAO,EAAE,CAACA,mCAAA,CAAkB,iBAAiB,GAAG,IAAA,CAAK,KAAA,EAAM;AAM3F,EAAA,OAAO;AAAA,IACL,CAACC,4BAAA,CAAW,aAAa,GAAG,CAAA,OAAA,EAAU,KAAK,KAAK,CAAA,CAAA;AAAA,IAChD,CAACD,mCAAA,CAAkB,UAAU,GAAG,IAAA,CAAK,UAAU,QAAA;AAAS,GAC1D;AACF","file":"chunk-7RO6PKZ4.cjs","sourcesContent":["import { HttpHeader } from '../fetchClient';\nimport { KeboolaHttpHeader } from '../internal';\n\nexport type AuthStrategy =\n | {\n type: 'sapi-token';\n token: string;\n }\n | {\n type: 'bearer';\n token: string;\n projectId: number;\n };\n\nexport const createAuthHeaders = (auth: AuthStrategy): Record<string, string> => {\n if (auth.type === 'sapi-token') return { [KeboolaHttpHeader.STORAGE_API_TOKEN]: auth.token };\n\n // `auth.token` is the bare token; the `Bearer ` wire prefix is added here (mirroring the\n // management client). In the browser bearer flow the bearer auth middleware stamps the\n // Authorization header on every request, so this value only matters for middleware-less\n // clients (e.g. kai-agent's storage token verification).\n return {\n [HttpHeader.AUTHORIZATION]: `Bearer ${auth.token}`,\n [KeboolaHttpHeader.PROJECT_ID]: auth.projectId.toString(),\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/clients/auth.ts"],"names":["KeboolaHttpHeader","HttpHeader"],"mappings":";;;;;AAcO,IAAM,iBAAA,GAAoB,CAAC,IAAA,KAA+C;AAC/E,EAAA,IAAI,IAAA,CAAK,IAAA,KAAS,YAAA,EAAc,OAAO,EAAE,CAACA,mCAAA,CAAkB,iBAAiB,GAAG,IAAA,CAAK,KAAA,EAAM;AAM3F,EAAA,OAAO;AAAA,IACL,CAACC,4BAAA,CAAW,aAAa,GAAG,CAAA,OAAA,EAAU,KAAK,KAAK,CAAA,CAAA;AAAA,IAChD,CAACD,mCAAA,CAAkB,UAAU,GAAG,IAAA,CAAK,UAAU,QAAA;AAAS,GAC1D;AACF","file":"chunk-K3BLXPLA.cjs","sourcesContent":["import { HttpHeader } from '../fetchClient';\nimport { KeboolaHttpHeader } from '../internal';\n\nexport type AuthStrategy =\n | {\n type: 'sapi-token';\n token: string;\n }\n | {\n type: 'bearer';\n token: string;\n projectId: number;\n };\n\nexport const createAuthHeaders = (auth: AuthStrategy): Record<string, string> => {\n if (auth.type === 'sapi-token') return { [KeboolaHttpHeader.STORAGE_API_TOKEN]: auth.token };\n\n // `auth.token` is the bare token; the `Bearer ` wire prefix is added here (mirroring the\n // management client). In the browser bearer flow the bearer auth middleware stamps the\n // Authorization header on every request, so this value only matters for middleware-less\n // clients (e.g. kai-agent's storage token verification).\n return {\n [HttpHeader.AUTHORIZATION]: `Bearer ${auth.token}`,\n [KeboolaHttpHeader.PROJECT_ID]: auth.projectId.toString(),\n };\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { createGenericFetchClient } from './chunk-XHDYLUM4.js';
1
+ import { createGenericFetchClient } from './chunk-2BQBKU6E.js';
2
2
 
3
3
  // src/clients/encryption/encryptionClient.ts
4
4
  var createEncryptionClient = ({
@@ -28,7 +28,12 @@ var createEncryptionClient = ({
28
28
  const encrypt = (data, signal) => _encrypt(data, signal);
29
29
  const encryptSecrets = (data, signal) => _encrypt(data, signal);
30
30
  const encryptScopedSecrets = ({ scope, ...params }, signal) => _encrypt(params, signal);
31
+ const healthCheck = async (signal) => {
32
+ const { data } = await client.get("/health-check", {}, { signal });
33
+ return data;
34
+ };
31
35
  return {
36
+ healthCheck,
32
37
  encryptSecrets,
33
38
  encryptScopedSecrets,
34
39
  encrypt
@@ -36,5 +41,5 @@ var createEncryptionClient = ({
36
41
  };
37
42
 
38
43
  export { createEncryptionClient };
39
- //# sourceMappingURL=chunk-BZA3FGO6.js.map
40
- //# sourceMappingURL=chunk-BZA3FGO6.js.map
44
+ //# sourceMappingURL=chunk-KATUDT3E.js.map
45
+ //# sourceMappingURL=chunk-KATUDT3E.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/clients/encryption/encryptionClient.ts"],"names":[],"mappings":";;;AAKO,IAAM,yBAAyB,CAAC;AAAA,EACrC,OAAA;AAAA,EACA;AACF,CAAA,KAAuC;AACrC,EAAA,MAAM,SAAS,wBAAA,CAAyB;AAAA,IACtC,OAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,MAAM,QAAA,GAAW,OACf,IAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,QAAA,GAAW,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,UAAA;AAAA,MACA;AAAA,QACE,KAAA,EAAO;AAAA,UACL,WAAW,IAAA,CAAK,SAAA;AAAA,UAChB,YAAY,IAAA,CAAK,UAAA;AAAA,UACjB,aAAa,IAAA,CAAK,WAAA;AAAA,UAClB,UAAU,IAAA,CAAK;AAAA,SACjB;AAAA,QACA,MAAM,IAAA,CAAK;AAAA,OACb;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,QAAA,CAAS,IAAA;AAAA,EAClB,CAAA;AAEA,EAAA,MAAM,UAAU,CAAC,IAAA,EAAuC,MAAA,KACtD,QAAA,CAAiB,MAAM,MAAM,CAAA;AAyB/B,EAAA,MAAM,iBAAiB,CACrB,IAAA,EACA,MAAA,KACG,QAAA,CAAY,MAAM,MAAM,CAAA;AAE7B,EAAA,MAAM,oBAAA,GAAuB,CAE3B,EAAE,KAAA,EAAO,GAAG,QAAO,EACnB,MAAA,KACG,QAAA,CAAY,MAAA,EAAQ,MAAM,CAAA;AAE/B,EAAA,MAAM,WAAA,GAAc,OAAO,MAAA,KAAyB;AAClD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,eAAA,EAAiB,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AAEjE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,cAAA;AAAA,IACA,oBAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-KATUDT3E.js","sourcesContent":["import { createGenericFetchClient } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { EncryptBody, EncryptQuery, ScopedSecrets } from './types';\n\nexport const createEncryptionClient = ({\n baseUrl,\n middlewares,\n}: Omit<ClientInitOptions, 'auth'>) => {\n const client = createGenericFetchClient({\n baseUrl,\n middlewares,\n });\n\n const _encrypt = async <T extends string | Record<string, unknown>>(\n data: EncryptQuery & { data: EncryptBody },\n signal?: AbortSignal,\n ) => {\n const response = await client.post<T, void, EncryptQuery, EncryptBody>(\n '/encrypt',\n {\n query: {\n projectId: data.projectId,\n branchType: data.branchType,\n componentId: data.componentId,\n configId: data.configId,\n },\n body: data.data,\n },\n { signal },\n );\n\n return response.data;\n };\n\n const encrypt = (data: EncryptQuery & { data: string }, signal?: AbortSignal) =>\n _encrypt<string>(data, signal);\n\n /**\n * A function that encrypts a given data object using\n * Secret is an attribute prefixed with `#`.\n *\n * @example\n * Input data:\n * {\n * \"name\": \"test\",\n * \"#secret\": \"sensitive-value\",\n * \"nested\": {\n * \"#password\": \"abc123\"\n * }\n *\n * Return:\n * {\n * \"name\": \"test\",\n * \"#secret\": \"KBC:ioeiuropqweurioewu==\",\n * \"nested\": {\n * \"#password\": \"KBC:ioeiuropqweurioewu==\"\n * }\n *\n * @returns A promise resolving to the given data object with encrypted secrets.\n */\n const encryptSecrets = <T extends Record<string, unknown>>(\n data: EncryptQuery & { data: T },\n signal?: AbortSignal,\n ) => _encrypt<T>(data, signal);\n\n const encryptScopedSecrets = <T extends Record<string, unknown>>(\n // oxlint-disable-next-line no-unused-vars\n { scope, ...params }: ScopedSecrets<T>,\n signal?: AbortSignal,\n ) => _encrypt<T>(params, signal);\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await client.get('/health-check', {}, { signal });\n\n return data;\n };\n\n return {\n healthCheck,\n encryptSecrets,\n encryptScopedSecrets,\n encrypt,\n };\n};\n"]}
@@ -0,0 +1,32 @@
1
+ import { createAuthHeaders } from './chunk-5A3AQIXR.js';
2
+ import { createOpenapiFetchClient } from './chunk-2BQBKU6E.js';
3
+
4
+ // src/clients/omnisearch/omnisearchClient.ts
5
+ var createOmnisearchClient = ({ baseUrl, middlewares, auth }) => {
6
+ const client = createOpenapiFetchClient({
7
+ baseUrl,
8
+ middlewares,
9
+ headers: createAuthHeaders(auth)
10
+ });
11
+ const healthCheck = async (signal) => {
12
+ const { data } = await client.get("/health-check", {}, { signal });
13
+ return data;
14
+ };
15
+ const getProjectsLineage = async (query = {}, signal) => {
16
+ const { data } = await client.get("/v1/lineage/projects", { query }, { signal });
17
+ return data;
18
+ };
19
+ const getTablesLineage = async (query, signal) => {
20
+ const { data } = await client.get("/v1/lineage/tables", { query }, { signal });
21
+ return data;
22
+ };
23
+ return {
24
+ healthCheck,
25
+ getProjectsLineage,
26
+ getTablesLineage
27
+ };
28
+ };
29
+
30
+ export { createOmnisearchClient };
31
+ //# sourceMappingURL=chunk-KGBWWS6I.js.map
32
+ //# sourceMappingURL=chunk-KGBWWS6I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/clients/omnisearch/omnisearchClient.ts"],"names":[],"mappings":";;;;AA0BO,IAAM,yBAAyB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AAC3F,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAAS,kBAAkB,IAAI;AAAA,GAChC,CAAA;AAED,EAAA,MAAM,WAAA,GAAc,OAAO,MAAA,KAAyB;AAClD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,eAAA,EAAiB,EAAC,EAAG,EAAE,MAAA,EAAQ,CAAA;AAEjE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAGA,EAAA,MAAM,kBAAA,GAAqB,OAAO,KAAA,GAAiC,IAAI,MAAA,KAAyB;AAC9F,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,sBAAA,EAAwB,EAAE,KAAA,EAAM,EAAG,EAAE,MAAA,EAAQ,CAAA;AAE/E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAGA,EAAA,MAAM,gBAAA,GAAmB,OAAO,KAAA,EAA8B,MAAA,KAAyB;AACrF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA,CAAI,oBAAA,EAAsB,EAAE,KAAA,EAAM,EAAG,EAAE,MAAA,EAAQ,CAAA;AAG7E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,kBAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-KGBWWS6I.js","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n GetProjectsLineageQuery,\n GetTablesLineageQuery,\n TablesLineageResponse,\n} from './types';\n\n/**\n * Omnisearch — data lineage (and, later, cross-project metadata search).\n *\n * **This is not the AI service**, despite sharing its host. The service is\n * `keboola/omnisearch-and-metadata-engine` (FastAPI, deployed as the `omnisearch-service` Helm app);\n * it only *appears* on the `ai` host because `kbc-stacks/apps/ai-service/templates/ingress.yaml`\n * routes `/omnisearch` there. That's why it gets its own client and its own generated schema rather\n * than more methods on `aiClient`: the two are separate deployments with separate specs, and\n * omnisearch publishes its own at `https://ai.keboola.com/omnisearch/openapi.json`\n * (Swagger UI at `/omnisearch/docs`) — absent from ai-service's `docs/swagger.yaml`.\n *\n * Because of that ingress, `baseUrl` must already point past it — the registry composes the AI\n * service URL with `/omnisearch`, so this client takes it as given and request paths are the spec's\n * own (`/v1/...`).\n */\nexport const createOmnisearchClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await client.get('/health-check', {}, { signal });\n\n return data;\n };\n\n /** Project-to-project lineage across the organization the token's project belongs to. */\n const getProjectsLineage = async (query: GetProjectsLineageQuery = {}, signal?: AbortSignal) => {\n const { data } = await client.get('/v1/lineage/projects', { query }, { signal });\n\n return data;\n };\n\n /** Table-, column- and configuration-level lineage within a single project. */\n const getTablesLineage = async (query: GetTablesLineageQuery, signal?: AbortSignal) => {\n const { data } = await client.get('/v1/lineage/tables', { query }, { signal });\n\n // Recast so the fields the spec omits are named rather than `unknown` — see `LineageTable`.\n return data as TablesLineageResponse;\n };\n\n return {\n healthCheck,\n getProjectsLineage,\n getTablesLineage,\n };\n};\n"]}