@keboola/api-client 39.0.0 → 40.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 (518) hide show
  1. package/AGENTS.md +121 -100
  2. package/API-SURFACE.md +23 -2
  3. package/CHANGELOG.md +120 -0
  4. package/README.md +3 -3
  5. package/dist/{ManagementClientAuthError-FcfMJNhr.cjs → ManagementClientAuthError-DE7lNGZQ.cjs} +2 -2
  6. package/dist/{ManagementClientAuthError-FcfMJNhr.cjs.map → ManagementClientAuthError-DE7lNGZQ.cjs.map} +1 -1
  7. package/dist/{ManagementClientAuthError-Cr9IOsnJ.js → ManagementClientAuthError-H30lti_Q.js} +2 -2
  8. package/dist/{ManagementClientAuthError-Cr9IOsnJ.js.map → ManagementClientAuthError-H30lti_Q.js.map} +1 -1
  9. package/dist/{ValidationError-CLVJCCwH.cjs → ValidationError-D65QU0uq.cjs} +10 -16
  10. package/dist/ValidationError-D65QU0uq.cjs.map +1 -0
  11. package/dist/ValidationError-DjhtNMfZ.js +42 -0
  12. package/dist/ValidationError-DjhtNMfZ.js.map +1 -0
  13. package/dist/ai/index.cjs +2 -2
  14. package/dist/ai/index.d.cts +2 -2
  15. package/dist/ai/index.d.ts +2 -2
  16. package/dist/ai/index.js +2 -2
  17. package/dist/ai/types.d.cts +1 -1
  18. package/dist/ai/types.d.ts +1 -1
  19. package/dist/{appLogs-C_zP0lpv.cjs → appLogs-B9zFJIuy.cjs} +2 -2
  20. package/dist/{appLogs-C_zP0lpv.cjs.map → appLogs-B9zFJIuy.cjs.map} +1 -1
  21. package/dist/{appLogs-Cl7Q_MR9.js → appLogs-BBkkUOW1.js} +2 -2
  22. package/dist/{appLogs-Cl7Q_MR9.js.map → appLogs-BBkkUOW1.js.map} +1 -1
  23. package/dist/{appLogs-Ch7DYpzx.d.ts → appLogs-BS6ViVGR.d.ts} +2 -2
  24. package/dist/{appLogs-D5A13Y0y.d.cts → appLogs-C9YlJ2g8.d.cts} +2 -2
  25. package/dist/apps/index.cjs +30 -56
  26. package/dist/apps/index.cjs.map +1 -1
  27. package/dist/apps/index.d.cts +8 -13
  28. package/dist/apps/index.d.ts +8 -13
  29. package/dist/apps/index.js +30 -56
  30. package/dist/apps/index.js.map +1 -1
  31. package/dist/apps/types.d.cts +2 -2
  32. package/dist/apps/types.d.ts +2 -2
  33. package/dist/assets/index.cjs +1 -1
  34. package/dist/assets/index.d.cts +1 -1
  35. package/dist/assets/index.d.ts +1 -1
  36. package/dist/assets/index.js +1 -1
  37. package/dist/auth/index.cjs +8 -4
  38. package/dist/auth/index.d.cts +2 -2
  39. package/dist/auth/index.d.ts +2 -2
  40. package/dist/auth/index.js +2 -2
  41. package/dist/auth/types.d.cts +2 -2
  42. package/dist/auth/types.d.ts +2 -2
  43. package/dist/{auth-DLWnl18b.cjs → auth-Dm0F2rOh.cjs} +2 -2
  44. package/dist/{auth-DLWnl18b.cjs.map → auth-Dm0F2rOh.cjs.map} +1 -1
  45. package/dist/{auth-BjmkFOgd.js → auth-DworfoPy.js} +2 -2
  46. package/dist/{auth-BjmkFOgd.js.map → auth-DworfoPy.js.map} +1 -1
  47. package/dist/{authClient-8yU1last.cjs → authClient-BmuUo0J4.cjs} +141 -48
  48. package/dist/authClient-BmuUo0J4.cjs.map +1 -0
  49. package/dist/{authClient-CTHNs6Tq.d.cts → authClient-CHXWJ9x3.d.ts} +109 -76
  50. package/dist/{authClient-BTo4Afm6.js → authClient-CgcDGd30.js} +108 -39
  51. package/dist/authClient-CgcDGd30.js.map +1 -0
  52. package/dist/{authClient-D8i3JTM-.d.ts → authClient-vEt_7_uk.d.cts} +109 -76
  53. package/dist/billing/index.cjs +2 -2
  54. package/dist/billing/index.d.cts +1 -1
  55. package/dist/billing/index.d.ts +1 -1
  56. package/dist/billing/index.js +2 -2
  57. package/dist/billing/types.d.cts +1 -1
  58. package/dist/billing/types.d.ts +1 -1
  59. package/dist/businessWorkspaceApi/index.cjs +1 -1
  60. package/dist/businessWorkspaceApi/index.d.cts +1 -1
  61. package/dist/businessWorkspaceApi/index.d.ts +1 -1
  62. package/dist/businessWorkspaceApi/index.js +1 -1
  63. package/dist/businessWorkspaceApi/types.d.cts +1 -1
  64. package/dist/businessWorkspaceApi/types.d.ts +1 -1
  65. package/dist/{businessWorkspaceApi-wyBdbpIJ.cjs → businessWorkspaceApi-6tCDdpnY.cjs} +3 -3
  66. package/dist/{businessWorkspaceApi-wyBdbpIJ.cjs.map → businessWorkspaceApi-6tCDdpnY.cjs.map} +1 -1
  67. package/dist/{businessWorkspaceApi-BD-iUj07.js → businessWorkspaceApi-BLUdefRF.js} +3 -3
  68. package/dist/{businessWorkspaceApi-BD-iUj07.js.map → businessWorkspaceApi-BLUdefRF.js.map} +1 -1
  69. package/dist/{businessWorkspaceApiClient-CRM1U8b-.d.cts → businessWorkspaceApiClient-BHDJlHFo.d.cts} +3 -3
  70. package/dist/{businessWorkspaceApiClient-C2WyWN3b.d.ts → businessWorkspaceApiClient-DI-z1VIH.d.ts} +3 -3
  71. package/dist/chat/index.cjs +7 -3
  72. package/dist/chat/index.cjs.map +1 -1
  73. package/dist/chat/index.d.cts +2 -2
  74. package/dist/chat/index.d.ts +2 -2
  75. package/dist/chat/index.js +7 -3
  76. package/dist/chat/index.js.map +1 -1
  77. package/dist/chat/types.cjs +1 -3
  78. package/dist/chat/types.cjs.map +1 -1
  79. package/dist/chat/types.d.cts +2 -2
  80. package/dist/chat/types.d.ts +2 -2
  81. package/dist/chat/types.js +1 -3
  82. package/dist/chat/types.js.map +1 -1
  83. package/dist/{componentId-DkyQ8PM0.cjs → componentId-57vjsa2i.cjs} +4 -2
  84. package/dist/{componentId-DkyQ8PM0.cjs.map → componentId-57vjsa2i.cjs.map} +1 -1
  85. package/dist/{componentId-vJz-kWs6.js → componentId-C6WZa_R1.js} +4 -2
  86. package/dist/{componentId-vJz-kWs6.js.map → componentId-C6WZa_R1.js.map} +1 -1
  87. package/dist/{concurrent-CH9fbNr3.js → concurrent-BacWxPwi.js} +5 -7
  88. package/dist/concurrent-BacWxPwi.js.map +1 -0
  89. package/dist/{concurrent-tbiIa0UL.cjs → concurrent-CdVfR1N5.cjs} +5 -7
  90. package/dist/concurrent-CdVfR1N5.cjs.map +1 -0
  91. package/dist/{configurations-VtNE0nrT.js → configurations-BPKGGy-M.js} +14 -22
  92. package/dist/configurations-BPKGGy-M.js.map +1 -0
  93. package/dist/{configurations-CyFF9Dtu.cjs → configurations-BTRHVSRq.cjs} +20 -53
  94. package/dist/configurations-BTRHVSRq.cjs.map +1 -0
  95. package/dist/{configurations-BVvcimzo.js → configurations-Chg_JwJ1.js} +20 -53
  96. package/dist/configurations-Chg_JwJ1.js.map +1 -0
  97. package/dist/{configurations-zkNjr73Q.cjs → configurations-IYyOvhI3.cjs} +14 -22
  98. package/dist/configurations-IYyOvhI3.cjs.map +1 -0
  99. package/dist/constants/index.cjs +1 -1
  100. package/dist/constants/index.d.cts +1 -1
  101. package/dist/constants/index.d.ts +1 -1
  102. package/dist/constants/index.js +1 -1
  103. package/dist/{createFetchClient-BlgPbjFj.cjs → createFetchClient-Cwp8max9.cjs} +11 -4
  104. package/dist/createFetchClient-Cwp8max9.cjs.map +1 -0
  105. package/dist/{createFetchClient-C-cadpBx.js → createFetchClient-DXHQK63w.js} +11 -4
  106. package/dist/createFetchClient-DXHQK63w.js.map +1 -0
  107. package/dist/{createGenericFetchClient-Bnf1QK9W.js → createGenericFetchClient-Dg1rgzmG.js} +2 -2
  108. package/dist/{createGenericFetchClient-Bnf1QK9W.js.map → createGenericFetchClient-Dg1rgzmG.js.map} +1 -1
  109. package/dist/{createGenericFetchClient-lcozzwk2.cjs → createGenericFetchClient-Dl9cqTvR.cjs} +2 -2
  110. package/dist/{createGenericFetchClient-lcozzwk2.cjs.map → createGenericFetchClient-Dl9cqTvR.cjs.map} +1 -1
  111. package/dist/{createOpenapiFetchClient-C3UmDXpe.cjs → createOpenapiFetchClient-BYqW-9tm.cjs} +2 -2
  112. package/dist/{createOpenapiFetchClient-C3UmDXpe.cjs.map → createOpenapiFetchClient-BYqW-9tm.cjs.map} +1 -1
  113. package/dist/{createOpenapiFetchClient-COaPeeQ0.js → createOpenapiFetchClient-DZUOVupy.js} +2 -2
  114. package/dist/{createOpenapiFetchClient-COaPeeQ0.js.map → createOpenapiFetchClient-DZUOVupy.js.map} +1 -1
  115. package/dist/dataScience/index.cjs +2 -2
  116. package/dist/dataScience/index.d.cts +2 -2
  117. package/dist/dataScience/index.d.ts +2 -2
  118. package/dist/dataScience/index.js +2 -2
  119. package/dist/dataScience/types.d.cts +2 -2
  120. package/dist/dataScience/types.d.ts +2 -2
  121. package/dist/{dataScience-D-hyc4GY.cjs → dataScience-B5QxZnvW.cjs} +5 -5
  122. package/dist/{dataScience-D-hyc4GY.cjs.map → dataScience-B5QxZnvW.cjs.map} +1 -1
  123. package/dist/{dataScience-B_BmnB1m.js → dataScience-OXcwdk1p.js} +5 -5
  124. package/dist/{dataScience-B_BmnB1m.js.map → dataScience-OXcwdk1p.js.map} +1 -1
  125. package/dist/dedupe-Cky1gSUu.js +21 -0
  126. package/dist/dedupe-Cky1gSUu.js.map +1 -0
  127. package/dist/dedupe-OSnnst2u.cjs +26 -0
  128. package/dist/dedupe-OSnnst2u.cjs.map +1 -0
  129. package/dist/developerPortal/index.cjs +1 -1
  130. package/dist/developerPortal/index.d.cts +2 -2
  131. package/dist/developerPortal/index.d.ts +2 -2
  132. package/dist/developerPortal/index.js +1 -1
  133. package/dist/developerPortal/types.d.cts +1 -1
  134. package/dist/developerPortal/types.d.ts +1 -1
  135. package/dist/{developerPortalClient-yHFTkKPb.js → developerPortalClient-B1QZ1rYi.js} +6 -8
  136. package/dist/{developerPortalClient-yHFTkKPb.js.map → developerPortalClient-B1QZ1rYi.js.map} +1 -1
  137. package/dist/{developerPortalClient-CutPqoAa.cjs → developerPortalClient-CLPpBksD.cjs} +6 -8
  138. package/dist/{developerPortalClient-CutPqoAa.cjs.map → developerPortalClient-CLPpBksD.cjs.map} +1 -1
  139. package/dist/domain/permissions/index.cjs +9 -30
  140. package/dist/domain/permissions/index.cjs.map +1 -1
  141. package/dist/domain/permissions/index.d.cts +29 -102
  142. package/dist/domain/permissions/index.d.ts +29 -102
  143. package/dist/domain/permissions/index.js +9 -30
  144. package/dist/domain/permissions/index.js.map +1 -1
  145. package/dist/domain/storageTable/index.d.cts +1 -1
  146. package/dist/domain/storageTable/index.d.ts +1 -1
  147. package/dist/editor/index.cjs +2 -2
  148. package/dist/editor/index.cjs.map +1 -1
  149. package/dist/editor/index.d.cts +2 -2
  150. package/dist/editor/index.d.ts +2 -2
  151. package/dist/editor/index.js +2 -2
  152. package/dist/editor/index.js.map +1 -1
  153. package/dist/editor/types.d.cts +1 -1
  154. package/dist/editor/types.d.ts +1 -1
  155. package/dist/encryption/index.cjs +2 -22
  156. package/dist/encryption/index.cjs.map +1 -1
  157. package/dist/encryption/index.d.cts +1 -1
  158. package/dist/encryption/index.d.ts +1 -1
  159. package/dist/encryption/index.js +2 -22
  160. package/dist/encryption/index.js.map +1 -1
  161. package/dist/encryption/types.d.cts +1 -1
  162. package/dist/encryption/types.d.ts +1 -1
  163. package/dist/import/index.cjs +1 -1
  164. package/dist/import/index.d.cts +3 -3
  165. package/dist/import/index.d.ts +3 -3
  166. package/dist/import/index.js +1 -1
  167. package/dist/{import-7YyyD_U_.cjs → import-CNk89mqy.cjs} +3 -3
  168. package/dist/{import-7YyyD_U_.cjs.map → import-CNk89mqy.cjs.map} +1 -1
  169. package/dist/{import-xliONVib.js → import-DiMQCzLa.js} +3 -3
  170. package/dist/{import-xliONVib.js.map → import-DiMQCzLa.js.map} +1 -1
  171. package/dist/{index-1r_CskjU.d.ts → index--ZpnE3YT.d.cts} +3 -3
  172. package/dist/{index-C77vTm2K.d.ts → index-BDZvaRud.d.ts} +6 -6
  173. package/dist/{index-KuQ79Mnz.d.ts → index-BVhHt5lx.d.cts} +18 -26
  174. package/dist/{index-NC1dXRTD.d.ts → index-BfqkgPGI.d.cts} +7 -13
  175. package/dist/{index-NC1dXRTD.d.cts → index-BfqkgPGI.d.ts} +7 -13
  176. package/dist/{index-V7XKUQm9.d.cts → index-BgR5zcjJ.d.ts} +18 -26
  177. package/dist/{index-GfKzh267.d.ts → index-BkqackZf.d.ts} +369 -297
  178. package/dist/{index-BK-qHT39.d.ts → index-ByRpNVcs.d.cts} +83 -17
  179. package/dist/{index-pXN4LWUX.d.ts → index-C11JSxBY.d.ts} +8 -11
  180. package/dist/{index-GjcJTCbz.d.cts → index-C4TNAA8-.d.cts} +8 -11
  181. package/dist/{index-DBklbaTp.d.cts → index-C8gRRWHL.d.cts} +3 -1
  182. package/dist/{index-DBklbaTp.d.ts → index-C8gRRWHL.d.ts} +3 -1
  183. package/dist/{index-3LUk2rpD.d.ts → index-CPu4Nezo.d.cts} +34 -9
  184. package/dist/{index-BMqLPS6S.d.ts → index-CXcWpZQ2.d.cts} +4 -12
  185. package/dist/{index-BMqLPS6S.d.cts → index-CXcWpZQ2.d.ts} +4 -12
  186. package/dist/{index-Dx52hNLP.d.cts → index-CcMHJcuP.d.cts} +3 -3
  187. package/dist/{index-DVw4Av4b.d.cts → index-Cvbjp3jx.d.cts} +6 -6
  188. package/dist/{index-DppA4k3b.d.cts → index-Cz0MXhzs.d.cts} +5 -5
  189. package/dist/{index-6Xe81qN3.d.ts → index-D-VMgpGc.d.ts} +5 -5
  190. package/dist/{index-DWf6FXOr.d.cts → index-D7-o-oGa.d.ts} +3 -3
  191. package/dist/{index-CWoEnDJ_.d.cts → index-DCRKjihs.d.ts} +83 -17
  192. package/dist/{kaiAgentClient-CHpULyeG.d.cts → index-DNThyEej.d.cts} +14 -5
  193. package/dist/{index-DXSmFkol.d.cts → index-DOAZmWvh.d.cts} +6 -6
  194. package/dist/{index-CHXnJQ9s.d.cts → index-DXYASsPP.d.cts} +369 -297
  195. package/dist/{index-BuegqrS1.d.ts → index-D_-4uQF8.d.ts} +3 -3
  196. package/dist/{index-CW3Pj7DY.d.cts → index-Dazy-meb.d.ts} +34 -9
  197. package/dist/{index-De5qUWhp.d.ts → index-DnQTuc6t.d.ts} +6 -6
  198. package/dist/{kaiAgentClient-B5L4gbQ1.d.ts → index-Qb7X6-ph.d.ts} +14 -5
  199. package/dist/index.cjs +1498 -901
  200. package/dist/index.cjs.map +1 -1
  201. package/dist/index.d.cts +7 -7
  202. package/dist/index.d.ts +7 -7
  203. package/dist/index.js +1497 -902
  204. package/dist/index.js.map +1 -1
  205. package/dist/isLoginPageRedirect-XPwAOKK3.js +14 -0
  206. package/dist/isLoginPageRedirect-XPwAOKK3.js.map +1 -0
  207. package/dist/isLoginPageRedirect-jQHiLrG7.cjs +19 -0
  208. package/dist/isLoginPageRedirect-jQHiLrG7.cjs.map +1 -0
  209. package/dist/{jobStatus-0_Y3Sr4i.cjs → jobStatus-BMlsyXWI.cjs} +19 -45
  210. package/dist/jobStatus-BMlsyXWI.cjs.map +1 -0
  211. package/dist/{jobStatus-PSZJMTiA.js → jobStatus-CfRtsIpv.js} +19 -45
  212. package/dist/jobStatus-CfRtsIpv.js.map +1 -0
  213. package/dist/kaiAgent/index.cjs +1 -1
  214. package/dist/kaiAgent/index.d.cts +3 -2
  215. package/dist/kaiAgent/index.d.ts +3 -2
  216. package/dist/kaiAgent/index.js +1 -1
  217. package/dist/kaiAgent/types.d.cts +2 -2
  218. package/dist/kaiAgent/types.d.ts +2 -2
  219. package/dist/{kaiAgent-CcT2oNip.js → kaiAgent-Dp20HLTh.js} +32 -11
  220. package/dist/kaiAgent-Dp20HLTh.js.map +1 -0
  221. package/dist/{kaiAgent-DaB6UCsh.cjs → kaiAgent-QNoeVKPs.cjs} +32 -11
  222. package/dist/kaiAgent-QNoeVKPs.cjs.map +1 -0
  223. package/dist/kaiMemory-CClSPInt.cjs +289 -0
  224. package/dist/kaiMemory-CClSPInt.cjs.map +1 -0
  225. package/dist/kaiMemory-D0Y_16U4.js +260 -0
  226. package/dist/kaiMemory-D0Y_16U4.js.map +1 -0
  227. package/dist/management/index.cjs +1 -1
  228. package/dist/management/index.d.cts +1 -1
  229. package/dist/management/index.d.ts +1 -1
  230. package/dist/management/index.js +1 -1
  231. package/dist/management/types.d.cts +2 -2
  232. package/dist/management/types.d.ts +2 -2
  233. package/dist/{management-DeZiQSlw.cjs → management-CCY0IYnq.cjs} +59 -24
  234. package/dist/management-CCY0IYnq.cjs.map +1 -0
  235. package/dist/{management-ckdnu1dA.js → management-DvmPiG64.js} +59 -24
  236. package/dist/management-DvmPiG64.js.map +1 -0
  237. package/dist/metastore/index.cjs +1 -1
  238. package/dist/metastore/index.d.cts +1 -1
  239. package/dist/metastore/index.d.ts +1 -1
  240. package/dist/metastore/index.js +1 -1
  241. package/dist/metastore/types.d.cts +2 -2
  242. package/dist/metastore/types.d.ts +2 -2
  243. package/dist/{metastore-B0PolCjQ.js → metastore-BycJxe7A.js} +14 -8
  244. package/dist/metastore-BycJxe7A.js.map +1 -0
  245. package/dist/{metastore-9AGrwjmN.cjs → metastore-XtWciCZT.cjs} +14 -8
  246. package/dist/metastore-XtWciCZT.cjs.map +1 -0
  247. package/dist/microsoftGraph/index.cjs +2 -2
  248. package/dist/microsoftGraph/index.d.cts +2 -2
  249. package/dist/microsoftGraph/index.d.ts +2 -2
  250. package/dist/microsoftGraph/index.js +2 -2
  251. package/dist/microsoftGraph/types.d.cts +1 -1
  252. package/dist/microsoftGraph/types.d.ts +1 -1
  253. package/dist/middleware-CBwrtgQd.js +34 -0
  254. package/dist/middleware-CBwrtgQd.js.map +1 -0
  255. package/dist/middleware-IjYx3d5u.cjs +45 -0
  256. package/dist/middleware-IjYx3d5u.cjs.map +1 -0
  257. package/dist/notifications/index.cjs +4 -4
  258. package/dist/notifications/index.d.cts +2 -2
  259. package/dist/notifications/index.d.ts +2 -2
  260. package/dist/notifications/index.js +4 -4
  261. package/dist/notifications/types.d.cts +1 -1
  262. package/dist/notifications/types.d.ts +1 -1
  263. package/dist/oauth/index.cjs +1 -1
  264. package/dist/oauth/index.d.cts +2 -2
  265. package/dist/oauth/index.d.ts +2 -2
  266. package/dist/oauth/index.js +1 -1
  267. package/dist/oauth/types.d.cts +1 -1
  268. package/dist/oauth/types.d.ts +1 -1
  269. package/dist/{oauth-DNtv4Ihb.cjs → oauth--2p8jkJf.cjs} +5 -5
  270. package/dist/{oauth-DNtv4Ihb.cjs.map → oauth--2p8jkJf.cjs.map} +1 -1
  271. package/dist/{oauth-BnHVf4cB.js → oauth-l5zE39cD.js} +5 -5
  272. package/dist/{oauth-BnHVf4cB.js.map → oauth-l5zE39cD.js.map} +1 -1
  273. package/dist/omnisearch/index.cjs +6 -14
  274. package/dist/omnisearch/index.cjs.map +1 -1
  275. package/dist/omnisearch/index.d.cts +6 -14
  276. package/dist/omnisearch/index.d.ts +6 -14
  277. package/dist/omnisearch/index.js +6 -14
  278. package/dist/omnisearch/index.js.map +1 -1
  279. package/dist/omnisearch/types.d.cts +1 -1
  280. package/dist/omnisearch/types.d.ts +1 -1
  281. package/dist/{project-DCHOxRWd.d.ts → project-B15gStbM.d.ts} +2 -2
  282. package/dist/{project-BRpzv3yE.d.cts → project-cHKuGvqJ.d.cts} +2 -2
  283. package/dist/queryService/index.cjs +1 -1
  284. package/dist/queryService/index.d.cts +1 -1
  285. package/dist/queryService/index.d.ts +1 -1
  286. package/dist/queryService/index.js +1 -1
  287. package/dist/queryService/types.d.cts +1 -1
  288. package/dist/queryService/types.d.ts +1 -1
  289. package/dist/{queryService-j3XZ2mX6.js → queryService-CCOYbRbw.js} +6 -6
  290. package/dist/{queryService-j3XZ2mX6.js.map → queryService-CCOYbRbw.js.map} +1 -1
  291. package/dist/{queryService-BVwD6Vmc.cjs → queryService-CQzclHdL.cjs} +6 -6
  292. package/dist/{queryService-BVwD6Vmc.cjs.map → queryService-CQzclHdL.cjs.map} +1 -1
  293. package/dist/queue/index.cjs +1 -1
  294. package/dist/queue/index.d.cts +3 -3
  295. package/dist/queue/index.d.ts +3 -3
  296. package/dist/queue/index.js +1 -1
  297. package/dist/queue/types.d.cts +1 -1
  298. package/dist/queue/types.d.ts +1 -1
  299. package/dist/{queue-Dagl0sdP.js → queue-Cowbg6bR.js} +8 -11
  300. package/dist/queue-Cowbg6bR.js.map +1 -0
  301. package/dist/{queue-e3rMWbmK.cjs → queue-UG_BWKIC.cjs} +8 -11
  302. package/dist/queue-UG_BWKIC.cjs.map +1 -0
  303. package/dist/scheduler/index.cjs +4 -4
  304. package/dist/scheduler/index.d.cts +2 -2
  305. package/dist/scheduler/index.d.ts +2 -2
  306. package/dist/scheduler/index.js +4 -4
  307. package/dist/scheduler/types.d.cts +1 -1
  308. package/dist/scheduler/types.d.ts +1 -1
  309. package/dist/sdk/configurations/index.cjs +1 -1
  310. package/dist/sdk/configurations/index.d.cts +11 -11
  311. package/dist/sdk/configurations/index.d.ts +11 -11
  312. package/dist/sdk/configurations/index.js +1 -1
  313. package/dist/sdk/developerPortal/index.cjs +10 -18
  314. package/dist/sdk/developerPortal/index.cjs.map +1 -1
  315. package/dist/sdk/developerPortal/index.d.cts +7 -15
  316. package/dist/sdk/developerPortal/index.d.ts +7 -15
  317. package/dist/sdk/developerPortal/index.js +7 -15
  318. package/dist/sdk/developerPortal/index.js.map +1 -1
  319. package/dist/sdk/kaiMemory/index.cjs +7 -0
  320. package/dist/sdk/kaiMemory/index.d.cts +41 -0
  321. package/dist/sdk/kaiMemory/index.d.ts +41 -0
  322. package/dist/sdk/kaiMemory/index.js +2 -0
  323. package/dist/sdk/kaiMemory/types.cjs +0 -0
  324. package/dist/sdk/kaiMemory/types.d.cts +2 -0
  325. package/dist/sdk/kaiMemory/types.d.ts +2 -0
  326. package/dist/sdk/kaiMemory/types.js +1 -0
  327. package/dist/sdk/queryService/index.cjs +2 -2
  328. package/dist/sdk/queryService/index.d.cts +1 -1
  329. package/dist/sdk/queryService/index.d.ts +1 -1
  330. package/dist/sdk/queryService/index.js +2 -2
  331. package/dist/sdk/semanticLayer/index.cjs +1 -1
  332. package/dist/sdk/semanticLayer/index.d.cts +16 -40
  333. package/dist/sdk/semanticLayer/index.d.ts +16 -40
  334. package/dist/sdk/semanticLayer/index.js +1 -1
  335. package/dist/sdk/semanticLayer/types.d.cts +1 -1
  336. package/dist/sdk/semanticLayer/types.d.ts +1 -1
  337. package/dist/sdk/storage/index.cjs +0 -5
  338. package/dist/sdk/storage/index.cjs.map +1 -1
  339. package/dist/sdk/storage/index.d.cts +2 -2
  340. package/dist/sdk/storage/index.d.ts +2 -2
  341. package/dist/sdk/storage/index.js +1 -5
  342. package/dist/sdk/storage/index.js.map +1 -1
  343. package/dist/sdk/tag/index.cjs +1 -1
  344. package/dist/sdk/tag/index.d.cts +3 -3
  345. package/dist/sdk/tag/index.d.ts +3 -3
  346. package/dist/sdk/tag/index.js +1 -1
  347. package/dist/sdk/tag/types.d.cts +1 -1
  348. package/dist/sdk/tag/types.d.ts +1 -1
  349. package/dist/sdk/vault/index.cjs +1 -1
  350. package/dist/sdk/vault/index.d.cts +1 -1
  351. package/dist/sdk/vault/index.d.ts +1 -1
  352. package/dist/sdk/vault/index.js +1 -1
  353. package/dist/{semanticLayer-9uTaU7UT.cjs → semanticLayer-CKDVkU56.cjs} +62 -183
  354. package/dist/semanticLayer-CKDVkU56.cjs.map +1 -0
  355. package/dist/{semanticLayer-6_gtFxDu.js → semanticLayer-pYy082Ju.js} +62 -183
  356. package/dist/semanticLayer-pYy082Ju.js.map +1 -0
  357. package/dist/status/index.cjs +1 -1
  358. package/dist/status/index.d.cts +1 -1
  359. package/dist/status/index.d.ts +1 -1
  360. package/dist/status/index.js +1 -1
  361. package/dist/storage/index.cjs +5 -5
  362. package/dist/storage/index.d.cts +2 -2
  363. package/dist/storage/index.d.ts +2 -2
  364. package/dist/storage/index.js +5 -5
  365. package/dist/storage/types.d.cts +2 -2
  366. package/dist/storage/types.d.ts +2 -2
  367. package/dist/{storage-Ob1LUIDq.js → storage-CZQHZcXG.js} +109 -302
  368. package/dist/storage-CZQHZcXG.js.map +1 -0
  369. package/dist/{storage-HFUdEy7P.cjs → storage-JinL1y1s.cjs} +109 -302
  370. package/dist/storage-JinL1y1s.cjs.map +1 -0
  371. package/dist/stream/index.cjs +3 -3
  372. package/dist/stream/index.d.cts +2 -2
  373. package/dist/stream/index.d.ts +2 -2
  374. package/dist/stream/index.js +3 -3
  375. package/dist/stream/types.d.cts +1 -1
  376. package/dist/stream/types.d.ts +1 -1
  377. package/dist/syncActions/index.cjs +1 -1
  378. package/dist/syncActions/index.d.cts +1 -1
  379. package/dist/syncActions/index.d.ts +1 -1
  380. package/dist/syncActions/index.js +1 -1
  381. package/dist/syncActions/types.d.cts +2 -2
  382. package/dist/syncActions/types.d.ts +2 -2
  383. package/dist/{syncActions-B3NS5a0g.js → syncActions-BmmoqZO_.js} +130 -111
  384. package/dist/syncActions-BmmoqZO_.js.map +1 -0
  385. package/dist/{syncActions-D2DhY6pP.cjs → syncActions-CtcLGQiy.cjs} +130 -111
  386. package/dist/syncActions-CtcLGQiy.cjs.map +1 -0
  387. package/dist/{tag-CsoOZWB_.cjs → tag-DHS_soa7.cjs} +2 -2
  388. package/dist/{tag-CsoOZWB_.cjs.map → tag-DHS_soa7.cjs.map} +1 -1
  389. package/dist/{tag-DCsoewjL.js → tag-hh-1nhNr.js} +2 -2
  390. package/dist/{tag-DCsoewjL.js.map → tag-hh-1nhNr.js.map} +1 -1
  391. package/dist/telemetry/index.cjs +7 -11
  392. package/dist/telemetry/index.cjs.map +1 -1
  393. package/dist/telemetry/index.d.cts +5 -9
  394. package/dist/telemetry/index.d.ts +5 -9
  395. package/dist/telemetry/index.js +7 -11
  396. package/dist/telemetry/index.js.map +1 -1
  397. package/dist/telemetry/types.d.cts +1 -1
  398. package/dist/telemetry/types.d.ts +1 -1
  399. package/dist/{types-DqxIx9Pi.d.cts → types-6kuMW4JW.d.cts} +2 -2
  400. package/dist/{types-Ct0YPy2w.d.ts → types-B2w2TtSA.d.ts} +3 -3
  401. package/dist/{types-M46WuBSm.d.cts → types-B61aCifg.d.cts} +2 -2
  402. package/dist/{types-COL1kVEB.d.cts → types-B8N_k79M.d.cts} +2 -2
  403. package/dist/{types-Jw10xuOW.d.cts → types-BIECJYun.d.ts} +171 -44
  404. package/dist/{types-DZk3XHiN.d.cts → types-BLNB882w.d.cts} +3 -3
  405. package/dist/{types-BEe50G2r.d.cts → types-BPy5Ozee.d.cts} +2 -2
  406. package/dist/{types-gi4Eay19.d.ts → types-BS4jwuMi.d.ts} +7 -15
  407. package/dist/{types-BrYkBQo4.d.ts → types-BTK7Bv3n.d.cts} +171 -44
  408. package/dist/{types-DYzJ6K2e.d.ts → types-BYM9Ptz5.d.ts} +93 -43
  409. package/dist/{types-D6UmMa6E.d.ts → types-BZDV8DZk.d.ts} +3 -3
  410. package/dist/{types-Cz83RiVu.d.cts → types-B_iLJlp4.d.ts} +255 -12
  411. package/dist/{types-CmF3pR2n.d.cts → types-BiMahEK8.d.cts} +91 -237
  412. package/dist/{types-BH5LLeJy.d.ts → types-Bl03Cg2n.d.cts} +255 -12
  413. package/dist/{types-bGQb4Jtl.d.cts → types-ByLH46Dt.d.cts} +13 -8
  414. package/dist/{types-g3vU7hcg.d.cts → types-Bydx6ga_.d.cts} +2 -2
  415. package/dist/{types-CW6lCqrC.d.cts → types-CFeZCQ9p.d.cts} +93 -43
  416. package/dist/{types-B95uNQ9o.d.ts → types-CKmTZSPG.d.ts} +91 -237
  417. package/dist/{types-D_j2Uq5X.d.cts → types-CMzQSHAQ.d.cts} +3 -3
  418. package/dist/{types-N3EChotg.d.cts → types-CP_LBmw3.d.cts} +2 -2
  419. package/dist/{types-zZBxJ0P-.d.ts → types-CWyXTMwy.d.ts} +2 -2
  420. package/dist/{types-CPB-eF82.d.ts → types-CZJlLCbA.d.ts} +2 -2
  421. package/dist/{types-l9o4gFsI.d.ts → types-CZXPu3gn.d.ts} +2 -2
  422. package/dist/{types-BztF4HeB.d.ts → types-CaOtNjSZ.d.ts} +6 -13
  423. package/dist/{types-BTWIPEiU.d.ts → types-CfwqVkEA.d.ts} +2 -2
  424. package/dist/types-Cg14ncdV.d.ts +63 -0
  425. package/dist/{types-BsxLGDoC.d.cts → types-CoJVrRAD.d.ts} +2 -2
  426. package/dist/{types-CKiW3n6v.d.ts → types-D3wcs4tp.d.ts} +2 -2
  427. package/dist/{types-DOyNe7oe.d.cts → types-DDOa07rU.d.cts} +7 -15
  428. package/dist/{types-BW2BXUB4.d.cts → types-DE9hgr7i.d.cts} +2 -2
  429. package/dist/{types-BOqD3Hqy.d.cts → types-DEzW1CfI.d.cts} +3 -3
  430. package/dist/{types-OaD-cbbl.d.ts → types-DIiOMV-t.d.ts} +3 -3
  431. package/dist/{types-B-P4vQe0.d.cts → types-DKc1gmd9.d.ts} +857 -131
  432. package/dist/{types-BrPlv-NS.d.ts → types-DRCMBt89.d.ts} +3 -3
  433. package/dist/{types-BQvv4RaI.d.cts → types-DUMal2E-.d.cts} +5 -8
  434. package/dist/types-DWiLcrxt.d.cts +63 -0
  435. package/dist/{types-DNxOHnZI.d.cts → types-Dd31Lw4S.d.cts} +2 -2
  436. package/dist/{types-Dmu-8g4O.d.ts → types-DekYAlA-.d.ts} +3 -3
  437. package/dist/{types-B2U9cFcx.d.ts → types-DgJeO9Nd.d.ts} +2 -2
  438. package/dist/{types-nrviNdzZ.d.ts → types-DicSaNwq.d.ts} +2 -2
  439. package/dist/{types-Crhy0c9m.d.cts → types-DinIJ1D_.d.cts} +40 -11
  440. package/dist/{types-DhDNS-5B.d.ts → types-DlQw6FCi.d.ts} +13 -8
  441. package/dist/{types-_RhBCj4_.d.cts → types-DoZtE9tz.d.cts} +3 -3
  442. package/dist/{types-Bxhh2SJr.d.ts → types-DrvKfXXd.d.cts} +2 -2
  443. package/dist/{types-DPl8pZsY.d.ts → types-Dtuvhm3K.d.cts} +857 -131
  444. package/dist/{types-CcrvrAJX.d.ts → types-DwVSj-Da.d.ts} +5 -8
  445. package/dist/{types-C2vefB4D.d.ts → types-FwRmjsNN.d.ts} +10 -34
  446. package/dist/{types-C0_2KZ-A.d.ts → types-RbrfiY8T.d.ts} +2 -2
  447. package/dist/{types-DfvdbRPL.d.ts → types-WZBztugL.d.ts} +2 -2
  448. package/dist/{types-52irAt99.d.cts → types-YHUEArkR.d.cts} +2 -2
  449. package/dist/{types-fX4gbxfV.d.cts → types-bc-4z_gc.d.cts} +10 -34
  450. package/dist/{types-3eUgOA7I.d.cts → types-ePSqbXRr.d.cts} +6 -13
  451. package/dist/{types-DrqKICcK.d.ts → types-n4PTnLii.d.ts} +40 -11
  452. package/dist/{types-DXskkNp8.d.cts → types-pvQzbgNE.d.cts} +3 -3
  453. package/dist/{types-DajzGOKB.d.ts → types-q-1r_9d1.d.ts} +2 -2
  454. package/dist/{types-D8Rrz51O.d.cts → types-tKkeLa2B.d.cts} +2 -2
  455. package/dist/{validateConnectionStatus-828HV8WL.js → validateConnectionStatus-BEGu8wXT.js} +6 -10
  456. package/dist/validateConnectionStatus-BEGu8wXT.js.map +1 -0
  457. package/dist/{validateConnectionStatus-CvBKyeDO.cjs → validateConnectionStatus-BEYkQpu9.cjs} +6 -10
  458. package/dist/validateConnectionStatus-BEYkQpu9.cjs.map +1 -0
  459. package/dist/vault/index.cjs +4 -4
  460. package/dist/vault/index.d.cts +1 -1
  461. package/dist/vault/index.d.ts +1 -1
  462. package/dist/vault/index.js +4 -4
  463. package/dist/vault/types.d.cts +1 -1
  464. package/dist/vault/types.d.ts +1 -1
  465. package/package.json +32 -4
  466. package/surface/apps.md +3 -3
  467. package/surface/auth.md +13 -6
  468. package/surface/chat.md +6 -6
  469. package/surface/kaiAgent.md +9 -8
  470. package/surface/management.md +14 -5
  471. package/surface/metastore.md +2 -2
  472. package/surface/queue.md +3 -3
  473. package/surface/sdk.md +13 -3
  474. package/surface/storage.md +6 -6
  475. package/surface/syncActions.md +9 -0
  476. package/dist/ValidationError-BekhphAq.js +0 -48
  477. package/dist/ValidationError-BekhphAq.js.map +0 -1
  478. package/dist/ValidationError-CLVJCCwH.cjs.map +0 -1
  479. package/dist/authClient-8yU1last.cjs.map +0 -1
  480. package/dist/authClient-BTo4Afm6.js.map +0 -1
  481. package/dist/concurrent-CH9fbNr3.js.map +0 -1
  482. package/dist/concurrent-tbiIa0UL.cjs.map +0 -1
  483. package/dist/configurations-BVvcimzo.js.map +0 -1
  484. package/dist/configurations-CyFF9Dtu.cjs.map +0 -1
  485. package/dist/configurations-VtNE0nrT.js.map +0 -1
  486. package/dist/configurations-zkNjr73Q.cjs.map +0 -1
  487. package/dist/createFetchClient-BlgPbjFj.cjs.map +0 -1
  488. package/dist/createFetchClient-C-cadpBx.js.map +0 -1
  489. package/dist/credential-CAulvfZ-.cjs +0 -47
  490. package/dist/credential-CAulvfZ-.cjs.map +0 -1
  491. package/dist/credential-DWXbo4IX.js +0 -36
  492. package/dist/credential-DWXbo4IX.js.map +0 -1
  493. package/dist/dedupe-CiskLkGR.cjs +0 -30
  494. package/dist/dedupe-CiskLkGR.cjs.map +0 -1
  495. package/dist/dedupe-DYIHgZoG.js +0 -25
  496. package/dist/dedupe-DYIHgZoG.js.map +0 -1
  497. package/dist/isLoginPageRedirect-Cm6Pn8Pj.cjs +0 -25
  498. package/dist/isLoginPageRedirect-Cm6Pn8Pj.cjs.map +0 -1
  499. package/dist/isLoginPageRedirect-hyPqyWNX.js +0 -20
  500. package/dist/isLoginPageRedirect-hyPqyWNX.js.map +0 -1
  501. package/dist/jobStatus-0_Y3Sr4i.cjs.map +0 -1
  502. package/dist/jobStatus-PSZJMTiA.js.map +0 -1
  503. package/dist/kaiAgent-CcT2oNip.js.map +0 -1
  504. package/dist/kaiAgent-DaB6UCsh.cjs.map +0 -1
  505. package/dist/management-DeZiQSlw.cjs.map +0 -1
  506. package/dist/management-ckdnu1dA.js.map +0 -1
  507. package/dist/metastore-9AGrwjmN.cjs.map +0 -1
  508. package/dist/metastore-B0PolCjQ.js.map +0 -1
  509. package/dist/queue-Dagl0sdP.js.map +0 -1
  510. package/dist/queue-e3rMWbmK.cjs.map +0 -1
  511. package/dist/semanticLayer-6_gtFxDu.js.map +0 -1
  512. package/dist/semanticLayer-9uTaU7UT.cjs.map +0 -1
  513. package/dist/storage-HFUdEy7P.cjs.map +0 -1
  514. package/dist/storage-Ob1LUIDq.js.map +0 -1
  515. package/dist/syncActions-B3NS5a0g.js.map +0 -1
  516. package/dist/syncActions-D2DhY6pP.cjs.map +0 -1
  517. package/dist/validateConnectionStatus-828HV8WL.js.map +0 -1
  518. package/dist/validateConnectionStatus-CvBKyeDO.cjs.map +0 -1
@@ -1,10 +1,10 @@
1
- import { a as poller, t as jobStatus } from "./jobStatus-PSZJMTiA.js";
2
- import { t as concurrent } from "./concurrent-CH9fbNr3.js";
3
- import { g as ApiError, h as KeboolaHttpHeader, r as isApiError, s as HttpHeader } from "./createFetchClient-C-cadpBx.js";
4
- import { t as validateConnectionStatus } from "./validateConnectionStatus-828HV8WL.js";
5
- import { t as createGenericFetchClient } from "./createGenericFetchClient-Bnf1QK9W.js";
6
- import { t as createOpenapiFetchClient } from "./createOpenapiFetchClient-COaPeeQ0.js";
7
- import { t as createAuthHeaders } from "./auth-BjmkFOgd.js";
1
+ import { a as poller, t as jobStatus } from "./jobStatus-CfRtsIpv.js";
2
+ import { t as concurrent } from "./concurrent-BacWxPwi.js";
3
+ import { g as ApiError, h as KeboolaHttpHeader, r as isApiError, s as HttpHeader } from "./createFetchClient-DXHQK63w.js";
4
+ import { t as validateConnectionStatus } from "./validateConnectionStatus-BEGu8wXT.js";
5
+ import { t as createGenericFetchClient } from "./createGenericFetchClient-Dg1rgzmG.js";
6
+ import { t as createOpenapiFetchClient } from "./createOpenapiFetchClient-DZUOVupy.js";
7
+ import { t as createAuthHeaders } from "./auth-DworfoPy.js";
8
8
  //#region src/utils/async/series.ts
9
9
  /**
10
10
  * Executes a callback function on an array of items in series (one at a time).
@@ -20,26 +20,17 @@ const series = async (options) => concurrent({
20
20
  //#region src/errors/readableReason.ts
21
21
  const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
22
22
  /**
23
- * Whether this error's `message` is a status line rather than a sentence someone wrote.
23
+ * Whether this error's `message` is a status line rather than a sentence.
24
24
  *
25
- * `ApiError` builds its message from the response status. Its subclasses — `HtmlResponseError`,
26
- * `ManagementClientAuthError` — overwrite it with reader-facing wording, which is the one thing
27
- * this helper must never discard, so only the base class is treated as unreadable.
25
+ * - Only the base `ApiError`: its subclasses carry reader-facing wording that must be kept.
28
26
  */
29
27
  const carriesStatusLine = (error) => error.constructor === ApiError;
30
28
  /**
31
29
  * The part of a failure worth putting in front of a reader, or `undefined` when there is none.
32
30
  *
33
- * - A plain `ApiError`'s `message` is a status line ("502 Bad Gateway") — addressed to whoever reads
34
- * the error report, and no help to someone deciding what to do next. It is never returned; the
35
- * service's own sentence is read from the parsed body instead.
36
- * - Every other error's message *is* a reason, and is returned as-is: a network failure says so in
37
- * words, and an `ApiError` subclass carries wording written for exactly this spot ("The session
38
- * has most likely expired").
39
- *
40
- * `undefined` is the caller's cue to render its own wording. Branching on an empty `message`
41
- * cannot do that job — a status line is never empty, so such a test silently stops firing and the
42
- * reader gets the status number instead of the sentence written for them.
31
+ * - A plain `ApiError`: the service's message from the body, never the status line.
32
+ * - Any other error: its `message` as-is.
33
+ * - `undefined` means render your own wording; don't test for an empty `message` instead.
43
34
  */
44
35
  const readableReason = (error) => {
45
36
  if (!(error instanceof Error)) return void 0;
@@ -134,12 +125,11 @@ const createMergeRequests = (client) => {
134
125
  //#endregion
135
126
  //#region src/clients/storage/branches/branches.ts
136
127
  /**
137
- * The `/v2/storage/dev-branches` contract is spec-derived; three defects remain.
128
+ * Dev-branches client; the spec has three defects.
138
129
  *
139
- * - `creatorToken` is a bare `object`, so `DevBranch` re-types it and the two reads are asserted.
140
- * - The create and delete answer `JobResponse` — flat, with `status: string` — where `Job<T>` is a
141
- * discriminated union over `status`, so both jobs are asserted.
142
- * - Duplicate: the create is also declared on `/dev-branches/` (trailing slash); drop it.
130
+ * - `creatorToken` is a bare `object`, so `DevBranch` re-types it and reads are asserted.
131
+ * - Create and delete answer a flat `JobResponse`, not the `Job<T>` union, so jobs are asserted.
132
+ * - The create is also declared on `/dev-branches/` (trailing slash); drop it.
143
133
  */
144
134
  const createBranches = (client, poller) => {
145
135
  /**
@@ -150,8 +140,6 @@ const createBranches = (client, poller) => {
150
140
  return data;
151
141
  };
152
142
  /**
153
- * Creates a development branch. Async — returns a job to poll.
154
- *
155
143
  * @link https://api.keboola.com/?service=storage#storage/tag/dev-branches/POST/v2/storage/dev-branches
156
144
  */
157
145
  const createDevBranchAsync = async (body) => {
@@ -159,16 +147,12 @@ const createBranches = (client, poller) => {
159
147
  return data;
160
148
  };
161
149
  /**
162
- * Creates a development branch and waits for the job to finish.
163
- *
164
150
  * @link https://api.keboola.com/?service=storage#storage/tag/dev-branches/POST/v2/storage/dev-branches
165
151
  */
166
152
  const createDevBranchAndWait = async (body, options) => {
167
153
  return poller(await createDevBranchAsync(body), options).start();
168
154
  };
169
155
  /**
170
- * Renames a development branch or changes its description.
171
- *
172
156
  * @link https://api.keboola.com/?service=storage#storage/tag/dev-branches/PUT/v2/storage/dev-branches/{id}
173
157
  */
174
158
  const updateDevBranch = async ({ id, name, description }) => {
@@ -182,8 +166,6 @@ const createBranches = (client, poller) => {
182
166
  return data;
183
167
  };
184
168
  /**
185
- * Deletes a development branch. Async — returns a job to poll.
186
- *
187
169
  * @link https://api.keboola.com/?service=storage#storage/tag/dev-branches/DELETE/v2/storage/dev-branches/{id}
188
170
  */
189
171
  const deleteDevBranchAsync = async (id) => {
@@ -191,12 +173,9 @@ const createBranches = (client, poller) => {
191
173
  return data;
192
174
  };
193
175
  /**
194
- * Deletes a development branch and waits for the job to finish.
195
- *
196
- * - Resolves with how the wait ended, so nothing throws: `done` carries the finished
197
- * `devBranchDelete` job.
198
- * - A job that ended as `error` is a `done` wait carrying a failed job — it finished. `timedOut`,
199
- * `exhausted`, `aborted` and `errored` are the endings with no job to read.
176
+ * - Never throws; resolves with how the wait ended.
177
+ * - `done` carries the finished job, even one that ended as `error`.
178
+ * - `timedOut`, `exhausted`, `aborted` and `errored` carry no job.
200
179
  *
201
180
  * @link https://api.keboola.com/?service=storage#storage/tag/dev-branches/DELETE/v2/storage/dev-branches/{id}
202
181
  */
@@ -204,8 +183,7 @@ const createBranches = (client, poller) => {
204
183
  return poller(await deleteDevBranchAsync(id), options).start();
205
184
  };
206
185
  /**
207
- * Returns every metadata record on a branch. The branch is the object here, so `branchId` is the
208
- * thing being addressed rather than the branch a request is scoped to.
186
+ * `branchId` is the branch the metadata is on, not a request scope.
209
187
  *
210
188
  * @link https://api.keboola.com/?service=storage#storage/tag/metadata/GET/v2/storage/branch/{branchId}/metadata
211
189
  */
@@ -214,8 +192,6 @@ const createBranches = (client, poller) => {
214
192
  return data;
215
193
  };
216
194
  /**
217
- * Adds or updates metadata on a branch.
218
- *
219
195
  * @link https://api.keboola.com/?service=storage#storage/tag/metadata/POST/v2/storage/branch/{branchId}/metadata
220
196
  */
221
197
  const saveDevBranchMetadata = async ({ branchId, metadata }, signal) => {
@@ -226,8 +202,6 @@ const createBranches = (client, poller) => {
226
202
  return data;
227
203
  };
228
204
  /**
229
- * Deletes a single metadata entry from a branch.
230
- *
231
205
  * @link https://api.keboola.com/?service=storage#storage/tag/metadata/DELETE/v2/storage/branch/{branchId}/metadata/{metadataId}
232
206
  */
233
207
  const deleteDevBranchMetadata = async ({ branchId, metadataId }, signal) => {
@@ -251,31 +225,14 @@ const createBranches = (client, poller) => {
251
225
  //#endregion
252
226
  //#region src/clients/storage/bucketExternal/bucketExternal.ts
253
227
  /**
254
- * An external bucket wraps a schema that already exists in the project's backend (Snowflake or
255
- * BigQuery) rather than one Keboola created. Registering it is what makes the rest of this namespace
256
- * apply: only an external bucket needs its table metadata refreshed, manually or on a cron.
228
+ * External buckets wrap a schema that already exists in the backend (Snowflake or BigQuery).
257
229
  *
258
- * Two spec mismatches recur and account for the assertions below:
259
- * - **jobs** — the spec's `JobResponse` is a flat shape with `status: string`, while `Job<T>` is a
260
- * discriminated union over `status` carrying typed `results`. Every job return is asserted, whether
261
- * the operation declares a `JobResponse` or no body at all.
262
- * - **`async` query** — `registerBucketAsync` is invoked with `async: true` but declares
263
- * `query: never`.
264
- *
265
- * What the Storage spec needs, per operation:
266
- *
267
- * - `POST /buckets/register` (`BucketRegisterAction`)
268
- * - query: `never` → really accepts `async`
269
- * - response: contentless `default` → really a `bucketRegister` job
270
- * - `PUT /buckets/{bucketId}/refresh` (`BucketRefreshAction`)
271
- * - response: 202 `JobResponse` → really a `bucketRefresh` job
272
- * `GET /buckets/register-guide` and the scheduled-task create are the operations whose spec is
273
- * already right — their bodies, queries and responses are generated, not asserted.
230
+ * - Only they need table metadata refreshed, manually or on a cron.
231
+ * - Job returns are asserted: the spec's flat `JobResponse` is not the `Job<T>` union.
232
+ * - The `POST /buckets/register` spec lacks the `async` query and the `bucketRegister` job response.
274
233
  */
275
234
  const createBucketExternal = (client) => {
276
235
  /**
277
- * Registers an external bucket. Async — returns a job to poll.
278
- *
279
236
  * @link https://api.keboola.com/?service=storage#storage/POST/v2/storage/buckets/register
280
237
  */
281
238
  const registerBucketAsync = async (body, signal) => {
@@ -286,7 +243,7 @@ const createBucketExternal = (client) => {
286
243
  return data;
287
244
  };
288
245
  /**
289
- * Returns a markdown guide for registering an external bucket.
246
+ * Returns markdown.
290
247
  *
291
248
  * @link https://api.keboola.com/?service=storage#storage/tag/buckets/GET/v2/storage/buckets/register-guide
292
249
  */
@@ -298,8 +255,6 @@ const createBucketExternal = (client) => {
298
255
  return data;
299
256
  };
300
257
  /**
301
- * Refreshes an external bucket's table metadata. Async — returns a job to poll.
302
- *
303
258
  * @link https://api.keboola.com/?service=storage#storage/tag/buckets/PUT/v2/storage/buckets/{bucketId}/refresh
304
259
  */
305
260
  const refreshExternalBucketAsync = async ({ bucketId, ...query }, signal) => {
@@ -333,10 +288,7 @@ const createBucketExternal = (client) => {
333
288
  //#endregion
334
289
  //#region src/clients/storage/bucketListings/utils.ts
335
290
  /**
336
- * The two halves of the `bigquery.subscribers` wire format: a GCP IAM principal, which the Storage
337
- * spec documents as "prefixed with `user:` or `group:`". The write path uses `toBackendSubscribers`;
338
- * reads hand back the raw `string[]`, so a consumer that renders or edits subscribers decodes with
339
- * `fromBackendSubscribers` rather than re-deriving the prefix rule.
291
+ * Encodes subscribers as GCP IAM principals (`user:`/`group:`); `fromBackendSubscribers` decodes.
340
292
  */
341
293
  const toBackendSubscribers = (subscribers) => subscribers.map((s) => `${s.type}:${s.email}`);
342
294
  const fromBackendSubscribers = (raw) => {
@@ -358,17 +310,9 @@ const fromBackendSubscribers = (raw) => {
358
310
  /**
359
311
  * Builds the PATCH body for a listing update.
360
312
  *
361
- * Every field is copied only when the caller actually supplied it, because `description` carries
362
- * three distinct meanings: absent means "leave it alone", `null` means "clear it", and a string
363
- * means "set it". Evaluating the coercion unconditionally would turn an omitted description into a
364
- * `null` and silently clear it.
365
- *
366
- * Throws when nothing was supplied: the backend answers an empty PATCH with a job that lands in
367
- * `success` without changing anything, so a caller would poll it and report a save that never
368
- * happened. Gate the call on the form's "dirty" state rather than relying on this.
369
- *
370
- * Do not "normalize" the `exposure*` names without coordinating with the bucket-listing backend
371
- * owner.
313
+ * - Copies only supplied fields: `description` absent keeps it, `null` clears it, a string sets it.
314
+ * - Throws when nothing was supplied: an empty PATCH yields a `success` job that changed nothing.
315
+ * - Keep the `exposure*` names unless the bucket-listing backend owner agrees.
372
316
  */
373
317
  const toUpdateListingBody = (input) => {
374
318
  const body = {};
@@ -381,26 +325,17 @@ const toUpdateListingBody = (input) => {
381
325
  //#endregion
382
326
  //#region src/clients/storage/bucketListings/bucketListings.ts
383
327
  /**
384
- * A bucket listing (exposure) publishes a bucket to a marketplace — BigQuery Analytics Hub is the
385
- * only backend today, which is why every write carries a `bigquery` key.
386
- *
387
- * What the Storage spec needs, per operation:
388
- *
389
- * - `POST` / `PATCH` / `DELETE /buckets/{bucketId}/listing`
390
- * - response: 202 `JobResponse` → really `bucketListingCreate` / `bucketListingUpdate` /
391
- * `bucketListingDelete` jobs. The spec's `JobResponse` is a flat shape with `status: string`,
392
- * while `Job<T>` is a discriminated union over `status` carrying typed `results`, so each is
393
- * asserted.
328
+ * Bucket listings (exposures) publish a bucket to a marketplace.
394
329
  *
395
- * `GET /buckets/{bucketId}/listing` and `GET /listings` are the operations whose specs are already
396
- * right — their query and response types are generated, not asserted.
330
+ * - BigQuery Analytics Hub is the only backend, hence the `bigquery` key on every write.
331
+ * - Write jobs are asserted: the spec's flat `JobResponse` is not the `Job<T>` union.
397
332
  */
398
333
  const createBucketListings = (openApiClient) => {
399
334
  /**
400
- * Reads a bucket's listing, or `null` when the bucket has none (the endpoint 404s for both "no
401
- * bucket" and "no listing"). The response is the spec shape: `bigquery` is optional there — it is
402
- * present only for a BigQuery bucket, the only backend today — and `subscribers` inside it are the
403
- * raw `user:`/`group:`-prefixed principals, which `fromBackendSubscribers` decodes.
335
+ * Returns `null` on 404: no bucket or no listing.
336
+ *
337
+ * - `bigquery` is present only for a BigQuery bucket.
338
+ * - Its `subscribers` are raw `user:`/`group:` principals; decode with `fromBackendSubscribers`.
404
339
  */
405
340
  const getListing = async (bucketId, signal) => {
406
341
  try {
@@ -426,11 +361,7 @@ const createBucketListings = (openApiClient) => {
426
361
  return data;
427
362
  };
428
363
  /**
429
- * Update a bucket exposure. At least one of `name`, `description`, or
430
- * `subscribers` must be provided — the SDK throws synchronously if all three
431
- * are absent, since the backend would otherwise no-op a PATCH with an empty
432
- * body and we'd return a job that's already in `success` with no actual
433
- * change. Callers should gate the call against the form's "dirty" state.
364
+ * Rejects when `name`, `description` and `subscribers` are all absent; gate on the form's dirty state.
434
365
  */
435
366
  const updateListingAsync = async ({ bucketId, ...input }, signal) => {
436
367
  const { data } = await openApiClient.patch("/v2/storage/buckets/{bucketId}/listing", {
@@ -459,29 +390,11 @@ const createBucketListings = (openApiClient) => {
459
390
  //#endregion
460
391
  //#region src/clients/storage/buckets/buckets.ts
461
392
  /**
462
- * Everything here runs through the OpenAPI client except `updateBucket`, which cannot: the spec
463
- * declares no `put` on `/v2/storage/buckets/{bucketId}` (nor on the branch variant), so the operation
464
- * is missing outright rather than mistyped. That one keeps the generic client, which is why this
465
- * factory still takes both.
466
- *
467
- * One mismatch recurs: the spec's `JobResponse` is a flat shape with `status: string`, while `Job<T>`
468
- * is a discriminated union over `status` carrying typed `results`, so every job return is asserted.
469
- *
470
- * What the Storage spec needs, per operation:
471
- *
472
- * - `PUT /buckets/{bucketId}` — **operation missing entirely**; really takes `UpdateBucketBody`
473
- * (`displayName` / `description` / `color`) and answers a bucket detail
474
- * - `GET /branch/{branchId}/buckets` (`BucketsListAction`)
475
- * - query: `include` is a `string` → really a repeatable list, sent comma-joined
476
- * - response: `BucketCreateResponse[]` → really `Bucket[]` (a listing row, not a create result)
477
- * - `POST /buckets` (`BucketCreateAction`)
478
- * - response: 201 `BucketCreateResponse` → really a bucket detail
479
- * - `DELETE /buckets/{bucketId}` (`BucketDeleteAction`)
480
- * - response: 204 wins over the 202 `JobResponse` in success-code precedence, so the async variant's
481
- * job is asserted
482
- * - `POST /buckets/{bucketId}/owner` (`BucketOwnerUpdateAction`)
483
- * - body: `BucketOwnerUpdateRequest` is stubbed → really `{ email } | { id }`
484
- * */
393
+ * Spec mismatches behind the assertions below:
394
+ * - Job returns: the spec's flat `JobResponse` vs the `Job<T>` union; on delete, 204 shadows the 202.
395
+ * - List/create responses are really `Bucket[]` / a bucket detail; list `include` is comma-joined.
396
+ * - Owner-update body is stubbed; really `{ email } | { id }`.
397
+ */
485
398
  const createBuckets = (openApiClient, client) => {
486
399
  const getBuckets = async ({ branchId, ...query }, signal) => {
487
400
  const { data } = await openApiClient.get("/v2/storage/branch/{branchId}/buckets", {
@@ -523,8 +436,8 @@ const createBuckets = (openApiClient, client) => {
523
436
  /**
524
437
  * Deletes a bucket synchronously.
525
438
  *
526
- * Refused outright on the stacks we test against (`400 storage.buckets.syncDeleteDisabled`,
527
- * "Synchronous drop is not supported, use async call") — prefer `deleteBucketAsync` below.
439
+ * - Refused on the stacks we test against (`400 storage.buckets.syncDeleteDisabled`); prefer
440
+ * `deleteBucketAsync`.
528
441
  *
529
442
  * @link https://api.keboola.com/?service=storage#storage/tag/buckets/DELETE/v2/storage/buckets/{bucketId}
530
443
  */
@@ -532,10 +445,7 @@ const createBuckets = (openApiClient, client) => {
532
445
  await openApiClient.delete("/v2/storage/buckets/{bucketId}", { path: { bucketId: id } });
533
446
  };
534
447
  /**
535
- * Deletes a bucket asynchronously and returns a job to poll.
536
- * Required on GCP stacks where synchronous bucket deletion is not supported.
537
- *
538
- * `force` deletes all tables inside the bucket before removing it.
448
+ * Deletes a bucket asynchronously and returns a job to poll. Required on GCP stacks.
539
449
  *
540
450
  * @link https://api.keboola.com/?service=storage#storage/tag/buckets/DELETE/v2/storage/buckets/{bucketId}
541
451
  */
@@ -552,9 +462,8 @@ const createBuckets = (openApiClient, client) => {
552
462
  /**
553
463
  * Returns the owner of a bucket in the given branch.
554
464
  *
555
- * A bucket has no owner until one is assigned — reading it on a fresh bucket answers
556
- * `404 storage.bucket.ownerNotFound`, so call `updateBucketOwner` first (or handle the 404 as
557
- * "unassigned" rather than as a missing bucket).
465
+ * - A bucket without an assigned owner answers `404 storage.bucket.ownerNotFound`, not a missing
466
+ * bucket.
558
467
  *
559
468
  * @link https://api.keboola.com/?service=storage#storage/tag/buckets/GET/v2/storage/branch/{branchId}/buckets/{bucketId}/owner
560
469
  */
@@ -619,36 +528,11 @@ const createBuckets = (openApiClient, client) => {
619
528
  //#endregion
620
529
  //#region src/clients/storage/bucketSharing/bucketSharing.ts
621
530
  /**
622
- * Two spec mismatches recur here and account for every assertion below:
623
- * - **jobs** — the spec's `JobResponse` is a flat shape with `status: string`, while `Job<T>` is a
624
- * discriminated union over `status` carrying typed `results`. Every job return is asserted, whether
625
- * the operation declares a `JobResponse` or no body at all.
626
- * - **`async` query** — all six share/unshare operations are invoked with `async: true` but declare
627
- * `query: never`.
628
- *
629
- * What the Storage spec needs, per operation:
630
- *
631
- * - `POST /branch/{branchId}/buckets/{bucketId}/share-organization` / `-organization-project`
632
- * - query: `never` → really accepts `async`
633
- * - response: `BucketShareOrganizationResponse` / `…ProjectResponse` → really share jobs
634
- * - `POST /branch/{branchId}/buckets/{bucketId}/share-to-projects` / `-to-users`
635
- * - query: `never` → really accepts `async`
636
- * - body: `CreateBucketSharingToProjectsRequest` / `…ToUsersRequest` are stubbed
637
- * (`Record<string, never>`) → really `{ targetProjectIds }` / `{ targetUsers }`
638
- * - response: contentless `default` → really `bucketShareToProjects` / `bucketShareToAdmins` jobs
639
- * - `DELETE /branch/{branchId}/buckets/{bucketId}/share` (`BucketShareDeleteAction`)
640
- * - query: `never` → really accepts `async`
641
- * - response: `BucketShareDeleteResponse` → really a `bucketRemoveShare` job
642
- * - `DELETE /branch/{branchId}/buckets/{bucketId}/links/{linkedProjectId}` (`BucketForceUnlinkAction`)
643
- * - query: `never` → really accepts `async`
644
- * - path: `linkedProjectId` is a `number` → really a string
645
- * - response: 202 `JobResponse` → really a `bucketForceUnlink` job
646
- * - `POST /buckets` (`BucketCreateAction`) — the link half of a create-or-link endpoint
647
- * - response: the 201 "created or linked synchronously" wins over the 202 in success-code
648
- * precedence, so the async variant's `bucketLink` job is asserted
649
- * - `GET /shared-buckets` (`SharedBucketsListAction`)
650
- * - response: `Record<string, never>[]` → really a shared-bucket listing. This one is *not*
651
- * asserted, so `SharedBuckets` is currently an empty-object array and callers get nothing useful.
531
+ * Spec mismatches behind the assertions below:
532
+ * - Job returns: the spec's flat `JobResponse` (or no body) vs the `Job<T>` union.
533
+ * - Share/unshare declare `query: never`, but accept `async`.
534
+ * - Share-to-projects/users bodies are stubbed; force-unlink `linkedProjectId` is really a string.
535
+ * - `sharedBuckets` is not asserted, so it returns the spec's `Record<string, never>[]`.
652
536
  */
653
537
  const createBucketSharing = (openApiClient) => {
654
538
  /**
@@ -780,24 +664,10 @@ const createBucketSharing = (openApiClient) => {
780
664
  //#endregion
781
665
  //#region src/clients/storage/columns/columns.ts
782
666
  /**
783
- * Every job return below is asserted in: the spec's `JobResponse` is a flat shape with
784
- * `status: string`, while `Job<T>` is a discriminated union over `status` carrying typed `results`.
785
- * That mismatch applies to both operations that declare a `JobResponse` and those that declare no
786
- * response body at all. What the Storage spec needs, per operation:
787
- *
788
- * - `POST /branch/{branchId}/tables/{id}/columns` (`ColumnCreateAction`)
789
- * - body: none of `ColumnCreateRequest` / `SnowflakeAddColumnToTableRequest` /
790
- * `BigqueryAddColumnToTableRequest` declares `basetype`, and they type `definition.length` as a
791
- * `number` → really a string (a decimal length is sent as `'38,0'`)
792
- * - response: 202 is contentless → really a `tableColumnAdd` job
793
- * - `DELETE /branch/{branchId}/tables/{tableId}/columns/{columnName}` (`ColumnDeleteAction`)
794
- * - response: 202 declares `JobResponse` → really a `tableColumnDelete` job
795
- * - `POST /branch/{branchId}/tables/{tableId}/primary-key` (`PrimaryKeyCreateAction`)
796
- * - body: `CreatePrimaryKeyRequest.skipDuplicatesCheck` is required → really optional (it has a
797
- * documented `@default false`, so a caller omitting it is valid)
798
- * - response: 202 is contentless → really a `tablePrimaryKeyAdd` job
799
- * - `DELETE /branch/{branchId}/tables/{tableId}/primary-key` (`PrimaryKeyDeleteAction`)
800
- * - response: 202 declares `JobResponse` → really a `tablePrimaryKeyDelete` job
667
+ * Spec mismatches behind the assertions below:
668
+ * - Job returns: the spec's flat `JobResponse` (or no body) vs the `Job<T>` union.
669
+ * - Add-column body lacks `basetype`; `definition.length` is really a string (`'38,0'`).
670
+ * - Primary-key `skipDuplicatesCheck` is really optional (defaults to `false`).
801
671
  */
802
672
  const createColumns = (client) => {
803
673
  /**
@@ -1063,17 +933,12 @@ const createConfigurationRows = (client) => {
1063
933
  //#endregion
1064
934
  //#region src/clients/storage/configurations/utils.ts
1065
935
  /**
1066
- * `expectedVersion` is the `version` field of the configuration the caller read, sent back as the
1067
- * `If-Match` header so the write is conditional on nothing having changed since. What Storage does
1068
- * with it:
936
+ * Sends `expectedVersion` as `If-Match`. Storage answers:
1069
937
  *
1070
- * 1. Header omitted (`{}`) — no precondition, the write applies whatever the current version is.
1071
- * `purgeConfiguration` is the exception and answers 428, which is why its `expectedVersion` is
1072
- * required rather than optional.
1073
- * 2. Version still current — the write applies.
1074
- * 3. Version moved on since it was read — 412, and nothing is written.
1075
- * 4. Value unusable — 400. Storage wants a strong entity tag, so the quotes are part of the value;
1076
- * a bare number, a weak validator or a tag list are all rejected.
938
+ * 1. Omitted — no precondition (except `purgeConfiguration`: 428).
939
+ * 2. Current — the write applies.
940
+ * 3. Moved on — 412, nothing written.
941
+ * 4. Not a strong quoted entity tag — 400.
1077
942
  */
1078
943
  const createVersionPrecondition = (expectedVersion) => expectedVersion === void 0 ? {} : { [HttpHeader.IF_MATCH]: `"${expectedVersion}"` };
1079
944
  /**
@@ -1092,10 +957,8 @@ const parseSyncJobId = (headers) => {
1092
957
  /**
1093
958
  * Every configuration read is bridged to `ComponentConfig<T>` with `as unknown as`.
1094
959
  *
1095
- * - `BaseComponentConfig` re-tightens four fields the spec marks nullable and re-types the two
1096
- * free-form JSON ones, so the generated shape and the target never fully overlap.
1097
- * - `ComponentConfig<T>` is a conditional over an unresolved `T`, which TypeScript will not check a
1098
- * direct conversion against either.
960
+ * - `BaseComponentConfig` re-tightens and re-types spec fields, so the shapes never fully overlap.
961
+ * - `ComponentConfig<T>` is a conditional over an unresolved `T`, which TS won't convert against.
1099
962
  */
1100
963
  const createConfigurations = (client) => {
1101
964
  const getConfiguration = async ({ componentId, configId, branchId }, signal) => {
@@ -1126,11 +989,10 @@ const createConfigurations = (client) => {
1126
989
  return data;
1127
990
  };
1128
991
  /**
1129
- * Resolve a merge conflict by deleting the configuration — the same rebase
1130
- * endpoint as `rebaseConfiguration`, but with an empty `diff` envelope. The
1131
- * dev-branch configuration is re-anchored onto the given default-branch
1132
- * `version` and its head version becomes a tombstone (soft delete). Returns
1133
- * the deleted configuration.
992
+ * Resolve a merge conflict by deleting the configuration.
993
+ *
994
+ * - Same rebase endpoint as `rebaseConfiguration`, with an empty `diff` envelope.
995
+ * - Re-anchors onto the default-branch `version`; the head version becomes a tombstone.
1134
996
  */
1135
997
  const rebaseConfigurationToDeleted = async ({ branchId, componentId, configId, version }) => {
1136
998
  const { data } = await client.post("/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rebase", {
@@ -1157,14 +1019,10 @@ const createConfigurations = (client) => {
1157
1019
  return data;
1158
1020
  };
1159
1021
  /**
1160
- * Updates an existing configuration. Only the fields provided are sent.
1022
+ * Sends only the fields provided.
1161
1023
  *
1162
- * - Resolves once the configuration is written.
1163
- * - Sending `workspaceId` also asks Storage to sync that workspace's output mapping against the
1164
- * saved configuration. That part runs as a job: poll `syncJobId` through `jobs.getJob` when it
1165
- * has to land before the caller reports success.
1166
- * - A `workspaceId` not linked to this component and configuration is rejected with 400, before
1167
- * the configuration is written.
1024
+ * - `workspaceId` also enqueues an output-mapping sync job; poll `syncJobId` via `jobs.getJob`.
1025
+ * - A `workspaceId` not linked to this configuration is rejected with 400, before any write.
1168
1026
  *
1169
1027
  * @link https://api.keboola.com/?service=storage#storage/tag/component-configurations/PUT/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}
1170
1028
  */
@@ -1202,9 +1060,8 @@ const createConfigurations = (client) => {
1202
1060
  return data;
1203
1061
  };
1204
1062
  /**
1205
- * Move a configuration to the trash — or, when it is in the trash already, purge it
1206
- * permanently. Pass `expectedVersion` to pin the version the delete was decided on;
1207
- * prefer `purgeConfiguration` when the permanent removal is the intent.
1063
+ * Move a configuration to the trash — or purge it if it is already trashed.
1064
+ * Prefer `purgeConfiguration` when permanent removal is the intent.
1208
1065
  */
1209
1066
  const deleteConfiguration = async ({ branchId, componentId, configId, expectedVersion }) => {
1210
1067
  await client.delete("/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}", { path: {
@@ -1215,9 +1072,9 @@ const createConfigurations = (client) => {
1215
1072
  };
1216
1073
  /**
1217
1074
  * Permanently remove a trashed configuration, including its versions, rows and metadata.
1218
- * Unlike a second `deleteConfiguration`, this never falls back to a soft delete: purging a
1219
- * live configuration is rejected (400 `notInTrash`) rather than trashing it. Default branch
1220
- * only, and the token needs `canPurgeTrash`.
1075
+ *
1076
+ * - Purging a live configuration is rejected (400 `notInTrash`), never soft-deleted.
1077
+ * - Default branch only; the token needs `canPurgeTrash`.
1221
1078
  */
1222
1079
  const purgeConfiguration = async ({ branchId, componentId, configId, expectedVersion }) => {
1223
1080
  await client.post("/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/purge", { path: {
@@ -1227,13 +1084,10 @@ const createConfigurations = (client) => {
1227
1084
  } }, { headers: { ...createVersionPrecondition(expectedVersion) } });
1228
1085
  };
1229
1086
  /**
1230
- * Purge configurations across components in one bounded fan-out. Like every `concurrent` caller
1231
- * it stops at the first rejection, and here that is a case to plan for rather than an edge: a
1232
- * stale `expectedVersion` (412) abandons the rest of the queue, so re-read the trash before
1233
- * offering another attempt.
1087
+ * Purge configurations across components in one bounded fan-out.
1234
1088
  *
1235
- * Emptying a trash is the whole-collection case this exists for, which `concurrent`'s default of
1236
- * 2 would walk through two configurations at a time.
1089
+ * - Stops at the first rejection: a stale `expectedVersion` (412) abandons the rest of the queue,
1090
+ * so re-read the trash before retrying.
1237
1091
  */
1238
1092
  const purgeConfigurations = async ({ branchId, configs }) => {
1239
1093
  await concurrent({
@@ -1245,7 +1099,6 @@ const createConfigurations = (client) => {
1245
1099
  })
1246
1100
  });
1247
1101
  };
1248
- /** Restore a trashed configuration. */
1249
1102
  const restoreConfiguration = async ({ branchId, componentId, configId }) => {
1250
1103
  const { data } = await client.post("/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/restore", { path: {
1251
1104
  branchId,
@@ -1257,12 +1110,8 @@ const createConfigurations = (client) => {
1257
1110
  /**
1258
1111
  * Reset a dev-branch configuration back to its default-branch (production) version.
1259
1112
  *
1260
- * The spec is right: the endpoint answers with an empty body, confirmed against the live API by
1261
- * the nightly smoke (`integration/storageConfigurationLifecycle.smoke.ts`). It used to be typed as
1262
- * resolving to the configuration, so every caller reading a field off the result was reading
1263
- * `undefined`. Re-read the configuration to observe the reset.
1264
- *
1265
- * Dev-branch only — the API answers 501 on `default`.
1113
+ * - Resolves with an empty body; re-read the configuration to observe the reset.
1114
+ * - Dev-branch only — the API answers 501 on `default`.
1266
1115
  */
1267
1116
  const resetConfigurationToDefault = async ({ branchId, componentId, configId }) => {
1268
1117
  await client.post("/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/reset-to-default", { path: {
@@ -1698,18 +1547,11 @@ const createRefreshTokenMiddlware = ({ accessToken, onRefresh }) => {
1698
1547
  //#endregion
1699
1548
  //#region src/clients/storage/search/search.ts
1700
1549
  /**
1701
- * Both responses are asserted in, because the spec stubs them:
1550
+ * Search endpoints.
1702
1551
  *
1703
- * - `GET /v2/storage/global-search` (`SearchAction`) declares its 200 as `Record<string, never>` →
1704
- * really `{ all, items, byType, byProject }`
1705
- * - `GET /v2/storage/search/tables` (`SearchTablesAction`) declares a contentless 200 → really
1706
- * `Table[]`
1707
- *
1708
- * Both query casts are type-only, so each query object reaches the wire exactly as the caller wrote
1709
- * it. That matters for `global-search`: the spec names its repeatable filters `types[]` / `projectIds[]`
1710
- * / `branchTypes[]` / `branchIds[]`, but this endpoint has always been called with the bare names,
1711
- * which `qs` serializes as `types[0]=bucket&types[1]=table` — also an array to the backend. Renaming
1712
- * the fields to satisfy the document would change what Storage receives, and no test would catch it.
1552
+ * - Both responses are asserted in: the spec stubs them.
1553
+ * - Query casts are type-only: `global-search` filters go out with bare names (`types`, not
1554
+ * `types[]`); renaming them to match the spec would change what Storage receives.
1713
1555
  */
1714
1556
  const createSearch = (client) => {
1715
1557
  /**
@@ -1759,8 +1601,7 @@ const createSnapshots = (client) => {
1759
1601
  /**
1760
1602
  * Reads a single snapshot. Not branch-scoped — a snapshot id is unique across branches.
1761
1603
  *
1762
- * Spec now declares the response, but names the timestamp `createdTime` where `Snapshot` says
1763
- * `created`, so the shape is still asserted in. It is the same `Snapshot` the table listing returns.
1604
+ * Asserted in: the spec names the timestamp `createdTime`, the API returns `created`.
1764
1605
  *
1765
1606
  * @link https://api.keboola.com/?service=storage#storage/GET/v2/storage/snapshots/{snapshotId}
1766
1607
  */
@@ -1769,13 +1610,9 @@ const createSnapshots = (client) => {
1769
1610
  return data;
1770
1611
  };
1771
1612
  /**
1772
- * Deletes a snapshot, returning the storage job that performs it (`null` when the backend answers
1773
- * with no content). The endpoint is not branch-scoped — a snapshot id is unique across branches, so
1774
- * there is no `/branch/{branchId}/snapshots/{snapshotId}` variant.
1613
+ * Deletes a snapshot; returns its storage job, or `null` on no content. Not branch-scoped.
1775
1614
  *
1776
- * Spec declares the 202 as a `JobResponse` — flat, with `status: string` — where `Job` is a
1777
- * discriminated union over `status`, and says nothing about the no-content answer, so both are
1778
- * asserted in.
1615
+ * Asserted in: the spec's flat `JobResponse` is not the discriminated `Job`, and omits no-content.
1779
1616
  *
1780
1617
  * @link https://api.keboola.com/?service=storage#storage/DELETE/v2/storage/snapshots/{snapshotId}
1781
1618
  */
@@ -1828,10 +1665,8 @@ const createStats = (client) => {
1828
1665
  //#region src/clients/storage/tables/tables.ts
1829
1666
  const createTables = (client, genericClient) => {
1830
1667
  /**
1831
- * Returns every table in the given branch. Filter client-side by
1832
- * `table.bucket?.id` (requires `include: ['buckets']`) or by the
1833
- * `{bucketId}.` prefix in `table.id` (IDs use `{bucketId}.{tableName}`,
1834
- * e.g. `in.c-main.users`).
1668
+ * Returns every table in the given branch. Filter by bucket client-side: `table.bucket?.id`
1669
+ * (needs `include: ['buckets']`) or the `{bucketId}.` prefix of `table.id`.
1835
1670
  *
1836
1671
  * @link https://api.keboola.com/?service=storage#storage/GET/v2/storage/branch/{branchId}/tables
1837
1672
  */
@@ -1899,9 +1734,7 @@ const createTables = (client, genericClient) => {
1899
1734
  /**
1900
1735
  * Returns the first rows of a table in the given branch.
1901
1736
  *
1902
- * The swagger declares `query?: never` here, so it cannot express `limit` / `whereFilters` /
1903
- * `orderBy` / `fulltextSearch`, all of which the endpoint accepts — hence the hand-authored
1904
- * `GetDataPreviewQuery` and the asserted query.
1737
+ * The spec declares `query?: never`, so the query is the hand-written `GetDataPreviewQuery`.
1905
1738
  *
1906
1739
  * @link https://api.keboola.com/?service=storage#storage/tag/tables/GET/v2/storage/branch/{branchId}/tables/{tableId}/data-preview
1907
1740
  */
@@ -1921,11 +1754,7 @@ const createTables = (client, genericClient) => {
1921
1754
  /**
1922
1755
  * Exports a table to a file. Async — returns a job.
1923
1756
  *
1924
- * Unbranched, though the document also declares
1925
- * `/v2/storage/branch/{branchId}/tables/{tableId}/export-async`: export was outside the scope of
1926
- * the table migration (UT-4785), so switching it would change behaviour for a flow that migration
1927
- * did not touch. It is the one remaining branch-capable method here that does not take a
1928
- * `branchId`, and moving it is a clean follow-up.
1757
+ * Unbranched, though a branch-scoped `export-async` exists.
1929
1758
  *
1930
1759
  * @link https://api.keboola.com/?service=storage#storage/tag/tables/POST/v2/storage/tables/{tableId}/export-async
1931
1760
  */
@@ -1948,7 +1777,7 @@ const createTables = (client, genericClient) => {
1948
1777
  };
1949
1778
  /**
1950
1779
  * Creates a typed table from an explicit column definition (no data) in the given bucket.
1951
- * The endpoint is async: it returns a `tableDefinitionCreate` storage job the caller can poll.
1780
+ * Async — returns a `tableDefinitionCreate` job.
1952
1781
  *
1953
1782
  * @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/branch/{branchId}/buckets/{bucketId}/tables-definition
1954
1783
  */
@@ -1973,14 +1802,10 @@ const createTables = (client, genericClient) => {
1973
1802
  return data;
1974
1803
  };
1975
1804
  /**
1976
- * Updates a table's definition in place — `displayName`, `description`,
1977
- * `isDescriptionSystemManaged`, and per-column
1978
- * `length`/`nullable`/`default`/`description`. The endpoint is async: it
1979
- * returns a `tableDefinitionUpdate` storage job that the caller can poll.
1805
+ * Updates a table's definition in place. Async — returns a `tableDefinitionUpdate` job.
1980
1806
  *
1981
- * Send only the fields being changed; at least one is required. Description
1982
- * patches apply to non-typed tables too, so a description-only edit needs
1983
- * neither `displayName` nor `columns`.
1807
+ * - Send only the changed fields; at least one is required.
1808
+ * - Description patches work on non-typed tables too.
1984
1809
  *
1985
1810
  * @link https://api.keboola.com/?service=storage#storage/tag/tables/PUT/v2/storage/branch/{branchId}/tables/{tableId}/definition
1986
1811
  */
@@ -1995,20 +1820,11 @@ const createTables = (client, genericClient) => {
1995
1820
  return data;
1996
1821
  };
1997
1822
  /**
1998
- * Updates a table's display name (synchronous). For typed-table column/definition changes use
1999
- * `updateTableDefinition` instead.
2000
- *
2001
- * On the generic client and unbranched, unlike its siblings — but only because of where the
2002
- * endpoint lives, not because of what it supports. It is still `Storage_TablesController::putAction`
2003
- * in connection's legacy Zend app, and the Storage document is generated from the `#[OA\...]`
2004
- * attributes on the migrated Symfony controllers, so no annotation fix closes this gap; the
2005
- * controller has to move first. The action does take a `DevBranch`, and `put` is in the
2006
- * branch-implemented route list, so `/branch/{branchId}/tables/{id}` works — there is simply no
2007
- * `paths` entry to derive it from, and the branch prefix is left to the caller's middleware.
1823
+ * Updates a table's display name (synchronous). Use `updateTableDefinition` for typed tables.
2008
1824
  *
2009
- * The synchronous form this calls is deprecated backend-side (`DEPRECATION_SYNC_UPDATE_TABLE` is
2010
- * logged per request); `?async=true` returns a `tableUpdate` job instead. Switching means polling,
2011
- * so it belongs with the caller that renames tables, not here.
1825
+ * - Generic client, unbranched: the spec has no path for it; the caller's middleware adds the
1826
+ * branch prefix.
1827
+ * - The synchronous form is deprecated backend-side; `?async=true` returns a `tableUpdate` job.
2012
1828
  *
2013
1829
  * @link https://api.keboola.com/?service=storage#storage/tag/tables
2014
1830
  */
@@ -2022,9 +1838,7 @@ const createTables = (client, genericClient) => {
2022
1838
  /**
2023
1839
  * Pulls a table from the default branch into the given dev branch.
2024
1840
  *
2025
- * The path is branch-scoped: the unbranched `/v2/storage/tables/{id}/pull` this used to call is
2026
- * absent from the Storage document and 404s for every table (the live nightly caught it), because
2027
- * nothing in it says which branch to pull into.
1841
+ * Branch-scoped: the unbranched `/v2/storage/tables/{id}/pull` 404s.
2028
1842
  *
2029
1843
  * @link https://api.keboola.com/?service=storage#storage/tag/tables
2030
1844
  */
@@ -2262,16 +2076,12 @@ const createTriggers = (client) => {
2262
2076
  //#endregion
2263
2077
  //#region src/clients/storage/workspaces/workspaces.ts
2264
2078
  /**
2265
- * Paths, queries and bodies come from the spec; only the returns are asserted in.
2079
+ * Paths, queries and bodies come from the spec; only the returns are asserted.
2266
2080
  *
2267
- * - `WorkspaceDetailResponse` describes a narrower connection than callers get, so `Workspace` is
2268
- * hand-authored (see `./types`) — that covers the list, detail and public-key returns.
2081
+ * - `Workspace` is corrected in `./types`: the spec's connection is narrower than callers get.
2269
2082
  * - The password, SSO and delete operations answer a contentless `default`.
2270
- * - `JobResponse` is a flat shape with `status: string`, while `Job<T>` is a discriminated union over
2271
- * `status` carrying typed `results`.
2272
- *
2273
- * `workspaceId` is a `number` in every input; the operations whose spec segment is a `string` take
2274
- * `String(workspaceId)` here rather than pushing the spec's inconsistency onto callers.
2083
+ * - `Job<T>` is a union over `status` with typed `results`; the spec's `JobResponse` is flat.
2084
+ * - `workspaceId` is a `number` in every input, stringified where the spec wants a string.
2275
2085
  */
2276
2086
  const createWorkspaces = (client) => {
2277
2087
  const getWorkspaces = async (path, signal) => {
@@ -2320,9 +2130,7 @@ const createWorkspaces = (client) => {
2320
2130
  return data;
2321
2131
  };
2322
2132
  /**
2323
- * Set the public key for the workspace user, or migrate workspace from password to key auth.
2324
- * Supported only on Snowflake.
2325
- * When called, either a new key is created, or the older one is replaced.
2133
+ * Sets or replaces the workspace user's public key, migrating off password auth. Snowflake only.
2326
2134
  */
2327
2135
  const setWorkspacePublicKey = async ({ branchId, workspaceId, ...body }) => {
2328
2136
  const { data } = await client.post("/v2/storage/branch/{branchId}/workspaces/{workspaceId}/public-key", {
@@ -2359,10 +2167,9 @@ const createWorkspaces = (client) => {
2359
2167
  return data;
2360
2168
  };
2361
2169
  /**
2362
- * Preview the resolved load types for a component-style input-mapping config without a workspace.
2363
- * Returns the preferred load type plus the possible load types per table for the resolved backend,
2364
- * without creating a job. The backend is resolved per item from the item `backend` field, then the
2365
- * `backend` argument, then the project default.
2170
+ * Previews the resolved load types for an input-mapping config, without a workspace or job.
2171
+ *
2172
+ * - Backend order: the item's `backend`, then the `backend` argument, then the project default.
2366
2173
  */
2367
2174
  const inputMappingLoadPreview = async ({ branchId, body, backend }, signal) => {
2368
2175
  const { data } = await client.post("/v2/storage/branch/{branchId}/input-mapping-load/preview", {
@@ -2449,4 +2256,4 @@ const createStorageClient = ({ baseUrl, auth, middlewares = [], onRefreshToken }
2449
2256
  //#endregion
2450
2257
  export { readableReason as a, ServiceUnavailableError as i, fromBackendSubscribers as n, series as o, toBackendSubscribers as r, createStorageClient as t };
2451
2258
 
2452
- //# sourceMappingURL=storage-Ob1LUIDq.js.map
2259
+ //# sourceMappingURL=storage-CZQHZcXG.js.map