@keboola/api-client 25.0.0 → 29.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (812) hide show
  1. package/AGENTS.md +623 -0
  2. package/API-SURFACE.md +133 -57
  3. package/README.md +81 -42
  4. package/dist/ManagementClientAuthError-B97OtOQ7.js +15 -0
  5. package/dist/ManagementClientAuthError-B97OtOQ7.js.map +1 -0
  6. package/dist/ManagementClientAuthError-ZJ2-RoKT.cjs +20 -0
  7. package/dist/ManagementClientAuthError-ZJ2-RoKT.cjs.map +1 -0
  8. package/dist/QueryJobTimeoutError-C7JbNGOM.js +38 -0
  9. package/dist/QueryJobTimeoutError-C7JbNGOM.js.map +1 -0
  10. package/dist/QueryJobTimeoutError-CVNPdCWX.cjs +61 -0
  11. package/dist/QueryJobTimeoutError-CVNPdCWX.cjs.map +1 -0
  12. package/dist/SyncActionError-BG0zwchi.cjs +35 -0
  13. package/dist/SyncActionError-BG0zwchi.cjs.map +1 -0
  14. package/dist/SyncActionError-CoZFsdUk.js +24 -0
  15. package/dist/SyncActionError-CoZFsdUk.js.map +1 -0
  16. package/dist/UserError-By_Zckmc.js +10 -0
  17. package/dist/UserError-By_Zckmc.js.map +1 -0
  18. package/dist/UserError-CSGO1qII.cjs +15 -0
  19. package/dist/UserError-CSGO1qII.cjs.map +1 -0
  20. package/dist/ValidationError-CzPWydEb.js +44 -0
  21. package/dist/ValidationError-CzPWydEb.js.map +1 -0
  22. package/dist/ValidationError-h5qvwahi.cjs +61 -0
  23. package/dist/ValidationError-h5qvwahi.cjs.map +1 -0
  24. package/dist/adminRoles-B40yBcmq.js +14 -0
  25. package/dist/adminRoles-B40yBcmq.js.map +1 -0
  26. package/dist/adminRoles-C696kD_U.d.cts +14 -0
  27. package/dist/adminRoles-C696kD_U.d.ts +14 -0
  28. package/dist/adminRoles-CO7J5qAy.cjs +19 -0
  29. package/dist/adminRoles-CO7J5qAy.cjs.map +1 -0
  30. package/dist/ai/index.cjs +62 -12
  31. package/dist/ai/index.cjs.map +1 -1
  32. package/dist/ai/index.d.cts +52 -50
  33. package/dist/ai/index.d.ts +52 -50
  34. package/dist/ai/index.js +62 -4
  35. package/dist/ai/index.js.map +1 -1
  36. package/dist/ai/types.cjs +0 -4
  37. package/dist/ai/types.d.cts +2 -2
  38. package/dist/ai/types.d.ts +2 -2
  39. package/dist/ai/types.js +1 -3
  40. package/dist/appLogs-CNG3yby-.cjs +153 -0
  41. package/dist/appLogs-CNG3yby-.cjs.map +1 -0
  42. package/dist/appLogs-Dl5BcCSD.d.cts +10 -0
  43. package/dist/appLogs-VdgP08aX.d.ts +10 -0
  44. package/dist/appLogs-enL9XR9r.js +132 -0
  45. package/dist/appLogs-enL9XR9r.js.map +1 -0
  46. package/dist/apps/index.cjs +231 -0
  47. package/dist/apps/index.cjs.map +1 -0
  48. package/dist/apps/index.d.cts +248 -0
  49. package/dist/apps/index.d.ts +248 -0
  50. package/dist/apps/index.js +230 -0
  51. package/dist/apps/index.js.map +1 -0
  52. package/dist/apps/types.cjs +0 -0
  53. package/dist/apps/types.d.cts +3 -0
  54. package/dist/apps/types.d.ts +3 -0
  55. package/dist/apps/types.js +1 -0
  56. package/dist/assets/index.cjs +33 -38
  57. package/dist/assets/index.cjs.map +1 -1
  58. package/dist/assets/index.d.cts +22 -22
  59. package/dist/assets/index.d.ts +22 -22
  60. package/dist/assets/index.js +32 -36
  61. package/dist/assets/index.js.map +1 -1
  62. package/dist/assets/schema.cjs +23 -13
  63. package/dist/assets/schema.cjs.map +1 -1
  64. package/dist/assets/schema.d.cts +29 -28
  65. package/dist/assets/schema.d.ts +29 -28
  66. package/dist/assets/schema.js +21 -2
  67. package/dist/assets/schema.js.map +1 -1
  68. package/dist/auth/index.cjs +14 -53
  69. package/dist/auth/index.d.cts +2 -305
  70. package/dist/auth/index.d.ts +2 -305
  71. package/dist/auth/index.js +2 -4
  72. package/dist/auth/types.cjs +0 -4
  73. package/dist/auth/types.d.cts +2 -7
  74. package/dist/auth/types.d.ts +2 -7
  75. package/dist/auth/types.js +1 -3
  76. package/dist/auth-5HCvCsZO.cjs +18 -0
  77. package/dist/auth-5HCvCsZO.cjs.map +1 -0
  78. package/dist/auth-D2jfNlpX.js +13 -0
  79. package/dist/{chunk-EDX5D6UY.js.map → auth-D2jfNlpX.js.map} +1 -1
  80. package/dist/authClient-Bgj2Ay7h.d.cts +320 -0
  81. package/dist/authClient-DOk6VKdV.js +332 -0
  82. package/dist/authClient-DOk6VKdV.js.map +1 -0
  83. package/dist/authClient-Dsd7W99W.d.ts +320 -0
  84. package/dist/authClient-Z8Eg8rlN.cjs +405 -0
  85. package/dist/authClient-Z8Eg8rlN.cjs.map +1 -0
  86. package/dist/backends-DKBz5OxE.d.cts +9 -0
  87. package/dist/backends-DKBz5OxE.d.ts +9 -0
  88. package/dist/chat/index.cjs +134 -13
  89. package/dist/chat/index.cjs.map +1 -1
  90. package/dist/chat/index.d.cts +49 -48
  91. package/dist/chat/index.d.ts +49 -48
  92. package/dist/chat/index.js +134 -5
  93. package/dist/chat/index.js.map +1 -1
  94. package/dist/chat/suggestions.cjs +152 -74
  95. package/dist/chat/suggestions.cjs.map +1 -1
  96. package/dist/chat/suggestions.d.cts +2 -437
  97. package/dist/chat/suggestions.d.ts +2 -437
  98. package/dist/chat/suggestions.js +136 -2
  99. package/dist/chat/suggestions.js.map +1 -1
  100. package/dist/chat/types.cjs +6 -8
  101. package/dist/chat/types.cjs.map +1 -1
  102. package/dist/chat/types.d.cts +2 -3
  103. package/dist/chat/types.d.ts +2 -3
  104. package/dist/chat/types.js +5 -6
  105. package/dist/chat/types.js.map +1 -1
  106. package/dist/componentId-DkyQ8PM0.cjs +73 -0
  107. package/dist/componentId-DkyQ8PM0.cjs.map +1 -0
  108. package/dist/componentId-vJz-kWs6.js +68 -0
  109. package/dist/componentId-vJz-kWs6.js.map +1 -0
  110. package/dist/concurrent-CH9fbNr3.js +34 -0
  111. package/dist/concurrent-CH9fbNr3.js.map +1 -0
  112. package/dist/concurrent-tbiIa0UL.cjs +39 -0
  113. package/dist/concurrent-tbiIa0UL.cjs.map +1 -0
  114. package/dist/configurations-Byt59bIa.js +726 -0
  115. package/dist/{chunk-IAYPOSMM.cjs.map → configurations-Byt59bIa.js.map} +1 -1
  116. package/dist/configurations-CujCwDcB.cjs +743 -0
  117. package/dist/configurations-CujCwDcB.cjs.map +1 -0
  118. package/dist/configurations-DCOJONZZ.cjs +313 -0
  119. package/dist/configurations-DCOJONZZ.cjs.map +1 -0
  120. package/dist/configurations-iCbhe0tb.js +158 -0
  121. package/dist/configurations-iCbhe0tb.js.map +1 -0
  122. package/dist/constants/index.cjs +10 -34
  123. package/dist/constants/index.d.cts +4 -92
  124. package/dist/constants/index.d.ts +4 -92
  125. package/dist/constants/index.js +4 -5
  126. package/dist/constants-CqyyBkXW.cjs +197 -0
  127. package/dist/constants-CqyyBkXW.cjs.map +1 -0
  128. package/dist/constants-_HhqKvBg.js +174 -0
  129. package/dist/constants-_HhqKvBg.js.map +1 -0
  130. package/dist/createFetchClient-BK0TZK-U.js +184 -0
  131. package/dist/createFetchClient-BK0TZK-U.js.map +1 -0
  132. package/dist/createFetchClient-BsG719K1.cjs +263 -0
  133. package/dist/createFetchClient-BsG719K1.cjs.map +1 -0
  134. package/dist/createGenericFetchClient-CVZYekDk.js +7 -0
  135. package/dist/createGenericFetchClient-CVZYekDk.js.map +1 -0
  136. package/dist/createGenericFetchClient-DLbjX0eM.cjs +12 -0
  137. package/dist/createGenericFetchClient-DLbjX0eM.cjs.map +1 -0
  138. package/dist/createOpenapiFetchClient-B5U1fCHS.js +7 -0
  139. package/dist/createOpenapiFetchClient-B5U1fCHS.js.map +1 -0
  140. package/dist/createOpenapiFetchClient-Cr90VXY4.cjs +12 -0
  141. package/dist/createOpenapiFetchClient-Cr90VXY4.cjs.map +1 -0
  142. package/dist/createStore-BNiCRQXa.js +148 -0
  143. package/dist/createStore-BNiCRQXa.js.map +1 -0
  144. package/dist/createStore-MQbboXcB.cjs +177 -0
  145. package/dist/createStore-MQbboXcB.cjs.map +1 -0
  146. package/dist/credential-0c6yFwtp.cjs +44 -0
  147. package/dist/credential-0c6yFwtp.cjs.map +1 -0
  148. package/dist/credential-kEGLnVez.js +33 -0
  149. package/dist/credential-kEGLnVez.js.map +1 -0
  150. package/dist/dataScience/index.cjs +5 -19
  151. package/dist/dataScience/index.d.cts +3 -207
  152. package/dist/dataScience/index.d.ts +3 -207
  153. package/dist/dataScience/index.js +3 -6
  154. package/dist/dataScience/types.cjs +0 -4
  155. package/dist/dataScience/types.d.cts +3 -2
  156. package/dist/dataScience/types.d.ts +3 -2
  157. package/dist/dataScience/types.js +1 -3
  158. package/dist/dataScience-C-JrA0Uk.cjs +114 -0
  159. package/dist/dataScience-C-JrA0Uk.cjs.map +1 -0
  160. package/dist/dataScience-CE0pSWbl.js +109 -0
  161. package/dist/dataScience-CE0pSWbl.js.map +1 -0
  162. package/dist/dedupe-CiskLkGR.cjs +30 -0
  163. package/dist/dedupe-CiskLkGR.cjs.map +1 -0
  164. package/dist/dedupe-DYIHgZoG.js +25 -0
  165. package/dist/dedupe-DYIHgZoG.js.map +1 -0
  166. package/dist/developerPortal/index.cjs +6 -0
  167. package/dist/developerPortal/index.d.cts +3 -0
  168. package/dist/developerPortal/index.d.ts +3 -0
  169. package/dist/developerPortal/index.js +2 -0
  170. package/dist/developerPortal/types.cjs +0 -0
  171. package/dist/developerPortal/types.d.cts +2 -0
  172. package/dist/developerPortal/types.d.ts +2 -0
  173. package/dist/developerPortal/types.js +1 -0
  174. package/dist/developerPortalClient-BPPEAdJW.js +485 -0
  175. package/dist/developerPortalClient-BPPEAdJW.js.map +1 -0
  176. package/dist/developerPortalClient-C8oq48xW.cjs +508 -0
  177. package/dist/developerPortalClient-C8oq48xW.cjs.map +1 -0
  178. package/dist/domain/permissions/index.cjs +31 -122
  179. package/dist/domain/permissions/index.d.cts +19 -51
  180. package/dist/domain/permissions/index.d.ts +19 -51
  181. package/dist/domain/permissions/index.js +3 -5
  182. package/dist/domain/storageTable/index.cjs +4 -16
  183. package/dist/domain/storageTable/index.d.cts +2 -131
  184. package/dist/domain/storageTable/index.d.ts +2 -131
  185. package/dist/domain/storageTable/index.js +2 -3
  186. package/dist/editor/index.cjs +96 -12
  187. package/dist/editor/index.cjs.map +1 -1
  188. package/dist/editor/index.d.cts +163 -161
  189. package/dist/editor/index.d.ts +163 -161
  190. package/dist/editor/index.js +96 -4
  191. package/dist/editor/index.js.map +1 -1
  192. package/dist/editor/types.cjs +0 -4
  193. package/dist/editor/types.d.cts +2 -2
  194. package/dist/editor/types.d.ts +2 -2
  195. package/dist/editor/types.js +1 -3
  196. package/dist/encryption/index.cjs +58 -11
  197. package/dist/encryption/index.cjs.map +1 -1
  198. package/dist/encryption/index.d.cts +2 -18
  199. package/dist/encryption/index.d.ts +2 -18
  200. package/dist/encryption/index.js +58 -3
  201. package/dist/encryption/index.js.map +1 -1
  202. package/dist/encryption/types.cjs +0 -4
  203. package/dist/encryption/types.d.cts +2 -68
  204. package/dist/encryption/types.d.ts +2 -68
  205. package/dist/encryption/types.js +1 -3
  206. package/dist/generateUUID-C6qKBPIv.cjs +11 -0
  207. package/dist/generateUUID-C6qKBPIv.cjs.map +1 -0
  208. package/dist/generateUUID-Dr8l-aoc.js +6 -0
  209. package/dist/generateUUID-Dr8l-aoc.js.map +1 -0
  210. package/dist/import/index.cjs +3 -14
  211. package/dist/import/index.d.cts +41 -38
  212. package/dist/import/index.d.ts +41 -38
  213. package/dist/import/index.js +2 -5
  214. package/dist/import-Cf0W-7YD.js +116 -0
  215. package/dist/import-Cf0W-7YD.js.map +1 -0
  216. package/dist/import-KLH1uRtx.cjs +121 -0
  217. package/dist/import-KLH1uRtx.cjs.map +1 -0
  218. package/dist/index-8pN6Emos.d.ts +218 -0
  219. package/dist/index-BEKaJ7Cc.d.cts +1388 -0
  220. package/dist/index-BMqLPS6S.d.cts +135 -0
  221. package/dist/index-BMqLPS6S.d.ts +135 -0
  222. package/dist/index-BWBScAYc.d.cts +16 -0
  223. package/dist/index-BmjeNd9u.d.ts +1075 -0
  224. package/dist/index-BthgbVdd.d.ts +31 -0
  225. package/dist/index-CLPrlyIz.d.cts +218 -0
  226. package/dist/index-CXQRvZ-f.d.cts +31 -0
  227. package/dist/index-CeistZnj.d.ts +1388 -0
  228. package/dist/index-Cfrl7sd5.d.ts +65 -0
  229. package/dist/index-DIM8KZly.d.ts +16 -0
  230. package/dist/index-DNlX-H1V.d.ts +208 -0
  231. package/dist/index-DVsnxZap.d.cts +65 -0
  232. package/dist/index-DXi6wsr5.d.cts +77 -0
  233. package/dist/index-DYQt4zxC.d.ts +77 -0
  234. package/dist/index-DplMbm9E.d.cts +19882 -0
  235. package/dist/index-Dwp8tF6O.d.ts +19882 -0
  236. package/dist/index-IN0qzs52.d.cts +208 -0
  237. package/dist/index-KKJkrxjx.d.ts +26 -0
  238. package/dist/index-NC1dXRTD.d.cts +40 -0
  239. package/dist/index-NC1dXRTD.d.ts +40 -0
  240. package/dist/index-WQkVzx5e.d.cts +1075 -0
  241. package/dist/index-eEBVG5s3.d.cts +26 -0
  242. package/dist/index-vb9Rfqca.d.cts +115 -0
  243. package/dist/index-vb9Rfqca.d.ts +115 -0
  244. package/dist/index.cjs +1728 -1802
  245. package/dist/index.cjs.map +1 -1
  246. package/dist/index.d.cts +7 -15301
  247. package/dist/index.d.ts +7 -15301
  248. package/dist/index.js +1678 -1675
  249. package/dist/index.js.map +1 -1
  250. package/dist/isPlainObject-BB3iy87C.cjs +16 -0
  251. package/dist/isPlainObject-BB3iy87C.cjs.map +1 -0
  252. package/dist/isPlainObject-LYW-03uB.js +11 -0
  253. package/dist/isPlainObject-LYW-03uB.js.map +1 -0
  254. package/dist/jobStatus-DbMupQEK.js +423 -0
  255. package/dist/jobStatus-DbMupQEK.js.map +1 -0
  256. package/dist/jobStatus-kQ9JqF8t.cjs +494 -0
  257. package/dist/jobStatus-kQ9JqF8t.cjs.map +1 -0
  258. package/dist/management/index.cjs +4 -18
  259. package/dist/management/index.d.cts +2 -1083
  260. package/dist/management/index.d.ts +2 -1083
  261. package/dist/management/index.js +2 -5
  262. package/dist/management/types.cjs +0 -4
  263. package/dist/management/types.d.cts +2 -12
  264. package/dist/management/types.d.ts +2 -12
  265. package/dist/management/types.js +1 -3
  266. package/dist/management-DqwQcDCx.js +1065 -0
  267. package/dist/management-DqwQcDCx.js.map +1 -0
  268. package/dist/management-WOmlBt6H.cjs +1076 -0
  269. package/dist/management-WOmlBt6H.cjs.map +1 -0
  270. package/dist/metastore/index.cjs +3 -14
  271. package/dist/metastore/index.d.cts +2 -33
  272. package/dist/metastore/index.d.ts +2 -33
  273. package/dist/metastore/index.js +2 -5
  274. package/dist/metastore/types.cjs +0 -4
  275. package/dist/metastore/types.d.cts +2 -2
  276. package/dist/metastore/types.d.ts +2 -2
  277. package/dist/metastore/types.js +1 -3
  278. package/dist/metastore-CNEhL66f.js +134 -0
  279. package/dist/metastore-CNEhL66f.js.map +1 -0
  280. package/dist/metastore-CkQluyX1.cjs +139 -0
  281. package/dist/metastore-CkQluyX1.cjs.map +1 -0
  282. package/dist/notifications/index.cjs +67 -13
  283. package/dist/notifications/index.cjs.map +1 -1
  284. package/dist/notifications/index.d.cts +56 -56
  285. package/dist/notifications/index.d.ts +56 -56
  286. package/dist/notifications/index.js +67 -5
  287. package/dist/notifications/index.js.map +1 -1
  288. package/dist/notifications/types.cjs +0 -4
  289. package/dist/notifications/types.d.cts +2 -2
  290. package/dist/notifications/types.d.ts +2 -2
  291. package/dist/notifications/types.js +1 -3
  292. package/dist/oauth/index.cjs +3 -14
  293. package/dist/oauth/index.d.cts +49 -49
  294. package/dist/oauth/index.d.ts +49 -49
  295. package/dist/oauth/index.js +2 -5
  296. package/dist/oauth/types.cjs +0 -4
  297. package/dist/oauth/types.d.cts +2 -725
  298. package/dist/oauth/types.d.ts +2 -725
  299. package/dist/oauth/types.js +1 -3
  300. package/dist/oauth-DTvrqe6P.cjs +88 -0
  301. package/dist/oauth-DTvrqe6P.cjs.map +1 -0
  302. package/dist/oauth-DYDObUX9.js +83 -0
  303. package/dist/oauth-DYDObUX9.js.map +1 -0
  304. package/dist/omnisearch/index.cjs +49 -0
  305. package/dist/omnisearch/index.cjs.map +1 -0
  306. package/dist/omnisearch/index.d.cts +30 -0
  307. package/dist/omnisearch/index.d.ts +30 -0
  308. package/dist/omnisearch/index.js +48 -0
  309. package/dist/omnisearch/index.js.map +1 -0
  310. package/dist/omnisearch/types.cjs +0 -0
  311. package/dist/omnisearch/types.d.cts +2 -0
  312. package/dist/omnisearch/types.d.ts +2 -0
  313. package/dist/omnisearch/types.js +1 -0
  314. package/dist/project-BvFi19K_.cjs +56 -0
  315. package/dist/project-BvFi19K_.cjs.map +1 -0
  316. package/dist/project-CcGxXIW_.d.cts +18 -0
  317. package/dist/project-DWwZv66D.js +39 -0
  318. package/dist/project-DWwZv66D.js.map +1 -0
  319. package/dist/project-io1pY-hW.d.ts +18 -0
  320. package/dist/queryService/index.cjs +3 -14
  321. package/dist/queryService/index.d.cts +2 -39
  322. package/dist/queryService/index.d.ts +2 -39
  323. package/dist/queryService/index.js +2 -5
  324. package/dist/queryService/types.cjs +0 -4
  325. package/dist/queryService/types.d.cts +2 -2
  326. package/dist/queryService/types.d.ts +2 -2
  327. package/dist/queryService/types.js +1 -3
  328. package/dist/queryService-BHV_OZI2.js +114 -0
  329. package/dist/queryService-BHV_OZI2.js.map +1 -0
  330. package/dist/queryService-CvqDqigW.cjs +119 -0
  331. package/dist/queryService-CvqDqigW.cjs.map +1 -0
  332. package/dist/queue/index.cjs +3 -15
  333. package/dist/queue/index.d.cts +411 -334
  334. package/dist/queue/index.d.ts +411 -334
  335. package/dist/queue/index.js +2 -6
  336. package/dist/queue/types.cjs +0 -4
  337. package/dist/queue/types.d.cts +2 -2
  338. package/dist/queue/types.d.ts +2 -2
  339. package/dist/queue/types.js +1 -3
  340. package/dist/queue-CUHKupTA.cjs +137 -0
  341. package/dist/queue-CUHKupTA.cjs.map +1 -0
  342. package/dist/queue-uofE4Eu6.js +126 -0
  343. package/dist/queue-uofE4Eu6.js.map +1 -0
  344. package/dist/rolldown-runtime-VH7oDXx4.cjs +28 -0
  345. package/dist/scheduler/index.cjs +61 -13
  346. package/dist/scheduler/index.cjs.map +1 -1
  347. package/dist/scheduler/index.d.cts +73 -73
  348. package/dist/scheduler/index.d.ts +73 -73
  349. package/dist/scheduler/index.js +61 -5
  350. package/dist/scheduler/index.js.map +1 -1
  351. package/dist/scheduler/types.cjs +0 -4
  352. package/dist/scheduler/types.d.cts +2 -372
  353. package/dist/scheduler/types.d.ts +2 -372
  354. package/dist/scheduler/types.js +1 -3
  355. package/dist/sdk/configurations/index.cjs +3 -16
  356. package/dist/sdk/configurations/index.d.cts +3066 -3077
  357. package/dist/sdk/configurations/index.d.ts +3066 -3077
  358. package/dist/sdk/configurations/index.js +2 -7
  359. package/dist/sdk/developerPortal/index.cjs +203 -0
  360. package/dist/sdk/developerPortal/index.cjs.map +1 -0
  361. package/dist/sdk/developerPortal/index.d.cts +1371 -0
  362. package/dist/sdk/developerPortal/index.d.ts +1371 -0
  363. package/dist/sdk/developerPortal/index.js +202 -0
  364. package/dist/sdk/developerPortal/index.js.map +1 -0
  365. package/dist/sdk/queryService/index.cjs +93 -0
  366. package/dist/sdk/queryService/index.cjs.map +1 -0
  367. package/dist/sdk/queryService/index.d.cts +2 -0
  368. package/dist/sdk/queryService/index.d.ts +2 -0
  369. package/dist/sdk/queryService/index.js +92 -0
  370. package/dist/sdk/queryService/index.js.map +1 -0
  371. package/dist/sdk/semanticLayer/index.cjs +352 -50
  372. package/dist/sdk/semanticLayer/index.cjs.map +1 -1
  373. package/dist/sdk/semanticLayer/index.d.cts +105 -94
  374. package/dist/sdk/semanticLayer/index.d.ts +105 -94
  375. package/dist/sdk/semanticLayer/index.js +346 -4
  376. package/dist/sdk/semanticLayer/index.js.map +1 -1
  377. package/dist/sdk/semanticLayer/types.cjs +0 -4
  378. package/dist/sdk/semanticLayer/types.d.cts +2 -132
  379. package/dist/sdk/semanticLayer/types.d.ts +2 -132
  380. package/dist/sdk/semanticLayer/types.js +1 -3
  381. package/dist/sdk/storage/index.cjs +267 -47
  382. package/dist/sdk/storage/index.cjs.map +1 -1
  383. package/dist/sdk/storage/index.d.cts +2 -119
  384. package/dist/sdk/storage/index.d.ts +2 -119
  385. package/dist/sdk/storage/index.js +258 -3
  386. package/dist/sdk/storage/index.js.map +1 -1
  387. package/dist/sdk/tag/index.cjs +3 -14
  388. package/dist/sdk/tag/index.d.cts +16 -20
  389. package/dist/sdk/tag/index.d.ts +16 -20
  390. package/dist/sdk/tag/index.js +2 -5
  391. package/dist/sdk/tag/types.cjs +0 -4
  392. package/dist/sdk/tag/types.d.cts +2 -30
  393. package/dist/sdk/tag/types.d.ts +2 -30
  394. package/dist/sdk/tag/types.js +1 -3
  395. package/dist/sdk/vault/index.cjs +93 -31
  396. package/dist/sdk/vault/index.cjs.map +1 -1
  397. package/dist/sdk/vault/index.d.cts +2 -72
  398. package/dist/sdk/vault/index.d.ts +2 -72
  399. package/dist/sdk/vault/index.js +88 -3
  400. package/dist/sdk/vault/index.js.map +1 -1
  401. package/dist/status/index.cjs +16 -20
  402. package/dist/status/index.cjs.map +1 -1
  403. package/dist/status/index.d.cts +8 -9
  404. package/dist/status/index.d.ts +8 -9
  405. package/dist/status/index.js +15 -18
  406. package/dist/status/index.js.map +1 -1
  407. package/dist/status/types.cjs +0 -6
  408. package/dist/status/types.d.cts +17 -15
  409. package/dist/status/types.d.ts +17 -15
  410. package/dist/status/types.js +1 -3
  411. package/dist/storage/index.cjs +27 -54
  412. package/dist/storage/index.d.cts +3 -43
  413. package/dist/storage/index.d.ts +3 -43
  414. package/dist/storage/index.js +8 -9
  415. package/dist/storage/types.cjs +0 -4
  416. package/dist/storage/types.d.cts +5 -1654
  417. package/dist/storage/types.d.ts +5 -1654
  418. package/dist/storage/types.js +1 -3
  419. package/dist/storage-DbyNnkIJ.cjs +2458 -0
  420. package/dist/storage-DbyNnkIJ.cjs.map +1 -0
  421. package/dist/storage-luq7YBZF.js +2429 -0
  422. package/dist/storage-luq7YBZF.js.map +1 -0
  423. package/dist/storageTable-C9crh4Ef.cjs +310 -0
  424. package/dist/storageTable-C9crh4Ef.cjs.map +1 -0
  425. package/dist/storageTable-DslXtqNL.js +299 -0
  426. package/dist/storageTable-DslXtqNL.js.map +1 -0
  427. package/dist/stream/index.cjs +363 -12
  428. package/dist/stream/index.cjs.map +1 -1
  429. package/dist/stream/index.d.cts +345 -345
  430. package/dist/stream/index.d.ts +345 -345
  431. package/dist/stream/index.js +363 -4
  432. package/dist/stream/index.js.map +1 -1
  433. package/dist/stream/types.cjs +0 -4
  434. package/dist/stream/types.d.cts +2 -2
  435. package/dist/stream/types.d.ts +2 -2
  436. package/dist/stream/types.js +1 -3
  437. package/dist/suggestions-BH3x7xU7.d.cts +438 -0
  438. package/dist/suggestions-BH3x7xU7.d.ts +438 -0
  439. package/dist/syncActions/index.cjs +3 -18
  440. package/dist/syncActions/index.d.cts +2 -112
  441. package/dist/syncActions/index.d.ts +2 -112
  442. package/dist/syncActions/index.js +2 -9
  443. package/dist/syncActions/types.cjs +0 -4
  444. package/dist/syncActions/types.d.cts +2 -298
  445. package/dist/syncActions/types.d.ts +2 -298
  446. package/dist/syncActions/types.js +1 -3
  447. package/dist/syncActions-DKWeJ8GH.cjs +504 -0
  448. package/dist/syncActions-DKWeJ8GH.cjs.map +1 -0
  449. package/dist/syncActions-ssWWVN_4.js +497 -0
  450. package/dist/syncActions-ssWWVN_4.js.map +1 -0
  451. package/dist/tag-CsoOZWB_.cjs +175 -0
  452. package/dist/tag-CsoOZWB_.cjs.map +1 -0
  453. package/dist/tag-DCsoewjL.js +164 -0
  454. package/dist/{chunk-DHOVQ2TW.js.map → tag-DCsoewjL.js.map} +1 -1
  455. package/dist/telemetry/index.cjs +3 -14
  456. package/dist/telemetry/index.d.cts +10 -10
  457. package/dist/telemetry/index.d.ts +10 -10
  458. package/dist/telemetry/index.js +2 -5
  459. package/dist/telemetry/types.cjs +0 -4
  460. package/dist/telemetry/types.d.cts +2 -12
  461. package/dist/telemetry/types.d.ts +2 -12
  462. package/dist/telemetry/types.js +1 -3
  463. package/dist/telemetry-2IrE8HaZ.cjs +29 -0
  464. package/dist/telemetry-2IrE8HaZ.cjs.map +1 -0
  465. package/dist/telemetry-yQfQxBBI.js +24 -0
  466. package/dist/telemetry-yQfQxBBI.js.map +1 -0
  467. package/dist/types--T-vBqdd.d.cts +2835 -0
  468. package/dist/{types-CM1zHzgm.d.ts → types-2mHlPakp.d.cts} +893 -69
  469. package/dist/types-7H6Dnz0Y.d.ts +23 -0
  470. package/dist/types-B06L4-WE.d.cts +2124 -0
  471. package/dist/types-B1S2H7q1.d.ts +373 -0
  472. package/dist/types-B1glyy_Q.d.ts +726 -0
  473. package/dist/{utils-DK7uJcmR.d.cts → types-BCt0EMiO.d.ts} +16 -905
  474. package/dist/{types-BX1xr4CX.d.cts → types-BD6czYPH.d.ts} +43 -108
  475. package/dist/{types-BEnE7LHB.d.cts → types-BO-mTxKb.d.cts} +57 -81
  476. package/dist/{types-BieLFMW1.d.cts → types-BREBK0xX.d.ts} +9 -8
  477. package/dist/types-BRQAKEC1.d.cts +32 -0
  478. package/dist/types-BXK6Ebtm.d.ts +32 -0
  479. package/dist/types-BefwoXik.d.cts +373 -0
  480. package/dist/{types-DeoA45gz.d.cts → types-BhBvnvqe.d.ts} +632 -464
  481. package/dist/{types-Cgh3jqrV.d.cts → types-BmFyDKe6.d.ts} +893 -69
  482. package/dist/types-BpWqpMkL.d.ts +66 -0
  483. package/dist/types-C8XiTXxi.d.cts +23 -0
  484. package/dist/{types-BfuVN8Pk.d.cts → types-CAOvDtMC.d.cts} +11 -16
  485. package/dist/types-CC0wymfG.d.ts +2088 -0
  486. package/dist/{types-YzkNUuYo.d.ts → types-CI1mW2lA.d.ts} +11 -16
  487. package/dist/{types-00IaLn3S.d.ts → types-CRYtdj5w.d.ts} +876 -374
  488. package/dist/{types-CrLjE5xf.d.ts → types-CSmttcZ_.d.ts} +10 -12
  489. package/dist/{types-DgSyBwP3.d.cts → types-CbZ8aMKW.d.cts} +11 -14
  490. package/dist/{types-DwMezEHT.d.ts → types-CexuN7Mw.d.cts} +43 -108
  491. package/dist/types-CjAia48k.d.ts +386 -0
  492. package/dist/{types-D-MuJHwl.d.cts → types-CtdyAkzI.d.cts} +28 -16
  493. package/dist/{types-DpUcInCX.d.ts → types-CvADp-x-.d.ts} +11 -14
  494. package/dist/types-CwvOcTOm.d.cts +2088 -0
  495. package/dist/types-CyRK5z-E.d.cts +386 -0
  496. package/dist/{types-DbAO-Tgk.d.ts → types-D2n3h1gp.d.ts} +57 -81
  497. package/dist/types-DBOEA7l0.d.cts +148 -0
  498. package/dist/{types-DYnHIm7m.d.cts → types-DCBKso0t.d.cts} +10 -12
  499. package/dist/{types-Hj1CaKtV.d.ts → types-DEKF5pbg.d.cts} +632 -464
  500. package/dist/{types-B30y9Lhc.d.ts → types-DMvU4kZ2.d.cts} +208 -24
  501. package/dist/{types-B-vmDlWB.d.cts → types-DS8uFAeq.d.cts} +10 -15
  502. package/dist/types-DeApSCzx.d.cts +602 -0
  503. package/dist/types-DebL68-g.d.ts +148 -0
  504. package/dist/types-DgaYUtu_.d.cts +726 -0
  505. package/dist/{types-CiJ5ULtS.d.ts → types-DkbfBOBr.d.cts} +9 -8
  506. package/dist/types-DvsGS8By.d.cts +66 -0
  507. package/dist/{types-DHXZZKb3.d.ts → types-DwX1uxp_.d.ts} +10 -15
  508. package/dist/{types-sVyfECai.d.cts → types-ISUNM_BR.d.cts} +876 -374
  509. package/dist/{utils-B_SOM1XR.d.ts → types-QOIQ-dZU.d.cts} +16 -905
  510. package/dist/types-SGuvOEV8.d.ts +2124 -0
  511. package/dist/types-V8rC5if7.d.cts +621 -0
  512. package/dist/{types-CSZoV4lM.d.cts → types-Z-vUwgym.d.ts} +208 -24
  513. package/dist/types-bws2RtKq.d.ts +602 -0
  514. package/dist/types-h9TTimS_.d.ts +2835 -0
  515. package/dist/types-lFsTSkhe.d.cts +14 -0
  516. package/dist/types-lFsTSkhe.d.ts +14 -0
  517. package/dist/types-n4FFKqa4.d.ts +621 -0
  518. package/dist/{types-DeS-oVdn.d.ts → types-x4xPlrr0.d.ts} +28 -16
  519. package/dist/vault/index.cjs +49 -13
  520. package/dist/vault/index.cjs.map +1 -1
  521. package/dist/vault/index.d.cts +2 -26
  522. package/dist/vault/index.d.ts +2 -26
  523. package/dist/vault/index.js +49 -5
  524. package/dist/vault/index.js.map +1 -1
  525. package/dist/vault/types.cjs +0 -4
  526. package/dist/vault/types.d.cts +2 -385
  527. package/dist/vault/types.d.ts +2 -385
  528. package/dist/vault/types.js +1 -3
  529. package/package.json +113 -7
  530. package/surface/ai.md +1 -0
  531. package/surface/apps.md +32 -0
  532. package/surface/auth.md +6 -4
  533. package/surface/chat.md +3 -2
  534. package/surface/dataScience.md +3 -2
  535. package/surface/editor.md +1 -0
  536. package/surface/encryption.md +1 -0
  537. package/surface/import.md +1 -0
  538. package/surface/kaiAgent.md +2 -1
  539. package/surface/management.md +17 -16
  540. package/surface/metastore.md +2 -1
  541. package/surface/notifications.md +1 -0
  542. package/surface/oauth.md +1 -0
  543. package/surface/omnisearch.md +9 -0
  544. package/surface/queryService.md +5 -3
  545. package/surface/queue.md +8 -6
  546. package/surface/scheduler.md +1 -0
  547. package/surface/sdk.md +22 -22
  548. package/surface/storage.md +147 -106
  549. package/surface/stream.md +1 -0
  550. package/surface/syncActions.md +13 -6
  551. package/surface/vault.md +1 -0
  552. package/dist/ManagementClientAuthError-4J0S5tV-.d.ts +0 -9
  553. package/dist/ManagementClientAuthError-CyDpa4NS.d.cts +0 -9
  554. package/dist/adminRoles-Cil1lavB.d.cts +0 -18
  555. package/dist/adminRoles-Cil1lavB.d.ts +0 -18
  556. package/dist/ai/types.cjs.map +0 -1
  557. package/dist/ai/types.js.map +0 -1
  558. package/dist/auth/index.cjs.map +0 -1
  559. package/dist/auth/index.js.map +0 -1
  560. package/dist/auth/types.cjs.map +0 -1
  561. package/dist/auth/types.js.map +0 -1
  562. package/dist/chunk-22E6IGXR.js +0 -6
  563. package/dist/chunk-22E6IGXR.js.map +0 -1
  564. package/dist/chunk-2BOG5U7C.js +0 -75
  565. package/dist/chunk-2BOG5U7C.js.map +0 -1
  566. package/dist/chunk-2CFM7K4U.cjs +0 -55
  567. package/dist/chunk-2CFM7K4U.cjs.map +0 -1
  568. package/dist/chunk-34GM6NXB.js +0 -77
  569. package/dist/chunk-34GM6NXB.js.map +0 -1
  570. package/dist/chunk-3BFPNM2J.js +0 -61
  571. package/dist/chunk-3BFPNM2J.js.map +0 -1
  572. package/dist/chunk-3PVERYSF.js +0 -16
  573. package/dist/chunk-3PVERYSF.js.map +0 -1
  574. package/dist/chunk-3YWQQ3OG.cjs +0 -79
  575. package/dist/chunk-3YWQQ3OG.cjs.map +0 -1
  576. package/dist/chunk-4RC5E3SL.js +0 -140
  577. package/dist/chunk-4RC5E3SL.js.map +0 -1
  578. package/dist/chunk-4VVF2PIX.js +0 -110
  579. package/dist/chunk-4VVF2PIX.js.map +0 -1
  580. package/dist/chunk-552FC4ZV.js +0 -14
  581. package/dist/chunk-552FC4ZV.js.map +0 -1
  582. package/dist/chunk-5XWVWFTC.js +0 -33
  583. package/dist/chunk-5XWVWFTC.js.map +0 -1
  584. package/dist/chunk-6YZQIMML.cjs +0 -163
  585. package/dist/chunk-6YZQIMML.cjs.map +0 -1
  586. package/dist/chunk-77LILJYX.js +0 -110
  587. package/dist/chunk-77LILJYX.js.map +0 -1
  588. package/dist/chunk-7J2R6XHB.js +0 -3
  589. package/dist/chunk-7J2R6XHB.js.map +0 -1
  590. package/dist/chunk-7R22VKV7.cjs +0 -62
  591. package/dist/chunk-7R22VKV7.cjs.map +0 -1
  592. package/dist/chunk-7RO6PKZ4.cjs +0 -16
  593. package/dist/chunk-7RO6PKZ4.cjs.map +0 -1
  594. package/dist/chunk-7YXL4FKN.cjs +0 -340
  595. package/dist/chunk-7YXL4FKN.cjs.map +0 -1
  596. package/dist/chunk-7Z4MU7ZB.js +0 -1294
  597. package/dist/chunk-7Z4MU7ZB.js.map +0 -1
  598. package/dist/chunk-AFJGNBVM.cjs +0 -63
  599. package/dist/chunk-AFJGNBVM.cjs.map +0 -1
  600. package/dist/chunk-AVH6F5LB.js +0 -1492
  601. package/dist/chunk-AVH6F5LB.js.map +0 -1
  602. package/dist/chunk-AXEANGGK.js +0 -226
  603. package/dist/chunk-AXEANGGK.js.map +0 -1
  604. package/dist/chunk-BCZPCMGL.cjs +0 -49
  605. package/dist/chunk-BCZPCMGL.cjs.map +0 -1
  606. package/dist/chunk-BR6WZE3O.cjs +0 -42
  607. package/dist/chunk-BR6WZE3O.cjs.map +0 -1
  608. package/dist/chunk-BZA3FGO6.js +0 -40
  609. package/dist/chunk-BZA3FGO6.js.map +0 -1
  610. package/dist/chunk-CV2JGHBN.js +0 -183
  611. package/dist/chunk-CV2JGHBN.js.map +0 -1
  612. package/dist/chunk-CWCUQACX.cjs +0 -18
  613. package/dist/chunk-CWCUQACX.cjs.map +0 -1
  614. package/dist/chunk-CWUQ6ZAO.cjs +0 -185
  615. package/dist/chunk-CWUQ6ZAO.cjs.map +0 -1
  616. package/dist/chunk-D4WOOKMI.js +0 -350
  617. package/dist/chunk-D4WOOKMI.js.map +0 -1
  618. package/dist/chunk-DHOVQ2TW.js +0 -177
  619. package/dist/chunk-DRNOCC6W.cjs +0 -295
  620. package/dist/chunk-DRNOCC6W.cjs.map +0 -1
  621. package/dist/chunk-EDX5D6UY.js +0 -14
  622. package/dist/chunk-EWMXK3EI.cjs +0 -8
  623. package/dist/chunk-EWMXK3EI.cjs.map +0 -1
  624. package/dist/chunk-EYIPM2XB.cjs +0 -82
  625. package/dist/chunk-EYIPM2XB.cjs.map +0 -1
  626. package/dist/chunk-F6ZAYTBX.cjs +0 -364
  627. package/dist/chunk-F6ZAYTBX.cjs.map +0 -1
  628. package/dist/chunk-FJBP3MRI.cjs +0 -63
  629. package/dist/chunk-FJBP3MRI.cjs.map +0 -1
  630. package/dist/chunk-FMS5PNM2.cjs +0 -37
  631. package/dist/chunk-FMS5PNM2.cjs.map +0 -1
  632. package/dist/chunk-FPB6OGTV.js +0 -26
  633. package/dist/chunk-FPB6OGTV.js.map +0 -1
  634. package/dist/chunk-FRLSKIUI.cjs +0 -180
  635. package/dist/chunk-FRLSKIUI.cjs.map +0 -1
  636. package/dist/chunk-G3N5KDEY.js +0 -10
  637. package/dist/chunk-G3N5KDEY.js.map +0 -1
  638. package/dist/chunk-G66EP527.js +0 -59
  639. package/dist/chunk-G66EP527.js.map +0 -1
  640. package/dist/chunk-GF4XZK5N.cjs +0 -43
  641. package/dist/chunk-GF4XZK5N.cjs.map +0 -1
  642. package/dist/chunk-HITKHHWN.cjs +0 -174
  643. package/dist/chunk-HITKHHWN.cjs.map +0 -1
  644. package/dist/chunk-HMCZUHR7.js +0 -53
  645. package/dist/chunk-HMCZUHR7.js.map +0 -1
  646. package/dist/chunk-HTVJR5WS.cjs +0 -305
  647. package/dist/chunk-HTVJR5WS.cjs.map +0 -1
  648. package/dist/chunk-HY7J3OD3.cjs +0 -1298
  649. package/dist/chunk-HY7J3OD3.cjs.map +0 -1
  650. package/dist/chunk-IAYPOSMM.cjs +0 -472
  651. package/dist/chunk-IDWGBCSB.cjs +0 -61
  652. package/dist/chunk-IDWGBCSB.cjs.map +0 -1
  653. package/dist/chunk-J3NLKXQ5.cjs +0 -79
  654. package/dist/chunk-J3NLKXQ5.cjs.map +0 -1
  655. package/dist/chunk-KEFXOJD7.js +0 -61
  656. package/dist/chunk-KEFXOJD7.js.map +0 -1
  657. package/dist/chunk-KUYVBCUM.cjs +0 -231
  658. package/dist/chunk-KUYVBCUM.cjs.map +0 -1
  659. package/dist/chunk-L262THNK.cjs +0 -253
  660. package/dist/chunk-L262THNK.cjs.map +0 -1
  661. package/dist/chunk-LD3JERYP.js +0 -77
  662. package/dist/chunk-LD3JERYP.js.map +0 -1
  663. package/dist/chunk-LIXSIM3H.cjs +0 -113
  664. package/dist/chunk-LIXSIM3H.cjs.map +0 -1
  665. package/dist/chunk-LNZP2O4P.js +0 -169
  666. package/dist/chunk-LNZP2O4P.js.map +0 -1
  667. package/dist/chunk-MMOAH3EH.cjs +0 -288
  668. package/dist/chunk-MMOAH3EH.cjs.map +0 -1
  669. package/dist/chunk-MRHQJNWF.cjs +0 -8
  670. package/dist/chunk-MRHQJNWF.cjs.map +0 -1
  671. package/dist/chunk-MSI6FVGG.js +0 -6
  672. package/dist/chunk-MSI6FVGG.js.map +0 -1
  673. package/dist/chunk-N4COL54U.cjs +0 -22
  674. package/dist/chunk-N4COL54U.cjs.map +0 -1
  675. package/dist/chunk-NVQ6LGDO.cjs +0 -35
  676. package/dist/chunk-NVQ6LGDO.cjs.map +0 -1
  677. package/dist/chunk-NVRVPWNY.js +0 -148
  678. package/dist/chunk-NVRVPWNY.js.map +0 -1
  679. package/dist/chunk-OUSPQ55W.js +0 -263
  680. package/dist/chunk-OUSPQ55W.js.map +0 -1
  681. package/dist/chunk-PPQF7LTS.cjs +0 -63
  682. package/dist/chunk-PPQF7LTS.cjs.map +0 -1
  683. package/dist/chunk-PSR3N4NC.js +0 -136
  684. package/dist/chunk-PSR3N4NC.js.map +0 -1
  685. package/dist/chunk-QHD4LPAQ.cjs +0 -8
  686. package/dist/chunk-QHD4LPAQ.cjs.map +0 -1
  687. package/dist/chunk-RRC5RKF7.cjs +0 -12
  688. package/dist/chunk-RRC5RKF7.cjs.map +0 -1
  689. package/dist/chunk-RVBGE2Z4.js +0 -468
  690. package/dist/chunk-RVBGE2Z4.js.map +0 -1
  691. package/dist/chunk-S4JK7DKM.js +0 -61
  692. package/dist/chunk-S4JK7DKM.js.map +0 -1
  693. package/dist/chunk-SJZ66FD5.js +0 -35
  694. package/dist/chunk-SJZ66FD5.js.map +0 -1
  695. package/dist/chunk-T242YFMT.cjs +0 -150
  696. package/dist/chunk-T242YFMT.cjs.map +0 -1
  697. package/dist/chunk-T526LPBK.js +0 -6
  698. package/dist/chunk-T526LPBK.js.map +0 -1
  699. package/dist/chunk-U5SE6W5M.cjs +0 -158
  700. package/dist/chunk-U5SE6W5M.cjs.map +0 -1
  701. package/dist/chunk-UABYNGBZ.js +0 -39
  702. package/dist/chunk-UABYNGBZ.js.map +0 -1
  703. package/dist/chunk-UP5SEEYZ.js +0 -218
  704. package/dist/chunk-UP5SEEYZ.js.map +0 -1
  705. package/dist/chunk-UQ5CACMW.js +0 -283
  706. package/dist/chunk-UQ5CACMW.js.map +0 -1
  707. package/dist/chunk-UUY6LQT6.cjs +0 -267
  708. package/dist/chunk-UUY6LQT6.cjs.map +0 -1
  709. package/dist/chunk-UWQUHP3T.cjs +0 -112
  710. package/dist/chunk-UWQUHP3T.cjs.map +0 -1
  711. package/dist/chunk-XHDYLUM4.js +0 -268
  712. package/dist/chunk-XHDYLUM4.js.map +0 -1
  713. package/dist/chunk-XIIER7QQ.js +0 -60
  714. package/dist/chunk-XIIER7QQ.js.map +0 -1
  715. package/dist/chunk-XKIENBIE.js +0 -338
  716. package/dist/chunk-XKIENBIE.js.map +0 -1
  717. package/dist/chunk-XPDEQND7.cjs +0 -4
  718. package/dist/chunk-XPDEQND7.cjs.map +0 -1
  719. package/dist/chunk-YGEJDWGG.js +0 -19
  720. package/dist/chunk-YGEJDWGG.js.map +0 -1
  721. package/dist/chunk-YXGBD4WP.cjs +0 -16
  722. package/dist/chunk-YXGBD4WP.cjs.map +0 -1
  723. package/dist/chunk-Z3HZ4MP4.cjs +0 -1496
  724. package/dist/chunk-Z3HZ4MP4.cjs.map +0 -1
  725. package/dist/chunk-ZOREOLGE.js +0 -264
  726. package/dist/chunk-ZOREOLGE.js.map +0 -1
  727. package/dist/constants/index.cjs.map +0 -1
  728. package/dist/constants/index.js.map +0 -1
  729. package/dist/createGenericFetchClient-JcbIIqwF.d.cts +0 -18
  730. package/dist/createGenericFetchClient-ZGG5wbAC.d.ts +0 -18
  731. package/dist/createOpenapiFetchClient-6RX67Hws.d.ts +0 -24
  732. package/dist/createOpenapiFetchClient-BFmiJ9C5.d.cts +0 -24
  733. package/dist/dataScience/index.cjs.map +0 -1
  734. package/dist/dataScience/index.js.map +0 -1
  735. package/dist/dataScience/types.cjs.map +0 -1
  736. package/dist/dataScience/types.js.map +0 -1
  737. package/dist/domain/permissions/index.cjs.map +0 -1
  738. package/dist/domain/permissions/index.js.map +0 -1
  739. package/dist/domain/storageTable/index.cjs.map +0 -1
  740. package/dist/domain/storageTable/index.js.map +0 -1
  741. package/dist/editor/types.cjs.map +0 -1
  742. package/dist/editor/types.js.map +0 -1
  743. package/dist/encryption/types.cjs.map +0 -1
  744. package/dist/encryption/types.js.map +0 -1
  745. package/dist/import/index.cjs.map +0 -1
  746. package/dist/import/index.js.map +0 -1
  747. package/dist/keboolaUID-D1DGSbge.d.cts +0 -19
  748. package/dist/keboolaUID-D1DGSbge.d.ts +0 -19
  749. package/dist/management/index.cjs.map +0 -1
  750. package/dist/management/index.js.map +0 -1
  751. package/dist/management/types.cjs.map +0 -1
  752. package/dist/management/types.js.map +0 -1
  753. package/dist/metastore/index.cjs.map +0 -1
  754. package/dist/metastore/index.js.map +0 -1
  755. package/dist/metastore/types.cjs.map +0 -1
  756. package/dist/metastore/types.js.map +0 -1
  757. package/dist/notifications/types.cjs.map +0 -1
  758. package/dist/notifications/types.js.map +0 -1
  759. package/dist/oauth/index.cjs.map +0 -1
  760. package/dist/oauth/index.js.map +0 -1
  761. package/dist/oauth/types.cjs.map +0 -1
  762. package/dist/oauth/types.js.map +0 -1
  763. package/dist/project-CXqPYo4T.d.ts +0 -17
  764. package/dist/project-CZPvcxRW.d.cts +0 -17
  765. package/dist/queryService/index.cjs.map +0 -1
  766. package/dist/queryService/index.js.map +0 -1
  767. package/dist/queryService/types.cjs.map +0 -1
  768. package/dist/queryService/types.js.map +0 -1
  769. package/dist/queue/index.cjs.map +0 -1
  770. package/dist/queue/index.js.map +0 -1
  771. package/dist/queue/types.cjs.map +0 -1
  772. package/dist/queue/types.js.map +0 -1
  773. package/dist/registry-CcKlB-yY.d.ts +0 -1046
  774. package/dist/registry-Cg0Yng1z.d.cts +0 -1046
  775. package/dist/scheduler/types.cjs.map +0 -1
  776. package/dist/scheduler/types.js.map +0 -1
  777. package/dist/sdk/configurations/index.cjs.map +0 -1
  778. package/dist/sdk/configurations/index.js.map +0 -1
  779. package/dist/sdk/semanticLayer/types.cjs.map +0 -1
  780. package/dist/sdk/semanticLayer/types.js.map +0 -1
  781. package/dist/sdk/tag/index.cjs.map +0 -1
  782. package/dist/sdk/tag/index.js.map +0 -1
  783. package/dist/sdk/tag/types.cjs.map +0 -1
  784. package/dist/sdk/tag/types.js.map +0 -1
  785. package/dist/status/types.cjs.map +0 -1
  786. package/dist/status/types.js.map +0 -1
  787. package/dist/storage/index.cjs.map +0 -1
  788. package/dist/storage/index.js.map +0 -1
  789. package/dist/storage/types.cjs.map +0 -1
  790. package/dist/storage/types.js.map +0 -1
  791. package/dist/storageClient-Cd4jVt58.d.ts +0 -1519
  792. package/dist/storageClient-Dkcg7hKa.d.cts +0 -1519
  793. package/dist/storageSdk-15_Fbucc.d.cts +0 -746
  794. package/dist/storageSdk-L6NOdgSJ.d.ts +0 -746
  795. package/dist/stream/types.cjs.map +0 -1
  796. package/dist/stream/types.js.map +0 -1
  797. package/dist/syncActions/index.cjs.map +0 -1
  798. package/dist/syncActions/index.js.map +0 -1
  799. package/dist/syncActions/types.cjs.map +0 -1
  800. package/dist/syncActions/types.js.map +0 -1
  801. package/dist/telemetry/index.cjs.map +0 -1
  802. package/dist/telemetry/index.js.map +0 -1
  803. package/dist/telemetry/types.cjs.map +0 -1
  804. package/dist/telemetry/types.js.map +0 -1
  805. package/dist/types-BqC3U0k0.d.cts +0 -12
  806. package/dist/types-Dkipk6NN.d.ts +0 -12
  807. package/dist/types-UwuKN9Kx.d.cts +0 -60
  808. package/dist/types-UwuKN9Kx.d.ts +0 -60
  809. package/dist/types-gcShAmmi.d.cts +0 -90
  810. package/dist/types-gcShAmmi.d.ts +0 -90
  811. package/dist/vault/types.cjs.map +0 -1
  812. package/dist/vault/types.js.map +0 -1
@@ -0,0 +1,202 @@
1
+ import { t as dedupe } from "../../dedupe-DYIHgZoG.js";
2
+ import { i as createStore } from "../../createStore-BNiCRQXa.js";
3
+ import { o as HttpHeader } from "../../createFetchClient-BK0TZK-U.js";
4
+ import { n as isUnauthorized } from "../../credential-kEGLnVez.js";
5
+ import { t as createDeveloperPortalClient } from "../../developerPortalClient-BPPEAdJW.js";
6
+ //#region src/sdks/developerPortal/tokenExpiry.ts
7
+ /**
8
+ * Reads a JWT's `exp` claim as milliseconds, or `null` when unparseable ("expiry unknown", which the
9
+ * caller leaves to the 401 path). A read, not a verification.
10
+ *
11
+ * Needed because apps-api reports `expiresIn` on login but never on refresh, so it cannot keep a
12
+ * proactive-refresh clock honest past the first rotation. The token always carries its own expiry.
13
+ */
14
+ const readTokenExpiry = (token) => {
15
+ const segments = token.split(".");
16
+ if (segments.length !== 3) return null;
17
+ const payload = segments[1];
18
+ if (payload === void 0 || payload === "") return null;
19
+ try {
20
+ const base64 = payload.replaceAll("-", "+").replaceAll("_", "/");
21
+ const padded = base64.padEnd(base64.length + (4 - base64.length % 4) % 4, "=");
22
+ const claims = JSON.parse(atob(padded));
23
+ if (typeof claims !== "object" || claims === null || !("exp" in claims)) return null;
24
+ const { exp } = claims;
25
+ if (typeof exp !== "number" || !Number.isFinite(exp)) return null;
26
+ return exp * 1e3;
27
+ } catch {
28
+ return null;
29
+ }
30
+ };
31
+ //#endregion
32
+ //#region src/sdks/developerPortal/credential.ts
33
+ const DEFAULT_REFRESH_LEAD_TIME_MS = 3e5;
34
+ /** Mirrors `createBearerCredential`, over the id token of the trio. */
35
+ const createDeveloperPortalCredential = ({ refresh, getTokens, onSessionExpired, refreshLeadTimeMs = DEFAULT_REFRESH_LEAD_TIME_MS }) => {
36
+ const doRefresh = async () => {
37
+ try {
38
+ return await refresh();
39
+ } catch (error) {
40
+ if (isUnauthorized(error)) onSessionExpired?.();
41
+ throw error;
42
+ }
43
+ };
44
+ const refreshShared = dedupe(doRefresh);
45
+ const getIdToken = async ({ forceRefresh = false } = {}) => {
46
+ const tokens = getTokens();
47
+ if (tokens === null) return null;
48
+ if (forceRefresh) return (await refreshShared()).token;
49
+ const expiresAt = readTokenExpiry(tokens.token);
50
+ if (expiresAt === null) return tokens.token;
51
+ if (Date.now() < expiresAt - refreshLeadTimeMs) return tokens.token;
52
+ return refreshShared().then((fresh) => fresh.token).catch(() => tokens.token);
53
+ };
54
+ return {
55
+ getIdToken,
56
+ getTokens,
57
+ notifyExpired: () => onSessionExpired?.()
58
+ };
59
+ };
60
+ //#endregion
61
+ //#region src/sdks/developerPortal/middleware.ts
62
+ /**
63
+ * Stamps the id token, and on a 401 force-refreshes and replays once. Mirrors
64
+ * `createBearerAuthMiddleware`, minus the `Bearer ` prefix apps-api does not use.
65
+ *
66
+ * An anonymous session passes through unstamped, so a failed login is never read as session expiry.
67
+ */
68
+ const createDeveloperPortalAuthMiddleware = (credential) => {
69
+ return (next) => async (request) => {
70
+ const token = await credential.getIdToken();
71
+ if (token === null) return next(request);
72
+ const retryRequest = request.request.clone();
73
+ request.request.headers.set(HttpHeader.AUTHORIZATION, token);
74
+ try {
75
+ return await next(request);
76
+ } catch (error) {
77
+ if (!isUnauthorized(error)) throw error;
78
+ const refreshed = await credential.getIdToken({ forceRefresh: true }).catch(() => null);
79
+ if (refreshed === null) throw error;
80
+ retryRequest.headers.set(HttpHeader.AUTHORIZATION, refreshed);
81
+ try {
82
+ return await next({
83
+ ...request,
84
+ request: retryRequest
85
+ });
86
+ } catch (retryError) {
87
+ if (isUnauthorized(retryError)) credential.notifyExpired();
88
+ throw retryError;
89
+ }
90
+ }
91
+ };
92
+ };
93
+ //#endregion
94
+ //#region src/sdks/developerPortal/developerPortalSdk.ts
95
+ /**
96
+ * `createDeveloperPortalClient` plus the session that keeps it authenticated: the token store, the
97
+ * credential, the auth middleware, and the tokens the four self-authenticating endpoints need.
98
+ *
99
+ * It constructs its client rather than receiving one like `createTagSdk` does, because the middleware
100
+ * needs the credential, the credential needs the session, and the session needs a client to rotate
101
+ * with. `createKeboola` closes the same cycle the same way, and stays separate from this one because
102
+ * apps-api is its own identity domain.
103
+ */
104
+ const createDeveloperPortalSdk = ({ baseUrl, tokens: initialTokens = null, onTokensChange, onSessionExpired, refreshLeadTimeMs, middlewares = [] }) => {
105
+ const store = createStore(initialTokens);
106
+ store.subscribe((value) => onTokensChange?.(value));
107
+ const getTokens = () => store.get();
108
+ const requireTokens = (action) => {
109
+ const tokens = store.get();
110
+ if (tokens === null) throw new Error(`Developer Portal: ${action} requires a signed-in session.`);
111
+ return tokens;
112
+ };
113
+ const refreshClient = createDeveloperPortalClient({
114
+ baseUrl,
115
+ middlewares
116
+ });
117
+ const refresh = async () => {
118
+ const before = store.get();
119
+ if (before === null) throw new Error("Cannot refresh the Developer Portal session: signed out.");
120
+ const { token, accessToken } = await refreshClient.auth.refreshTokens(before.refreshToken);
121
+ const next = {
122
+ token,
123
+ accessToken,
124
+ refreshToken: before.refreshToken
125
+ };
126
+ const after = store.get();
127
+ if (after === null || after.refreshToken !== before.refreshToken) throw new Error("Developer Portal session changed while refreshing; discarding the result.");
128
+ store.set(next);
129
+ return next;
130
+ };
131
+ const clear = () => store.set(null);
132
+ const credential = createDeveloperPortalCredential({
133
+ refresh,
134
+ getTokens,
135
+ refreshLeadTimeMs,
136
+ onSessionExpired: () => {
137
+ clear();
138
+ onSessionExpired?.();
139
+ }
140
+ });
141
+ const client = createDeveloperPortalClient({
142
+ baseUrl,
143
+ middlewares,
144
+ authMiddleware: createDeveloperPortalAuthMiddleware(credential)
145
+ });
146
+ const { refreshTokens: _storeBypassingRotation, ...auth } = client.auth;
147
+ return {
148
+ api: {
149
+ ...client,
150
+ auth: {
151
+ ...auth,
152
+ logout: async (signal) => client.auth.logout(requireTokens("sign-out").accessToken, signal),
153
+ setupMfa: async (signal) => {
154
+ await credential.getIdToken();
155
+ const { token, accessToken } = requireTokens("MFA enrolment");
156
+ return client.auth.setupMfa({
157
+ idToken: token,
158
+ accessToken
159
+ }, signal);
160
+ },
161
+ confirmMfa: async (code, signal) => {
162
+ await credential.getIdToken();
163
+ const { token, accessToken } = requireTokens("MFA confirmation");
164
+ return client.auth.confirmMfa({
165
+ idToken: token,
166
+ accessToken,
167
+ code
168
+ }, signal);
169
+ }
170
+ }
171
+ },
172
+ session: {
173
+ set: (result) => {
174
+ store.set({
175
+ token: result.token,
176
+ accessToken: result.accessToken,
177
+ refreshToken: result.refreshToken
178
+ });
179
+ },
180
+ get: getTokens,
181
+ subscribe: store.subscribe,
182
+ clear,
183
+ /** Rotates if the id token is inside the lead time. Best-effort; the 401 path is the guarantee. */
184
+ ensureFresh: async () => {
185
+ await credential.getIdToken();
186
+ },
187
+ /**
188
+ * Rotates now, for a change of *claims* rather than age — leaving a vendor is the case that
189
+ * matters, since the stale `profile` claim keeps scoping requests to a vendor the user just left.
190
+ * Propagates failure: a caller forcing this needs to know whether the claims actually changed.
191
+ */
192
+ refresh: async () => {
193
+ await credential.getIdToken({ forceRefresh: true });
194
+ },
195
+ isAuthenticated: () => store.get() !== null
196
+ }
197
+ };
198
+ };
199
+ //#endregion
200
+ export { createDeveloperPortalSdk };
201
+
202
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/sdks/developerPortal/tokenExpiry.ts","../../../src/sdks/developerPortal/credential.ts","../../../src/sdks/developerPortal/middleware.ts","../../../src/sdks/developerPortal/developerPortalSdk.ts"],"sourcesContent":["/**\n * Reads a JWT's `exp` claim as milliseconds, or `null` when unparseable (\"expiry unknown\", which the\n * caller leaves to the 401 path). A read, not a verification.\n *\n * Needed because apps-api reports `expiresIn` on login but never on refresh, so it cannot keep a\n * proactive-refresh clock honest past the first rotation. The token always carries its own expiry.\n */\nexport const readTokenExpiry = (token: string): number | null => {\n const segments = token.split('.');\n if (segments.length !== 3) return null;\n\n const payload = segments[1];\n if (payload === undefined || payload === '') return null;\n\n try {\n // base64url -> base64, and re-pad: `atob` requires padding, base64url omits it.\n const base64 = payload.replaceAll('-', '+').replaceAll('_', '/');\n const padded = base64.padEnd(base64.length + ((4 - (base64.length % 4)) % 4), '=');\n const claims: unknown = JSON.parse(atob(padded));\n if (typeof claims !== 'object' || claims === null || !('exp' in claims)) return null;\n const { exp } = claims as { exp: unknown };\n if (typeof exp !== 'number' || !Number.isFinite(exp)) return null;\n return exp * 1000;\n } catch {\n return null;\n }\n};\n","import type { DeveloperPortalTokens } from '../../clients/developerPortal/tokens';\nimport { isUnauthorized } from '../../keboola/bearer/credential';\nimport { dedupe } from '../../utils';\n\nimport { readTokenExpiry } from './tokenExpiry';\n\ntype Options = {\n refresh: () => Promise<DeveloperPortalTokens>;\n /** Live read from the session, so this holds no token of its own. `null` when signed out. */\n getTokens: () => DeveloperPortalTokens | null;\n /** May fire more than once; the caller owns any fire-once latch. */\n onSessionExpired?: () => void;\n /**\n * An absolute lead time rather than `createBearerCredential`'s fractional threshold: that needs the\n * token's full lifetime, and apps-api reports `expiresIn` on login only, never on refresh.\n */\n refreshLeadTimeMs?: number;\n};\n\nconst DEFAULT_REFRESH_LEAD_TIME_MS = 5 * 60 * 1000;\n\nexport type DeveloperPortalCredential = {\n getIdToken: (options?: { forceRefresh?: boolean }) => Promise<string | null>;\n getTokens: () => DeveloperPortalTokens | null;\n notifyExpired: () => void;\n};\n\n/** Mirrors `createBearerCredential`, over the id token of the trio. */\nexport const createDeveloperPortalCredential = ({\n refresh,\n getTokens,\n onSessionExpired,\n refreshLeadTimeMs = DEFAULT_REFRESH_LEAD_TIME_MS,\n}: Options): DeveloperPortalCredential => {\n const doRefresh = async (): Promise<DeveloperPortalTokens> => {\n try {\n return await refresh();\n } catch (error) {\n // Only a 401 means the refresh token is dead. Signing out over a 5xx would be a self-inflicted\n // logout, so anything else propagates without expiring the session.\n if (isUnauthorized(error)) onSessionExpired?.();\n throw error;\n }\n };\n\n // N concurrent 401s must cause one rotation: each extra one invalidates the tokens the others got.\n const refreshShared = dedupe(doRefresh);\n\n const getIdToken = async ({ forceRefresh = false } = {}): Promise<string | null> => {\n const tokens = getTokens();\n if (tokens === null) return null;\n if (forceRefresh) return (await refreshShared()).token;\n\n const expiresAt = readTokenExpiry(tokens.token);\n // Unknown expiry is left to the 401 path; a `0` here would rotate on every request.\n if (expiresAt === null) return tokens.token;\n if (Date.now() < expiresAt - refreshLeadTimeMs) return tokens.token;\n\n // Proactive rotation is best-effort — a real 401 drives the mandatory one.\n return refreshShared()\n .then((fresh) => fresh.token)\n .catch(() => tokens.token);\n };\n\n return { getIdToken, getTokens, notifyExpired: () => onSessionExpired?.() };\n};\n","import { HttpHeader, type MiddlewareFn } from '../../fetchClient';\nimport { isUnauthorized } from '../../keboola/bearer/credential';\n\nimport type { DeveloperPortalCredential } from './credential';\n\n/**\n * Stamps the id token, and on a 401 force-refreshes and replays once. Mirrors\n * `createBearerAuthMiddleware`, minus the `Bearer ` prefix apps-api does not use.\n *\n * An anonymous session passes through unstamped, so a failed login is never read as session expiry.\n */\nexport const createDeveloperPortalAuthMiddleware = (\n credential: DeveloperPortalCredential,\n): MiddlewareFn => {\n return (next) => async (request) => {\n const token = await credential.getIdToken();\n if (token === null) return next(request);\n\n // Cloned before the first attempt consumes the body. Cloning the `Request` carries a binary or\n // FormData payload through byte-for-byte.\n const retryRequest = request.request.clone();\n request.request.headers.set(HttpHeader.AUTHORIZATION, token);\n\n try {\n return await next(request);\n } catch (error) {\n if (!isUnauthorized(error)) throw error;\n\n const refreshed = await credential.getIdToken({ forceRefresh: true }).catch(() => null);\n // Nothing to replay with, because a concurrent sign-out landed or the rotation failed. The\n // caller's request failed with a 401, so that is what they see.\n if (refreshed === null) throw error;\n retryRequest.headers.set(HttpHeader.AUTHORIZATION, refreshed);\n\n try {\n return await next({ ...request, request: retryRequest });\n } catch (retryError) {\n if (isUnauthorized(retryError)) credential.notifyExpired();\n throw retryError;\n }\n }\n };\n};\n","import { createDeveloperPortalClient } from '../../clients/developerPortal/developerPortalClient';\nimport type { DeveloperPortalTokens } from '../../clients/developerPortal/tokens';\nimport type { LoginSuccess } from '../../clients/developerPortal/types';\nimport type { MiddlewareFn } from '../../fetchClient';\nimport { createStore } from '../../utils';\n\nimport { createDeveloperPortalCredential } from './credential';\nimport { createDeveloperPortalAuthMiddleware } from './middleware';\n\nexport type DeveloperPortalSdkOptions = {\n baseUrl: string;\n /** Session to restore on construction — e.g. a trio read back out of `localStorage`. */\n tokens?: DeveloperPortalTokens | null;\n /** Persistence hook, fired on sign-in, every rotation, and with `null` on sign-out or expiry. */\n onTokensChange?: (tokens: DeveloperPortalTokens | null) => void;\n /** The session is dead; tokens are already cleared. The consumer redirects to sign-in. */\n onSessionExpired?: () => void;\n refreshLeadTimeMs?: number;\n middlewares?: MiddlewareFn[];\n};\n\n/**\n * `createDeveloperPortalClient` plus the session that keeps it authenticated: the token store, the\n * credential, the auth middleware, and the tokens the four self-authenticating endpoints need.\n *\n * It constructs its client rather than receiving one like `createTagSdk` does, because the middleware\n * needs the credential, the credential needs the session, and the session needs a client to rotate\n * with. `createKeboola` closes the same cycle the same way, and stays separate from this one because\n * apps-api is its own identity domain.\n */\nexport const createDeveloperPortalSdk = ({\n baseUrl,\n tokens: initialTokens = null,\n onTokensChange,\n onSessionExpired,\n refreshLeadTimeMs,\n middlewares = [],\n}: DeveloperPortalSdkOptions) => {\n const store = createStore<DeveloperPortalTokens | null>(initialTokens);\n store.subscribe((value) => onTokensChange?.(value));\n\n const getTokens = () => store.get();\n\n const requireTokens = (action: string): DeveloperPortalTokens => {\n const tokens = store.get();\n if (tokens === null) {\n throw new Error(`Developer Portal: ${action} requires a signed-in session.`);\n }\n return tokens;\n };\n\n // No auth middleware: `refreshTokens` sets its own header, so a rotation cannot recurse into the\n // middleware that triggered it.\n const refreshClient = createDeveloperPortalClient({ baseUrl, middlewares });\n\n const refresh = async (): Promise<DeveloperPortalTokens> => {\n const before = store.get();\n if (before === null) {\n throw new Error('Cannot refresh the Developer Portal session: signed out.');\n }\n\n const { token, accessToken } = await refreshClient.auth.refreshTokens(before.refreshToken);\n const next: DeveloperPortalTokens = { token, accessToken, refreshToken: before.refreshToken };\n\n // Sign-out wins over an in-flight rotation: without this, a `clear()` that lands while the request\n // is on the wire is undone by the response, silently signing the user back in.\n const after = store.get();\n if (after === null || after.refreshToken !== before.refreshToken) {\n throw new Error('Developer Portal session changed while refreshing; discarding the result.');\n }\n\n store.set(next);\n return next;\n };\n\n const clear = () => store.set(null);\n\n const credential = createDeveloperPortalCredential({\n refresh,\n getTokens,\n refreshLeadTimeMs,\n onSessionExpired: () => {\n clear();\n onSessionExpired?.();\n },\n });\n\n const client = createDeveloperPortalClient({\n baseUrl,\n middlewares,\n authMiddleware: createDeveloperPortalAuthMiddleware(credential),\n });\n\n // `refreshTokens` is not re-exposed: rotating outside the store would leave the session holding\n // tokens the server has moved past. `session.refresh()` is the supported way.\n const { refreshTokens: _storeBypassingRotation, ...auth } = client.auth;\n\n const api = {\n ...client,\n auth: {\n ...auth,\n logout: async (signal?: AbortSignal) =>\n client.auth.logout(requireTokens('sign-out').accessToken, signal),\n // Both MFA calls bypass the reactive 401 path, so rotate proactively first.\n setupMfa: async (signal?: AbortSignal) => {\n await credential.getIdToken();\n const { token, accessToken } = requireTokens('MFA enrolment');\n return client.auth.setupMfa({ idToken: token, accessToken }, signal);\n },\n confirmMfa: async (code: string, signal?: AbortSignal) => {\n await credential.getIdToken();\n const { token, accessToken } = requireTokens('MFA confirmation');\n return client.auth.confirmMfa({ idToken: token, accessToken, code }, signal);\n },\n },\n };\n\n const session = {\n set: (result: LoginSuccess) => {\n store.set({\n token: result.token,\n accessToken: result.accessToken,\n refreshToken: result.refreshToken,\n });\n },\n get: getTokens,\n subscribe: store.subscribe,\n clear,\n /** Rotates if the id token is inside the lead time. Best-effort; the 401 path is the guarantee. */\n ensureFresh: async (): Promise<void> => {\n await credential.getIdToken();\n },\n /**\n * Rotates now, for a change of *claims* rather than age — leaving a vendor is the case that\n * matters, since the stale `profile` claim keeps scoping requests to a vendor the user just left.\n * Propagates failure: a caller forcing this needs to know whether the claims actually changed.\n */\n refresh: async (): Promise<void> => {\n await credential.getIdToken({ forceRefresh: true });\n },\n isAuthenticated: () => store.get() !== null,\n };\n\n return { api, session };\n};\n\nexport type DeveloperPortalSdk = ReturnType<typeof createDeveloperPortalSdk>;\nexport type DeveloperPortalSession = DeveloperPortalSdk['session'];\n"],"mappings":";;;;;;;;;;;;;AAOA,MAAa,mBAAmB,UAAiC;CAC/D,MAAM,WAAW,MAAM,MAAM,GAAG;CAChC,IAAI,SAAS,WAAW,GAAG,OAAO;CAElC,MAAM,UAAU,SAAS;CACzB,IAAI,YAAY,KAAA,KAAa,YAAY,IAAI,OAAO;CAEpD,IAAI;EAEF,MAAM,SAAS,QAAQ,WAAW,KAAK,GAAG,CAAC,CAAC,WAAW,KAAK,GAAG;EAC/D,MAAM,SAAS,OAAO,OAAO,OAAO,UAAW,IAAK,OAAO,SAAS,KAAM,GAAI,GAAG;EACjF,MAAM,SAAkB,KAAK,MAAM,KAAK,MAAM,CAAC;EAC/C,IAAI,OAAO,WAAW,YAAY,WAAW,QAAQ,EAAE,SAAS,SAAS,OAAO;EAChF,MAAM,EAAE,QAAQ;EAChB,IAAI,OAAO,QAAQ,YAAY,CAAC,OAAO,SAAS,GAAG,GAAG,OAAO;EAC7D,OAAO,MAAM;CACf,QAAQ;EACN,OAAO;CACT;AACF;;;ACPA,MAAM,+BAA+B;;AASrC,MAAa,mCAAmC,EAC9C,SACA,WACA,kBACA,oBAAoB,mCACoB;CACxC,MAAM,YAAY,YAA4C;EAC5D,IAAI;GACF,OAAO,MAAM,QAAQ;EACvB,SAAS,OAAO;GAGd,IAAI,eAAe,KAAK,GAAG,mBAAmB;GAC9C,MAAM;EACR;CACF;CAGA,MAAM,gBAAgB,OAAO,SAAS;CAEtC,MAAM,aAAa,OAAO,EAAE,eAAe,UAAU,CAAC,MAA8B;EAClF,MAAM,SAAS,UAAU;EACzB,IAAI,WAAW,MAAM,OAAO;EAC5B,IAAI,cAAc,QAAQ,MAAM,cAAc,EAAA,CAAG;EAEjD,MAAM,YAAY,gBAAgB,OAAO,KAAK;EAE9C,IAAI,cAAc,MAAM,OAAO,OAAO;EACtC,IAAI,KAAK,IAAI,IAAI,YAAY,mBAAmB,OAAO,OAAO;EAG9D,OAAO,cAAc,CAAC,CACnB,MAAM,UAAU,MAAM,KAAK,CAAC,CAC5B,YAAY,OAAO,KAAK;CAC7B;CAEA,OAAO;EAAE;EAAY;EAAW,qBAAqB,mBAAmB;CAAE;AAC5E;;;;;;;;;ACtDA,MAAa,uCACX,eACiB;CACjB,QAAQ,SAAS,OAAO,YAAY;EAClC,MAAM,QAAQ,MAAM,WAAW,WAAW;EAC1C,IAAI,UAAU,MAAM,OAAO,KAAK,OAAO;EAIvC,MAAM,eAAe,QAAQ,QAAQ,MAAM;EAC3C,QAAQ,QAAQ,QAAQ,IAAI,WAAW,eAAe,KAAK;EAE3D,IAAI;GACF,OAAO,MAAM,KAAK,OAAO;EAC3B,SAAS,OAAO;GACd,IAAI,CAAC,eAAe,KAAK,GAAG,MAAM;GAElC,MAAM,YAAY,MAAM,WAAW,WAAW,EAAE,cAAc,KAAK,CAAC,CAAC,CAAC,YAAY,IAAI;GAGtF,IAAI,cAAc,MAAM,MAAM;GAC9B,aAAa,QAAQ,IAAI,WAAW,eAAe,SAAS;GAE5D,IAAI;IACF,OAAO,MAAM,KAAK;KAAE,GAAG;KAAS,SAAS;IAAa,CAAC;GACzD,SAAS,YAAY;IACnB,IAAI,eAAe,UAAU,GAAG,WAAW,cAAc;IACzD,MAAM;GACR;EACF;CACF;AACF;;;;;;;;;;;;ACZA,MAAa,4BAA4B,EACvC,SACA,QAAQ,gBAAgB,MACxB,gBACA,kBACA,mBACA,cAAc,CAAC,QACgB;CAC/B,MAAM,QAAQ,YAA0C,aAAa;CACrE,MAAM,WAAW,UAAU,iBAAiB,KAAK,CAAC;CAElD,MAAM,kBAAkB,MAAM,IAAI;CAElC,MAAM,iBAAiB,WAA0C;EAC/D,MAAM,SAAS,MAAM,IAAI;EACzB,IAAI,WAAW,MACb,MAAM,IAAI,MAAM,qBAAqB,OAAO,+BAA+B;EAE7E,OAAO;CACT;CAIA,MAAM,gBAAgB,4BAA4B;EAAE;EAAS;CAAY,CAAC;CAE1E,MAAM,UAAU,YAA4C;EAC1D,MAAM,SAAS,MAAM,IAAI;EACzB,IAAI,WAAW,MACb,MAAM,IAAI,MAAM,0DAA0D;EAG5E,MAAM,EAAE,OAAO,gBAAgB,MAAM,cAAc,KAAK,cAAc,OAAO,YAAY;EACzF,MAAM,OAA8B;GAAE;GAAO;GAAa,cAAc,OAAO;EAAa;EAI5F,MAAM,QAAQ,MAAM,IAAI;EACxB,IAAI,UAAU,QAAQ,MAAM,iBAAiB,OAAO,cAClD,MAAM,IAAI,MAAM,2EAA2E;EAG7F,MAAM,IAAI,IAAI;EACd,OAAO;CACT;CAEA,MAAM,cAAc,MAAM,IAAI,IAAI;CAElC,MAAM,aAAa,gCAAgC;EACjD;EACA;EACA;EACA,wBAAwB;GACtB,MAAM;GACN,mBAAmB;EACrB;CACF,CAAC;CAED,MAAM,SAAS,4BAA4B;EACzC;EACA;EACA,gBAAgB,oCAAoC,UAAU;CAChE,CAAC;CAID,MAAM,EAAE,eAAe,yBAAyB,GAAG,SAAS,OAAO;CAgDnE,OAAO;EAAE,KAAA;GA7CP,GAAG;GACH,MAAM;IACJ,GAAG;IACH,QAAQ,OAAO,WACb,OAAO,KAAK,OAAO,cAAc,UAAU,CAAC,CAAC,aAAa,MAAM;IAElE,UAAU,OAAO,WAAyB;KACxC,MAAM,WAAW,WAAW;KAC5B,MAAM,EAAE,OAAO,gBAAgB,cAAc,eAAe;KAC5D,OAAO,OAAO,KAAK,SAAS;MAAE,SAAS;MAAO;KAAY,GAAG,MAAM;IACrE;IACA,YAAY,OAAO,MAAc,WAAyB;KACxD,MAAM,WAAW,WAAW;KAC5B,MAAM,EAAE,OAAO,gBAAgB,cAAc,kBAAkB;KAC/D,OAAO,OAAO,KAAK,WAAW;MAAE,SAAS;MAAO;MAAa;KAAK,GAAG,MAAM;IAC7E;GACF;EA6BS;EAAG,SAAA;GAzBZ,MAAM,WAAyB;IAC7B,MAAM,IAAI;KACR,OAAO,OAAO;KACd,aAAa,OAAO;KACpB,cAAc,OAAO;IACvB,CAAC;GACH;GACA,KAAK;GACL,WAAW,MAAM;GACjB;;GAEA,aAAa,YAA2B;IACtC,MAAM,WAAW,WAAW;GAC9B;;;;;;GAMA,SAAS,YAA2B;IAClC,MAAM,WAAW,WAAW,EAAE,cAAc,KAAK,CAAC;GACpD;GACA,uBAAuB,MAAM,IAAI,MAAM;EAGrB;CAAE;AACxB"}
@@ -0,0 +1,93 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_jobStatus = require("../../jobStatus-kQ9JqF8t.cjs");
3
+ const require_QueryJobTimeoutError = require("../../QueryJobTimeoutError-CVNPdCWX.cjs");
4
+ const require_ValidationError = require("../../ValidationError-h5qvwahi.cjs");
5
+ //#region src/sdks/queryService/queryServiceSdk.ts
6
+ const DEFAULT_WAIT_FOR_JOB_INTERVAL = 500;
7
+ const DEFAULT_MAX_WAIT_TIME = 3e5;
8
+ const DEFAULT_EXECUTE_QUERY_PAGE_SIZE = 5e3;
9
+ const assertPositiveInteger = (name, value) => {
10
+ if (!Number.isInteger(value) || value <= 0) throw new require_ValidationError.ValidationError(`${name} must be a positive integer, got ${value}`);
11
+ };
12
+ /**
13
+ * Higher-level SDK composing queryService client calls with job polling and result-page
14
+ * auto-pagination for orchestrated workflows — mirrors sdks/storage's `createStorageSdk`.
15
+ */
16
+ const createQueryServiceSdk = ({ queryServiceClient }) => {
17
+ /**
18
+ * Polls a job until it reaches a terminal state (`completed`, `failed`, `canceled`).
19
+ * Throws {@link QueryJobError} if the job fails, {@link QueryJobTimeoutError} if it doesn't reach
20
+ * a terminal state within `maxWaitTime`.
21
+ */
22
+ const waitForJob = async (queryJobId, { interval = DEFAULT_WAIT_FOR_JOB_INTERVAL, maxWaitTime = DEFAULT_MAX_WAIT_TIME, signal } = {}) => {
23
+ assertPositiveInteger("interval", interval);
24
+ assertPositiveInteger("maxWaitTime", maxWaitTime);
25
+ const status = await require_jobStatus.poll({
26
+ pollFn: () => queryServiceClient.getQueryJob(queryJobId),
27
+ until: ({ data }) => require_jobStatus.jobStatus.query.isTerminal(data.status),
28
+ backoff: {
29
+ type: "constant",
30
+ interval
31
+ },
32
+ timeout: maxWaitTime,
33
+ signal
34
+ }).unwrap((result) => result.state === "errored" || result.state === "aborted" ? void 0 : new require_QueryJobTimeoutError.QueryJobTimeoutError(`Job did not complete within ${maxWaitTime}ms`, queryJobId));
35
+ if (status.status === "failed") {
36
+ const failedStatements = status.statements.filter((statement) => statement.status === "failed").map((statement) => ({
37
+ id: statement.id,
38
+ error: statement.error
39
+ }));
40
+ throw new require_QueryJobTimeoutError.QueryJobError(failedStatements[0]?.error ?? "Job failed", queryJobId, { failedStatements });
41
+ }
42
+ return status;
43
+ };
44
+ /** Fetches every page of a statement's results, merging them into a single {@link QueryResult}. */
45
+ const fetchAllResultPages = async (queryJobId, statementId, pageSize, maxRows) => {
46
+ const allData = [];
47
+ let offset = 0;
48
+ let firstPage;
49
+ while (true) {
50
+ const remaining = maxRows !== void 0 ? maxRows - allData.length : void 0;
51
+ if (remaining !== void 0 && remaining <= 0) break;
52
+ const currentPageSize = remaining !== void 0 ? Math.min(pageSize, remaining) : pageSize;
53
+ const page = await queryServiceClient.getQueryResults(queryJobId, statementId, {
54
+ offset,
55
+ pageSize: currentPageSize
56
+ });
57
+ firstPage ??= page;
58
+ const pageData = page.data ?? [];
59
+ allData.push(...pageData);
60
+ if (pageData.length < currentPageSize) break;
61
+ offset += pageData.length;
62
+ if (firstPage.numberOfRows !== void 0 && allData.length >= firstPage.numberOfRows) break;
63
+ }
64
+ if (!firstPage) throw new Error(`No result pages returned for statement ${statementId}`);
65
+ return {
66
+ ...firstPage,
67
+ data: allData
68
+ };
69
+ };
70
+ /**
71
+ * Submits a query job, waits for completion, and fetches results for every statement —
72
+ * auto-paginating each statement's results so sets larger than `pageSize` come back in full
73
+ * instead of being truncated at the API's default page size.
74
+ */
75
+ const executeQuery = async (branchId, workspaceId, body, options = {}) => {
76
+ const { pageSize = DEFAULT_EXECUTE_QUERY_PAGE_SIZE, maxRows, ...waitOptions } = options;
77
+ assertPositiveInteger("pageSize", pageSize);
78
+ if (maxRows !== void 0) assertPositiveInteger("maxRows", maxRows);
79
+ const { queryJobId } = await queryServiceClient.createQueryJob(branchId, workspaceId, body);
80
+ const status = await waitForJob(queryJobId, waitOptions);
81
+ const results = [];
82
+ for (const statement of status.statements) results.push(await fetchAllResultPages(queryJobId, statement.id, pageSize, maxRows));
83
+ return results;
84
+ };
85
+ return {
86
+ waitForJob,
87
+ executeQuery
88
+ };
89
+ };
90
+ //#endregion
91
+ exports.createQueryServiceSdk = createQueryServiceSdk;
92
+
93
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["ValidationError","poll","jobStatus","QueryJobTimeoutError","QueryJobError"],"sources":["../../../src/sdks/queryService/queryServiceSdk.ts"],"sourcesContent":["import type { createQueryServiceClient } from '../../clients/queryService';\nimport type {\n GetQueryJobPath,\n JobStatusResponse,\n PostQueryBody,\n PostQueryPath,\n QueryResult,\n} from '../../clients/queryService/types';\nimport { jobStatus } from '../../domain/jobStatus';\nimport { QueryJobError, QueryJobTimeoutError, ValidationError } from '../../errors';\nimport { poll } from '../../utils/async';\n\nconst DEFAULT_WAIT_FOR_JOB_INTERVAL = 500; // ms, the shortest wait the poll engine takes\nconst DEFAULT_MAX_WAIT_TIME = 300_000; // 5 minutes\nconst DEFAULT_EXECUTE_QUERY_PAGE_SIZE = 5000;\n\nconst assertPositiveInteger = (name: string, value: number) => {\n if (!Number.isInteger(value) || value <= 0) {\n throw new ValidationError(`${name} must be a positive integer, got ${value}`);\n }\n};\n\nexport type WaitForJobOptions = {\n /** Poll interval in ms, floored at 500 by the poll engine. Default: 500. */\n interval?: number;\n /** Give up and throw {@link QueryJobTimeoutError} after this many ms. Default: 300_000 (5 min). */\n maxWaitTime?: number;\n signal?: AbortSignal;\n};\n\nexport type ExecuteQueryOptions = WaitForJobOptions & {\n /** Page size used internally while auto-paginating each statement's results. Default: 5000. */\n pageSize?: number;\n /**\n * Caps the number of rows fetched per statement. Pagination stops once this many rows have been\n * collected. Default: unlimited (fetch every row).\n */\n maxRows?: number;\n};\n\ntype QueryServiceSdkOptions = {\n queryServiceClient: ReturnType<typeof createQueryServiceClient>;\n};\n\n/**\n * Higher-level SDK composing queryService client calls with job polling and result-page\n * auto-pagination for orchestrated workflows — mirrors sdks/storage's `createStorageSdk`.\n */\nexport const createQueryServiceSdk = ({ queryServiceClient }: QueryServiceSdkOptions) => {\n /**\n * Polls a job until it reaches a terminal state (`completed`, `failed`, `canceled`).\n * Throws {@link QueryJobError} if the job fails, {@link QueryJobTimeoutError} if it doesn't reach\n * a terminal state within `maxWaitTime`.\n */\n const waitForJob = async (\n queryJobId: GetQueryJobPath['queryJobId'],\n {\n interval = DEFAULT_WAIT_FOR_JOB_INTERVAL,\n maxWaitTime = DEFAULT_MAX_WAIT_TIME,\n signal,\n }: WaitForJobOptions = {},\n ): Promise<JobStatusResponse> => {\n assertPositiveInteger('interval', interval);\n assertPositiveInteger('maxWaitTime', maxWaitTime);\n\n const status = await poll({\n pollFn: () => queryServiceClient.getQueryJob(queryJobId),\n until: ({ data }) => jobStatus.query.isTerminal(data.status),\n backoff: { type: 'constant', interval },\n timeout: maxWaitTime,\n signal,\n }).unwrap((result) =>\n result.state === 'errored' || result.state === 'aborted'\n ? undefined\n : new QueryJobTimeoutError(`Job did not complete within ${maxWaitTime}ms`, queryJobId),\n );\n if (status.status === 'failed') {\n const failedStatements = status.statements\n .filter((statement) => statement.status === 'failed')\n .map((statement) => ({ id: statement.id, error: statement.error }));\n\n throw new QueryJobError(failedStatements[0]?.error ?? 'Job failed', queryJobId, {\n failedStatements,\n });\n }\n\n return status;\n };\n\n /** Fetches every page of a statement's results, merging them into a single {@link QueryResult}. */\n const fetchAllResultPages = async (\n queryJobId: string,\n statementId: string,\n pageSize: number,\n maxRows: number | undefined,\n ): Promise<QueryResult> => {\n const allData: NonNullable<QueryResult['data']> = [];\n let offset = 0;\n let firstPage: QueryResult | undefined;\n\n while (true) {\n const remaining = maxRows !== undefined ? maxRows - allData.length : undefined;\n if (remaining !== undefined && remaining <= 0) break;\n\n const currentPageSize = remaining !== undefined ? Math.min(pageSize, remaining) : pageSize;\n\n const page = await queryServiceClient.getQueryResults(queryJobId, statementId, {\n offset,\n pageSize: currentPageSize,\n });\n firstPage ??= page;\n\n const pageData = page.data ?? [];\n allData.push(...pageData);\n\n // Stop once a page is shorter than requested (end of the result set, or a statement like DDL\n // that has no rows at all) or once `numberOfRows` — known from the first page — is reached.\n if (pageData.length < currentPageSize) break;\n offset += pageData.length;\n if (firstPage.numberOfRows !== undefined && allData.length >= firstPage.numberOfRows) break;\n }\n\n if (!firstPage) {\n // Unreachable: the loop always issues at least one request (pageSize/maxRows are validated as\n // positive integers by executeQuery), assigning firstPage on the first iteration.\n throw new Error(`No result pages returned for statement ${statementId}`);\n }\n\n return { ...firstPage, data: allData };\n };\n\n /**\n * Submits a query job, waits for completion, and fetches results for every statement —\n * auto-paginating each statement's results so sets larger than `pageSize` come back in full\n * instead of being truncated at the API's default page size.\n */\n const executeQuery = async (\n branchId: PostQueryPath['branchId'],\n workspaceId: PostQueryPath['workspaceId'],\n body: PostQueryBody,\n options: ExecuteQueryOptions = {},\n ): Promise<QueryResult[]> => {\n const { pageSize = DEFAULT_EXECUTE_QUERY_PAGE_SIZE, maxRows, ...waitOptions } = options;\n assertPositiveInteger('pageSize', pageSize);\n if (maxRows !== undefined) assertPositiveInteger('maxRows', maxRows);\n\n const { queryJobId } = await queryServiceClient.createQueryJob(branchId, workspaceId, body);\n const status = await waitForJob(queryJobId, waitOptions);\n\n const results: QueryResult[] = [];\n for (const statement of status.statements) {\n results.push(await fetchAllResultPages(queryJobId, statement.id, pageSize, maxRows));\n }\n\n return results;\n };\n\n return {\n waitForJob,\n executeQuery,\n };\n};\n"],"mappings":";;;;;AAYA,MAAM,gCAAgC;AACtC,MAAM,wBAAwB;AAC9B,MAAM,kCAAkC;AAExC,MAAM,yBAAyB,MAAc,UAAkB;CAC7D,IAAI,CAAC,OAAO,UAAU,KAAK,KAAK,SAAS,GACvC,MAAM,IAAIA,wBAAAA,gBAAgB,GAAG,KAAK,mCAAmC,OAAO;AAEhF;;;;;AA4BA,MAAa,yBAAyB,EAAE,yBAAiD;;;;;;CAMvF,MAAM,aAAa,OACjB,YACA,EACE,WAAW,+BACX,cAAc,uBACd,WACqB,CAAC,MACO;EAC/B,sBAAsB,YAAY,QAAQ;EAC1C,sBAAsB,eAAe,WAAW;EAEhD,MAAM,SAAS,MAAMC,kBAAAA,KAAK;GACxB,cAAc,mBAAmB,YAAY,UAAU;GACvD,QAAQ,EAAE,WAAWC,kBAAAA,UAAU,MAAM,WAAW,KAAK,MAAM;GAC3D,SAAS;IAAE,MAAM;IAAY;GAAS;GACtC,SAAS;GACT;EACF,CAAC,CAAC,CAAC,QAAQ,WACT,OAAO,UAAU,aAAa,OAAO,UAAU,YAC3C,KAAA,IACA,IAAIC,6BAAAA,qBAAqB,+BAA+B,YAAY,KAAK,UAAU,CACzF;EACA,IAAI,OAAO,WAAW,UAAU;GAC9B,MAAM,mBAAmB,OAAO,WAC7B,QAAQ,cAAc,UAAU,WAAW,QAAQ,CAAC,CACpD,KAAK,eAAe;IAAE,IAAI,UAAU;IAAI,OAAO,UAAU;GAAM,EAAE;GAEpE,MAAM,IAAIC,6BAAAA,cAAc,iBAAiB,EAAE,EAAE,SAAS,cAAc,YAAY,EAC9E,iBACF,CAAC;EACH;EAEA,OAAO;CACT;;CAGA,MAAM,sBAAsB,OAC1B,YACA,aACA,UACA,YACyB;EACzB,MAAM,UAA4C,CAAC;EACnD,IAAI,SAAS;EACb,IAAI;EAEJ,OAAO,MAAM;GACX,MAAM,YAAY,YAAY,KAAA,IAAY,UAAU,QAAQ,SAAS,KAAA;GACrE,IAAI,cAAc,KAAA,KAAa,aAAa,GAAG;GAE/C,MAAM,kBAAkB,cAAc,KAAA,IAAY,KAAK,IAAI,UAAU,SAAS,IAAI;GAElF,MAAM,OAAO,MAAM,mBAAmB,gBAAgB,YAAY,aAAa;IAC7E;IACA,UAAU;GACZ,CAAC;GACD,cAAc;GAEd,MAAM,WAAW,KAAK,QAAQ,CAAC;GAC/B,QAAQ,KAAK,GAAG,QAAQ;GAIxB,IAAI,SAAS,SAAS,iBAAiB;GACvC,UAAU,SAAS;GACnB,IAAI,UAAU,iBAAiB,KAAA,KAAa,QAAQ,UAAU,UAAU,cAAc;EACxF;EAEA,IAAI,CAAC,WAGH,MAAM,IAAI,MAAM,0CAA0C,aAAa;EAGzE,OAAO;GAAE,GAAG;GAAW,MAAM;EAAQ;CACvC;;;;;;CAOA,MAAM,eAAe,OACnB,UACA,aACA,MACA,UAA+B,CAAC,MACL;EAC3B,MAAM,EAAE,WAAW,iCAAiC,SAAS,GAAG,gBAAgB;EAChF,sBAAsB,YAAY,QAAQ;EAC1C,IAAI,YAAY,KAAA,GAAW,sBAAsB,WAAW,OAAO;EAEnE,MAAM,EAAE,eAAe,MAAM,mBAAmB,eAAe,UAAU,aAAa,IAAI;EAC1F,MAAM,SAAS,MAAM,WAAW,YAAY,WAAW;EAEvD,MAAM,UAAyB,CAAC;EAChC,KAAK,MAAM,aAAa,OAAO,YAC7B,QAAQ,KAAK,MAAM,oBAAoB,YAAY,UAAU,IAAI,UAAU,OAAO,CAAC;EAGrF,OAAO;CACT;CAEA,OAAO;EACL;EACA;CACF;AACF"}
@@ -0,0 +1,2 @@
1
+ import { i as createQueryServiceSdk, n as ExecuteQueryOptions, r as WaitForJobOptions } from "../../index-DplMbm9E.cjs";
2
+ export { ExecuteQueryOptions, WaitForJobOptions, createQueryServiceSdk };
@@ -0,0 +1,2 @@
1
+ import { i as createQueryServiceSdk, n as ExecuteQueryOptions, r as WaitForJobOptions } from "../../index-Dwp8tF6O.js";
2
+ export { ExecuteQueryOptions, WaitForJobOptions, createQueryServiceSdk };
@@ -0,0 +1,92 @@
1
+ import { i as poll, t as jobStatus } from "../../jobStatus-DbMupQEK.js";
2
+ import { r as QueryJobError, t as QueryJobTimeoutError } from "../../QueryJobTimeoutError-C7JbNGOM.js";
3
+ import { t as ValidationError } from "../../ValidationError-CzPWydEb.js";
4
+ //#region src/sdks/queryService/queryServiceSdk.ts
5
+ const DEFAULT_WAIT_FOR_JOB_INTERVAL = 500;
6
+ const DEFAULT_MAX_WAIT_TIME = 3e5;
7
+ const DEFAULT_EXECUTE_QUERY_PAGE_SIZE = 5e3;
8
+ const assertPositiveInteger = (name, value) => {
9
+ if (!Number.isInteger(value) || value <= 0) throw new ValidationError(`${name} must be a positive integer, got ${value}`);
10
+ };
11
+ /**
12
+ * Higher-level SDK composing queryService client calls with job polling and result-page
13
+ * auto-pagination for orchestrated workflows — mirrors sdks/storage's `createStorageSdk`.
14
+ */
15
+ const createQueryServiceSdk = ({ queryServiceClient }) => {
16
+ /**
17
+ * Polls a job until it reaches a terminal state (`completed`, `failed`, `canceled`).
18
+ * Throws {@link QueryJobError} if the job fails, {@link QueryJobTimeoutError} if it doesn't reach
19
+ * a terminal state within `maxWaitTime`.
20
+ */
21
+ const waitForJob = async (queryJobId, { interval = DEFAULT_WAIT_FOR_JOB_INTERVAL, maxWaitTime = DEFAULT_MAX_WAIT_TIME, signal } = {}) => {
22
+ assertPositiveInteger("interval", interval);
23
+ assertPositiveInteger("maxWaitTime", maxWaitTime);
24
+ const status = await poll({
25
+ pollFn: () => queryServiceClient.getQueryJob(queryJobId),
26
+ until: ({ data }) => jobStatus.query.isTerminal(data.status),
27
+ backoff: {
28
+ type: "constant",
29
+ interval
30
+ },
31
+ timeout: maxWaitTime,
32
+ signal
33
+ }).unwrap((result) => result.state === "errored" || result.state === "aborted" ? void 0 : new QueryJobTimeoutError(`Job did not complete within ${maxWaitTime}ms`, queryJobId));
34
+ if (status.status === "failed") {
35
+ const failedStatements = status.statements.filter((statement) => statement.status === "failed").map((statement) => ({
36
+ id: statement.id,
37
+ error: statement.error
38
+ }));
39
+ throw new QueryJobError(failedStatements[0]?.error ?? "Job failed", queryJobId, { failedStatements });
40
+ }
41
+ return status;
42
+ };
43
+ /** Fetches every page of a statement's results, merging them into a single {@link QueryResult}. */
44
+ const fetchAllResultPages = async (queryJobId, statementId, pageSize, maxRows) => {
45
+ const allData = [];
46
+ let offset = 0;
47
+ let firstPage;
48
+ while (true) {
49
+ const remaining = maxRows !== void 0 ? maxRows - allData.length : void 0;
50
+ if (remaining !== void 0 && remaining <= 0) break;
51
+ const currentPageSize = remaining !== void 0 ? Math.min(pageSize, remaining) : pageSize;
52
+ const page = await queryServiceClient.getQueryResults(queryJobId, statementId, {
53
+ offset,
54
+ pageSize: currentPageSize
55
+ });
56
+ firstPage ??= page;
57
+ const pageData = page.data ?? [];
58
+ allData.push(...pageData);
59
+ if (pageData.length < currentPageSize) break;
60
+ offset += pageData.length;
61
+ if (firstPage.numberOfRows !== void 0 && allData.length >= firstPage.numberOfRows) break;
62
+ }
63
+ if (!firstPage) throw new Error(`No result pages returned for statement ${statementId}`);
64
+ return {
65
+ ...firstPage,
66
+ data: allData
67
+ };
68
+ };
69
+ /**
70
+ * Submits a query job, waits for completion, and fetches results for every statement —
71
+ * auto-paginating each statement's results so sets larger than `pageSize` come back in full
72
+ * instead of being truncated at the API's default page size.
73
+ */
74
+ const executeQuery = async (branchId, workspaceId, body, options = {}) => {
75
+ const { pageSize = DEFAULT_EXECUTE_QUERY_PAGE_SIZE, maxRows, ...waitOptions } = options;
76
+ assertPositiveInteger("pageSize", pageSize);
77
+ if (maxRows !== void 0) assertPositiveInteger("maxRows", maxRows);
78
+ const { queryJobId } = await queryServiceClient.createQueryJob(branchId, workspaceId, body);
79
+ const status = await waitForJob(queryJobId, waitOptions);
80
+ const results = [];
81
+ for (const statement of status.statements) results.push(await fetchAllResultPages(queryJobId, statement.id, pageSize, maxRows));
82
+ return results;
83
+ };
84
+ return {
85
+ waitForJob,
86
+ executeQuery
87
+ };
88
+ };
89
+ //#endregion
90
+ export { createQueryServiceSdk };
91
+
92
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/sdks/queryService/queryServiceSdk.ts"],"sourcesContent":["import type { createQueryServiceClient } from '../../clients/queryService';\nimport type {\n GetQueryJobPath,\n JobStatusResponse,\n PostQueryBody,\n PostQueryPath,\n QueryResult,\n} from '../../clients/queryService/types';\nimport { jobStatus } from '../../domain/jobStatus';\nimport { QueryJobError, QueryJobTimeoutError, ValidationError } from '../../errors';\nimport { poll } from '../../utils/async';\n\nconst DEFAULT_WAIT_FOR_JOB_INTERVAL = 500; // ms, the shortest wait the poll engine takes\nconst DEFAULT_MAX_WAIT_TIME = 300_000; // 5 minutes\nconst DEFAULT_EXECUTE_QUERY_PAGE_SIZE = 5000;\n\nconst assertPositiveInteger = (name: string, value: number) => {\n if (!Number.isInteger(value) || value <= 0) {\n throw new ValidationError(`${name} must be a positive integer, got ${value}`);\n }\n};\n\nexport type WaitForJobOptions = {\n /** Poll interval in ms, floored at 500 by the poll engine. Default: 500. */\n interval?: number;\n /** Give up and throw {@link QueryJobTimeoutError} after this many ms. Default: 300_000 (5 min). */\n maxWaitTime?: number;\n signal?: AbortSignal;\n};\n\nexport type ExecuteQueryOptions = WaitForJobOptions & {\n /** Page size used internally while auto-paginating each statement's results. Default: 5000. */\n pageSize?: number;\n /**\n * Caps the number of rows fetched per statement. Pagination stops once this many rows have been\n * collected. Default: unlimited (fetch every row).\n */\n maxRows?: number;\n};\n\ntype QueryServiceSdkOptions = {\n queryServiceClient: ReturnType<typeof createQueryServiceClient>;\n};\n\n/**\n * Higher-level SDK composing queryService client calls with job polling and result-page\n * auto-pagination for orchestrated workflows — mirrors sdks/storage's `createStorageSdk`.\n */\nexport const createQueryServiceSdk = ({ queryServiceClient }: QueryServiceSdkOptions) => {\n /**\n * Polls a job until it reaches a terminal state (`completed`, `failed`, `canceled`).\n * Throws {@link QueryJobError} if the job fails, {@link QueryJobTimeoutError} if it doesn't reach\n * a terminal state within `maxWaitTime`.\n */\n const waitForJob = async (\n queryJobId: GetQueryJobPath['queryJobId'],\n {\n interval = DEFAULT_WAIT_FOR_JOB_INTERVAL,\n maxWaitTime = DEFAULT_MAX_WAIT_TIME,\n signal,\n }: WaitForJobOptions = {},\n ): Promise<JobStatusResponse> => {\n assertPositiveInteger('interval', interval);\n assertPositiveInteger('maxWaitTime', maxWaitTime);\n\n const status = await poll({\n pollFn: () => queryServiceClient.getQueryJob(queryJobId),\n until: ({ data }) => jobStatus.query.isTerminal(data.status),\n backoff: { type: 'constant', interval },\n timeout: maxWaitTime,\n signal,\n }).unwrap((result) =>\n result.state === 'errored' || result.state === 'aborted'\n ? undefined\n : new QueryJobTimeoutError(`Job did not complete within ${maxWaitTime}ms`, queryJobId),\n );\n if (status.status === 'failed') {\n const failedStatements = status.statements\n .filter((statement) => statement.status === 'failed')\n .map((statement) => ({ id: statement.id, error: statement.error }));\n\n throw new QueryJobError(failedStatements[0]?.error ?? 'Job failed', queryJobId, {\n failedStatements,\n });\n }\n\n return status;\n };\n\n /** Fetches every page of a statement's results, merging them into a single {@link QueryResult}. */\n const fetchAllResultPages = async (\n queryJobId: string,\n statementId: string,\n pageSize: number,\n maxRows: number | undefined,\n ): Promise<QueryResult> => {\n const allData: NonNullable<QueryResult['data']> = [];\n let offset = 0;\n let firstPage: QueryResult | undefined;\n\n while (true) {\n const remaining = maxRows !== undefined ? maxRows - allData.length : undefined;\n if (remaining !== undefined && remaining <= 0) break;\n\n const currentPageSize = remaining !== undefined ? Math.min(pageSize, remaining) : pageSize;\n\n const page = await queryServiceClient.getQueryResults(queryJobId, statementId, {\n offset,\n pageSize: currentPageSize,\n });\n firstPage ??= page;\n\n const pageData = page.data ?? [];\n allData.push(...pageData);\n\n // Stop once a page is shorter than requested (end of the result set, or a statement like DDL\n // that has no rows at all) or once `numberOfRows` — known from the first page — is reached.\n if (pageData.length < currentPageSize) break;\n offset += pageData.length;\n if (firstPage.numberOfRows !== undefined && allData.length >= firstPage.numberOfRows) break;\n }\n\n if (!firstPage) {\n // Unreachable: the loop always issues at least one request (pageSize/maxRows are validated as\n // positive integers by executeQuery), assigning firstPage on the first iteration.\n throw new Error(`No result pages returned for statement ${statementId}`);\n }\n\n return { ...firstPage, data: allData };\n };\n\n /**\n * Submits a query job, waits for completion, and fetches results for every statement —\n * auto-paginating each statement's results so sets larger than `pageSize` come back in full\n * instead of being truncated at the API's default page size.\n */\n const executeQuery = async (\n branchId: PostQueryPath['branchId'],\n workspaceId: PostQueryPath['workspaceId'],\n body: PostQueryBody,\n options: ExecuteQueryOptions = {},\n ): Promise<QueryResult[]> => {\n const { pageSize = DEFAULT_EXECUTE_QUERY_PAGE_SIZE, maxRows, ...waitOptions } = options;\n assertPositiveInteger('pageSize', pageSize);\n if (maxRows !== undefined) assertPositiveInteger('maxRows', maxRows);\n\n const { queryJobId } = await queryServiceClient.createQueryJob(branchId, workspaceId, body);\n const status = await waitForJob(queryJobId, waitOptions);\n\n const results: QueryResult[] = [];\n for (const statement of status.statements) {\n results.push(await fetchAllResultPages(queryJobId, statement.id, pageSize, maxRows));\n }\n\n return results;\n };\n\n return {\n waitForJob,\n executeQuery,\n };\n};\n"],"mappings":";;;;AAYA,MAAM,gCAAgC;AACtC,MAAM,wBAAwB;AAC9B,MAAM,kCAAkC;AAExC,MAAM,yBAAyB,MAAc,UAAkB;CAC7D,IAAI,CAAC,OAAO,UAAU,KAAK,KAAK,SAAS,GACvC,MAAM,IAAI,gBAAgB,GAAG,KAAK,mCAAmC,OAAO;AAEhF;;;;;AA4BA,MAAa,yBAAyB,EAAE,yBAAiD;;;;;;CAMvF,MAAM,aAAa,OACjB,YACA,EACE,WAAW,+BACX,cAAc,uBACd,WACqB,CAAC,MACO;EAC/B,sBAAsB,YAAY,QAAQ;EAC1C,sBAAsB,eAAe,WAAW;EAEhD,MAAM,SAAS,MAAM,KAAK;GACxB,cAAc,mBAAmB,YAAY,UAAU;GACvD,QAAQ,EAAE,WAAW,UAAU,MAAM,WAAW,KAAK,MAAM;GAC3D,SAAS;IAAE,MAAM;IAAY;GAAS;GACtC,SAAS;GACT;EACF,CAAC,CAAC,CAAC,QAAQ,WACT,OAAO,UAAU,aAAa,OAAO,UAAU,YAC3C,KAAA,IACA,IAAI,qBAAqB,+BAA+B,YAAY,KAAK,UAAU,CACzF;EACA,IAAI,OAAO,WAAW,UAAU;GAC9B,MAAM,mBAAmB,OAAO,WAC7B,QAAQ,cAAc,UAAU,WAAW,QAAQ,CAAC,CACpD,KAAK,eAAe;IAAE,IAAI,UAAU;IAAI,OAAO,UAAU;GAAM,EAAE;GAEpE,MAAM,IAAI,cAAc,iBAAiB,EAAE,EAAE,SAAS,cAAc,YAAY,EAC9E,iBACF,CAAC;EACH;EAEA,OAAO;CACT;;CAGA,MAAM,sBAAsB,OAC1B,YACA,aACA,UACA,YACyB;EACzB,MAAM,UAA4C,CAAC;EACnD,IAAI,SAAS;EACb,IAAI;EAEJ,OAAO,MAAM;GACX,MAAM,YAAY,YAAY,KAAA,IAAY,UAAU,QAAQ,SAAS,KAAA;GACrE,IAAI,cAAc,KAAA,KAAa,aAAa,GAAG;GAE/C,MAAM,kBAAkB,cAAc,KAAA,IAAY,KAAK,IAAI,UAAU,SAAS,IAAI;GAElF,MAAM,OAAO,MAAM,mBAAmB,gBAAgB,YAAY,aAAa;IAC7E;IACA,UAAU;GACZ,CAAC;GACD,cAAc;GAEd,MAAM,WAAW,KAAK,QAAQ,CAAC;GAC/B,QAAQ,KAAK,GAAG,QAAQ;GAIxB,IAAI,SAAS,SAAS,iBAAiB;GACvC,UAAU,SAAS;GACnB,IAAI,UAAU,iBAAiB,KAAA,KAAa,QAAQ,UAAU,UAAU,cAAc;EACxF;EAEA,IAAI,CAAC,WAGH,MAAM,IAAI,MAAM,0CAA0C,aAAa;EAGzE,OAAO;GAAE,GAAG;GAAW,MAAM;EAAQ;CACvC;;;;;;CAOA,MAAM,eAAe,OACnB,UACA,aACA,MACA,UAA+B,CAAC,MACL;EAC3B,MAAM,EAAE,WAAW,iCAAiC,SAAS,GAAG,gBAAgB;EAChF,sBAAsB,YAAY,QAAQ;EAC1C,IAAI,YAAY,KAAA,GAAW,sBAAsB,WAAW,OAAO;EAEnE,MAAM,EAAE,eAAe,MAAM,mBAAmB,eAAe,UAAU,aAAa,IAAI;EAC1F,MAAM,SAAS,MAAM,WAAW,YAAY,WAAW;EAEvD,MAAM,UAAyB,CAAC;EAChC,KAAK,MAAM,aAAa,OAAO,YAC7B,QAAQ,KAAK,MAAM,oBAAoB,YAAY,UAAU,IAAI,UAAU,OAAO,CAAC;EAGrF,OAAO;CACT;CAEA,OAAO;EACL;EACA;CACF;AACF"}