@keboola/api-client 3.0.0 → 4.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 (244) hide show
  1. package/README.md +0 -33
  2. package/dist/ai/index.cjs +3 -3
  3. package/dist/ai/index.d.cts +1 -1
  4. package/dist/ai/index.d.ts +1 -1
  5. package/dist/ai/index.js +2 -2
  6. package/dist/assets/index.cjs +3 -3
  7. package/dist/assets/index.d.cts +1 -1
  8. package/dist/assets/index.d.ts +1 -1
  9. package/dist/assets/index.js +2 -2
  10. package/dist/{authMiddleware-BteBe1Bt.d.cts → authMiddleware-CeIxAJQ5.d.cts} +1 -1
  11. package/dist/{authMiddleware-BTFSCMTE.d.ts → authMiddleware-Dcy9gRT9.d.ts} +1 -1
  12. package/dist/chat/index.cjs +3 -3
  13. package/dist/chat/index.d.cts +1 -1
  14. package/dist/chat/index.d.ts +1 -1
  15. package/dist/chat/index.js +2 -2
  16. package/dist/{chunk-R7PD3BRA.js → chunk-2ZMZ4KWJ.js} +3 -23
  17. package/dist/chunk-2ZMZ4KWJ.js.map +1 -0
  18. package/dist/{chunk-VS5PM7KL.js → chunk-3DW7RIEB.js} +4 -4
  19. package/dist/chunk-3DW7RIEB.js.map +1 -0
  20. package/dist/{chunk-633QJMHH.cjs → chunk-4TENBFWN.cjs} +5 -5
  21. package/dist/chunk-4TENBFWN.cjs.map +1 -0
  22. package/dist/{chunk-LZ6A6J2E.cjs → chunk-5DVEQBCD.cjs} +8 -8
  23. package/dist/chunk-5DVEQBCD.cjs.map +1 -0
  24. package/dist/{chunk-3Y6NK7TC.js → chunk-5PUNJJAR.js} +4 -4
  25. package/dist/chunk-5PUNJJAR.js.map +1 -0
  26. package/dist/{chunk-6RQDX6JY.cjs → chunk-5YN6FED2.cjs} +6 -6
  27. package/dist/chunk-5YN6FED2.cjs.map +1 -0
  28. package/dist/{chunk-3T54WH4X.cjs → chunk-6D3MJRXE.cjs} +5 -5
  29. package/dist/chunk-6D3MJRXE.cjs.map +1 -0
  30. package/dist/{chunk-76AHKXLC.cjs → chunk-6FW72PC2.cjs} +9 -9
  31. package/dist/chunk-6FW72PC2.cjs.map +1 -0
  32. package/dist/{chunk-IY3VNVXD.cjs → chunk-6HBXNLB7.cjs} +5 -5
  33. package/dist/chunk-6HBXNLB7.cjs.map +1 -0
  34. package/dist/{chunk-WQ7EZWBF.js → chunk-6TUGEXVX.js} +4 -4
  35. package/dist/chunk-6TUGEXVX.js.map +1 -0
  36. package/dist/{chunk-OKVYLO6C.js → chunk-76Q2CTFV.js} +4 -4
  37. package/dist/chunk-76Q2CTFV.js.map +1 -0
  38. package/dist/chunk-7ETZQGY7.js +75 -0
  39. package/dist/chunk-7ETZQGY7.js.map +1 -0
  40. package/dist/{chunk-TNJWOHPM.js → chunk-7NX56CKZ.js} +127 -77
  41. package/dist/chunk-7NX56CKZ.js.map +1 -0
  42. package/dist/{chunk-EY5LALX2.cjs → chunk-AYXQJONA.cjs} +5 -5
  43. package/dist/chunk-AYXQJONA.cjs.map +1 -0
  44. package/dist/{chunk-YPCD7M2N.cjs → chunk-BA2JMZP6.cjs} +5 -5
  45. package/dist/chunk-BA2JMZP6.cjs.map +1 -0
  46. package/dist/{chunk-SAEG42HW.js → chunk-CQFZ7PGZ.js} +4 -4
  47. package/dist/chunk-CQFZ7PGZ.js.map +1 -0
  48. package/dist/{chunk-JKFIB6SQ.cjs → chunk-D2ZTB5R2.cjs} +33 -35
  49. package/dist/chunk-D2ZTB5R2.cjs.map +1 -0
  50. package/dist/{chunk-YXCVNX2Q.cjs → chunk-ECQZAWH3.cjs} +5 -5
  51. package/dist/chunk-ECQZAWH3.cjs.map +1 -0
  52. package/dist/{chunk-GO6SOMGL.js → chunk-GLQZHLLN.js} +4 -4
  53. package/dist/chunk-GLQZHLLN.js.map +1 -0
  54. package/dist/{chunk-XFC52BJV.cjs → chunk-HCH4WXK2.cjs} +131 -81
  55. package/dist/chunk-HCH4WXK2.cjs.map +1 -0
  56. package/dist/{chunk-TXFQ4YIK.js → chunk-HLGMFFDF.js} +4 -4
  57. package/dist/chunk-HLGMFFDF.js.map +1 -0
  58. package/dist/{chunk-JLNOESHX.cjs → chunk-IL2PAEG3.cjs} +5 -5
  59. package/dist/chunk-IL2PAEG3.cjs.map +1 -0
  60. package/dist/chunk-IWIN6HKU.cjs +82 -0
  61. package/dist/chunk-IWIN6HKU.cjs.map +1 -0
  62. package/dist/{chunk-HCNNMUTR.cjs → chunk-KOO3ZG5X.cjs} +5 -5
  63. package/dist/chunk-KOO3ZG5X.cjs.map +1 -0
  64. package/dist/{chunk-VAOCYA6B.js → chunk-LBVYZLWL.js} +4 -4
  65. package/dist/chunk-LBVYZLWL.js.map +1 -0
  66. package/dist/{chunk-BGLICNTG.cjs → chunk-LI3BAYDV.cjs} +5 -5
  67. package/dist/chunk-LI3BAYDV.cjs.map +1 -0
  68. package/dist/{chunk-HPVTVQBJ.cjs → chunk-MTFRH3R5.cjs} +4 -22
  69. package/dist/chunk-MTFRH3R5.cjs.map +1 -0
  70. package/dist/{chunk-GNPQB3MT.js → chunk-OAKTIIG4.js} +3 -3
  71. package/dist/chunk-OAKTIIG4.js.map +1 -0
  72. package/dist/{chunk-LV3ZWNDC.js → chunk-PM2FAMWT.js} +4 -4
  73. package/dist/chunk-PM2FAMWT.js.map +1 -0
  74. package/dist/{chunk-PV4HIVW2.js → chunk-Q6T6GRDR.js} +4 -4
  75. package/dist/chunk-Q6T6GRDR.js.map +1 -0
  76. package/dist/{chunk-PD3LJYS2.js → chunk-QXWPUKK2.js} +5 -22
  77. package/dist/chunk-QXWPUKK2.js.map +1 -0
  78. package/dist/{chunk-UXF53ZOV.js → chunk-RBGTWJ7G.js} +4 -4
  79. package/dist/chunk-RBGTWJ7G.js.map +1 -0
  80. package/dist/{chunk-ZEMKE6DI.js → chunk-RBW5ABSQ.js} +24 -26
  81. package/dist/chunk-RBW5ABSQ.js.map +1 -0
  82. package/dist/{chunk-TIIRBQUA.cjs → chunk-REXMA2IN.cjs} +5 -5
  83. package/dist/chunk-REXMA2IN.cjs.map +1 -0
  84. package/dist/{chunk-HYUGRMCY.cjs → chunk-RTD3XWBM.cjs} +8 -8
  85. package/dist/chunk-RTD3XWBM.cjs.map +1 -0
  86. package/dist/{chunk-FBQHHAL5.js → chunk-T23NVI3Q.js} +4 -4
  87. package/dist/chunk-T23NVI3Q.js.map +1 -0
  88. package/dist/{chunk-IJMQCOBC.js → chunk-V35JLM5Q.js} +4 -4
  89. package/dist/chunk-V35JLM5Q.js.map +1 -0
  90. package/dist/{chunk-DCTDH77P.cjs → chunk-VLSN55I3.cjs} +2 -24
  91. package/dist/chunk-VLSN55I3.cjs.map +1 -0
  92. package/dist/{chunk-XUDMML5C.cjs → chunk-WMJUK4P4.cjs} +6 -5
  93. package/dist/chunk-WMJUK4P4.cjs.map +1 -0
  94. package/dist/{chunk-3B7L6MCG.js → chunk-X73I4PLK.js} +5 -4
  95. package/dist/chunk-X73I4PLK.js.map +1 -0
  96. package/dist/{chunk-YUEYMIMI.cjs → chunk-ZIVZF6M2.cjs} +6 -6
  97. package/dist/chunk-ZIVZF6M2.cjs.map +1 -0
  98. package/dist/{chunk-7FY6COWG.js → chunk-ZQPET6GI.js} +4 -4
  99. package/dist/chunk-ZQPET6GI.js.map +1 -0
  100. package/dist/{createGenericFetchClient-DEakI3F1.d.ts → createGenericFetchClient-Cp2By_KQ.d.ts} +1 -1
  101. package/dist/{createGenericFetchClient-CLUzu-jY.d.cts → createGenericFetchClient-DuW7iSRy.d.cts} +1 -1
  102. package/dist/{createOpenapiFetchClient-CpXmAIFB.d.cts → createOpenapiFetchClient-BuKDZcLD.d.cts} +1 -1
  103. package/dist/{createOpenapiFetchClient-_sm4bchL.d.ts → createOpenapiFetchClient-DhL2gQvd.d.ts} +1 -1
  104. package/dist/dataScience/index.cjs +4 -4
  105. package/dist/dataScience/index.d.cts +1 -1
  106. package/dist/dataScience/index.d.ts +1 -1
  107. package/dist/dataScience/index.js +2 -2
  108. package/dist/domain/storageTable/index.cjs +267 -0
  109. package/dist/domain/storageTable/index.cjs.map +1 -0
  110. package/dist/domain/storageTable/index.d.cts +131 -0
  111. package/dist/domain/storageTable/index.d.ts +131 -0
  112. package/dist/domain/storageTable/index.js +264 -0
  113. package/dist/domain/storageTable/index.js.map +1 -0
  114. package/dist/editor/index.cjs +3 -3
  115. package/dist/editor/index.d.cts +2 -2
  116. package/dist/editor/index.d.ts +2 -2
  117. package/dist/editor/index.js +2 -2
  118. package/dist/editor/types.d.cts +1 -1
  119. package/dist/editor/types.d.ts +1 -1
  120. package/dist/encryption/index.cjs +3 -3
  121. package/dist/encryption/index.d.cts +1 -1
  122. package/dist/encryption/index.d.ts +1 -1
  123. package/dist/encryption/index.js +2 -2
  124. package/dist/import/index.cjs +3 -3
  125. package/dist/import/index.d.cts +1 -1
  126. package/dist/import/index.d.ts +1 -1
  127. package/dist/import/index.js +2 -2
  128. package/dist/index.cjs +316 -182
  129. package/dist/index.cjs.map +1 -1
  130. package/dist/index.d.cts +115 -28
  131. package/dist/index.d.ts +115 -28
  132. package/dist/index.js +287 -150
  133. package/dist/index.js.map +1 -1
  134. package/dist/management/index.cjs +5 -5
  135. package/dist/management/index.d.cts +5 -5
  136. package/dist/management/index.d.ts +5 -5
  137. package/dist/management/index.js +3 -3
  138. package/dist/metastore/index.cjs +3 -3
  139. package/dist/metastore/index.d.cts +2 -2
  140. package/dist/metastore/index.d.ts +2 -2
  141. package/dist/metastore/index.js +2 -2
  142. package/dist/oauth/index.cjs +3 -3
  143. package/dist/oauth/index.d.cts +1 -1
  144. package/dist/oauth/index.d.ts +1 -1
  145. package/dist/oauth/index.js +2 -2
  146. package/dist/queryService/index.cjs +3 -3
  147. package/dist/queryService/index.d.cts +1 -1
  148. package/dist/queryService/index.d.ts +1 -1
  149. package/dist/queryService/index.js +2 -2
  150. package/dist/queue/index.cjs +3 -3
  151. package/dist/queue/index.d.cts +1 -1
  152. package/dist/queue/index.d.ts +1 -1
  153. package/dist/queue/index.js +2 -2
  154. package/dist/sdk/storage/index.cjs +11 -19
  155. package/dist/sdk/storage/index.d.cts +6 -17
  156. package/dist/sdk/storage/index.d.ts +6 -17
  157. package/dist/sdk/storage/index.js +1 -1
  158. package/dist/sdk/tag/index.d.cts +2 -2
  159. package/dist/sdk/tag/index.d.ts +2 -2
  160. package/dist/sdk/tag/types.d.cts +2 -2
  161. package/dist/sdk/tag/types.d.ts +2 -2
  162. package/dist/sdk/vault/index.cjs +33 -0
  163. package/dist/sdk/vault/index.cjs.map +1 -0
  164. package/dist/sdk/vault/index.d.cts +70 -0
  165. package/dist/sdk/vault/index.d.ts +70 -0
  166. package/dist/sdk/vault/index.js +4 -0
  167. package/dist/sdk/vault/index.js.map +1 -0
  168. package/dist/status/index.cjs +3 -3
  169. package/dist/status/index.d.cts +1 -1
  170. package/dist/status/index.d.ts +1 -1
  171. package/dist/status/index.js +2 -2
  172. package/dist/storage/index.cjs +4 -4
  173. package/dist/storage/index.d.cts +4 -4
  174. package/dist/storage/index.d.ts +4 -4
  175. package/dist/storage/index.js +2 -2
  176. package/dist/storage/types.d.cts +54 -1
  177. package/dist/storage/types.d.ts +54 -1
  178. package/dist/{storageClient-CDX-GvNV.d.cts → storageClient-DTTDHnLM.d.cts} +7 -4
  179. package/dist/{storageClient-BgvUM7gy.d.ts → storageClient-xm0yUrNc.d.ts} +7 -4
  180. package/dist/{storageSdk-IOIdwqy-.d.cts → storageSdk-CxNyfe5Z.d.cts} +1 -1
  181. package/dist/{storageSdk-qGaWB1dy.d.ts → storageSdk-bwKHEMB4.d.ts} +1 -1
  182. package/dist/syncActions/index.cjs +3 -3
  183. package/dist/syncActions/index.d.cts +3 -2
  184. package/dist/syncActions/index.d.ts +3 -2
  185. package/dist/syncActions/index.js +2 -2
  186. package/dist/telemetry/index.cjs +3 -3
  187. package/dist/telemetry/index.d.cts +2 -2
  188. package/dist/telemetry/index.d.ts +2 -2
  189. package/dist/telemetry/index.js +2 -2
  190. package/dist/{types-DgaMV8FF.d.ts → types-Bom8wyth.d.cts} +1 -13
  191. package/dist/{types-DgaMV8FF.d.cts → types-Bom8wyth.d.ts} +1 -13
  192. package/dist/types-Brx8PoEB.d.cts +11 -0
  193. package/dist/{types-B--u7l2H.d.ts → types-CqWXdTMg.d.ts} +0 -19
  194. package/dist/types-D4CDCW-Y.d.ts +11 -0
  195. package/dist/{types-C0Owx2P7.d.cts → types-DBVQGCI1.d.cts} +0 -19
  196. package/dist/vault/index.cjs +3 -3
  197. package/dist/vault/index.d.cts +1 -1
  198. package/dist/vault/index.d.ts +1 -1
  199. package/dist/vault/index.js +2 -2
  200. package/dist/vault/types.d.cts +3 -2
  201. package/dist/vault/types.d.ts +3 -2
  202. package/dist/verify/index.cjs +3 -3
  203. package/dist/verify/index.js +2 -2
  204. package/package.json +30 -4
  205. package/dist/chunk-3B7L6MCG.js.map +0 -1
  206. package/dist/chunk-3T54WH4X.cjs.map +0 -1
  207. package/dist/chunk-3Y6NK7TC.js.map +0 -1
  208. package/dist/chunk-633QJMHH.cjs.map +0 -1
  209. package/dist/chunk-6RQDX6JY.cjs.map +0 -1
  210. package/dist/chunk-76AHKXLC.cjs.map +0 -1
  211. package/dist/chunk-7FY6COWG.js.map +0 -1
  212. package/dist/chunk-BGLICNTG.cjs.map +0 -1
  213. package/dist/chunk-DCTDH77P.cjs.map +0 -1
  214. package/dist/chunk-EY5LALX2.cjs.map +0 -1
  215. package/dist/chunk-FBQHHAL5.js.map +0 -1
  216. package/dist/chunk-GNPQB3MT.js.map +0 -1
  217. package/dist/chunk-GO6SOMGL.js.map +0 -1
  218. package/dist/chunk-HCNNMUTR.cjs.map +0 -1
  219. package/dist/chunk-HPVTVQBJ.cjs.map +0 -1
  220. package/dist/chunk-HYUGRMCY.cjs.map +0 -1
  221. package/dist/chunk-IJMQCOBC.js.map +0 -1
  222. package/dist/chunk-IY3VNVXD.cjs.map +0 -1
  223. package/dist/chunk-JKFIB6SQ.cjs.map +0 -1
  224. package/dist/chunk-JLNOESHX.cjs.map +0 -1
  225. package/dist/chunk-LV3ZWNDC.js.map +0 -1
  226. package/dist/chunk-LZ6A6J2E.cjs.map +0 -1
  227. package/dist/chunk-OKVYLO6C.js.map +0 -1
  228. package/dist/chunk-PD3LJYS2.js.map +0 -1
  229. package/dist/chunk-PV4HIVW2.js.map +0 -1
  230. package/dist/chunk-R7PD3BRA.js.map +0 -1
  231. package/dist/chunk-SAEG42HW.js.map +0 -1
  232. package/dist/chunk-TIIRBQUA.cjs.map +0 -1
  233. package/dist/chunk-TNJWOHPM.js.map +0 -1
  234. package/dist/chunk-TXFQ4YIK.js.map +0 -1
  235. package/dist/chunk-UXF53ZOV.js.map +0 -1
  236. package/dist/chunk-VAOCYA6B.js.map +0 -1
  237. package/dist/chunk-VS5PM7KL.js.map +0 -1
  238. package/dist/chunk-WQ7EZWBF.js.map +0 -1
  239. package/dist/chunk-XFC52BJV.cjs.map +0 -1
  240. package/dist/chunk-XUDMML5C.cjs.map +0 -1
  241. package/dist/chunk-YPCD7M2N.cjs.map +0 -1
  242. package/dist/chunk-YUEYMIMI.cjs.map +0 -1
  243. package/dist/chunk-YXCVNX2Q.cjs.map +0 -1
  244. package/dist/chunk-ZEMKE6DI.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,35 +1,36 @@
1
1
  import { createProject } from './chunk-UABYNGBZ.js';
2
+ import { createVaultSdk } from './chunk-7ETZQGY7.js';
2
3
  import { generateUUID, createTagSdk } from './chunk-JURD5MC3.js';
3
4
  export { generateUUID, keboolaUID } from './chunk-JURD5MC3.js';
4
- import { delay, createStorageSdk } from './chunk-R7PD3BRA.js';
5
- export { PollException, createStorageSdk, delay, poll } from './chunk-R7PD3BRA.js';
6
- import { createTelemetryClient } from './chunk-TXFQ4YIK.js';
7
- import { createVaultClient } from './chunk-SAEG42HW.js';
8
- export { UserError } from './chunk-SAEG42HW.js';
9
- import { createManagementClient } from './chunk-ZEMKE6DI.js';
10
- export { ManagementClientAuthError, isManagementClientAuthError } from './chunk-ZEMKE6DI.js';
11
- import { createVerifyClient } from './chunk-GNPQB3MT.js';
12
- import { createMetastoreClient } from './chunk-GO6SOMGL.js';
13
- import { createOauthClient } from './chunk-7FY6COWG.js';
14
- import { createQueryServiceClient } from './chunk-LV3ZWNDC.js';
15
- import { createQueueClient } from './chunk-3Y6NK7TC.js';
16
- import { createStatusClient } from './chunk-VAOCYA6B.js';
5
+ import { delay, createStorageSdk } from './chunk-2ZMZ4KWJ.js';
6
+ export { PollException, createStorageSdk, delay, poll } from './chunk-2ZMZ4KWJ.js';
7
+ import { createTelemetryClient } from './chunk-HLGMFFDF.js';
8
+ import { createVaultClient } from './chunk-CQFZ7PGZ.js';
9
+ export { UserError } from './chunk-CQFZ7PGZ.js';
10
+ import { createManagementClient } from './chunk-RBW5ABSQ.js';
11
+ export { ManagementClientAuthError, isManagementClientAuthError } from './chunk-RBW5ABSQ.js';
12
+ import { createVerifyClient } from './chunk-OAKTIIG4.js';
13
+ import { createMetastoreClient } from './chunk-GLQZHLLN.js';
14
+ import { createOauthClient } from './chunk-ZQPET6GI.js';
15
+ import { createQueryServiceClient } from './chunk-PM2FAMWT.js';
16
+ import { createQueueClient } from './chunk-5PUNJJAR.js';
17
+ import { createStatusClient } from './chunk-LBVYZLWL.js';
17
18
  import './chunk-7J2R6XHB.js';
18
- import { createStorageTokenMiddleware, createStorageClient } from './chunk-TNJWOHPM.js';
19
- export { series } from './chunk-TNJWOHPM.js';
19
+ import { createStorageTokenMiddleware, createStorageClient } from './chunk-7NX56CKZ.js';
20
+ export { series } from './chunk-7NX56CKZ.js';
20
21
  export { concurrent } from './chunk-EBCZUGUX.js';
21
- import { createSyncActionsClient } from './chunk-3B7L6MCG.js';
22
- import { createAiClient } from './chunk-VS5PM7KL.js';
23
- import { createAssetsClient } from './chunk-WQ7EZWBF.js';
24
- import { createChatClient } from './chunk-PV4HIVW2.js';
22
+ import { createSyncActionsClient } from './chunk-X73I4PLK.js';
23
+ import { createAiClient } from './chunk-3DW7RIEB.js';
24
+ import { createAssetsClient } from './chunk-6TUGEXVX.js';
25
+ import { createChatClient } from './chunk-Q6T6GRDR.js';
25
26
  import { suggestionsApiResponseSchema } from './chunk-4RC5E3SL.js';
26
- import { createDataScienceClient } from './chunk-UXF53ZOV.js';
27
- export { parseLogLines } from './chunk-UXF53ZOV.js';
28
- import { createEditorClient } from './chunk-OKVYLO6C.js';
29
- import { createEncryptionClient } from './chunk-IJMQCOBC.js';
30
- import { createImportClient } from './chunk-FBQHHAL5.js';
31
- import { KeboolaHttpHeader, HttpStatus, ApiError, createCallbackMiddleware, normalizeBaseUrl, createOpenapiFetchClient, createGenericFetchClient } from './chunk-PD3LJYS2.js';
32
- export { ApiError, HttpContentType, HttpHeader, KeboolaHttpHeader, createGenericFetchClient, isAbortError, isApiError, isFetchClientError, normalizeBaseUrl } from './chunk-PD3LJYS2.js';
27
+ import { createDataScienceClient } from './chunk-RBGTWJ7G.js';
28
+ export { parseLogLines } from './chunk-RBGTWJ7G.js';
29
+ import { createEditorClient } from './chunk-76Q2CTFV.js';
30
+ import { createEncryptionClient } from './chunk-V35JLM5Q.js';
31
+ import { createImportClient } from './chunk-T23NVI3Q.js';
32
+ import { KeboolaHttpHeader, HttpStatus, isApiError, ApiError, createOpenapiFetchClient, createGenericFetchClient } from './chunk-QXWPUKK2.js';
33
+ export { ApiError, HttpContentType, HttpHeader, KeboolaHttpHeader, createGenericFetchClient, isAbortError, isApiError, isFetchClientError } from './chunk-QXWPUKK2.js';
33
34
  import { z } from 'zod';
34
35
 
35
36
  // src/errors/ServiceUnavailableError.ts
@@ -84,7 +85,7 @@ var sandboxGitBranchSchema = z.object({
84
85
  branch: z.string().nullable()
85
86
  });
86
87
  var createKaiAgentClient = ({ baseUrl, middlewares }) => {
87
- const clientOptions = { baseUrl: normalizeBaseUrl(baseUrl), middlewares };
88
+ const clientOptions = { baseUrl, middlewares };
88
89
  const client = createOpenapiFetchClient(clientOptions);
89
90
  const genericClient = createGenericFetchClient(clientOptions);
90
91
  const getHistory = async (params) => {
@@ -260,6 +261,53 @@ function assert(value, message) {
260
261
  }
261
262
  }
262
263
 
264
+ // src/utils/coalesce.ts
265
+ var coalesce = (task, onError) => {
266
+ let running = false;
267
+ let pending = false;
268
+ return () => {
269
+ if (running) {
270
+ pending = true;
271
+ return;
272
+ }
273
+ running = true;
274
+ void (async () => {
275
+ try {
276
+ do {
277
+ pending = false;
278
+ try {
279
+ await task();
280
+ } catch (error) {
281
+ onError?.(error);
282
+ }
283
+ } while (pending);
284
+ } finally {
285
+ running = false;
286
+ }
287
+ })();
288
+ };
289
+ };
290
+
291
+ // src/utils/createStore.ts
292
+ var createStore = (initial) => {
293
+ let value = initial;
294
+ const listeners = /* @__PURE__ */ new Set();
295
+ return {
296
+ get: () => value,
297
+ set: (next) => {
298
+ if (Object.is(next, value)) return;
299
+ value = next;
300
+ listeners.forEach((listener) => listener(value));
301
+ },
302
+ subscribe: (listener) => {
303
+ listeners.add(listener);
304
+ return () => {
305
+ listeners.delete(listener);
306
+ };
307
+ }
308
+ };
309
+ };
310
+
263
311
  // src/domain/stack.ts
264
312
  var SERVICE_URL_OVERRIDES = {
265
313
  // The service URL for the Kai Assistant is incomplete; we need to add the `/api` suffix to get the full URL for the API.
@@ -302,6 +350,16 @@ var createStack = ({ stackInfo, clientServiceUrls }) => {
302
350
  };
303
351
  };
304
352
 
353
+ // src/createMiddlewareFor.ts
354
+ var createMiddlewareFor = (middlewares) => {
355
+ return (target, baseline = []) => {
356
+ if (Array.isArray(middlewares)) return [...baseline, ...middlewares];
357
+ const all = middlewares?.all ?? [];
358
+ const targeted = middlewares?.[target] ?? [];
359
+ return [...baseline, ...all, ...targeted];
360
+ };
361
+ };
362
+
305
363
  // src/serviceClientRegistry/utils.ts
306
364
  var isBuiltInProperty = (property) => typeof property === "symbol" || property === "then" || property === "constructor" || property === "toString" || property === "valueOf";
307
365
  var createDummyClient = ({
@@ -324,8 +382,9 @@ var createDummyClient = ({
324
382
  var createServiceClientRegistry = () => ({
325
383
  getServiceBaseUrl,
326
384
  onUnavailable,
327
- clients
385
+ meta
328
386
  }) => {
387
+ let metaValue = meta ?? {};
329
388
  const dummy = (serviceId, clientName) => createDummyClient({
330
389
  onCall: (path, args) => {
331
390
  onUnavailable?.({
@@ -336,42 +395,71 @@ var createServiceClientRegistry = () => ({
336
395
  });
337
396
  }
338
397
  });
339
- const clientMap = {};
340
- const meta = [];
341
- clients.forEach(({ serviceId, clientFn, clientName }) => {
398
+ const configs = [];
399
+ const resolveClient = ({
400
+ serviceId,
401
+ clientFn,
402
+ clientName
403
+ }) => {
342
404
  const serviceBaseUrl = getServiceBaseUrl(serviceId);
343
- clientMap[clientName] = serviceBaseUrl ? clientFn(serviceBaseUrl) : dummy(serviceId, clientName);
344
- meta.push({ clientName, serviceId, isAvailable: !!serviceBaseUrl });
345
- });
346
- const client = clientMap;
347
- return {
348
- client,
349
- meta
405
+ return serviceBaseUrl ? clientFn(serviceBaseUrl, metaValue) : dummy(serviceId, clientName);
350
406
  };
407
+ let clientMap = null;
408
+ const registry = {
409
+ add: (config) => {
410
+ configs.push(config);
411
+ return registry;
412
+ },
413
+ build: () => {
414
+ clientMap = {};
415
+ const clientMeta = [];
416
+ configs.forEach((config) => {
417
+ clientMap[config.clientName] = resolveClient(config);
418
+ clientMeta.push({
419
+ clientName: config.clientName,
420
+ serviceId: config.serviceId,
421
+ isAvailable: !!getServiceBaseUrl(config.serviceId)
422
+ });
423
+ });
424
+ return {
425
+ client: clientMap,
426
+ meta: clientMeta
427
+ };
428
+ },
429
+ rebuild: (nextMeta) => {
430
+ if (!clientMap) {
431
+ throw new Error("Registry must be built before rebuild() is called.");
432
+ }
433
+ metaValue = nextMeta;
434
+ configs.forEach((config) => {
435
+ clientMap[config.clientName] = resolveClient(config);
436
+ });
437
+ }
438
+ };
439
+ return registry;
351
440
  };
352
441
 
353
442
  // src/client.ts
354
443
  var createClients = async ({
355
444
  baseUrl,
356
445
  token,
357
- callbacks,
358
446
  assetsBaseUrl,
359
447
  statusBaseUrl,
360
448
  metastoreBaseUrl,
361
449
  clientServiceUrls,
362
- storageMiddlewares
450
+ middlewares
363
451
  }) => {
364
- const callbackMiddleware = createCallbackMiddleware(callbacks);
365
452
  const storageTokenMiddleware = createStorageTokenMiddleware(token.storageApi);
366
- const commonMiddlewares = [callbackMiddleware, storageTokenMiddleware];
453
+ const commonMiddlewares = [storageTokenMiddleware];
454
+ const middlewareFor = createMiddlewareFor(middlewares);
367
455
  const storage = createStorageClient({
368
456
  baseUrl,
369
- middlewares: [...commonMiddlewares, ...storageMiddlewares || []]
457
+ middlewares: middlewareFor("storage", commonMiddlewares)
370
458
  });
371
459
  const management = createManagementClient({
372
460
  baseUrl,
373
461
  token: token.managementApi,
374
- callbacks
462
+ middlewares: middlewareFor("management", [])
375
463
  });
376
464
  const [stackInfo, sapiToken] = await Promise.all([
377
465
  storage.getStackInfo({
@@ -381,97 +469,116 @@ var createClients = async ({
381
469
  ]);
382
470
  const stack = createStack({ stackInfo, clientServiceUrls });
383
471
  const project = createProject({ sapiToken });
384
- const { client, meta } = createServiceClientRegistry()({
472
+ const registry = createServiceClientRegistry()({
385
473
  getServiceBaseUrl: (serviceId) => stack.getServiceUrl(serviceId),
386
474
  onUnavailable: ({ serviceId, path, clientName }) => {
387
475
  throw new ServiceUnavailableError(serviceId, path, clientName);
388
- },
389
- clients: [
390
- {
391
- serviceId: "vault",
392
- clientName: "vault",
393
- clientFn: (serviceBaseUrl) => createVaultClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
394
- },
395
- {
396
- serviceId: "data-science",
397
- clientName: "dataScience",
398
- clientFn: (serviceBaseUrl) => createDataScienceClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
399
- },
400
- {
401
- serviceId: "encryption",
402
- clientName: "encryption",
403
- clientFn: (serviceBaseUrl) => createEncryptionClient({ baseUrl: serviceBaseUrl, middlewares: [callbackMiddleware] })
404
- },
405
- {
406
- serviceId: "editor",
407
- clientName: "editor",
408
- clientFn: (serviceBaseUrl) => createEditorClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
409
- },
410
- {
411
- serviceId: "sync-actions",
412
- clientName: "syncActions",
413
- clientFn: (serviceBaseUrl) => createSyncActionsClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
414
- },
415
- {
416
- serviceId: "telemetry",
417
- clientName: "telemetry",
418
- clientFn: (serviceBaseUrl) => createTelemetryClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
419
- },
420
- {
421
- serviceId: "query",
422
- clientName: "queryService",
423
- clientFn: (serviceBaseUrl) => createQueryServiceClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
424
- },
425
- {
426
- serviceId: "queue",
427
- clientName: "queue",
428
- clientFn: (serviceBaseUrl) => createQueueClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
429
- },
430
- {
431
- serviceId: "kai-assistant",
432
- clientName: "chat",
433
- clientFn: (serviceBaseUrl) => createChatClient({
434
- storageApiUrl: baseUrl,
435
- baseUrl: serviceBaseUrl,
436
- middlewares: commonMiddlewares
437
- })
438
- },
439
- {
440
- serviceId: "ai",
441
- clientName: "ai",
442
- clientFn: (serviceBaseUrl) => createAiClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
443
- },
444
- {
445
- serviceId: "import",
446
- clientName: "import",
447
- clientFn: (serviceBaseUrl) => createImportClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
448
- },
449
- {
450
- serviceId: "kai-agent",
451
- clientName: "kaiAgent",
452
- clientFn: (serviceBaseUrl) => createKaiAgentClient({
453
- baseUrl: serviceBaseUrl,
454
- middlewares: commonMiddlewares
455
- })
456
- },
457
- {
458
- serviceId: "oauth",
459
- clientName: "oauth",
460
- clientFn: (serviceBaseUrl) => createOauthClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
461
- }
462
- ]
476
+ }
477
+ }).add({
478
+ serviceId: "vault",
479
+ clientName: "vault",
480
+ clientFn: (serviceBaseUrl) => createVaultClient({
481
+ baseUrl: serviceBaseUrl,
482
+ middlewares: middlewareFor("vault", commonMiddlewares)
483
+ })
484
+ }).add({
485
+ serviceId: "data-science",
486
+ clientName: "dataScience",
487
+ clientFn: (serviceBaseUrl) => createDataScienceClient({
488
+ baseUrl: serviceBaseUrl,
489
+ middlewares: middlewareFor("dataScience", commonMiddlewares)
490
+ })
491
+ }).add({
492
+ serviceId: "encryption",
493
+ clientName: "encryption",
494
+ clientFn: (serviceBaseUrl) => createEncryptionClient({
495
+ baseUrl: serviceBaseUrl,
496
+ middlewares: middlewareFor("encryption")
497
+ })
498
+ }).add({
499
+ serviceId: "editor",
500
+ clientName: "editor",
501
+ clientFn: (serviceBaseUrl) => createEditorClient({
502
+ baseUrl: serviceBaseUrl,
503
+ middlewares: middlewareFor("editor", commonMiddlewares)
504
+ })
505
+ }).add({
506
+ serviceId: "sync-actions",
507
+ clientName: "syncActions",
508
+ clientFn: (serviceBaseUrl) => createSyncActionsClient({
509
+ baseUrl: serviceBaseUrl,
510
+ middlewares: middlewareFor("syncActions", commonMiddlewares)
511
+ })
512
+ }).add({
513
+ serviceId: "telemetry",
514
+ clientName: "telemetry",
515
+ clientFn: (serviceBaseUrl) => createTelemetryClient({
516
+ baseUrl: serviceBaseUrl,
517
+ middlewares: middlewareFor("telemetry", commonMiddlewares)
518
+ })
519
+ }).add({
520
+ serviceId: "query",
521
+ clientName: "queryService",
522
+ clientFn: (serviceBaseUrl) => createQueryServiceClient({
523
+ baseUrl: serviceBaseUrl,
524
+ middlewares: middlewareFor("queryService", commonMiddlewares)
525
+ })
526
+ }).add({
527
+ serviceId: "queue",
528
+ clientName: "queue",
529
+ clientFn: (serviceBaseUrl) => createQueueClient({
530
+ baseUrl: serviceBaseUrl,
531
+ middlewares: middlewareFor("queue", commonMiddlewares)
532
+ })
533
+ }).add({
534
+ serviceId: "kai-assistant",
535
+ clientName: "chat",
536
+ clientFn: (serviceBaseUrl) => createChatClient({
537
+ storageApiUrl: baseUrl,
538
+ baseUrl: serviceBaseUrl,
539
+ middlewares: middlewareFor("chat", commonMiddlewares)
540
+ })
541
+ }).add({
542
+ serviceId: "ai",
543
+ clientName: "ai",
544
+ clientFn: (serviceBaseUrl) => createAiClient({
545
+ baseUrl: serviceBaseUrl,
546
+ middlewares: middlewareFor("ai", commonMiddlewares)
547
+ })
548
+ }).add({
549
+ serviceId: "import",
550
+ clientName: "import",
551
+ clientFn: (serviceBaseUrl) => createImportClient({
552
+ baseUrl: serviceBaseUrl,
553
+ middlewares: middlewareFor("import", commonMiddlewares)
554
+ })
555
+ }).add({
556
+ serviceId: "kai-agent",
557
+ clientName: "kaiAgent",
558
+ clientFn: (serviceBaseUrl) => createKaiAgentClient({
559
+ baseUrl: serviceBaseUrl,
560
+ middlewares: middlewareFor("kaiAgent", commonMiddlewares)
561
+ })
562
+ }).add({
563
+ serviceId: "oauth",
564
+ clientName: "oauth",
565
+ clientFn: (serviceBaseUrl) => createOauthClient({
566
+ baseUrl: serviceBaseUrl,
567
+ middlewares: middlewareFor("oauth", commonMiddlewares)
568
+ })
463
569
  });
570
+ const { client, meta } = registry.build();
464
571
  const metastore = createMetastoreClient({
465
572
  baseUrl: metastoreBaseUrl,
466
- middlewares: commonMiddlewares
573
+ middlewares: middlewareFor("metastore", commonMiddlewares)
467
574
  });
468
575
  const assets = createAssetsClient({
469
576
  baseUrl: assetsBaseUrl,
470
- middlewares: [callbackMiddleware]
577
+ middlewares: middlewareFor("assets")
471
578
  });
472
579
  const status = createStatusClient({
473
580
  baseUrl: statusBaseUrl,
474
- middlewares: [callbackMiddleware]
581
+ middlewares: middlewareFor("status")
475
582
  });
476
583
  const tag = createTagSdk({
477
584
  metastoreClient: metastore
@@ -479,6 +586,10 @@ var createClients = async ({
479
586
  const storageSdk = createStorageSdk({
480
587
  storageClient: storage
481
588
  });
589
+ const vault = createVaultSdk({
590
+ vaultClient: client.vault,
591
+ encryptionClient: client.encryption
592
+ });
482
593
  return {
483
594
  // info
484
595
  stack,
@@ -492,7 +603,8 @@ var createClients = async ({
492
603
  ...client,
493
604
  sdk: {
494
605
  tag,
495
- storage: storageSdk
606
+ storage: storageSdk,
607
+ vault
496
608
  }
497
609
  };
498
610
  };
@@ -518,7 +630,10 @@ var createApiClient = () => {
518
630
  var CORRELATION_ID_HEADER = "X-Correlation-ID";
519
631
  var ALWAYS_REDACTED_HEADERS = [
520
632
  KeboolaHttpHeader.MANAGEMENT_API_TOKEN,
521
- KeboolaHttpHeader.STORAGE_API_TOKEN
633
+ KeboolaHttpHeader.STORAGE_API_TOKEN,
634
+ "authorization",
635
+ "cookie",
636
+ "set-cookie"
522
637
  ];
523
638
  var ALWAYS_REDACTED_QUERY_PARAMS = /* @__PURE__ */ new Set([
524
639
  "token",
@@ -572,33 +687,51 @@ var getResponseLog = (response, redactedHeaders) => ({
572
687
  statusText: response.statusText,
573
688
  headers: getRedactedHeaders(response.headers, redactedHeaders)
574
689
  });
690
+ var redactApiError = (error, redactedHeaders) => new ApiError({
691
+ request: new Request(getRedactedUrl(error.request.url), {
692
+ method: error.request.method,
693
+ headers: getRedactedHeaders(error.request.headers, redactedHeaders)
694
+ }),
695
+ response: new Response(null, {
696
+ status: error.response.status,
697
+ statusText: error.response.statusText,
698
+ headers: getRedactedHeaders(error.response.headers, redactedHeaders)
699
+ }),
700
+ data: error.data
701
+ });
575
702
  var formatLog = (level, log) => {
576
703
  const parts = [`[${level.toUpperCase()}]`, `${Math.round(log.durationMs)}ms`, log.method];
577
704
  parts.push(log.request.url);
578
- if (log.response) parts.push(String(log.response.status));
705
+ if ("response" in log) parts.push(String(log.response.status));
579
706
  return parts.join(" ");
580
707
  };
581
- var consoleLogger = {
582
- info: (log) => console.info(formatLog("info", log)),
583
- error: (log) => console.error(formatLog("error", log))
584
- };
585
- var wrapSafe = (logger, level) => ({
586
- info: (log) => {
587
- if (level !== "all") return;
588
- try {
589
- logger.info(log);
590
- } catch {
591
- }
592
- },
593
- error: (log) => {
594
- try {
595
- logger.error(log);
596
- } catch {
708
+ var createSafeLogger = (logger, level = "error-only") => {
709
+ return {
710
+ info: (log) => {
711
+ if (level !== "all") return;
712
+ try {
713
+ if (logger?.info) {
714
+ logger.info(log);
715
+ return;
716
+ }
717
+ console.info(formatLog("info", log));
718
+ } catch {
719
+ }
720
+ },
721
+ error: (log) => {
722
+ try {
723
+ if (logger?.error) {
724
+ logger.error(log);
725
+ return;
726
+ }
727
+ console.error(formatLog("error", log));
728
+ } catch {
729
+ }
597
730
  }
598
- }
599
- });
731
+ };
732
+ };
600
733
  var createLoggingMiddleware = (options = {}) => {
601
- const safeLogger = wrapSafe(options.logger ?? consoleLogger, options.level ?? "error-only");
734
+ const safeLogger = createSafeLogger(options.logger, options.level);
602
735
  const redactHeaders = options.redactHeaders ?? [];
603
736
  return (next) => async (fetchRequest) => {
604
737
  const correlationId = ensureCorrelationId(fetchRequest.request);
@@ -616,10 +749,14 @@ var createLoggingMiddleware = (options = {}) => {
616
749
  });
617
750
  return result;
618
751
  } catch (error) {
619
- const durationMs = performance.now() - start;
620
- if (error instanceof Error) {
621
- safeLogger.error({ correlationId, method, durationMs, request: requestLog, error });
622
- }
752
+ if (error instanceof Error)
753
+ safeLogger.error({
754
+ correlationId,
755
+ method,
756
+ durationMs: performance.now() - start,
757
+ request: requestLog,
758
+ error: isApiError(error) ? redactApiError(error, redactHeaders) : error
759
+ });
623
760
  throw error;
624
761
  }
625
762
  };
@@ -668,6 +805,6 @@ var createDevApiClient = () => ({
668
805
  verify: createVerifyClient()
669
806
  });
670
807
 
671
- export { ServiceUnavailableError, assert, consoleLogger, createApiClient, createDevApiClient, createLoggingMiddleware, createRetryMiddleware };
808
+ export { ServiceUnavailableError, assert, coalesce, createApiClient, createDevApiClient, createLoggingMiddleware, createRetryMiddleware, createStore };
672
809
  //# sourceMappingURL=index.js.map
673
810
  //# sourceMappingURL=index.js.map