@keboola/api-client 25.0.0 → 29.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 (812) hide show
  1. package/AGENTS.md +623 -0
  2. package/API-SURFACE.md +133 -57
  3. package/README.md +81 -42
  4. package/dist/ManagementClientAuthError-B97OtOQ7.js +15 -0
  5. package/dist/ManagementClientAuthError-B97OtOQ7.js.map +1 -0
  6. package/dist/ManagementClientAuthError-ZJ2-RoKT.cjs +20 -0
  7. package/dist/ManagementClientAuthError-ZJ2-RoKT.cjs.map +1 -0
  8. package/dist/QueryJobTimeoutError-C7JbNGOM.js +38 -0
  9. package/dist/QueryJobTimeoutError-C7JbNGOM.js.map +1 -0
  10. package/dist/QueryJobTimeoutError-CVNPdCWX.cjs +61 -0
  11. package/dist/QueryJobTimeoutError-CVNPdCWX.cjs.map +1 -0
  12. package/dist/SyncActionError-BG0zwchi.cjs +35 -0
  13. package/dist/SyncActionError-BG0zwchi.cjs.map +1 -0
  14. package/dist/SyncActionError-CoZFsdUk.js +24 -0
  15. package/dist/SyncActionError-CoZFsdUk.js.map +1 -0
  16. package/dist/UserError-By_Zckmc.js +10 -0
  17. package/dist/UserError-By_Zckmc.js.map +1 -0
  18. package/dist/UserError-CSGO1qII.cjs +15 -0
  19. package/dist/UserError-CSGO1qII.cjs.map +1 -0
  20. package/dist/ValidationError-CzPWydEb.js +44 -0
  21. package/dist/ValidationError-CzPWydEb.js.map +1 -0
  22. package/dist/ValidationError-h5qvwahi.cjs +61 -0
  23. package/dist/ValidationError-h5qvwahi.cjs.map +1 -0
  24. package/dist/adminRoles-B40yBcmq.js +14 -0
  25. package/dist/adminRoles-B40yBcmq.js.map +1 -0
  26. package/dist/adminRoles-C696kD_U.d.cts +14 -0
  27. package/dist/adminRoles-C696kD_U.d.ts +14 -0
  28. package/dist/adminRoles-CO7J5qAy.cjs +19 -0
  29. package/dist/adminRoles-CO7J5qAy.cjs.map +1 -0
  30. package/dist/ai/index.cjs +62 -12
  31. package/dist/ai/index.cjs.map +1 -1
  32. package/dist/ai/index.d.cts +52 -50
  33. package/dist/ai/index.d.ts +52 -50
  34. package/dist/ai/index.js +62 -4
  35. package/dist/ai/index.js.map +1 -1
  36. package/dist/ai/types.cjs +0 -4
  37. package/dist/ai/types.d.cts +2 -2
  38. package/dist/ai/types.d.ts +2 -2
  39. package/dist/ai/types.js +1 -3
  40. package/dist/appLogs-CNG3yby-.cjs +153 -0
  41. package/dist/appLogs-CNG3yby-.cjs.map +1 -0
  42. package/dist/appLogs-Dl5BcCSD.d.cts +10 -0
  43. package/dist/appLogs-VdgP08aX.d.ts +10 -0
  44. package/dist/appLogs-enL9XR9r.js +132 -0
  45. package/dist/appLogs-enL9XR9r.js.map +1 -0
  46. package/dist/apps/index.cjs +231 -0
  47. package/dist/apps/index.cjs.map +1 -0
  48. package/dist/apps/index.d.cts +248 -0
  49. package/dist/apps/index.d.ts +248 -0
  50. package/dist/apps/index.js +230 -0
  51. package/dist/apps/index.js.map +1 -0
  52. package/dist/apps/types.cjs +0 -0
  53. package/dist/apps/types.d.cts +3 -0
  54. package/dist/apps/types.d.ts +3 -0
  55. package/dist/apps/types.js +1 -0
  56. package/dist/assets/index.cjs +33 -38
  57. package/dist/assets/index.cjs.map +1 -1
  58. package/dist/assets/index.d.cts +22 -22
  59. package/dist/assets/index.d.ts +22 -22
  60. package/dist/assets/index.js +32 -36
  61. package/dist/assets/index.js.map +1 -1
  62. package/dist/assets/schema.cjs +23 -13
  63. package/dist/assets/schema.cjs.map +1 -1
  64. package/dist/assets/schema.d.cts +29 -28
  65. package/dist/assets/schema.d.ts +29 -28
  66. package/dist/assets/schema.js +21 -2
  67. package/dist/assets/schema.js.map +1 -1
  68. package/dist/auth/index.cjs +14 -53
  69. package/dist/auth/index.d.cts +2 -305
  70. package/dist/auth/index.d.ts +2 -305
  71. package/dist/auth/index.js +2 -4
  72. package/dist/auth/types.cjs +0 -4
  73. package/dist/auth/types.d.cts +2 -7
  74. package/dist/auth/types.d.ts +2 -7
  75. package/dist/auth/types.js +1 -3
  76. package/dist/auth-5HCvCsZO.cjs +18 -0
  77. package/dist/auth-5HCvCsZO.cjs.map +1 -0
  78. package/dist/auth-D2jfNlpX.js +13 -0
  79. package/dist/{chunk-EDX5D6UY.js.map → auth-D2jfNlpX.js.map} +1 -1
  80. package/dist/authClient-Bgj2Ay7h.d.cts +320 -0
  81. package/dist/authClient-DOk6VKdV.js +332 -0
  82. package/dist/authClient-DOk6VKdV.js.map +1 -0
  83. package/dist/authClient-Dsd7W99W.d.ts +320 -0
  84. package/dist/authClient-Z8Eg8rlN.cjs +405 -0
  85. package/dist/authClient-Z8Eg8rlN.cjs.map +1 -0
  86. package/dist/backends-DKBz5OxE.d.cts +9 -0
  87. package/dist/backends-DKBz5OxE.d.ts +9 -0
  88. package/dist/chat/index.cjs +134 -13
  89. package/dist/chat/index.cjs.map +1 -1
  90. package/dist/chat/index.d.cts +49 -48
  91. package/dist/chat/index.d.ts +49 -48
  92. package/dist/chat/index.js +134 -5
  93. package/dist/chat/index.js.map +1 -1
  94. package/dist/chat/suggestions.cjs +152 -74
  95. package/dist/chat/suggestions.cjs.map +1 -1
  96. package/dist/chat/suggestions.d.cts +2 -437
  97. package/dist/chat/suggestions.d.ts +2 -437
  98. package/dist/chat/suggestions.js +136 -2
  99. package/dist/chat/suggestions.js.map +1 -1
  100. package/dist/chat/types.cjs +6 -8
  101. package/dist/chat/types.cjs.map +1 -1
  102. package/dist/chat/types.d.cts +2 -3
  103. package/dist/chat/types.d.ts +2 -3
  104. package/dist/chat/types.js +5 -6
  105. package/dist/chat/types.js.map +1 -1
  106. package/dist/componentId-DkyQ8PM0.cjs +73 -0
  107. package/dist/componentId-DkyQ8PM0.cjs.map +1 -0
  108. package/dist/componentId-vJz-kWs6.js +68 -0
  109. package/dist/componentId-vJz-kWs6.js.map +1 -0
  110. package/dist/concurrent-CH9fbNr3.js +34 -0
  111. package/dist/concurrent-CH9fbNr3.js.map +1 -0
  112. package/dist/concurrent-tbiIa0UL.cjs +39 -0
  113. package/dist/concurrent-tbiIa0UL.cjs.map +1 -0
  114. package/dist/configurations-Byt59bIa.js +726 -0
  115. package/dist/{chunk-IAYPOSMM.cjs.map → configurations-Byt59bIa.js.map} +1 -1
  116. package/dist/configurations-CujCwDcB.cjs +743 -0
  117. package/dist/configurations-CujCwDcB.cjs.map +1 -0
  118. package/dist/configurations-DCOJONZZ.cjs +313 -0
  119. package/dist/configurations-DCOJONZZ.cjs.map +1 -0
  120. package/dist/configurations-iCbhe0tb.js +158 -0
  121. package/dist/configurations-iCbhe0tb.js.map +1 -0
  122. package/dist/constants/index.cjs +10 -34
  123. package/dist/constants/index.d.cts +4 -92
  124. package/dist/constants/index.d.ts +4 -92
  125. package/dist/constants/index.js +4 -5
  126. package/dist/constants-CqyyBkXW.cjs +197 -0
  127. package/dist/constants-CqyyBkXW.cjs.map +1 -0
  128. package/dist/constants-_HhqKvBg.js +174 -0
  129. package/dist/constants-_HhqKvBg.js.map +1 -0
  130. package/dist/createFetchClient-BK0TZK-U.js +184 -0
  131. package/dist/createFetchClient-BK0TZK-U.js.map +1 -0
  132. package/dist/createFetchClient-BsG719K1.cjs +263 -0
  133. package/dist/createFetchClient-BsG719K1.cjs.map +1 -0
  134. package/dist/createGenericFetchClient-CVZYekDk.js +7 -0
  135. package/dist/createGenericFetchClient-CVZYekDk.js.map +1 -0
  136. package/dist/createGenericFetchClient-DLbjX0eM.cjs +12 -0
  137. package/dist/createGenericFetchClient-DLbjX0eM.cjs.map +1 -0
  138. package/dist/createOpenapiFetchClient-B5U1fCHS.js +7 -0
  139. package/dist/createOpenapiFetchClient-B5U1fCHS.js.map +1 -0
  140. package/dist/createOpenapiFetchClient-Cr90VXY4.cjs +12 -0
  141. package/dist/createOpenapiFetchClient-Cr90VXY4.cjs.map +1 -0
  142. package/dist/createStore-BNiCRQXa.js +148 -0
  143. package/dist/createStore-BNiCRQXa.js.map +1 -0
  144. package/dist/createStore-MQbboXcB.cjs +177 -0
  145. package/dist/createStore-MQbboXcB.cjs.map +1 -0
  146. package/dist/credential-0c6yFwtp.cjs +44 -0
  147. package/dist/credential-0c6yFwtp.cjs.map +1 -0
  148. package/dist/credential-kEGLnVez.js +33 -0
  149. package/dist/credential-kEGLnVez.js.map +1 -0
  150. package/dist/dataScience/index.cjs +5 -19
  151. package/dist/dataScience/index.d.cts +3 -207
  152. package/dist/dataScience/index.d.ts +3 -207
  153. package/dist/dataScience/index.js +3 -6
  154. package/dist/dataScience/types.cjs +0 -4
  155. package/dist/dataScience/types.d.cts +3 -2
  156. package/dist/dataScience/types.d.ts +3 -2
  157. package/dist/dataScience/types.js +1 -3
  158. package/dist/dataScience-C-JrA0Uk.cjs +114 -0
  159. package/dist/dataScience-C-JrA0Uk.cjs.map +1 -0
  160. package/dist/dataScience-CE0pSWbl.js +109 -0
  161. package/dist/dataScience-CE0pSWbl.js.map +1 -0
  162. package/dist/dedupe-CiskLkGR.cjs +30 -0
  163. package/dist/dedupe-CiskLkGR.cjs.map +1 -0
  164. package/dist/dedupe-DYIHgZoG.js +25 -0
  165. package/dist/dedupe-DYIHgZoG.js.map +1 -0
  166. package/dist/developerPortal/index.cjs +6 -0
  167. package/dist/developerPortal/index.d.cts +3 -0
  168. package/dist/developerPortal/index.d.ts +3 -0
  169. package/dist/developerPortal/index.js +2 -0
  170. package/dist/developerPortal/types.cjs +0 -0
  171. package/dist/developerPortal/types.d.cts +2 -0
  172. package/dist/developerPortal/types.d.ts +2 -0
  173. package/dist/developerPortal/types.js +1 -0
  174. package/dist/developerPortalClient-BPPEAdJW.js +485 -0
  175. package/dist/developerPortalClient-BPPEAdJW.js.map +1 -0
  176. package/dist/developerPortalClient-C8oq48xW.cjs +508 -0
  177. package/dist/developerPortalClient-C8oq48xW.cjs.map +1 -0
  178. package/dist/domain/permissions/index.cjs +31 -122
  179. package/dist/domain/permissions/index.d.cts +19 -51
  180. package/dist/domain/permissions/index.d.ts +19 -51
  181. package/dist/domain/permissions/index.js +3 -5
  182. package/dist/domain/storageTable/index.cjs +4 -16
  183. package/dist/domain/storageTable/index.d.cts +2 -131
  184. package/dist/domain/storageTable/index.d.ts +2 -131
  185. package/dist/domain/storageTable/index.js +2 -3
  186. package/dist/editor/index.cjs +96 -12
  187. package/dist/editor/index.cjs.map +1 -1
  188. package/dist/editor/index.d.cts +163 -161
  189. package/dist/editor/index.d.ts +163 -161
  190. package/dist/editor/index.js +96 -4
  191. package/dist/editor/index.js.map +1 -1
  192. package/dist/editor/types.cjs +0 -4
  193. package/dist/editor/types.d.cts +2 -2
  194. package/dist/editor/types.d.ts +2 -2
  195. package/dist/editor/types.js +1 -3
  196. package/dist/encryption/index.cjs +58 -11
  197. package/dist/encryption/index.cjs.map +1 -1
  198. package/dist/encryption/index.d.cts +2 -18
  199. package/dist/encryption/index.d.ts +2 -18
  200. package/dist/encryption/index.js +58 -3
  201. package/dist/encryption/index.js.map +1 -1
  202. package/dist/encryption/types.cjs +0 -4
  203. package/dist/encryption/types.d.cts +2 -68
  204. package/dist/encryption/types.d.ts +2 -68
  205. package/dist/encryption/types.js +1 -3
  206. package/dist/generateUUID-C6qKBPIv.cjs +11 -0
  207. package/dist/generateUUID-C6qKBPIv.cjs.map +1 -0
  208. package/dist/generateUUID-Dr8l-aoc.js +6 -0
  209. package/dist/generateUUID-Dr8l-aoc.js.map +1 -0
  210. package/dist/import/index.cjs +3 -14
  211. package/dist/import/index.d.cts +41 -38
  212. package/dist/import/index.d.ts +41 -38
  213. package/dist/import/index.js +2 -5
  214. package/dist/import-Cf0W-7YD.js +116 -0
  215. package/dist/import-Cf0W-7YD.js.map +1 -0
  216. package/dist/import-KLH1uRtx.cjs +121 -0
  217. package/dist/import-KLH1uRtx.cjs.map +1 -0
  218. package/dist/index-8pN6Emos.d.ts +218 -0
  219. package/dist/index-BEKaJ7Cc.d.cts +1388 -0
  220. package/dist/index-BMqLPS6S.d.cts +135 -0
  221. package/dist/index-BMqLPS6S.d.ts +135 -0
  222. package/dist/index-BWBScAYc.d.cts +16 -0
  223. package/dist/index-BmjeNd9u.d.ts +1075 -0
  224. package/dist/index-BthgbVdd.d.ts +31 -0
  225. package/dist/index-CLPrlyIz.d.cts +218 -0
  226. package/dist/index-CXQRvZ-f.d.cts +31 -0
  227. package/dist/index-CeistZnj.d.ts +1388 -0
  228. package/dist/index-Cfrl7sd5.d.ts +65 -0
  229. package/dist/index-DIM8KZly.d.ts +16 -0
  230. package/dist/index-DNlX-H1V.d.ts +208 -0
  231. package/dist/index-DVsnxZap.d.cts +65 -0
  232. package/dist/index-DXi6wsr5.d.cts +77 -0
  233. package/dist/index-DYQt4zxC.d.ts +77 -0
  234. package/dist/index-DplMbm9E.d.cts +19882 -0
  235. package/dist/index-Dwp8tF6O.d.ts +19882 -0
  236. package/dist/index-IN0qzs52.d.cts +208 -0
  237. package/dist/index-KKJkrxjx.d.ts +26 -0
  238. package/dist/index-NC1dXRTD.d.cts +40 -0
  239. package/dist/index-NC1dXRTD.d.ts +40 -0
  240. package/dist/index-WQkVzx5e.d.cts +1075 -0
  241. package/dist/index-eEBVG5s3.d.cts +26 -0
  242. package/dist/index-vb9Rfqca.d.cts +115 -0
  243. package/dist/index-vb9Rfqca.d.ts +115 -0
  244. package/dist/index.cjs +1728 -1802
  245. package/dist/index.cjs.map +1 -1
  246. package/dist/index.d.cts +7 -15301
  247. package/dist/index.d.ts +7 -15301
  248. package/dist/index.js +1678 -1675
  249. package/dist/index.js.map +1 -1
  250. package/dist/isPlainObject-BB3iy87C.cjs +16 -0
  251. package/dist/isPlainObject-BB3iy87C.cjs.map +1 -0
  252. package/dist/isPlainObject-LYW-03uB.js +11 -0
  253. package/dist/isPlainObject-LYW-03uB.js.map +1 -0
  254. package/dist/jobStatus-DbMupQEK.js +423 -0
  255. package/dist/jobStatus-DbMupQEK.js.map +1 -0
  256. package/dist/jobStatus-kQ9JqF8t.cjs +494 -0
  257. package/dist/jobStatus-kQ9JqF8t.cjs.map +1 -0
  258. package/dist/management/index.cjs +4 -18
  259. package/dist/management/index.d.cts +2 -1083
  260. package/dist/management/index.d.ts +2 -1083
  261. package/dist/management/index.js +2 -5
  262. package/dist/management/types.cjs +0 -4
  263. package/dist/management/types.d.cts +2 -12
  264. package/dist/management/types.d.ts +2 -12
  265. package/dist/management/types.js +1 -3
  266. package/dist/management-DqwQcDCx.js +1065 -0
  267. package/dist/management-DqwQcDCx.js.map +1 -0
  268. package/dist/management-WOmlBt6H.cjs +1076 -0
  269. package/dist/management-WOmlBt6H.cjs.map +1 -0
  270. package/dist/metastore/index.cjs +3 -14
  271. package/dist/metastore/index.d.cts +2 -33
  272. package/dist/metastore/index.d.ts +2 -33
  273. package/dist/metastore/index.js +2 -5
  274. package/dist/metastore/types.cjs +0 -4
  275. package/dist/metastore/types.d.cts +2 -2
  276. package/dist/metastore/types.d.ts +2 -2
  277. package/dist/metastore/types.js +1 -3
  278. package/dist/metastore-CNEhL66f.js +134 -0
  279. package/dist/metastore-CNEhL66f.js.map +1 -0
  280. package/dist/metastore-CkQluyX1.cjs +139 -0
  281. package/dist/metastore-CkQluyX1.cjs.map +1 -0
  282. package/dist/notifications/index.cjs +67 -13
  283. package/dist/notifications/index.cjs.map +1 -1
  284. package/dist/notifications/index.d.cts +56 -56
  285. package/dist/notifications/index.d.ts +56 -56
  286. package/dist/notifications/index.js +67 -5
  287. package/dist/notifications/index.js.map +1 -1
  288. package/dist/notifications/types.cjs +0 -4
  289. package/dist/notifications/types.d.cts +2 -2
  290. package/dist/notifications/types.d.ts +2 -2
  291. package/dist/notifications/types.js +1 -3
  292. package/dist/oauth/index.cjs +3 -14
  293. package/dist/oauth/index.d.cts +49 -49
  294. package/dist/oauth/index.d.ts +49 -49
  295. package/dist/oauth/index.js +2 -5
  296. package/dist/oauth/types.cjs +0 -4
  297. package/dist/oauth/types.d.cts +2 -725
  298. package/dist/oauth/types.d.ts +2 -725
  299. package/dist/oauth/types.js +1 -3
  300. package/dist/oauth-DTvrqe6P.cjs +88 -0
  301. package/dist/oauth-DTvrqe6P.cjs.map +1 -0
  302. package/dist/oauth-DYDObUX9.js +83 -0
  303. package/dist/oauth-DYDObUX9.js.map +1 -0
  304. package/dist/omnisearch/index.cjs +49 -0
  305. package/dist/omnisearch/index.cjs.map +1 -0
  306. package/dist/omnisearch/index.d.cts +30 -0
  307. package/dist/omnisearch/index.d.ts +30 -0
  308. package/dist/omnisearch/index.js +48 -0
  309. package/dist/omnisearch/index.js.map +1 -0
  310. package/dist/omnisearch/types.cjs +0 -0
  311. package/dist/omnisearch/types.d.cts +2 -0
  312. package/dist/omnisearch/types.d.ts +2 -0
  313. package/dist/omnisearch/types.js +1 -0
  314. package/dist/project-BvFi19K_.cjs +56 -0
  315. package/dist/project-BvFi19K_.cjs.map +1 -0
  316. package/dist/project-CcGxXIW_.d.cts +18 -0
  317. package/dist/project-DWwZv66D.js +39 -0
  318. package/dist/project-DWwZv66D.js.map +1 -0
  319. package/dist/project-io1pY-hW.d.ts +18 -0
  320. package/dist/queryService/index.cjs +3 -14
  321. package/dist/queryService/index.d.cts +2 -39
  322. package/dist/queryService/index.d.ts +2 -39
  323. package/dist/queryService/index.js +2 -5
  324. package/dist/queryService/types.cjs +0 -4
  325. package/dist/queryService/types.d.cts +2 -2
  326. package/dist/queryService/types.d.ts +2 -2
  327. package/dist/queryService/types.js +1 -3
  328. package/dist/queryService-BHV_OZI2.js +114 -0
  329. package/dist/queryService-BHV_OZI2.js.map +1 -0
  330. package/dist/queryService-CvqDqigW.cjs +119 -0
  331. package/dist/queryService-CvqDqigW.cjs.map +1 -0
  332. package/dist/queue/index.cjs +3 -15
  333. package/dist/queue/index.d.cts +411 -334
  334. package/dist/queue/index.d.ts +411 -334
  335. package/dist/queue/index.js +2 -6
  336. package/dist/queue/types.cjs +0 -4
  337. package/dist/queue/types.d.cts +2 -2
  338. package/dist/queue/types.d.ts +2 -2
  339. package/dist/queue/types.js +1 -3
  340. package/dist/queue-CUHKupTA.cjs +137 -0
  341. package/dist/queue-CUHKupTA.cjs.map +1 -0
  342. package/dist/queue-uofE4Eu6.js +126 -0
  343. package/dist/queue-uofE4Eu6.js.map +1 -0
  344. package/dist/rolldown-runtime-VH7oDXx4.cjs +28 -0
  345. package/dist/scheduler/index.cjs +61 -13
  346. package/dist/scheduler/index.cjs.map +1 -1
  347. package/dist/scheduler/index.d.cts +73 -73
  348. package/dist/scheduler/index.d.ts +73 -73
  349. package/dist/scheduler/index.js +61 -5
  350. package/dist/scheduler/index.js.map +1 -1
  351. package/dist/scheduler/types.cjs +0 -4
  352. package/dist/scheduler/types.d.cts +2 -372
  353. package/dist/scheduler/types.d.ts +2 -372
  354. package/dist/scheduler/types.js +1 -3
  355. package/dist/sdk/configurations/index.cjs +3 -16
  356. package/dist/sdk/configurations/index.d.cts +3066 -3077
  357. package/dist/sdk/configurations/index.d.ts +3066 -3077
  358. package/dist/sdk/configurations/index.js +2 -7
  359. package/dist/sdk/developerPortal/index.cjs +203 -0
  360. package/dist/sdk/developerPortal/index.cjs.map +1 -0
  361. package/dist/sdk/developerPortal/index.d.cts +1371 -0
  362. package/dist/sdk/developerPortal/index.d.ts +1371 -0
  363. package/dist/sdk/developerPortal/index.js +202 -0
  364. package/dist/sdk/developerPortal/index.js.map +1 -0
  365. package/dist/sdk/queryService/index.cjs +93 -0
  366. package/dist/sdk/queryService/index.cjs.map +1 -0
  367. package/dist/sdk/queryService/index.d.cts +2 -0
  368. package/dist/sdk/queryService/index.d.ts +2 -0
  369. package/dist/sdk/queryService/index.js +92 -0
  370. package/dist/sdk/queryService/index.js.map +1 -0
  371. package/dist/sdk/semanticLayer/index.cjs +352 -50
  372. package/dist/sdk/semanticLayer/index.cjs.map +1 -1
  373. package/dist/sdk/semanticLayer/index.d.cts +105 -94
  374. package/dist/sdk/semanticLayer/index.d.ts +105 -94
  375. package/dist/sdk/semanticLayer/index.js +346 -4
  376. package/dist/sdk/semanticLayer/index.js.map +1 -1
  377. package/dist/sdk/semanticLayer/types.cjs +0 -4
  378. package/dist/sdk/semanticLayer/types.d.cts +2 -132
  379. package/dist/sdk/semanticLayer/types.d.ts +2 -132
  380. package/dist/sdk/semanticLayer/types.js +1 -3
  381. package/dist/sdk/storage/index.cjs +267 -47
  382. package/dist/sdk/storage/index.cjs.map +1 -1
  383. package/dist/sdk/storage/index.d.cts +2 -119
  384. package/dist/sdk/storage/index.d.ts +2 -119
  385. package/dist/sdk/storage/index.js +258 -3
  386. package/dist/sdk/storage/index.js.map +1 -1
  387. package/dist/sdk/tag/index.cjs +3 -14
  388. package/dist/sdk/tag/index.d.cts +16 -20
  389. package/dist/sdk/tag/index.d.ts +16 -20
  390. package/dist/sdk/tag/index.js +2 -5
  391. package/dist/sdk/tag/types.cjs +0 -4
  392. package/dist/sdk/tag/types.d.cts +2 -30
  393. package/dist/sdk/tag/types.d.ts +2 -30
  394. package/dist/sdk/tag/types.js +1 -3
  395. package/dist/sdk/vault/index.cjs +93 -31
  396. package/dist/sdk/vault/index.cjs.map +1 -1
  397. package/dist/sdk/vault/index.d.cts +2 -72
  398. package/dist/sdk/vault/index.d.ts +2 -72
  399. package/dist/sdk/vault/index.js +88 -3
  400. package/dist/sdk/vault/index.js.map +1 -1
  401. package/dist/status/index.cjs +16 -20
  402. package/dist/status/index.cjs.map +1 -1
  403. package/dist/status/index.d.cts +8 -9
  404. package/dist/status/index.d.ts +8 -9
  405. package/dist/status/index.js +15 -18
  406. package/dist/status/index.js.map +1 -1
  407. package/dist/status/types.cjs +0 -6
  408. package/dist/status/types.d.cts +17 -15
  409. package/dist/status/types.d.ts +17 -15
  410. package/dist/status/types.js +1 -3
  411. package/dist/storage/index.cjs +27 -54
  412. package/dist/storage/index.d.cts +3 -43
  413. package/dist/storage/index.d.ts +3 -43
  414. package/dist/storage/index.js +8 -9
  415. package/dist/storage/types.cjs +0 -4
  416. package/dist/storage/types.d.cts +5 -1654
  417. package/dist/storage/types.d.ts +5 -1654
  418. package/dist/storage/types.js +1 -3
  419. package/dist/storage-DbyNnkIJ.cjs +2458 -0
  420. package/dist/storage-DbyNnkIJ.cjs.map +1 -0
  421. package/dist/storage-luq7YBZF.js +2429 -0
  422. package/dist/storage-luq7YBZF.js.map +1 -0
  423. package/dist/storageTable-C9crh4Ef.cjs +310 -0
  424. package/dist/storageTable-C9crh4Ef.cjs.map +1 -0
  425. package/dist/storageTable-DslXtqNL.js +299 -0
  426. package/dist/storageTable-DslXtqNL.js.map +1 -0
  427. package/dist/stream/index.cjs +363 -12
  428. package/dist/stream/index.cjs.map +1 -1
  429. package/dist/stream/index.d.cts +345 -345
  430. package/dist/stream/index.d.ts +345 -345
  431. package/dist/stream/index.js +363 -4
  432. package/dist/stream/index.js.map +1 -1
  433. package/dist/stream/types.cjs +0 -4
  434. package/dist/stream/types.d.cts +2 -2
  435. package/dist/stream/types.d.ts +2 -2
  436. package/dist/stream/types.js +1 -3
  437. package/dist/suggestions-BH3x7xU7.d.cts +438 -0
  438. package/dist/suggestions-BH3x7xU7.d.ts +438 -0
  439. package/dist/syncActions/index.cjs +3 -18
  440. package/dist/syncActions/index.d.cts +2 -112
  441. package/dist/syncActions/index.d.ts +2 -112
  442. package/dist/syncActions/index.js +2 -9
  443. package/dist/syncActions/types.cjs +0 -4
  444. package/dist/syncActions/types.d.cts +2 -298
  445. package/dist/syncActions/types.d.ts +2 -298
  446. package/dist/syncActions/types.js +1 -3
  447. package/dist/syncActions-DKWeJ8GH.cjs +504 -0
  448. package/dist/syncActions-DKWeJ8GH.cjs.map +1 -0
  449. package/dist/syncActions-ssWWVN_4.js +497 -0
  450. package/dist/syncActions-ssWWVN_4.js.map +1 -0
  451. package/dist/tag-CsoOZWB_.cjs +175 -0
  452. package/dist/tag-CsoOZWB_.cjs.map +1 -0
  453. package/dist/tag-DCsoewjL.js +164 -0
  454. package/dist/{chunk-DHOVQ2TW.js.map → tag-DCsoewjL.js.map} +1 -1
  455. package/dist/telemetry/index.cjs +3 -14
  456. package/dist/telemetry/index.d.cts +10 -10
  457. package/dist/telemetry/index.d.ts +10 -10
  458. package/dist/telemetry/index.js +2 -5
  459. package/dist/telemetry/types.cjs +0 -4
  460. package/dist/telemetry/types.d.cts +2 -12
  461. package/dist/telemetry/types.d.ts +2 -12
  462. package/dist/telemetry/types.js +1 -3
  463. package/dist/telemetry-2IrE8HaZ.cjs +29 -0
  464. package/dist/telemetry-2IrE8HaZ.cjs.map +1 -0
  465. package/dist/telemetry-yQfQxBBI.js +24 -0
  466. package/dist/telemetry-yQfQxBBI.js.map +1 -0
  467. package/dist/types--T-vBqdd.d.cts +2835 -0
  468. package/dist/{types-CM1zHzgm.d.ts → types-2mHlPakp.d.cts} +893 -69
  469. package/dist/types-7H6Dnz0Y.d.ts +23 -0
  470. package/dist/types-B06L4-WE.d.cts +2124 -0
  471. package/dist/types-B1S2H7q1.d.ts +373 -0
  472. package/dist/types-B1glyy_Q.d.ts +726 -0
  473. package/dist/{utils-DK7uJcmR.d.cts → types-BCt0EMiO.d.ts} +16 -905
  474. package/dist/{types-BX1xr4CX.d.cts → types-BD6czYPH.d.ts} +43 -108
  475. package/dist/{types-BEnE7LHB.d.cts → types-BO-mTxKb.d.cts} +57 -81
  476. package/dist/{types-BieLFMW1.d.cts → types-BREBK0xX.d.ts} +9 -8
  477. package/dist/types-BRQAKEC1.d.cts +32 -0
  478. package/dist/types-BXK6Ebtm.d.ts +32 -0
  479. package/dist/types-BefwoXik.d.cts +373 -0
  480. package/dist/{types-DeoA45gz.d.cts → types-BhBvnvqe.d.ts} +632 -464
  481. package/dist/{types-Cgh3jqrV.d.cts → types-BmFyDKe6.d.ts} +893 -69
  482. package/dist/types-BpWqpMkL.d.ts +66 -0
  483. package/dist/types-C8XiTXxi.d.cts +23 -0
  484. package/dist/{types-BfuVN8Pk.d.cts → types-CAOvDtMC.d.cts} +11 -16
  485. package/dist/types-CC0wymfG.d.ts +2088 -0
  486. package/dist/{types-YzkNUuYo.d.ts → types-CI1mW2lA.d.ts} +11 -16
  487. package/dist/{types-00IaLn3S.d.ts → types-CRYtdj5w.d.ts} +876 -374
  488. package/dist/{types-CrLjE5xf.d.ts → types-CSmttcZ_.d.ts} +10 -12
  489. package/dist/{types-DgSyBwP3.d.cts → types-CbZ8aMKW.d.cts} +11 -14
  490. package/dist/{types-DwMezEHT.d.ts → types-CexuN7Mw.d.cts} +43 -108
  491. package/dist/types-CjAia48k.d.ts +386 -0
  492. package/dist/{types-D-MuJHwl.d.cts → types-CtdyAkzI.d.cts} +28 -16
  493. package/dist/{types-DpUcInCX.d.ts → types-CvADp-x-.d.ts} +11 -14
  494. package/dist/types-CwvOcTOm.d.cts +2088 -0
  495. package/dist/types-CyRK5z-E.d.cts +386 -0
  496. package/dist/{types-DbAO-Tgk.d.ts → types-D2n3h1gp.d.ts} +57 -81
  497. package/dist/types-DBOEA7l0.d.cts +148 -0
  498. package/dist/{types-DYnHIm7m.d.cts → types-DCBKso0t.d.cts} +10 -12
  499. package/dist/{types-Hj1CaKtV.d.ts → types-DEKF5pbg.d.cts} +632 -464
  500. package/dist/{types-B30y9Lhc.d.ts → types-DMvU4kZ2.d.cts} +208 -24
  501. package/dist/{types-B-vmDlWB.d.cts → types-DS8uFAeq.d.cts} +10 -15
  502. package/dist/types-DeApSCzx.d.cts +602 -0
  503. package/dist/types-DebL68-g.d.ts +148 -0
  504. package/dist/types-DgaYUtu_.d.cts +726 -0
  505. package/dist/{types-CiJ5ULtS.d.ts → types-DkbfBOBr.d.cts} +9 -8
  506. package/dist/types-DvsGS8By.d.cts +66 -0
  507. package/dist/{types-DHXZZKb3.d.ts → types-DwX1uxp_.d.ts} +10 -15
  508. package/dist/{types-sVyfECai.d.cts → types-ISUNM_BR.d.cts} +876 -374
  509. package/dist/{utils-B_SOM1XR.d.ts → types-QOIQ-dZU.d.cts} +16 -905
  510. package/dist/types-SGuvOEV8.d.ts +2124 -0
  511. package/dist/types-V8rC5if7.d.cts +621 -0
  512. package/dist/{types-CSZoV4lM.d.cts → types-Z-vUwgym.d.ts} +208 -24
  513. package/dist/types-bws2RtKq.d.ts +602 -0
  514. package/dist/types-h9TTimS_.d.ts +2835 -0
  515. package/dist/types-lFsTSkhe.d.cts +14 -0
  516. package/dist/types-lFsTSkhe.d.ts +14 -0
  517. package/dist/types-n4FFKqa4.d.ts +621 -0
  518. package/dist/{types-DeS-oVdn.d.ts → types-x4xPlrr0.d.ts} +28 -16
  519. package/dist/vault/index.cjs +49 -13
  520. package/dist/vault/index.cjs.map +1 -1
  521. package/dist/vault/index.d.cts +2 -26
  522. package/dist/vault/index.d.ts +2 -26
  523. package/dist/vault/index.js +49 -5
  524. package/dist/vault/index.js.map +1 -1
  525. package/dist/vault/types.cjs +0 -4
  526. package/dist/vault/types.d.cts +2 -385
  527. package/dist/vault/types.d.ts +2 -385
  528. package/dist/vault/types.js +1 -3
  529. package/package.json +113 -7
  530. package/surface/ai.md +1 -0
  531. package/surface/apps.md +32 -0
  532. package/surface/auth.md +6 -4
  533. package/surface/chat.md +3 -2
  534. package/surface/dataScience.md +3 -2
  535. package/surface/editor.md +1 -0
  536. package/surface/encryption.md +1 -0
  537. package/surface/import.md +1 -0
  538. package/surface/kaiAgent.md +2 -1
  539. package/surface/management.md +17 -16
  540. package/surface/metastore.md +2 -1
  541. package/surface/notifications.md +1 -0
  542. package/surface/oauth.md +1 -0
  543. package/surface/omnisearch.md +9 -0
  544. package/surface/queryService.md +5 -3
  545. package/surface/queue.md +8 -6
  546. package/surface/scheduler.md +1 -0
  547. package/surface/sdk.md +22 -22
  548. package/surface/storage.md +147 -106
  549. package/surface/stream.md +1 -0
  550. package/surface/syncActions.md +13 -6
  551. package/surface/vault.md +1 -0
  552. package/dist/ManagementClientAuthError-4J0S5tV-.d.ts +0 -9
  553. package/dist/ManagementClientAuthError-CyDpa4NS.d.cts +0 -9
  554. package/dist/adminRoles-Cil1lavB.d.cts +0 -18
  555. package/dist/adminRoles-Cil1lavB.d.ts +0 -18
  556. package/dist/ai/types.cjs.map +0 -1
  557. package/dist/ai/types.js.map +0 -1
  558. package/dist/auth/index.cjs.map +0 -1
  559. package/dist/auth/index.js.map +0 -1
  560. package/dist/auth/types.cjs.map +0 -1
  561. package/dist/auth/types.js.map +0 -1
  562. package/dist/chunk-22E6IGXR.js +0 -6
  563. package/dist/chunk-22E6IGXR.js.map +0 -1
  564. package/dist/chunk-2BOG5U7C.js +0 -75
  565. package/dist/chunk-2BOG5U7C.js.map +0 -1
  566. package/dist/chunk-2CFM7K4U.cjs +0 -55
  567. package/dist/chunk-2CFM7K4U.cjs.map +0 -1
  568. package/dist/chunk-34GM6NXB.js +0 -77
  569. package/dist/chunk-34GM6NXB.js.map +0 -1
  570. package/dist/chunk-3BFPNM2J.js +0 -61
  571. package/dist/chunk-3BFPNM2J.js.map +0 -1
  572. package/dist/chunk-3PVERYSF.js +0 -16
  573. package/dist/chunk-3PVERYSF.js.map +0 -1
  574. package/dist/chunk-3YWQQ3OG.cjs +0 -79
  575. package/dist/chunk-3YWQQ3OG.cjs.map +0 -1
  576. package/dist/chunk-4RC5E3SL.js +0 -140
  577. package/dist/chunk-4RC5E3SL.js.map +0 -1
  578. package/dist/chunk-4VVF2PIX.js +0 -110
  579. package/dist/chunk-4VVF2PIX.js.map +0 -1
  580. package/dist/chunk-552FC4ZV.js +0 -14
  581. package/dist/chunk-552FC4ZV.js.map +0 -1
  582. package/dist/chunk-5XWVWFTC.js +0 -33
  583. package/dist/chunk-5XWVWFTC.js.map +0 -1
  584. package/dist/chunk-6YZQIMML.cjs +0 -163
  585. package/dist/chunk-6YZQIMML.cjs.map +0 -1
  586. package/dist/chunk-77LILJYX.js +0 -110
  587. package/dist/chunk-77LILJYX.js.map +0 -1
  588. package/dist/chunk-7J2R6XHB.js +0 -3
  589. package/dist/chunk-7J2R6XHB.js.map +0 -1
  590. package/dist/chunk-7R22VKV7.cjs +0 -62
  591. package/dist/chunk-7R22VKV7.cjs.map +0 -1
  592. package/dist/chunk-7RO6PKZ4.cjs +0 -16
  593. package/dist/chunk-7RO6PKZ4.cjs.map +0 -1
  594. package/dist/chunk-7YXL4FKN.cjs +0 -340
  595. package/dist/chunk-7YXL4FKN.cjs.map +0 -1
  596. package/dist/chunk-7Z4MU7ZB.js +0 -1294
  597. package/dist/chunk-7Z4MU7ZB.js.map +0 -1
  598. package/dist/chunk-AFJGNBVM.cjs +0 -63
  599. package/dist/chunk-AFJGNBVM.cjs.map +0 -1
  600. package/dist/chunk-AVH6F5LB.js +0 -1492
  601. package/dist/chunk-AVH6F5LB.js.map +0 -1
  602. package/dist/chunk-AXEANGGK.js +0 -226
  603. package/dist/chunk-AXEANGGK.js.map +0 -1
  604. package/dist/chunk-BCZPCMGL.cjs +0 -49
  605. package/dist/chunk-BCZPCMGL.cjs.map +0 -1
  606. package/dist/chunk-BR6WZE3O.cjs +0 -42
  607. package/dist/chunk-BR6WZE3O.cjs.map +0 -1
  608. package/dist/chunk-BZA3FGO6.js +0 -40
  609. package/dist/chunk-BZA3FGO6.js.map +0 -1
  610. package/dist/chunk-CV2JGHBN.js +0 -183
  611. package/dist/chunk-CV2JGHBN.js.map +0 -1
  612. package/dist/chunk-CWCUQACX.cjs +0 -18
  613. package/dist/chunk-CWCUQACX.cjs.map +0 -1
  614. package/dist/chunk-CWUQ6ZAO.cjs +0 -185
  615. package/dist/chunk-CWUQ6ZAO.cjs.map +0 -1
  616. package/dist/chunk-D4WOOKMI.js +0 -350
  617. package/dist/chunk-D4WOOKMI.js.map +0 -1
  618. package/dist/chunk-DHOVQ2TW.js +0 -177
  619. package/dist/chunk-DRNOCC6W.cjs +0 -295
  620. package/dist/chunk-DRNOCC6W.cjs.map +0 -1
  621. package/dist/chunk-EDX5D6UY.js +0 -14
  622. package/dist/chunk-EWMXK3EI.cjs +0 -8
  623. package/dist/chunk-EWMXK3EI.cjs.map +0 -1
  624. package/dist/chunk-EYIPM2XB.cjs +0 -82
  625. package/dist/chunk-EYIPM2XB.cjs.map +0 -1
  626. package/dist/chunk-F6ZAYTBX.cjs +0 -364
  627. package/dist/chunk-F6ZAYTBX.cjs.map +0 -1
  628. package/dist/chunk-FJBP3MRI.cjs +0 -63
  629. package/dist/chunk-FJBP3MRI.cjs.map +0 -1
  630. package/dist/chunk-FMS5PNM2.cjs +0 -37
  631. package/dist/chunk-FMS5PNM2.cjs.map +0 -1
  632. package/dist/chunk-FPB6OGTV.js +0 -26
  633. package/dist/chunk-FPB6OGTV.js.map +0 -1
  634. package/dist/chunk-FRLSKIUI.cjs +0 -180
  635. package/dist/chunk-FRLSKIUI.cjs.map +0 -1
  636. package/dist/chunk-G3N5KDEY.js +0 -10
  637. package/dist/chunk-G3N5KDEY.js.map +0 -1
  638. package/dist/chunk-G66EP527.js +0 -59
  639. package/dist/chunk-G66EP527.js.map +0 -1
  640. package/dist/chunk-GF4XZK5N.cjs +0 -43
  641. package/dist/chunk-GF4XZK5N.cjs.map +0 -1
  642. package/dist/chunk-HITKHHWN.cjs +0 -174
  643. package/dist/chunk-HITKHHWN.cjs.map +0 -1
  644. package/dist/chunk-HMCZUHR7.js +0 -53
  645. package/dist/chunk-HMCZUHR7.js.map +0 -1
  646. package/dist/chunk-HTVJR5WS.cjs +0 -305
  647. package/dist/chunk-HTVJR5WS.cjs.map +0 -1
  648. package/dist/chunk-HY7J3OD3.cjs +0 -1298
  649. package/dist/chunk-HY7J3OD3.cjs.map +0 -1
  650. package/dist/chunk-IAYPOSMM.cjs +0 -472
  651. package/dist/chunk-IDWGBCSB.cjs +0 -61
  652. package/dist/chunk-IDWGBCSB.cjs.map +0 -1
  653. package/dist/chunk-J3NLKXQ5.cjs +0 -79
  654. package/dist/chunk-J3NLKXQ5.cjs.map +0 -1
  655. package/dist/chunk-KEFXOJD7.js +0 -61
  656. package/dist/chunk-KEFXOJD7.js.map +0 -1
  657. package/dist/chunk-KUYVBCUM.cjs +0 -231
  658. package/dist/chunk-KUYVBCUM.cjs.map +0 -1
  659. package/dist/chunk-L262THNK.cjs +0 -253
  660. package/dist/chunk-L262THNK.cjs.map +0 -1
  661. package/dist/chunk-LD3JERYP.js +0 -77
  662. package/dist/chunk-LD3JERYP.js.map +0 -1
  663. package/dist/chunk-LIXSIM3H.cjs +0 -113
  664. package/dist/chunk-LIXSIM3H.cjs.map +0 -1
  665. package/dist/chunk-LNZP2O4P.js +0 -169
  666. package/dist/chunk-LNZP2O4P.js.map +0 -1
  667. package/dist/chunk-MMOAH3EH.cjs +0 -288
  668. package/dist/chunk-MMOAH3EH.cjs.map +0 -1
  669. package/dist/chunk-MRHQJNWF.cjs +0 -8
  670. package/dist/chunk-MRHQJNWF.cjs.map +0 -1
  671. package/dist/chunk-MSI6FVGG.js +0 -6
  672. package/dist/chunk-MSI6FVGG.js.map +0 -1
  673. package/dist/chunk-N4COL54U.cjs +0 -22
  674. package/dist/chunk-N4COL54U.cjs.map +0 -1
  675. package/dist/chunk-NVQ6LGDO.cjs +0 -35
  676. package/dist/chunk-NVQ6LGDO.cjs.map +0 -1
  677. package/dist/chunk-NVRVPWNY.js +0 -148
  678. package/dist/chunk-NVRVPWNY.js.map +0 -1
  679. package/dist/chunk-OUSPQ55W.js +0 -263
  680. package/dist/chunk-OUSPQ55W.js.map +0 -1
  681. package/dist/chunk-PPQF7LTS.cjs +0 -63
  682. package/dist/chunk-PPQF7LTS.cjs.map +0 -1
  683. package/dist/chunk-PSR3N4NC.js +0 -136
  684. package/dist/chunk-PSR3N4NC.js.map +0 -1
  685. package/dist/chunk-QHD4LPAQ.cjs +0 -8
  686. package/dist/chunk-QHD4LPAQ.cjs.map +0 -1
  687. package/dist/chunk-RRC5RKF7.cjs +0 -12
  688. package/dist/chunk-RRC5RKF7.cjs.map +0 -1
  689. package/dist/chunk-RVBGE2Z4.js +0 -468
  690. package/dist/chunk-RVBGE2Z4.js.map +0 -1
  691. package/dist/chunk-S4JK7DKM.js +0 -61
  692. package/dist/chunk-S4JK7DKM.js.map +0 -1
  693. package/dist/chunk-SJZ66FD5.js +0 -35
  694. package/dist/chunk-SJZ66FD5.js.map +0 -1
  695. package/dist/chunk-T242YFMT.cjs +0 -150
  696. package/dist/chunk-T242YFMT.cjs.map +0 -1
  697. package/dist/chunk-T526LPBK.js +0 -6
  698. package/dist/chunk-T526LPBK.js.map +0 -1
  699. package/dist/chunk-U5SE6W5M.cjs +0 -158
  700. package/dist/chunk-U5SE6W5M.cjs.map +0 -1
  701. package/dist/chunk-UABYNGBZ.js +0 -39
  702. package/dist/chunk-UABYNGBZ.js.map +0 -1
  703. package/dist/chunk-UP5SEEYZ.js +0 -218
  704. package/dist/chunk-UP5SEEYZ.js.map +0 -1
  705. package/dist/chunk-UQ5CACMW.js +0 -283
  706. package/dist/chunk-UQ5CACMW.js.map +0 -1
  707. package/dist/chunk-UUY6LQT6.cjs +0 -267
  708. package/dist/chunk-UUY6LQT6.cjs.map +0 -1
  709. package/dist/chunk-UWQUHP3T.cjs +0 -112
  710. package/dist/chunk-UWQUHP3T.cjs.map +0 -1
  711. package/dist/chunk-XHDYLUM4.js +0 -268
  712. package/dist/chunk-XHDYLUM4.js.map +0 -1
  713. package/dist/chunk-XIIER7QQ.js +0 -60
  714. package/dist/chunk-XIIER7QQ.js.map +0 -1
  715. package/dist/chunk-XKIENBIE.js +0 -338
  716. package/dist/chunk-XKIENBIE.js.map +0 -1
  717. package/dist/chunk-XPDEQND7.cjs +0 -4
  718. package/dist/chunk-XPDEQND7.cjs.map +0 -1
  719. package/dist/chunk-YGEJDWGG.js +0 -19
  720. package/dist/chunk-YGEJDWGG.js.map +0 -1
  721. package/dist/chunk-YXGBD4WP.cjs +0 -16
  722. package/dist/chunk-YXGBD4WP.cjs.map +0 -1
  723. package/dist/chunk-Z3HZ4MP4.cjs +0 -1496
  724. package/dist/chunk-Z3HZ4MP4.cjs.map +0 -1
  725. package/dist/chunk-ZOREOLGE.js +0 -264
  726. package/dist/chunk-ZOREOLGE.js.map +0 -1
  727. package/dist/constants/index.cjs.map +0 -1
  728. package/dist/constants/index.js.map +0 -1
  729. package/dist/createGenericFetchClient-JcbIIqwF.d.cts +0 -18
  730. package/dist/createGenericFetchClient-ZGG5wbAC.d.ts +0 -18
  731. package/dist/createOpenapiFetchClient-6RX67Hws.d.ts +0 -24
  732. package/dist/createOpenapiFetchClient-BFmiJ9C5.d.cts +0 -24
  733. package/dist/dataScience/index.cjs.map +0 -1
  734. package/dist/dataScience/index.js.map +0 -1
  735. package/dist/dataScience/types.cjs.map +0 -1
  736. package/dist/dataScience/types.js.map +0 -1
  737. package/dist/domain/permissions/index.cjs.map +0 -1
  738. package/dist/domain/permissions/index.js.map +0 -1
  739. package/dist/domain/storageTable/index.cjs.map +0 -1
  740. package/dist/domain/storageTable/index.js.map +0 -1
  741. package/dist/editor/types.cjs.map +0 -1
  742. package/dist/editor/types.js.map +0 -1
  743. package/dist/encryption/types.cjs.map +0 -1
  744. package/dist/encryption/types.js.map +0 -1
  745. package/dist/import/index.cjs.map +0 -1
  746. package/dist/import/index.js.map +0 -1
  747. package/dist/keboolaUID-D1DGSbge.d.cts +0 -19
  748. package/dist/keboolaUID-D1DGSbge.d.ts +0 -19
  749. package/dist/management/index.cjs.map +0 -1
  750. package/dist/management/index.js.map +0 -1
  751. package/dist/management/types.cjs.map +0 -1
  752. package/dist/management/types.js.map +0 -1
  753. package/dist/metastore/index.cjs.map +0 -1
  754. package/dist/metastore/index.js.map +0 -1
  755. package/dist/metastore/types.cjs.map +0 -1
  756. package/dist/metastore/types.js.map +0 -1
  757. package/dist/notifications/types.cjs.map +0 -1
  758. package/dist/notifications/types.js.map +0 -1
  759. package/dist/oauth/index.cjs.map +0 -1
  760. package/dist/oauth/index.js.map +0 -1
  761. package/dist/oauth/types.cjs.map +0 -1
  762. package/dist/oauth/types.js.map +0 -1
  763. package/dist/project-CXqPYo4T.d.ts +0 -17
  764. package/dist/project-CZPvcxRW.d.cts +0 -17
  765. package/dist/queryService/index.cjs.map +0 -1
  766. package/dist/queryService/index.js.map +0 -1
  767. package/dist/queryService/types.cjs.map +0 -1
  768. package/dist/queryService/types.js.map +0 -1
  769. package/dist/queue/index.cjs.map +0 -1
  770. package/dist/queue/index.js.map +0 -1
  771. package/dist/queue/types.cjs.map +0 -1
  772. package/dist/queue/types.js.map +0 -1
  773. package/dist/registry-CcKlB-yY.d.ts +0 -1046
  774. package/dist/registry-Cg0Yng1z.d.cts +0 -1046
  775. package/dist/scheduler/types.cjs.map +0 -1
  776. package/dist/scheduler/types.js.map +0 -1
  777. package/dist/sdk/configurations/index.cjs.map +0 -1
  778. package/dist/sdk/configurations/index.js.map +0 -1
  779. package/dist/sdk/semanticLayer/types.cjs.map +0 -1
  780. package/dist/sdk/semanticLayer/types.js.map +0 -1
  781. package/dist/sdk/tag/index.cjs.map +0 -1
  782. package/dist/sdk/tag/index.js.map +0 -1
  783. package/dist/sdk/tag/types.cjs.map +0 -1
  784. package/dist/sdk/tag/types.js.map +0 -1
  785. package/dist/status/types.cjs.map +0 -1
  786. package/dist/status/types.js.map +0 -1
  787. package/dist/storage/index.cjs.map +0 -1
  788. package/dist/storage/index.js.map +0 -1
  789. package/dist/storage/types.cjs.map +0 -1
  790. package/dist/storage/types.js.map +0 -1
  791. package/dist/storageClient-Cd4jVt58.d.ts +0 -1519
  792. package/dist/storageClient-Dkcg7hKa.d.cts +0 -1519
  793. package/dist/storageSdk-15_Fbucc.d.cts +0 -746
  794. package/dist/storageSdk-L6NOdgSJ.d.ts +0 -746
  795. package/dist/stream/types.cjs.map +0 -1
  796. package/dist/stream/types.js.map +0 -1
  797. package/dist/syncActions/index.cjs.map +0 -1
  798. package/dist/syncActions/index.js.map +0 -1
  799. package/dist/syncActions/types.cjs.map +0 -1
  800. package/dist/syncActions/types.js.map +0 -1
  801. package/dist/telemetry/index.cjs.map +0 -1
  802. package/dist/telemetry/index.js.map +0 -1
  803. package/dist/telemetry/types.cjs.map +0 -1
  804. package/dist/telemetry/types.js.map +0 -1
  805. package/dist/types-BqC3U0k0.d.cts +0 -12
  806. package/dist/types-Dkipk6NN.d.ts +0 -12
  807. package/dist/types-UwuKN9Kx.d.cts +0 -60
  808. package/dist/types-UwuKN9Kx.d.ts +0 -60
  809. package/dist/types-gcShAmmi.d.cts +0 -90
  810. package/dist/types-gcShAmmi.d.ts +0 -90
  811. package/dist/vault/types.cjs.map +0 -1
  812. package/dist/vault/types.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,1882 +1,1781 @@
1
- 'use strict';
2
-
3
- var chunkIAYPOSMM_cjs = require('./chunk-IAYPOSMM.cjs');
4
- var chunkGF4XZK5N_cjs = require('./chunk-GF4XZK5N.cjs');
5
- require('./chunk-6YZQIMML.cjs');
6
- var chunkUUY6LQT6_cjs = require('./chunk-UUY6LQT6.cjs');
7
- var chunkEYIPM2XB_cjs = require('./chunk-EYIPM2XB.cjs');
8
- var chunkFRLSKIUI_cjs = require('./chunk-FRLSKIUI.cjs');
9
- var chunkKUYVBCUM_cjs = require('./chunk-KUYVBCUM.cjs');
10
- var chunkEWMXK3EI_cjs = require('./chunk-EWMXK3EI.cjs');
11
- var chunkF6ZAYTBX_cjs = require('./chunk-F6ZAYTBX.cjs');
12
- var chunkZ3HZ4MP4_cjs = require('./chunk-Z3HZ4MP4.cjs');
13
- var chunk7YXL4FKN_cjs = require('./chunk-7YXL4FKN.cjs');
14
- var chunkHTVJR5WS_cjs = require('./chunk-HTVJR5WS.cjs');
15
- var chunkHITKHHWN_cjs = require('./chunk-HITKHHWN.cjs');
16
- require('./chunk-FJBP3MRI.cjs');
17
- require('./chunk-YXGBD4WP.cjs');
18
- var chunkN4COL54U_cjs = require('./chunk-N4COL54U.cjs');
19
- var chunkNVQ6LGDO_cjs = require('./chunk-NVQ6LGDO.cjs');
20
- var chunk7R22VKV7_cjs = require('./chunk-7R22VKV7.cjs');
21
- var chunkRRC5RKF7_cjs = require('./chunk-RRC5RKF7.cjs');
22
- var chunk2CFM7K4U_cjs = require('./chunk-2CFM7K4U.cjs');
23
- var chunkHY7J3OD3_cjs = require('./chunk-HY7J3OD3.cjs');
24
- var chunkCWCUQACX_cjs = require('./chunk-CWCUQACX.cjs');
25
- var chunkCWUQ6ZAO_cjs = require('./chunk-CWUQ6ZAO.cjs');
26
- var chunkPPQF7LTS_cjs = require('./chunk-PPQF7LTS.cjs');
27
- var chunk3YWQQ3OG_cjs = require('./chunk-3YWQQ3OG.cjs');
28
- var chunkAFJGNBVM_cjs = require('./chunk-AFJGNBVM.cjs');
29
- var chunkFMS5PNM2_cjs = require('./chunk-FMS5PNM2.cjs');
30
- var chunkJ3NLKXQ5_cjs = require('./chunk-J3NLKXQ5.cjs');
31
- var chunkLIXSIM3H_cjs = require('./chunk-LIXSIM3H.cjs');
32
- require('./chunk-QHD4LPAQ.cjs');
33
- var chunkIDWGBCSB_cjs = require('./chunk-IDWGBCSB.cjs');
34
- var chunkDRNOCC6W_cjs = require('./chunk-DRNOCC6W.cjs');
35
- var chunkT242YFMT_cjs = require('./chunk-T242YFMT.cjs');
36
- require('./chunk-U5SE6W5M.cjs');
37
- var chunkL262THNK_cjs = require('./chunk-L262THNK.cjs');
38
- var chunkMRHQJNWF_cjs = require('./chunk-MRHQJNWF.cjs');
39
- var chunkUWQUHP3T_cjs = require('./chunk-UWQUHP3T.cjs');
40
- var chunk7RO6PKZ4_cjs = require('./chunk-7RO6PKZ4.cjs');
41
- var chunkBR6WZE3O_cjs = require('./chunk-BR6WZE3O.cjs');
42
- var chunkMMOAH3EH_cjs = require('./chunk-MMOAH3EH.cjs');
43
- var z2 = require('zod');
44
-
45
- function _interopNamespace(e) {
46
- if (e && e.__esModule) return e;
47
- var n = Object.create(null);
48
- if (e) {
49
- Object.keys(e).forEach(function (k) {
50
- if (k !== 'default') {
51
- var d = Object.getOwnPropertyDescriptor(e, k);
52
- Object.defineProperty(n, k, d.get ? d : {
53
- enumerable: true,
54
- get: function () { return e[k]; }
55
- });
56
- }
57
- });
58
- }
59
- n.default = e;
60
- return Object.freeze(n);
61
- }
62
-
63
- var z2__namespace = /*#__PURE__*/_interopNamespace(z2);
64
-
65
- // src/utils/assert.ts
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_rolldown_runtime = require("./rolldown-runtime-VH7oDXx4.cjs");
3
+ const require_project = require("./project-BvFi19K_.cjs");
4
+ const require_jobStatus = require("./jobStatus-kQ9JqF8t.cjs");
5
+ const require_queue = require("./queue-CUHKupTA.cjs");
6
+ const require_concurrent = require("./concurrent-tbiIa0UL.cjs");
7
+ const require_dedupe = require("./dedupe-CiskLkGR.cjs");
8
+ const require_createStore = require("./createStore-MQbboXcB.cjs");
9
+ const require_storage = require("./storage-DbyNnkIJ.cjs");
10
+ const require_tag = require("./tag-CsoOZWB_.cjs");
11
+ const require_generateUUID = require("./generateUUID-C6qKBPIv.cjs");
12
+ const require_isPlainObject = require("./isPlainObject-BB3iy87C.cjs");
13
+ const require_configurations = require("./configurations-CujCwDcB.cjs");
14
+ const require_UserError = require("./UserError-CSGO1qII.cjs");
15
+ const require_createFetchClient = require("./createFetchClient-BsG719K1.cjs");
16
+ const require_ManagementClientAuthError = require("./ManagementClientAuthError-ZJ2-RoKT.cjs");
17
+ const require_QueryJobTimeoutError = require("./QueryJobTimeoutError-CVNPdCWX.cjs");
18
+ const require_SyncActionError = require("./SyncActionError-BG0zwchi.cjs");
19
+ const require_ValidationError = require("./ValidationError-h5qvwahi.cjs");
20
+ const require_createGenericFetchClient = require("./createGenericFetchClient-DLbjX0eM.cjs");
21
+ const require_import = require("./import-KLH1uRtx.cjs");
22
+ const require_createOpenapiFetchClient = require("./createOpenapiFetchClient-Cr90VXY4.cjs");
23
+ const require_authClient = require("./authClient-Z8Eg8rlN.cjs");
24
+ const require_management = require("./management-WOmlBt6H.cjs");
25
+ const require_auth = require("./auth-5HCvCsZO.cjs");
26
+ const require_constants = require("./constants-CqyyBkXW.cjs");
27
+ const require_storageTable = require("./storageTable-C9crh4Ef.cjs");
28
+ const require_sdk_semanticLayer_index = require("./sdk/semanticLayer/index.cjs");
29
+ const require_sdk_storage_index = require("./sdk/storage/index.cjs");
30
+ const require_sdk_vault_index = require("./sdk/vault/index.cjs");
31
+ const require_ai_index = require("./ai/index.cjs");
32
+ const require_appLogs = require("./appLogs-CNG3yby-.cjs");
33
+ const require_apps_index = require("./apps/index.cjs");
34
+ const require_chat_index = require("./chat/index.cjs");
35
+ const require_dataScience = require("./dataScience-C-JrA0Uk.cjs");
36
+ const require_editor_index = require("./editor/index.cjs");
37
+ const require_encryption_index = require("./encryption/index.cjs");
38
+ const require_metastore = require("./metastore-CkQluyX1.cjs");
39
+ const require_notifications_index = require("./notifications/index.cjs");
40
+ const require_oauth = require("./oauth-DTvrqe6P.cjs");
41
+ const require_omnisearch_index = require("./omnisearch/index.cjs");
42
+ const require_queryService = require("./queryService-CvqDqigW.cjs");
43
+ const require_scheduler_index = require("./scheduler/index.cjs");
44
+ const require_stream_index = require("./stream/index.cjs");
45
+ const require_syncActions = require("./syncActions-DKWeJ8GH.cjs");
46
+ const require_telemetry = require("./telemetry-2IrE8HaZ.cjs");
47
+ const require_vault_index = require("./vault/index.cjs");
48
+ const require_credential = require("./credential-0c6yFwtp.cjs");
49
+ const require_sdk_queryService_index = require("./sdk/queryService/index.cjs");
50
+ let zod = require("zod");
51
+ zod = require_rolldown_runtime.__toESM(zod, 1);
52
+ //#region src/utils/assert.ts
66
53
  function assert(value, message) {
67
- if (value == null) {
68
- throw new Error(message);
69
- }
54
+ if (value == null) throw new Error(message);
70
55
  }
71
-
72
- // src/utils/async/coalesce.ts
73
- var coalesce = (task) => {
74
- let running = false;
75
- const waiters = [];
76
- const drain = async () => {
77
- running = true;
78
- const batch = waiters.splice(0);
79
- try {
80
- const result = await task();
81
- batch.forEach((waiter) => waiter.resolve(result));
82
- } catch (error) {
83
- batch.forEach((waiter) => waiter.reject(error));
84
- }
85
- if (waiters.length > 0) return drain();
86
- running = false;
87
- };
88
- return () => {
89
- const waiter = Promise.withResolvers();
90
- waiters.push(waiter);
91
- if (!running) void drain();
92
- return waiter.promise;
93
- };
94
- };
95
-
96
- // src/utils/createStore.ts
97
- var createStore = (initial) => {
98
- let value = initial;
99
- const listeners = /* @__PURE__ */ new Set();
100
- return {
101
- get: () => value,
102
- set: (next) => {
103
- if (Object.is(next, value)) return;
104
- value = next;
105
- listeners.forEach((listener) => listener(value));
106
- },
107
- subscribe: (listener) => {
108
- listeners.add(listener);
109
- return () => {
110
- listeners.delete(listener);
111
- };
112
- },
113
- dispose: () => {
114
- value = initial;
115
- listeners.clear();
116
- }
117
- };
118
- };
119
- var isPlainObjectOrArray = (value) => {
120
- if (Array.isArray(value)) return true;
121
- const proto = Object.getPrototypeOf(value);
122
- return proto === Object.prototype || proto === null;
123
- };
124
- var shallowEqual = (a, b) => {
125
- if (Object.is(a, b)) return true;
126
- if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) return false;
127
- if (!isPlainObjectOrArray(a) || !isPlainObjectOrArray(b)) return false;
128
- const aKeys = Object.keys(a);
129
- const bKeys = Object.keys(b);
130
- return aKeys.length === bKeys.length && aKeys.every((key) => Object.is(a[key], b[key]));
56
+ //#endregion
57
+ //#region src/utils/async/coalesce.ts
58
+ /**
59
+ * Coalesces concurrent triggers onto a single, never-parallel run of `task`.
60
+ * Triggers fired while a run is busy collapse into one trailing run, and each
61
+ * resolves with the first run that started after it — so it never sees stale state.
62
+ *
63
+ * Example — A triggers, then B and C trigger while A's run is still going:
64
+ * 1. trigger A → run #1 starts
65
+ * 2. trigger B, C → run #1 busy, so they wait
66
+ * 3. run #1 done → A resolves
67
+ * 4. run #2 starts → covers B and C together (one trailing run, not two)
68
+ * 5. run #2 done → B and C resolve
69
+ *
70
+ * @returns a trigger; each call returns a promise of the task result.
71
+ * @throws The returned promise rejects with whatever `task` throws or rejects
72
+ * with — the caller handles it (try/catch, or `.catch` on `void trigger()`).
73
+ */
74
+ const coalesce = (task) => {
75
+ let running = false;
76
+ const waiters = [];
77
+ const drain = async () => {
78
+ running = true;
79
+ const batch = waiters.splice(0);
80
+ try {
81
+ const result = await task();
82
+ batch.forEach((waiter) => waiter.resolve(result));
83
+ } catch (error) {
84
+ batch.forEach((waiter) => waiter.reject(error));
85
+ }
86
+ if (waiters.length > 0) return drain();
87
+ running = false;
88
+ };
89
+ return () => {
90
+ const waiter = Promise.withResolvers();
91
+ waiters.push(waiter);
92
+ if (!running) drain();
93
+ return waiter.promise;
94
+ };
131
95
  };
132
- var createDerivedStore = ({
133
- source,
134
- dependsOn,
135
- build,
136
- keyEquals = shallowEqual
137
- }) => {
138
- let key = dependsOn(source.get());
139
- const store = createStore(build(key));
140
- const unsubscribe = source.subscribe((state) => {
141
- const next = dependsOn(state);
142
- if (keyEquals(key, next)) return;
143
- key = next;
144
- store.set(build(next));
145
- });
146
- return {
147
- get: store.get,
148
- subscribe: store.subscribe,
149
- dispose: () => {
150
- unsubscribe();
151
- store.dispose();
152
- }
153
- };
96
+ //#endregion
97
+ //#region src/utils/async/poll/registry.ts
98
+ const DEFAULT_LIMIT = 50;
99
+ const isFinished = ({ snapshot }) => snapshot.state !== "idle" && snapshot.state !== "polling";
100
+ const createPollRegistry = ({ limit = DEFAULT_LIMIT } = {}) => {
101
+ const entries = require_createStore.createStore([]);
102
+ const unsubscribes = /* @__PURE__ */ new Map();
103
+ const maxEntries = require_jobStatus.clamp(require_jobStatus.finiteOr(limit, DEFAULT_LIMIT), 1);
104
+ let nextKey = 1;
105
+ const forget = (key) => {
106
+ unsubscribes.get(key)?.();
107
+ unsubscribes.delete(key);
108
+ };
109
+ const trim = (list) => {
110
+ let kept = list;
111
+ while (kept.length > maxEntries) {
112
+ const dropped = kept.findLast(isFinished) ?? kept.at(-1);
113
+ if (!dropped) break;
114
+ forget(dropped.key);
115
+ kept = kept.filter((entry) => entry !== dropped);
116
+ }
117
+ return kept;
118
+ };
119
+ const replace = (key, snapshot) => entries.set(entries.get().map((entry) => entry.key === key ? {
120
+ ...entry,
121
+ snapshot
122
+ } : entry));
123
+ const register = (poller) => {
124
+ const key = nextKey++;
125
+ const entry = {
126
+ key,
127
+ startedAt: Date.now(),
128
+ snapshot: poller.debug(),
129
+ stop: poller.stop,
130
+ start: poller.start
131
+ };
132
+ unsubscribes.set(key, poller.subscribe((snapshot) => replace(key, snapshot)));
133
+ entries.set(trim([entry, ...entries.get()]));
134
+ };
135
+ const collect = () => {
136
+ require_jobStatus.emitter.subscribe(register);
137
+ };
138
+ return {
139
+ list: entries.get,
140
+ collect,
141
+ subscribe: (listener) => entries.subscribe(() => listener()),
142
+ clear: () => {
143
+ entries.get().forEach(({ key }) => forget(key));
144
+ entries.set([]);
145
+ },
146
+ stopAll: (reason) => entries.get().forEach((entry) => entry.stop(reason))
147
+ };
154
148
  };
155
- var createDerivedAsyncStore = ({
156
- source,
157
- dependsOn,
158
- build,
159
- keyEquals = shallowEqual
160
- }) => {
161
- const store = createStore({ state: "idle" });
162
- let currentKey = null;
163
- let generation = 0;
164
- let controller = null;
165
- const run = (key) => {
166
- controller?.abort();
167
- controller = new AbortController();
168
- const runGeneration = ++generation;
169
- store.set({ state: "pending" });
170
- build(key, controller.signal).then(
171
- (value) => {
172
- if (runGeneration === generation) store.set({ state: "ready", value });
173
- },
174
- (error) => {
175
- if (runGeneration === generation) store.set({ state: "errored", error });
176
- }
177
- );
178
- };
179
- const sync = (state) => {
180
- const next = dependsOn(state);
181
- if (next === null) {
182
- if (currentKey === null) return;
183
- controller?.abort();
184
- controller = null;
185
- generation += 1;
186
- currentKey = null;
187
- store.set({ state: "idle" });
188
- return;
189
- }
190
- if (currentKey !== null && keyEquals(currentKey, next)) return;
191
- currentKey = next;
192
- run(next);
193
- };
194
- sync(source.get());
195
- const unsubscribe = source.subscribe(sync);
196
- const readable = {
197
- get: store.get,
198
- subscribe: store.subscribe,
199
- dispose: () => {
200
- controller?.abort();
201
- unsubscribe();
202
- store.dispose();
203
- }
204
- };
205
- const settled = () => new Promise((resolve) => {
206
- let unsubscribeSettled = () => {
207
- };
208
- const check = (state) => {
209
- if (state.state === "ready" || state.state === "errored") {
210
- unsubscribeSettled();
211
- resolve(state);
212
- }
213
- };
214
- unsubscribeSettled = store.subscribe(check);
215
- check(store.get());
216
- });
217
- return { store: readable, settled };
149
+ //#endregion
150
+ //#region src/utils/deepMerge.ts
151
+ /**
152
+ * Recursively merge `patch` into `base`. Plain-object values are merged key-by-key; every
153
+ * other value (primitives, arrays, or a type mismatch between the two sides) replaces the
154
+ * base value. `undefined` patch values are skipped, so a partial patch leaves untouched
155
+ * fields alone. Pure — neither argument is mutated; the result preserves `base`'s type.
156
+ */
157
+ const deepMerge = (base, patch) => {
158
+ const out = { ...base };
159
+ for (const [key, value] of Object.entries(patch)) {
160
+ if (value === void 0) continue;
161
+ const current = out[key];
162
+ out[key] = require_isPlainObject.isPlainObject(current) && require_isPlainObject.isPlainObject(value) ? deepMerge(current, value) : value;
163
+ }
164
+ return out;
218
165
  };
219
-
220
- // src/utils/deepMerge.ts
221
- var deepMerge = (base, patch) => {
222
- const out = { ...base };
223
- for (const [key, value] of Object.entries(patch)) {
224
- if (value === void 0) continue;
225
- const current = out[key];
226
- out[key] = chunkMRHQJNWF_cjs.isPlainObject(current) && chunkMRHQJNWF_cjs.isPlainObject(value) ? deepMerge(current, value) : value;
227
- }
228
- return out;
229
- };
230
-
231
- // src/utils/persistor/adapters.ts
232
- var createNullStorage = () => ({
233
- getItem: () => null,
234
- setItem: () => {
235
- },
236
- removeItem: () => {
237
- }
166
+ //#endregion
167
+ //#region src/utils/persistor/adapters.ts
168
+ const createNullStorage = () => ({
169
+ getItem: () => null,
170
+ setItem: () => {},
171
+ removeItem: () => {}
238
172
  });
239
- var createMemoryStorage = () => {
240
- const store = /* @__PURE__ */ new Map();
241
- return {
242
- getItem: (key) => store.get(key) ?? null,
243
- setItem: (key, value) => {
244
- store.set(key, value);
245
- },
246
- removeItem: (key) => {
247
- store.delete(key);
248
- }
249
- };
173
+ const createMemoryStorage = () => {
174
+ const store = /* @__PURE__ */ new Map();
175
+ return {
176
+ getItem: (key) => store.get(key) ?? null,
177
+ setItem: (key, value) => {
178
+ store.set(key, value);
179
+ },
180
+ removeItem: (key) => {
181
+ store.delete(key);
182
+ }
183
+ };
250
184
  };
251
- var createWebStorage = (pick) => {
252
- let web = null;
253
- try {
254
- web = pick();
255
- if (web) {
256
- const probe = "__keboola_storage_probe__";
257
- web.setItem(probe, probe);
258
- web.removeItem(probe);
259
- }
260
- } catch (err) {
261
- console.warn("createWebStorage: web storage unavailable, falling back to memory", err);
262
- web = null;
263
- }
264
- if (!web) return createMemoryStorage();
265
- const storage = web;
266
- return {
267
- getItem: (key) => storage.getItem(key),
268
- setItem: (key, value) => {
269
- storage.setItem(key, value);
270
- },
271
- removeItem: (key) => {
272
- storage.removeItem(key);
273
- }
274
- };
185
+ const createWebStorage = (pick) => {
186
+ let web = null;
187
+ try {
188
+ web = pick();
189
+ if (web) {
190
+ const probe = "__keboola_storage_probe__";
191
+ web.setItem(probe, probe);
192
+ web.removeItem(probe);
193
+ }
194
+ } catch (err) {
195
+ console.warn("createWebStorage: web storage unavailable, falling back to memory", err);
196
+ web = null;
197
+ }
198
+ if (!web) return createMemoryStorage();
199
+ const storage = web;
200
+ return {
201
+ getItem: (key) => storage.getItem(key),
202
+ setItem: (key, value) => {
203
+ storage.setItem(key, value);
204
+ },
205
+ removeItem: (key) => {
206
+ storage.removeItem(key);
207
+ }
208
+ };
275
209
  };
276
- var createLocalStorage = () => createWebStorage(() => "localStorage" in globalThis ? globalThis.localStorage : null);
277
- var createSessionStorage = () => createWebStorage(() => "sessionStorage" in globalThis ? globalThis.sessionStorage : null);
278
-
279
- // src/utils/persistor/persistor.ts
280
- var createPersistor = ({
281
- storage = createNullStorage(),
282
- key,
283
- schema,
284
- defaultValue,
285
- encode = JSON.stringify,
286
- decode = JSON.parse
287
- }) => {
288
- const clear = () => {
289
- try {
290
- storage.removeItem(key);
291
- } catch (err) {
292
- console.warn(`createPersistor: failed to clear "${key}"`, err);
293
- }
294
- };
295
- const hasPersistedValue = () => {
296
- try {
297
- return !!storage.getItem(key);
298
- } catch (err) {
299
- console.warn(`createPersistor: failed to read "${key}", assuming empty`, err);
300
- return false;
301
- }
302
- };
303
- const hydrate = () => {
304
- let raw;
305
- try {
306
- raw = storage.getItem(key);
307
- } catch (err) {
308
- console.warn(`createPersistor: failed to read "${key}", using default`, err);
309
- return defaultValue;
310
- }
311
- if (raw === null) return defaultValue;
312
- let decoded;
313
- try {
314
- decoded = decode(raw);
315
- } catch (err) {
316
- console.warn(`createPersistor: failed to decode "${key}", resetting`, err);
317
- clear();
318
- return defaultValue;
319
- }
320
- const parsed = schema.safeParse(decoded);
321
- if (parsed.success) return parsed.data;
322
- clear();
323
- return defaultValue;
324
- };
325
- const persist = (value) => {
326
- let raw;
327
- try {
328
- raw = encode(value);
329
- } catch (err) {
330
- console.warn(`createPersistor: failed to encode "${key}", not persisting`, err);
331
- return;
332
- }
333
- try {
334
- storage.setItem(key, raw);
335
- } catch (err) {
336
- console.warn(`createPersistor: failed to write "${key}"`, err);
337
- }
338
- };
339
- return { hydrate, persist, clear, hasPersistedValue };
210
+ const createLocalStorage = () => createWebStorage(() => "localStorage" in globalThis ? globalThis.localStorage : null);
211
+ const createSessionStorage = () => createWebStorage(() => "sessionStorage" in globalThis ? globalThis.sessionStorage : null);
212
+ //#endregion
213
+ //#region src/utils/persistor/persistor.ts
214
+ const createPersistor = ({ storage = createNullStorage(), key, schema, defaultValue, encode = JSON.stringify, decode = JSON.parse }) => {
215
+ const clear = () => {
216
+ try {
217
+ storage.removeItem(key);
218
+ } catch (err) {
219
+ console.warn(`createPersistor: failed to clear "${key}"`, err);
220
+ }
221
+ };
222
+ const hasPersistedValue = () => {
223
+ try {
224
+ return !!storage.getItem(key);
225
+ } catch (err) {
226
+ console.warn(`createPersistor: failed to read "${key}", assuming empty`, err);
227
+ return false;
228
+ }
229
+ };
230
+ const hydrate = () => {
231
+ let raw;
232
+ try {
233
+ raw = storage.getItem(key);
234
+ } catch (err) {
235
+ console.warn(`createPersistor: failed to read "${key}", using default`, err);
236
+ return defaultValue;
237
+ }
238
+ if (raw === null) return defaultValue;
239
+ let decoded;
240
+ try {
241
+ decoded = decode(raw);
242
+ } catch (err) {
243
+ console.warn(`createPersistor: failed to decode "${key}", resetting`, err);
244
+ clear();
245
+ return defaultValue;
246
+ }
247
+ const parsed = schema.safeParse(decoded);
248
+ if (parsed.success) return parsed.data;
249
+ clear();
250
+ return defaultValue;
251
+ };
252
+ const persist = (value) => {
253
+ let raw;
254
+ try {
255
+ raw = encode(value);
256
+ } catch (err) {
257
+ console.warn(`createPersistor: failed to encode "${key}", not persisting`, err);
258
+ return;
259
+ }
260
+ try {
261
+ storage.setItem(key, raw);
262
+ } catch (err) {
263
+ console.warn(`createPersistor: failed to write "${key}"`, err);
264
+ }
265
+ };
266
+ return {
267
+ hydrate,
268
+ persist,
269
+ clear,
270
+ hasPersistedValue
271
+ };
340
272
  };
341
-
342
- // src/keboola/createLiveProject.ts
343
- var STORAGE_TOKEN_MUTATING_PATTERNS = [
344
- // Bucket lifecycle (create / delete / register) — changes token.bucketPermissions.
345
- // At most one trailing segment, so sub-resources (tables, listing, metadata, refresh)
346
- // under /buckets/{id}/... don't trigger a re-verify.
347
- /\/buckets(\/[^/]+)?$/,
348
- // Project feature toggles — changes token.owner.features. Anchored to
349
- // /projects/{id}/features so /manage/features and /users/{id}/features don't match.
350
- /\/projects\/[^/]+\/features(\/[^/]+)?$/
351
- ];
352
- var isStorageTokenMutatingRequest = (request) => {
353
- if (request.method === "GET") return false;
354
- const { pathname } = new URL(request.url);
355
- return STORAGE_TOKEN_MUTATING_PATTERNS.some((pattern) => pattern.test(pathname));
273
+ //#endregion
274
+ //#region src/keboola/createLiveProject.ts
275
+ const STORAGE_TOKEN_MUTATING_PATTERNS = [/\/buckets(\/[^/]+)?$/, /\/projects\/[^/]+\/features(\/[^/]+)?$/];
276
+ const isStorageTokenMutatingRequest = (request) => {
277
+ if (request.method === "GET") return false;
278
+ const { pathname } = new URL(request.url);
279
+ return STORAGE_TOKEN_MUTATING_PATTERNS.some((pattern) => pattern.test(pathname));
356
280
  };
357
- var createProjectRefreshMiddleware = (shouldRefresh, requestRefresh) => (next) => async (request) => {
358
- const response = await next(request);
359
- if (shouldRefresh(request.request)) await requestRefresh();
360
- return response;
281
+ const createProjectRefreshMiddleware = (shouldRefresh, requestRefresh) => (next) => async (request) => {
282
+ const response = await next(request);
283
+ if (shouldRefresh(request.request)) await requestRefresh();
284
+ return response;
361
285
  };
362
- var createLiveProject = ({
363
- initialToken,
364
- verify
365
- }) => {
366
- const store = createStore(chunkGF4XZK5N_cjs.createProject({ sapiToken: initialToken }));
367
- const refresh = coalesce(async () => store.set(chunkGF4XZK5N_cjs.createProject({ sapiToken: await verify() })));
368
- const middleware = createProjectRefreshMiddleware(isStorageTokenMutatingRequest, refresh);
369
- return { store, getProject: () => store.get(), subscribe: store.subscribe, middleware, refresh };
286
+ /**
287
+ * The live project store: seeded from the verified token, re-verified (coalesced) after a
288
+ * token-mutating request or an explicit re-scope. Its `middleware` drives the auto re-verify.
289
+ */
290
+ const createLiveProject = ({ initialToken, verify }) => {
291
+ const store = require_createStore.createStore(require_project.createProject({ sapiToken: initialToken }));
292
+ const refresh = coalesce(async () => store.set(require_project.createProject({ sapiToken: await verify() })));
293
+ const middleware = createProjectRefreshMiddleware(isStorageTokenMutatingRequest, refresh);
294
+ return {
295
+ store,
296
+ getProject: () => store.get(),
297
+ subscribe: store.subscribe,
298
+ middleware,
299
+ refresh
300
+ };
370
301
  };
371
-
372
- // src/keboola/errors.ts
373
- var KeboolaErrorType = {
374
- Unconfigured: "unconfigured",
375
- NotAuthenticated: "not-authenticated",
376
- AlreadyAuthenticated: "already-authenticated",
377
- NoStorageToken: "no-storage-token",
378
- NoManagementToken: "no-management-token",
379
- MissingProject: "missing-project",
380
- NotBearer: "not-bearer",
381
- NotReady: "not-ready",
382
- InvalidBuildTransition: "invalid-build-transition"
302
+ //#endregion
303
+ //#region src/keboola/errors.ts
304
+ /**
305
+ * The single error the keboola client / session throws. It carries a stable `type` (the switchable
306
+ * contract) and a human-readable message derived from that type — no per-call message strings.
307
+ */
308
+ const KeboolaErrorType = {
309
+ Unconfigured: "unconfigured",
310
+ NotAuthenticated: "not-authenticated",
311
+ AlreadyAuthenticated: "already-authenticated",
312
+ NoStorageToken: "no-storage-token",
313
+ NoManagementToken: "no-management-token",
314
+ MissingProject: "missing-project",
315
+ NotBearer: "not-bearer",
316
+ NotReady: "not-ready",
317
+ InvalidBuildTransition: "invalid-build-transition"
383
318
  };
384
- var MESSAGES = {
385
- [KeboolaErrorType.Unconfigured]: "The session is not configured \u2014 set a baseUrl first.",
386
- [KeboolaErrorType.NotAuthenticated]: "The session is not authenticated \u2014 sign in first.",
387
- [KeboolaErrorType.AlreadyAuthenticated]: "The session is already authenticated \u2014 reset before authenticating again.",
388
- [KeboolaErrorType.NoStorageToken]: "No storage token \u2014 authenticate the storage realm first.",
389
- [KeboolaErrorType.NoManagementToken]: "No management token \u2014 authenticate the management realm first.",
390
- [KeboolaErrorType.MissingProject]: "A bearer storage session requires a project \u2014 call setProject(projectId) first.",
391
- [KeboolaErrorType.NotBearer]: "This operation requires a bearer (OAuth) session.",
392
- [KeboolaErrorType.NotReady]: "The client is not ready \u2014 authenticate the storage realm first.",
393
- [KeboolaErrorType.InvalidBuildTransition]: "Invalid storage build transition \u2014 the build goes idle \u2192 initializing \u2192 ready | failed."
319
+ const MESSAGES = {
320
+ [KeboolaErrorType.Unconfigured]: "The session is not configured — set a baseUrl first.",
321
+ [KeboolaErrorType.NotAuthenticated]: "The session is not authenticated — sign in first.",
322
+ [KeboolaErrorType.AlreadyAuthenticated]: "The session is already authenticated — reset before authenticating again.",
323
+ [KeboolaErrorType.NoStorageToken]: "No storage token — authenticate the storage realm first.",
324
+ [KeboolaErrorType.NoManagementToken]: "No management token — authenticate the management realm first.",
325
+ [KeboolaErrorType.MissingProject]: "A bearer storage session requires a project — call setProject(projectId) first.",
326
+ [KeboolaErrorType.NotBearer]: "This operation requires a bearer (OAuth) session.",
327
+ [KeboolaErrorType.NotReady]: "The client is not ready — authenticate the storage realm first.",
328
+ [KeboolaErrorType.InvalidBuildTransition]: "Invalid storage build transition — the build goes idle → initializing → ready | failed."
394
329
  };
395
- var KeboolaError = class _KeboolaError extends Error {
396
- type;
397
- constructor(type) {
398
- super(MESSAGES[type]);
399
- this.type = type;
400
- this.name = "KeboolaError";
401
- Object.setPrototypeOf(this, _KeboolaError.prototype);
402
- }
330
+ var KeboolaError = class KeboolaError extends Error {
331
+ type;
332
+ constructor(type) {
333
+ super(MESSAGES[type]);
334
+ this.type = type;
335
+ this.name = "KeboolaError";
336
+ Object.setPrototypeOf(this, KeboolaError.prototype);
337
+ }
403
338
  };
404
- var isKeboolaError = (error) => error instanceof KeboolaError;
405
- function assert2(value, type) {
406
- if (value == null) throw new KeboolaError(type);
339
+ const isKeboolaError = (error) => error instanceof KeboolaError;
340
+ /** Throw a {@link KeboolaError} of `type` when `value` is null/undefined; otherwise narrow it. */
341
+ function assert$1(value, type) {
342
+ if (value == null) throw new KeboolaError(type);
407
343
  }
408
-
409
- // src/middlewares/loggingMiddleware.ts
410
- var CORRELATION_ID_HEADER = "X-Correlation-ID";
411
- var ALWAYS_REDACTED_HEADERS = [
412
- chunkMMOAH3EH_cjs.KeboolaHttpHeader.MANAGEMENT_API_TOKEN,
413
- chunkMMOAH3EH_cjs.KeboolaHttpHeader.STORAGE_API_TOKEN,
414
- "authorization",
415
- "cookie",
416
- "set-cookie"
344
+ //#endregion
345
+ //#region src/middlewares/loggingMiddleware.ts
346
+ const CORRELATION_ID_HEADER = "X-Correlation-ID";
347
+ const ALWAYS_REDACTED_HEADERS = [
348
+ require_createFetchClient.KeboolaHttpHeader.MANAGEMENT_API_TOKEN,
349
+ require_createFetchClient.KeboolaHttpHeader.STORAGE_API_TOKEN,
350
+ "authorization",
351
+ "cookie",
352
+ "set-cookie"
417
353
  ];
418
- var ALWAYS_REDACTED_QUERY_PARAMS = /* @__PURE__ */ new Set([
419
- "token",
420
- "apikey",
421
- "api_key",
422
- "access_token",
423
- "refresh_token",
424
- "code",
425
- "state",
426
- "signature",
427
- "sig",
428
- "x-amz-signature",
429
- "x-amz-credential",
430
- "x-amz-security-token",
431
- "password",
432
- "secret"
354
+ const ALWAYS_REDACTED_QUERY_PARAMS = /* @__PURE__ */ new Set([
355
+ "token",
356
+ "apikey",
357
+ "api_key",
358
+ "access_token",
359
+ "refresh_token",
360
+ "code",
361
+ "state",
362
+ "signature",
363
+ "sig",
364
+ "x-amz-signature",
365
+ "x-amz-credential",
366
+ "x-amz-security-token",
367
+ "password",
368
+ "secret"
433
369
  ]);
434
- var REDACTED = "[REDACTED]";
435
- var getRedactedUrl = (rawUrl) => {
436
- const url = new URL(rawUrl);
437
- if (url.username) url.username = REDACTED;
438
- if (url.password) url.password = REDACTED;
439
- url.searchParams.forEach((_value, key) => {
440
- if (ALWAYS_REDACTED_QUERY_PARAMS.has(key.toLowerCase())) {
441
- url.searchParams.set(key, REDACTED);
442
- }
443
- });
444
- return url.toString();
370
+ const REDACTED = "[REDACTED]";
371
+ const getRedactedUrl = (rawUrl) => {
372
+ const url = new URL(rawUrl);
373
+ if (url.username) url.username = REDACTED;
374
+ if (url.password) url.password = REDACTED;
375
+ url.searchParams.forEach((_value, key) => {
376
+ if (ALWAYS_REDACTED_QUERY_PARAMS.has(key.toLowerCase())) url.searchParams.set(key, REDACTED);
377
+ });
378
+ return url.toString();
445
379
  };
446
- var ensureCorrelationId = (request) => {
447
- const correlationId = request.headers.get(CORRELATION_ID_HEADER) ?? chunkEWMXK3EI_cjs.generateUUID();
448
- request.headers.set(CORRELATION_ID_HEADER, correlationId);
449
- return correlationId;
380
+ const ensureCorrelationId = (request) => {
381
+ const correlationId = request.headers.get(CORRELATION_ID_HEADER) ?? require_generateUUID.generateUUID();
382
+ request.headers.set(CORRELATION_ID_HEADER, correlationId);
383
+ return correlationId;
450
384
  };
451
- var getRedactedHeaders = (headers, redacted) => {
452
- const redactedSet = new Set(
453
- [...ALWAYS_REDACTED_HEADERS, ...redacted].map((h) => h.toLowerCase())
454
- );
455
- const result = {};
456
- headers.forEach((value, name) => {
457
- result[name] = redactedSet.has(name.toLowerCase()) ? REDACTED : value;
458
- });
459
- return result;
385
+ const getRedactedHeaders = (headers, redacted) => {
386
+ const redactedSet = new Set([...ALWAYS_REDACTED_HEADERS, ...redacted].map((h) => h.toLowerCase()));
387
+ const result = {};
388
+ headers.forEach((value, name) => {
389
+ result[name] = redactedSet.has(name.toLowerCase()) ? REDACTED : value;
390
+ });
391
+ return result;
460
392
  };
461
- var getRequestLog = (request, redactedHeaders) => ({
462
- url: getRedactedUrl(request.url),
463
- headers: getRedactedHeaders(request.headers, redactedHeaders)
393
+ const getRequestLog = (request, redactedHeaders) => ({
394
+ url: getRedactedUrl(request.url),
395
+ headers: getRedactedHeaders(request.headers, redactedHeaders)
464
396
  });
465
- var getResponseLog = (response, redactedHeaders) => ({
466
- status: response.status,
467
- statusText: response.statusText,
468
- headers: getRedactedHeaders(response.headers, redactedHeaders)
397
+ const getResponseLog = (response, redactedHeaders) => ({
398
+ status: response.status,
399
+ statusText: response.statusText,
400
+ headers: getRedactedHeaders(response.headers, redactedHeaders)
469
401
  });
470
- var redactApiError = (error, redactedHeaders) => new chunkMMOAH3EH_cjs.ApiError({
471
- request: new Request(getRedactedUrl(error.request.url), {
472
- method: error.request.method,
473
- headers: getRedactedHeaders(error.request.headers, redactedHeaders)
474
- }),
475
- response: new Response(null, {
476
- status: error.response.status,
477
- statusText: error.response.statusText,
478
- headers: getRedactedHeaders(error.response.headers, redactedHeaders)
479
- }),
480
- data: error.data
402
+ const redactApiError = (error, redactedHeaders) => new require_createFetchClient.ApiError({
403
+ request: new Request(getRedactedUrl(error.request.url), {
404
+ method: error.request.method,
405
+ headers: getRedactedHeaders(error.request.headers, redactedHeaders)
406
+ }),
407
+ response: new Response(null, {
408
+ status: error.response.status,
409
+ statusText: error.response.statusText,
410
+ headers: getRedactedHeaders(error.response.headers, redactedHeaders)
411
+ }),
412
+ data: error.data
481
413
  });
482
- var formatLog = (level, log) => {
483
- const parts = [`[${level.toUpperCase()}]`, `${Math.round(log.durationMs)}ms`, log.method];
484
- parts.push(log.request.url);
485
- if ("response" in log) parts.push(String(log.response.status));
486
- return parts.join(" ");
414
+ const formatLog = (level, log) => {
415
+ const parts = [
416
+ `[${level.toUpperCase()}]`,
417
+ `${Math.round(log.durationMs)}ms`,
418
+ log.method
419
+ ];
420
+ parts.push(log.request.url);
421
+ if ("response" in log) parts.push(String(log.response.status));
422
+ return parts.join(" ");
487
423
  };
488
- var createSafeLogger = (logger, level = "error-only") => {
489
- return {
490
- info: (log) => {
491
- if (level !== "all") return;
492
- try {
493
- if (logger?.info) {
494
- logger.info(log);
495
- return;
496
- }
497
- console.info(formatLog("info", log));
498
- } catch {
499
- }
500
- },
501
- error: (log) => {
502
- try {
503
- if (logger?.error) {
504
- logger.error(log);
505
- return;
506
- }
507
- console.error(formatLog("error", log));
508
- } catch {
509
- }
510
- }
511
- };
424
+ const createSafeLogger = (logger, level = "error-only") => {
425
+ return {
426
+ info: (log) => {
427
+ if (level !== "all") return;
428
+ try {
429
+ if (logger?.info) {
430
+ logger.info(log);
431
+ return;
432
+ }
433
+ console.info(formatLog("info", log));
434
+ } catch {}
435
+ },
436
+ error: (log) => {
437
+ try {
438
+ if (logger?.error) {
439
+ logger.error(log);
440
+ return;
441
+ }
442
+ console.error(formatLog("error", log));
443
+ } catch {}
444
+ }
445
+ };
512
446
  };
513
- var createLoggingMiddleware = (options = {}) => {
514
- const safeLogger = createSafeLogger(options.logger, options.level);
515
- const redactHeaders = options.redactHeaders ?? [];
516
- return (next) => async (fetchRequest) => {
517
- const correlationId = ensureCorrelationId(fetchRequest.request);
518
- const start = performance.now();
519
- const method = fetchRequest.request.method.toLowerCase();
520
- const requestLog = getRequestLog(fetchRequest.request, redactHeaders);
521
- try {
522
- const result = await next(fetchRequest);
523
- safeLogger.info({
524
- correlationId,
525
- method,
526
- durationMs: performance.now() - start,
527
- request: requestLog,
528
- response: getResponseLog(result.response, redactHeaders)
529
- });
530
- return result;
531
- } catch (error) {
532
- if (error instanceof Error)
533
- safeLogger.error({
534
- correlationId,
535
- method,
536
- durationMs: performance.now() - start,
537
- request: requestLog,
538
- error: chunkMMOAH3EH_cjs.isApiError(error) ? redactApiError(error, redactHeaders) : error
539
- });
540
- throw error;
541
- }
542
- };
447
+ const createLoggingMiddleware = (options = {}) => {
448
+ const safeLogger = createSafeLogger(options.logger, options.level);
449
+ const redactHeaders = options.redactHeaders ?? [];
450
+ return (next) => async (fetchRequest) => {
451
+ const correlationId = ensureCorrelationId(fetchRequest.request);
452
+ const start = performance.now();
453
+ const method = fetchRequest.request.method.toLowerCase();
454
+ const requestLog = getRequestLog(fetchRequest.request, redactHeaders);
455
+ try {
456
+ const result = await next(fetchRequest);
457
+ safeLogger.info({
458
+ correlationId,
459
+ method,
460
+ durationMs: performance.now() - start,
461
+ request: requestLog,
462
+ response: getResponseLog(result.response, redactHeaders)
463
+ });
464
+ return result;
465
+ } catch (error) {
466
+ if (error instanceof Error) safeLogger.error({
467
+ correlationId,
468
+ method,
469
+ durationMs: performance.now() - start,
470
+ request: requestLog,
471
+ error: require_createFetchClient.isApiError(error) ? redactApiError(error, redactHeaders) : error
472
+ });
473
+ throw error;
474
+ }
475
+ };
543
476
  };
544
-
545
- // src/middlewares/retryMiddleware.ts
546
- var DEFAULT_MAX_RETRIES = 5;
547
- var DEFAULT_RETRYABLE_STATUSES = [
548
- chunkMMOAH3EH_cjs.HttpStatus.INTERNAL_SERVER_ERROR,
549
- chunkMMOAH3EH_cjs.HttpStatus.BAD_GATEWAY,
550
- chunkMMOAH3EH_cjs.HttpStatus.SERVICE_UNAVAILABLE,
551
- chunkMMOAH3EH_cjs.HttpStatus.GATEWAY_TIMEOUT
477
+ //#endregion
478
+ //#region src/middlewares/retryMiddleware.ts
479
+ const DEFAULT_MAX_RETRIES = 5;
480
+ const DEFAULT_RETRYABLE_STATUSES = [
481
+ require_createFetchClient.HttpStatus.INTERNAL_SERVER_ERROR,
482
+ require_createFetchClient.HttpStatus.BAD_GATEWAY,
483
+ require_createFetchClient.HttpStatus.SERVICE_UNAVAILABLE,
484
+ require_createFetchClient.HttpStatus.GATEWAY_TIMEOUT
552
485
  ];
553
- var DEFAULT_BACKOFF_FACTOR = 0.3;
554
- var defaultShouldRetry = (error) => error instanceof chunkMMOAH3EH_cjs.ApiError && DEFAULT_RETRYABLE_STATUSES.includes(error.response.status);
555
- var createRetryMiddleware = (options) => {
556
- const {
557
- maxRetries = DEFAULT_MAX_RETRIES,
558
- backoffFactor = DEFAULT_BACKOFF_FACTOR,
559
- shouldRetry = defaultShouldRetry
560
- } = options ?? {};
561
- if (!Number.isInteger(maxRetries) || maxRetries < 0) {
562
- throw new RangeError("maxRetries must be a non-negative integer");
563
- }
564
- if (!Number.isFinite(backoffFactor) || backoffFactor < 0) {
565
- throw new RangeError("backoffFactor must be a finite non-negative number");
566
- }
567
- return (next) => async (request) => {
568
- for (let attempt = 0; attempt <= maxRetries; attempt++) {
569
- try {
570
- return await next({ ...request, request: request.request.clone() });
571
- } catch (error) {
572
- if (attempt === maxRetries || !shouldRetry(error, attempt)) {
573
- throw error;
574
- }
575
- const delayMs = backoffFactor * 1e3 * Math.pow(2, attempt);
576
- await chunkF6ZAYTBX_cjs.delay(delayMs, request.request.signal ?? void 0);
577
- }
578
- }
579
- throw new Error("unreachable");
580
- };
486
+ const DEFAULT_BACKOFF_FACTOR = .3;
487
+ const defaultShouldRetry = (error) => error instanceof require_createFetchClient.ApiError && DEFAULT_RETRYABLE_STATUSES.includes(error.response.status);
488
+ const createRetryMiddleware = (options) => {
489
+ const { maxRetries = DEFAULT_MAX_RETRIES, backoffFactor = DEFAULT_BACKOFF_FACTOR, shouldRetry = defaultShouldRetry } = options ?? {};
490
+ if (!Number.isInteger(maxRetries) || maxRetries < 0) throw new RangeError("maxRetries must be a non-negative integer");
491
+ if (!Number.isFinite(backoffFactor) || backoffFactor < 0) throw new RangeError("backoffFactor must be a finite non-negative number");
492
+ return (next) => async (request) => {
493
+ for (let attempt = 0; attempt <= maxRetries; attempt++) try {
494
+ return await next({
495
+ ...request,
496
+ request: request.request.clone()
497
+ });
498
+ } catch (error) {
499
+ if (attempt === maxRetries || !shouldRetry(error, attempt)) throw error;
500
+ const delayMs = backoffFactor * 1e3 * Math.pow(2, attempt);
501
+ await require_jobStatus.delay(delayMs, request.request.signal ?? void 0);
502
+ }
503
+ throw new Error("unreachable");
504
+ };
581
505
  };
582
-
583
- // src/serviceClientRegistry/utils.ts
584
- var isBuiltInProperty = (property) => typeof property === "symbol" || property === "then" || property === "constructor" || property === "toString" || property === "valueOf";
585
- var createDummyClient = ({
586
- onCall
587
- }) => {
588
- const createProxy = (path = []) => new Proxy(() => {
589
- }, {
590
- // Create a new proxy for nested property access
591
- get: (_target, prop) => {
592
- if (isBuiltInProperty(prop)) return void 0;
593
- return createProxy([...path, prop]);
594
- },
595
- // When called as a function, invoke the interceptor
596
- apply: (_target, _thisArgs, args) => onCall(path, args)
597
- });
598
- return createProxy();
506
+ //#endregion
507
+ //#region src/serviceClientRegistry/utils.ts
508
+ const isBuiltInProperty = (property) => typeof property === "symbol" || property === "then" || property === "constructor" || property === "toString" || property === "valueOf";
509
+ /**
510
+ * Creates a dummy client that intercepts method calls and invokes the provided onCall callback.
511
+ */
512
+ const createDummyClient = ({ onCall }) => {
513
+ const createProxy = (path = []) => new Proxy(() => {}, {
514
+ get: (_target, prop) => {
515
+ if (isBuiltInProperty(prop)) return void 0;
516
+ return createProxy([...path, prop]);
517
+ },
518
+ apply: (_target, _thisArgs, args) => onCall(path, args)
519
+ });
520
+ return createProxy();
599
521
  };
600
-
601
- // src/serviceClientRegistry/createServiceClientRegistry.ts
602
- var createServiceClientRegistry = () => ({
603
- getServiceBaseUrl,
604
- onUnavailable
605
- }) => {
606
- const dummy = (serviceId, clientName) => createDummyClient({
607
- onCall: (path, args) => {
608
- onUnavailable?.({
609
- serviceId,
610
- path,
611
- args,
612
- clientName
613
- });
614
- }
615
- });
616
- const configs = [];
617
- const resolveClient = ({
618
- serviceId,
619
- clientFn,
620
- clientName
621
- }) => {
622
- const serviceBaseUrl = getServiceBaseUrl(serviceId);
623
- return serviceBaseUrl ? clientFn(serviceBaseUrl) : dummy(serviceId, clientName);
624
- };
625
- const registry = {
626
- add: (config) => {
627
- configs.push(config);
628
- return registry;
629
- },
630
- build: () => {
631
- const clientMap = {};
632
- const clientMeta = [];
633
- configs.forEach((config) => {
634
- clientMap[config.clientName] = resolveClient(config);
635
- clientMeta.push({
636
- clientName: config.clientName,
637
- serviceId: config.serviceId,
638
- isAvailable: !!getServiceBaseUrl(config.serviceId)
639
- });
640
- });
641
- return {
642
- client: clientMap,
643
- meta: clientMeta
644
- };
645
- }
646
- };
647
- return registry;
522
+ //#endregion
523
+ //#region src/serviceClientRegistry/createServiceClientRegistry.ts
524
+ const createServiceClientRegistry = () => ({ getServiceBaseUrl, onUnavailable }) => {
525
+ const dummy = (serviceId, clientName) => createDummyClient({ onCall: (path, args) => {
526
+ onUnavailable?.({
527
+ serviceId,
528
+ path,
529
+ args,
530
+ clientName
531
+ });
532
+ } });
533
+ const configs = [];
534
+ const resolveClient = ({ serviceId, clientFn, clientName }) => {
535
+ const serviceBaseUrl = getServiceBaseUrl(serviceId);
536
+ return serviceBaseUrl ? clientFn(serviceBaseUrl) : dummy(serviceId, clientName);
537
+ };
538
+ const registry = {
539
+ add: (config) => {
540
+ configs.push(config);
541
+ return registry;
542
+ },
543
+ build: () => {
544
+ const clientMap = {};
545
+ const clientMeta = [];
546
+ configs.forEach((config) => {
547
+ clientMap[config.clientName] = resolveClient(config);
548
+ clientMeta.push({
549
+ clientName: config.clientName,
550
+ serviceId: config.serviceId,
551
+ isAvailable: !!getServiceBaseUrl(config.serviceId)
552
+ });
553
+ });
554
+ return {
555
+ client: clientMap,
556
+ meta: clientMeta
557
+ };
558
+ }
559
+ };
560
+ return registry;
648
561
  };
649
-
650
- // src/keboola/createApi.ts
651
- var createApi = (state) => new Proxy({}, {
652
- get(_target, property) {
653
- if (isBuiltInProperty(property)) return void 0;
654
- if (property === "auth") {
655
- const authClient = state.getAuthClient();
656
- assert2(authClient, KeboolaErrorType.Unconfigured);
657
- return authClient;
658
- }
659
- if (property === "management") {
660
- const management = state.getManagementClient();
661
- assert2(management, KeboolaErrorType.NoManagementToken);
662
- return management;
663
- }
664
- const clients = state.getProjectClients();
665
- assert2(clients, KeboolaErrorType.NotReady);
666
- return clients[property];
667
- }
668
- });
669
-
670
- // src/keboola/createMiddlewareFor.ts
671
- var createMiddlewareFor = (middlewares) => {
672
- return (target, baseline = []) => {
673
- if (Array.isArray(middlewares)) return [...baseline, ...middlewares];
674
- const all = middlewares?.all ?? [];
675
- const targeted = middlewares?.[target] ?? [];
676
- return [...baseline, ...all, ...targeted];
677
- };
562
+ //#endregion
563
+ //#region src/keboola/createApi.ts
564
+ const createApi = (state) => new Proxy({}, { get(_target, property) {
565
+ if (isBuiltInProperty(property)) return void 0;
566
+ if (property === "auth") {
567
+ const authClient = state.getAuthClient();
568
+ assert$1(authClient, KeboolaErrorType.Unconfigured);
569
+ return authClient;
570
+ }
571
+ if (property === "management") {
572
+ const management = state.getManagementClient();
573
+ assert$1(management, KeboolaErrorType.NoManagementToken);
574
+ return management;
575
+ }
576
+ const clients = state.getProjectClients();
577
+ assert$1(clients, KeboolaErrorType.NotReady);
578
+ return clients[property];
579
+ } });
580
+ //#endregion
581
+ //#region src/keboola/createMiddlewareFor.ts
582
+ const createMiddlewareFor = (middlewares) => {
583
+ return (target, baseline = []) => {
584
+ if (Array.isArray(middlewares)) return [...baseline, ...middlewares];
585
+ const all = middlewares?.all ?? [];
586
+ const targeted = middlewares?.[target] ?? [];
587
+ return [
588
+ ...baseline,
589
+ ...all,
590
+ ...targeted
591
+ ];
592
+ };
678
593
  };
679
-
680
- // src/keboola/bearer/createConfig.ts
681
- var INITIAL = { status: "anonymous", baseUrl: null };
682
- var stamp = (tokens) => ({ ...tokens, issuedAt: Date.now() });
683
- var createConfig = (initial = INITIAL) => {
684
- const store = createStore(initial);
685
- let expiredNotified = false;
686
- const setBaseUrl = (baseUrl) => {
687
- if (store.get().status !== "anonymous")
688
- throw new KeboolaError(KeboolaErrorType.AlreadyAuthenticated);
689
- store.set({ status: "anonymous", baseUrl });
690
- };
691
- const authenticate = (tokens) => {
692
- const state = store.get();
693
- if (state.status !== "anonymous") throw new KeboolaError(KeboolaErrorType.AlreadyAuthenticated);
694
- if (!state.baseUrl) throw new KeboolaError(KeboolaErrorType.Unconfigured);
695
- expiredNotified = false;
696
- store.set({ status: "authenticated", baseUrl: state.baseUrl, credential: stamp(tokens) });
697
- };
698
- const setProjectId = (projectId) => {
699
- const state = store.get();
700
- if (state.status === "anonymous") throw new KeboolaError(KeboolaErrorType.NotAuthenticated);
701
- store.set({
702
- status: "scoped",
703
- baseUrl: state.baseUrl,
704
- credential: state.credential,
705
- projectId
706
- });
707
- };
708
- const clearProjectId = () => {
709
- const state = store.get();
710
- if (state.status !== "scoped") return;
711
- store.set({ status: "authenticated", baseUrl: state.baseUrl, credential: state.credential });
712
- };
713
- const reset = () => {
714
- store.set({ status: "anonymous", baseUrl: store.get().baseUrl });
715
- };
716
- const applyRefresh = (tokens) => {
717
- const state = store.get();
718
- if (state.status === "anonymous") return;
719
- store.set({ ...state, credential: stamp(tokens) });
720
- };
721
- const forceExpire = () => {
722
- const state = store.get();
723
- if (state.status === "anonymous") return;
724
- const issuedAt = Date.now() - state.credential.expiresIn * 1e3;
725
- store.set({ ...state, credential: { ...state.credential, issuedAt } });
726
- };
727
- const requireCredential = () => {
728
- const state = store.get();
729
- if (state.status === "anonymous") throw new KeboolaError(KeboolaErrorType.NotAuthenticated);
730
- return state.credential;
731
- };
732
- const getBaseUrl = () => store.get().baseUrl;
733
- const notifyExpired = () => {
734
- if (expiredNotified) return false;
735
- expiredNotified = true;
736
- return true;
737
- };
738
- const debug = () => store.get();
739
- const readable = {
740
- get: store.get,
741
- subscribe: store.subscribe,
742
- dispose: store.dispose
743
- };
744
- return {
745
- store: readable,
746
- setBaseUrl,
747
- authenticate,
748
- setProjectId,
749
- clearProjectId,
750
- reset,
751
- applyRefresh,
752
- forceExpire,
753
- requireCredential,
754
- getBaseUrl,
755
- notifyExpired,
756
- debug
757
- };
594
+ //#endregion
595
+ //#region src/keboola/bearer/createConfig.ts
596
+ const INITIAL = {
597
+ status: "anonymous",
598
+ baseUrl: null
758
599
  };
759
-
760
- // src/domain/defaultBranch.ts
761
- var createDefaultBranch = ({ devBranches }) => {
762
- const defaultBranch = devBranches.find((branch) => branch.isDefault);
763
- assert(defaultBranch, "No default branch found for the project.");
764
- const getType = (branchId) => {
765
- if (branchId == null || branchId === "default") return "default";
766
- return Number(branchId) === defaultBranch.id ? "default" : "dev";
767
- };
768
- return {
769
- id: defaultBranch.id,
770
- name: defaultBranch.name,
771
- getType,
772
- isDev: (branchId) => getType(branchId) === "dev",
773
- isDefault: (branchId) => getType(branchId) === "default"
774
- };
600
+ const stamp = (tokens) => ({
601
+ ...tokens,
602
+ issuedAt: Date.now()
603
+ });
604
+ const createConfig$1 = (initial = INITIAL) => {
605
+ const store = require_createStore.createStore(initial);
606
+ let expiredNotified = false;
607
+ const setBaseUrl = (baseUrl) => {
608
+ if (store.get().status !== "anonymous") throw new KeboolaError(KeboolaErrorType.AlreadyAuthenticated);
609
+ store.set({
610
+ status: "anonymous",
611
+ baseUrl
612
+ });
613
+ };
614
+ const authenticate = (tokens) => {
615
+ const state = store.get();
616
+ if (state.status !== "anonymous") throw new KeboolaError(KeboolaErrorType.AlreadyAuthenticated);
617
+ if (!state.baseUrl) throw new KeboolaError(KeboolaErrorType.Unconfigured);
618
+ expiredNotified = false;
619
+ store.set({
620
+ status: "authenticated",
621
+ baseUrl: state.baseUrl,
622
+ credential: stamp(tokens)
623
+ });
624
+ };
625
+ const setProjectId = (projectId) => {
626
+ const state = store.get();
627
+ if (state.status === "anonymous") throw new KeboolaError(KeboolaErrorType.NotAuthenticated);
628
+ store.set({
629
+ status: "scoped",
630
+ baseUrl: state.baseUrl,
631
+ credential: state.credential,
632
+ projectId
633
+ });
634
+ };
635
+ /**
636
+ * Drop the project scope, keeping the credential — the inverse of `setProjectId`, for leaving a
637
+ * project without signing out. The project clients are keyed on the scope, so they tear down and
638
+ * the storage build returns to `idle`; the session stays usable for `auth` and `management`.
639
+ * No-op unless currently scoped.
640
+ */
641
+ const clearProjectId = () => {
642
+ const state = store.get();
643
+ if (state.status !== "scoped") return;
644
+ store.set({
645
+ status: "authenticated",
646
+ baseUrl: state.baseUrl,
647
+ credential: state.credential
648
+ });
649
+ };
650
+ /** Drop the credential (sign out); keeps the configured baseUrl. */
651
+ const reset = () => {
652
+ store.set({
653
+ status: "anonymous",
654
+ baseUrl: store.get().baseUrl
655
+ });
656
+ };
657
+ /** Apply a token refresh: replace the credential (fresh tokens, new issue time); no-op before auth. */
658
+ const applyRefresh = (tokens) => {
659
+ const state = store.get();
660
+ if (state.status === "anonymous") return;
661
+ store.set({
662
+ ...state,
663
+ credential: stamp(tokens)
664
+ });
665
+ };
666
+ /**
667
+ * Dev/test lever: backdate the current token's issue time by a full lifetime so it reads as
668
+ * expired, making the refresh policy rotate it on the next request. No-op before auth.
669
+ */
670
+ const forceExpire = () => {
671
+ const state = store.get();
672
+ if (state.status === "anonymous") return;
673
+ const issuedAt = Date.now() - state.credential.expiresIn * 1e3;
674
+ store.set({
675
+ ...state,
676
+ credential: {
677
+ ...state.credential,
678
+ issuedAt
679
+ }
680
+ });
681
+ };
682
+ /**
683
+ * The current credential, asserting the session is authenticated (or scoped). Single point for that
684
+ * check so callers (token attach, refresh) don't each re-narrow the state.
685
+ */
686
+ const requireCredential = () => {
687
+ const state = store.get();
688
+ if (state.status === "anonymous") throw new KeboolaError(KeboolaErrorType.NotAuthenticated);
689
+ return state.credential;
690
+ };
691
+ const getBaseUrl = () => store.get().baseUrl;
692
+ /**
693
+ * Session-expiry latch (fire-once):
694
+ * - why: concurrent 401s all report expiry, but the app must sign out once; and the credential /
695
+ * auth middleware are long-lived singletons, so the latch can't live in them — it must reset
696
+ * per session.
697
+ * - how: returns `true` only for the first call since the last `authenticate` (which re-arms it),
698
+ * so the caller runs its sign-out exactly once per session death.
699
+ */
700
+ const notifyExpired = () => {
701
+ if (expiredNotified) return false;
702
+ expiredNotified = true;
703
+ return true;
704
+ };
705
+ const debug = () => store.get();
706
+ return {
707
+ store: {
708
+ get: store.get,
709
+ subscribe: store.subscribe,
710
+ dispose: store.dispose
711
+ },
712
+ setBaseUrl,
713
+ authenticate,
714
+ setProjectId,
715
+ clearProjectId,
716
+ reset,
717
+ applyRefresh,
718
+ forceExpire,
719
+ requireCredential,
720
+ getBaseUrl,
721
+ notifyExpired,
722
+ debug
723
+ };
775
724
  };
776
-
777
- // src/domain/stack.ts
778
- var SERVICE_URL_OVERRIDES = {
779
- // The service URL for the Kai Assistant is incomplete; we need to add the `/api` suffix to get the full URL for the API.
780
- // I assume the service is versioned.
781
- "kai-assistant": (url) => `${url}/api`
725
+ //#endregion
726
+ //#region src/domain/defaultBranch.ts
727
+ const createDefaultBranch = ({ devBranches }) => {
728
+ const defaultBranch = devBranches.find((branch) => branch.isDefault);
729
+ assert(defaultBranch, "No default branch found for the project.");
730
+ const getType = (branchId) => {
731
+ if (branchId == null || branchId === "default") return "default";
732
+ return Number(branchId) === defaultBranch.id ? "default" : "dev";
733
+ };
734
+ return {
735
+ id: defaultBranch.id,
736
+ name: defaultBranch.name,
737
+ getType,
738
+ isDev: (branchId) => getType(branchId) === "dev",
739
+ isDefault: (branchId) => getType(branchId) === "default"
740
+ };
782
741
  };
783
- var createStack = ({ stackInfo, clientServiceUrls }) => {
784
- const { services, components, features, ...infoRest } = stackInfo;
785
- const serviceMap = new Map(
786
- services.map((service) => {
787
- const devOverride = clientServiceUrls?.[service.id]?.(service.url);
788
- const prodOverride = SERVICE_URL_OVERRIDES[service.id]?.(service.url);
789
- const url = devOverride ?? prodOverride ?? service.url;
790
- return [service.id, url];
791
- })
792
- );
793
- const componentMap = new Map(components.map((component) => [component.id, component]));
794
- const featureSet = new Set(features);
795
- const hasFeature = (...feature) => {
796
- if (feature.length === 0) return false;
797
- return feature.every((x) => featureSet.has(x));
798
- };
799
- const hasComponent = (...componentId) => {
800
- if (componentId.length === 0) return false;
801
- return componentId.every((x) => componentMap.has(x));
802
- };
803
- const getComponent = (componentId) => componentMap.get(componentId) ?? null;
804
- const hasService = (serviceId) => serviceMap.has(serviceId);
805
- const getServiceUrl = (serviceId) => serviceMap.get(serviceId) ?? null;
806
- return {
807
- ...infoRest,
808
- services,
809
- features,
810
- components,
811
- hasFeature,
812
- getServiceUrl,
813
- hasService,
814
- getComponent,
815
- hasComponent
816
- };
742
+ //#endregion
743
+ //#region src/domain/stack.ts
744
+ const SERVICE_URL_OVERRIDES = { "kai-assistant": (url) => `${url}/api` };
745
+ const createStack = ({ stackInfo, clientServiceUrls }) => {
746
+ const { services, components, features, ...infoRest } = stackInfo;
747
+ const serviceMap = new Map(services.map((service) => {
748
+ const devOverride = clientServiceUrls?.[service.id]?.(service.url);
749
+ const prodOverride = SERVICE_URL_OVERRIDES[service.id]?.(service.url);
750
+ const url = devOverride ?? prodOverride ?? service.url;
751
+ return [service.id, url];
752
+ }));
753
+ const componentMap = new Map(components.map((component) => [component.id, component]));
754
+ const featureSet = new Set(features);
755
+ const hasFeature = (...feature) => {
756
+ if (feature.length === 0) return false;
757
+ return feature.every((x) => featureSet.has(x));
758
+ };
759
+ const hasComponent = (...componentId) => {
760
+ if (componentId.length === 0) return false;
761
+ return componentId.every((x) => componentMap.has(x));
762
+ };
763
+ const getComponent = (componentId) => componentMap.get(componentId) ?? null;
764
+ const hasService = (serviceId) => serviceMap.has(serviceId);
765
+ const getServiceUrl = (serviceId) => serviceMap.get(serviceId) ?? null;
766
+ return {
767
+ ...infoRest,
768
+ services,
769
+ features,
770
+ components,
771
+ hasFeature,
772
+ getServiceUrl,
773
+ hasService,
774
+ getComponent,
775
+ hasComponent
776
+ };
817
777
  };
818
-
819
- // src/sdks/variables/variablesSdk.ts
820
- var VARIABLES_COMPONENT_ID = "keboola.variables";
821
- var mergeVariableDefinitions = (target, source) => {
822
- const targetNames = new Set(target.map((definition) => definition.name));
823
- return [...target, ...source.filter((definition) => !targetNames.has(definition.name))];
778
+ //#endregion
779
+ //#region src/sdks/variables/variablesSdk.ts
780
+ const VARIABLES_COMPONENT_ID = "keboola.variables";
781
+ /** Union the definitions by name; on a name conflict the target's definition is kept. */
782
+ const mergeVariableDefinitions = (target, source) => {
783
+ const targetNames = new Set(target.map((definition) => definition.name));
784
+ return [...target, ...source.filter((definition) => !targetNames.has(definition.name))];
824
785
  };
825
- var mergeVariableValues = (target, source) => {
826
- const sourceByName = new Map(source.map((value) => [value.name, value.value]));
827
- const targetNames = new Set(target.map((value) => value.name));
828
- return [
829
- ...target.map(
830
- (value) => sourceByName.has(value.name) ? { ...value, value: sourceByName.get(value.name) } : value
831
- ),
832
- ...source.filter((value) => !targetNames.has(value.name))
833
- ];
786
+ /** Add values missing in the target; on a name conflict the value is updated to the source's. */
787
+ const mergeVariableValues = (target, source) => {
788
+ const sourceByName = new Map(source.map((value) => [value.name, value.value]));
789
+ const targetNames = new Set(target.map((value) => value.name));
790
+ return [...target.map((value) => sourceByName.has(value.name) ? {
791
+ ...value,
792
+ value: sourceByName.get(value.name)
793
+ } : value), ...source.filter((value) => !targetNames.has(value.name))];
834
794
  };
835
- var createVariablesSdk = ({ storageClient }) => {
836
- const configs = storageClient.componentsAndConfigurations;
837
- const readVariables = async (configId, valuesRowId, branchId) => {
838
- const config = await configs.getConfiguration({
839
- componentId: VARIABLES_COMPONENT_ID,
840
- configId,
841
- branchId
842
- });
843
- const row = config.rows.find((candidate) => candidate.id === valuesRowId) ?? config.rows[0];
844
- const rawDefinitions = config.configuration?.variables;
845
- const rawValues = row?.configuration?.values;
846
- return {
847
- definitions: Array.isArray(rawDefinitions) ? rawDefinitions : [],
848
- values: Array.isArray(rawValues) ? rawValues : []
849
- };
850
- };
851
- const createVariables = async (definitions, values, branchId) => {
852
- const config = await configs.createConfiguration({
853
- branchId,
854
- componentId: VARIABLES_COMPONENT_ID,
855
- name: "Variables definition",
856
- configuration: { variables: definitions }
857
- });
858
- try {
859
- const row = await configs.createConfigurationRow({
860
- branchId,
861
- componentId: VARIABLES_COMPONENT_ID,
862
- configId: config.id,
863
- name: "Default values",
864
- configuration: { values }
865
- });
866
- return { variablesId: config.id, variablesValuesId: row.id };
867
- } catch (error) {
868
- await configs.deleteConfiguration({
869
- branchId,
870
- componentId: VARIABLES_COMPONENT_ID,
871
- configId: config.id
872
- }).catch((cleanupError) => {
873
- if (error instanceof Error && error.cause === void 0) {
874
- error.cause = cleanupError;
875
- }
876
- });
877
- throw error;
878
- }
879
- };
880
- return {
881
- /** Copy a variables config into a fresh, independent config + values row. */
882
- copy: async ({
883
- variablesId,
884
- variablesValuesId,
885
- branchId = "default"
886
- }) => {
887
- const { definitions, values } = await readVariables(variablesId, variablesValuesId, branchId);
888
- return createVariables(definitions, values, branchId);
889
- },
890
- /** Merge the source's variables into the target's and create a fresh merged config + values row. */
891
- merge: async ({
892
- targetVariablesId,
893
- targetValuesId,
894
- sourceVariablesId,
895
- sourceValuesId,
896
- branchId = "default"
897
- }) => {
898
- const [target, source] = await Promise.all([
899
- readVariables(targetVariablesId, targetValuesId, branchId),
900
- readVariables(sourceVariablesId, sourceValuesId, branchId)
901
- ]);
902
- return createVariables(
903
- mergeVariableDefinitions(target.definitions, source.definitions),
904
- mergeVariableValues(target.values, source.values),
905
- branchId
906
- );
907
- }
908
- };
795
+ /**
796
+ * Orchestration for `keboola.variables` configs: copy a config, or merge two configs into a fresh
797
+ * one (union definitions, upsert values — source wins on a name conflict). Each result is a brand
798
+ * new config + values row, so the caller can reference it without sharing lineage with the source.
799
+ */
800
+ const createVariablesSdk = ({ storageClient }) => {
801
+ const configs = storageClient.configurations;
802
+ const rows = storageClient.configurationRows;
803
+ const readVariables = async (configId, valuesRowId, branchId) => {
804
+ const config = await configs.getConfiguration({
805
+ componentId: VARIABLES_COMPONENT_ID,
806
+ configId,
807
+ branchId
808
+ });
809
+ const row = config.rows.find((candidate) => candidate.id === valuesRowId) ?? config.rows[0];
810
+ const rawDefinitions = config.configuration?.variables;
811
+ const rawValues = row?.configuration?.values;
812
+ return {
813
+ definitions: Array.isArray(rawDefinitions) ? rawDefinitions : [],
814
+ values: Array.isArray(rawValues) ? rawValues : []
815
+ };
816
+ };
817
+ const createVariables = async (definitions, values, branchId) => {
818
+ const config = await configs.createConfiguration({
819
+ branchId,
820
+ componentId: VARIABLES_COMPONENT_ID,
821
+ name: "Variables definition",
822
+ configuration: { variables: definitions }
823
+ });
824
+ try {
825
+ const row = await rows.createConfigurationRow({
826
+ branchId: String(branchId),
827
+ componentId: VARIABLES_COMPONENT_ID,
828
+ configurationId: config.id,
829
+ name: "Default values",
830
+ configuration: { values }
831
+ });
832
+ return {
833
+ variablesId: config.id,
834
+ variablesValuesId: row.id
835
+ };
836
+ } catch (error) {
837
+ await configs.deleteConfiguration({
838
+ branchId,
839
+ componentId: VARIABLES_COMPONENT_ID,
840
+ configId: config.id
841
+ }).catch((cleanupError) => {
842
+ if (error instanceof Error && error.cause === void 0) error.cause = cleanupError;
843
+ });
844
+ throw error;
845
+ }
846
+ };
847
+ return {
848
+ /** Copy a variables config into a fresh, independent config + values row. */
849
+ copy: async ({ variablesId, variablesValuesId, branchId = "default" }) => {
850
+ const { definitions, values } = await readVariables(variablesId, variablesValuesId, branchId);
851
+ return createVariables(definitions, values, branchId);
852
+ },
853
+ /** Merge the source's variables into the target's and create a fresh merged config + values row. */
854
+ merge: async ({ targetVariablesId, targetValuesId, sourceVariablesId, sourceValuesId, branchId = "default" }) => {
855
+ const [target, source] = await Promise.all([readVariables(targetVariablesId, targetValuesId, branchId), readVariables(sourceVariablesId, sourceValuesId, branchId)]);
856
+ return createVariables(mergeVariableDefinitions(target.definitions, source.definitions), mergeVariableValues(target.values, source.values), branchId);
857
+ }
858
+ };
909
859
  };
910
- var agentSettingsSchema = z2.z.object({
911
- projectId: z2.z.string(),
912
- customInstructions: z2.z.string().nullable(),
913
- createdAt: z2.z.string(),
914
- updatedAt: z2.z.string()
915
- });
916
- var toolPermissionValueSchema = z2.z.enum(["always_allow", "always_ask", "blocked"]);
917
- var userAgentSettingsSchema = z2.z.object({
918
- projectId: z2.z.string(),
919
- userId: z2.z.string(),
920
- customInstructions: z2.z.string().nullable(),
921
- toolPermissions: z2.z.record(z2.z.string(), toolPermissionValueSchema).nullable(),
922
- createdAt: z2.z.string(),
923
- updatedAt: z2.z.string()
924
- });
925
- var toolInfoSchema = z2.z.object({
926
- name: z2.z.string(),
927
- description: z2.z.string(),
928
- readOnly: z2.z.boolean()
860
+ //#endregion
861
+ //#region src/clients/kaiAgent/kaiAgentClient.ts
862
+ const agentSettingsSchema = zod.z.object({
863
+ projectId: zod.z.string(),
864
+ customInstructions: zod.z.string().nullable(),
865
+ createdAt: zod.z.string(),
866
+ updatedAt: zod.z.string()
929
867
  });
930
- var toolsListResponseSchema = z2.z.object({
931
- tools: z2.z.array(toolInfoSchema)
932
- });
933
- var skillInfoSchema = z2.z.object({
934
- name: z2.z.string(),
935
- description: z2.z.string().nullable(),
936
- source: z2.z.enum(["first-party", "vendored", "project"])
868
+ const toolPermissionValueSchema = zod.z.enum([
869
+ "always_allow",
870
+ "always_ask",
871
+ "blocked"
872
+ ]);
873
+ const userAgentSettingsSchema = zod.z.object({
874
+ projectId: zod.z.string(),
875
+ userId: zod.z.string(),
876
+ customInstructions: zod.z.string().nullable(),
877
+ toolPermissions: zod.z.record(zod.z.string(), toolPermissionValueSchema).nullable(),
878
+ createdAt: zod.z.string(),
879
+ updatedAt: zod.z.string()
937
880
  });
938
- var builtInCommandSchema = z2.z.object({
939
- name: z2.z.string(),
940
- description: z2.z.string()
881
+ const toolInfoSchema = zod.z.object({
882
+ name: zod.z.string(),
883
+ description: zod.z.string(),
884
+ readOnly: zod.z.boolean()
941
885
  });
942
- var skillsListResponseSchema = z2.z.object({
943
- skills: z2.z.array(skillInfoSchema),
944
- commands: z2.z.array(builtInCommandSchema)
886
+ const toolsListResponseSchema = zod.z.object({ tools: zod.z.array(toolInfoSchema) });
887
+ const skillInfoSchema = zod.z.object({
888
+ name: zod.z.string(),
889
+ description: zod.z.string().nullable(),
890
+ source: zod.z.enum([
891
+ "first-party",
892
+ "vendored",
893
+ "project"
894
+ ])
945
895
  });
946
- var sandboxFileEntrySchema = z2.z.object({
947
- name: z2.z.string(),
948
- path: z2.z.string(),
949
- type: z2.z.enum(["file", "dir"]),
950
- size: z2.z.number().int().nonnegative().optional()
896
+ const builtInCommandSchema = zod.z.object({
897
+ name: zod.z.string(),
898
+ description: zod.z.string()
951
899
  });
952
- var sandboxFileListingSchema = z2.z.object({
953
- entries: z2.z.array(sandboxFileEntrySchema)
900
+ const skillsListResponseSchema = zod.z.object({
901
+ skills: zod.z.array(skillInfoSchema),
902
+ commands: zod.z.array(builtInCommandSchema)
954
903
  });
955
- var sandboxFileContentSchema = z2.z.object({
956
- content: z2.z.string(),
957
- encoding: z2.z.enum(["utf-8", "binary"]),
958
- truncated: z2.z.boolean(),
959
- size: z2.z.number().int().nonnegative()
904
+ const sandboxFileEntrySchema = zod.z.object({
905
+ name: zod.z.string(),
906
+ path: zod.z.string(),
907
+ type: zod.z.enum(["file", "dir"]),
908
+ size: zod.z.number().int().nonnegative().optional()
960
909
  });
961
- var sandboxGitBranchSchema = z2.z.object({
962
- branch: z2.z.string().nullable()
910
+ const sandboxFileListingSchema = zod.z.object({ entries: zod.z.array(sandboxFileEntrySchema) });
911
+ const sandboxFileContentSchema = zod.z.object({
912
+ content: zod.z.string(),
913
+ encoding: zod.z.enum(["utf-8", "binary"]),
914
+ truncated: zod.z.boolean(),
915
+ size: zod.z.number().int().nonnegative()
963
916
  });
964
- var votesResponseSchema = z2.z.array(
965
- z2.z.object({
966
- chatId: z2.z.string(),
967
- messageId: z2.z.string(),
968
- isUpvoted: z2.z.boolean()
969
- })
970
- );
971
- var createKaiAgentClient = ({ baseUrl, middlewares, auth }) => {
972
- const clientOptions = {
973
- baseUrl,
974
- middlewares,
975
- headers: chunk7RO6PKZ4_cjs.createAuthHeaders(auth)
976
- };
977
- const client = chunkMMOAH3EH_cjs.createOpenapiFetchClient(clientOptions);
978
- const genericClient = chunkMMOAH3EH_cjs.createGenericFetchClient(clientOptions);
979
- const getHistory = async (params) => {
980
- const { data } = await client.get("/api/history", { query: params });
981
- return data;
982
- };
983
- const getChat = async (chatId, signal) => {
984
- const { data } = await client.get("/api/chat/{id}", { path: { id: chatId } }, { signal });
985
- return data;
986
- };
987
- const deleteChat = async (chatId) => {
988
- const { data } = await client.delete("/api/chat", { query: { id: chatId } });
989
- return data;
990
- };
991
- const createChat = async (request) => {
992
- const { response } = await client.post("/api/chat", { body: request });
993
- return response;
994
- };
995
- const getVotes = async (chatId) => {
996
- const { data } = await client.get("/api/vote", { query: { chatId } });
997
- const result = votesResponseSchema.safeParse(data);
998
- if (!result.success) {
999
- throw new Error("Invalid votes response format");
1000
- }
1001
- return result.data;
1002
- };
1003
- const submitVote = async (params) => {
1004
- await client.patch("/api/vote", { body: params });
1005
- };
1006
- const getUsage = async (signal) => {
1007
- const { data } = await client.get("/api/usage", {}, { signal });
1008
- return data;
1009
- };
1010
- const approveToolCall = async (chatId, body) => {
1011
- await client.post("/api/chat/{id}/approval", { path: { id: chatId }, body });
1012
- };
1013
- const submitToolOutput = async (chatId, body) => {
1014
- await client.post("/api/chat/{id}/ui-tool-result", { path: { id: chatId }, body });
1015
- };
1016
- const stopChat = async (chatId) => {
1017
- const { data } = await client.post("/api/chat/{id}/stop", { path: { id: chatId } });
1018
- return data;
1019
- };
1020
- const getSuggestions = async (request, signal) => {
1021
- const { data } = await client.post("/api/suggestions", { body: request }, { signal });
1022
- return data;
1023
- };
1024
- const getAgentSettings = async (signal) => {
1025
- const { data } = await genericClient.get("/api/settings", {}, { signal });
1026
- const result = agentSettingsSchema.safeParse(data);
1027
- if (!result.success) {
1028
- throw new Error("Invalid agent settings response format");
1029
- }
1030
- return result.data;
1031
- };
1032
- const updateAgentSettings = async (request, signal) => {
1033
- const { data } = await genericClient.patch(
1034
- "/api/settings",
1035
- { body: request },
1036
- { signal }
1037
- );
1038
- const result = agentSettingsSchema.safeParse(data);
1039
- if (!result.success) {
1040
- throw new Error("Invalid agent settings response format");
1041
- }
1042
- return result.data;
1043
- };
1044
- const getUserAgentSettings = async (signal) => {
1045
- const { data } = await genericClient.get(
1046
- "/api/settings/user",
1047
- {},
1048
- { signal }
1049
- );
1050
- const result = userAgentSettingsSchema.safeParse(data);
1051
- if (!result.success) {
1052
- throw new Error("Invalid user agent settings response format");
1053
- }
1054
- return result.data;
1055
- };
1056
- const updateUserAgentSettings = async (request, signal) => {
1057
- const { data } = await genericClient.patch(
1058
- "/api/settings/user",
1059
- { body: request },
1060
- { signal }
1061
- );
1062
- const result = userAgentSettingsSchema.safeParse(data);
1063
- if (!result.success) {
1064
- throw new Error("Invalid user agent settings response format");
1065
- }
1066
- return result.data;
1067
- };
1068
- const getToolsList = async (signal) => {
1069
- const { data } = await genericClient.get(
1070
- "/api/settings/tools",
1071
- {},
1072
- { signal }
1073
- );
1074
- const result = toolsListResponseSchema.safeParse(data);
1075
- if (!result.success) {
1076
- throw new Error("Invalid tools list response format");
1077
- }
1078
- return result.data;
1079
- };
1080
- const getSkillsList = async (signal) => {
1081
- const { data } = await genericClient.get("/api/skills", {}, { signal });
1082
- const result = skillsListResponseSchema.safeParse(data);
1083
- if (!result.success) {
1084
- throw new Error("Invalid skills list response format");
1085
- }
1086
- return result.data;
1087
- };
1088
- const listSandboxFiles = async (chatId, path, signal) => {
1089
- const { data } = await genericClient.get(
1090
- `/api/chat/${encodeURIComponent(chatId)}/sandbox/files`,
1091
- { query: path ? { path } : void 0 },
1092
- { signal }
1093
- );
1094
- const result = sandboxFileListingSchema.safeParse(data);
1095
- if (!result.success) {
1096
- throw new Error("Invalid sandbox files response format");
1097
- }
1098
- return result.data;
1099
- };
1100
- const readSandboxFile = async (chatId, path, signal) => {
1101
- const { data } = await genericClient.get(
1102
- `/api/chat/${encodeURIComponent(chatId)}/sandbox/file`,
1103
- { query: { path } },
1104
- { signal }
1105
- );
1106
- const result = sandboxFileContentSchema.safeParse(data);
1107
- if (!result.success) {
1108
- throw new Error("Invalid sandbox file response format");
1109
- }
1110
- return result.data;
1111
- };
1112
- const getSandboxGitBranch = async (chatId, signal) => {
1113
- const { data } = await genericClient.get(
1114
- `/api/chat/${encodeURIComponent(chatId)}/sandbox/git-branch`,
1115
- {},
1116
- { signal }
1117
- );
1118
- const result = sandboxGitBranchSchema.safeParse(data);
1119
- if (!result.success) {
1120
- throw new Error("Invalid sandbox git-branch response format");
1121
- }
1122
- return result.data;
1123
- };
1124
- const chatStreamUrl = clientOptions.baseUrl + "/api/chat";
1125
- return {
1126
- getHistory,
1127
- getChat,
1128
- deleteChat,
1129
- createChat,
1130
- getVotes,
1131
- submitVote,
1132
- getUsage,
1133
- approveToolCall,
1134
- submitToolOutput,
1135
- stopChat,
1136
- getSuggestions,
1137
- getAgentSettings,
1138
- updateAgentSettings,
1139
- getUserAgentSettings,
1140
- updateUserAgentSettings,
1141
- getToolsList,
1142
- getSkillsList,
1143
- listSandboxFiles,
1144
- readSandboxFile,
1145
- getSandboxGitBranch,
1146
- chatStreamUrl
1147
- };
917
+ const sandboxGitBranchSchema = zod.z.object({ branch: zod.z.string().nullable() });
918
+ const votesResponseSchema = zod.z.array(zod.z.object({
919
+ chatId: zod.z.string(),
920
+ messageId: zod.z.string(),
921
+ isUpvoted: zod.z.boolean()
922
+ }));
923
+ const createKaiAgentClient = ({ baseUrl, middlewares, auth }) => {
924
+ const clientOptions = {
925
+ baseUrl,
926
+ middlewares,
927
+ headers: require_auth.createAuthHeaders(auth)
928
+ };
929
+ const client = require_createOpenapiFetchClient.createOpenapiFetchClient(clientOptions);
930
+ const genericClient = require_createGenericFetchClient.createGenericFetchClient(clientOptions);
931
+ const getHistory = async (params) => {
932
+ const { data } = await client.get("/api/history", { query: params });
933
+ return data;
934
+ };
935
+ const getChat = async (chatId, signal) => {
936
+ const { data } = await client.get("/api/chat/{id}", { path: { id: chatId } }, { signal });
937
+ return data;
938
+ };
939
+ const deleteChat = async (chatId) => {
940
+ const { data } = await client.delete("/api/chat", { query: { id: chatId } });
941
+ return data;
942
+ };
943
+ const createChat = async (request) => {
944
+ const { response } = await client.post("/api/chat", { body: request });
945
+ return response;
946
+ };
947
+ const getVotes = async (chatId) => {
948
+ const { data } = await client.get("/api/vote", { query: { chatId } });
949
+ const result = votesResponseSchema.safeParse(data);
950
+ if (!result.success) throw new Error("Invalid votes response format");
951
+ return result.data;
952
+ };
953
+ const submitVote = async (params) => {
954
+ await client.patch("/api/vote", { body: params });
955
+ };
956
+ const getUsage = async (signal) => {
957
+ const { data } = await client.get("/api/usage", {}, { signal });
958
+ return data;
959
+ };
960
+ const approveToolCall = async (chatId, body) => {
961
+ await client.post("/api/chat/{id}/approval", {
962
+ path: { id: chatId },
963
+ body
964
+ });
965
+ };
966
+ const submitToolOutput = async (chatId, body) => {
967
+ await client.post("/api/chat/{id}/ui-tool-result", {
968
+ path: { id: chatId },
969
+ body
970
+ });
971
+ };
972
+ const stopChat = async (chatId) => {
973
+ const { data } = await client.post("/api/chat/{id}/stop", { path: { id: chatId } });
974
+ return data;
975
+ };
976
+ const getSuggestions = async (request, signal) => {
977
+ const { data } = await client.post("/api/suggestions", { body: request }, { signal });
978
+ return data;
979
+ };
980
+ const getAgentSettings = async (signal) => {
981
+ const { data } = await genericClient.get("/api/settings", {}, { signal });
982
+ const result = agentSettingsSchema.safeParse(data);
983
+ if (!result.success) throw new Error("Invalid agent settings response format");
984
+ return result.data;
985
+ };
986
+ const updateAgentSettings = async (request, signal) => {
987
+ const { data } = await genericClient.patch("/api/settings", { body: request }, { signal });
988
+ const result = agentSettingsSchema.safeParse(data);
989
+ if (!result.success) throw new Error("Invalid agent settings response format");
990
+ return result.data;
991
+ };
992
+ const getUserAgentSettings = async (signal) => {
993
+ const { data } = await genericClient.get("/api/settings/user", {}, { signal });
994
+ const result = userAgentSettingsSchema.safeParse(data);
995
+ if (!result.success) throw new Error("Invalid user agent settings response format");
996
+ return result.data;
997
+ };
998
+ const updateUserAgentSettings = async (request, signal) => {
999
+ const { data } = await genericClient.patch("/api/settings/user", { body: request }, { signal });
1000
+ const result = userAgentSettingsSchema.safeParse(data);
1001
+ if (!result.success) throw new Error("Invalid user agent settings response format");
1002
+ return result.data;
1003
+ };
1004
+ const getToolsList = async (signal) => {
1005
+ const { data } = await genericClient.get("/api/settings/tools", {}, { signal });
1006
+ const result = toolsListResponseSchema.safeParse(data);
1007
+ if (!result.success) throw new Error("Invalid tools list response format");
1008
+ return result.data;
1009
+ };
1010
+ const getSkillsList = async (signal) => {
1011
+ const { data } = await genericClient.get("/api/skills", {}, { signal });
1012
+ const result = skillsListResponseSchema.safeParse(data);
1013
+ if (!result.success) throw new Error("Invalid skills list response format");
1014
+ return result.data;
1015
+ };
1016
+ const listSandboxFiles = async (chatId, path, signal) => {
1017
+ const { data } = await genericClient.get(`/api/chat/${encodeURIComponent(chatId)}/sandbox/files`, { query: path ? { path } : void 0 }, { signal });
1018
+ const result = sandboxFileListingSchema.safeParse(data);
1019
+ if (!result.success) throw new Error("Invalid sandbox files response format");
1020
+ return result.data;
1021
+ };
1022
+ const readSandboxFile = async (chatId, path, signal) => {
1023
+ const { data } = await genericClient.get(`/api/chat/${encodeURIComponent(chatId)}/sandbox/file`, { query: { path } }, { signal });
1024
+ const result = sandboxFileContentSchema.safeParse(data);
1025
+ if (!result.success) throw new Error("Invalid sandbox file response format");
1026
+ return result.data;
1027
+ };
1028
+ const getSandboxGitBranch = async (chatId, signal) => {
1029
+ const { data } = await genericClient.get(`/api/chat/${encodeURIComponent(chatId)}/sandbox/git-branch`, {}, { signal });
1030
+ const result = sandboxGitBranchSchema.safeParse(data);
1031
+ if (!result.success) throw new Error("Invalid sandbox git-branch response format");
1032
+ return result.data;
1033
+ };
1034
+ const chatStreamUrl = clientOptions.baseUrl + "/api/chat";
1035
+ const healthCheck = async (signal) => {
1036
+ const { data } = await genericClient.get("/health", {}, { signal });
1037
+ return data;
1038
+ };
1039
+ return {
1040
+ healthCheck,
1041
+ getHistory,
1042
+ getChat,
1043
+ deleteChat,
1044
+ createChat,
1045
+ getVotes,
1046
+ submitVote,
1047
+ getUsage,
1048
+ approveToolCall,
1049
+ submitToolOutput,
1050
+ stopChat,
1051
+ getSuggestions,
1052
+ getAgentSettings,
1053
+ updateAgentSettings,
1054
+ getUserAgentSettings,
1055
+ updateUserAgentSettings,
1056
+ getToolsList,
1057
+ getSkillsList,
1058
+ listSandboxFiles,
1059
+ readSandboxFile,
1060
+ getSandboxGitBranch,
1061
+ chatStreamUrl
1062
+ };
1148
1063
  };
1149
-
1150
- // src/keboola/createServiceClients.ts
1151
- var createServiceClients = ({
1152
- baseUrl,
1153
- auth,
1154
- getServiceBaseUrl,
1155
- middlewareFor,
1156
- attachTokenMiddleware
1157
- }) => createServiceClientRegistry()({
1158
- getServiceBaseUrl,
1159
- onUnavailable: ({ serviceId, path, clientName }) => {
1160
- throw new chunkZ3HZ4MP4_cjs.ServiceUnavailableError(serviceId, path, clientName);
1161
- }
1064
+ //#endregion
1065
+ //#region src/keboola/createServiceClients.ts
1066
+ const createServiceClients = ({ baseUrl, auth, getServiceBaseUrl, middlewareFor, attachTokenMiddleware }) => createServiceClientRegistry()({
1067
+ getServiceBaseUrl,
1068
+ onUnavailable: ({ serviceId, path, clientName }) => {
1069
+ throw new require_storage.ServiceUnavailableError(serviceId, path, clientName);
1070
+ }
1071
+ }).add({
1072
+ serviceId: "vault",
1073
+ clientName: "vault",
1074
+ clientFn: (serviceBaseUrl) => require_vault_index.createVaultClient({
1075
+ baseUrl: serviceBaseUrl,
1076
+ middlewares: middlewareFor("vault", [attachTokenMiddleware]),
1077
+ auth
1078
+ })
1162
1079
  }).add({
1163
- serviceId: "vault",
1164
- clientName: "vault",
1165
- clientFn: (serviceBaseUrl) => chunk7R22VKV7_cjs.createVaultClient({
1166
- baseUrl: serviceBaseUrl,
1167
- middlewares: middlewareFor("vault", [attachTokenMiddleware]),
1168
- auth
1169
- })
1080
+ serviceId: "data-science",
1081
+ clientName: "dataScience",
1082
+ clientFn: (serviceBaseUrl) => require_dataScience.createDataScienceClient({
1083
+ baseUrl: serviceBaseUrl,
1084
+ middlewares: middlewareFor("dataScience", [attachTokenMiddleware]),
1085
+ auth
1086
+ })
1170
1087
  }).add({
1171
- serviceId: "data-science",
1172
- clientName: "dataScience",
1173
- clientFn: (serviceBaseUrl) => chunkL262THNK_cjs.createDataScienceClient({
1174
- baseUrl: serviceBaseUrl,
1175
- middlewares: middlewareFor("dataScience", [attachTokenMiddleware]),
1176
- auth
1177
- })
1088
+ serviceId: "data-science",
1089
+ clientName: "apps",
1090
+ clientFn: (serviceBaseUrl) => require_apps_index.createAppsClient({
1091
+ baseUrl: `${serviceBaseUrl}/v2`,
1092
+ middlewares: middlewareFor("apps", [attachTokenMiddleware]),
1093
+ auth
1094
+ })
1178
1095
  }).add({
1179
- serviceId: "encryption",
1180
- clientName: "encryption",
1181
- clientFn: (serviceBaseUrl) => chunkBR6WZE3O_cjs.createEncryptionClient({
1182
- baseUrl: serviceBaseUrl,
1183
- middlewares: middlewareFor("encryption")
1184
- })
1096
+ serviceId: "encryption",
1097
+ clientName: "encryption",
1098
+ clientFn: (serviceBaseUrl) => require_encryption_index.createEncryptionClient({
1099
+ baseUrl: serviceBaseUrl,
1100
+ middlewares: middlewareFor("encryption")
1101
+ })
1185
1102
  }).add({
1186
- serviceId: "editor",
1187
- clientName: "editor",
1188
- clientFn: (serviceBaseUrl) => chunkUWQUHP3T_cjs.createEditorClient({
1189
- baseUrl: serviceBaseUrl,
1190
- middlewares: middlewareFor("editor", [attachTokenMiddleware]),
1191
- auth
1192
- })
1103
+ serviceId: "editor",
1104
+ clientName: "editor",
1105
+ clientFn: (serviceBaseUrl) => require_editor_index.createEditorClient({
1106
+ baseUrl: serviceBaseUrl,
1107
+ middlewares: middlewareFor("editor", [attachTokenMiddleware]),
1108
+ auth
1109
+ })
1193
1110
  }).add({
1194
- serviceId: "sync-actions",
1195
- clientName: "syncActions",
1196
- clientFn: (serviceBaseUrl) => chunkHTVJR5WS_cjs.createSyncActionsClient({
1197
- baseUrl: serviceBaseUrl,
1198
- middlewares: middlewareFor("syncActions", [attachTokenMiddleware]),
1199
- auth
1200
- })
1111
+ serviceId: "sync-actions",
1112
+ clientName: "syncActions",
1113
+ clientFn: (serviceBaseUrl) => require_syncActions.createSyncActionsClient({
1114
+ baseUrl: serviceBaseUrl,
1115
+ middlewares: middlewareFor("syncActions", [attachTokenMiddleware]),
1116
+ auth
1117
+ })
1201
1118
  }).add({
1202
- serviceId: "telemetry",
1203
- clientName: "telemetry",
1204
- clientFn: (serviceBaseUrl) => chunkNVQ6LGDO_cjs.createTelemetryClient({
1205
- baseUrl: serviceBaseUrl,
1206
- middlewares: middlewareFor("telemetry", [attachTokenMiddleware]),
1207
- auth
1208
- })
1119
+ serviceId: "telemetry",
1120
+ clientName: "telemetry",
1121
+ clientFn: (serviceBaseUrl) => require_telemetry.createTelemetryClient({
1122
+ baseUrl: serviceBaseUrl,
1123
+ middlewares: middlewareFor("telemetry", [attachTokenMiddleware]),
1124
+ auth
1125
+ })
1209
1126
  }).add({
1210
- serviceId: "query",
1211
- clientName: "queryService",
1212
- clientFn: (serviceBaseUrl) => chunkJ3NLKXQ5_cjs.createQueryServiceClient({
1213
- baseUrl: serviceBaseUrl,
1214
- middlewares: middlewareFor("queryService", [attachTokenMiddleware]),
1215
- auth
1216
- })
1127
+ serviceId: "query",
1128
+ clientName: "queryService",
1129
+ clientFn: (serviceBaseUrl) => require_queryService.createQueryServiceClient({
1130
+ baseUrl: serviceBaseUrl,
1131
+ middlewares: middlewareFor("queryService", [attachTokenMiddleware]),
1132
+ auth
1133
+ })
1217
1134
  }).add({
1218
- serviceId: "queue",
1219
- clientName: "queue",
1220
- clientFn: (serviceBaseUrl) => chunkLIXSIM3H_cjs.createQueueClient({
1221
- baseUrl: serviceBaseUrl,
1222
- middlewares: middlewareFor("queue", [attachTokenMiddleware]),
1223
- auth
1224
- })
1135
+ serviceId: "queue",
1136
+ clientName: "queue",
1137
+ clientFn: (serviceBaseUrl) => require_queue.createQueueClient({
1138
+ baseUrl: serviceBaseUrl,
1139
+ middlewares: middlewareFor("queue", [attachTokenMiddleware]),
1140
+ auth
1141
+ })
1225
1142
  }).add({
1226
- serviceId: "kai-assistant",
1227
- clientName: "chat",
1228
- clientFn: (serviceBaseUrl) => chunkT242YFMT_cjs.createChatClient({
1229
- storageApiUrl: baseUrl,
1230
- baseUrl: serviceBaseUrl,
1231
- middlewares: middlewareFor("chat", [attachTokenMiddleware]),
1232
- auth
1233
- })
1143
+ serviceId: "kai-assistant",
1144
+ clientName: "chat",
1145
+ clientFn: (serviceBaseUrl) => require_chat_index.createChatClient({
1146
+ storageApiUrl: baseUrl,
1147
+ baseUrl: serviceBaseUrl,
1148
+ middlewares: middlewareFor("chat", [attachTokenMiddleware]),
1149
+ auth
1150
+ })
1234
1151
  }).add({
1235
- serviceId: "ai",
1236
- clientName: "ai",
1237
- clientFn: (serviceBaseUrl) => chunkIDWGBCSB_cjs.createAiClient({
1238
- baseUrl: serviceBaseUrl,
1239
- middlewares: middlewareFor("ai", [attachTokenMiddleware]),
1240
- auth
1241
- })
1152
+ serviceId: "ai",
1153
+ clientName: "ai",
1154
+ clientFn: (serviceBaseUrl) => require_ai_index.createAiClient({
1155
+ baseUrl: serviceBaseUrl,
1156
+ middlewares: middlewareFor("ai", [attachTokenMiddleware]),
1157
+ auth
1158
+ })
1242
1159
  }).add({
1243
- serviceId: "import",
1244
- clientName: "import",
1245
- clientFn: (serviceBaseUrl) => chunk2CFM7K4U_cjs.createImportClient({
1246
- baseUrl: serviceBaseUrl,
1247
- middlewares: middlewareFor("import", [attachTokenMiddleware]),
1248
- auth
1249
- })
1160
+ serviceId: "ai",
1161
+ clientName: "omnisearch",
1162
+ clientFn: (serviceBaseUrl) => require_omnisearch_index.createOmnisearchClient({
1163
+ baseUrl: `${serviceBaseUrl}/omnisearch`,
1164
+ middlewares: middlewareFor("omnisearch", [attachTokenMiddleware]),
1165
+ auth
1166
+ })
1250
1167
  }).add({
1251
- serviceId: "kai-agent",
1252
- clientName: "kaiAgent",
1253
- clientFn: (serviceBaseUrl) => createKaiAgentClient({
1254
- baseUrl: serviceBaseUrl,
1255
- middlewares: middlewareFor("kaiAgent", [attachTokenMiddleware]),
1256
- auth
1257
- })
1168
+ serviceId: "import",
1169
+ clientName: "import",
1170
+ clientFn: (serviceBaseUrl) => require_import.createImportClient({
1171
+ baseUrl: serviceBaseUrl,
1172
+ middlewares: middlewareFor("import", [attachTokenMiddleware]),
1173
+ auth
1174
+ })
1258
1175
  }).add({
1259
- serviceId: "oauth",
1260
- clientName: "oauth",
1261
- clientFn: (serviceBaseUrl) => chunk3YWQQ3OG_cjs.createOauthClient({
1262
- baseUrl: serviceBaseUrl,
1263
- middlewares: middlewareFor("oauth", [attachTokenMiddleware]),
1264
- auth
1265
- })
1176
+ serviceId: "kai-agent",
1177
+ clientName: "kaiAgent",
1178
+ clientFn: (serviceBaseUrl) => createKaiAgentClient({
1179
+ baseUrl: serviceBaseUrl,
1180
+ middlewares: middlewareFor("kaiAgent", [attachTokenMiddleware]),
1181
+ auth
1182
+ })
1266
1183
  }).add({
1267
- serviceId: "scheduler",
1268
- clientName: "scheduler",
1269
- clientFn: (serviceBaseUrl) => chunkAFJGNBVM_cjs.createSchedulerClient({
1270
- baseUrl: serviceBaseUrl,
1271
- middlewares: middlewareFor("scheduler", [attachTokenMiddleware]),
1272
- auth
1273
- })
1184
+ serviceId: "oauth",
1185
+ clientName: "oauth",
1186
+ clientFn: (serviceBaseUrl) => require_oauth.createOauthClient({
1187
+ baseUrl: serviceBaseUrl,
1188
+ middlewares: middlewareFor("oauth", [attachTokenMiddleware]),
1189
+ auth
1190
+ })
1274
1191
  }).add({
1275
- serviceId: "stream",
1276
- clientName: "stream",
1277
- clientFn: (serviceBaseUrl) => chunk7YXL4FKN_cjs.createStreamClient({
1278
- baseUrl: serviceBaseUrl,
1279
- middlewares: middlewareFor("stream", [attachTokenMiddleware]),
1280
- auth
1281
- })
1192
+ serviceId: "scheduler",
1193
+ clientName: "scheduler",
1194
+ clientFn: (serviceBaseUrl) => require_scheduler_index.createSchedulerClient({
1195
+ baseUrl: serviceBaseUrl,
1196
+ middlewares: middlewareFor("scheduler", [attachTokenMiddleware]),
1197
+ auth
1198
+ })
1282
1199
  }).add({
1283
- serviceId: "notification",
1284
- clientName: "notifications",
1285
- clientFn: (serviceBaseUrl) => chunkPPQF7LTS_cjs.createNotificationsClient({
1286
- baseUrl: serviceBaseUrl,
1287
- middlewares: middlewareFor("notifications", [attachTokenMiddleware]),
1288
- auth
1289
- })
1200
+ serviceId: "stream",
1201
+ clientName: "stream",
1202
+ clientFn: (serviceBaseUrl) => require_stream_index.createStreamClient({
1203
+ baseUrl: serviceBaseUrl,
1204
+ middlewares: middlewareFor("stream", [attachTokenMiddleware]),
1205
+ auth
1206
+ })
1290
1207
  }).add({
1291
- serviceId: "metastore",
1292
- clientName: "metastore",
1293
- clientFn: (serviceBaseUrl) => chunkCWUQ6ZAO_cjs.createMetastoreClient({
1294
- baseUrl: serviceBaseUrl,
1295
- middlewares: middlewareFor("metastore", [attachTokenMiddleware]),
1296
- auth
1297
- })
1208
+ serviceId: "notification",
1209
+ clientName: "notifications",
1210
+ clientFn: (serviceBaseUrl) => require_notifications_index.createNotificationsClient({
1211
+ baseUrl: serviceBaseUrl,
1212
+ middlewares: middlewareFor("notifications", [attachTokenMiddleware]),
1213
+ auth
1214
+ })
1215
+ }).add({
1216
+ serviceId: "metastore",
1217
+ clientName: "metastore",
1218
+ clientFn: (serviceBaseUrl) => require_metastore.createMetastoreClient({
1219
+ baseUrl: serviceBaseUrl,
1220
+ middlewares: middlewareFor("metastore", [attachTokenMiddleware]),
1221
+ auth
1222
+ })
1298
1223
  }).build();
1299
-
1300
- // src/keboola/bearer/createProjectClients.ts
1301
- var createProjectClients = async ({
1302
- baseUrl,
1303
- projectId,
1304
- authMiddleware,
1305
- middlewareFor,
1306
- clientServiceUrls
1307
- }) => {
1308
- const auth = { type: "bearer", token: "", projectId };
1309
- const projectIdMiddleware = (next) => (request) => {
1310
- request.request.headers.set(chunkMMOAH3EH_cjs.KeboolaHttpHeader.PROJECT_ID, String(projectId));
1311
- return next(request);
1312
- };
1313
- const attach = (next) => projectIdMiddleware(authMiddleware(next));
1314
- const reader = chunkZ3HZ4MP4_cjs.createStorageClient({ baseUrl, auth, middlewares: [attach] });
1315
- const [stackInfo, sapiToken, devBranches] = await Promise.all([
1316
- reader.getStackInfo({ exclude: "componentDetails" }),
1317
- reader.tokens.verify(),
1318
- reader.branches.getDevBranches()
1319
- ]);
1320
- const stack = createStack({ stackInfo, clientServiceUrls });
1321
- const defaultBranch = createDefaultBranch({ devBranches });
1322
- const liveProject = createLiveProject({
1323
- initialToken: sapiToken,
1324
- verify: () => reader.tokens.verify()
1325
- });
1326
- const storageTableStore = createDerivedStore({
1327
- source: liveProject.store,
1328
- build: chunkUUY6LQT6_cjs.createStorageTable,
1329
- dependsOn: (project) => ({
1330
- useLegacyBucketPrefix: !project.hasFeature(chunkHITKHHWN_cjs.ProjectFeature.DisableLegacyBucketPrefix),
1331
- hasProtectedDefaultBranch: project.hasFeature(chunkHITKHHWN_cjs.ProjectFeature.SoxProtectedDefaultBranch),
1332
- hasStorageBranches: project.hasFeature(chunkHITKHHWN_cjs.ProjectFeature.StorageBranches)
1333
- })
1334
- });
1335
- const context = {
1336
- baseUrl: chunkMMOAH3EH_cjs.normalizeBaseUrl(baseUrl),
1337
- stack,
1338
- defaultBranch,
1339
- get project() {
1340
- return liveProject.getProject();
1341
- },
1342
- get st() {
1343
- return storageTableStore.get();
1344
- }
1345
- };
1346
- const storage = chunkZ3HZ4MP4_cjs.createStorageClient({
1347
- baseUrl,
1348
- auth,
1349
- middlewares: middlewareFor("storage", [attach, liveProject.middleware])
1350
- });
1351
- const { client: services, meta: serviceMeta } = createServiceClients({
1352
- baseUrl,
1353
- auth,
1354
- getServiceBaseUrl: context.stack.getServiceUrl,
1355
- middlewareFor,
1356
- attachTokenMiddleware: attach
1357
- });
1358
- const sdk = {
1359
- configuration: chunkIAYPOSMM_cjs.createConfigurationSdk({
1360
- storageClient: storage,
1361
- encryptionClient: services.encryption,
1362
- context
1363
- }),
1364
- tag: chunkFRLSKIUI_cjs.createTagSdk({ metastoreClient: services.metastore }),
1365
- semanticLayer: chunkKUYVBCUM_cjs.createSemanticLayerSdk({ metastoreClient: services.metastore }),
1366
- storage: chunkF6ZAYTBX_cjs.createStorageSdk({ storageClient: storage }),
1367
- vault: chunkEYIPM2XB_cjs.createVaultSdk({ vaultClient: services.vault, encryptionClient: services.encryption }),
1368
- variables: createVariablesSdk({ storageClient: storage })
1369
- };
1370
- return { context, serviceMeta, storage, ...services, sdk };
1224
+ //#endregion
1225
+ //#region src/keboola/bearer/createProjectClients.ts
1226
+ /**
1227
+ * Bearer (OAuth) project surface. Same handshake + assembly as the legacy build. The
1228
+ * `Authorization: Bearer` header + transparent refresh come from the engine-shared `authMiddleware`
1229
+ * (one instance for management + every project client). This build only adds the project-scoped
1230
+ * `X-KBC-ProjectId` header, composed *outside* the auth middleware so the header is present
1231
+ * before it clones the request for the 401 replay. Bearer has no static token header, so this
1232
+ * combined `attach` rides on every client — including the operational storage and the bootstrap reader.
1233
+ */
1234
+ const createProjectClients$1 = async ({ baseUrl, projectId, authMiddleware, middlewareFor, clientServiceUrls }) => {
1235
+ const auth = {
1236
+ type: "bearer",
1237
+ token: "",
1238
+ projectId
1239
+ };
1240
+ const projectIdMiddleware = (next) => (request) => {
1241
+ request.request.headers.set(require_createFetchClient.KeboolaHttpHeader.PROJECT_ID, String(projectId));
1242
+ return next(request);
1243
+ };
1244
+ const attach = (next) => projectIdMiddleware(authMiddleware(next));
1245
+ const reader = require_storage.createStorageClient({
1246
+ baseUrl,
1247
+ auth,
1248
+ middlewares: [attach]
1249
+ });
1250
+ const [stackInfo, sapiToken, devBranches] = await Promise.all([
1251
+ reader.getStackInfo({ exclude: "componentDetails" }),
1252
+ reader.tokens.verify(),
1253
+ reader.branches.getDevBranches()
1254
+ ]);
1255
+ const stack = createStack({
1256
+ stackInfo,
1257
+ clientServiceUrls
1258
+ });
1259
+ const defaultBranch = createDefaultBranch({ devBranches });
1260
+ const liveProject = createLiveProject({
1261
+ initialToken: sapiToken,
1262
+ verify: () => reader.tokens.verify()
1263
+ });
1264
+ const storageTableStore = require_createStore.createDerivedStore({
1265
+ source: liveProject.store,
1266
+ build: require_storageTable.createStorageTable,
1267
+ dependsOn: (project) => ({
1268
+ useLegacyBucketPrefix: !project.hasFeature(require_constants.ProjectFeature.DisableLegacyBucketPrefix),
1269
+ hasProtectedDefaultBranch: project.hasFeature(require_constants.ProjectFeature.SoxProtectedDefaultBranch),
1270
+ hasStorageBranches: project.hasFeature(require_constants.ProjectFeature.StorageBranches)
1271
+ })
1272
+ });
1273
+ const context = {
1274
+ baseUrl: require_createFetchClient.normalizeBaseUrl(baseUrl),
1275
+ stack,
1276
+ defaultBranch,
1277
+ get project() {
1278
+ return liveProject.getProject();
1279
+ },
1280
+ get st() {
1281
+ return storageTableStore.get();
1282
+ }
1283
+ };
1284
+ const storage = require_storage.createStorageClient({
1285
+ baseUrl,
1286
+ auth,
1287
+ middlewares: middlewareFor("storage", [attach, liveProject.middleware])
1288
+ });
1289
+ const { client: services, meta: serviceMeta } = createServiceClients({
1290
+ baseUrl,
1291
+ auth,
1292
+ getServiceBaseUrl: context.stack.getServiceUrl,
1293
+ middlewareFor,
1294
+ attachTokenMiddleware: attach
1295
+ });
1296
+ const sdk = {
1297
+ configuration: require_configurations.createConfigurationSdk({
1298
+ storageClient: storage,
1299
+ encryptionClient: services.encryption,
1300
+ context
1301
+ }),
1302
+ tag: require_tag.createTagSdk({ metastoreClient: services.metastore }),
1303
+ semanticLayer: require_sdk_semanticLayer_index.createSemanticLayerSdk({ metastoreClient: services.metastore }),
1304
+ storage: require_sdk_storage_index.createStorageSdk({ storageClient: storage }),
1305
+ vault: require_sdk_vault_index.createVaultSdk({
1306
+ vaultClient: services.vault,
1307
+ encryptionClient: services.encryption
1308
+ }),
1309
+ variables: createVariablesSdk({ storageClient: storage })
1310
+ };
1311
+ return {
1312
+ context,
1313
+ serviceMeta,
1314
+ storage,
1315
+ ...services,
1316
+ sdk
1317
+ };
1371
1318
  };
1372
-
1373
- // src/keboola/bearer/credential.ts
1374
- var DEFAULT_REFRESH_THRESHOLD = 0.9;
1375
- var isUnauthorized = (error) => error instanceof chunkMMOAH3EH_cjs.ApiError && error.response.status === chunkMMOAH3EH_cjs.HttpStatus.UNAUTHORIZED;
1376
- var createBearerCredential = ({
1377
- refresh,
1378
- getToken,
1379
- onSessionExpired,
1380
- refreshThreshold = DEFAULT_REFRESH_THRESHOLD
1381
- }) => {
1382
- const doRefresh = async () => {
1383
- try {
1384
- return await refresh();
1385
- } catch (error) {
1386
- if (isUnauthorized(error)) onSessionExpired?.();
1387
- throw error;
1388
- }
1389
- };
1390
- const refreshShared = chunkHY7J3OD3_cjs.dedupe(doRefresh);
1391
- const refreshAt = (timing) => timing.issuedAt + timing.expiresIn * 1e3 * refreshThreshold;
1392
- const getAccessToken = async ({ forceRefresh = false } = {}) => {
1393
- const snapshot = getToken();
1394
- if (snapshot === null) return null;
1395
- const { accessToken, timing } = snapshot;
1396
- if (forceRefresh) return refreshShared();
1397
- if (Date.now() < refreshAt(timing)) return accessToken;
1398
- return refreshShared().catch(() => accessToken);
1399
- };
1400
- return { getAccessToken, notifyExpired: () => onSessionExpired?.() };
1401
- };
1402
-
1403
- // src/keboola/bearer/middleware.ts
1404
- var createBearerAuthMiddleware = (credential) => {
1405
- return (next) => async (request) => {
1406
- const token = await credential.getAccessToken({ forceRefresh: false });
1407
- if (token === null) return next(request);
1408
- const retryRequest = request.request.clone();
1409
- request.request.headers.set(chunkMMOAH3EH_cjs.HttpHeader.AUTHORIZATION, `Bearer ${token}`);
1410
- try {
1411
- return await next(request);
1412
- } catch (error) {
1413
- if (!isUnauthorized(error)) throw error;
1414
- const refreshed = await credential.getAccessToken({ forceRefresh: true });
1415
- if (refreshed === null) throw error;
1416
- retryRequest.headers.set(chunkMMOAH3EH_cjs.HttpHeader.AUTHORIZATION, `Bearer ${refreshed}`);
1417
- try {
1418
- return await next({ ...request, request: retryRequest });
1419
- } catch (retryError) {
1420
- if (isUnauthorized(retryError)) credential.notifyExpired();
1421
- throw retryError;
1422
- }
1423
- }
1424
- };
1319
+ //#endregion
1320
+ //#region src/keboola/bearer/middleware.ts
1321
+ /**
1322
+ * Bearer auth for every outgoing request:
1323
+ * - Stamps the current access token (from the credential) as the `Authorization` header.
1324
+ * - On a 401, force-refreshes the token and replays the request once.
1325
+ * - If the replay still 401s, the fresh token is rejected → marks the session expired.
1326
+ *
1327
+ * When the session is anonymous (`getAccessToken` → `null`) the request is passed through untouched
1328
+ * with no 401 dance — so pre-auth calls on the auth client (`login`, `refresh`) work and a failed
1329
+ * login is never mistaken for session expiry.
1330
+ *
1331
+ * Holds no token and never touches config — all token and refresh state lives in the credential.
1332
+ */
1333
+ const createBearerAuthMiddleware = (credential) => {
1334
+ return (next) => async (request) => {
1335
+ const token = await credential.getAccessToken({ forceRefresh: false });
1336
+ if (token === null) return next(request);
1337
+ const retryRequest = request.request.clone();
1338
+ request.request.headers.set(require_createFetchClient.HttpHeader.AUTHORIZATION, `Bearer ${token}`);
1339
+ try {
1340
+ return await next(request);
1341
+ } catch (error) {
1342
+ if (!require_credential.isUnauthorized(error)) throw error;
1343
+ const refreshed = await credential.getAccessToken({ forceRefresh: true });
1344
+ if (refreshed === null) throw error;
1345
+ retryRequest.headers.set(require_createFetchClient.HttpHeader.AUTHORIZATION, `Bearer ${refreshed}`);
1346
+ try {
1347
+ return await next({
1348
+ ...request,
1349
+ request: retryRequest
1350
+ });
1351
+ } catch (retryError) {
1352
+ if (require_credential.isUnauthorized(retryError)) credential.notifyExpired();
1353
+ throw retryError;
1354
+ }
1355
+ }
1356
+ };
1425
1357
  };
1426
- var SESSION_KEY = "keboola:bearer-session";
1427
- var persistedSessionSchema = z2__namespace.object({
1428
- baseUrl: z2__namespace.string().nullable(),
1429
- projectId: z2__namespace.number().nullable(),
1430
- refreshToken: z2__namespace.string().nullable()
1358
+ //#endregion
1359
+ //#region src/keboola/bearer/persistor.ts
1360
+ const SESSION_KEY = "keboola:bearer-session";
1361
+ const persistedSessionSchema = zod.object({
1362
+ baseUrl: zod.string().nullable(),
1363
+ projectId: zod.number().nullable(),
1364
+ refreshToken: zod.string().nullable()
1431
1365
  });
1432
- var EMPTY_PERSISTED_SESSION = {
1433
- baseUrl: null,
1434
- projectId: null,
1435
- refreshToken: null
1366
+ const EMPTY_PERSISTED_SESSION = {
1367
+ baseUrl: null,
1368
+ projectId: null,
1369
+ refreshToken: null
1436
1370
  };
1437
- var createSessionPersistor = (storage) => createPersistor({
1438
- storage,
1439
- key: SESSION_KEY,
1440
- schema: persistedSessionSchema,
1441
- defaultValue: EMPTY_PERSISTED_SESSION
1371
+ const createSessionPersistor = (storage) => createPersistor({
1372
+ storage,
1373
+ key: SESSION_KEY,
1374
+ schema: persistedSessionSchema,
1375
+ defaultValue: EMPTY_PERSISTED_SESSION
1442
1376
  });
1443
-
1444
- // src/keboola/bearer/keboola.ts
1445
- var createKeboola = (options = {}) => {
1446
- const persistor = createSessionPersistor(options.storage);
1447
- const config = createConfig();
1448
- const middlewareFor = createMiddlewareFor(options.middlewares);
1449
- const retryContention = createRetryMiddleware({
1450
- shouldRetry: (error) => error instanceof chunkMMOAH3EH_cjs.ApiError && error.response.status === chunkMMOAH3EH_cjs.HttpStatus.SERVICE_UNAVAILABLE
1451
- });
1452
- const authClientBare = createDerivedStore({
1453
- source: config.store,
1454
- dependsOn: (state) => state.baseUrl,
1455
- build: (baseUrl) => baseUrl ? chunkDRNOCC6W_cjs.createAuthClient({ baseUrl, middlewares: middlewareFor("auth", [retryContention]) }) : null
1456
- });
1457
- const refresh = async () => {
1458
- const client = authClientBare.get();
1459
- assert2(client, KeboolaErrorType.NotReady);
1460
- const refreshed = await client.token.refresh(config.requireCredential().refreshToken);
1461
- config.applyRefresh(refreshed);
1462
- return refreshed.accessToken;
1463
- };
1464
- const getToken = () => {
1465
- const state = config.store.get();
1466
- if (state.status === "anonymous") return null;
1467
- const { accessToken, issuedAt, expiresIn } = state.credential;
1468
- return { accessToken, timing: { issuedAt, expiresIn } };
1469
- };
1470
- const signOut = () => {
1471
- config.reset();
1472
- persistor.clear();
1473
- };
1474
- const onSessionExpired = () => {
1475
- if (config.notifyExpired()) signOut();
1476
- };
1477
- const credential = createBearerCredential({ refresh, getToken, onSessionExpired });
1478
- const authMiddleware = createBearerAuthMiddleware(credential);
1479
- const authClient = createDerivedStore({
1480
- source: config.store,
1481
- dependsOn: (state) => state.baseUrl,
1482
- build: (baseUrl) => baseUrl ? chunkDRNOCC6W_cjs.createAuthClient({
1483
- baseUrl,
1484
- middlewares: middlewareFor("auth", [retryContention, authMiddleware])
1485
- }) : null
1486
- });
1487
- const management = createDerivedStore({
1488
- source: config.store,
1489
- dependsOn: (state) => state.status === "anonymous" ? null : state.baseUrl,
1490
- build: (baseUrl) => baseUrl ? chunkHY7J3OD3_cjs.createManagementClient({
1491
- baseUrl,
1492
- auth: { type: "bearer", token: "" },
1493
- middlewares: middlewareFor("management", [authMiddleware])
1494
- }) : null
1495
- });
1496
- const projectClientsAsync = createDerivedAsyncStore({
1497
- source: config.store,
1498
- // Keyed on baseUrl + projectId only — a rotation (new credential, same project) must not rebuild.
1499
- dependsOn: (state) => state.status === "scoped" ? { baseUrl: state.baseUrl, projectId: state.projectId } : null,
1500
- build: ({ baseUrl, projectId }) => {
1501
- return createProjectClients({
1502
- baseUrl,
1503
- authMiddleware,
1504
- projectId,
1505
- middlewareFor,
1506
- clientServiceUrls: options.clientServiceUrls
1507
- });
1508
- }
1509
- });
1510
- if (options.baseUrl) config.setBaseUrl(options.baseUrl);
1511
- config.store.subscribe((state) => {
1512
- if (state.status === "anonymous") return;
1513
- persistor.persist({
1514
- baseUrl: state.baseUrl,
1515
- projectId: state.status === "scoped" ? state.projectId : null,
1516
- refreshToken: state.credential.refreshToken
1517
- });
1518
- });
1519
- const debug = () => ({
1520
- type: "Bearer",
1521
- config: config.debug(),
1522
- authReady: authClient.get() !== null,
1523
- managementReady: management.get() !== null,
1524
- storage: projectClientsAsync.store.get().state
1525
- });
1526
- const session = {
1527
- hasPersistedValue: persistor.hasPersistedValue,
1528
- setBaseUrl: config.setBaseUrl,
1529
- isStorageReady: () => projectClientsAsync.store.get().state === "ready",
1530
- authenticate: (tokens) => config.authenticate(tokens),
1531
- setProject: config.setProjectId,
1532
- setProjectAsync: async (projectId) => {
1533
- config.setProjectId(projectId);
1534
- await projectClientsAsync.settled();
1535
- },
1536
- /**
1537
- * Leave the current project but stay signed in — the storage build returns to `idle`, so a
1538
- * consumer gating on it falls back to its project picker. The persisted session is rewritten with
1539
- * `projectId: null` by the subscription above, so a reload lands on the picker rather than
1540
- * re-entering the project. Use `reset` to sign out instead.
1541
- */
1542
- clearProject: config.clearProjectId,
1543
- reset: signOut,
1544
- /**
1545
- * Dev/test only: mark the current access token as expired so the bearer credential rotates it on
1546
- * the next request. Pair with any authenticated call (e.g. `api.storage.tokens.verify()`) to force
1547
- * the rotation immediately and observe the new credential.
1548
- */
1549
- debugForceRefresh: config.forceExpire,
1550
- restore: async () => {
1551
- const persisted = persistor.hydrate();
1552
- if (!persisted.refreshToken || !persisted.baseUrl) return { status: "empty" };
1553
- const configured = config.getBaseUrl();
1554
- if (configured && configured !== persisted.baseUrl) {
1555
- persistor.clear();
1556
- return { status: "empty" };
1557
- }
1558
- if (!configured) config.setBaseUrl(persisted.baseUrl);
1559
- const client = authClientBare.get();
1560
- assert2(client, KeboolaErrorType.NotReady);
1561
- try {
1562
- const refreshed = await client.token.refresh(persisted.refreshToken);
1563
- config.authenticate(refreshed);
1564
- if (persisted.projectId !== null) {
1565
- config.setProjectId(persisted.projectId);
1566
- await projectClientsAsync.settled();
1567
- }
1568
- return { status: "restored" };
1569
- } catch (err) {
1570
- if (isUnauthorized(err)) {
1571
- persistor.clear();
1572
- return { status: "expired" };
1573
- }
1574
- throw err;
1575
- }
1576
- },
1577
- subscribe: (listener) => {
1578
- const unsubscribeConfig = config.store.subscribe(() => listener(debug()));
1579
- const unsubscribeBuild = projectClientsAsync.store.subscribe(() => listener(debug()));
1580
- return () => {
1581
- unsubscribeConfig();
1582
- unsubscribeBuild();
1583
- };
1584
- },
1585
- debug
1586
- };
1587
- const api = createApi({
1588
- getAuthClient: () => authClient.get(),
1589
- getManagementClient: () => management.get(),
1590
- getProjectClients: () => {
1591
- const state = projectClientsAsync.store.get();
1592
- return state.state === "ready" ? state.value : null;
1593
- }
1594
- });
1595
- return { api, session };
1377
+ //#endregion
1378
+ //#region src/keboola/bearer/keboola.ts
1379
+ const createKeboola = (options = {}) => {
1380
+ const persistor = createSessionPersistor(options.storage);
1381
+ const config = createConfig$1();
1382
+ const middlewareFor = createMiddlewareFor(options.middlewares);
1383
+ const retryContention = createRetryMiddleware({ shouldRetry: (error) => error instanceof require_createFetchClient.ApiError && error.response.status === require_createFetchClient.HttpStatus.SERVICE_UNAVAILABLE });
1384
+ const authClientBare = require_createStore.createDerivedStore({
1385
+ source: config.store,
1386
+ dependsOn: (state) => state.baseUrl,
1387
+ build: (baseUrl) => baseUrl ? require_authClient.createAuthClient({
1388
+ baseUrl,
1389
+ middlewares: middlewareFor("auth", [retryContention])
1390
+ }) : null
1391
+ });
1392
+ const refresh = async () => {
1393
+ const client = authClientBare.get();
1394
+ assert$1(client, KeboolaErrorType.NotReady);
1395
+ const refreshed = await client.token.refresh(config.requireCredential().refreshToken);
1396
+ config.applyRefresh(refreshed);
1397
+ return refreshed.accessToken;
1398
+ };
1399
+ const getToken = () => {
1400
+ const state = config.store.get();
1401
+ if (state.status === "anonymous") return null;
1402
+ const { accessToken, issuedAt, expiresIn } = state.credential;
1403
+ return {
1404
+ accessToken,
1405
+ timing: {
1406
+ issuedAt,
1407
+ expiresIn
1408
+ }
1409
+ };
1410
+ };
1411
+ const signOut = () => {
1412
+ config.reset();
1413
+ persistor.clear();
1414
+ };
1415
+ const onSessionExpired = () => {
1416
+ if (config.notifyExpired()) signOut();
1417
+ };
1418
+ const credential = require_credential.createBearerCredential({
1419
+ refresh,
1420
+ getToken,
1421
+ onSessionExpired
1422
+ });
1423
+ const authMiddleware = createBearerAuthMiddleware(credential);
1424
+ const authClient = require_createStore.createDerivedStore({
1425
+ source: config.store,
1426
+ dependsOn: (state) => state.baseUrl,
1427
+ build: (baseUrl) => baseUrl ? require_authClient.createAuthClient({
1428
+ baseUrl,
1429
+ middlewares: middlewareFor("auth", [retryContention, authMiddleware])
1430
+ }) : null
1431
+ });
1432
+ const management = require_createStore.createDerivedStore({
1433
+ source: config.store,
1434
+ dependsOn: (state) => state.status === "anonymous" ? null : state.baseUrl,
1435
+ build: (baseUrl) => baseUrl ? require_management.createManagementClient({
1436
+ baseUrl,
1437
+ auth: {
1438
+ type: "bearer",
1439
+ token: ""
1440
+ },
1441
+ middlewares: middlewareFor("management", [authMiddleware])
1442
+ }) : null
1443
+ });
1444
+ const projectClientsAsync = require_createStore.createDerivedAsyncStore({
1445
+ source: config.store,
1446
+ dependsOn: (state) => state.status === "scoped" ? {
1447
+ baseUrl: state.baseUrl,
1448
+ projectId: state.projectId
1449
+ } : null,
1450
+ build: ({ baseUrl, projectId }) => {
1451
+ return createProjectClients$1({
1452
+ baseUrl,
1453
+ authMiddleware,
1454
+ projectId,
1455
+ middlewareFor,
1456
+ clientServiceUrls: options.clientServiceUrls
1457
+ });
1458
+ }
1459
+ });
1460
+ if (options.baseUrl) config.setBaseUrl(options.baseUrl);
1461
+ config.store.subscribe((state) => {
1462
+ if (state.status === "anonymous") return;
1463
+ persistor.persist({
1464
+ baseUrl: state.baseUrl,
1465
+ projectId: state.status === "scoped" ? state.projectId : null,
1466
+ refreshToken: state.credential.refreshToken
1467
+ });
1468
+ });
1469
+ const debug = () => ({
1470
+ type: "Bearer",
1471
+ config: config.debug(),
1472
+ authReady: authClient.get() !== null,
1473
+ managementReady: management.get() !== null,
1474
+ storage: projectClientsAsync.store.get().state
1475
+ });
1476
+ const session = {
1477
+ hasPersistedValue: persistor.hasPersistedValue,
1478
+ setBaseUrl: config.setBaseUrl,
1479
+ isStorageReady: () => projectClientsAsync.store.get().state === "ready",
1480
+ authenticate: (tokens) => config.authenticate(tokens),
1481
+ setProject: config.setProjectId,
1482
+ setProjectAsync: async (projectId) => {
1483
+ config.setProjectId(projectId);
1484
+ await projectClientsAsync.settled();
1485
+ },
1486
+ /**
1487
+ * Leave the current project but stay signed in — the storage build returns to `idle`, so a
1488
+ * consumer gating on it falls back to its project picker. The persisted session is rewritten with
1489
+ * `projectId: null` by the subscription above, so a reload lands on the picker rather than
1490
+ * re-entering the project. Use `reset` to sign out instead.
1491
+ */
1492
+ clearProject: config.clearProjectId,
1493
+ reset: signOut,
1494
+ /**
1495
+ * Dev/test only: mark the current access token as expired so the bearer credential rotates it on
1496
+ * the next request. Pair with any authenticated call (e.g. `api.storage.tokens.verify()`) to force
1497
+ * the rotation immediately and observe the new credential.
1498
+ */
1499
+ debugForceRefresh: config.forceExpire,
1500
+ restore: async () => {
1501
+ const persisted = persistor.hydrate();
1502
+ if (!persisted.refreshToken || !persisted.baseUrl) return { status: "empty" };
1503
+ const configured = config.getBaseUrl();
1504
+ if (configured && configured !== persisted.baseUrl) {
1505
+ persistor.clear();
1506
+ return { status: "empty" };
1507
+ }
1508
+ if (!configured) config.setBaseUrl(persisted.baseUrl);
1509
+ const client = authClientBare.get();
1510
+ assert$1(client, KeboolaErrorType.NotReady);
1511
+ try {
1512
+ const refreshed = await client.token.refresh(persisted.refreshToken);
1513
+ config.authenticate(refreshed);
1514
+ if (persisted.projectId !== null) {
1515
+ config.setProjectId(persisted.projectId);
1516
+ await projectClientsAsync.settled();
1517
+ }
1518
+ return { status: "restored" };
1519
+ } catch (err) {
1520
+ if (require_credential.isUnauthorized(err)) {
1521
+ persistor.clear();
1522
+ return { status: "expired" };
1523
+ }
1524
+ throw err;
1525
+ }
1526
+ },
1527
+ subscribe: (listener) => {
1528
+ const unsubscribeConfig = config.store.subscribe(() => listener(debug()));
1529
+ const unsubscribeBuild = projectClientsAsync.store.subscribe(() => listener(debug()));
1530
+ return () => {
1531
+ unsubscribeConfig();
1532
+ unsubscribeBuild();
1533
+ };
1534
+ },
1535
+ debug
1536
+ };
1537
+ return {
1538
+ api: createApi({
1539
+ getAuthClient: () => authClient.get(),
1540
+ getManagementClient: () => management.get(),
1541
+ getProjectClients: () => {
1542
+ const state = projectClientsAsync.store.get();
1543
+ return state.state === "ready" ? state.value : null;
1544
+ }
1545
+ }),
1546
+ session
1547
+ };
1596
1548
  };
1597
-
1598
- // src/keboola/legacy/createConfig.ts
1599
- var createConfig2 = () => {
1600
- const store = createStore({ baseUrl: null, sapiToken: null, managementToken: null });
1601
- const setBaseUrl = (baseUrl) => {
1602
- store.set({ ...store.get(), baseUrl });
1603
- };
1604
- const authenticate = (tokens) => {
1605
- const current = store.get();
1606
- store.set({
1607
- ...current,
1608
- sapiToken: tokens.sapiToken ?? current.sapiToken,
1609
- managementToken: tokens.managementToken ?? current.managementToken
1610
- });
1611
- };
1612
- const getStorageToken = () => store.get().sapiToken ?? "";
1613
- const setStorageToken = (sapiToken) => store.set({ ...store.get(), sapiToken });
1614
- const debug = () => store.get();
1615
- return { store, setBaseUrl, authenticate, getStorageToken, setStorageToken, debug };
1549
+ //#endregion
1550
+ //#region src/keboola/legacy/createConfig.ts
1551
+ const createConfig = () => {
1552
+ const store = require_createStore.createStore({
1553
+ baseUrl: null,
1554
+ sapiToken: null,
1555
+ managementToken: null
1556
+ });
1557
+ const setBaseUrl = (baseUrl) => {
1558
+ store.set({
1559
+ ...store.get(),
1560
+ baseUrl
1561
+ });
1562
+ };
1563
+ const authenticate = (tokens) => {
1564
+ const current = store.get();
1565
+ store.set({
1566
+ ...current,
1567
+ sapiToken: tokens.sapiToken ?? current.sapiToken,
1568
+ managementToken: tokens.managementToken ?? current.managementToken
1569
+ });
1570
+ };
1571
+ const getStorageToken = () => store.get().sapiToken ?? "";
1572
+ const setStorageToken = (sapiToken) => store.set({
1573
+ ...store.get(),
1574
+ sapiToken
1575
+ });
1576
+ /** Current state, for diagnostics. */
1577
+ const debug = () => store.get();
1578
+ return {
1579
+ store,
1580
+ setBaseUrl,
1581
+ authenticate,
1582
+ getStorageToken,
1583
+ setStorageToken,
1584
+ debug
1585
+ };
1616
1586
  };
1617
-
1618
- // src/keboola/legacy/createProjectClients.ts
1619
- var createAttachStorageToken = (getToken) => (next) => (request) => {
1620
- request.request.headers.set(chunkMMOAH3EH_cjs.KeboolaHttpHeader.STORAGE_API_TOKEN, getToken());
1621
- return next(request);
1587
+ //#endregion
1588
+ //#region src/keboola/legacy/createProjectClients.ts
1589
+ const createAttachStorageToken = (getToken) => (next) => (request) => {
1590
+ request.request.headers.set(require_createFetchClient.KeboolaHttpHeader.STORAGE_API_TOKEN, getToken());
1591
+ return next(request);
1622
1592
  };
1623
- var createProjectClients2 = async ({
1624
- baseUrl,
1625
- getStorageToken,
1626
- onStorageTokenRefreshed,
1627
- middlewareFor,
1628
- clientServiceUrls
1629
- }) => {
1630
- const auth = { type: "sapi-token", token: getStorageToken() };
1631
- const attach = createAttachStorageToken(getStorageToken);
1632
- const _storage = chunkZ3HZ4MP4_cjs.createStorageClient({ baseUrl, auth, middlewares: [attach] });
1633
- const [stackInfo, sapiToken, devBranches] = await Promise.all([
1634
- _storage.getStackInfo({ exclude: "componentDetails" }),
1635
- _storage.tokens.verify(),
1636
- _storage.branches.getDevBranches()
1637
- ]);
1638
- const stack = createStack({ stackInfo, clientServiceUrls });
1639
- const defaultBranch = createDefaultBranch({ devBranches });
1640
- const liveProject = createLiveProject({
1641
- initialToken: sapiToken,
1642
- verify: () => _storage.tokens.verify()
1643
- });
1644
- const storageTableStore = createDerivedStore({
1645
- source: liveProject.store,
1646
- build: chunkUUY6LQT6_cjs.createStorageTable,
1647
- dependsOn: (project) => ({
1648
- useLegacyBucketPrefix: !project.hasFeature(chunkHITKHHWN_cjs.ProjectFeature.DisableLegacyBucketPrefix),
1649
- hasProtectedDefaultBranch: project.hasFeature(chunkHITKHHWN_cjs.ProjectFeature.SoxProtectedDefaultBranch),
1650
- hasStorageBranches: project.hasFeature(chunkHITKHHWN_cjs.ProjectFeature.StorageBranches)
1651
- })
1652
- });
1653
- const context = {
1654
- baseUrl: chunkMMOAH3EH_cjs.normalizeBaseUrl(baseUrl),
1655
- stack,
1656
- defaultBranch,
1657
- get project() {
1658
- return liveProject.getProject();
1659
- },
1660
- get st() {
1661
- return storageTableStore.get();
1662
- }
1663
- };
1664
- const storage = chunkZ3HZ4MP4_cjs.createStorageClient({
1665
- baseUrl,
1666
- auth,
1667
- middlewares: middlewareFor("storage", [liveProject.middleware]),
1668
- onRefreshToken: onStorageTokenRefreshed
1669
- });
1670
- const { client: services, meta: serviceMeta } = createServiceClients({
1671
- baseUrl,
1672
- auth,
1673
- getServiceBaseUrl: context.stack.getServiceUrl,
1674
- middlewareFor,
1675
- attachTokenMiddleware: attach
1676
- });
1677
- const sdk = {
1678
- configuration: chunkIAYPOSMM_cjs.createConfigurationSdk({
1679
- storageClient: storage,
1680
- encryptionClient: services.encryption,
1681
- context
1682
- }),
1683
- tag: chunkFRLSKIUI_cjs.createTagSdk({ metastoreClient: services.metastore }),
1684
- semanticLayer: chunkKUYVBCUM_cjs.createSemanticLayerSdk({ metastoreClient: services.metastore }),
1685
- storage: chunkF6ZAYTBX_cjs.createStorageSdk({ storageClient: storage }),
1686
- vault: chunkEYIPM2XB_cjs.createVaultSdk({ vaultClient: services.vault, encryptionClient: services.encryption }),
1687
- variables: createVariablesSdk({ storageClient: storage })
1688
- };
1689
- return { context, serviceMeta, storage, ...services, sdk };
1593
+ const createProjectClients = async ({ baseUrl, getStorageToken, onStorageTokenRefreshed, middlewareFor, clientServiceUrls }) => {
1594
+ const auth = {
1595
+ type: "sapi-token",
1596
+ token: getStorageToken()
1597
+ };
1598
+ const attach = createAttachStorageToken(getStorageToken);
1599
+ const _storage = require_storage.createStorageClient({
1600
+ baseUrl,
1601
+ auth,
1602
+ middlewares: [attach]
1603
+ });
1604
+ const [stackInfo, sapiToken, devBranches] = await Promise.all([
1605
+ _storage.getStackInfo({ exclude: "componentDetails" }),
1606
+ _storage.tokens.verify(),
1607
+ _storage.branches.getDevBranches()
1608
+ ]);
1609
+ const stack = createStack({
1610
+ stackInfo,
1611
+ clientServiceUrls
1612
+ });
1613
+ const defaultBranch = createDefaultBranch({ devBranches });
1614
+ const liveProject = createLiveProject({
1615
+ initialToken: sapiToken,
1616
+ verify: () => _storage.tokens.verify()
1617
+ });
1618
+ const storageTableStore = require_createStore.createDerivedStore({
1619
+ source: liveProject.store,
1620
+ build: require_storageTable.createStorageTable,
1621
+ dependsOn: (project) => ({
1622
+ useLegacyBucketPrefix: !project.hasFeature(require_constants.ProjectFeature.DisableLegacyBucketPrefix),
1623
+ hasProtectedDefaultBranch: project.hasFeature(require_constants.ProjectFeature.SoxProtectedDefaultBranch),
1624
+ hasStorageBranches: project.hasFeature(require_constants.ProjectFeature.StorageBranches)
1625
+ })
1626
+ });
1627
+ const context = {
1628
+ baseUrl: require_createFetchClient.normalizeBaseUrl(baseUrl),
1629
+ stack,
1630
+ defaultBranch,
1631
+ get project() {
1632
+ return liveProject.getProject();
1633
+ },
1634
+ get st() {
1635
+ return storageTableStore.get();
1636
+ }
1637
+ };
1638
+ const storage = require_storage.createStorageClient({
1639
+ baseUrl,
1640
+ auth,
1641
+ middlewares: middlewareFor("storage", [liveProject.middleware]),
1642
+ onRefreshToken: onStorageTokenRefreshed
1643
+ });
1644
+ const { client: services, meta: serviceMeta } = createServiceClients({
1645
+ baseUrl,
1646
+ auth,
1647
+ getServiceBaseUrl: context.stack.getServiceUrl,
1648
+ middlewareFor,
1649
+ attachTokenMiddleware: attach
1650
+ });
1651
+ const sdk = {
1652
+ configuration: require_configurations.createConfigurationSdk({
1653
+ storageClient: storage,
1654
+ encryptionClient: services.encryption,
1655
+ context
1656
+ }),
1657
+ tag: require_tag.createTagSdk({ metastoreClient: services.metastore }),
1658
+ semanticLayer: require_sdk_semanticLayer_index.createSemanticLayerSdk({ metastoreClient: services.metastore }),
1659
+ storage: require_sdk_storage_index.createStorageSdk({ storageClient: storage }),
1660
+ vault: require_sdk_vault_index.createVaultSdk({
1661
+ vaultClient: services.vault,
1662
+ encryptionClient: services.encryption
1663
+ }),
1664
+ variables: createVariablesSdk({ storageClient: storage })
1665
+ };
1666
+ return {
1667
+ context,
1668
+ serviceMeta,
1669
+ storage,
1670
+ ...services,
1671
+ sdk
1672
+ };
1690
1673
  };
1691
-
1692
- // src/keboola/legacy/keboola.ts
1693
- var createLegacyKeboola = (options = {}) => {
1694
- const config = createConfig2();
1695
- const middlewareFor = createMiddlewareFor(options.middlewares);
1696
- const authClient = createDerivedStore({
1697
- source: config.store,
1698
- dependsOn: (state) => state.baseUrl,
1699
- build: (baseUrl) => baseUrl ? chunkDRNOCC6W_cjs.createAuthClient({ baseUrl, middlewares: middlewareFor("auth", []) }) : null
1700
- });
1701
- const management = createDerivedStore({
1702
- source: config.store,
1703
- dependsOn: (state) => ({ baseUrl: state.baseUrl, token: state.managementToken }),
1704
- build: ({ baseUrl, token }) => baseUrl ? chunkHY7J3OD3_cjs.createManagementClient({
1705
- baseUrl,
1706
- auth: token ? { type: "management-token", token } : { type: "management-token" },
1707
- middlewares: middlewareFor("management", [])
1708
- }) : null
1709
- });
1710
- const build = createDerivedAsyncStore({
1711
- source: config.store,
1712
- dependsOn: (state) => state.sapiToken && state.baseUrl ? state.baseUrl : null,
1713
- build: (baseUrl) => createProjectClients2({
1714
- baseUrl,
1715
- getStorageToken: config.getStorageToken,
1716
- onStorageTokenRefreshed: config.setStorageToken,
1717
- middlewareFor,
1718
- clientServiceUrls: options.clientServiceUrls
1719
- })
1720
- });
1721
- if (options.baseUrl) config.setBaseUrl(options.baseUrl);
1722
- const debug = () => {
1723
- const info = config.debug();
1724
- return {
1725
- type: "Sapi",
1726
- config: info,
1727
- authReady: authClient.get() !== null,
1728
- managementReady: !!info.managementToken,
1729
- storage: build.store.get().state
1730
- };
1731
- };
1732
- const session = {
1733
- setBaseUrl: config.setBaseUrl,
1734
- isStorageReady: () => build.store.get().state === "ready",
1735
- authenticateStorage: (sapiToken) => config.authenticate({ sapiToken }),
1736
- authenticateStorageAsync: async (sapiToken) => {
1737
- config.authenticate({ sapiToken });
1738
- await build.settled();
1739
- },
1740
- authenticateManagement: (managementToken) => config.authenticate({ managementToken }),
1741
- subscribe: (listener) => {
1742
- const unsubscribeConfig = config.store.subscribe(() => listener(debug()));
1743
- const unsubscribeBuild = build.store.subscribe(() => listener(debug()));
1744
- return () => {
1745
- unsubscribeConfig();
1746
- unsubscribeBuild();
1747
- };
1748
- },
1749
- debug
1750
- };
1751
- const api = createApi({
1752
- getAuthClient: () => authClient.get(),
1753
- getManagementClient: () => management.get(),
1754
- getProjectClients: () => {
1755
- const state = build.store.get();
1756
- return state.state === "ready" ? state.value : null;
1757
- }
1758
- });
1759
- return { api, session };
1674
+ //#endregion
1675
+ //#region src/keboola/legacy/keboola.ts
1676
+ const createLegacyKeboola = (options = {}) => {
1677
+ const config = createConfig();
1678
+ const middlewareFor = createMiddlewareFor(options.middlewares);
1679
+ const authClient = require_createStore.createDerivedStore({
1680
+ source: config.store,
1681
+ dependsOn: (state) => state.baseUrl,
1682
+ build: (baseUrl) => baseUrl ? require_authClient.createAuthClient({
1683
+ baseUrl,
1684
+ middlewares: middlewareFor("auth", [])
1685
+ }) : null
1686
+ });
1687
+ const management = require_createStore.createDerivedStore({
1688
+ source: config.store,
1689
+ dependsOn: (state) => ({
1690
+ baseUrl: state.baseUrl,
1691
+ token: state.managementToken
1692
+ }),
1693
+ build: ({ baseUrl, token }) => baseUrl ? require_management.createManagementClient({
1694
+ baseUrl,
1695
+ auth: token ? {
1696
+ type: "management-token",
1697
+ token
1698
+ } : { type: "management-token" },
1699
+ middlewares: middlewareFor("management", [])
1700
+ }) : null
1701
+ });
1702
+ const build = require_createStore.createDerivedAsyncStore({
1703
+ source: config.store,
1704
+ dependsOn: (state) => state.sapiToken && state.baseUrl ? state.baseUrl : null,
1705
+ build: (baseUrl) => createProjectClients({
1706
+ baseUrl,
1707
+ getStorageToken: config.getStorageToken,
1708
+ onStorageTokenRefreshed: config.setStorageToken,
1709
+ middlewareFor,
1710
+ clientServiceUrls: options.clientServiceUrls
1711
+ })
1712
+ });
1713
+ if (options.baseUrl) config.setBaseUrl(options.baseUrl);
1714
+ const debug = () => {
1715
+ const info = config.debug();
1716
+ return {
1717
+ type: "Sapi",
1718
+ config: info,
1719
+ authReady: authClient.get() !== null,
1720
+ managementReady: !!info.managementToken,
1721
+ storage: build.store.get().state
1722
+ };
1723
+ };
1724
+ const session = {
1725
+ setBaseUrl: config.setBaseUrl,
1726
+ isStorageReady: () => build.store.get().state === "ready",
1727
+ authenticateStorage: (sapiToken) => config.authenticate({ sapiToken }),
1728
+ authenticateStorageAsync: async (sapiToken) => {
1729
+ config.authenticate({ sapiToken });
1730
+ await build.settled();
1731
+ },
1732
+ authenticateManagement: (managementToken) => config.authenticate({ managementToken }),
1733
+ subscribe: (listener) => {
1734
+ const unsubscribeConfig = config.store.subscribe(() => listener(debug()));
1735
+ const unsubscribeBuild = build.store.subscribe(() => listener(debug()));
1736
+ return () => {
1737
+ unsubscribeConfig();
1738
+ unsubscribeBuild();
1739
+ };
1740
+ },
1741
+ debug
1742
+ };
1743
+ return {
1744
+ api: createApi({
1745
+ getAuthClient: () => authClient.get(),
1746
+ getManagementClient: () => management.get(),
1747
+ getProjectClients: () => {
1748
+ const state = build.store.get();
1749
+ return state.state === "ready" ? state.value : null;
1750
+ }
1751
+ }),
1752
+ session
1753
+ };
1760
1754
  };
1761
-
1762
- Object.defineProperty(exports, "isEmptyDeep", {
1763
- enumerable: true,
1764
- get: function () { return chunkIAYPOSMM_cjs.isEmptyDeep; }
1765
- });
1766
- Object.defineProperty(exports, "schemaGuidedMerge", {
1767
- enumerable: true,
1768
- get: function () { return chunkIAYPOSMM_cjs.schemaGuidedMerge; }
1769
- });
1770
- Object.defineProperty(exports, "keboolaUID", {
1771
- enumerable: true,
1772
- get: function () { return chunkFRLSKIUI_cjs.keboolaUID; }
1773
- });
1774
- Object.defineProperty(exports, "generateUUID", {
1775
- enumerable: true,
1776
- get: function () { return chunkEWMXK3EI_cjs.generateUUID; }
1777
- });
1778
- Object.defineProperty(exports, "PollException", {
1779
- enumerable: true,
1780
- get: function () { return chunkF6ZAYTBX_cjs.PollException; }
1781
- });
1782
- Object.defineProperty(exports, "createStorageSdk", {
1783
- enumerable: true,
1784
- get: function () { return chunkF6ZAYTBX_cjs.createStorageSdk; }
1785
- });
1786
- Object.defineProperty(exports, "delay", {
1787
- enumerable: true,
1788
- get: function () { return chunkF6ZAYTBX_cjs.delay; }
1789
- });
1790
- Object.defineProperty(exports, "poll", {
1791
- enumerable: true,
1792
- get: function () { return chunkF6ZAYTBX_cjs.poll; }
1793
- });
1794
- Object.defineProperty(exports, "ServiceUnavailableError", {
1795
- enumerable: true,
1796
- get: function () { return chunkZ3HZ4MP4_cjs.ServiceUnavailableError; }
1797
- });
1798
- Object.defineProperty(exports, "series", {
1799
- enumerable: true,
1800
- get: function () { return chunkZ3HZ4MP4_cjs.series; }
1801
- });
1802
- Object.defineProperty(exports, "SyncActionError", {
1803
- enumerable: true,
1804
- get: function () { return chunkN4COL54U_cjs.SyncActionError; }
1805
- });
1806
- Object.defineProperty(exports, "isSyncActionError", {
1807
- enumerable: true,
1808
- get: function () { return chunkN4COL54U_cjs.isSyncActionError; }
1809
- });
1810
- Object.defineProperty(exports, "UserError", {
1811
- enumerable: true,
1812
- get: function () { return chunkRRC5RKF7_cjs.UserError; }
1813
- });
1814
- Object.defineProperty(exports, "dedupe", {
1815
- enumerable: true,
1816
- get: function () { return chunkHY7J3OD3_cjs.dedupe; }
1817
- });
1818
- Object.defineProperty(exports, "isManagementClientAuthError", {
1819
- enumerable: true,
1820
- get: function () { return chunkHY7J3OD3_cjs.isManagementClientAuthError; }
1821
- });
1822
- Object.defineProperty(exports, "ManagementClientAuthError", {
1823
- enumerable: true,
1824
- get: function () { return chunkCWCUQACX_cjs.ManagementClientAuthError; }
1825
- });
1826
- Object.defineProperty(exports, "concurrent", {
1827
- enumerable: true,
1828
- get: function () { return chunkFMS5PNM2_cjs.concurrent; }
1829
- });
1830
- Object.defineProperty(exports, "collect", {
1831
- enumerable: true,
1832
- get: function () { return chunkLIXSIM3H_cjs.collect; }
1833
- });
1834
- Object.defineProperty(exports, "parseLogLines", {
1835
- enumerable: true,
1836
- get: function () { return chunkL262THNK_cjs.parseLogLines; }
1837
- });
1838
- Object.defineProperty(exports, "isPlainObject", {
1839
- enumerable: true,
1840
- get: function () { return chunkMRHQJNWF_cjs.isPlainObject; }
1841
- });
1842
- Object.defineProperty(exports, "ApiError", {
1843
- enumerable: true,
1844
- get: function () { return chunkMMOAH3EH_cjs.ApiError; }
1845
- });
1846
- Object.defineProperty(exports, "HttpContentType", {
1847
- enumerable: true,
1848
- get: function () { return chunkMMOAH3EH_cjs.HttpContentType; }
1849
- });
1850
- Object.defineProperty(exports, "HttpHeader", {
1851
- enumerable: true,
1852
- get: function () { return chunkMMOAH3EH_cjs.HttpHeader; }
1853
- });
1854
- Object.defineProperty(exports, "KeboolaHttpHeader", {
1855
- enumerable: true,
1856
- get: function () { return chunkMMOAH3EH_cjs.KeboolaHttpHeader; }
1857
- });
1858
- Object.defineProperty(exports, "createGenericFetchClient", {
1859
- enumerable: true,
1860
- get: function () { return chunkMMOAH3EH_cjs.createGenericFetchClient; }
1861
- });
1862
- Object.defineProperty(exports, "isAbortError", {
1863
- enumerable: true,
1864
- get: function () { return chunkMMOAH3EH_cjs.isAbortError; }
1865
- });
1866
- Object.defineProperty(exports, "isApiError", {
1867
- enumerable: true,
1868
- get: function () { return chunkMMOAH3EH_cjs.isApiError; }
1869
- });
1870
- Object.defineProperty(exports, "isFetchClientError", {
1871
- enumerable: true,
1872
- get: function () { return chunkMMOAH3EH_cjs.isFetchClientError; }
1873
- });
1755
+ //#endregion
1756
+ exports.ApiError = require_createFetchClient.ApiError;
1757
+ exports.HttpContentType = require_createFetchClient.HttpContentType;
1758
+ exports.HttpHeader = require_createFetchClient.HttpHeader;
1874
1759
  exports.KeboolaError = KeboolaError;
1875
1760
  exports.KeboolaErrorType = KeboolaErrorType;
1761
+ exports.KeboolaHttpHeader = require_createFetchClient.KeboolaHttpHeader;
1762
+ exports.ManagementClientAuthError = require_ManagementClientAuthError.ManagementClientAuthError;
1763
+ exports.QueryJobError = require_QueryJobTimeoutError.QueryJobError;
1764
+ exports.QueryJobTimeoutError = require_QueryJobTimeoutError.QueryJobTimeoutError;
1765
+ exports.Result = require_jobStatus.Result;
1766
+ exports.ServiceUnavailableError = require_storage.ServiceUnavailableError;
1767
+ exports.SyncActionError = require_SyncActionError.SyncActionError;
1768
+ exports.UserError = require_UserError.UserError;
1769
+ exports.ValidationError = require_ValidationError.ValidationError;
1770
+ exports.asError = require_jobStatus.asError;
1876
1771
  exports.assert = assert;
1877
1772
  exports.coalesce = coalesce;
1878
- exports.createDerivedAsyncStore = createDerivedAsyncStore;
1879
- exports.createDerivedStore = createDerivedStore;
1773
+ exports.collect = require_queue.collect;
1774
+ exports.concurrent = require_concurrent.concurrent;
1775
+ exports.createDerivedAsyncStore = require_createStore.createDerivedAsyncStore;
1776
+ exports.createDerivedStore = require_createStore.createDerivedStore;
1777
+ exports.createEmitter = require_createStore.createEmitter;
1778
+ exports.createGenericFetchClient = require_createGenericFetchClient.createGenericFetchClient;
1880
1779
  exports.createKeboola = createKeboola;
1881
1780
  exports.createLegacyKeboola = createLegacyKeboola;
1882
1781
  exports.createLocalStorage = createLocalStorage;
@@ -1884,12 +1783,39 @@ exports.createLoggingMiddleware = createLoggingMiddleware;
1884
1783
  exports.createMemoryStorage = createMemoryStorage;
1885
1784
  exports.createNullStorage = createNullStorage;
1886
1785
  exports.createPersistor = createPersistor;
1786
+ exports.createPollRegistry = createPollRegistry;
1787
+ exports.createQueryServiceSdk = require_sdk_queryService_index.createQueryServiceSdk;
1887
1788
  exports.createRetryMiddleware = createRetryMiddleware;
1888
1789
  exports.createSessionStorage = createSessionStorage;
1889
- exports.createStore = createStore;
1790
+ exports.createStorageSdk = require_sdk_storage_index.createStorageSdk;
1791
+ exports.createStore = require_createStore.createStore;
1792
+ exports.dedupe = require_dedupe.dedupe;
1890
1793
  exports.deepMerge = deepMerge;
1794
+ exports.delay = require_jobStatus.delay;
1795
+ exports.emitter = require_jobStatus.emitter;
1796
+ exports.failureOf = require_jobStatus.failureOf;
1797
+ exports.generateUUID = require_generateUUID.generateUUID;
1798
+ exports.isAbortError = require_createFetchClient.isAbortError;
1799
+ exports.isApiError = require_createFetchClient.isApiError;
1800
+ exports.isEmptyDeep = require_configurations.isEmptyDeep;
1801
+ exports.isFetchClientError = require_createFetchClient.isFetchClientError;
1891
1802
  exports.isKeboolaError = isKeboolaError;
1803
+ exports.isManagementClientAuthError = require_management.isManagementClientAuthError;
1804
+ exports.isPlainObject = require_isPlainObject.isPlainObject;
1805
+ exports.isQueryJobError = require_QueryJobTimeoutError.isQueryJobError;
1806
+ exports.isQueryJobTimeoutError = require_QueryJobTimeoutError.isQueryJobTimeoutError;
1892
1807
  exports.isStorageTokenMutatingRequest = isStorageTokenMutatingRequest;
1893
- exports.shallowEqual = shallowEqual;
1894
- //# sourceMappingURL=index.cjs.map
1808
+ exports.isSyncActionError = require_SyncActionError.isSyncActionError;
1809
+ exports.isValidationError = require_ValidationError.isValidationError;
1810
+ exports.jobStatus = require_jobStatus.jobStatus;
1811
+ exports.keboolaUID = require_tag.keboolaUID;
1812
+ exports.lazy = require_jobStatus.lazy;
1813
+ exports.parseLogLines = require_appLogs.parseLogLines;
1814
+ exports.parseOrThrow = require_ValidationError.parseOrThrow;
1815
+ exports.poll = require_jobStatus.poll;
1816
+ exports.poller = require_jobStatus.poller;
1817
+ exports.schemaGuidedMerge = require_configurations.schemaGuidedMerge;
1818
+ exports.series = require_storage.series;
1819
+ exports.shallowEqual = require_createStore.shallowEqual;
1820
+
1895
1821
  //# sourceMappingURL=index.cjs.map