@keboola/api-client 4.0.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/README.md +34 -6
  2. package/dist/ai/index.cjs +4 -3
  3. package/dist/ai/index.d.cts +26 -9
  4. package/dist/ai/index.d.ts +26 -9
  5. package/dist/ai/index.js +3 -2
  6. package/dist/ai/types.d.cts +2 -2
  7. package/dist/ai/types.d.ts +2 -2
  8. package/dist/assets/index.cjs +4 -3
  9. package/dist/assets/index.d.cts +2 -2
  10. package/dist/assets/index.d.ts +2 -2
  11. package/dist/assets/index.js +3 -2
  12. package/dist/{authMiddleware-Dcy9gRT9.d.ts → authMiddleware-B0p06GYQ.d.ts} +1 -1
  13. package/dist/{authMiddleware-CeIxAJQ5.d.cts → authMiddleware-vNb2hfLP.d.cts} +1 -1
  14. package/dist/chat/index.cjs +4 -3
  15. package/dist/chat/index.d.cts +4 -4
  16. package/dist/chat/index.d.ts +4 -4
  17. package/dist/chat/index.js +3 -2
  18. package/dist/chat/types.d.cts +2 -2
  19. package/dist/chat/types.d.ts +2 -2
  20. package/dist/{chunk-GLQZHLLN.js → chunk-2Q75RQ3X.js} +7 -5
  21. package/dist/chunk-2Q75RQ3X.js.map +1 -0
  22. package/dist/{chunk-OAKTIIG4.js → chunk-4HORTOGH.js} +4 -3
  23. package/dist/chunk-4HORTOGH.js.map +1 -0
  24. package/dist/chunk-4KJRGFNV.cjs +54 -0
  25. package/dist/chunk-4KJRGFNV.cjs.map +1 -0
  26. package/dist/{chunk-HCH4WXK2.cjs → chunk-4S3EKVQT.cjs} +443 -44
  27. package/dist/chunk-4S3EKVQT.cjs.map +1 -0
  28. package/dist/{chunk-RBGTWJ7G.js → chunk-54N7LIDM.js} +8 -6
  29. package/dist/chunk-54N7LIDM.js.map +1 -0
  30. package/dist/{chunk-KOO3ZG5X.cjs → chunk-5XKPYMQL.cjs} +12 -6
  31. package/dist/chunk-5XKPYMQL.cjs.map +1 -0
  32. package/dist/{chunk-HLGMFFDF.js → chunk-5YTV36EI.js} +7 -5
  33. package/dist/chunk-5YTV36EI.js.map +1 -0
  34. package/dist/{chunk-6TUGEXVX.js → chunk-6S4JS7OJ.js} +3 -3
  35. package/dist/{chunk-6TUGEXVX.js.map → chunk-6S4JS7OJ.js.map} +1 -1
  36. package/dist/{chunk-WMJUK4P4.cjs → chunk-AK4ZHM77.cjs} +8 -6
  37. package/dist/chunk-AK4ZHM77.cjs.map +1 -0
  38. package/dist/{chunk-VLSN55I3.cjs → chunk-AWRMGLMT.cjs} +113 -3
  39. package/dist/chunk-AWRMGLMT.cjs.map +1 -0
  40. package/dist/chunk-BBRS2HLH.cjs +46 -0
  41. package/dist/chunk-BBRS2HLH.cjs.map +1 -0
  42. package/dist/chunk-BZO2GTJP.js +44 -0
  43. package/dist/chunk-BZO2GTJP.js.map +1 -0
  44. package/dist/{chunk-RTD3XWBM.cjs → chunk-CFRR7QPR.cjs} +14 -12
  45. package/dist/chunk-CFRR7QPR.cjs.map +1 -0
  46. package/dist/{chunk-4TENBFWN.cjs → chunk-CONUMVLZ.cjs} +11 -6
  47. package/dist/chunk-CONUMVLZ.cjs.map +1 -0
  48. package/dist/{chunk-QXWPUKK2.js → chunk-D2SWTZFS.js} +4 -20
  49. package/dist/chunk-D2SWTZFS.js.map +1 -0
  50. package/dist/{chunk-T23NVI3Q.js → chunk-EEG7YZUY.js} +7 -5
  51. package/dist/chunk-EEG7YZUY.js.map +1 -0
  52. package/dist/{chunk-ECQZAWH3.cjs → chunk-FB3E7VS6.cjs} +8 -6
  53. package/dist/chunk-FB3E7VS6.cjs.map +1 -0
  54. package/dist/chunk-H5DZOHH7.js +338 -0
  55. package/dist/chunk-H5DZOHH7.js.map +1 -0
  56. package/dist/{chunk-MTFRH3R5.cjs → chunk-IDYRJ4K3.cjs} +4 -23
  57. package/dist/chunk-IDYRJ4K3.cjs.map +1 -0
  58. package/dist/{chunk-PM2FAMWT.js → chunk-J5JUQRPD.js} +7 -5
  59. package/dist/chunk-J5JUQRPD.js.map +1 -0
  60. package/dist/{chunk-5DVEQBCD.cjs → chunk-J7EQLDUU.cjs} +11 -9
  61. package/dist/chunk-J7EQLDUU.cjs.map +1 -0
  62. package/dist/{chunk-RBW5ABSQ.js → chunk-JDFNUP4M.js} +126 -7
  63. package/dist/chunk-JDFNUP4M.js.map +1 -0
  64. package/dist/chunk-KCGEV4ZA.cjs +340 -0
  65. package/dist/chunk-KCGEV4ZA.cjs.map +1 -0
  66. package/dist/{chunk-2ZMZ4KWJ.js → chunk-KQ2QNGRX.js} +113 -3
  67. package/dist/chunk-KQ2QNGRX.js.map +1 -0
  68. package/dist/chunk-MQ554O4E.js +52 -0
  69. package/dist/chunk-MQ554O4E.js.map +1 -0
  70. package/dist/chunk-MRHQJNWF.cjs +8 -0
  71. package/dist/chunk-MRHQJNWF.cjs.map +1 -0
  72. package/dist/chunk-MSI6FVGG.js +6 -0
  73. package/dist/chunk-MSI6FVGG.js.map +1 -0
  74. package/dist/{chunk-LBVYZLWL.js → chunk-N37PZ2MB.js} +3 -3
  75. package/dist/{chunk-LBVYZLWL.js.map → chunk-N37PZ2MB.js.map} +1 -1
  76. package/dist/{chunk-LI3BAYDV.cjs → chunk-NFGQHJVB.cjs} +8 -6
  77. package/dist/chunk-NFGQHJVB.cjs.map +1 -0
  78. package/dist/{chunk-IL2PAEG3.cjs → chunk-OVGB3W3A.cjs} +21 -7
  79. package/dist/chunk-OVGB3W3A.cjs.map +1 -0
  80. package/dist/{chunk-6D3MJRXE.cjs → chunk-PWA6XFXA.cjs} +8 -6
  81. package/dist/chunk-PWA6XFXA.cjs.map +1 -0
  82. package/dist/{chunk-7NX56CKZ.js → chunk-QEQAZPWM.js} +441 -41
  83. package/dist/chunk-QEQAZPWM.js.map +1 -0
  84. package/dist/chunk-R7MQGDLC.cjs +61 -0
  85. package/dist/chunk-R7MQGDLC.cjs.map +1 -0
  86. package/dist/{chunk-ZIVZF6M2.cjs → chunk-RPKKOIYG.cjs} +9 -7
  87. package/dist/chunk-RPKKOIYG.cjs.map +1 -0
  88. package/dist/{chunk-BA2JMZP6.cjs → chunk-S4PI2LUQ.cjs} +4 -4
  89. package/dist/{chunk-BA2JMZP6.cjs.map → chunk-S4PI2LUQ.cjs.map} +1 -1
  90. package/dist/chunk-SI5TFV5M.js +54 -0
  91. package/dist/chunk-SI5TFV5M.js.map +1 -0
  92. package/dist/chunk-TD2PFSP6.js +248 -0
  93. package/dist/chunk-TD2PFSP6.js.map +1 -0
  94. package/dist/{chunk-D2ZTB5R2.cjs → chunk-TWP7DBSZ.cjs} +135 -16
  95. package/dist/chunk-TWP7DBSZ.cjs.map +1 -0
  96. package/dist/{chunk-REXMA2IN.cjs → chunk-TXDMA4CT.cjs} +8 -6
  97. package/dist/chunk-TXDMA4CT.cjs.map +1 -0
  98. package/dist/chunk-UUY6LQT6.cjs +267 -0
  99. package/dist/chunk-UUY6LQT6.cjs.map +1 -0
  100. package/dist/chunk-UYZTOVYS.cjs +252 -0
  101. package/dist/chunk-UYZTOVYS.cjs.map +1 -0
  102. package/dist/{chunk-3DW7RIEB.js → chunk-V2MQG3FZ.js} +20 -6
  103. package/dist/chunk-V2MQG3FZ.js.map +1 -0
  104. package/dist/{chunk-5PUNJJAR.js → chunk-VFZVLZC6.js} +7 -5
  105. package/dist/chunk-VFZVLZC6.js.map +1 -0
  106. package/dist/chunk-VKHQ6BWE.cjs +30 -0
  107. package/dist/chunk-VKHQ6BWE.cjs.map +1 -0
  108. package/dist/{chunk-Q6T6GRDR.js → chunk-VUVBYSYM.js} +12 -5
  109. package/dist/chunk-VUVBYSYM.js.map +1 -0
  110. package/dist/{chunk-5YN6FED2.cjs → chunk-W3AFDHXQ.cjs} +13 -6
  111. package/dist/chunk-W3AFDHXQ.cjs.map +1 -0
  112. package/dist/{chunk-V35JLM5Q.js → chunk-WILFTDTS.js} +11 -5
  113. package/dist/chunk-WILFTDTS.js.map +1 -0
  114. package/dist/{chunk-AYXQJONA.cjs → chunk-XLFQJDYZ.cjs} +4 -4
  115. package/dist/chunk-XLFQJDYZ.cjs.map +1 -0
  116. package/dist/{chunk-ZQPET6GI.js → chunk-Y26EBVMH.js} +10 -5
  117. package/dist/chunk-Y26EBVMH.js.map +1 -0
  118. package/dist/{chunk-6HBXNLB7.cjs → chunk-YGAWVMHH.cjs} +8 -6
  119. package/dist/chunk-YGAWVMHH.cjs.map +1 -0
  120. package/dist/{chunk-76Q2CTFV.js → chunk-YIWAUNKU.js} +7 -5
  121. package/dist/chunk-YIWAUNKU.js.map +1 -0
  122. package/dist/{chunk-X73I4PLK.js → chunk-YLK5KBXD.js} +7 -5
  123. package/dist/chunk-YLK5KBXD.js.map +1 -0
  124. package/dist/chunk-ZOREOLGE.js +264 -0
  125. package/dist/chunk-ZOREOLGE.js.map +1 -0
  126. package/dist/{chunk-CQFZ7PGZ.js → chunk-ZPSPCPDQ.js} +7 -5
  127. package/dist/chunk-ZPSPCPDQ.js.map +1 -0
  128. package/dist/{createGenericFetchClient-Cp2By_KQ.d.ts → createGenericFetchClient-Gpom91V-.d.ts} +1 -1
  129. package/dist/{createGenericFetchClient-DuW7iSRy.d.cts → createGenericFetchClient-yfcpR7qD.d.cts} +1 -1
  130. package/dist/{createOpenapiFetchClient-DhL2gQvd.d.ts → createOpenapiFetchClient-B44nXiti.d.ts} +2 -2
  131. package/dist/{createOpenapiFetchClient-BuKDZcLD.d.cts → createOpenapiFetchClient-Ci0-Qe53.d.cts} +2 -2
  132. package/dist/dataScience/index.cjs +6 -4
  133. package/dist/dataScience/index.d.cts +26 -6
  134. package/dist/dataScience/index.d.ts +26 -6
  135. package/dist/dataScience/index.js +4 -2
  136. package/dist/dataScience/types.d.cts +2 -2
  137. package/dist/dataScience/types.d.ts +2 -2
  138. package/dist/domain/permissions/index.cjs +5 -11
  139. package/dist/domain/permissions/index.cjs.map +1 -1
  140. package/dist/domain/permissions/index.d.cts +3 -2
  141. package/dist/domain/permissions/index.d.ts +3 -2
  142. package/dist/domain/permissions/index.js +1 -7
  143. package/dist/domain/permissions/index.js.map +1 -1
  144. package/dist/domain/storageTable/index.cjs +9 -260
  145. package/dist/domain/storageTable/index.cjs.map +1 -1
  146. package/dist/domain/storageTable/index.js +1 -262
  147. package/dist/domain/storageTable/index.js.map +1 -1
  148. package/dist/editor/index.cjs +4 -3
  149. package/dist/editor/index.d.cts +4 -4
  150. package/dist/editor/index.d.ts +4 -4
  151. package/dist/editor/index.js +3 -2
  152. package/dist/editor/types.d.cts +2 -2
  153. package/dist/editor/types.d.ts +2 -2
  154. package/dist/encryption/index.cjs +4 -3
  155. package/dist/encryption/index.d.cts +6 -3
  156. package/dist/encryption/index.d.ts +6 -3
  157. package/dist/encryption/index.js +3 -2
  158. package/dist/encryption/types.d.cts +62 -3
  159. package/dist/encryption/types.d.ts +62 -3
  160. package/dist/import/index.cjs +4 -3
  161. package/dist/import/index.d.cts +2 -2
  162. package/dist/import/index.d.ts +2 -2
  163. package/dist/import/index.js +3 -2
  164. package/dist/index-DzhQuag5.d.cts +1511 -0
  165. package/dist/index-G9ZyDi7K.d.ts +1511 -0
  166. package/dist/index.cjs +348 -159
  167. package/dist/index.cjs.map +1 -1
  168. package/dist/index.d.cts +6016 -1032
  169. package/dist/index.d.ts +6016 -1032
  170. package/dist/index.js +285 -110
  171. package/dist/index.js.map +1 -1
  172. package/dist/management/index.cjs +6 -5
  173. package/dist/management/index.d.cts +137 -69
  174. package/dist/management/index.d.ts +137 -69
  175. package/dist/management/index.js +4 -3
  176. package/dist/management/types.d.cts +2 -2
  177. package/dist/management/types.d.ts +2 -2
  178. package/dist/metastore/index.cjs +4 -3
  179. package/dist/metastore/index.d.cts +5 -5
  180. package/dist/metastore/index.d.ts +5 -5
  181. package/dist/metastore/index.js +3 -2
  182. package/dist/metastore/types.d.cts +2 -2
  183. package/dist/metastore/types.d.ts +2 -2
  184. package/dist/notifications/index.cjs +14 -0
  185. package/dist/notifications/index.cjs.map +1 -0
  186. package/dist/notifications/index.d.cts +46 -0
  187. package/dist/notifications/index.d.ts +46 -0
  188. package/dist/notifications/index.js +5 -0
  189. package/dist/notifications/index.js.map +1 -0
  190. package/dist/notifications/types.cjs +4 -0
  191. package/dist/notifications/types.cjs.map +1 -0
  192. package/dist/notifications/types.d.cts +2 -0
  193. package/dist/notifications/types.d.ts +2 -0
  194. package/dist/notifications/types.js +3 -0
  195. package/dist/notifications/types.js.map +1 -0
  196. package/dist/oauth/index.cjs +4 -3
  197. package/dist/oauth/index.d.cts +2 -2
  198. package/dist/oauth/index.d.ts +2 -2
  199. package/dist/oauth/index.js +3 -2
  200. package/dist/{project-CYhB6rYN.d.cts → project-C_m_tOgy.d.cts} +1 -1
  201. package/dist/{project-Bzslbq4u.d.ts → project-DQLliCsX.d.ts} +1 -1
  202. package/dist/queryService/index.cjs +4 -3
  203. package/dist/queryService/index.d.cts +4 -4
  204. package/dist/queryService/index.d.ts +4 -4
  205. package/dist/queryService/index.js +3 -2
  206. package/dist/queryService/types.d.cts +2 -2
  207. package/dist/queryService/types.d.ts +2 -2
  208. package/dist/queue/index.cjs +4 -3
  209. package/dist/queue/index.d.cts +4 -4
  210. package/dist/queue/index.d.ts +4 -4
  211. package/dist/queue/index.js +3 -2
  212. package/dist/queue/types.d.cts +2 -2
  213. package/dist/queue/types.d.ts +2 -2
  214. package/dist/registry-Xwk-vCjf.d.cts +417 -0
  215. package/dist/registry-Xwk-vCjf.d.ts +417 -0
  216. package/dist/scheduler/index.cjs +14 -0
  217. package/dist/scheduler/index.cjs.map +1 -0
  218. package/dist/scheduler/index.d.cts +75 -0
  219. package/dist/scheduler/index.d.ts +75 -0
  220. package/dist/scheduler/index.js +5 -0
  221. package/dist/scheduler/index.js.map +1 -0
  222. package/dist/scheduler/types.cjs +4 -0
  223. package/dist/scheduler/types.cjs.map +1 -0
  224. package/dist/scheduler/types.d.cts +372 -0
  225. package/dist/scheduler/types.d.ts +372 -0
  226. package/dist/scheduler/types.js +3 -0
  227. package/dist/scheduler/types.js.map +1 -0
  228. package/dist/sdk/configurations/index.cjs +8 -8
  229. package/dist/sdk/configurations/index.cjs.map +1 -1
  230. package/dist/sdk/configurations/index.d.cts +1257 -10
  231. package/dist/sdk/configurations/index.d.ts +1257 -10
  232. package/dist/sdk/configurations/index.js +3 -9
  233. package/dist/sdk/configurations/index.js.map +1 -1
  234. package/dist/sdk/storage/index.cjs +11 -11
  235. package/dist/sdk/storage/index.d.cts +7 -7
  236. package/dist/sdk/storage/index.d.ts +7 -7
  237. package/dist/sdk/storage/index.js +1 -1
  238. package/dist/sdk/tag/index.d.cts +4 -4
  239. package/dist/sdk/tag/index.d.ts +4 -4
  240. package/dist/sdk/tag/types.d.cts +4 -4
  241. package/dist/sdk/tag/types.d.ts +4 -4
  242. package/dist/sdk/vault/index.d.cts +4 -3
  243. package/dist/sdk/vault/index.d.ts +4 -3
  244. package/dist/status/index.cjs +4 -3
  245. package/dist/status/index.d.cts +2 -2
  246. package/dist/status/index.d.ts +2 -2
  247. package/dist/status/index.js +3 -2
  248. package/dist/storage/index.cjs +4 -7
  249. package/dist/storage/index.d.cts +6 -10
  250. package/dist/storage/index.d.ts +6 -10
  251. package/dist/storage/index.js +3 -2
  252. package/dist/storage/types.d.cts +443 -11638
  253. package/dist/storage/types.d.ts +443 -11638
  254. package/dist/storageSdk-TDISOoqX.d.ts +746 -0
  255. package/dist/storageSdk-VlBWkuF3.d.cts +746 -0
  256. package/dist/stream/index.cjs +14 -0
  257. package/dist/stream/index.cjs.map +1 -0
  258. package/dist/stream/index.d.cts +348 -0
  259. package/dist/stream/index.d.ts +348 -0
  260. package/dist/stream/index.js +5 -0
  261. package/dist/stream/index.js.map +1 -0
  262. package/dist/stream/types.cjs +4 -0
  263. package/dist/stream/types.cjs.map +1 -0
  264. package/dist/stream/types.d.cts +2 -0
  265. package/dist/stream/types.d.ts +2 -0
  266. package/dist/stream/types.js +3 -0
  267. package/dist/stream/types.js.map +1 -0
  268. package/dist/syncActions/index.cjs +4 -3
  269. package/dist/syncActions/index.d.cts +4 -7
  270. package/dist/syncActions/index.d.ts +4 -7
  271. package/dist/syncActions/index.js +3 -2
  272. package/dist/syncActions/types.d.cts +1 -1
  273. package/dist/syncActions/types.d.ts +1 -1
  274. package/dist/telemetry/index.cjs +4 -3
  275. package/dist/telemetry/index.d.cts +3 -3
  276. package/dist/telemetry/index.d.ts +3 -3
  277. package/dist/telemetry/index.js +3 -2
  278. package/dist/types-BG8yQyYt.d.ts +15821 -0
  279. package/dist/types-BVldT2vs.d.cts +404 -0
  280. package/dist/{types-CNkgmuhe.d.cts → types-Bc-H4gfv.d.cts} +1 -1
  281. package/dist/{types-CRSKcua9.d.cts → types-BxjcUj-y.d.cts} +1 -1
  282. package/dist/{types-CqWXdTMg.d.ts → types-CFd7q2ed.d.ts} +1 -1
  283. package/dist/types-CS8MYc2k.d.ts +404 -0
  284. package/dist/{types-DBVQGCI1.d.cts → types-CWebeQXy.d.cts} +1 -1
  285. package/dist/{types-Brx8PoEB.d.cts → types-CfEvz7zi.d.cts} +2 -1
  286. package/dist/{types-Dws8mFNY.d.cts → types-CvHPHNH0.d.cts} +5 -2
  287. package/dist/{types-B51cQMrX.d.ts → types-D3Kkh6yW.d.ts} +5 -2
  288. package/dist/{types-DJkU9gvB.d.cts → types-D9cNOf-3.d.cts} +1 -1
  289. package/dist/types-DFWnAftN.d.cts +7523 -0
  290. package/dist/types-DJbXfC2q.d.cts +15821 -0
  291. package/dist/types-DMC601TE.d.cts +14375 -0
  292. package/dist/types-DMC601TE.d.ts +14375 -0
  293. package/dist/{types-C-bd4ArM.d.cts → types-DTkxk0fW.d.cts} +1 -1
  294. package/dist/{types-cH0_hkCW.d.ts → types-DacFMc6L.d.ts} +1 -1
  295. package/dist/types-Dv3vN7M9.d.ts +7523 -0
  296. package/dist/{types-Bom8wyth.d.ts → types-DxJD6LIN.d.cts} +1 -0
  297. package/dist/{types-Bom8wyth.d.cts → types-DxJD6LIN.d.ts} +1 -0
  298. package/dist/{types-DzwzVgyG.d.ts → types-JvKRS8Qd.d.ts} +1 -1
  299. package/dist/{types-BY0tjg2Q.d.ts → types-Mghz1gMD.d.ts} +1 -1
  300. package/dist/{types-C7mpAfq-.d.cts → types-jKnx7Tm_.d.cts} +1 -1
  301. package/dist/{types-C7mpAfq-.d.ts → types-jKnx7Tm_.d.ts} +1 -1
  302. package/dist/{types-D4CDCW-Y.d.ts → types-sxxmo6h9.d.ts} +2 -1
  303. package/dist/{types-CGMJT3JL.d.ts → types-yKV1EX6f.d.ts} +1 -1
  304. package/dist/{utils-BNQZiNOu.d.ts → utils-Cl4emy8g.d.ts} +567 -3
  305. package/dist/{utils-DE09pDTi.d.cts → utils-JsCYFmHj.d.cts} +567 -3
  306. package/dist/vault/index.cjs +4 -3
  307. package/dist/vault/index.d.cts +3 -3
  308. package/dist/vault/index.d.ts +3 -3
  309. package/dist/vault/index.js +3 -2
  310. package/dist/vault/types.d.cts +1 -1
  311. package/dist/vault/types.d.ts +1 -1
  312. package/dist/verify/index.cjs +4 -3
  313. package/dist/verify/index.d.cts +2 -1
  314. package/dist/verify/index.d.ts +2 -1
  315. package/dist/verify/index.js +3 -2
  316. package/package.json +82 -2
  317. package/dist/chunk-2ZMZ4KWJ.js.map +0 -1
  318. package/dist/chunk-3DW7RIEB.js.map +0 -1
  319. package/dist/chunk-4TENBFWN.cjs.map +0 -1
  320. package/dist/chunk-5DVEQBCD.cjs.map +0 -1
  321. package/dist/chunk-5PUNJJAR.js.map +0 -1
  322. package/dist/chunk-5YN6FED2.cjs.map +0 -1
  323. package/dist/chunk-6D3MJRXE.cjs.map +0 -1
  324. package/dist/chunk-6FW72PC2.cjs +0 -29
  325. package/dist/chunk-6FW72PC2.cjs.map +0 -1
  326. package/dist/chunk-6HBXNLB7.cjs.map +0 -1
  327. package/dist/chunk-76Q2CTFV.js.map +0 -1
  328. package/dist/chunk-7NX56CKZ.js.map +0 -1
  329. package/dist/chunk-AYXQJONA.cjs.map +0 -1
  330. package/dist/chunk-CQFZ7PGZ.js.map +0 -1
  331. package/dist/chunk-D2ZTB5R2.cjs.map +0 -1
  332. package/dist/chunk-ECQZAWH3.cjs.map +0 -1
  333. package/dist/chunk-GLQZHLLN.js.map +0 -1
  334. package/dist/chunk-HCH4WXK2.cjs.map +0 -1
  335. package/dist/chunk-HLGMFFDF.js.map +0 -1
  336. package/dist/chunk-IL2PAEG3.cjs.map +0 -1
  337. package/dist/chunk-KOO3ZG5X.cjs.map +0 -1
  338. package/dist/chunk-LI3BAYDV.cjs.map +0 -1
  339. package/dist/chunk-MTFRH3R5.cjs.map +0 -1
  340. package/dist/chunk-OAKTIIG4.js.map +0 -1
  341. package/dist/chunk-PM2FAMWT.js.map +0 -1
  342. package/dist/chunk-Q6T6GRDR.js.map +0 -1
  343. package/dist/chunk-QXWPUKK2.js.map +0 -1
  344. package/dist/chunk-RBGTWJ7G.js.map +0 -1
  345. package/dist/chunk-RBW5ABSQ.js.map +0 -1
  346. package/dist/chunk-REXMA2IN.cjs.map +0 -1
  347. package/dist/chunk-RTD3XWBM.cjs.map +0 -1
  348. package/dist/chunk-T23NVI3Q.js.map +0 -1
  349. package/dist/chunk-V35JLM5Q.js.map +0 -1
  350. package/dist/chunk-VLSN55I3.cjs.map +0 -1
  351. package/dist/chunk-WMJUK4P4.cjs.map +0 -1
  352. package/dist/chunk-X73I4PLK.js.map +0 -1
  353. package/dist/chunk-ZIVZF6M2.cjs.map +0 -1
  354. package/dist/chunk-ZQPET6GI.js.map +0 -1
  355. package/dist/storageClient-DTTDHnLM.d.cts +0 -633
  356. package/dist/storageClient-xm0yUrNc.d.ts +0 -633
  357. package/dist/storageSdk-CxNyfe5Z.d.cts +0 -143
  358. package/dist/storageSdk-bwKHEMB4.d.ts +0 -143
  359. package/dist/types-BTcT8Q0T.d.cts +0 -8605
  360. package/dist/types-BTcT8Q0T.d.ts +0 -8605
  361. package/dist/types-DYMMsuU0.d.cts +0 -78
  362. package/dist/types-DYMMsuU0.d.ts +0 -78
@@ -0,0 +1,248 @@
1
+ import { isPlainObject } from './chunk-MSI6FVGG.js';
2
+ import { ComponentId } from './chunk-SI5TFV5M.js';
3
+ import { z } from 'zod';
4
+
5
+ // src/utils/isEmptyDeep.ts
6
+ var isEmptyDeep = (value) => {
7
+ if (value == null) return true;
8
+ if (Array.isArray(value)) return value.every(isEmptyDeep);
9
+ if (isPlainObject(value)) return Object.values(value).every(isEmptyDeep);
10
+ return false;
11
+ };
12
+ var unwrap = (schema) => schema instanceof z.ZodOptional || schema instanceof z.ZodNullable || schema instanceof z.ZodDefault ? unwrap(schema.unwrap()) : schema;
13
+ var schemaGuidedMerge = (schema, base, patch) => {
14
+ const node = unwrap(schema);
15
+ if (!(node instanceof z.ZodObject) || !isPlainObject(base)) return patch;
16
+ const out = { ...base };
17
+ for (const [key, value] of Object.entries(patch)) {
18
+ if (value === void 0) continue;
19
+ const child = node.shape[key];
20
+ const current = out[key];
21
+ out[key] = child && isPlainObject(current) && isPlainObject(value) ? schemaGuidedMerge(child, current, value) : value;
22
+ }
23
+ return out;
24
+ };
25
+ var appDataGatewaySchema = z.object({
26
+ parameters: z.object({
27
+ db: z.object({
28
+ workspaceId: z.number()
29
+ })
30
+ })
31
+ });
32
+ var dbConnectionSchema = z.object({
33
+ host: z.string().describe("Hostname"),
34
+ port: z.number().describe("Port"),
35
+ user: z.string().describe("Username"),
36
+ "#password": z.string().describe("Password"),
37
+ database: z.string().describe("Database Name")
38
+ });
39
+ var sshTunnelSchema = z.object({
40
+ enabled: z.boolean(),
41
+ sshHost: z.string().optional(),
42
+ user: z.string().optional(),
43
+ sshPort: z.number().optional(),
44
+ /** FTP passive-mode port range (e.g. `10000:10005`); only relevant to FTP extractors. */
45
+ passivePortRange: z.string().optional(),
46
+ keys: z.object({
47
+ public: z.string().optional(),
48
+ "#private": z.string().optional()
49
+ }).optional()
50
+ });
51
+ var sslSchema = z.object({
52
+ enabled: z.boolean(),
53
+ cert: z.string().optional(),
54
+ "#key": z.string().optional(),
55
+ ca: z.string().optional(),
56
+ cipher: z.string().optional(),
57
+ verifyServerCert: z.boolean().optional()
58
+ });
59
+
60
+ // src/sdks/configurations/schemas/wrDb.ts
61
+ var dbConfig = (db) => z.object({ parameters: z.object({ db }) });
62
+ var wrDbMysqlSchema = dbConfig(
63
+ dbConnectionSchema.extend({ ssh: sshTunnelSchema.optional(), ssl: sslSchema.optional() })
64
+ );
65
+ var wrDbPgsqlSchema = dbConfig(
66
+ dbConnectionSchema.extend({ schema: z.string(), ssh: sshTunnelSchema.optional() })
67
+ );
68
+ var wrDbOracleSchema = dbConfig(
69
+ dbConnectionSchema.extend({ schema: z.string().optional(), ssh: sshTunnelSchema.optional() })
70
+ );
71
+ var wrSynapseSchema = dbConfig(
72
+ dbConnectionSchema.extend({ schema: z.string().optional() })
73
+ );
74
+ var wrRedshiftSchema = dbConfig(
75
+ dbConnectionSchema.extend({ schema: z.string(), ssh: sshTunnelSchema.optional() })
76
+ );
77
+ var wrDbMssqlSchema = dbConfig(
78
+ dbConnectionSchema.extend({
79
+ instance: z.string().optional(),
80
+ tdsVersion: z.enum(["7.0", "7.1", "7.2", "7.3", "7.4"]),
81
+ ssh: sshTunnelSchema.optional()
82
+ })
83
+ );
84
+ var wrDbHiveSchema = dbConfig(
85
+ dbConnectionSchema.extend({ ssh: sshTunnelSchema.optional(), ssl: sslSchema.optional() })
86
+ );
87
+ var wrDbImpalaSchema = dbConfig(
88
+ dbConnectionSchema.extend({ auth_mech: z.number(), ssh: sshTunnelSchema.optional() })
89
+ );
90
+ var wrExasolSchema = dbConfig(
91
+ z.object({
92
+ host: z.string(),
93
+ port: z.number(),
94
+ user: z.string(),
95
+ "#password": z.string(),
96
+ "#refresh_token": z.string().optional(),
97
+ schema: z.string()
98
+ })
99
+ );
100
+ var wrFireboltSchema = dbConfig(
101
+ z.object({
102
+ user: z.string(),
103
+ "#password": z.string(),
104
+ database: z.string(),
105
+ aws_api_key_id: z.string(),
106
+ "#aws_api_key_secret": z.string(),
107
+ staging_bucket: z.string(),
108
+ engine_name: z.string().optional()
109
+ })
110
+ );
111
+ var wrHiveCsasSchema = dbConfig(
112
+ dbConnectionSchema.extend({
113
+ kinitPrincipal: z.string(),
114
+ servicePrincipal: z.string(),
115
+ config: z.string(),
116
+ "#keytab": z.string(),
117
+ ssh: sshTunnelSchema.optional()
118
+ })
119
+ );
120
+ var wrThoughtspotSchema = dbConfig(
121
+ dbConnectionSchema.extend({
122
+ schema: z.string().optional(),
123
+ sshUser: z.string(),
124
+ "#sshPassword": z.string()
125
+ })
126
+ );
127
+ var wrSisenseSchema = dbConfig(
128
+ z.object({
129
+ host: z.string(),
130
+ port: z.number(),
131
+ username: z.string(),
132
+ "#password": z.string(),
133
+ database: z.string()
134
+ })
135
+ );
136
+ var snowflakeCommon = dbConnectionSchema.omit({ "#password": true }).extend({ schema: z.string(), warehouse: z.string().optional() });
137
+ var forbidden = z.undefined().optional();
138
+ var wrDbSnowflakeSchema = z.object({
139
+ parameters: z.object({
140
+ db: z.union([
141
+ snowflakeCommon.extend({ "#password": z.string(), "#privateKey": forbidden }),
142
+ snowflakeCommon.extend({ "#privateKey": z.string(), "#password": forbidden })
143
+ ])
144
+ })
145
+ });
146
+ var partialize = (schema) => {
147
+ if (schema instanceof z.ZodObject) return deepPartial(schema);
148
+ if (schema instanceof z.ZodUnion) {
149
+ const options = schema.options.map(partialize);
150
+ return z.union(options);
151
+ }
152
+ return schema;
153
+ };
154
+ var deepPartial = (schema) => {
155
+ const shape = {};
156
+ for (const [key, value] of Object.entries(schema.shape)) {
157
+ const field = value;
158
+ const inner = field instanceof z.ZodOptional ? field.unwrap() : field;
159
+ shape[key] = partialize(inner);
160
+ }
161
+ return z.object(shape).partial();
162
+ };
163
+ var createRegistry = () => {
164
+ const map = /* @__PURE__ */ new Map();
165
+ const registry2 = {
166
+ add(componentId, schema) {
167
+ map.set(componentId, schema);
168
+ return registry2;
169
+ },
170
+ get(componentId) {
171
+ const schema = map.get(componentId);
172
+ if (!schema) throw new Error(`No configuration registered for component "${componentId}".`);
173
+ return { schema, inputSchema: deepPartial(schema) };
174
+ },
175
+ has: (componentId) => map.has(componentId)
176
+ };
177
+ return registry2;
178
+ };
179
+
180
+ // src/sdks/configurations/registry.ts
181
+ var registry = createRegistry().add(ComponentId.WR_DB_MYSQL, wrDbMysqlSchema).add(ComponentId.WR_DB_PGSQL, wrDbPgsqlSchema).add(ComponentId.WR_PAIRITY, wrDbPgsqlSchema).add(ComponentId.WR_DB_ORACLE, wrDbOracleSchema).add(ComponentId.WR_DB_SNOWFLAKE, wrDbSnowflakeSchema).add(ComponentId.WR_DB_SNOWFLAKE_GCS, wrDbSnowflakeSchema).add(ComponentId.WR_DB_SNOWFLAKE_GCS_S3, wrDbSnowflakeSchema).add(ComponentId.WR_SNOWFLAKE_BLOB_STORAGE, wrDbSnowflakeSchema).add(ComponentId.WR_LOOKER_V2, wrDbSnowflakeSchema).add(ComponentId.APP_DATA_GATEWAY, appDataGatewaySchema).add(ComponentId.WR_SYNAPSE, wrSynapseSchema).add(ComponentId.WR_REDSHIFT, wrRedshiftSchema).add(ComponentId.WR_DB_MSSQL, wrDbMssqlSchema).add(ComponentId.WR_DB_HIVE, wrDbHiveSchema).add(ComponentId.WR_HIVE_CSAS, wrHiveCsasSchema).add(ComponentId.WR_DB_IMPALA, wrDbImpalaSchema).add(ComponentId.WR_EXASOL, wrExasolSchema).add(ComponentId.WR_FIREBOLT, wrFireboltSchema).add(ComponentId.WR_THOUGHTSPOT, wrThoughtspotSchema).add(ComponentId.WR_SISENSE, wrSisenseSchema);
182
+
183
+ // src/sdks/configurations/configurationsSdk.ts
184
+ var toConfigResult = (data, schema) => {
185
+ const result = schema.safeParse(data.configuration);
186
+ return {
187
+ data,
188
+ runnable: result.success,
189
+ error: result.error
190
+ };
191
+ };
192
+ var createConfigurationSdk = ({ storageClient, encryptionClient, context }) => {
193
+ const _encrypt = async (componentId, data) => {
194
+ if (isEmptyDeep(data)) return data;
195
+ return encryptionClient.encryptScopedSecrets({
196
+ scope: "ProjectSecure",
197
+ componentId,
198
+ projectId: context.project.sapiToken.owner.id,
199
+ data
200
+ });
201
+ };
202
+ const getConfiguration = async (path) => {
203
+ const data = await storageClient.componentsAndConfigurations.getConfiguration(path);
204
+ const def = registry.get(path.componentId);
205
+ return toConfigResult(data, def.schema);
206
+ };
207
+ const createConfiguration = async (input) => {
208
+ const { componentId, branchId, configuration, ...rest } = input;
209
+ const def = registry.get(componentId);
210
+ const validated = def.inputSchema.parse(configuration);
211
+ const encrypted = await _encrypt(componentId, validated);
212
+ const data = await storageClient.componentsAndConfigurations.createConfiguration({
213
+ ...rest,
214
+ branchId,
215
+ componentId,
216
+ configuration: encrypted
217
+ });
218
+ return toConfigResult(data, def.schema);
219
+ };
220
+ const updateConfiguration = async (input) => {
221
+ const { componentId, branchId, configId, configuration, mode = "merge", ...rest } = input;
222
+ const def = registry.get(componentId);
223
+ const validated = def.inputSchema.parse(configuration);
224
+ const encrypted = await _encrypt(componentId, validated);
225
+ let newConfiguration = encrypted;
226
+ if (mode === "merge") {
227
+ const original = await storageClient.componentsAndConfigurations.getConfiguration({
228
+ componentId,
229
+ branchId,
230
+ configId
231
+ });
232
+ newConfiguration = schemaGuidedMerge(def.schema, original.configuration ?? {}, encrypted);
233
+ }
234
+ const data = await storageClient.componentsAndConfigurations.updateConfiguration({
235
+ ...rest,
236
+ branchId,
237
+ componentId,
238
+ configId,
239
+ configuration: newConfiguration
240
+ });
241
+ return toConfigResult(data, def.schema);
242
+ };
243
+ return { getConfiguration, createConfiguration, updateConfiguration };
244
+ };
245
+
246
+ export { createConfigurationSdk, isEmptyDeep, schemaGuidedMerge };
247
+ //# sourceMappingURL=chunk-TD2PFSP6.js.map
248
+ //# sourceMappingURL=chunk-TD2PFSP6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/isEmptyDeep.ts","../src/utils/schemaGuidedMerge.ts","../src/sdks/configurations/schemas/appDataGatewaySchema.ts","../src/sdks/configurations/schemas/common/dbConnection.ts","../src/sdks/configurations/schemas/common/sshTunnelSchema.ts","../src/sdks/configurations/schemas/common/sslSchema.ts","../src/sdks/configurations/schemas/wrDb.ts","../src/sdks/configurations/schemas/wrDbSnowflakeSchema.ts","../src/sdks/configurations/createRegistry/createRegistry.ts","../src/sdks/configurations/registry.ts","../src/sdks/configurations/configurationsSdk.ts"],"names":["z","registry"],"mappings":"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","file":"chunk-TD2PFSP6.js","sourcesContent":["import { isPlainObject } from './isPlainObject';\n\n/**\n * Is `value` \"deeply empty\" — i.e. carries no leaf data? `null`/`undefined`, `{}`, `[]`, and\n * nested structures whose every leaf is itself empty (e.g. `{ parameters: {} }`) are empty.\n * Any present primitive (string, number, boolean — including `''`) counts as content.\n *\n * Used to skip a pointless encryption round-trip when a validated configuration has nothing\n * to encrypt.\n */\nexport const isEmptyDeep = (value: unknown): boolean => {\n if (value == null) return true;\n if (Array.isArray(value)) return value.every(isEmptyDeep);\n if (isPlainObject(value)) return Object.values(value).every(isEmptyDeep);\n return false;\n};\n","import { z } from 'zod';\n\nimport { isPlainObject } from './isPlainObject';\n\n/** Strip optional/nullable/default wrappers to reach the structural schema node. */\nconst unwrap = (schema: z.core.$ZodType): z.core.$ZodType =>\n schema instanceof z.ZodOptional ||\n schema instanceof z.ZodNullable ||\n schema instanceof z.ZodDefault\n ? unwrap(schema.unwrap())\n : schema;\n\n/**\n * Merge `patch` into `base`, guided by `schema`: descend only through object schemas, merging\n * key-by-key. At every non-object node — a `z.union` (e.g. Snowflake's password|keypair auth),\n * an array, or a primitive — the patch REPLACES the base wholesale. That replace is what lets an\n * update *delete* keys the additive `deepMerge` cannot: switching a credential union to the other\n * variant drops the abandoned variant's secret, because the entire union subtree is swapped.\n *\n * Consequence: a union (or array) subtree is all-or-nothing — the caller must send the complete\n * block, since a partial patch replaces (and so loses) the omitted siblings.\n *\n * Object keys present only in `base` (e.g. `storage`, `processors`, anything the schema omits) are\n * preserved at every level; `undefined` patch values are skipped. Assumes `patch` is already\n * schema-validated (so every object-valued patch key has a matching schema node). Pure — neither\n * argument is mutated.\n */\nexport const schemaGuidedMerge = <T extends Record<string, unknown>>(\n schema: z.core.$ZodType,\n base: T,\n patch: Record<string, unknown>,\n): T => {\n const node = unwrap(schema);\n if (!(node instanceof z.ZodObject) || !isPlainObject(base)) return patch as T;\n\n const out: Record<string, unknown> = { ...base };\n for (const [key, value] of Object.entries(patch)) {\n if (value === undefined) continue;\n const child = node.shape[key];\n const current = out[key];\n out[key] =\n child && isPlainObject(current) && isPlainObject(value)\n ? schemaGuidedMerge(child, current, value)\n : value;\n }\n\n return out as T;\n};\n","import { z } from 'zod';\n\n/**\n * `keboola.app-data-gateway` — the Data Gateway provisions and manages its own Snowflake\n * workspace, so the config carries no credentials: just the id of the workspace it runs\n * against, stored at `parameters.db.workspaceId`.\n */\nexport const appDataGatewaySchema = z.object({\n parameters: z.object({\n db: z.object({\n workspaceId: z.number(),\n }),\n }),\n});\n","import { z } from 'zod';\n\n/**\n * The credential fields shared by virtually every DB writer, stored at `parameters.db`.\n * Components extend this with driver-specific fields (`schema`, `warehouse`, `ssh`, …) and\n * override where they differ (e.g. Snowflake makes `#password` optional). Secret leaves use\n * the `#` prefix the encryption service recognizes.\n */\nexport const dbConnectionSchema = z.object({\n host: z.string().describe('Hostname'),\n port: z.number().describe('Port'),\n user: z.string().describe('Username'),\n '#password': z.string().describe('Password'),\n database: z.string().describe('Database Name'),\n});\n","import { z } from 'zod';\n\nexport const sshTunnelSchema = z.object({\n enabled: z.boolean(),\n sshHost: z.string().optional(),\n user: z.string().optional(),\n sshPort: z.number().optional(),\n /** FTP passive-mode port range (e.g. `10000:10005`); only relevant to FTP extractors. */\n passivePortRange: z.string().optional(),\n keys: z\n .object({\n public: z.string().optional(),\n '#private': z.string().optional(),\n })\n .optional(),\n});\n","import { z } from 'zod';\n\n/** SSL options nested at `parameters.db.ssl` (drivers that support it, e.g. MySQL, Hive). */\nexport const sslSchema = z.object({\n enabled: z.boolean(),\n cert: z.string().optional(),\n '#key': z.string().optional(),\n ca: z.string().optional(),\n cipher: z.string().optional(),\n verifyServerCert: z.boolean().optional(),\n});\n","import { z } from 'zod';\n\nimport { dbConnectionSchema, sshTunnelSchema, sslSchema } from './common';\n\n/** Wrap a `parameters.db` credential schema into the full component config shape. */\nconst dbConfig = <Db extends z.ZodType>(db: Db) => z.object({ parameters: z.object({ db }) });\n\n/** `keboola.wr-db-mysql` — host/port/user/#password/database, optional SSH + SSL tunnels. */\nexport const wrDbMysqlSchema = dbConfig(\n dbConnectionSchema.extend({ ssh: sshTunnelSchema.optional(), ssl: sslSchema.optional() }),\n);\n\n/** `keboola.wr-db-pgsql` — adds a required `schema`, optional SSH. */\nexport const wrDbPgsqlSchema = dbConfig(\n dbConnectionSchema.extend({ schema: z.string(), ssh: sshTunnelSchema.optional() }),\n);\n\n/** `keboola.wr-db-oracle` — optional `schema`, optional SSH. */\nexport const wrDbOracleSchema = dbConfig(\n dbConnectionSchema.extend({ schema: z.string().optional(), ssh: sshTunnelSchema.optional() }),\n);\n\n/** `keboola.wr-synapse` — optional `schema` (defaults to `dbo` in the UI). */\nexport const wrSynapseSchema = dbConfig(\n dbConnectionSchema.extend({ schema: z.string().optional() }),\n);\n\n/** `keboola.wr-redshift-v2` — required `schema`, optional SSH. */\nexport const wrRedshiftSchema = dbConfig(\n dbConnectionSchema.extend({ schema: z.string(), ssh: sshTunnelSchema.optional() }),\n);\n\n/** `keboola.wr-db-mssql-v2` — optional `instance`, required `tdsVersion`, optional SSH. */\nexport const wrDbMssqlSchema = dbConfig(\n dbConnectionSchema.extend({\n instance: z.string().optional(),\n tdsVersion: z.enum(['7.0', '7.1', '7.2', '7.3', '7.4']),\n ssh: sshTunnelSchema.optional(),\n }),\n);\n\n/** `keboola.wr-db-hive` — optional SSH + SSL tunnels. */\nexport const wrDbHiveSchema = dbConfig(\n dbConnectionSchema.extend({ ssh: sshTunnelSchema.optional(), ssl: sslSchema.optional() }),\n);\n\n/** `keboola.wr-db-impala` — adds `auth_mech`, optional SSH. */\nexport const wrDbImpalaSchema = dbConfig(\n dbConnectionSchema.extend({ auth_mech: z.number(), ssh: sshTunnelSchema.optional() }),\n);\n\n// ── Divergent shapes (don't fit the shared db-connection base) ───────────────────────────\n\n/** `kds-team.wr-exasol` — no `database`; SaaS personal-access-token alongside the password. */\nexport const wrExasolSchema = dbConfig(\n z.object({\n host: z.string(),\n port: z.number(),\n user: z.string(),\n '#password': z.string(),\n '#refresh_token': z.string().optional(),\n schema: z.string(),\n }),\n);\n\n/** `kds-team.wr-firebolt` — no host/port; engine + AWS staging credentials. */\nexport const wrFireboltSchema = dbConfig(\n z.object({\n user: z.string(),\n '#password': z.string(),\n database: z.string(),\n aws_api_key_id: z.string(),\n '#aws_api_key_secret': z.string(),\n staging_bucket: z.string(),\n engine_name: z.string().optional(),\n }),\n);\n\n/** `kds-team.wr-hive-csas` — Hive base + Kerberos auth. */\nexport const wrHiveCsasSchema = dbConfig(\n dbConnectionSchema.extend({\n kinitPrincipal: z.string(),\n servicePrincipal: z.string(),\n config: z.string(),\n '#keytab': z.string(),\n ssh: sshTunnelSchema.optional(),\n }),\n);\n\n/** `keboola.wr-thoughtspot` — SSH tunnel creds carried as top-level fields, not nested. */\nexport const wrThoughtspotSchema = dbConfig(\n dbConnectionSchema.extend({\n schema: z.string().optional(),\n sshUser: z.string(),\n '#sshPassword': z.string(),\n }),\n);\n\n/** `keboola.wr-sisense` — uses `username` (not `user`). */\nexport const wrSisenseSchema = dbConfig(\n z.object({\n host: z.string(),\n port: z.number(),\n username: z.string(),\n '#password': z.string(),\n database: z.string(),\n }),\n);\n","import { z } from 'zod';\n\nimport { dbConnectionSchema } from './common';\n\n/**\n * `keboola.wr-db-snowflake` — auth is a union: password OR key-pair (exactly one). The common\n * fields (host/port/user/database/schema/warehouse) are shared; each variant requires its own\n * secret and *forbids the other* (`z.undefined()`), so a config carrying both — or neither —\n * is rejected at runtime and at the type level. Without the `forbidden` half, the variants\n * would be open objects: the extra key is excess (TS allows it) and stripped (Zod accepts it).\n */\nconst snowflakeCommon = dbConnectionSchema\n .omit({ '#password': true })\n .extend({ schema: z.string(), warehouse: z.string().optional() });\n\nconst forbidden = z.undefined().optional();\n\nexport const wrDbSnowflakeSchema = z.object({\n parameters: z.object({\n db: z.union([\n snowflakeCommon.extend({ '#password': z.string(), '#privateKey': forbidden }),\n snowflakeCommon.extend({ '#privateKey': z.string(), '#password': forbidden }),\n ]),\n }),\n});\n","import { z } from 'zod';\n\n/** Deep-partial any schema: objects → keys optional (recursing), unions → each member\n * deep-partialed, anything else left as-is. Lets a union schema (e.g. Snowflake's\n * password | key-pair auth) still produce a partial input schema. */\nconst partialize = (schema: z.ZodType): z.ZodType => {\n if (schema instanceof z.ZodObject) return deepPartial(schema);\n if (schema instanceof z.ZodUnion) {\n const options = (schema.options as z.ZodType[]).map(partialize);\n return z.union(options as [z.ZodType, z.ZodType, ...z.ZodType[]]);\n }\n return schema;\n};\n\nconst deepPartial = (schema: z.ZodObject): z.ZodObject => {\n const shape: Record<string, z.ZodType> = {};\n for (const [key, value] of Object.entries(schema.shape)) {\n const field = value as z.ZodType;\n const inner = field instanceof z.ZodOptional ? (field.unwrap() as z.ZodType) : field;\n shape[key] = partialize(inner);\n }\n return z.object(shape).partial();\n};\n\nexport type Registry<M extends Record<string, z.ZodObject>> = {\n add: <const Id extends string, Schema extends z.ZodObject>(\n componentId: Id,\n schema: Schema,\n ) => Registry<M & Record<Id, Schema>>;\n get: <Id extends keyof M>(\n componentId: Id,\n ) => {\n /** The component's complete runnable schema (precise per id). */\n schema: M[Id];\n /** Its deep-partial — the accepted create/update input. Loose `z.ZodObject` (the precise\n * partial type isn't worth deriving; callers get input typing from `schema` via `z.input`). */\n inputSchema: z.ZodObject;\n };\n has: (componentId: string) => boolean;\n};\n\n/** Extracts the registered component-id union from a registry instance type. */\nexport type InferComponentId<R> = R extends Registry<infer M> ? keyof M & string : never;\n\nexport const createRegistry = (): Registry<Record<never, never>> => {\n const map = new Map<string, z.ZodObject>();\n\n const registry = {\n add(componentId: string, schema: z.ZodObject) {\n map.set(componentId, schema);\n return registry;\n },\n get(componentId: string) {\n const schema = map.get(componentId);\n if (!schema) throw new Error(`No configuration registered for component \"${componentId}\".`);\n return { schema, inputSchema: deepPartial(schema) };\n },\n has: (componentId: string) => map.has(componentId),\n };\n\n return registry as unknown as Registry<Record<never, never>>;\n};\n","import { ComponentId } from '../../constants';\n\nimport { appDataGatewaySchema } from './schemas/appDataGatewaySchema';\nimport {\n wrDbHiveSchema,\n wrDbImpalaSchema,\n wrDbMssqlSchema,\n wrDbMysqlSchema,\n wrDbOracleSchema,\n wrDbPgsqlSchema,\n wrExasolSchema,\n wrFireboltSchema,\n wrHiveCsasSchema,\n wrRedshiftSchema,\n wrSisenseSchema,\n wrSynapseSchema,\n wrThoughtspotSchema,\n} from './schemas/wrDb';\nimport { wrDbSnowflakeSchema } from './schemas/wrDbSnowflakeSchema';\nimport { createRegistry, type GetRegisteredId } from './createRegistry';\n\nexport const registry = createRegistry()\n .add(ComponentId.WR_DB_MYSQL, wrDbMysqlSchema)\n .add(ComponentId.WR_DB_PGSQL, wrDbPgsqlSchema)\n .add(ComponentId.WR_PAIRITY, wrDbPgsqlSchema) // pgsql variant\n .add(ComponentId.WR_DB_ORACLE, wrDbOracleSchema)\n .add(ComponentId.WR_DB_SNOWFLAKE, wrDbSnowflakeSchema)\n .add(ComponentId.WR_DB_SNOWFLAKE_GCS, wrDbSnowflakeSchema)\n .add(ComponentId.WR_DB_SNOWFLAKE_GCS_S3, wrDbSnowflakeSchema)\n .add(ComponentId.WR_SNOWFLAKE_BLOB_STORAGE, wrDbSnowflakeSchema)\n .add(ComponentId.WR_LOOKER_V2, wrDbSnowflakeSchema) // legacy snowflake\n .add(ComponentId.APP_DATA_GATEWAY, appDataGatewaySchema) // snowflake-provisioned\n .add(ComponentId.WR_SYNAPSE, wrSynapseSchema)\n .add(ComponentId.WR_REDSHIFT, wrRedshiftSchema)\n .add(ComponentId.WR_DB_MSSQL, wrDbMssqlSchema)\n .add(ComponentId.WR_DB_HIVE, wrDbHiveSchema)\n .add(ComponentId.WR_HIVE_CSAS, wrHiveCsasSchema)\n .add(ComponentId.WR_DB_IMPALA, wrDbImpalaSchema)\n .add(ComponentId.WR_EXASOL, wrExasolSchema)\n .add(ComponentId.WR_FIREBOLT, wrFireboltSchema)\n .add(ComponentId.WR_THOUGHTSPOT, wrThoughtspotSchema)\n .add(ComponentId.WR_SISENSE, wrSisenseSchema);\n\nexport type RegisteredComponentId = GetRegisteredId<typeof registry>;\n","import type { z } from 'zod';\n\nimport type { createEncryptionClient } from '../../clients/encryption/encryptionClient';\nimport type * as storage from '../../clients/storage';\nimport type {\n BaseComponentConfig,\n ConfigurationPath,\n CreateConfigurationInput,\n UpdateConfigurationInput,\n} from '../../clients/storage/types';\nimport type { createDefaultBranch } from '../../domain/defaultBranch';\nimport type { Project } from '../../domain/project';\nimport { isEmptyDeep } from '../../utils/isEmptyDeep';\nimport { schemaGuidedMerge } from '../../utils/schemaGuidedMerge';\n\nimport { type RegisteredComponentId, registry } from './registry';\n\ntype ConfigurationSdkContext = {\n project: Project;\n defaultBranch: ReturnType<typeof createDefaultBranch>;\n};\n\ntype Options = {\n storageClient: ReturnType<typeof storage.createStorageClient>;\n encryptionClient: ReturnType<typeof createEncryptionClient>;\n context: ConfigurationSdkContext;\n};\n\ntype DeepPartial<T> = T extends object ? { [K in keyof T]?: DeepPartial<T[K]> } : T;\n\ntype ConfigurationSchema<ComponentId extends RegisteredComponentId> = z.input<\n ReturnType<typeof registry.get<ComponentId>>['schema']\n>;\n\ntype TypedConfiguration<ComponentId extends RegisteredComponentId> = {\n componentId: ComponentId;\n configuration: DeepPartial<ConfigurationSchema<ComponentId>>;\n};\n\n/**\n * How an update writes the patch against the stored configuration:\n * - `'merge'` (default) — schema-guided deep merge: object fields patch individually, while a\n * credential union or array subtree is replaced wholesale (so switching auth variants deletes\n * the abandoned secret). Untouched leaves and out-of-schema keys are preserved. Reads the\n * current config first to merge onto.\n * - `'replace'` — store exactly what the caller sends (after validation + encryption); no read,\n * no merge. Completeness is on the caller — any field or sibling key (e.g. `storage`) it omits\n * is gone.\n */\ntype UpdateMode = 'merge' | 'replace';\n\nconst toConfigResult = <ComponentId extends RegisteredComponentId>(\n data: BaseComponentConfig,\n schema: z.ZodType,\n) => {\n const result = schema.safeParse(data.configuration);\n\n return {\n data: data as BaseComponentConfig<ConfigurationSchema<ComponentId>>,\n runnable: result.success,\n error: result.error,\n };\n};\n\nexport const createConfigurationSdk = ({ storageClient, encryptionClient, context }: Options) => {\n const _encrypt = async (\n componentId: RegisteredComponentId,\n data: Record<string, unknown>,\n ): Promise<Record<string, unknown>> => {\n if (isEmptyDeep(data)) return data;\n\n return encryptionClient.encryptScopedSecrets({\n scope: 'ProjectSecure',\n componentId,\n projectId: context.project.sapiToken.owner.id,\n data,\n });\n };\n\n const getConfiguration = async <ComponentId extends RegisteredComponentId>(\n path: ConfigurationPath<ComponentId>,\n ) => {\n const data = await storageClient.componentsAndConfigurations.getConfiguration(path);\n const def = registry.get(path.componentId);\n\n return toConfigResult<ComponentId>(data, def.schema);\n };\n\n const createConfiguration = async <ComponentId extends RegisteredComponentId>(\n input: Omit<CreateConfigurationInput<ComponentId>, 'componentId' | 'configuration'> &\n TypedConfiguration<ComponentId>,\n ) => {\n const { componentId, branchId, configuration, ...rest } = input;\n const def = registry.get(componentId);\n const validated = def.inputSchema.parse(configuration);\n const encrypted = await _encrypt(componentId, validated);\n\n const data = await storageClient.componentsAndConfigurations.createConfiguration({\n ...rest,\n branchId,\n componentId,\n configuration: encrypted,\n });\n\n return toConfigResult<ComponentId>(data, def.schema);\n };\n\n const updateConfiguration = async <ComponentId extends RegisteredComponentId>(\n input: Omit<UpdateConfigurationInput<ComponentId>, 'componentId' | 'configuration'> &\n TypedConfiguration<ComponentId> & { mode?: UpdateMode },\n ) => {\n const { componentId, branchId, configId, configuration, mode = 'merge', ...rest } = input;\n const def = registry.get(componentId);\n\n const validated = def.inputSchema.parse(configuration);\n const encrypted = await _encrypt(componentId, validated);\n\n let newConfiguration: Record<string, unknown> = encrypted;\n if (mode === 'merge') {\n const original = await storageClient.componentsAndConfigurations.getConfiguration({\n componentId,\n branchId,\n configId,\n });\n newConfiguration = schemaGuidedMerge(def.schema, original.configuration ?? {}, encrypted);\n }\n\n const data = await storageClient.componentsAndConfigurations.updateConfiguration({\n ...rest,\n branchId,\n componentId,\n configId,\n configuration: newConfiguration,\n });\n\n return toConfigResult<ComponentId>(data, def.schema);\n };\n\n return { getConfiguration, createConfiguration, updateConfiguration };\n};\n"]}
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunk6FW72PC2_cjs = require('./chunk-6FW72PC2.cjs');
4
- var chunkMTFRH3R5_cjs = require('./chunk-MTFRH3R5.cjs');
3
+ var chunkVKHQ6BWE_cjs = require('./chunk-VKHQ6BWE.cjs');
4
+ var chunkIDYRJ4K3_cjs = require('./chunk-IDYRJ4K3.cjs');
5
+ var chunkR7MQGDLC_cjs = require('./chunk-R7MQGDLC.cjs');
5
6
 
6
7
  // src/errors/ManagementClientAuthError.ts
7
- var ManagementClientAuthError = class extends chunkMTFRH3R5_cjs.ApiError {
8
+ var ManagementClientAuthError = class extends chunkIDYRJ4K3_cjs.ApiError {
8
9
  title;
9
10
  message;
10
11
  constructor(title, message, res) {
@@ -18,9 +19,9 @@ var ManagementClientAuthError = class extends chunkMTFRH3R5_cjs.ApiError {
18
19
  var TOKEN_CACHE_TTL_MS = 6e4;
19
20
  var isManagementClientAuthError = (error) => error instanceof ManagementClientAuthError;
20
21
  var createAuth = (baseUrl) => {
21
- const fetchClient = chunkMTFRH3R5_cjs.createGenericFetchClient({ baseUrl });
22
+ const fetchClient = chunkIDYRJ4K3_cjs.createGenericFetchClient({ baseUrl });
22
23
  const createCurrentUserSessionToken = async (accessToken) => {
23
- const headers = new Headers({ [chunkMTFRH3R5_cjs.KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: accessToken });
24
+ const headers = new Headers({ [chunkR7MQGDLC_cjs.KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: accessToken });
24
25
  const { data } = await fetchClient.post(
25
26
  "/manage/current-user/session-token",
26
27
  {},
@@ -36,14 +37,14 @@ var createAuth = (baseUrl) => {
36
37
  // transform valid response, to invalid and throw custom error
37
38
  validateStatus: (apiResponse) => {
38
39
  const { response } = apiResponse;
39
- const isTextContent = response.headers.get(chunkMTFRH3R5_cjs.HttpHeader.CONTENT_TYPE)?.includes(chunkMTFRH3R5_cjs.HttpContentType.TEXT_HTML);
40
+ const isTextContent = response.headers.get(chunkIDYRJ4K3_cjs.HttpHeader.CONTENT_TYPE)?.includes(chunkIDYRJ4K3_cjs.HttpContentType.TEXT_HTML);
40
41
  if (isTextContent)
41
42
  return new ManagementClientAuthError(
42
43
  "Your session expired",
43
44
  "You will be logged out automatically.",
44
45
  apiResponse
45
46
  );
46
- return chunkMTFRH3R5_cjs.defaultValidateStatus(apiResponse);
47
+ return chunkIDYRJ4K3_cjs.defaultValidateStatus(apiResponse);
47
48
  }
48
49
  }
49
50
  );
@@ -59,7 +60,7 @@ var createAuthMiddleware = ({
59
60
  baseUrl
60
61
  }) => {
61
62
  const auth = createAuth(baseUrl);
62
- const verify = chunk6FW72PC2_cjs.createVerifyClient();
63
+ const verify = chunkVKHQ6BWE_cjs.createVerifyClient();
63
64
  let token = accessToken;
64
65
  let tokenValidUntil = 0;
65
66
  let inflightAuth = null;
@@ -88,7 +89,7 @@ var createAuthMiddleware = ({
88
89
  });
89
90
  }
90
91
  const validToken = await inflightAuth;
91
- request.request.headers.set(chunkMTFRH3R5_cjs.KeboolaHttpHeader.MANAGEMENT_API_TOKEN, validToken);
92
+ request.request.headers.set(chunkR7MQGDLC_cjs.KeboolaHttpHeader.MANAGEMENT_API_TOKEN, validToken);
92
93
  return next(request);
93
94
  };
94
95
  };
@@ -196,8 +197,35 @@ var createFeatures = (client) => {
196
197
  );
197
198
  return data;
198
199
  };
200
+ const getFeature = async (featureId, signal) => {
201
+ const { data } = await client.get(
202
+ "/manage/features/{featureId}",
203
+ { path: { featureId } },
204
+ { signal }
205
+ );
206
+ return data;
207
+ };
208
+ const getFeatureProjects = async (featureId, signal) => {
209
+ const { data } = await client.get(
210
+ "/manage/features/{featureId}/projects",
211
+ { path: { featureId } },
212
+ { signal }
213
+ );
214
+ return data;
215
+ };
216
+ const getFeatureAdmins = async (featureId, signal) => {
217
+ const { data } = await client.get(
218
+ "/manage/features/{featureId}/admins",
219
+ { path: { featureId } },
220
+ { signal }
221
+ );
222
+ return data;
223
+ };
199
224
  return {
200
- getAllFeatures
225
+ getAllFeatures,
226
+ getFeature,
227
+ getFeatureProjects,
228
+ getFeatureAdmins
201
229
  };
202
230
  };
203
231
 
@@ -564,6 +592,54 @@ var createProjects = (client) => {
564
592
  );
565
593
  return data;
566
594
  };
595
+ const getProjectInvitations = async (projectId, signal) => {
596
+ const { data } = await client.get(
597
+ "/manage/projects/{projectId}/invitations",
598
+ { path: { projectId } },
599
+ { signal }
600
+ );
601
+ return data;
602
+ };
603
+ const createProjectInvitation = async ({
604
+ projectId,
605
+ ...body
606
+ }) => {
607
+ const { data } = await client.post("/manage/projects/{projectId}/invitations", {
608
+ path: { projectId },
609
+ body
610
+ });
611
+ return data;
612
+ };
613
+ const deleteProjectInvitation = async ({
614
+ projectId,
615
+ invitationId
616
+ }) => {
617
+ const { data } = await client.delete(
618
+ "/manage/projects/{projectId}/invitations/{invitationId}",
619
+ { path: { projectId, invitationId } }
620
+ );
621
+ return data;
622
+ };
623
+ const addProjectUser = async ({
624
+ projectId,
625
+ ...body
626
+ }) => {
627
+ const { data } = await client.post(
628
+ "/manage/projects/{projectId}/users",
629
+ {
630
+ path: { projectId },
631
+ body
632
+ }
633
+ );
634
+ return data;
635
+ };
636
+ const removeProjectUser = async ({ projectId, idOrEmail }) => {
637
+ const { data } = await client.delete(
638
+ "/manage/projects/{projectId}/users/{idOrEmail}",
639
+ { path: { projectId, idOrEmail } }
640
+ );
641
+ return data;
642
+ };
567
643
  const getProjectMetadata = async (projectId, signal) => {
568
644
  const { data } = await client.get(
569
645
  "/manage/projects/{projectId}/metadata",
@@ -601,16 +677,59 @@ var createProjects = (client) => {
601
677
  });
602
678
  return data;
603
679
  };
680
+ const updateProject = async ({
681
+ projectId,
682
+ ...body
683
+ }) => {
684
+ const { data } = await client.put(
685
+ "/manage/projects/{projectId}",
686
+ { path: { projectId }, body }
687
+ );
688
+ return data;
689
+ };
690
+ const deleteProject = async (projectId) => {
691
+ const { data } = await client.delete(
692
+ "/manage/projects/{projectId}",
693
+ { path: { projectId } }
694
+ );
695
+ return data;
696
+ };
697
+ const moveProject = async ({
698
+ projectId,
699
+ organizationId
700
+ }) => {
701
+ const { data } = await client.post(
702
+ "/manage/projects/{projectId}/organizations",
703
+ { path: { projectId }, body: { organizationId } }
704
+ );
705
+ return data;
706
+ };
707
+ const setProjectDisabled = async ({
708
+ projectId,
709
+ ...body
710
+ }) => {
711
+ const { data } = await client.post("/manage/projects/{projectId}/disabled", { path: { projectId }, body });
712
+ return data;
713
+ };
604
714
  return {
605
715
  getProject,
606
716
  addProjectFeature,
607
717
  removeProjectFeature,
608
718
  changeProjectUserRole,
609
719
  getProjectUsers,
720
+ getProjectInvitations,
721
+ createProjectInvitation,
722
+ deleteProjectInvitation,
723
+ addProjectUser,
724
+ removeProjectUser,
610
725
  getProjectMetadata,
611
726
  setProjectMetadata,
612
727
  getProjectReviewers,
613
- setProjectReviewers
728
+ setProjectReviewers,
729
+ updateProject,
730
+ deleteProject,
731
+ moveProject,
732
+ setProjectDisabled
614
733
  };
615
734
  };
616
735
 
@@ -653,11 +772,11 @@ var createManagementClient = ({
653
772
  authMiddleware
654
773
  // 👈 beware order of middlewares always matter
655
774
  ];
656
- const client = chunkMTFRH3R5_cjs.createGenericFetchClient({
775
+ const client = chunkIDYRJ4K3_cjs.createGenericFetchClient({
657
776
  baseUrl,
658
777
  middlewares: allMiddlewares
659
778
  });
660
- const openApiClient = chunkMTFRH3R5_cjs.createOpenapiFetchClient({
779
+ const openApiClient = chunkIDYRJ4K3_cjs.createOpenapiFetchClient({
661
780
  baseUrl,
662
781
  middlewares: allMiddlewares
663
782
  });
@@ -667,9 +786,9 @@ var createManagementClient = ({
667
786
  };
668
787
  return {
669
788
  currentUser: createCurrentUser(openApiClient),
670
- features: createFeatures(client),
671
789
  maintainers: createMaintainers(openApiClient),
672
790
  organizations: createOrganizations(openApiClient),
791
+ features: createFeatures(client),
673
792
  projects: createProjects(client),
674
793
  users: createUsers(client),
675
794
  verifyToken
@@ -679,5 +798,5 @@ var createManagementClient = ({
679
798
  exports.ManagementClientAuthError = ManagementClientAuthError;
680
799
  exports.createManagementClient = createManagementClient;
681
800
  exports.isManagementClientAuthError = isManagementClientAuthError;
682
- //# sourceMappingURL=chunk-D2ZTB5R2.cjs.map
683
- //# sourceMappingURL=chunk-D2ZTB5R2.cjs.map
801
+ //# sourceMappingURL=chunk-TWP7DBSZ.cjs.map
802
+ //# sourceMappingURL=chunk-TWP7DBSZ.cjs.map