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