@keboola/api-client 0.1.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 (265) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +456 -0
  3. package/dist/ai/index.cjs +203 -0
  4. package/dist/ai/index.cjs.map +1 -0
  5. package/dist/ai/index.d.cts +35 -0
  6. package/dist/ai/index.d.ts +35 -0
  7. package/dist/ai/index.js +197 -0
  8. package/dist/ai/index.js.map +1 -0
  9. package/dist/ai/types.cjs +4 -0
  10. package/dist/ai/types.cjs.map +1 -0
  11. package/dist/ai/types.d.cts +2 -0
  12. package/dist/ai/types.d.ts +2 -0
  13. package/dist/ai/types.js +3 -0
  14. package/dist/ai/types.js.map +1 -0
  15. package/dist/assets/index.cjs +182 -0
  16. package/dist/assets/index.cjs.map +1 -0
  17. package/dist/assets/index.d.cts +9 -0
  18. package/dist/assets/index.d.ts +9 -0
  19. package/dist/assets/index.js +176 -0
  20. package/dist/assets/index.js.map +1 -0
  21. package/dist/assets/types.cjs +4 -0
  22. package/dist/assets/types.cjs.map +1 -0
  23. package/dist/assets/types.d.cts +8 -0
  24. package/dist/assets/types.d.ts +8 -0
  25. package/dist/assets/types.js +3 -0
  26. package/dist/assets/types.js.map +1 -0
  27. package/dist/authMiddleware-BTFSCMTE.d.ts +11 -0
  28. package/dist/authMiddleware-BteBe1Bt.d.cts +11 -0
  29. package/dist/chat/index.cjs +428 -0
  30. package/dist/chat/index.cjs.map +1 -0
  31. package/dist/chat/index.d.cts +51 -0
  32. package/dist/chat/index.d.ts +51 -0
  33. package/dist/chat/index.js +422 -0
  34. package/dist/chat/index.js.map +1 -0
  35. package/dist/chat/suggestions.cjs +158 -0
  36. package/dist/chat/suggestions.cjs.map +1 -0
  37. package/dist/chat/suggestions.d.cts +437 -0
  38. package/dist/chat/suggestions.d.ts +437 -0
  39. package/dist/chat/suggestions.js +140 -0
  40. package/dist/chat/suggestions.js.map +1 -0
  41. package/dist/chat/types.cjs +10 -0
  42. package/dist/chat/types.cjs.map +1 -0
  43. package/dist/chat/types.d.cts +3 -0
  44. package/dist/chat/types.d.ts +3 -0
  45. package/dist/chat/types.js +8 -0
  46. package/dist/chat/types.js.map +1 -0
  47. package/dist/createGenericFetchClient-CLUzu-jY.d.cts +18 -0
  48. package/dist/createGenericFetchClient-DEakI3F1.d.ts +18 -0
  49. package/dist/createOpenapiFetchClient-CpXmAIFB.d.cts +24 -0
  50. package/dist/createOpenapiFetchClient-_sm4bchL.d.ts +24 -0
  51. package/dist/dataScience/index.cjs +416 -0
  52. package/dist/dataScience/index.cjs.map +1 -0
  53. package/dist/dataScience/index.d.cts +191 -0
  54. package/dist/dataScience/index.d.ts +191 -0
  55. package/dist/dataScience/index.js +388 -0
  56. package/dist/dataScience/index.js.map +1 -0
  57. package/dist/dataScience/types.cjs +4 -0
  58. package/dist/dataScience/types.cjs.map +1 -0
  59. package/dist/dataScience/types.d.cts +2 -0
  60. package/dist/dataScience/types.d.ts +2 -0
  61. package/dist/dataScience/types.js +3 -0
  62. package/dist/dataScience/types.js.map +1 -0
  63. package/dist/editor/index.cjs +275 -0
  64. package/dist/editor/index.cjs.map +1 -0
  65. package/dist/editor/index.d.cts +172 -0
  66. package/dist/editor/index.d.ts +172 -0
  67. package/dist/editor/index.js +269 -0
  68. package/dist/editor/index.js.map +1 -0
  69. package/dist/editor/types.cjs +4 -0
  70. package/dist/editor/types.cjs.map +1 -0
  71. package/dist/editor/types.d.cts +2 -0
  72. package/dist/editor/types.d.ts +2 -0
  73. package/dist/editor/types.js +3 -0
  74. package/dist/editor/types.js.map +1 -0
  75. package/dist/encryption/index.cjs +192 -0
  76. package/dist/encryption/index.cjs.map +1 -0
  77. package/dist/encryption/index.d.cts +14 -0
  78. package/dist/encryption/index.d.ts +14 -0
  79. package/dist/encryption/index.js +186 -0
  80. package/dist/encryption/index.js.map +1 -0
  81. package/dist/encryption/types.cjs +4 -0
  82. package/dist/encryption/types.cjs.map +1 -0
  83. package/dist/encryption/types.d.cts +8 -0
  84. package/dist/encryption/types.d.ts +8 -0
  85. package/dist/encryption/types.js +3 -0
  86. package/dist/encryption/types.js.map +1 -0
  87. package/dist/import/index.cjs +198 -0
  88. package/dist/import/index.cjs.map +1 -0
  89. package/dist/import/index.d.cts +9 -0
  90. package/dist/import/index.d.ts +9 -0
  91. package/dist/import/index.js +192 -0
  92. package/dist/import/index.js.map +1 -0
  93. package/dist/index.cjs +3910 -0
  94. package/dist/index.cjs.map +1 -0
  95. package/dist/index.d.cts +3108 -0
  96. package/dist/index.d.ts +3108 -0
  97. package/dist/index.js +3858 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/keboolaUID-D1DGSbge.d.cts +19 -0
  100. package/dist/keboolaUID-D1DGSbge.d.ts +19 -0
  101. package/dist/management/index.cjs +872 -0
  102. package/dist/management/index.cjs.map +1 -0
  103. package/dist/management/index.d.cts +440 -0
  104. package/dist/management/index.d.ts +440 -0
  105. package/dist/management/index.js +865 -0
  106. package/dist/management/index.js.map +1 -0
  107. package/dist/management/types.cjs +4 -0
  108. package/dist/management/types.cjs.map +1 -0
  109. package/dist/management/types.d.cts +9 -0
  110. package/dist/management/types.d.ts +9 -0
  111. package/dist/management/types.js +3 -0
  112. package/dist/management/types.js.map +1 -0
  113. package/dist/metastore/index.cjs +339 -0
  114. package/dist/metastore/index.cjs.map +1 -0
  115. package/dist/metastore/index.d.cts +52 -0
  116. package/dist/metastore/index.d.ts +52 -0
  117. package/dist/metastore/index.js +333 -0
  118. package/dist/metastore/index.js.map +1 -0
  119. package/dist/metastore/types.cjs +4 -0
  120. package/dist/metastore/types.cjs.map +1 -0
  121. package/dist/metastore/types.d.cts +2 -0
  122. package/dist/metastore/types.d.ts +2 -0
  123. package/dist/metastore/types.js +3 -0
  124. package/dist/metastore/types.js.map +1 -0
  125. package/dist/queryService/index.cjs +250 -0
  126. package/dist/queryService/index.cjs.map +1 -0
  127. package/dist/queryService/index.d.cts +39 -0
  128. package/dist/queryService/index.d.ts +39 -0
  129. package/dist/queryService/index.js +244 -0
  130. package/dist/queryService/index.js.map +1 -0
  131. package/dist/queryService/types.cjs +4 -0
  132. package/dist/queryService/types.cjs.map +1 -0
  133. package/dist/queryService/types.d.cts +2 -0
  134. package/dist/queryService/types.d.ts +2 -0
  135. package/dist/queryService/types.js +3 -0
  136. package/dist/queryService/types.js.map +1 -0
  137. package/dist/queue/index.cjs +192 -0
  138. package/dist/queue/index.cjs.map +1 -0
  139. package/dist/queue/index.d.cts +133 -0
  140. package/dist/queue/index.d.ts +133 -0
  141. package/dist/queue/index.js +186 -0
  142. package/dist/queue/index.js.map +1 -0
  143. package/dist/queue/types.cjs +4 -0
  144. package/dist/queue/types.cjs.map +1 -0
  145. package/dist/queue/types.d.cts +2 -0
  146. package/dist/queue/types.d.ts +2 -0
  147. package/dist/queue/types.js +3 -0
  148. package/dist/queue/types.js.map +1 -0
  149. package/dist/sdk/storage/index.cjs +96 -0
  150. package/dist/sdk/storage/index.cjs.map +1 -0
  151. package/dist/sdk/storage/index.d.cts +24 -0
  152. package/dist/sdk/storage/index.d.ts +24 -0
  153. package/dist/sdk/storage/index.js +94 -0
  154. package/dist/sdk/storage/index.js.map +1 -0
  155. package/dist/sdk/tag/index.cjs +210 -0
  156. package/dist/sdk/tag/index.cjs.map +1 -0
  157. package/dist/sdk/tag/index.d.cts +25 -0
  158. package/dist/sdk/tag/index.d.ts +25 -0
  159. package/dist/sdk/tag/index.js +208 -0
  160. package/dist/sdk/tag/index.js.map +1 -0
  161. package/dist/sdk/tag/types.cjs +4 -0
  162. package/dist/sdk/tag/types.cjs.map +1 -0
  163. package/dist/sdk/tag/types.d.cts +30 -0
  164. package/dist/sdk/tag/types.d.ts +30 -0
  165. package/dist/sdk/tag/types.js +3 -0
  166. package/dist/sdk/tag/types.js.map +1 -0
  167. package/dist/status/index.cjs +178 -0
  168. package/dist/status/index.cjs.map +1 -0
  169. package/dist/status/index.d.cts +10 -0
  170. package/dist/status/index.d.ts +10 -0
  171. package/dist/status/index.js +172 -0
  172. package/dist/status/index.js.map +1 -0
  173. package/dist/status/types.cjs +4 -0
  174. package/dist/status/types.cjs.map +1 -0
  175. package/dist/status/types.d.cts +19 -0
  176. package/dist/status/types.d.ts +19 -0
  177. package/dist/status/types.js +3 -0
  178. package/dist/status/types.js.map +1 -0
  179. package/dist/storage/index.cjs +1021 -0
  180. package/dist/storage/index.cjs.map +1 -0
  181. package/dist/storage/index.d.cts +12 -0
  182. package/dist/storage/index.d.ts +12 -0
  183. package/dist/storage/index.js +1014 -0
  184. package/dist/storage/index.js.map +1 -0
  185. package/dist/storage/types.cjs +4 -0
  186. package/dist/storage/types.cjs.map +1 -0
  187. package/dist/storage/types.d.cts +10976 -0
  188. package/dist/storage/types.d.ts +10976 -0
  189. package/dist/storage/types.js +3 -0
  190. package/dist/storage/types.js.map +1 -0
  191. package/dist/storageClient-DPLh_p0V.d.cts +608 -0
  192. package/dist/storageClient-YVWer22Y.d.ts +608 -0
  193. package/dist/syncActions/index.cjs +366 -0
  194. package/dist/syncActions/index.cjs.map +1 -0
  195. package/dist/syncActions/index.d.cts +94 -0
  196. package/dist/syncActions/index.d.ts +94 -0
  197. package/dist/syncActions/index.js +341 -0
  198. package/dist/syncActions/index.js.map +1 -0
  199. package/dist/syncActions/types.cjs +4 -0
  200. package/dist/syncActions/types.cjs.map +1 -0
  201. package/dist/syncActions/types.d.cts +261 -0
  202. package/dist/syncActions/types.d.ts +261 -0
  203. package/dist/syncActions/types.js +3 -0
  204. package/dist/syncActions/types.js.map +1 -0
  205. package/dist/telemetry/index.cjs +189 -0
  206. package/dist/telemetry/index.cjs.map +1 -0
  207. package/dist/telemetry/index.d.cts +13 -0
  208. package/dist/telemetry/index.d.ts +13 -0
  209. package/dist/telemetry/index.js +183 -0
  210. package/dist/telemetry/index.js.map +1 -0
  211. package/dist/telemetry/types.cjs +4 -0
  212. package/dist/telemetry/types.cjs.map +1 -0
  213. package/dist/telemetry/types.d.cts +12 -0
  214. package/dist/telemetry/types.d.ts +12 -0
  215. package/dist/telemetry/types.js +3 -0
  216. package/dist/telemetry/types.js.map +1 -0
  217. package/dist/types-B51cQMrX.d.ts +1408 -0
  218. package/dist/types-B7k8S4ki.d.ts +1520 -0
  219. package/dist/types-BNQK_jR_.d.cts +1520 -0
  220. package/dist/types-BY0tjg2Q.d.ts +1079 -0
  221. package/dist/types-BeShtGlc.d.cts +8591 -0
  222. package/dist/types-BeShtGlc.d.ts +8591 -0
  223. package/dist/types-BjrNNn5I.d.ts +1643 -0
  224. package/dist/types-C-bd4ArM.d.cts +1079 -0
  225. package/dist/types-C7mpAfq-.d.cts +64 -0
  226. package/dist/types-C7mpAfq-.d.ts +64 -0
  227. package/dist/types-CGMJT3JL.d.ts +943 -0
  228. package/dist/types-CRSKcua9.d.cts +1314 -0
  229. package/dist/types-DJ6nbNq5.d.cts +1643 -0
  230. package/dist/types-DJkU9gvB.d.cts +943 -0
  231. package/dist/types-DYMMsuU0.d.cts +78 -0
  232. package/dist/types-DYMMsuU0.d.ts +78 -0
  233. package/dist/types-Dg1tEsVR.d.cts +17 -0
  234. package/dist/types-Dg1tEsVR.d.ts +17 -0
  235. package/dist/types-DgaMV8FF.d.cts +60 -0
  236. package/dist/types-DgaMV8FF.d.ts +60 -0
  237. package/dist/types-Dws8mFNY.d.cts +1408 -0
  238. package/dist/types-cH0_hkCW.d.ts +1314 -0
  239. package/dist/utils-BNQZiNOu.d.ts +1657 -0
  240. package/dist/utils-DE09pDTi.d.cts +1657 -0
  241. package/dist/vault/index.cjs +225 -0
  242. package/dist/vault/index.cjs.map +1 -0
  243. package/dist/vault/index.d.cts +26 -0
  244. package/dist/vault/index.d.ts +26 -0
  245. package/dist/vault/index.js +219 -0
  246. package/dist/vault/index.js.map +1 -0
  247. package/dist/vault/types.cjs +4 -0
  248. package/dist/vault/types.cjs.map +1 -0
  249. package/dist/vault/types.d.cts +390 -0
  250. package/dist/vault/types.d.ts +390 -0
  251. package/dist/vault/types.js +3 -0
  252. package/dist/vault/types.js.map +1 -0
  253. package/dist/verify/index.cjs +190 -0
  254. package/dist/verify/index.cjs.map +1 -0
  255. package/dist/verify/index.d.cts +9 -0
  256. package/dist/verify/index.d.ts +9 -0
  257. package/dist/verify/index.js +184 -0
  258. package/dist/verify/index.js.map +1 -0
  259. package/dist/verify/types.cjs +4 -0
  260. package/dist/verify/types.cjs.map +1 -0
  261. package/dist/verify/types.d.cts +29 -0
  262. package/dist/verify/types.d.ts +29 -0
  263. package/dist/verify/types.js +3 -0
  264. package/dist/verify/types.js.map +1 -0
  265. package/package.json +570 -0
@@ -0,0 +1,1021 @@
1
+ 'use strict';
2
+
3
+ var qs = require('qs');
4
+
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var qs__default = /*#__PURE__*/_interopDefault(qs);
8
+
9
+ // src/errors/ApiError.ts
10
+ var ApiError = class extends Error {
11
+ response;
12
+ request;
13
+ data;
14
+ constructor({ response, request, data }) {
15
+ super(response.statusText);
16
+ this.response = response;
17
+ this.request = request;
18
+ this.data = data;
19
+ }
20
+ };
21
+ var HttpHeader = {
22
+ CONTENT_TYPE: "content-type"};
23
+ var HttpContentType = {
24
+ JSON: "application/json"};
25
+ var defaultValidateStatus = ({ response }) => response.status >= 200 && response.status <= 299;
26
+ function removeUndefined(obj) {
27
+ const objCopy = { ...obj };
28
+ for (const [key, value] of Object.entries(objCopy)) {
29
+ if (value == null) delete objCopy[key];
30
+ }
31
+ return objCopy;
32
+ }
33
+ var parseData = async (response) => {
34
+ if (response.status === 204) return null;
35
+ const contentType = response.headers.get(HttpHeader.CONTENT_TYPE);
36
+ if (contentType && contentType == HttpContentType.JSON) {
37
+ return response.json();
38
+ }
39
+ const text = await response.text();
40
+ try {
41
+ return JSON.parse(text);
42
+ } catch {
43
+ return text;
44
+ }
45
+ };
46
+ var cleanHeadersInit = (headersInit) => {
47
+ if (Array.isArray(headersInit)) return headersInit;
48
+ if (headersInit instanceof Headers) return headersInit;
49
+ if (headersInit == null) return headersInit;
50
+ return removeUndefined(headersInit);
51
+ };
52
+ var createHeaders = (headersInitA, headersInitB) => {
53
+ const headersA = new Headers(cleanHeadersInit(headersInitA));
54
+ const headersB = new Headers(cleanHeadersInit(headersInitB));
55
+ headersB.forEach((value, key) => {
56
+ headersA.set(key, value);
57
+ });
58
+ return headersA;
59
+ };
60
+ var createPath = (path, pathParam = {}) => path.replace(/\{([^}]+)}/g, (_, key) => {
61
+ if (!(key in pathParam))
62
+ throw new Error(`Path parameter "${key}" is missing in the path "${path}"`);
63
+ return encodeURIComponent(pathParam[key]);
64
+ });
65
+ var createSearch = (query, options = {}) => {
66
+ return qs__default.default.stringify(query, {
67
+ encodeValuesOnly: true,
68
+ skipNulls: true,
69
+ ...options
70
+ });
71
+ };
72
+ var createBody = (body, headers) => {
73
+ if (body == null) return null;
74
+ if (body instanceof FormData) return body;
75
+ if (typeof body === "string") return body;
76
+ const stringifyBody = JSON.stringify(body);
77
+ const stringBody = stringifyBody === "{}" ? null : stringifyBody;
78
+ if (stringBody) headers.set(HttpHeader.CONTENT_TYPE, HttpContentType.JSON);
79
+ return stringBody;
80
+ };
81
+ var createFetchRequest = ({
82
+ url,
83
+ method,
84
+ params,
85
+ options = {},
86
+ defaultOptions
87
+ }) => {
88
+ const {
89
+ baseUrl,
90
+ validateStatus: defValidateStatus = defaultValidateStatus,
91
+ headers: defaultHeaders,
92
+ ...restDefaultOptions
93
+ } = defaultOptions;
94
+ const { validateStatus, queryArrayFormat, headers: endpointHeaders, ...restOptions } = options;
95
+ const headers = createHeaders(defaultHeaders, endpointHeaders);
96
+ const path = createPath(url, params.path);
97
+ const search = createSearch(params.query ?? {}, { arrayFormat: queryArrayFormat });
98
+ const body = createBody(params.body, headers);
99
+ const urlInstance = new URL(baseUrl + path);
100
+ urlInstance.search = search;
101
+ const request = new Request(urlInstance, {
102
+ ...restDefaultOptions,
103
+ ...restOptions,
104
+ headers,
105
+ method: method.toUpperCase(),
106
+ body
107
+ });
108
+ return { request, validateStatus: validateStatus ?? defValidateStatus };
109
+ };
110
+
111
+ // src/fetchClient/createFetchClient/createFetchClient.ts
112
+ var isApiError = (error) => error instanceof ApiError;
113
+ var createCoreFetch = (fetchFn) => async ({ request, validateStatus }) => {
114
+ const response = await fetchFn(request);
115
+ const data = await parseData(response);
116
+ const apiResponse = {
117
+ request,
118
+ response,
119
+ data
120
+ };
121
+ const boolOrError = validateStatus(apiResponse);
122
+ if (isApiError(boolOrError)) throw boolOrError;
123
+ if (!boolOrError) throw new ApiError(apiResponse);
124
+ return apiResponse;
125
+ };
126
+ var createFetchClient = ({
127
+ middlewares = [],
128
+ ...defaultOptions
129
+ }) => {
130
+ const coreFetch = createCoreFetch(defaultOptions.fetchFn ?? fetch);
131
+ const fetchWithMiddlewares = middlewares.reduceRight(
132
+ (next, middleware) => middleware(next),
133
+ coreFetch
134
+ );
135
+ const createFetchMethod = (method) => async (url, params, options = {}) => {
136
+ const request = createFetchRequest({
137
+ url,
138
+ method,
139
+ params,
140
+ defaultOptions,
141
+ options
142
+ });
143
+ const methodMiddlewares = options?.middlewares ?? [];
144
+ return methodMiddlewares.reduceRight(
145
+ (next, middleware) => middleware(next),
146
+ fetchWithMiddlewares
147
+ )(request);
148
+ };
149
+ return {
150
+ get: createFetchMethod("get"),
151
+ post: createFetchMethod("post"),
152
+ put: createFetchMethod("put"),
153
+ patch: createFetchMethod("patch"),
154
+ delete: createFetchMethod("delete")
155
+ };
156
+ };
157
+
158
+ // src/fetchClient/createGenericFetchClient.ts
159
+ var createGenericFetchClient = (defaultOptions) => createFetchClient(defaultOptions);
160
+
161
+ // src/fetchClient/createOpenapiFetchClient.ts
162
+ var createOpenapiFetchClient = (defaultOptions) => createFetchClient(defaultOptions);
163
+
164
+ // src/clients/storage/configurationVersions/configurationVersions.ts
165
+ var createConfigurationVersions = (client) => {
166
+ const listConfigurationVersions = async ({ branchId, componentId, configId }, signal) => {
167
+ const { data } = await client.get(
168
+ "/branch/{branchId}/components/{componentId}/configs/{configId}/versions",
169
+ { path: { branchId, componentId, configId } },
170
+ { signal }
171
+ );
172
+ return data;
173
+ };
174
+ const getConfigurationVersion = async ({ branchId, componentId, configId, versionId }, signal) => {
175
+ const { data } = await client.get(
176
+ "/branch/{branchId}/components/{componentId}/configs/{configId}/versions/{versionId}",
177
+ { path: { branchId, componentId, configId, versionId } },
178
+ { signal }
179
+ );
180
+ return data;
181
+ };
182
+ return {
183
+ listConfigurationVersions,
184
+ getConfigurationVersion
185
+ };
186
+ };
187
+
188
+ // src/clients/storage/mergeRequests/mergeRequests.ts
189
+ var createMergeRequests = (client) => {
190
+ const getMergeRequests = async (signal) => {
191
+ const { data } = await client.get("/v2/storage/merge-request", {}, { signal });
192
+ return data;
193
+ };
194
+ const getMergeRequest = async (id, signal) => {
195
+ const { data } = await client.get(
196
+ "/v2/storage/merge-request/{id}",
197
+ { path: { id } },
198
+ { signal }
199
+ );
200
+ return data;
201
+ };
202
+ const getMergeRequestWithActivityLog = async (id, signal) => {
203
+ const { data } = await client.get(
204
+ "/v2/storage/merge-request/{id}",
205
+ // @ts-expect-error backend accepts `?include=activityLog`; OpenAPI schema regen pending (connection#7250).
206
+ { path: { id }, query: { include: "activityLog" } },
207
+ { signal }
208
+ );
209
+ return data;
210
+ };
211
+ const createMergeRequest = async (params) => {
212
+ const { data } = await client.post("/v2/storage/merge-request", { body: params });
213
+ return data;
214
+ };
215
+ const updateMergeRequest = async (id, params) => {
216
+ const { data } = await client.put("/v2/storage/merge-request/{id}", {
217
+ path: { id },
218
+ body: params
219
+ });
220
+ return data;
221
+ };
222
+ const requestReview = async (id) => {
223
+ const { data } = await client.put("/v2/storage/merge-request/{id}/request-review", {
224
+ path: { id }
225
+ });
226
+ return data;
227
+ };
228
+ const approveMergeRequest = async (id) => {
229
+ const { data } = await client.put("/v2/storage/merge-request/{id}/approve", {
230
+ path: { id }
231
+ });
232
+ return data;
233
+ };
234
+ const requestChangesMergeRequest = async (id, reason) => {
235
+ const { data } = await client.put("/v2/storage/merge-request/{id}/request-changes", {
236
+ path: { id },
237
+ // @ts-expect-error backend accepts optional `{ reason }` body; OpenAPI schema regen pending (connection#7250).
238
+ body: reason ? { reason } : void 0
239
+ });
240
+ return data;
241
+ };
242
+ return {
243
+ getMergeRequests,
244
+ getMergeRequest,
245
+ getMergeRequestWithActivityLog,
246
+ createMergeRequest,
247
+ updateMergeRequest,
248
+ requestReview,
249
+ approveMergeRequest,
250
+ requestChangesMergeRequest
251
+ };
252
+ };
253
+
254
+ // src/clients/storage/branches/mappers.ts
255
+ var mapBranchMetadata = (data) => ({
256
+ ...data,
257
+ timestamp: new Date(data.timestamp)
258
+ });
259
+
260
+ // src/clients/storage/branches/branches.ts
261
+ var createBranches = (client) => {
262
+ const getDevBranches = async (signal) => {
263
+ const { data } = await client.get("/dev-branches", {}, { signal });
264
+ return data;
265
+ };
266
+ const createDevBranchJob = async (body) => {
267
+ const { data } = await client.post(
268
+ "/dev-branches",
269
+ {
270
+ body
271
+ }
272
+ );
273
+ return data;
274
+ };
275
+ const updateDevBranch = async ({
276
+ id,
277
+ name,
278
+ description
279
+ }) => {
280
+ const { data } = await client.put(
281
+ "/dev-branches/{id}",
282
+ {
283
+ path: { id },
284
+ body: {
285
+ name,
286
+ description
287
+ }
288
+ }
289
+ );
290
+ return data;
291
+ };
292
+ const deleteDevBranchJob = async (id) => {
293
+ const { data } = await client.delete(
294
+ "/dev-branches/{id}",
295
+ {
296
+ path: { id }
297
+ }
298
+ );
299
+ return data;
300
+ };
301
+ const getDevBranchMetadata = async (id, signal) => {
302
+ const { data } = await client.get(
303
+ "/branch/{id}/metadata",
304
+ { path: { id } },
305
+ { signal }
306
+ );
307
+ return data.map(mapBranchMetadata);
308
+ };
309
+ const saveDevBranchMetadata = async (id, metadata, signal) => {
310
+ const { data } = await client.post("/branch/{id}/metadata", { path: { id }, body: { metadata } }, { signal });
311
+ return data.map(mapBranchMetadata);
312
+ };
313
+ const deleteDevBranchMetadata = async (id, metadataId, signal) => {
314
+ await client.delete(
315
+ "/branch/{id}/metadata/{metadataId}",
316
+ { path: { id, metadataId } },
317
+ { signal }
318
+ );
319
+ };
320
+ return {
321
+ getDevBranches,
322
+ createDevBranchJob,
323
+ updateDevBranch,
324
+ deleteDevBranchJob,
325
+ getDevBranchMetadata,
326
+ saveDevBranchMetadata,
327
+ deleteDevBranchMetadata
328
+ };
329
+ };
330
+
331
+ // src/clients/storage/buckets/buckets.ts
332
+ var createBuckets = (client) => {
333
+ const getBuckets = async (query = {}, signal) => {
334
+ const { data } = await client.get(
335
+ `/buckets`,
336
+ { query },
337
+ { signal, queryArrayFormat: "comma" }
338
+ );
339
+ return data;
340
+ };
341
+ const getBucket = async (id, signal) => {
342
+ const { data } = await client.get(
343
+ `/buckets/{id}`,
344
+ { path: { id } },
345
+ { signal }
346
+ );
347
+ return data;
348
+ };
349
+ const createBucket = async (body) => {
350
+ const { data } = await client.post(`/buckets`, {
351
+ body
352
+ });
353
+ return data;
354
+ };
355
+ const updateBucket = async (id, body) => {
356
+ const { data } = await client.patch(
357
+ `/buckets/{id}`,
358
+ { path: { id }, body }
359
+ );
360
+ return data;
361
+ };
362
+ const deleteBucket = async (id) => {
363
+ await client.delete(`/buckets/{id}`, { path: { id } });
364
+ };
365
+ const deleteBucketAsync = async (id, options = {}) => {
366
+ const { data } = await client.delete(`/buckets/{id}`, { path: { id }, query: { async: true, ...options } });
367
+ return data;
368
+ };
369
+ const createScheduledRefresh = async (input) => {
370
+ const { branchId, bucketId, cronExpression } = input;
371
+ const { data } = await client.post(`/branch/{branchId}/buckets/{bucketId}/scheduled-tasks/refresh`, {
372
+ path: { branchId, bucketId },
373
+ body: { cronExpression }
374
+ });
375
+ return data;
376
+ };
377
+ const deleteScheduledTask = async (taskId) => {
378
+ await client.delete(`/scheduled-tasks/{taskId}`, {
379
+ path: { taskId }
380
+ });
381
+ };
382
+ return {
383
+ getBuckets,
384
+ getBucket,
385
+ createBucket,
386
+ updateBucket,
387
+ deleteBucket,
388
+ deleteBucketAsync,
389
+ createScheduledRefresh,
390
+ deleteScheduledTask
391
+ };
392
+ };
393
+
394
+ // src/utils/concurrent.ts
395
+ var concurrent = async ({
396
+ items,
397
+ process,
398
+ concurrency = 2,
399
+ middlewares = []
400
+ }) => {
401
+ if (concurrency < 1) throw new Error("Concurrency must be greater than 0");
402
+ if (items.length === 0) return [];
403
+ if (concurrency === Infinity)
404
+ return Promise.all(items.map((item, index) => process(item, index, items.length)));
405
+ const n = items.length;
406
+ const results = new Array(n);
407
+ const processWithMiddlewares = middlewares.reduceRight(
408
+ (next, middleware) => middleware(next),
409
+ process
410
+ );
411
+ const queue = items.map((item, index) => async () => {
412
+ results[index] = await processWithMiddlewares(item, index, items.length);
413
+ });
414
+ const workers = Array.from(
415
+ { length: Math.min(concurrency, items.length) },
416
+ async function processQueue() {
417
+ while (queue.length) {
418
+ await queue.shift()?.();
419
+ }
420
+ }
421
+ );
422
+ await Promise.all(workers);
423
+ return results;
424
+ };
425
+
426
+ // src/utils/series.ts
427
+ var series = async (options) => concurrent({
428
+ ...options,
429
+ concurrency: 1
430
+ });
431
+
432
+ // src/clients/storage/componentsAndConfigurations/componentsAndConfigurations.ts
433
+ var createComponentsAndConfigurations = (client) => {
434
+ const getComponent = async ({ componentId, branchId = "default" }, signal) => {
435
+ const { data } = await client.get(
436
+ "/branch/{branchId}/components/{componentId}",
437
+ { path: { componentId, branchId } },
438
+ { signal }
439
+ );
440
+ return data;
441
+ };
442
+ const getComponents = async ({ branchId = "default", ...query } = {}, signal) => {
443
+ const { data } = await client.get(
444
+ "/branch/{branchId}/components",
445
+ { path: { branchId }, query },
446
+ { signal, queryArrayFormat: "comma" }
447
+ );
448
+ return data;
449
+ };
450
+ const getConfiguration = async ({ componentId, configId, branchId = "default" }, signal) => {
451
+ const { data } = await client.get(
452
+ "/branch/{branchId}/components/{componentId}/configs/{configId}",
453
+ { path: { componentId, configId, branchId } },
454
+ { signal }
455
+ );
456
+ return data;
457
+ };
458
+ const createConfiguration = async ({
459
+ branchId = "default",
460
+ componentId,
461
+ ...body
462
+ }) => {
463
+ const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs", {
464
+ path: { branchId, componentId },
465
+ body
466
+ });
467
+ return data;
468
+ };
469
+ const deleteConfiguration = async (path) => {
470
+ await client.delete(
471
+ "/branch/{branchId}/components/{componentId}/configs/{configId}",
472
+ { path }
473
+ );
474
+ };
475
+ const deleteConfigurations = async ({
476
+ configIds,
477
+ ...rest
478
+ }) => {
479
+ await concurrent({
480
+ items: configIds,
481
+ process: async (configId) => deleteConfiguration({ ...rest, configId })
482
+ });
483
+ };
484
+ const getConfigurations = async ({ componentId, branchId = "default" }, signal) => {
485
+ const { data } = await client.get(
486
+ "/branch/{branchId}/components/{componentId}/configs",
487
+ { path: { componentId, branchId } },
488
+ { signal }
489
+ );
490
+ return data;
491
+ };
492
+ const getConfigurationWorkspaces = async ({
493
+ componentId,
494
+ branchId,
495
+ configId
496
+ }) => {
497
+ const { data } = await client.get(
498
+ "/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces",
499
+ {
500
+ path: { componentId, branchId, configId }
501
+ }
502
+ );
503
+ return data;
504
+ };
505
+ const createConfigurationWorkspace = async ({
506
+ componentId,
507
+ branchId,
508
+ configId,
509
+ ...body
510
+ }) => {
511
+ const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces", {
512
+ path: { componentId, branchId, configId },
513
+ body
514
+ });
515
+ return data;
516
+ };
517
+ const createConfigurationWorkspaceJob = async ({
518
+ componentId,
519
+ branchId,
520
+ configId,
521
+ ...body
522
+ }) => {
523
+ const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces", {
524
+ path: { componentId, branchId, configId },
525
+ body,
526
+ query: { async: true }
527
+ });
528
+ return data;
529
+ };
530
+ const createConfigurationRow = async ({
531
+ branchId = "default",
532
+ componentId,
533
+ configId,
534
+ ...body
535
+ }) => {
536
+ const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs/{configId}/rows", {
537
+ path: { branchId, componentId, configId },
538
+ body
539
+ });
540
+ return data;
541
+ };
542
+ const createConfigurationRows = async ({
543
+ branchId = "default",
544
+ componentId,
545
+ configId,
546
+ data
547
+ }, options) => {
548
+ return series({
549
+ items: data,
550
+ process: (rowBody) => {
551
+ return createConfigurationRow({
552
+ branchId,
553
+ componentId,
554
+ configId,
555
+ ...rowBody
556
+ });
557
+ },
558
+ middlewares: options?.middlewares
559
+ });
560
+ };
561
+ const deleteConfigurationRow = async ({
562
+ changeDescription,
563
+ ...path
564
+ }) => {
565
+ await client.delete(
566
+ "/branch/{branchId}/components/{componentId}/configs/{configId}/rows/{rowId}",
567
+ {
568
+ path,
569
+ body: { changeDescription }
570
+ }
571
+ );
572
+ };
573
+ const deleteConfigurationRows = async ({ rowIds, changeDescription, ...input }, options) => {
574
+ await concurrent({
575
+ items: rowIds,
576
+ process: (rowId) => {
577
+ const resolvedDescription = typeof changeDescription === "string" ? changeDescription : changeDescription?.(rowId);
578
+ return deleteConfigurationRow({
579
+ rowId,
580
+ changeDescription: resolvedDescription,
581
+ ...input
582
+ });
583
+ },
584
+ concurrency: 5,
585
+ middlewares: options?.middlewares
586
+ });
587
+ };
588
+ const searchComponentConfigurations = async ({ branchId = "default" } = {}, query, signal) => {
589
+ const { data } = await client.get(
590
+ "/branch/{branchId}/search/component-configurations",
591
+ { path: { branchId }, query },
592
+ { signal, queryArrayFormat: "comma" }
593
+ );
594
+ return data;
595
+ };
596
+ return {
597
+ // components
598
+ getComponent,
599
+ getComponents,
600
+ searchComponentConfigurations,
601
+ // configurations
602
+ createConfiguration,
603
+ getConfiguration,
604
+ deleteConfiguration,
605
+ deleteConfigurations,
606
+ getConfigurations,
607
+ // configuration's rows
608
+ createConfigurationRow,
609
+ createConfigurationRows,
610
+ deleteConfigurationRow,
611
+ deleteConfigurationRows,
612
+ // configuration's workspaces
613
+ createConfigurationWorkspace,
614
+ createConfigurationWorkspaceJob,
615
+ getConfigurationWorkspaces
616
+ };
617
+ };
618
+
619
+ // src/clients/storage/events/events.ts
620
+ var createEvents = (client) => {
621
+ const getEvents = async (query, signal) => {
622
+ const { data } = await client.get(
623
+ "/events",
624
+ { query },
625
+ { signal }
626
+ );
627
+ return data;
628
+ };
629
+ const getEvent = async (eventId, signal) => {
630
+ const { data } = await client.get(
631
+ "/events/{eventId}",
632
+ {
633
+ path: { eventId }
634
+ },
635
+ { signal }
636
+ );
637
+ return data;
638
+ };
639
+ const createEvent = async (body, signal) => {
640
+ const { data } = await client.post(
641
+ "/events",
642
+ {
643
+ body
644
+ },
645
+ { signal }
646
+ );
647
+ return data;
648
+ };
649
+ return {
650
+ getEvents,
651
+ getEvent,
652
+ createEvent
653
+ };
654
+ };
655
+
656
+ // src/clients/storage/files/files.ts
657
+ var createFiles = (client) => {
658
+ const getFile = async (fileId, signal) => {
659
+ const { data } = await client.get(
660
+ `/files/{fileId}`,
661
+ {
662
+ path: { fileId }
663
+ },
664
+ { signal }
665
+ );
666
+ return data;
667
+ };
668
+ const getFiles = async (query, signal) => {
669
+ const { data } = await client.get(
670
+ "/files",
671
+ { query },
672
+ { signal, queryArrayFormat: "brackets" }
673
+ );
674
+ return data;
675
+ };
676
+ const deleteFile = async (fileId) => {
677
+ const { data } = await client.delete(`/files/{fileId}`, {
678
+ path: { fileId }
679
+ });
680
+ return data;
681
+ };
682
+ const addFileTag = async (fileId, tag) => {
683
+ const { data } = await client.post(
684
+ `/files/{fileId}/tags`,
685
+ {
686
+ path: { fileId },
687
+ body: { tag }
688
+ }
689
+ );
690
+ return data;
691
+ };
692
+ const getFileContent = async (fileId, signal) => {
693
+ const { data } = await client.get(
694
+ `/files/{fileId}/content`,
695
+ {
696
+ path: { fileId }
697
+ },
698
+ { signal }
699
+ );
700
+ return typeof data === "string" ? data : JSON.stringify(data, null, 2);
701
+ };
702
+ const deleteFileTag = async (fileId, tag) => {
703
+ const { data } = await client.delete(
704
+ "/files/{fileId}/tags/{tag}",
705
+ {
706
+ path: { fileId, tag }
707
+ }
708
+ );
709
+ return data;
710
+ };
711
+ const prepareFile = async (body, signal) => {
712
+ const { data } = await client.post(
713
+ "/files/prepare",
714
+ { body },
715
+ { signal }
716
+ );
717
+ return data;
718
+ };
719
+ return {
720
+ getFile,
721
+ getFileContent,
722
+ getFiles,
723
+ deleteFile,
724
+ addFileTag,
725
+ deleteFileTag,
726
+ prepareFile
727
+ };
728
+ };
729
+
730
+ // src/clients/storage/jobs/jobs.ts
731
+ var createJobs = (client) => {
732
+ const getJob = async (id, signal) => {
733
+ const { data } = await client.get(
734
+ `/jobs/{id}`,
735
+ {
736
+ path: { id }
737
+ },
738
+ { signal }
739
+ );
740
+ return data;
741
+ };
742
+ const getJobs = async (query, signal) => {
743
+ const { data } = await client.get(
744
+ "/jobs",
745
+ { query },
746
+ { signal, queryArrayFormat: "brackets" }
747
+ );
748
+ return data;
749
+ };
750
+ return { getJob, getJobs };
751
+ };
752
+
753
+ // src/clients/storage/tables/tables.ts
754
+ var createTables = (client) => {
755
+ const getTables = async (query = { include: [] }, signal) => {
756
+ const { data } = await client.get(
757
+ `/tables`,
758
+ { query },
759
+ { signal, queryArrayFormat: "comma" }
760
+ );
761
+ return data;
762
+ };
763
+ const getTable = async (id, signal) => {
764
+ const { data } = await client.get(
765
+ `/tables/{id}`,
766
+ { path: { id } },
767
+ { signal }
768
+ );
769
+ return data;
770
+ };
771
+ const deleteTable = async (id, signal) => {
772
+ await client.delete(`/tables/{id}`, { path: { id } }, { signal });
773
+ };
774
+ const deleteTables = async (ids) => {
775
+ await concurrent({
776
+ items: ids,
777
+ process: (id) => deleteTable(id)
778
+ });
779
+ };
780
+ const deleteTableRows = async (id, query, signal) => {
781
+ const { data } = await client.delete(
782
+ `/tables/{id}/rows`,
783
+ { path: { id }, query },
784
+ { signal }
785
+ );
786
+ return data;
787
+ };
788
+ const getDataPreview = async (id, query, signal) => {
789
+ const { data } = await client.get(
790
+ `/tables/{id}/data-preview`,
791
+ { path: { id }, query: { format: "json", ...query } },
792
+ { signal }
793
+ );
794
+ return data;
795
+ };
796
+ const exportAsync = async (tableId, body, signal) => {
797
+ const { data } = await client.post(
798
+ "/tables/{id}/export-async",
799
+ { path: { id: tableId }, body },
800
+ { signal }
801
+ );
802
+ return data;
803
+ };
804
+ const createTableAsync = async (bucketId, body, signal) => {
805
+ const { data } = await client.post("/buckets/{bucketId}/tables-async", { path: { bucketId }, body }, { signal });
806
+ return data;
807
+ };
808
+ const importAsync = async (tableId, body, signal) => {
809
+ const { data } = await client.post(
810
+ "/tables/{id}/import-async",
811
+ { path: { id: tableId }, body },
812
+ { signal }
813
+ );
814
+ return data;
815
+ };
816
+ return {
817
+ getTables,
818
+ getTable,
819
+ getDataPreview,
820
+ deleteTable,
821
+ deleteTables,
822
+ deleteTableRows,
823
+ exportAsync,
824
+ createTableAsync,
825
+ importAsync
826
+ };
827
+ };
828
+
829
+ // src/clients/storage/tokens/tokens.ts
830
+ var createTokens = (client) => {
831
+ const verify = async (signal) => {
832
+ const { data } = await client.get(
833
+ "/tokens/verify",
834
+ {},
835
+ { signal }
836
+ );
837
+ return data;
838
+ };
839
+ const refresh = async (id, signal) => {
840
+ const { data } = await client.post(
841
+ `/tokens/${id}/refresh`,
842
+ {},
843
+ { signal }
844
+ );
845
+ return data;
846
+ };
847
+ return {
848
+ verify,
849
+ refresh
850
+ };
851
+ };
852
+
853
+ // src/clients/storage/workspaces/workspaces.ts
854
+ var createWorkspaces = (client) => {
855
+ const getWorkspaces = async (branchId, signal) => {
856
+ const { data } = await client.get(
857
+ "/branch/{branchId}/workspaces",
858
+ { path: { branchId } },
859
+ { signal }
860
+ );
861
+ return data;
862
+ };
863
+ const getWorkspace = async (path, signal) => {
864
+ const { data } = await client.get(
865
+ "/branch/{branchId}/workspaces/{workspaceId}",
866
+ { path },
867
+ { signal }
868
+ );
869
+ return data;
870
+ };
871
+ const deleteWorkspace = async (path) => {
872
+ await client.delete(
873
+ "/branch/{branchId}/workspaces/{workspaceId}",
874
+ { path }
875
+ );
876
+ };
877
+ const deleteWorkspaces = async ({
878
+ workspaceIds,
879
+ branchId
880
+ }) => {
881
+ await concurrent({
882
+ items: workspaceIds,
883
+ process: async (workspaceId) => deleteWorkspace({ branchId, workspaceId }),
884
+ concurrency: 5
885
+ });
886
+ };
887
+ const deleteWorkspaceJob = async (path) => {
888
+ const { data } = await client.delete(
889
+ "/branch/{branchId}/workspaces/{workspaceId}",
890
+ { path, query: { async: true } },
891
+ {}
892
+ );
893
+ return data;
894
+ };
895
+ const resetWorkspacePassword = async ({ branchId, workspaceId }) => {
896
+ const { data } = await client.post(
897
+ "/branch/{branchId}/workspaces/{workspaceId}/password",
898
+ {
899
+ path: { branchId, workspaceId }
900
+ }
901
+ );
902
+ return data;
903
+ };
904
+ const getWorkspaceSaml2Login = async (path, signal) => {
905
+ const { data } = await client.get(
906
+ "/branch/{branchId}/workspaces/{workspaceId}/saml2-login",
907
+ { path },
908
+ { signal }
909
+ );
910
+ return data;
911
+ };
912
+ const setWorkspacePublicKey = async ({
913
+ branchId,
914
+ workspaceId,
915
+ publicKey
916
+ }) => {
917
+ const { data } = await client.post("/branch/{branchId}/workspaces/{workspaceId}/public-key", {
918
+ path: { branchId, workspaceId },
919
+ body: { publicKey }
920
+ });
921
+ return data;
922
+ };
923
+ const getWorkspaceObjects = async (path, signal) => {
924
+ const { data } = await client.get(
925
+ "/branch/{branchId}/workspaces/{workspaceId}/objects",
926
+ { path },
927
+ { signal }
928
+ );
929
+ return data;
930
+ };
931
+ const deleteWorkspaceObjectsAsync = async ({
932
+ branchId,
933
+ workspaceId,
934
+ ...body
935
+ }) => {
936
+ const { data } = await client.post("/branch/{branchId}/workspaces/{workspaceId}/objects/batch-delete", {
937
+ path: { branchId, workspaceId },
938
+ body
939
+ });
940
+ return data;
941
+ };
942
+ return {
943
+ getWorkspace,
944
+ getWorkspaces,
945
+ deleteWorkspace,
946
+ resetWorkspacePassword,
947
+ deleteWorkspaces,
948
+ deleteWorkspaceJob,
949
+ setWorkspacePublicKey,
950
+ getWorkspaceSaml2Login,
951
+ getWorkspaceObjects,
952
+ deleteWorkspaceObjectsAsync
953
+ };
954
+ };
955
+
956
+ // src/clients/storage/storageClient.ts
957
+ var createStorageClient = ({ baseUrl, middlewares = [] }) => {
958
+ const storageBaseUrl = `${baseUrl}/v2/storage`;
959
+ const client = createGenericFetchClient({
960
+ baseUrl: storageBaseUrl,
961
+ middlewares
962
+ });
963
+ const openApiClient = createOpenapiFetchClient({
964
+ baseUrl,
965
+ middlewares
966
+ });
967
+ const getStackInfo = async (query, signal) => {
968
+ const { data } = await client.get(
969
+ "",
970
+ { query },
971
+ { signal }
972
+ );
973
+ return data;
974
+ };
975
+ return {
976
+ buckets: createBuckets(client),
977
+ events: createEvents(client),
978
+ files: createFiles(client),
979
+ tables: createTables(client),
980
+ branches: createBranches(client),
981
+ workspaces: createWorkspaces(client),
982
+ mergeRequests: createMergeRequests(openApiClient),
983
+ jobs: createJobs(client),
984
+ componentsAndConfigurations: createComponentsAndConfigurations(client),
985
+ configurationVersions: createConfigurationVersions(client),
986
+ tokens: createTokens(client),
987
+ getStackInfo
988
+ };
989
+ };
990
+
991
+ // src/constants.ts
992
+ var KeboolaHttpHeader = {
993
+ STORAGE_API_TOKEN: "X-StorageApi-Token"};
994
+
995
+ // src/clients/storage/storageTokenMiddleware.ts
996
+ var isTokenRefreshEndpoint = (request) => {
997
+ const url = new URL(request.url);
998
+ return request.method === "POST" && /\/tokens\/[^/]+\/refresh$/.test(url.pathname);
999
+ };
1000
+ var tryParseNewToken = (data) => {
1001
+ if (data === null || typeof data !== "object") return null;
1002
+ const token = data.token;
1003
+ return typeof token === "string" ? token : null;
1004
+ };
1005
+ var createStorageTokenMiddleware = (initialToken) => {
1006
+ let current = initialToken;
1007
+ return (next) => async (request) => {
1008
+ request.request.headers.set(KeboolaHttpHeader.STORAGE_API_TOKEN, current);
1009
+ const response = await next(request);
1010
+ if (isTokenRefreshEndpoint(request.request)) {
1011
+ const newToken = tryParseNewToken(response.data);
1012
+ if (newToken !== null) current = newToken;
1013
+ }
1014
+ return response;
1015
+ };
1016
+ };
1017
+
1018
+ exports.createStorageClient = createStorageClient;
1019
+ exports.createStorageTokenMiddleware = createStorageTokenMiddleware;
1020
+ //# sourceMappingURL=index.cjs.map
1021
+ //# sourceMappingURL=index.cjs.map