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