@keboola/api-client 1.0.0 → 2.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.
- package/dist/ai/index.cjs +5 -201
- package/dist/ai/index.cjs.map +1 -1
- package/dist/ai/index.js +2 -201
- package/dist/ai/index.js.map +1 -1
- package/dist/assets/index.cjs +5 -180
- package/dist/assets/index.cjs.map +1 -1
- package/dist/assets/index.js +2 -180
- package/dist/assets/index.js.map +1 -1
- package/dist/chat/index.cjs +6 -422
- package/dist/chat/index.cjs.map +1 -1
- package/dist/chat/index.d.cts +1 -1
- package/dist/chat/index.d.ts +1 -1
- package/dist/chat/index.js +3 -422
- package/dist/chat/index.js.map +1 -1
- package/dist/chat/suggestions.cjs +70 -152
- package/dist/chat/suggestions.cjs.map +1 -1
- package/dist/chat/suggestions.js +1 -138
- package/dist/chat/suggestions.js.map +1 -1
- package/dist/chat/types.d.cts +1 -1
- package/dist/chat/types.d.ts +1 -1
- package/dist/chunk-345V46LR.cjs +934 -0
- package/dist/chunk-345V46LR.cjs.map +1 -0
- package/dist/chunk-3B7L6MCG.js +189 -0
- package/dist/chunk-3B7L6MCG.js.map +1 -0
- package/dist/chunk-3T54WH4X.cjs +42 -0
- package/dist/chunk-3T54WH4X.cjs.map +1 -0
- package/dist/chunk-3Y6NK7TC.js +34 -0
- package/dist/chunk-3Y6NK7TC.js.map +1 -0
- package/dist/chunk-4N7XBMWP.js +930 -0
- package/dist/chunk-4N7XBMWP.js.map +1 -0
- package/dist/chunk-4RC5E3SL.js +140 -0
- package/dist/chunk-4RC5E3SL.js.map +1 -0
- package/dist/chunk-633QJMHH.cjs +73 -0
- package/dist/chunk-633QJMHH.cjs.map +1 -0
- package/dist/chunk-6RQDX6JY.cjs +132 -0
- package/dist/chunk-6RQDX6JY.cjs.map +1 -0
- package/dist/chunk-76AHKXLC.cjs +29 -0
- package/dist/chunk-76AHKXLC.cjs.map +1 -0
- package/dist/chunk-7FY6COWG.js +71 -0
- package/dist/chunk-7FY6COWG.js.map +1 -0
- package/dist/chunk-7J2R6XHB.js +3 -0
- package/dist/chunk-7J2R6XHB.js.map +1 -0
- package/dist/chunk-BGLICNTG.cjs +33 -0
- package/dist/chunk-BGLICNTG.cjs.map +1 -0
- package/dist/chunk-BR3SBEFE.cjs +182 -0
- package/dist/chunk-BR3SBEFE.cjs.map +1 -0
- package/dist/chunk-CVV4HROS.cjs +37 -0
- package/dist/chunk-CVV4HROS.cjs.map +1 -0
- package/dist/chunk-DCTDH77P.cjs +277 -0
- package/dist/chunk-DCTDH77P.cjs.map +1 -0
- package/dist/chunk-EBCZUGUX.js +35 -0
- package/dist/chunk-EBCZUGUX.js.map +1 -0
- package/dist/chunk-EY5LALX2.cjs +26 -0
- package/dist/chunk-EY5LALX2.cjs.map +1 -0
- package/dist/chunk-FBQHHAL5.js +40 -0
- package/dist/chunk-FBQHHAL5.js.map +1 -0
- package/dist/chunk-GF4XZK5N.cjs +43 -0
- package/dist/chunk-GF4XZK5N.cjs.map +1 -0
- package/dist/chunk-GNPQB3MT.js +27 -0
- package/dist/chunk-GNPQB3MT.js.map +1 -0
- package/dist/chunk-GO6SOMGL.js +181 -0
- package/dist/chunk-GO6SOMGL.js.map +1 -0
- package/dist/chunk-HCNNMUTR.cjs +36 -0
- package/dist/chunk-HCNNMUTR.cjs.map +1 -0
- package/dist/chunk-HPVTVQBJ.cjs +238 -0
- package/dist/chunk-HPVTVQBJ.cjs.map +1 -0
- package/dist/chunk-HYUGRMCY.cjs +247 -0
- package/dist/chunk-HYUGRMCY.cjs.map +1 -0
- package/dist/chunk-IJMQCOBC.js +34 -0
- package/dist/chunk-IJMQCOBC.js.map +1 -0
- package/dist/chunk-IY3VNVXD.cjs +183 -0
- package/dist/chunk-IY3VNVXD.cjs.map +1 -0
- package/dist/chunk-JKFIB6SQ.cjs +685 -0
- package/dist/chunk-JKFIB6SQ.cjs.map +1 -0
- package/dist/chunk-JLNOESHX.cjs +47 -0
- package/dist/chunk-JLNOESHX.cjs.map +1 -0
- package/dist/chunk-JURD5MC3.js +178 -0
- package/dist/chunk-JURD5MC3.js.map +1 -0
- package/dist/chunk-LV3ZWNDC.js +75 -0
- package/dist/chunk-LV3ZWNDC.js.map +1 -0
- package/dist/chunk-LZ6A6J2E.cjs +77 -0
- package/dist/chunk-LZ6A6J2E.cjs.map +1 -0
- package/dist/chunk-OKVYLO6C.js +108 -0
- package/dist/chunk-OKVYLO6C.js.map +1 -0
- package/dist/chunk-PD3LJYS2.js +218 -0
- package/dist/chunk-PD3LJYS2.js.map +1 -0
- package/dist/chunk-PV4HIVW2.js +130 -0
- package/dist/chunk-PV4HIVW2.js.map +1 -0
- package/dist/chunk-R7PD3BRA.js +261 -0
- package/dist/chunk-R7PD3BRA.js.map +1 -0
- package/dist/chunk-SAEG42HW.js +64 -0
- package/dist/chunk-SAEG42HW.js.map +1 -0
- package/dist/chunk-TIIRBQUA.cjs +110 -0
- package/dist/chunk-TIIRBQUA.cjs.map +1 -0
- package/dist/chunk-TXFQ4YIK.js +31 -0
- package/dist/chunk-TXFQ4YIK.js.map +1 -0
- package/dist/chunk-U5SE6W5M.cjs +158 -0
- package/dist/chunk-U5SE6W5M.cjs.map +1 -0
- package/dist/chunk-UABYNGBZ.js +39 -0
- package/dist/chunk-UABYNGBZ.js.map +1 -0
- package/dist/chunk-UXF53ZOV.js +220 -0
- package/dist/chunk-UXF53ZOV.js.map +1 -0
- package/dist/chunk-VAOCYA6B.js +20 -0
- package/dist/chunk-VAOCYA6B.js.map +1 -0
- package/dist/chunk-VS5PM7KL.js +45 -0
- package/dist/chunk-VS5PM7KL.js.map +1 -0
- package/dist/chunk-WQ7EZWBF.js +24 -0
- package/dist/chunk-WQ7EZWBF.js.map +1 -0
- package/dist/chunk-XPDEQND7.cjs +4 -0
- package/dist/chunk-XPDEQND7.cjs.map +1 -0
- package/dist/chunk-XUDMML5C.cjs +211 -0
- package/dist/chunk-XUDMML5C.cjs.map +1 -0
- package/dist/chunk-YPCD7M2N.cjs +22 -0
- package/dist/chunk-YPCD7M2N.cjs.map +1 -0
- package/dist/chunk-YUEYMIMI.cjs +67 -0
- package/dist/chunk-YUEYMIMI.cjs.map +1 -0
- package/dist/chunk-YXCVNX2Q.cjs +36 -0
- package/dist/chunk-YXCVNX2Q.cjs.map +1 -0
- package/dist/chunk-ZEMKE6DI.js +681 -0
- package/dist/chunk-ZEMKE6DI.js.map +1 -0
- package/dist/dataScience/index.cjs +8 -412
- package/dist/dataScience/index.cjs.map +1 -1
- package/dist/dataScience/index.js +2 -391
- package/dist/dataScience/index.js.map +1 -1
- package/dist/domain/permissions/index.cjs +131 -2
- package/dist/domain/permissions/index.cjs.map +1 -1
- package/dist/domain/permissions/index.d.cts +108 -2
- package/dist/domain/permissions/index.d.ts +108 -2
- package/dist/domain/permissions/index.js +106 -3
- package/dist/domain/permissions/index.js.map +1 -1
- package/dist/editor/index.cjs +5 -264
- package/dist/editor/index.cjs.map +1 -1
- package/dist/editor/index.js +2 -264
- package/dist/editor/index.js.map +1 -1
- package/dist/encryption/index.cjs +5 -190
- package/dist/encryption/index.cjs.map +1 -1
- package/dist/encryption/index.js +2 -190
- package/dist/encryption/index.js.map +1 -1
- package/dist/import/index.cjs +5 -196
- package/dist/import/index.cjs.map +1 -1
- package/dist/import/index.js +2 -196
- package/dist/import/index.js.map +1 -1
- package/dist/index.cjs +314 -3569
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2004 -105
- package/dist/index.d.ts +2004 -105
- package/dist/index.js +176 -3464
- package/dist/index.js.map +1 -1
- package/dist/management/index.cjs +10 -881
- package/dist/management/index.cjs.map +1 -1
- package/dist/management/index.js +3 -880
- package/dist/management/index.js.map +1 -1
- package/dist/metastore/index.cjs +5 -337
- package/dist/metastore/index.cjs.map +1 -1
- package/dist/metastore/index.js +2 -337
- package/dist/metastore/index.js.map +1 -1
- package/dist/oauth/index.cjs +5 -226
- package/dist/oauth/index.cjs.map +1 -1
- package/dist/oauth/index.js +2 -226
- package/dist/oauth/index.js.map +1 -1
- package/dist/project-Bzslbq4u.d.ts +16 -0
- package/dist/project-CYhB6rYN.d.cts +16 -0
- package/dist/queryService/index.cjs +5 -248
- package/dist/queryService/index.cjs.map +1 -1
- package/dist/queryService/index.js +2 -248
- package/dist/queryService/index.js.map +1 -1
- package/dist/queue/index.cjs +5 -190
- package/dist/queue/index.cjs.map +1 -1
- package/dist/queue/index.js +2 -190
- package/dist/queue/index.js.map +1 -1
- package/dist/sdk/configurations/index.d.cts +2 -12
- package/dist/sdk/configurations/index.d.ts +2 -12
- package/dist/sdk/storage/index.cjs +49 -248
- package/dist/sdk/storage/index.cjs.map +1 -1
- package/dist/sdk/storage/index.d.cts +2 -2
- package/dist/sdk/storage/index.d.ts +2 -2
- package/dist/sdk/storage/index.js +1 -240
- package/dist/sdk/storage/index.js.map +1 -1
- package/dist/sdk/tag/index.cjs +6 -203
- package/dist/sdk/tag/index.cjs.map +1 -1
- package/dist/sdk/tag/index.js +2 -206
- package/dist/sdk/tag/index.js.map +1 -1
- package/dist/status/index.cjs +6 -176
- package/dist/status/index.cjs.map +1 -1
- package/dist/status/index.js +3 -176
- package/dist/status/index.js.map +1 -1
- package/dist/status/types.cjs +2 -0
- package/dist/status/types.js +1 -1
- package/dist/storage/index.cjs +9 -1023
- package/dist/storage/index.cjs.map +1 -1
- package/dist/storage/index.d.cts +1 -1
- package/dist/storage/index.d.ts +1 -1
- package/dist/storage/index.js +3 -1023
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/types.d.cts +68 -5
- package/dist/storage/types.d.ts +68 -5
- package/dist/{storageClient-C8LDO4gr.d.ts → storageClient-BicsbzZy.d.ts} +7 -1
- package/dist/{storageClient-D05fdGHW.d.cts → storageClient-CmK1LPHr.d.cts} +7 -1
- package/dist/storageSdk-BZ7ZW6_h.d.cts +143 -0
- package/dist/storageSdk-DCcD68FQ.d.ts +143 -0
- package/dist/syncActions/index.cjs +5 -364
- package/dist/syncActions/index.cjs.map +1 -1
- package/dist/syncActions/index.js +2 -345
- package/dist/syncActions/index.js.map +1 -1
- package/dist/telemetry/index.cjs +5 -187
- package/dist/telemetry/index.cjs.map +1 -1
- package/dist/telemetry/index.js +2 -187
- package/dist/telemetry/index.js.map +1 -1
- package/dist/{types-DJ6nbNq5.d.cts → types-CNkgmuhe.d.cts} +1 -1
- package/dist/{types-BjrNNn5I.d.ts → types-DzwzVgyG.d.ts} +1 -1
- package/dist/vault/index.cjs +5 -219
- package/dist/vault/index.cjs.map +1 -1
- package/dist/vault/index.js +2 -219
- package/dist/vault/index.js.map +1 -1
- package/dist/verify/index.cjs +5 -184
- package/dist/verify/index.cjs.map +1 -1
- package/dist/verify/index.js +2 -184
- package/dist/verify/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/storageSdk-CX03lGn-.d.ts +0 -18
- package/dist/storageSdk-DZV4nB3o.d.cts +0 -18
package/dist/index.cjs
CHANGED
|
@@ -1,65 +1,31 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
var
|
|
29
|
-
var z5__namespace = /*#__PURE__*/_interopNamespace(z5);
|
|
30
|
-
var dayjs__default = /*#__PURE__*/_interopDefault(dayjs);
|
|
31
|
-
var utc__default = /*#__PURE__*/_interopDefault(utc);
|
|
32
|
-
|
|
33
|
-
// src/errors/UserError.ts
|
|
34
|
-
var UserError = class extends Error {
|
|
35
|
-
constructor(message2) {
|
|
36
|
-
super(message2);
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
// src/errors/ApiError.ts
|
|
41
|
-
var ApiError = class extends Error {
|
|
42
|
-
response;
|
|
43
|
-
request;
|
|
44
|
-
data;
|
|
45
|
-
constructor({ response, request, data }) {
|
|
46
|
-
super(response.statusText);
|
|
47
|
-
this.response = response;
|
|
48
|
-
this.request = request;
|
|
49
|
-
this.data = data;
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
// src/errors/ManagementClientAuthError.ts
|
|
54
|
-
var ManagementClientAuthError = class extends ApiError {
|
|
55
|
-
title;
|
|
56
|
-
message;
|
|
57
|
-
constructor(title, message2, res) {
|
|
58
|
-
super(res);
|
|
59
|
-
this.title = title;
|
|
60
|
-
this.message = message2;
|
|
61
|
-
}
|
|
62
|
-
};
|
|
3
|
+
var chunkGF4XZK5N_cjs = require('./chunk-GF4XZK5N.cjs');
|
|
4
|
+
var chunkBR3SBEFE_cjs = require('./chunk-BR3SBEFE.cjs');
|
|
5
|
+
var chunkDCTDH77P_cjs = require('./chunk-DCTDH77P.cjs');
|
|
6
|
+
var chunkBGLICNTG_cjs = require('./chunk-BGLICNTG.cjs');
|
|
7
|
+
var chunkYUEYMIMI_cjs = require('./chunk-YUEYMIMI.cjs');
|
|
8
|
+
var chunkJKFIB6SQ_cjs = require('./chunk-JKFIB6SQ.cjs');
|
|
9
|
+
var chunk76AHKXLC_cjs = require('./chunk-76AHKXLC.cjs');
|
|
10
|
+
var chunkIY3VNVXD_cjs = require('./chunk-IY3VNVXD.cjs');
|
|
11
|
+
var chunk633QJMHH_cjs = require('./chunk-633QJMHH.cjs');
|
|
12
|
+
var chunkLZ6A6J2E_cjs = require('./chunk-LZ6A6J2E.cjs');
|
|
13
|
+
var chunkYXCVNX2Q_cjs = require('./chunk-YXCVNX2Q.cjs');
|
|
14
|
+
var chunkYPCD7M2N_cjs = require('./chunk-YPCD7M2N.cjs');
|
|
15
|
+
require('./chunk-XPDEQND7.cjs');
|
|
16
|
+
var chunk345V46LR_cjs = require('./chunk-345V46LR.cjs');
|
|
17
|
+
var chunkCVV4HROS_cjs = require('./chunk-CVV4HROS.cjs');
|
|
18
|
+
var chunkXUDMML5C_cjs = require('./chunk-XUDMML5C.cjs');
|
|
19
|
+
var chunkJLNOESHX_cjs = require('./chunk-JLNOESHX.cjs');
|
|
20
|
+
var chunkEY5LALX2_cjs = require('./chunk-EY5LALX2.cjs');
|
|
21
|
+
var chunk6RQDX6JY_cjs = require('./chunk-6RQDX6JY.cjs');
|
|
22
|
+
var chunkU5SE6W5M_cjs = require('./chunk-U5SE6W5M.cjs');
|
|
23
|
+
var chunkHYUGRMCY_cjs = require('./chunk-HYUGRMCY.cjs');
|
|
24
|
+
var chunkTIIRBQUA_cjs = require('./chunk-TIIRBQUA.cjs');
|
|
25
|
+
var chunkHCNNMUTR_cjs = require('./chunk-HCNNMUTR.cjs');
|
|
26
|
+
var chunk3T54WH4X_cjs = require('./chunk-3T54WH4X.cjs');
|
|
27
|
+
var chunkHPVTVQBJ_cjs = require('./chunk-HPVTVQBJ.cjs');
|
|
28
|
+
var zod = require('zod');
|
|
63
29
|
|
|
64
30
|
// src/errors/ServiceUnavailableError.ts
|
|
65
31
|
var ServiceUnavailableError = class _ServiceUnavailableError extends Error {
|
|
@@ -71,3325 +37,223 @@ var ServiceUnavailableError = class _ServiceUnavailableError extends Error {
|
|
|
71
37
|
Object.setPrototypeOf(this, _ServiceUnavailableError.prototype);
|
|
72
38
|
}
|
|
73
39
|
};
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
var
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
};
|
|
97
|
-
var
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
};
|
|
103
|
-
var
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
if (contentType && contentType == HttpContentType.JSON) {
|
|
115
|
-
return response.json();
|
|
116
|
-
}
|
|
117
|
-
const text = await response.text();
|
|
118
|
-
try {
|
|
119
|
-
return JSON.parse(text);
|
|
120
|
-
} catch {
|
|
121
|
-
return text;
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
var cleanHeadersInit = (headersInit) => {
|
|
125
|
-
if (Array.isArray(headersInit)) return headersInit;
|
|
126
|
-
if (headersInit instanceof Headers) return headersInit;
|
|
127
|
-
if (headersInit == null) return headersInit;
|
|
128
|
-
return removeUndefined(headersInit);
|
|
129
|
-
};
|
|
130
|
-
var createHeaders = (headersInitA, headersInitB) => {
|
|
131
|
-
const headersA = new Headers(cleanHeadersInit(headersInitA));
|
|
132
|
-
const headersB = new Headers(cleanHeadersInit(headersInitB));
|
|
133
|
-
headersB.forEach((value, key) => {
|
|
134
|
-
headersA.set(key, value);
|
|
135
|
-
});
|
|
136
|
-
return headersA;
|
|
137
|
-
};
|
|
138
|
-
var createPath = (path, pathParam = {}) => path.replace(/\{([^}]+)}/g, (_, key) => {
|
|
139
|
-
if (!(key in pathParam))
|
|
140
|
-
throw new Error(`Path parameter "${key}" is missing in the path "${path}"`);
|
|
141
|
-
return encodeURIComponent(pathParam[key]);
|
|
142
|
-
});
|
|
143
|
-
var createSearch = (query, options = {}) => {
|
|
144
|
-
return qs__default.default.stringify(query, {
|
|
145
|
-
encodeValuesOnly: true,
|
|
146
|
-
skipNulls: true,
|
|
147
|
-
...options
|
|
148
|
-
});
|
|
149
|
-
};
|
|
150
|
-
var createBody = (body, headers) => {
|
|
151
|
-
if (body == null) return null;
|
|
152
|
-
if (body instanceof FormData) return body;
|
|
153
|
-
if (typeof body === "string") return body;
|
|
154
|
-
const stringifyBody = JSON.stringify(body);
|
|
155
|
-
const stringBody = stringifyBody === "{}" ? null : stringifyBody;
|
|
156
|
-
if (stringBody) headers.set(HttpHeader.CONTENT_TYPE, HttpContentType.JSON);
|
|
157
|
-
return stringBody;
|
|
158
|
-
};
|
|
159
|
-
var parseContentDispositionHeader = (contentDisposition) => {
|
|
160
|
-
const type = (() => {
|
|
161
|
-
const typeMatch = contentDisposition?.match(/^\s*(inline|attachment)\s*;/i);
|
|
162
|
-
return typeMatch?.[1]?.toLowerCase() ?? "unknown";
|
|
163
|
-
})();
|
|
164
|
-
const filename = (() => {
|
|
165
|
-
const filenameMatch = contentDisposition?.match(/filename="([^"]+)"/i);
|
|
166
|
-
if (filenameMatch) return filenameMatch[1];
|
|
167
|
-
const encodedFilenameMatch = contentDisposition?.match(/filename\*=(?:UTF-8'')?([^;]+)/i);
|
|
168
|
-
if (encodedFilenameMatch?.[1]) return decodeURIComponent(encodedFilenameMatch[1]);
|
|
169
|
-
const unquotedFilenameMatch = contentDisposition?.match(/filename=([^;]+)/i);
|
|
170
|
-
return unquotedFilenameMatch?.[1] ?? null;
|
|
171
|
-
})();
|
|
172
|
-
return { type, filename };
|
|
173
|
-
};
|
|
174
|
-
var createFetchRequest = ({
|
|
175
|
-
url,
|
|
176
|
-
method,
|
|
177
|
-
params,
|
|
178
|
-
options = {},
|
|
179
|
-
defaultOptions
|
|
180
|
-
}) => {
|
|
181
|
-
const {
|
|
182
|
-
baseUrl,
|
|
183
|
-
validateStatus: defValidateStatus = defaultValidateStatus,
|
|
184
|
-
headers: defaultHeaders,
|
|
185
|
-
...restDefaultOptions
|
|
186
|
-
} = defaultOptions;
|
|
187
|
-
const { validateStatus, queryArrayFormat, headers: endpointHeaders, ...restOptions } = options;
|
|
188
|
-
const headers = createHeaders(defaultHeaders, endpointHeaders);
|
|
189
|
-
const path = createPath(url, params.path);
|
|
190
|
-
const search = createSearch(params.query ?? {}, { arrayFormat: queryArrayFormat });
|
|
191
|
-
const body = createBody(params.body, headers);
|
|
192
|
-
const urlInstance = new URL(baseUrl + path);
|
|
193
|
-
urlInstance.search = search;
|
|
194
|
-
const request = new Request(urlInstance, {
|
|
195
|
-
...restDefaultOptions,
|
|
196
|
-
...restOptions,
|
|
197
|
-
headers,
|
|
198
|
-
method: method.toUpperCase(),
|
|
199
|
-
body
|
|
200
|
-
});
|
|
201
|
-
return { request, validateStatus: validateStatus ?? defValidateStatus };
|
|
202
|
-
};
|
|
203
|
-
|
|
204
|
-
// src/fetchClient/createFetchClient/createFetchClient.ts
|
|
205
|
-
var isApiError = (error) => error instanceof ApiError;
|
|
206
|
-
var isAbortError = (error) => error instanceof DOMException && error.name === "AbortError";
|
|
207
|
-
var isFetchClientError = (error) => error instanceof TypeError || error instanceof SyntaxError || isApiError(error);
|
|
208
|
-
var createCoreFetch = (fetchFn) => async ({ request, validateStatus }) => {
|
|
209
|
-
const response = await fetchFn(request);
|
|
210
|
-
const data = await parseData(response);
|
|
211
|
-
const apiResponse = {
|
|
212
|
-
request,
|
|
213
|
-
response,
|
|
214
|
-
data
|
|
215
|
-
};
|
|
216
|
-
const boolOrError = validateStatus(apiResponse);
|
|
217
|
-
if (isApiError(boolOrError)) throw boolOrError;
|
|
218
|
-
if (!boolOrError) throw new ApiError(apiResponse);
|
|
219
|
-
return apiResponse;
|
|
220
|
-
};
|
|
221
|
-
var createFetchClient = ({
|
|
222
|
-
middlewares = [],
|
|
223
|
-
...defaultOptions
|
|
224
|
-
}) => {
|
|
225
|
-
const coreFetch = createCoreFetch(defaultOptions.fetchFn ?? fetch);
|
|
226
|
-
const fetchWithMiddlewares = middlewares.reduceRight(
|
|
227
|
-
(next, middleware) => middleware(next),
|
|
228
|
-
coreFetch
|
|
229
|
-
);
|
|
230
|
-
const createFetchMethod = (method) => async (url, params, options = {}) => {
|
|
231
|
-
const request = createFetchRequest({
|
|
232
|
-
url,
|
|
233
|
-
method,
|
|
234
|
-
params,
|
|
235
|
-
defaultOptions,
|
|
236
|
-
options
|
|
237
|
-
});
|
|
238
|
-
const methodMiddlewares = options?.middlewares ?? [];
|
|
239
|
-
return methodMiddlewares.reduceRight(
|
|
240
|
-
(next, middleware) => middleware(next),
|
|
241
|
-
fetchWithMiddlewares
|
|
242
|
-
)(request);
|
|
243
|
-
};
|
|
244
|
-
return {
|
|
245
|
-
get: createFetchMethod("get"),
|
|
246
|
-
post: createFetchMethod("post"),
|
|
247
|
-
put: createFetchMethod("put"),
|
|
248
|
-
patch: createFetchMethod("patch"),
|
|
249
|
-
delete: createFetchMethod("delete")
|
|
250
|
-
};
|
|
251
|
-
};
|
|
252
|
-
|
|
253
|
-
// src/fetchClient/createFetchClient/middlewares.ts
|
|
254
|
-
var createCallbackMiddleware = ({ onError, onSettled, onSuccess } = {}) => (next) => async (request) => {
|
|
255
|
-
let response;
|
|
256
|
-
try {
|
|
257
|
-
response = await next(request);
|
|
258
|
-
onSuccess?.();
|
|
259
|
-
} catch (error) {
|
|
260
|
-
onError?.(error);
|
|
261
|
-
throw error;
|
|
262
|
-
} finally {
|
|
263
|
-
onSettled?.();
|
|
264
|
-
}
|
|
265
|
-
return response;
|
|
266
|
-
};
|
|
267
|
-
|
|
268
|
-
// src/fetchClient/createGenericFetchClient.ts
|
|
269
|
-
var createGenericFetchClient = (defaultOptions) => createFetchClient(defaultOptions);
|
|
270
|
-
|
|
271
|
-
// src/fetchClient/createOpenapiFetchClient.ts
|
|
272
|
-
var createOpenapiFetchClient = (defaultOptions) => createFetchClient(defaultOptions);
|
|
273
|
-
|
|
274
|
-
// src/clients/ai/aiClient.ts
|
|
275
|
-
var createAiClient = ({ baseUrl, middlewares }) => {
|
|
276
|
-
const client = createOpenapiFetchClient({
|
|
277
|
-
baseUrl,
|
|
278
|
-
middlewares
|
|
279
|
-
});
|
|
280
|
-
const describeConfigurationVersion = async (body) => {
|
|
281
|
-
const { data } = await client.post("/describe/configuration-version", { body });
|
|
282
|
-
return data;
|
|
283
|
-
};
|
|
284
|
-
const describeConfigurationMerge = async (body) => {
|
|
285
|
-
const { data } = await client.post("/describe/configuration-merge", { body });
|
|
286
|
-
return data;
|
|
287
|
-
};
|
|
288
|
-
const explainError = async (body) => {
|
|
289
|
-
const { data } = await client.post("/explain", { body });
|
|
290
|
-
return data;
|
|
291
|
-
};
|
|
292
|
-
const describeConfiguration = async (body) => {
|
|
293
|
-
const { data } = await client.post("/describe/configuration", { body });
|
|
294
|
-
return data;
|
|
295
|
-
};
|
|
296
|
-
const suggestComponent = async (body) => {
|
|
297
|
-
const { data } = await client.post("/suggest/component", { body });
|
|
298
|
-
return data;
|
|
299
|
-
};
|
|
300
|
-
const feedback = async (body) => {
|
|
301
|
-
const { data } = await client.post("/feedback", { body });
|
|
302
|
-
return data;
|
|
303
|
-
};
|
|
304
|
-
return {
|
|
305
|
-
describeConfigurationVersion,
|
|
306
|
-
describeConfigurationMerge,
|
|
307
|
-
explainError,
|
|
308
|
-
describeConfiguration,
|
|
309
|
-
suggestComponent,
|
|
310
|
-
feedback
|
|
311
|
-
};
|
|
312
|
-
};
|
|
313
|
-
|
|
314
|
-
// src/clients/assets/assetsClient.ts
|
|
315
|
-
var createAssetsClient = ({ baseUrl, middlewares }) => {
|
|
316
|
-
const client = createGenericFetchClient({
|
|
317
|
-
baseUrl,
|
|
318
|
-
middlewares
|
|
319
|
-
});
|
|
320
|
-
const getPublishedChangelogPosts = async (signal) => {
|
|
321
|
-
const { data } = await client.get(
|
|
322
|
-
"/platform-changelog/published-posts.json",
|
|
323
|
-
{},
|
|
324
|
-
{ signal }
|
|
325
|
-
);
|
|
326
|
-
return data;
|
|
327
|
-
};
|
|
328
|
-
return {
|
|
329
|
-
getPublishedChangelogPosts
|
|
330
|
-
};
|
|
331
|
-
};
|
|
332
|
-
var SUGGESTION_CATEGORIES = ["error", "maintenance", "documentation"];
|
|
333
|
-
var suggestionCategorySchema = z5.z.enum(SUGGESTION_CATEGORIES);
|
|
334
|
-
var suggestionSchema = z5.z.object({
|
|
335
|
-
label: z5.z.preprocess((v) => typeof v === "string" ? v.slice(0, 80) : v, z5.z.string().max(80)),
|
|
336
|
-
prompt: z5.z.string(),
|
|
337
|
-
priority: z5.z.number().int().min(1).max(3),
|
|
338
|
-
category: suggestionCategorySchema,
|
|
339
|
-
reasoning: z5.z.string()
|
|
340
|
-
});
|
|
341
|
-
z5.z.object({
|
|
342
|
-
suggestions: z5.z.array(suggestionSchema).max(4)
|
|
343
|
-
});
|
|
344
|
-
var suggestionWithIdSchema = suggestionSchema.extend({
|
|
345
|
-
id: z5.z.string()
|
|
346
|
-
});
|
|
347
|
-
var suggestionsApiResponseSchema = z5.z.object({
|
|
348
|
-
suggestions: z5.z.array(suggestionWithIdSchema).max(4),
|
|
349
|
-
suggestionSessionId: z5.z.string()
|
|
350
|
-
});
|
|
351
|
-
var recentFailedJobSchema = z5.z.object({
|
|
352
|
-
id: z5.z.string(),
|
|
353
|
-
status: z5.z.enum(["error", "warning"]),
|
|
354
|
-
component: z5.z.string(),
|
|
355
|
-
configId: z5.z.string(),
|
|
356
|
-
configName: z5.z.string().optional(),
|
|
357
|
-
createdTime: z5.z.string(),
|
|
358
|
-
durationSeconds: z5.z.number().int().nonnegative().optional(),
|
|
359
|
-
errorMessage: z5.z.string().max(200).optional()
|
|
360
|
-
});
|
|
361
|
-
var deprecatedComponentSchema = z5.z.object({
|
|
362
|
-
id: z5.z.string(),
|
|
363
|
-
name: z5.z.string(),
|
|
364
|
-
type: z5.z.string(),
|
|
365
|
-
expiredOn: z5.z.string(),
|
|
366
|
-
configCount: z5.z.number().int().nonnegative()
|
|
367
|
-
});
|
|
368
|
-
var userRecentEditSchema = z5.z.object({
|
|
369
|
-
component: z5.z.string(),
|
|
370
|
-
configId: z5.z.string(),
|
|
371
|
-
configName: z5.z.string(),
|
|
372
|
-
lastEdited: z5.z.string()
|
|
373
|
-
});
|
|
374
|
-
var dashboardContextDataSchema = z5.z.object({
|
|
375
|
-
recentFailedJobs: z5.z.array(recentFailedJobSchema).max(5),
|
|
376
|
-
deprecatedComponents: z5.z.array(deprecatedComponentSchema).max(5),
|
|
377
|
-
userRecentEdits: z5.z.array(userRecentEditSchema).max(5),
|
|
378
|
-
currentUserEmail: z5.z.string().email()
|
|
379
|
-
});
|
|
380
|
-
var JOB_STATUSES = [
|
|
381
|
-
"created",
|
|
382
|
-
"waiting",
|
|
383
|
-
"processing",
|
|
384
|
-
"success",
|
|
385
|
-
"error",
|
|
386
|
-
"terminating",
|
|
387
|
-
"terminated",
|
|
388
|
-
"cancelled",
|
|
389
|
-
"warning"
|
|
390
|
-
];
|
|
391
|
-
var jobDetailContextDataSchema = z5.z.object({
|
|
392
|
-
job: z5.z.object({
|
|
393
|
-
id: z5.z.string(),
|
|
394
|
-
status: z5.z.enum(JOB_STATUSES),
|
|
395
|
-
component: z5.z.string(),
|
|
396
|
-
configId: z5.z.string().optional(),
|
|
397
|
-
configName: z5.z.string().optional(),
|
|
398
|
-
createdTime: z5.z.string(),
|
|
399
|
-
startTime: z5.z.string().optional(),
|
|
400
|
-
endTime: z5.z.string().optional(),
|
|
401
|
-
durationSeconds: z5.z.number().int().nonnegative().optional(),
|
|
402
|
-
errorMessage: z5.z.string().max(500).optional(),
|
|
403
|
-
errorType: z5.z.enum(["user", "application"]).optional(),
|
|
404
|
-
backendSize: z5.z.string().optional()
|
|
405
|
-
}),
|
|
406
|
-
component: z5.z.object({
|
|
407
|
-
id: z5.z.string(),
|
|
408
|
-
name: z5.z.string(),
|
|
409
|
-
type: z5.z.string()
|
|
410
|
-
}).optional(),
|
|
411
|
-
runtimeHistory: z5.z.object({
|
|
412
|
-
averageDurationSeconds: z5.z.number().nonnegative().optional(),
|
|
413
|
-
minDurationSeconds: z5.z.number().nonnegative().optional(),
|
|
414
|
-
maxDurationSeconds: z5.z.number().nonnegative().optional(),
|
|
415
|
-
recentJobsCount: z5.z.number().int().nonnegative(),
|
|
416
|
-
isSlowerThanAverage: z5.z.boolean().optional(),
|
|
417
|
-
isFasterThanAverage: z5.z.boolean().optional(),
|
|
418
|
-
percentageDifference: z5.z.number().optional()
|
|
419
|
-
}).optional(),
|
|
420
|
-
currentUserEmail: z5.z.string().email()
|
|
421
|
-
});
|
|
422
|
-
var configurationDetailContextDataSchema = z5.z.object({
|
|
423
|
-
configuration: z5.z.object({
|
|
424
|
-
id: z5.z.string(),
|
|
425
|
-
name: z5.z.string(),
|
|
426
|
-
description: z5.z.string().max(500).optional(),
|
|
427
|
-
component: z5.z.string(),
|
|
428
|
-
hasRows: z5.z.boolean(),
|
|
429
|
-
rowCount: z5.z.number().int().nonnegative().optional(),
|
|
430
|
-
lastChangeDescription: z5.z.string().max(200).optional()
|
|
431
|
-
}),
|
|
432
|
-
component: z5.z.object({
|
|
433
|
-
id: z5.z.string(),
|
|
434
|
-
name: z5.z.string(),
|
|
435
|
-
type: z5.z.string()
|
|
436
|
-
}).optional(),
|
|
437
|
-
latestJobs: z5.z.array(
|
|
438
|
-
z5.z.object({
|
|
439
|
-
id: z5.z.string(),
|
|
440
|
-
status: z5.z.enum(JOB_STATUSES),
|
|
441
|
-
durationSeconds: z5.z.number().int().nonnegative().optional(),
|
|
442
|
-
errorMessage: z5.z.string().max(200).optional(),
|
|
443
|
-
createdTime: z5.z.string()
|
|
444
|
-
})
|
|
445
|
-
).max(5).optional(),
|
|
446
|
-
currentUserEmail: z5.z.string().email()
|
|
447
|
-
});
|
|
448
|
-
var dashboardSuggestionsRequestSchema = z5.z.object({
|
|
449
|
-
context: z5.z.literal("dashboard"),
|
|
450
|
-
data: dashboardContextDataSchema
|
|
451
|
-
});
|
|
452
|
-
var jobDetailSuggestionsRequestSchema = z5.z.object({
|
|
453
|
-
context: z5.z.literal("job-detail"),
|
|
454
|
-
data: jobDetailContextDataSchema
|
|
455
|
-
});
|
|
456
|
-
var configurationDetailSuggestionsRequestSchema = z5.z.object({
|
|
457
|
-
context: z5.z.literal("configuration-detail"),
|
|
458
|
-
data: configurationDetailContextDataSchema
|
|
40
|
+
var agentSettingsSchema = zod.z.object({
|
|
41
|
+
projectId: zod.z.string(),
|
|
42
|
+
customInstructions: zod.z.string().nullable(),
|
|
43
|
+
createdAt: zod.z.string(),
|
|
44
|
+
updatedAt: zod.z.string()
|
|
45
|
+
});
|
|
46
|
+
var toolPermissionValueSchema = zod.z.enum(["always_allow", "always_ask", "blocked"]);
|
|
47
|
+
var userAgentSettingsSchema = zod.z.object({
|
|
48
|
+
projectId: zod.z.string(),
|
|
49
|
+
userId: zod.z.string(),
|
|
50
|
+
customInstructions: zod.z.string().nullable(),
|
|
51
|
+
toolPermissions: zod.z.record(zod.z.string(), toolPermissionValueSchema).nullable(),
|
|
52
|
+
createdAt: zod.z.string(),
|
|
53
|
+
updatedAt: zod.z.string()
|
|
54
|
+
});
|
|
55
|
+
var toolInfoSchema = zod.z.object({
|
|
56
|
+
name: zod.z.string(),
|
|
57
|
+
description: zod.z.string(),
|
|
58
|
+
readOnly: zod.z.boolean()
|
|
59
|
+
});
|
|
60
|
+
var toolsListResponseSchema = zod.z.object({
|
|
61
|
+
tools: zod.z.array(toolInfoSchema)
|
|
62
|
+
});
|
|
63
|
+
var sandboxFileEntrySchema = zod.z.object({
|
|
64
|
+
name: zod.z.string(),
|
|
65
|
+
path: zod.z.string(),
|
|
66
|
+
type: zod.z.enum(["file", "dir"]),
|
|
67
|
+
size: zod.z.number().int().nonnegative().optional()
|
|
68
|
+
});
|
|
69
|
+
var sandboxFileListingSchema = zod.z.object({
|
|
70
|
+
entries: zod.z.array(sandboxFileEntrySchema)
|
|
71
|
+
});
|
|
72
|
+
var sandboxFileContentSchema = zod.z.object({
|
|
73
|
+
content: zod.z.string(),
|
|
74
|
+
encoding: zod.z.enum(["utf-8", "binary"]),
|
|
75
|
+
truncated: zod.z.boolean(),
|
|
76
|
+
size: zod.z.number().int().nonnegative()
|
|
77
|
+
});
|
|
78
|
+
var sandboxGitBranchSchema = zod.z.object({
|
|
79
|
+
branch: zod.z.string().nullable()
|
|
459
80
|
});
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
]);
|
|
465
|
-
|
|
466
|
-
// src/clients/chat/chatClient.ts
|
|
467
|
-
var agentSettingsSchema = z5.z.object({
|
|
468
|
-
projectId: z5.z.string(),
|
|
469
|
-
customInstructions: z5.z.string().nullable(),
|
|
470
|
-
createdAt: z5.z.string(),
|
|
471
|
-
updatedAt: z5.z.string()
|
|
472
|
-
});
|
|
473
|
-
var toolPermissionValueSchema = z5.z.enum(["always_allow", "always_ask", "blocked"]);
|
|
474
|
-
var userAgentSettingsSchema = z5.z.object({
|
|
475
|
-
projectId: z5.z.string(),
|
|
476
|
-
userId: z5.z.string(),
|
|
477
|
-
customInstructions: z5.z.string().nullable(),
|
|
478
|
-
toolPermissions: z5.z.record(z5.z.string(), toolPermissionValueSchema).nullable(),
|
|
479
|
-
createdAt: z5.z.string(),
|
|
480
|
-
updatedAt: z5.z.string()
|
|
481
|
-
});
|
|
482
|
-
var toolInfoSchema = z5.z.object({
|
|
483
|
-
name: z5.z.string(),
|
|
484
|
-
description: z5.z.string(),
|
|
485
|
-
readOnly: z5.z.boolean()
|
|
486
|
-
});
|
|
487
|
-
var toolsListResponseSchema = z5.z.object({
|
|
488
|
-
tools: z5.z.array(toolInfoSchema)
|
|
489
|
-
});
|
|
490
|
-
var createChatClient = ({ baseUrl, middlewares, storageApiUrl }) => {
|
|
491
|
-
const client = createOpenapiFetchClient({
|
|
492
|
-
baseUrl,
|
|
493
|
-
headers: new Headers({
|
|
494
|
-
[KeboolaHttpHeader.STORAGE_API_URL]: storageApiUrl
|
|
495
|
-
}),
|
|
496
|
-
middlewares
|
|
497
|
-
});
|
|
81
|
+
var createKaiAgentClient = ({ baseUrl, middlewares }) => {
|
|
82
|
+
const clientOptions = { baseUrl: chunkHPVTVQBJ_cjs.normalizeBaseUrl(baseUrl), middlewares };
|
|
83
|
+
const client = chunkHPVTVQBJ_cjs.createOpenapiFetchClient(clientOptions);
|
|
84
|
+
const genericClient = chunkHPVTVQBJ_cjs.createGenericFetchClient(clientOptions);
|
|
498
85
|
const getHistory = async (params) => {
|
|
499
|
-
const { data } = await client.get("/history", { query: params });
|
|
86
|
+
const { data } = await client.get("/api/history", { query: params });
|
|
500
87
|
return data;
|
|
501
88
|
};
|
|
502
89
|
const getChat = async (chatId, signal) => {
|
|
503
|
-
const { data } = await client.get("/chat/{id}", { path: { id: chatId } }, { signal });
|
|
90
|
+
const { data } = await client.get("/api/chat/{id}", { path: { id: chatId } }, { signal });
|
|
504
91
|
return data;
|
|
505
92
|
};
|
|
506
93
|
const deleteChat = async (chatId) => {
|
|
507
|
-
const { data } = await client.delete("/chat", { query: { id: chatId } });
|
|
508
|
-
return data;
|
|
509
|
-
};
|
|
510
|
-
const getVotes = async (chatId) => {
|
|
511
|
-
const { data } = await client.get("/vote", { query: { chatId } });
|
|
512
|
-
return data;
|
|
513
|
-
};
|
|
514
|
-
const submitVote = async (params) => {
|
|
515
|
-
await client.patch("/vote", { body: params });
|
|
516
|
-
};
|
|
517
|
-
const createChat = async (request) => {
|
|
518
|
-
const { response } = await client.post("/chat", { body: request });
|
|
519
|
-
return response;
|
|
520
|
-
};
|
|
521
|
-
const getUsage = async (signal) => {
|
|
522
|
-
const { data } = await client.get("/usage", {}, { signal });
|
|
523
|
-
return data;
|
|
524
|
-
};
|
|
525
|
-
const getSuggestions = async (request, signal) => {
|
|
526
|
-
const { data } = await client.post("/suggestions", { body: request }, { signal });
|
|
527
|
-
const result = suggestionsApiResponseSchema.safeParse(data);
|
|
528
|
-
if (!result.success) {
|
|
529
|
-
throw new Error("Invalid suggestions response format");
|
|
530
|
-
}
|
|
531
|
-
return result.data;
|
|
532
|
-
};
|
|
533
|
-
const getAgentSettings = async (signal) => {
|
|
534
|
-
const { data } = await client.get("/settings", {}, { signal });
|
|
535
|
-
const result = agentSettingsSchema.safeParse(data);
|
|
536
|
-
if (!result.success) {
|
|
537
|
-
throw new Error("Invalid agent settings response format");
|
|
538
|
-
}
|
|
539
|
-
return result.data;
|
|
540
|
-
};
|
|
541
|
-
const updateAgentSettings = async (request, signal) => {
|
|
542
|
-
const { data } = await client.patch("/settings", { body: request }, { signal });
|
|
543
|
-
const result = agentSettingsSchema.safeParse(data);
|
|
544
|
-
if (!result.success) {
|
|
545
|
-
throw new Error("Invalid agent settings response format");
|
|
546
|
-
}
|
|
547
|
-
return result.data;
|
|
548
|
-
};
|
|
549
|
-
const getUserAgentSettings = async (signal) => {
|
|
550
|
-
const { data } = await client.get("/settings/user", {}, { signal });
|
|
551
|
-
const result = userAgentSettingsSchema.safeParse(data);
|
|
552
|
-
if (!result.success) {
|
|
553
|
-
throw new Error("Invalid user agent settings response format");
|
|
554
|
-
}
|
|
555
|
-
return result.data;
|
|
556
|
-
};
|
|
557
|
-
const updateUserAgentSettings = async (request, signal) => {
|
|
558
|
-
const { data } = await client.patch("/settings/user", { body: request }, { signal });
|
|
559
|
-
const result = userAgentSettingsSchema.safeParse(data);
|
|
560
|
-
if (!result.success) {
|
|
561
|
-
throw new Error("Invalid user agent settings response format");
|
|
562
|
-
}
|
|
563
|
-
return result.data;
|
|
564
|
-
};
|
|
565
|
-
const getToolsList = async (signal) => {
|
|
566
|
-
const { data } = await client.get("/settings/tools", {}, { signal });
|
|
567
|
-
const result = toolsListResponseSchema.safeParse(data);
|
|
568
|
-
if (!result.success) {
|
|
569
|
-
throw new Error("Invalid tools list response format");
|
|
570
|
-
}
|
|
571
|
-
return result.data;
|
|
572
|
-
};
|
|
573
|
-
return {
|
|
574
|
-
getHistory,
|
|
575
|
-
getChat,
|
|
576
|
-
deleteChat,
|
|
577
|
-
createChat,
|
|
578
|
-
getVotes,
|
|
579
|
-
submitVote,
|
|
580
|
-
getUsage,
|
|
581
|
-
getSuggestions,
|
|
582
|
-
getAgentSettings,
|
|
583
|
-
updateAgentSettings,
|
|
584
|
-
getUserAgentSettings,
|
|
585
|
-
updateUserAgentSettings,
|
|
586
|
-
getToolsList
|
|
587
|
-
};
|
|
588
|
-
};
|
|
589
|
-
var TailError = z5__namespace.object({
|
|
590
|
-
context: z5__namespace.object({
|
|
591
|
-
code: z5__namespace.string()
|
|
592
|
-
})
|
|
593
|
-
});
|
|
594
|
-
dayjs__default.default.extend(utc__default.default);
|
|
595
|
-
var ISO_TIMESTAMP_REGEX = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z/;
|
|
596
|
-
var LEADING_ISO_TIMESTAMP_REGEX = /^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)\s?/;
|
|
597
|
-
var tryParseJsonl = (line) => {
|
|
598
|
-
if (!line.startsWith("{")) return null;
|
|
599
|
-
let parsed;
|
|
600
|
-
try {
|
|
601
|
-
parsed = JSON.parse(line);
|
|
602
|
-
} catch {
|
|
603
|
-
return null;
|
|
604
|
-
}
|
|
605
|
-
if (typeof parsed !== "object" || parsed === null) return null;
|
|
606
|
-
const record = parsed;
|
|
607
|
-
const { timestamp, message: message2 } = record;
|
|
608
|
-
if (typeof timestamp !== "string" || typeof message2 !== "string") return null;
|
|
609
|
-
return {
|
|
610
|
-
timestamp,
|
|
611
|
-
message: message2
|
|
612
|
-
};
|
|
613
|
-
};
|
|
614
|
-
var parsePlainTextLine = (line) => {
|
|
615
|
-
const match = line.match(LEADING_ISO_TIMESTAMP_REGEX);
|
|
616
|
-
if (match) {
|
|
617
|
-
return { timestamp: match[1], message: line.slice(match[0].length) };
|
|
618
|
-
}
|
|
619
|
-
return { timestamp: null, message: line };
|
|
620
|
-
};
|
|
621
|
-
var parseLogLine = (line) => tryParseJsonl(line) ?? parsePlainTextLine(line);
|
|
622
|
-
var toLogEntryFromObject = (raw) => {
|
|
623
|
-
if (typeof raw.message !== "string") return null;
|
|
624
|
-
return {
|
|
625
|
-
timestamp: typeof raw.timestamp === "string" ? raw.timestamp : null,
|
|
626
|
-
message: raw.message
|
|
627
|
-
};
|
|
628
|
-
};
|
|
629
|
-
var isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
630
|
-
var parseLogLines = (raw) => {
|
|
631
|
-
if (raw === null || raw === void 0 || raw === "") return [];
|
|
632
|
-
if (Array.isArray(raw)) {
|
|
633
|
-
return raw.flatMap((item) => {
|
|
634
|
-
if (typeof item === "string") return item === "" ? [] : [parseLogLine(item)];
|
|
635
|
-
if (isPlainObject(item)) {
|
|
636
|
-
const entry = toLogEntryFromObject(item);
|
|
637
|
-
return entry ? [entry] : [];
|
|
638
|
-
}
|
|
639
|
-
return [];
|
|
640
|
-
});
|
|
641
|
-
}
|
|
642
|
-
if (isPlainObject(raw)) {
|
|
643
|
-
const entry = toLogEntryFromObject(raw);
|
|
644
|
-
return entry ? [entry] : [];
|
|
645
|
-
}
|
|
646
|
-
if (typeof raw !== "string") return [];
|
|
647
|
-
const lines = raw.split("\n");
|
|
648
|
-
const entries = [];
|
|
649
|
-
for (const line of lines) {
|
|
650
|
-
if (line === "") continue;
|
|
651
|
-
entries.push(parseLogLine(line));
|
|
652
|
-
}
|
|
653
|
-
return entries;
|
|
654
|
-
};
|
|
655
|
-
var parseLastLogTimestamp = (logs) => {
|
|
656
|
-
const entries = parseLogLines(logs);
|
|
657
|
-
for (let i = entries.length - 1; i >= 0; i--) {
|
|
658
|
-
const entry = entries[i];
|
|
659
|
-
if (!entry) continue;
|
|
660
|
-
if (entry.timestamp) return entry.timestamp;
|
|
661
|
-
const match = entry.message.match(ISO_TIMESTAMP_REGEX);
|
|
662
|
-
if (match) return match[0];
|
|
663
|
-
}
|
|
664
|
-
return null;
|
|
665
|
-
};
|
|
666
|
-
var calculateNextLogTimestamp = (timestamp) => {
|
|
667
|
-
if (timestamp === null) return null;
|
|
668
|
-
return dayjs__default.default(timestamp).utc().add(1, "second").utc().format();
|
|
669
|
-
};
|
|
670
|
-
var prepareAppRun = (appRun) => {
|
|
671
|
-
return {
|
|
672
|
-
...appRun,
|
|
673
|
-
state: appRun.state ?? (appRun.stoppedAt ? "finished" : "running")
|
|
674
|
-
// fallback state for historic non migrated runs
|
|
675
|
-
};
|
|
676
|
-
};
|
|
677
|
-
|
|
678
|
-
// src/clients/dataScience/dataScienceClient.ts
|
|
679
|
-
var createDataScienceClient = ({ baseUrl, middlewares }) => {
|
|
680
|
-
const client = createOpenapiFetchClient({
|
|
681
|
-
baseUrl,
|
|
682
|
-
middlewares
|
|
683
|
-
});
|
|
684
|
-
const getAppRuns = async (appId, query, signal) => {
|
|
685
|
-
const { data } = await client.get("/apps/{appId}/runs", { path: { appId }, query }, { signal });
|
|
686
|
-
return data.map(prepareAppRun);
|
|
687
|
-
};
|
|
688
|
-
const getAppRun = async (appId, runId, signal) => {
|
|
689
|
-
const { data } = await client.get(
|
|
690
|
-
"/apps/{appId}/runs/{runId}",
|
|
691
|
-
{ path: { appId, runId } },
|
|
692
|
-
{ signal }
|
|
693
|
-
);
|
|
694
|
-
return prepareAppRun(data);
|
|
695
|
-
};
|
|
696
|
-
const getAppLogsDownload = async (id, signal) => {
|
|
697
|
-
const { data, response } = await client.get(
|
|
698
|
-
"/apps/{appId}/logs/download",
|
|
699
|
-
{ path: { appId: id } },
|
|
700
|
-
{ signal }
|
|
701
|
-
);
|
|
702
|
-
const contentDisposition = parseContentDispositionHeader(
|
|
703
|
-
response.headers.get(HttpHeader.CONTENT_DISPOSITION)
|
|
704
|
-
);
|
|
705
|
-
return {
|
|
706
|
-
logs: data,
|
|
707
|
-
fileName: contentDisposition?.filename ?? "logs.txt"
|
|
708
|
-
};
|
|
709
|
-
};
|
|
710
|
-
const getAppLogsTail = async (id, { query, signal } = {}) => {
|
|
711
|
-
try {
|
|
712
|
-
const { data } = await client.get(
|
|
713
|
-
"/apps/{appId}/logs/tail",
|
|
714
|
-
{
|
|
715
|
-
query,
|
|
716
|
-
path: {
|
|
717
|
-
appId: id
|
|
718
|
-
}
|
|
719
|
-
},
|
|
720
|
-
{
|
|
721
|
-
signal
|
|
722
|
-
}
|
|
723
|
-
);
|
|
724
|
-
const logs = data === "" ? null : data;
|
|
725
|
-
const lastLogTimestamp = parseLastLogTimestamp(logs);
|
|
726
|
-
const nextLogTimestamp = calculateNextLogTimestamp(lastLogTimestamp);
|
|
727
|
-
return {
|
|
728
|
-
entries: parseLogLines(logs),
|
|
729
|
-
nextLogTimestamp
|
|
730
|
-
};
|
|
731
|
-
} catch (error) {
|
|
732
|
-
if (isApiError(error) && error.response.status === HttpStatus.BAD_REQUEST && TailError.safeParse(error.data).data?.context?.code === "apps.appNotRunning") {
|
|
733
|
-
return { entries: [], nextLogTimestamp: null };
|
|
734
|
-
}
|
|
735
|
-
throw error;
|
|
736
|
-
}
|
|
737
|
-
};
|
|
738
|
-
const getApps = async (query, signal) => {
|
|
739
|
-
const { data } = await client.get("/apps", { query }, { signal });
|
|
740
|
-
return data;
|
|
741
|
-
};
|
|
742
|
-
const getApp = async (appId, signal) => {
|
|
743
|
-
const { data } = await client.get("/apps/{appId}", { path: { appId } }, { signal });
|
|
744
|
-
return data;
|
|
745
|
-
};
|
|
746
|
-
const createApp = async (body, signal) => {
|
|
747
|
-
const { data } = await client.post("/apps", { body }, { signal });
|
|
748
|
-
return data;
|
|
749
|
-
};
|
|
750
|
-
const patchApp = async (appId, body, signal) => {
|
|
751
|
-
const { data } = await client.patch(
|
|
752
|
-
"/apps/{appId}",
|
|
753
|
-
{
|
|
754
|
-
path: { appId },
|
|
755
|
-
body
|
|
756
|
-
},
|
|
757
|
-
{ signal }
|
|
758
|
-
);
|
|
759
|
-
return data;
|
|
760
|
-
};
|
|
761
|
-
const deleteApp = async (appId, signal) => {
|
|
762
|
-
return client.delete("/apps/{appId}", { path: { appId } }, { signal });
|
|
763
|
-
};
|
|
764
|
-
const getAppPassword = async (appId, signal) => {
|
|
765
|
-
const { data } = await client.get("/apps/{appId}/password", { path: { appId } }, { signal });
|
|
766
|
-
return data;
|
|
767
|
-
};
|
|
768
|
-
const resetAppPassword = async (appId, signal) => {
|
|
769
|
-
const { data } = await client.post(
|
|
770
|
-
"/apps/{appId}/reset-password",
|
|
771
|
-
{ path: { appId } },
|
|
772
|
-
{ signal }
|
|
773
|
-
);
|
|
774
|
-
return data;
|
|
775
|
-
};
|
|
776
|
-
const getRuntimes = async (signal) => {
|
|
777
|
-
const { data } = await client.get("/runtimes", {}, { signal });
|
|
778
|
-
return data;
|
|
779
|
-
};
|
|
780
|
-
const getSandbox = async (appId, signal) => {
|
|
781
|
-
const { data } = await client.get("/sandboxes/{appId}", { path: { appId } }, { signal });
|
|
782
|
-
return data;
|
|
783
|
-
};
|
|
784
|
-
return {
|
|
785
|
-
getAppRuns,
|
|
786
|
-
getAppRun,
|
|
787
|
-
getAppLogsDownload,
|
|
788
|
-
getAppLogsTail,
|
|
789
|
-
getApps,
|
|
790
|
-
getApp,
|
|
791
|
-
createApp,
|
|
792
|
-
patchApp,
|
|
793
|
-
deleteApp,
|
|
794
|
-
getAppPassword,
|
|
795
|
-
resetAppPassword,
|
|
796
|
-
getRuntimes,
|
|
797
|
-
getSandbox
|
|
798
|
-
};
|
|
799
|
-
};
|
|
800
|
-
|
|
801
|
-
// src/clients/editor/editorClient.ts
|
|
802
|
-
var createEditorClient = ({ baseUrl, middlewares }) => {
|
|
803
|
-
const client = createOpenapiFetchClient({
|
|
804
|
-
baseUrl,
|
|
805
|
-
middlewares
|
|
806
|
-
});
|
|
807
|
-
const createSession = async (body) => {
|
|
808
|
-
const { data } = await client.post("/sql/sessions", {
|
|
809
|
-
body
|
|
810
|
-
});
|
|
811
|
-
return data;
|
|
812
|
-
};
|
|
813
|
-
const getSession = async ({ id }, signal) => {
|
|
814
|
-
const { data } = await client.get(`/sql/sessions/{id}`, { path: { id } }, { signal });
|
|
815
|
-
return data;
|
|
816
|
-
};
|
|
817
|
-
const getSessions = async (query, signal) => {
|
|
818
|
-
const { data } = await client.get(`/sql/sessions`, { query }, { signal });
|
|
819
|
-
return data;
|
|
820
|
-
};
|
|
821
|
-
const getSessionSchema = async ({
|
|
822
|
-
id,
|
|
823
|
-
onlyWorkspaceSchema = "1",
|
|
824
|
-
loadTables = "1"
|
|
825
|
-
}, signal) => {
|
|
826
|
-
const { data } = await client.get(
|
|
827
|
-
`/sql/sessions/{id}/schema`,
|
|
828
|
-
{
|
|
829
|
-
path: { id },
|
|
830
|
-
query: { onlyWorkspaceSchema, loadTables }
|
|
831
|
-
},
|
|
832
|
-
{ signal }
|
|
833
|
-
);
|
|
94
|
+
const { data } = await client.delete("/api/chat", { query: { id: chatId } });
|
|
834
95
|
return data;
|
|
835
96
|
};
|
|
836
|
-
const
|
|
837
|
-
const {
|
|
838
|
-
|
|
839
|
-
body
|
|
840
|
-
});
|
|
841
|
-
return data;
|
|
842
|
-
};
|
|
843
|
-
const tablePreview = async ({ id }, body) => {
|
|
844
|
-
const { data } = await client.post(`/sql/sessions/{id}/table-preview`, {
|
|
845
|
-
path: { id },
|
|
846
|
-
body
|
|
847
|
-
});
|
|
848
|
-
return data;
|
|
849
|
-
};
|
|
850
|
-
const tableDefinition = async ({ id, ...query }, signal) => {
|
|
851
|
-
const { data } = await client.get(
|
|
852
|
-
`/sql/sessions/{id}/table-ddl`,
|
|
853
|
-
{ path: { id }, query },
|
|
854
|
-
{ signal }
|
|
855
|
-
);
|
|
856
|
-
return data;
|
|
857
|
-
};
|
|
858
|
-
const load = async ({ id }, body) => {
|
|
859
|
-
const { data } = await client.post(`/sql/sessions/{id}/load`, {
|
|
860
|
-
path: { id },
|
|
861
|
-
body
|
|
862
|
-
});
|
|
863
|
-
return data;
|
|
864
|
-
};
|
|
865
|
-
const unload = async ({ id }, body) => {
|
|
866
|
-
const { data } = await client.post(`/sql/sessions/{id}/unload`, {
|
|
867
|
-
path: { id },
|
|
868
|
-
// BE error: The body is optional; however, without it, the request will fail with the message "Request content type must be application/json."
|
|
869
|
-
// This is expected, as our client cannot correctly determine the content type without the body.
|
|
870
|
-
// This issue should be addressed to indicate that the body is required in their Swagger schema.
|
|
871
|
-
body: body ?? { tableId: null }
|
|
872
|
-
});
|
|
873
|
-
return data;
|
|
874
|
-
};
|
|
875
|
-
const resetWorkspacePassword = async (id) => {
|
|
876
|
-
const { data } = await client.post(`/sql/sessions/{id}/reset-password`, {
|
|
877
|
-
path: { id }
|
|
878
|
-
});
|
|
879
|
-
return data;
|
|
880
|
-
};
|
|
881
|
-
const getSessionCredentials = async (id, signal) => {
|
|
882
|
-
const { data } = await client.get(
|
|
883
|
-
`/sql/sessions/{id}/credentials`,
|
|
884
|
-
{ path: { id } },
|
|
885
|
-
{ signal }
|
|
886
|
-
);
|
|
887
|
-
return data;
|
|
888
|
-
};
|
|
889
|
-
return {
|
|
890
|
-
createSession,
|
|
891
|
-
getSession,
|
|
892
|
-
getSessions,
|
|
893
|
-
getSessionSchema,
|
|
894
|
-
createQueryJob,
|
|
895
|
-
tablePreview,
|
|
896
|
-
tableDefinition,
|
|
897
|
-
load,
|
|
898
|
-
unload,
|
|
899
|
-
resetWorkspacePassword,
|
|
900
|
-
getSessionCredentials
|
|
901
|
-
};
|
|
902
|
-
};
|
|
903
|
-
|
|
904
|
-
// src/clients/encryption/encryptionClient.ts
|
|
905
|
-
var createEncryptionClient = ({ baseUrl, middlewares }) => {
|
|
906
|
-
const client = createGenericFetchClient({
|
|
907
|
-
baseUrl,
|
|
908
|
-
middlewares
|
|
909
|
-
});
|
|
910
|
-
const _encrypt = async (data, signal) => {
|
|
911
|
-
const response = await client.post(
|
|
912
|
-
"/encrypt",
|
|
913
|
-
{
|
|
914
|
-
query: {
|
|
915
|
-
projectId: data.projectId,
|
|
916
|
-
branchType: data.branchType,
|
|
917
|
-
componentId: data.componentId
|
|
918
|
-
},
|
|
919
|
-
body: data.data
|
|
920
|
-
},
|
|
921
|
-
{ signal }
|
|
922
|
-
);
|
|
923
|
-
return response.data;
|
|
924
|
-
};
|
|
925
|
-
const encrypt = (data, signal) => _encrypt(data, signal);
|
|
926
|
-
const encryptSecrets = (data, signal) => _encrypt(data, signal);
|
|
927
|
-
return {
|
|
928
|
-
encryptSecrets,
|
|
929
|
-
encrypt
|
|
930
|
-
};
|
|
931
|
-
};
|
|
932
|
-
|
|
933
|
-
// src/clients/import/importClient.ts
|
|
934
|
-
var createImportClient = ({ baseUrl, middlewares }) => {
|
|
935
|
-
const client = createGenericFetchClient({
|
|
936
|
-
baseUrl,
|
|
937
|
-
middlewares
|
|
938
|
-
});
|
|
939
|
-
const uploadFile = async (file, params = {}, signal) => {
|
|
940
|
-
const formData = new FormData();
|
|
941
|
-
formData.append("data", file);
|
|
942
|
-
if (params.isPermanent) {
|
|
943
|
-
formData.append("isPermanent", "1");
|
|
944
|
-
}
|
|
945
|
-
if (params.notify) {
|
|
946
|
-
formData.append("notify", "1");
|
|
947
|
-
}
|
|
948
|
-
if (params.branchId) {
|
|
949
|
-
formData.append("branchId", params.branchId);
|
|
950
|
-
}
|
|
951
|
-
if (params.tags) {
|
|
952
|
-
for (const tag of params.tags) {
|
|
953
|
-
formData.append("tags[]", tag);
|
|
954
|
-
}
|
|
955
|
-
}
|
|
956
|
-
const { data } = await client.post(
|
|
957
|
-
"/upload-file",
|
|
958
|
-
{ body: formData },
|
|
959
|
-
{ signal }
|
|
960
|
-
);
|
|
961
|
-
return data;
|
|
962
|
-
};
|
|
963
|
-
return {
|
|
964
|
-
uploadFile
|
|
965
|
-
};
|
|
966
|
-
};
|
|
967
|
-
var agentSettingsSchema2 = z5.z.object({
|
|
968
|
-
projectId: z5.z.string(),
|
|
969
|
-
customInstructions: z5.z.string().nullable(),
|
|
970
|
-
createdAt: z5.z.string(),
|
|
971
|
-
updatedAt: z5.z.string()
|
|
972
|
-
});
|
|
973
|
-
var toolPermissionValueSchema2 = z5.z.enum(["always_allow", "always_ask", "blocked"]);
|
|
974
|
-
var userAgentSettingsSchema2 = z5.z.object({
|
|
975
|
-
projectId: z5.z.string(),
|
|
976
|
-
userId: z5.z.string(),
|
|
977
|
-
customInstructions: z5.z.string().nullable(),
|
|
978
|
-
toolPermissions: z5.z.record(z5.z.string(), toolPermissionValueSchema2).nullable(),
|
|
979
|
-
createdAt: z5.z.string(),
|
|
980
|
-
updatedAt: z5.z.string()
|
|
981
|
-
});
|
|
982
|
-
var toolInfoSchema2 = z5.z.object({
|
|
983
|
-
name: z5.z.string(),
|
|
984
|
-
description: z5.z.string(),
|
|
985
|
-
readOnly: z5.z.boolean()
|
|
986
|
-
});
|
|
987
|
-
var toolsListResponseSchema2 = z5.z.object({
|
|
988
|
-
tools: z5.z.array(toolInfoSchema2)
|
|
989
|
-
});
|
|
990
|
-
var createKaiAgentClient = ({ baseUrl, middlewares }) => {
|
|
991
|
-
const clientOptions = { baseUrl, middlewares };
|
|
992
|
-
const client = createOpenapiFetchClient(clientOptions);
|
|
993
|
-
const genericClient = createGenericFetchClient(clientOptions);
|
|
994
|
-
const getHistory = async (params) => {
|
|
995
|
-
const { data } = await client.get("/api/history", { query: params });
|
|
996
|
-
return data;
|
|
997
|
-
};
|
|
998
|
-
const getChat = async (chatId, signal) => {
|
|
999
|
-
const { data } = await client.get("/api/chat/{id}", { path: { id: chatId } }, { signal });
|
|
1000
|
-
return data;
|
|
1001
|
-
};
|
|
1002
|
-
const deleteChat = async (chatId) => {
|
|
1003
|
-
const { data } = await client.delete("/api/chat", { query: { id: chatId } });
|
|
1004
|
-
return data;
|
|
1005
|
-
};
|
|
1006
|
-
const createChat = async (request) => {
|
|
1007
|
-
const { response } = await client.post("/api/chat", { body: request });
|
|
1008
|
-
return response;
|
|
1009
|
-
};
|
|
1010
|
-
const getVotes = async (chatId) => {
|
|
1011
|
-
const { data } = await client.get("/api/vote", { query: { chatId } });
|
|
1012
|
-
return data;
|
|
1013
|
-
};
|
|
1014
|
-
const submitVote = async (params) => {
|
|
1015
|
-
await client.patch("/api/vote", { body: params });
|
|
1016
|
-
};
|
|
1017
|
-
const getUsage = async (signal) => {
|
|
1018
|
-
const { data } = await client.get("/api/usage", {}, { signal });
|
|
1019
|
-
return data;
|
|
1020
|
-
};
|
|
1021
|
-
const approveToolCall = async (chatId, body) => {
|
|
1022
|
-
await client.post("/api/chat/{id}/approval", { path: { id: chatId }, body });
|
|
1023
|
-
};
|
|
1024
|
-
const submitToolOutput = async (chatId, body) => {
|
|
1025
|
-
await client.post("/api/chat/{id}/ui-tool-result", { path: { id: chatId }, body });
|
|
1026
|
-
};
|
|
1027
|
-
const stopChat = async (chatId) => {
|
|
1028
|
-
const { data } = await client.post("/api/chat/{id}/stop", { path: { id: chatId } });
|
|
1029
|
-
return data;
|
|
1030
|
-
};
|
|
1031
|
-
const getSuggestions = async (request, signal) => {
|
|
1032
|
-
const { data } = await genericClient.post(
|
|
1033
|
-
"/api/suggestions",
|
|
1034
|
-
{ body: request },
|
|
1035
|
-
{ signal }
|
|
1036
|
-
);
|
|
1037
|
-
const result = suggestionsApiResponseSchema.safeParse(data);
|
|
1038
|
-
if (!result.success) {
|
|
1039
|
-
throw new Error("Invalid suggestions response format");
|
|
1040
|
-
}
|
|
1041
|
-
return result.data;
|
|
1042
|
-
};
|
|
1043
|
-
const getAgentSettings = async (signal) => {
|
|
1044
|
-
const { data } = await genericClient.get("/api/settings", {}, { signal });
|
|
1045
|
-
const result = agentSettingsSchema2.safeParse(data);
|
|
1046
|
-
if (!result.success) {
|
|
1047
|
-
throw new Error("Invalid agent settings response format");
|
|
1048
|
-
}
|
|
1049
|
-
return result.data;
|
|
1050
|
-
};
|
|
1051
|
-
const updateAgentSettings = async (request, signal) => {
|
|
1052
|
-
const { data } = await genericClient.patch(
|
|
1053
|
-
"/api/settings",
|
|
1054
|
-
{ body: request },
|
|
1055
|
-
{ signal }
|
|
1056
|
-
);
|
|
1057
|
-
const result = agentSettingsSchema2.safeParse(data);
|
|
1058
|
-
if (!result.success) {
|
|
1059
|
-
throw new Error("Invalid agent settings response format");
|
|
1060
|
-
}
|
|
1061
|
-
return result.data;
|
|
1062
|
-
};
|
|
1063
|
-
const getUserAgentSettings = async (signal) => {
|
|
1064
|
-
const { data } = await genericClient.get(
|
|
1065
|
-
"/api/settings/user",
|
|
1066
|
-
{},
|
|
1067
|
-
{ signal }
|
|
1068
|
-
);
|
|
1069
|
-
const result = userAgentSettingsSchema2.safeParse(data);
|
|
1070
|
-
if (!result.success) {
|
|
1071
|
-
throw new Error("Invalid user agent settings response format");
|
|
1072
|
-
}
|
|
1073
|
-
return result.data;
|
|
1074
|
-
};
|
|
1075
|
-
const updateUserAgentSettings = async (request, signal) => {
|
|
1076
|
-
const { data } = await genericClient.patch(
|
|
1077
|
-
"/api/settings/user",
|
|
1078
|
-
{ body: request },
|
|
1079
|
-
{ signal }
|
|
1080
|
-
);
|
|
1081
|
-
const result = userAgentSettingsSchema2.safeParse(data);
|
|
1082
|
-
if (!result.success) {
|
|
1083
|
-
throw new Error("Invalid user agent settings response format");
|
|
1084
|
-
}
|
|
1085
|
-
return result.data;
|
|
1086
|
-
};
|
|
1087
|
-
const getToolsList = async (signal) => {
|
|
1088
|
-
const { data } = await genericClient.get(
|
|
1089
|
-
"/api/settings/tools",
|
|
1090
|
-
{},
|
|
1091
|
-
{ signal }
|
|
1092
|
-
);
|
|
1093
|
-
const result = toolsListResponseSchema2.safeParse(data);
|
|
1094
|
-
if (!result.success) {
|
|
1095
|
-
throw new Error("Invalid tools list response format");
|
|
1096
|
-
}
|
|
1097
|
-
return result.data;
|
|
1098
|
-
};
|
|
1099
|
-
const chatStreamUrl = baseUrl + "/api/chat";
|
|
1100
|
-
return {
|
|
1101
|
-
getHistory,
|
|
1102
|
-
getChat,
|
|
1103
|
-
deleteChat,
|
|
1104
|
-
createChat,
|
|
1105
|
-
getVotes,
|
|
1106
|
-
submitVote,
|
|
1107
|
-
getUsage,
|
|
1108
|
-
approveToolCall,
|
|
1109
|
-
submitToolOutput,
|
|
1110
|
-
stopChat,
|
|
1111
|
-
getSuggestions,
|
|
1112
|
-
getAgentSettings,
|
|
1113
|
-
updateAgentSettings,
|
|
1114
|
-
getUserAgentSettings,
|
|
1115
|
-
updateUserAgentSettings,
|
|
1116
|
-
getToolsList,
|
|
1117
|
-
chatStreamUrl
|
|
1118
|
-
};
|
|
1119
|
-
};
|
|
1120
|
-
|
|
1121
|
-
// src/clients/verify/createVerifyClient.ts
|
|
1122
|
-
var createVerifyClient = () => {
|
|
1123
|
-
const storageApiToken = async (host, token, signal) => {
|
|
1124
|
-
const { data } = await createGenericFetchClient({
|
|
1125
|
-
baseUrl: `${host}/v2/storage`,
|
|
1126
|
-
headers: new Headers({ [KeboolaHttpHeader.STORAGE_API_TOKEN]: token })
|
|
1127
|
-
}).get("/tokens/verify", {}, { signal });
|
|
1128
|
-
return data;
|
|
1129
|
-
};
|
|
1130
|
-
const managementApiToken = async (host, token, signal) => {
|
|
1131
|
-
const { data } = await createGenericFetchClient({
|
|
1132
|
-
baseUrl: host,
|
|
1133
|
-
headers: new Headers({ [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: token })
|
|
1134
|
-
}).get("/manage/tokens/verify", {}, { signal });
|
|
1135
|
-
return data;
|
|
1136
|
-
};
|
|
1137
|
-
return {
|
|
1138
|
-
storageApiToken,
|
|
1139
|
-
managementApiToken
|
|
1140
|
-
};
|
|
1141
|
-
};
|
|
1142
|
-
|
|
1143
|
-
// src/clients/management/authMiddleware.ts
|
|
1144
|
-
var TOKEN_CACHE_TTL_MS = 6e4;
|
|
1145
|
-
var isManagementClientAuthError = (error) => error instanceof ManagementClientAuthError;
|
|
1146
|
-
var createAuth = (baseUrl) => {
|
|
1147
|
-
const fetchClient = createGenericFetchClient({ baseUrl });
|
|
1148
|
-
const createCurrentUserSessionToken = async (accessToken) => {
|
|
1149
|
-
const headers = new Headers({ [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: accessToken });
|
|
1150
|
-
const { data } = await fetchClient.post(
|
|
1151
|
-
"/manage/current-user/session-token",
|
|
1152
|
-
{},
|
|
1153
|
-
{ headers }
|
|
1154
|
-
);
|
|
1155
|
-
return data.token;
|
|
1156
|
-
};
|
|
1157
|
-
const createAdminAccountSessionToken = async () => {
|
|
1158
|
-
const { data } = await fetchClient.post(
|
|
1159
|
-
"/admin/account/session-token",
|
|
1160
|
-
{},
|
|
1161
|
-
{
|
|
1162
|
-
// transform valid response, to invalid and throw custom error
|
|
1163
|
-
validateStatus: (apiResponse) => {
|
|
1164
|
-
const { response } = apiResponse;
|
|
1165
|
-
const isTextContent = response.headers.get(HttpHeader.CONTENT_TYPE)?.includes(HttpContentType.TEXT_HTML);
|
|
1166
|
-
if (isTextContent)
|
|
1167
|
-
return new ManagementClientAuthError(
|
|
1168
|
-
"Your session expired",
|
|
1169
|
-
"You will be logged out automatically.",
|
|
1170
|
-
apiResponse
|
|
1171
|
-
);
|
|
1172
|
-
return defaultValidateStatus(apiResponse);
|
|
1173
|
-
}
|
|
1174
|
-
}
|
|
1175
|
-
);
|
|
1176
|
-
return data.token;
|
|
1177
|
-
};
|
|
1178
|
-
return {
|
|
1179
|
-
createCurrentUserSessionToken,
|
|
1180
|
-
createAdminAccountSessionToken
|
|
1181
|
-
};
|
|
1182
|
-
};
|
|
1183
|
-
var createAuthMiddleware = ({
|
|
1184
|
-
accessToken,
|
|
1185
|
-
baseUrl
|
|
1186
|
-
}) => {
|
|
1187
|
-
const auth = createAuth(baseUrl);
|
|
1188
|
-
const verify = createVerifyClient();
|
|
1189
|
-
let token = accessToken;
|
|
1190
|
-
let tokenValidUntil = 0;
|
|
1191
|
-
let inflightAuth = null;
|
|
1192
|
-
const isDevelopment = process.env.NODE_ENV === "development";
|
|
1193
|
-
const ensureValidToken = async () => {
|
|
1194
|
-
if (token && Date.now() < tokenValidUntil) return token;
|
|
1195
|
-
if (token) {
|
|
1196
|
-
const tokenInfo = await verify.managementApiToken(baseUrl, token);
|
|
1197
|
-
const isTokenValid = !tokenInfo.isDisabled && !tokenInfo.isExpired;
|
|
1198
|
-
if (isTokenValid) {
|
|
1199
|
-
tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;
|
|
1200
|
-
return token;
|
|
1201
|
-
}
|
|
1202
|
-
token = isDevelopment ? await auth.createCurrentUserSessionToken(token) : await auth.createAdminAccountSessionToken();
|
|
1203
|
-
tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;
|
|
1204
|
-
return token;
|
|
1205
|
-
}
|
|
1206
|
-
token = await auth.createAdminAccountSessionToken();
|
|
1207
|
-
tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;
|
|
1208
|
-
return token;
|
|
1209
|
-
};
|
|
1210
|
-
return (next) => async (request) => {
|
|
1211
|
-
if (!inflightAuth) {
|
|
1212
|
-
inflightAuth = ensureValidToken().finally(() => {
|
|
1213
|
-
inflightAuth = null;
|
|
1214
|
-
});
|
|
1215
|
-
}
|
|
1216
|
-
const validToken = await inflightAuth;
|
|
1217
|
-
request.request.headers.set(KeboolaHttpHeader.MANAGEMENT_API_TOKEN, validToken);
|
|
1218
|
-
return next(request);
|
|
1219
|
-
};
|
|
1220
|
-
};
|
|
1221
|
-
|
|
1222
|
-
// src/clients/management/currentUser/currentUser.ts
|
|
1223
|
-
var createCurrentUser = (client) => {
|
|
1224
|
-
const getMaintainerInvitations = async (signal) => {
|
|
1225
|
-
const { data } = await client.get(
|
|
1226
|
-
"/manage/current-user/maintainers-invitations",
|
|
1227
|
-
{},
|
|
1228
|
-
{ signal }
|
|
1229
|
-
);
|
|
1230
|
-
return data;
|
|
1231
|
-
};
|
|
1232
|
-
const getMaintainerInvitation = async (id, signal) => {
|
|
1233
|
-
const { data } = await client.get(
|
|
1234
|
-
"/manage/current-user/maintainers-invitations/{id}",
|
|
1235
|
-
{ path: { id } },
|
|
1236
|
-
{ signal }
|
|
1237
|
-
);
|
|
1238
|
-
return data;
|
|
1239
|
-
};
|
|
1240
|
-
const acceptMaintainerInvitation = async (id) => {
|
|
1241
|
-
await client.put("/manage/current-user/maintainers-invitations/{id}", { path: { id } });
|
|
1242
|
-
};
|
|
1243
|
-
const rejectMaintainerInvitation = async (id) => {
|
|
1244
|
-
await client.delete("/manage/current-user/maintainers-invitations/{id}", { path: { id } });
|
|
1245
|
-
};
|
|
1246
|
-
const getOrganizationInvitations = async (signal) => {
|
|
1247
|
-
const { data } = await client.get(
|
|
1248
|
-
"/manage/current-user/organizations-invitations",
|
|
1249
|
-
{},
|
|
1250
|
-
{ signal }
|
|
1251
|
-
);
|
|
1252
|
-
return data;
|
|
1253
|
-
};
|
|
1254
|
-
const getOrganizationInvitation = async (id, signal) => {
|
|
1255
|
-
const { data } = await client.get(
|
|
1256
|
-
"/manage/current-user/organizations-invitations/{id}",
|
|
1257
|
-
{ path: { id } },
|
|
1258
|
-
{ signal }
|
|
1259
|
-
);
|
|
1260
|
-
return data;
|
|
1261
|
-
};
|
|
1262
|
-
const acceptOrganizationInvitation = async (id) => {
|
|
1263
|
-
await client.put("/manage/current-user/organizations-invitations/{id}", { path: { id } });
|
|
1264
|
-
};
|
|
1265
|
-
const rejectOrganizationInvitation = async (id) => {
|
|
1266
|
-
await client.delete("/manage/current-user/organizations-invitations/{id}", { path: { id } });
|
|
1267
|
-
};
|
|
1268
|
-
const getProjectInvitations = async (signal) => {
|
|
1269
|
-
const { data } = await client.get("/manage/current-user/projects-invitations", {}, { signal });
|
|
1270
|
-
return data;
|
|
1271
|
-
};
|
|
1272
|
-
const getProjectInvitation = async (id, signal) => {
|
|
1273
|
-
const { data } = await client.get(
|
|
1274
|
-
"/manage/current-user/projects-invitations/{id}",
|
|
1275
|
-
{ path: { id } },
|
|
1276
|
-
{ signal }
|
|
1277
|
-
);
|
|
1278
|
-
return data;
|
|
1279
|
-
};
|
|
1280
|
-
const acceptProjectInvitation = async (id) => {
|
|
1281
|
-
await client.put("/manage/current-user/projects-invitations/{id}", { path: { id } });
|
|
1282
|
-
};
|
|
1283
|
-
const rejectProjectInvitation = async (id) => {
|
|
1284
|
-
await client.delete("/manage/current-user/projects-invitations/{id}", { path: { id } });
|
|
1285
|
-
};
|
|
1286
|
-
const getProjectJoinRequests = async (signal) => {
|
|
1287
|
-
const { data } = await client.get(
|
|
1288
|
-
"/manage/current-user/projects-join-requests",
|
|
1289
|
-
{},
|
|
1290
|
-
{ signal }
|
|
1291
|
-
);
|
|
1292
|
-
return data;
|
|
1293
|
-
};
|
|
1294
|
-
const deleteProjectJoinRequest = async (id) => {
|
|
1295
|
-
await client.delete("/manage/current-user/projects-join-requests/{id}", { path: { id } });
|
|
1296
|
-
};
|
|
1297
|
-
return {
|
|
1298
|
-
getMaintainerInvitations,
|
|
1299
|
-
getMaintainerInvitation,
|
|
1300
|
-
acceptMaintainerInvitation,
|
|
1301
|
-
rejectMaintainerInvitation,
|
|
1302
|
-
getOrganizationInvitations,
|
|
1303
|
-
getOrganizationInvitation,
|
|
1304
|
-
acceptOrganizationInvitation,
|
|
1305
|
-
rejectOrganizationInvitation,
|
|
1306
|
-
getProjectInvitations,
|
|
1307
|
-
getProjectInvitation,
|
|
1308
|
-
acceptProjectInvitation,
|
|
1309
|
-
rejectProjectInvitation,
|
|
1310
|
-
getProjectJoinRequests,
|
|
1311
|
-
deleteProjectJoinRequest
|
|
1312
|
-
};
|
|
1313
|
-
};
|
|
1314
|
-
|
|
1315
|
-
// src/clients/management/features/features.ts
|
|
1316
|
-
var createFeatures = (client) => {
|
|
1317
|
-
const getAllFeatures = async (query, signal) => {
|
|
1318
|
-
const { data } = await client.get(
|
|
1319
|
-
"/features",
|
|
1320
|
-
{ query },
|
|
1321
|
-
{ signal }
|
|
1322
|
-
);
|
|
1323
|
-
return data;
|
|
1324
|
-
};
|
|
1325
|
-
return {
|
|
1326
|
-
getAllFeatures
|
|
1327
|
-
};
|
|
1328
|
-
};
|
|
1329
|
-
|
|
1330
|
-
// src/clients/management/maintainers/maintainers.ts
|
|
1331
|
-
var createMaintainers = (client) => {
|
|
1332
|
-
const getMaintainers = async (signal) => {
|
|
1333
|
-
const { data } = await client.get("/manage/maintainers", {}, { signal });
|
|
1334
|
-
return data;
|
|
1335
|
-
};
|
|
1336
|
-
const getMaintainer = async (maintainerId, signal) => {
|
|
1337
|
-
const { data } = await client.get(
|
|
1338
|
-
"/manage/maintainers/{id}",
|
|
1339
|
-
{ path: { id: maintainerId } },
|
|
1340
|
-
{ signal }
|
|
1341
|
-
);
|
|
1342
|
-
return data;
|
|
1343
|
-
};
|
|
1344
|
-
const createMaintainer = async (body) => {
|
|
1345
|
-
const { data } = await client.post("/manage/maintainers", { body });
|
|
1346
|
-
return data;
|
|
1347
|
-
};
|
|
1348
|
-
const updateMaintainer = async ({
|
|
1349
|
-
maintainerId,
|
|
1350
|
-
...body
|
|
1351
|
-
}) => {
|
|
1352
|
-
const { data } = await client.patch("/manage/maintainers/{id}", {
|
|
1353
|
-
path: { id: maintainerId },
|
|
1354
|
-
body
|
|
1355
|
-
});
|
|
1356
|
-
return data;
|
|
1357
|
-
};
|
|
1358
|
-
const deleteMaintainer = async (maintainerId) => {
|
|
1359
|
-
await client.delete("/manage/maintainers/{id}", { path: { id: maintainerId } });
|
|
1360
|
-
};
|
|
1361
|
-
const getMaintainerUsers = async (maintainerId, signal) => {
|
|
1362
|
-
const { data } = await client.get(
|
|
1363
|
-
"/manage/maintainers/{id}/users",
|
|
1364
|
-
{ path: { id: maintainerId } },
|
|
1365
|
-
{ signal }
|
|
1366
|
-
);
|
|
1367
|
-
return data;
|
|
1368
|
-
};
|
|
1369
|
-
const addMaintainerUser = async ({
|
|
1370
|
-
maintainerId,
|
|
1371
|
-
...body
|
|
1372
|
-
}) => {
|
|
1373
|
-
const { data } = await client.post("/manage/maintainers/{id}/users", {
|
|
1374
|
-
path: { id: maintainerId },
|
|
1375
|
-
body
|
|
1376
|
-
});
|
|
1377
|
-
return data;
|
|
1378
|
-
};
|
|
1379
|
-
const removeMaintainerUser = async ({
|
|
1380
|
-
maintainerId,
|
|
1381
|
-
adminId
|
|
1382
|
-
}) => {
|
|
1383
|
-
await client.delete("/manage/maintainers/{id}/users/{adminId}", {
|
|
1384
|
-
path: { id: maintainerId, adminId }
|
|
1385
|
-
});
|
|
1386
|
-
};
|
|
1387
|
-
const getMaintainerInvitations = async (maintainerId, signal) => {
|
|
1388
|
-
const { data } = await client.get(
|
|
1389
|
-
"/manage/maintainers/{id}/invitations",
|
|
1390
|
-
{ path: { id: maintainerId } },
|
|
1391
|
-
{ signal }
|
|
1392
|
-
);
|
|
1393
|
-
return data;
|
|
1394
|
-
};
|
|
1395
|
-
const getMaintainerInvitation = async ({ maintainerId, invitationId }, signal) => {
|
|
1396
|
-
const { data } = await client.get(
|
|
1397
|
-
"/manage/maintainers/{id}/invitations/{invitationId}",
|
|
1398
|
-
{ path: { id: maintainerId, invitationId } },
|
|
1399
|
-
{ signal }
|
|
1400
|
-
);
|
|
1401
|
-
return data;
|
|
1402
|
-
};
|
|
1403
|
-
const createMaintainerInvitation = async ({
|
|
1404
|
-
maintainerId,
|
|
1405
|
-
...body
|
|
1406
|
-
}) => {
|
|
1407
|
-
const { data } = await client.post("/manage/maintainers/{id}/invitations", {
|
|
1408
|
-
path: { id: maintainerId },
|
|
1409
|
-
body
|
|
1410
|
-
});
|
|
1411
|
-
return data;
|
|
1412
|
-
};
|
|
1413
|
-
const deleteMaintainerInvitation = async ({
|
|
1414
|
-
maintainerId,
|
|
1415
|
-
invitationId
|
|
1416
|
-
}) => {
|
|
1417
|
-
await client.delete("/manage/maintainers/{id}/invitations/{invitationId}", {
|
|
1418
|
-
path: { id: maintainerId, invitationId }
|
|
1419
|
-
});
|
|
1420
|
-
};
|
|
1421
|
-
const createMaintainerOrganization = async ({
|
|
1422
|
-
maintainerId,
|
|
1423
|
-
...body
|
|
1424
|
-
}) => {
|
|
1425
|
-
const { data } = await client.post("/manage/maintainers/{id}/organizations", {
|
|
1426
|
-
path: { id: maintainerId },
|
|
1427
|
-
body
|
|
1428
|
-
});
|
|
1429
|
-
return data;
|
|
1430
|
-
};
|
|
1431
|
-
const getMaintainerMetadata = async (maintainerId, signal) => {
|
|
1432
|
-
const { data } = await client.get(
|
|
1433
|
-
"/manage/maintainers/{id}/metadata",
|
|
1434
|
-
{ path: { id: maintainerId } },
|
|
1435
|
-
{ signal }
|
|
1436
|
-
);
|
|
1437
|
-
return data;
|
|
1438
|
-
};
|
|
1439
|
-
const setMaintainerMetadata = async ({
|
|
1440
|
-
maintainerId,
|
|
1441
|
-
...body
|
|
1442
|
-
}) => {
|
|
1443
|
-
const { data } = await client.post("/manage/maintainers/{id}/metadata", {
|
|
1444
|
-
path: { id: maintainerId },
|
|
1445
|
-
body
|
|
1446
|
-
});
|
|
1447
|
-
return data;
|
|
1448
|
-
};
|
|
1449
|
-
const deleteMaintainerMetadata = async ({
|
|
1450
|
-
maintainerId,
|
|
1451
|
-
metadataId
|
|
1452
|
-
}) => {
|
|
1453
|
-
await client.delete("/manage/maintainers/{id}/metadata/{metadataId}", {
|
|
1454
|
-
path: { id: maintainerId, metadataId }
|
|
1455
|
-
});
|
|
1456
|
-
};
|
|
1457
|
-
return {
|
|
1458
|
-
getMaintainers,
|
|
1459
|
-
getMaintainer,
|
|
1460
|
-
createMaintainer,
|
|
1461
|
-
updateMaintainer,
|
|
1462
|
-
deleteMaintainer,
|
|
1463
|
-
getMaintainerUsers,
|
|
1464
|
-
addMaintainerUser,
|
|
1465
|
-
removeMaintainerUser,
|
|
1466
|
-
getMaintainerInvitations,
|
|
1467
|
-
getMaintainerInvitation,
|
|
1468
|
-
createMaintainerInvitation,
|
|
1469
|
-
deleteMaintainerInvitation,
|
|
1470
|
-
createMaintainerOrganization,
|
|
1471
|
-
getMaintainerMetadata,
|
|
1472
|
-
setMaintainerMetadata,
|
|
1473
|
-
deleteMaintainerMetadata
|
|
1474
|
-
};
|
|
1475
|
-
};
|
|
1476
|
-
|
|
1477
|
-
// src/clients/management/organizations/organizations.ts
|
|
1478
|
-
var createOrganizations = (client) => {
|
|
1479
|
-
const getOrganizations = async (signal) => {
|
|
1480
|
-
const { data } = await client.get("/manage/organizations", {}, { signal });
|
|
1481
|
-
return data;
|
|
1482
|
-
};
|
|
1483
|
-
const getOrganization = async (organizationId, signal) => {
|
|
1484
|
-
const { data } = await client.get(
|
|
1485
|
-
"/manage/organizations/{id}",
|
|
1486
|
-
{ path: { id: organizationId } },
|
|
1487
|
-
{ signal }
|
|
1488
|
-
);
|
|
1489
|
-
return data;
|
|
1490
|
-
};
|
|
1491
|
-
const updateOrganization = async ({
|
|
1492
|
-
organizationId,
|
|
1493
|
-
...body
|
|
1494
|
-
}) => {
|
|
1495
|
-
const { data } = await client.patch("/manage/organizations/{id}", {
|
|
1496
|
-
path: { id: organizationId },
|
|
1497
|
-
body
|
|
1498
|
-
});
|
|
1499
|
-
return data;
|
|
1500
|
-
};
|
|
1501
|
-
const deleteOrganization = async (organizationId) => {
|
|
1502
|
-
await client.delete("/manage/organizations/{id}", { path: { id: organizationId } });
|
|
1503
|
-
};
|
|
1504
|
-
const forceMfa = async (organizationId) => {
|
|
1505
|
-
const { data } = await client.patch("/manage/organizations/{id}/force-mfa", {
|
|
1506
|
-
path: { id: organizationId }
|
|
1507
|
-
});
|
|
1508
|
-
return data;
|
|
1509
|
-
};
|
|
1510
|
-
const joinOrganization = async (organizationId) => {
|
|
1511
|
-
await client.post("/manage/organizations/{id}/join-organization", {
|
|
1512
|
-
path: { id: organizationId }
|
|
1513
|
-
});
|
|
1514
|
-
};
|
|
1515
|
-
const getOrganizationUsers = async (organizationId, signal) => {
|
|
1516
|
-
const { data } = await client.get(
|
|
1517
|
-
"/manage/organizations/{id}/users",
|
|
1518
|
-
{ path: { id: organizationId } },
|
|
1519
|
-
{ signal }
|
|
1520
|
-
);
|
|
1521
|
-
return data;
|
|
1522
|
-
};
|
|
1523
|
-
const addOrganizationUser = async ({
|
|
1524
|
-
organizationId,
|
|
1525
|
-
...body
|
|
1526
|
-
}) => {
|
|
1527
|
-
const { data } = await client.post("/manage/organizations/{id}/users", {
|
|
1528
|
-
path: { id: organizationId },
|
|
1529
|
-
body
|
|
1530
|
-
});
|
|
1531
|
-
return data;
|
|
1532
|
-
};
|
|
1533
|
-
const removeOrganizationUser = async ({
|
|
1534
|
-
organizationId,
|
|
1535
|
-
userId
|
|
1536
|
-
}) => {
|
|
1537
|
-
await client.delete("/manage/organizations/{id}/users/{userId}", {
|
|
1538
|
-
path: { id: organizationId, userId }
|
|
1539
|
-
});
|
|
1540
|
-
};
|
|
1541
|
-
const getOrganizationProjectsUsers = async (organizationId, signal) => {
|
|
1542
|
-
const { data } = await client.get(
|
|
1543
|
-
"/manage/organizations/{id}/projects-users",
|
|
1544
|
-
{ path: { id: organizationId } },
|
|
1545
|
-
{ signal }
|
|
1546
|
-
);
|
|
1547
|
-
return data;
|
|
1548
|
-
};
|
|
1549
|
-
const getOrganizationInvitations = async (organizationId, signal) => {
|
|
1550
|
-
const { data } = await client.get(
|
|
1551
|
-
"/manage/organizations/{id}/invitations",
|
|
1552
|
-
{ path: { id: organizationId } },
|
|
1553
|
-
{ signal }
|
|
1554
|
-
);
|
|
1555
|
-
return data;
|
|
1556
|
-
};
|
|
1557
|
-
const getOrganizationInvitation = async ({ organizationId, invitationId }, signal) => {
|
|
1558
|
-
const { data } = await client.get(
|
|
1559
|
-
"/manage/organizations/{id}/invitations/{invitationId}",
|
|
1560
|
-
{ path: { id: organizationId, invitationId } },
|
|
1561
|
-
{ signal }
|
|
1562
|
-
);
|
|
1563
|
-
return data;
|
|
1564
|
-
};
|
|
1565
|
-
const createOrganizationInvitation = async ({
|
|
1566
|
-
organizationId,
|
|
1567
|
-
...body
|
|
1568
|
-
}) => {
|
|
1569
|
-
const { data } = await client.post("/manage/organizations/{id}/invitations", {
|
|
1570
|
-
path: { id: organizationId },
|
|
1571
|
-
body
|
|
1572
|
-
});
|
|
1573
|
-
return data;
|
|
1574
|
-
};
|
|
1575
|
-
const deleteOrganizationInvitation = async ({
|
|
1576
|
-
organizationId,
|
|
1577
|
-
invitationId
|
|
1578
|
-
}) => {
|
|
1579
|
-
await client.delete("/manage/organizations/{id}/invitations/{invitationId}", {
|
|
1580
|
-
path: { id: organizationId, invitationId }
|
|
1581
|
-
});
|
|
1582
|
-
};
|
|
1583
|
-
const getOrganizationProjects = async (organizationId, signal) => {
|
|
1584
|
-
const { data } = await client.get(
|
|
1585
|
-
"/manage/organizations/{id}/projects",
|
|
1586
|
-
{ path: { id: organizationId } },
|
|
1587
|
-
{ signal }
|
|
1588
|
-
);
|
|
1589
|
-
return data;
|
|
1590
|
-
};
|
|
1591
|
-
const createOrganizationProject = async ({
|
|
1592
|
-
organizationId,
|
|
1593
|
-
...body
|
|
1594
|
-
}) => {
|
|
1595
|
-
const { data } = await client.post("/manage/organizations/{id}/projects", {
|
|
1596
|
-
path: { id: organizationId },
|
|
1597
|
-
body
|
|
1598
|
-
});
|
|
1599
|
-
return data;
|
|
1600
|
-
};
|
|
1601
|
-
const getOrganizationMetadata = async (organizationId, signal) => {
|
|
1602
|
-
const { data } = await client.get(
|
|
1603
|
-
"/manage/organizations/{id}/metadata",
|
|
1604
|
-
{ path: { id: organizationId } },
|
|
1605
|
-
{ signal }
|
|
1606
|
-
);
|
|
1607
|
-
return data;
|
|
1608
|
-
};
|
|
1609
|
-
const setOrganizationMetadata = async ({
|
|
1610
|
-
organizationId,
|
|
1611
|
-
...body
|
|
1612
|
-
}) => {
|
|
1613
|
-
const { data } = await client.post("/manage/organizations/{id}/metadata", {
|
|
1614
|
-
path: { id: organizationId },
|
|
1615
|
-
body
|
|
1616
|
-
});
|
|
1617
|
-
return data;
|
|
1618
|
-
};
|
|
1619
|
-
const deleteOrganizationMetadata = async ({
|
|
1620
|
-
organizationId,
|
|
1621
|
-
metadataId
|
|
1622
|
-
}) => {
|
|
1623
|
-
await client.delete("/manage/organizations/{id}/metadata/{metadataId}", {
|
|
1624
|
-
path: { id: organizationId, metadataId }
|
|
1625
|
-
});
|
|
1626
|
-
};
|
|
1627
|
-
return {
|
|
1628
|
-
getOrganizations,
|
|
1629
|
-
getOrganization,
|
|
1630
|
-
updateOrganization,
|
|
1631
|
-
deleteOrganization,
|
|
1632
|
-
forceMfa,
|
|
1633
|
-
joinOrganization,
|
|
1634
|
-
getOrganizationUsers,
|
|
1635
|
-
addOrganizationUser,
|
|
1636
|
-
removeOrganizationUser,
|
|
1637
|
-
getOrganizationProjectsUsers,
|
|
1638
|
-
getOrganizationInvitations,
|
|
1639
|
-
getOrganizationInvitation,
|
|
1640
|
-
createOrganizationInvitation,
|
|
1641
|
-
deleteOrganizationInvitation,
|
|
1642
|
-
getOrganizationProjects,
|
|
1643
|
-
createOrganizationProject,
|
|
1644
|
-
getOrganizationMetadata,
|
|
1645
|
-
setOrganizationMetadata,
|
|
1646
|
-
deleteOrganizationMetadata
|
|
1647
|
-
};
|
|
1648
|
-
};
|
|
1649
|
-
|
|
1650
|
-
// src/clients/management/projects/projects.ts
|
|
1651
|
-
var createProjects = (client) => {
|
|
1652
|
-
const getProject = async (projectId, signal) => {
|
|
1653
|
-
const { data } = await client.get(
|
|
1654
|
-
"/projects/{projectId}",
|
|
1655
|
-
{ path: { projectId } },
|
|
1656
|
-
{ signal }
|
|
1657
|
-
);
|
|
1658
|
-
return data;
|
|
1659
|
-
};
|
|
1660
|
-
const addProjectFeature = async ({
|
|
1661
|
-
projectId,
|
|
1662
|
-
feature
|
|
1663
|
-
}) => {
|
|
1664
|
-
const { data } = await client.post("/projects/{projectId}/features", { path: { projectId }, body: { feature } });
|
|
1665
|
-
return data;
|
|
1666
|
-
};
|
|
1667
|
-
const removeProjectFeature = async (path) => {
|
|
1668
|
-
const { data } = await client.delete(
|
|
1669
|
-
"/projects/{projectId}/features/{feature}",
|
|
1670
|
-
{ path }
|
|
1671
|
-
);
|
|
1672
|
-
return data;
|
|
1673
|
-
};
|
|
1674
|
-
const changeProjectUserRole = async ({
|
|
1675
|
-
projectId,
|
|
1676
|
-
userId,
|
|
1677
|
-
role
|
|
1678
|
-
}) => {
|
|
1679
|
-
const { data } = await client.patch("/projects/{projectId}/users/{userId}", {
|
|
1680
|
-
path: { projectId, userId },
|
|
1681
|
-
body: { role }
|
|
1682
|
-
});
|
|
1683
|
-
return data;
|
|
1684
|
-
};
|
|
1685
|
-
const getProjectUsers = async (projectId, signal) => {
|
|
1686
|
-
const { data } = await client.get(
|
|
1687
|
-
"/projects/{projectId}/users",
|
|
1688
|
-
{ path: { projectId } },
|
|
1689
|
-
{ signal }
|
|
1690
|
-
);
|
|
1691
|
-
return data;
|
|
1692
|
-
};
|
|
1693
|
-
const getProjectMetadata = async (projectId, signal) => {
|
|
1694
|
-
const { data } = await client.get(
|
|
1695
|
-
"/projects/{projectId}/metadata",
|
|
1696
|
-
{ path: { projectId } },
|
|
1697
|
-
{ signal }
|
|
1698
|
-
);
|
|
1699
|
-
return data;
|
|
1700
|
-
};
|
|
1701
|
-
const setProjectMetadata = async ({
|
|
1702
|
-
projectId,
|
|
1703
|
-
provider,
|
|
1704
|
-
metadata
|
|
1705
|
-
}) => {
|
|
1706
|
-
const { data } = await client.post("/projects/{projectId}/metadata", {
|
|
1707
|
-
path: { projectId },
|
|
1708
|
-
body: { provider, metadata }
|
|
1709
|
-
});
|
|
1710
|
-
return data;
|
|
1711
|
-
};
|
|
1712
|
-
const getProjectReviewers = async (projectId, signal) => {
|
|
1713
|
-
const { data } = await client.get(
|
|
1714
|
-
"/projects/{projectId}/reviewers",
|
|
1715
|
-
{ path: { projectId } },
|
|
1716
|
-
{ signal }
|
|
1717
|
-
);
|
|
1718
|
-
return data;
|
|
1719
|
-
};
|
|
1720
|
-
const setProjectReviewers = async ({
|
|
1721
|
-
projectId,
|
|
1722
|
-
adminIds
|
|
1723
|
-
}) => {
|
|
1724
|
-
const { data } = await client.put("/projects/{projectId}/reviewers", {
|
|
1725
|
-
path: { projectId },
|
|
1726
|
-
body: { adminIds }
|
|
1727
|
-
});
|
|
1728
|
-
return data;
|
|
1729
|
-
};
|
|
1730
|
-
return {
|
|
1731
|
-
getProject,
|
|
1732
|
-
addProjectFeature,
|
|
1733
|
-
removeProjectFeature,
|
|
1734
|
-
changeProjectUserRole,
|
|
1735
|
-
getProjectUsers,
|
|
1736
|
-
getProjectMetadata,
|
|
1737
|
-
setProjectMetadata,
|
|
1738
|
-
getProjectReviewers,
|
|
1739
|
-
setProjectReviewers
|
|
1740
|
-
};
|
|
1741
|
-
};
|
|
1742
|
-
|
|
1743
|
-
// src/clients/management/users/users.ts
|
|
1744
|
-
var createUsers = (client) => {
|
|
1745
|
-
const addUserAdminFeature = async ({ feature, userIdOrMail }, signal) => {
|
|
1746
|
-
const { data } = await client.post(
|
|
1747
|
-
"/users/{userIdOrMail}/features",
|
|
1748
|
-
{ path: { userIdOrMail: encodeURIComponent(userIdOrMail) }, body: { feature } },
|
|
1749
|
-
{ signal }
|
|
1750
|
-
);
|
|
1751
|
-
return data;
|
|
1752
|
-
};
|
|
1753
|
-
const removeUserAdminFeature = async ({ userIdOrMail, feature }, signal) => {
|
|
1754
|
-
const { data } = await client.delete(
|
|
1755
|
-
"/users/{userIdOrMail}/features/{feature}",
|
|
1756
|
-
{ path: { userIdOrMail: encodeURIComponent(userIdOrMail), feature } },
|
|
1757
|
-
{ signal }
|
|
1758
|
-
);
|
|
1759
|
-
return data;
|
|
1760
|
-
};
|
|
1761
|
-
return {
|
|
1762
|
-
addUserAdminFeature,
|
|
1763
|
-
removeUserAdminFeature
|
|
1764
|
-
};
|
|
1765
|
-
};
|
|
1766
|
-
|
|
1767
|
-
// src/clients/management/managementClient.ts
|
|
1768
|
-
var createManagementClient = ({
|
|
1769
|
-
baseUrl,
|
|
1770
|
-
callbacks,
|
|
1771
|
-
token
|
|
1772
|
-
}) => {
|
|
1773
|
-
const callbackMiddleware = createCallbackMiddleware(callbacks);
|
|
1774
|
-
const authMiddleware = createAuthMiddleware({
|
|
1775
|
-
baseUrl,
|
|
1776
|
-
accessToken: token
|
|
1777
|
-
});
|
|
1778
|
-
const middlewares = [
|
|
1779
|
-
callbackMiddleware,
|
|
1780
|
-
authMiddleware
|
|
1781
|
-
// 👈 beware order of middlewares always matter
|
|
1782
|
-
];
|
|
1783
|
-
const client = createGenericFetchClient({
|
|
1784
|
-
baseUrl: `${baseUrl}/manage`,
|
|
1785
|
-
middlewares
|
|
1786
|
-
});
|
|
1787
|
-
const openApiClient = createOpenapiFetchClient({
|
|
1788
|
-
baseUrl,
|
|
1789
|
-
middlewares
|
|
1790
|
-
});
|
|
1791
|
-
const verifyToken = async (signal) => {
|
|
1792
|
-
const { data } = await openApiClient.get("/manage/tokens/verify", {}, { signal });
|
|
1793
|
-
return data;
|
|
1794
|
-
};
|
|
1795
|
-
return {
|
|
1796
|
-
currentUser: createCurrentUser(openApiClient),
|
|
1797
|
-
features: createFeatures(client),
|
|
1798
|
-
maintainers: createMaintainers(openApiClient),
|
|
1799
|
-
organizations: createOrganizations(openApiClient),
|
|
1800
|
-
projects: createProjects(client),
|
|
1801
|
-
users: createUsers(client),
|
|
1802
|
-
verifyToken
|
|
1803
|
-
};
|
|
1804
|
-
};
|
|
1805
|
-
|
|
1806
|
-
// src/clients/metastore/repository/repository.ts
|
|
1807
|
-
var createRepository = (client) => {
|
|
1808
|
-
const getMetaObjects = async (input, signal) => {
|
|
1809
|
-
const { data } = await client.get(
|
|
1810
|
-
"/api/v1/repository/{objectType}",
|
|
1811
|
-
{
|
|
1812
|
-
path: input
|
|
1813
|
-
},
|
|
1814
|
-
{ signal }
|
|
1815
|
-
);
|
|
1816
|
-
return data;
|
|
1817
|
-
};
|
|
1818
|
-
const getMetaObjectRevisions = async (input, signal) => {
|
|
1819
|
-
const { data } = await client.get(
|
|
1820
|
-
"/api/v1/repository/{objectType}/revisions",
|
|
1821
|
-
{
|
|
1822
|
-
path: input
|
|
1823
|
-
},
|
|
1824
|
-
{ signal }
|
|
1825
|
-
);
|
|
1826
|
-
return data;
|
|
1827
|
-
};
|
|
1828
|
-
const getMetaObject = async (input, signal) => {
|
|
1829
|
-
const { data } = await client.get(
|
|
1830
|
-
"/api/v1/repository/{objectType}/{UUID}",
|
|
1831
|
-
{
|
|
1832
|
-
path: input
|
|
1833
|
-
},
|
|
1834
|
-
{
|
|
1835
|
-
signal
|
|
1836
|
-
}
|
|
1837
|
-
);
|
|
1838
|
-
return data;
|
|
1839
|
-
};
|
|
1840
|
-
const createMetaObject = async ({
|
|
1841
|
-
objectType,
|
|
1842
|
-
data,
|
|
1843
|
-
...body
|
|
1844
|
-
}) => {
|
|
1845
|
-
const { data: createdMetaObject } = await client.post("/api/v1/repository/{objectType}", {
|
|
1846
|
-
path: { objectType },
|
|
1847
|
-
body: {
|
|
1848
|
-
data,
|
|
1849
|
-
...body
|
|
1850
|
-
}
|
|
1851
|
-
});
|
|
1852
|
-
return createdMetaObject;
|
|
1853
|
-
};
|
|
1854
|
-
const deleteMetaObject = async (input) => {
|
|
1855
|
-
const { data } = await client.delete("/api/v1/repository/{objectType}/{UUID}", {
|
|
1856
|
-
path: input
|
|
1857
|
-
});
|
|
1858
|
-
return data;
|
|
1859
|
-
};
|
|
1860
|
-
const updateMetaObject = async ({
|
|
1861
|
-
objectType,
|
|
1862
|
-
UUID,
|
|
1863
|
-
data,
|
|
1864
|
-
...body
|
|
1865
|
-
}) => {
|
|
1866
|
-
const { data: updatedMetaObject } = await client.patch(
|
|
1867
|
-
"/api/v1/repository/{objectType}/{UUID}",
|
|
1868
|
-
{
|
|
1869
|
-
path: {
|
|
1870
|
-
objectType,
|
|
1871
|
-
UUID
|
|
1872
|
-
},
|
|
1873
|
-
body: {
|
|
1874
|
-
data,
|
|
1875
|
-
...body
|
|
1876
|
-
}
|
|
1877
|
-
}
|
|
1878
|
-
);
|
|
1879
|
-
return updatedMetaObject;
|
|
1880
|
-
};
|
|
1881
|
-
const replaceMetaObject = async ({
|
|
1882
|
-
objectType,
|
|
1883
|
-
UUID,
|
|
1884
|
-
data,
|
|
1885
|
-
...body
|
|
1886
|
-
}) => {
|
|
1887
|
-
const { data: replacedMetaObject } = await client.put(
|
|
1888
|
-
"/api/v1/repository/{objectType}/{UUID}",
|
|
1889
|
-
{
|
|
1890
|
-
path: {
|
|
1891
|
-
objectType,
|
|
1892
|
-
UUID
|
|
1893
|
-
},
|
|
1894
|
-
body: {
|
|
1895
|
-
data,
|
|
1896
|
-
...body
|
|
1897
|
-
}
|
|
1898
|
-
}
|
|
1899
|
-
);
|
|
1900
|
-
return replacedMetaObject;
|
|
1901
|
-
};
|
|
1902
|
-
const getMetaObjectRevision = async (input, signal) => {
|
|
1903
|
-
const { data } = await client.get(
|
|
1904
|
-
"/api/v1/repository/{objectType}/{UUID}/revisions/{revision}",
|
|
1905
|
-
{
|
|
1906
|
-
path: input
|
|
1907
|
-
},
|
|
1908
|
-
{ signal }
|
|
1909
|
-
);
|
|
1910
|
-
return data;
|
|
1911
|
-
};
|
|
1912
|
-
const deleteMetaObjectRevision = async (input) => {
|
|
1913
|
-
const { data } = await client.delete(
|
|
1914
|
-
"/api/v1/repository/{objectType}/{UUID}/revisions/{revision}",
|
|
1915
|
-
{
|
|
1916
|
-
path: input
|
|
1917
|
-
}
|
|
1918
|
-
);
|
|
1919
|
-
return data;
|
|
1920
|
-
};
|
|
1921
|
-
return {
|
|
1922
|
-
// lists
|
|
1923
|
-
getMetaObjects,
|
|
1924
|
-
getMetaObjectRevisions,
|
|
1925
|
-
// objects
|
|
1926
|
-
getMetaObject,
|
|
1927
|
-
createMetaObject,
|
|
1928
|
-
deleteMetaObject,
|
|
1929
|
-
updateMetaObject,
|
|
1930
|
-
replaceMetaObject,
|
|
1931
|
-
// revisons
|
|
1932
|
-
getMetaObjectRevision,
|
|
1933
|
-
deleteMetaObjectRevision
|
|
1934
|
-
};
|
|
1935
|
-
};
|
|
1936
|
-
|
|
1937
|
-
// src/clients/metastore/schema/schema.ts
|
|
1938
|
-
var createSchema = (client) => {
|
|
1939
|
-
const getSchema = async (input, signal) => {
|
|
1940
|
-
const { data } = await client.get(
|
|
1941
|
-
"/api/v1/schema/{objectType}",
|
|
1942
|
-
{
|
|
1943
|
-
path: input
|
|
1944
|
-
},
|
|
1945
|
-
{ signal }
|
|
1946
|
-
);
|
|
1947
|
-
return data;
|
|
1948
|
-
};
|
|
1949
|
-
const getVersionedSchema = async (input, signal) => {
|
|
1950
|
-
const { data } = await client.get(
|
|
1951
|
-
"/api/v1/schema/{objectType}/{version}",
|
|
1952
|
-
{
|
|
1953
|
-
path: input
|
|
1954
|
-
},
|
|
1955
|
-
{ signal }
|
|
1956
|
-
);
|
|
1957
|
-
return data;
|
|
1958
|
-
};
|
|
1959
|
-
return {
|
|
1960
|
-
getSchema,
|
|
1961
|
-
getVersionedSchema
|
|
1962
|
-
};
|
|
1963
|
-
};
|
|
1964
|
-
|
|
1965
|
-
// src/clients/metastore/metastoreClient.ts
|
|
1966
|
-
var createMetastoreClient = ({ baseUrl, middlewares }) => {
|
|
1967
|
-
const client = createOpenapiFetchClient({
|
|
1968
|
-
baseUrl,
|
|
1969
|
-
middlewares
|
|
1970
|
-
});
|
|
1971
|
-
const healthCheck = async (signal) => {
|
|
1972
|
-
const { data } = await client.get("/health-check", {}, { signal });
|
|
1973
|
-
return data;
|
|
1974
|
-
};
|
|
1975
|
-
return {
|
|
1976
|
-
healthCheck,
|
|
1977
|
-
repository: createRepository(client),
|
|
1978
|
-
schema: createSchema(client)
|
|
1979
|
-
};
|
|
1980
|
-
};
|
|
1981
|
-
|
|
1982
|
-
// src/clients/oauth/oauthClient.ts
|
|
1983
|
-
var createOauthClient = ({ baseUrl, middlewares }) => {
|
|
1984
|
-
const client = createGenericFetchClient({ baseUrl, middlewares });
|
|
1985
|
-
const getCredentials = async (query, signal) => {
|
|
1986
|
-
const { data } = await client.get(
|
|
1987
|
-
"/credentials",
|
|
1988
|
-
{ query },
|
|
1989
|
-
{ signal }
|
|
1990
|
-
);
|
|
1991
|
-
return data;
|
|
1992
|
-
};
|
|
1993
|
-
const getCredential = async (componentId, id, signal) => {
|
|
1994
|
-
const { data } = await client.get(
|
|
1995
|
-
"/credentials/{componentId}/{id}",
|
|
1996
|
-
{ path: { componentId, id } },
|
|
1997
|
-
{ signal }
|
|
1998
|
-
);
|
|
1999
|
-
return data;
|
|
2000
|
-
};
|
|
2001
|
-
const _createCredentials = async (componentId, body, signal) => {
|
|
2002
|
-
const { data } = await client.post(
|
|
2003
|
-
"/credentials/{componentId}",
|
|
2004
|
-
{ path: { componentId }, body },
|
|
2005
|
-
{ signal }
|
|
2006
|
-
);
|
|
2007
|
-
return data;
|
|
2008
|
-
};
|
|
2009
|
-
const _createLegacyCredentials = async (componentId, { data: credentialsData, ...rest }, signal) => {
|
|
2010
|
-
const { data } = await client.post(
|
|
2011
|
-
"/credentials/{componentId}",
|
|
2012
|
-
{
|
|
2013
|
-
path: { componentId },
|
|
2014
|
-
body: {
|
|
2015
|
-
...rest,
|
|
2016
|
-
"#data": JSON.stringify(credentialsData)
|
|
2017
|
-
}
|
|
2018
|
-
},
|
|
2019
|
-
{ signal }
|
|
2020
|
-
);
|
|
2021
|
-
return data;
|
|
2022
|
-
};
|
|
2023
|
-
const createCredential = async (componentId, body, signal) => {
|
|
2024
|
-
try {
|
|
2025
|
-
return await _createCredentials(componentId, body, signal);
|
|
2026
|
-
} catch (error) {
|
|
2027
|
-
if (isApiError(error) && error.response.status === HttpStatus.UNPROCESSABLE_ENTITY) {
|
|
2028
|
-
return _createLegacyCredentials(componentId, body, signal);
|
|
2029
|
-
}
|
|
2030
|
-
throw error;
|
|
2031
|
-
}
|
|
2032
|
-
};
|
|
2033
|
-
const deleteCredential = async (componentId, id, signal) => {
|
|
2034
|
-
await client.delete(
|
|
2035
|
-
"/credentials/{componentId}/{id}",
|
|
2036
|
-
{ path: { componentId, id } },
|
|
2037
|
-
{ signal }
|
|
2038
|
-
);
|
|
2039
|
-
};
|
|
2040
|
-
return {
|
|
2041
|
-
getCredentials,
|
|
2042
|
-
getCredential,
|
|
2043
|
-
createCredential,
|
|
2044
|
-
deleteCredential
|
|
2045
|
-
};
|
|
2046
|
-
};
|
|
2047
|
-
|
|
2048
|
-
// src/clients/queryService/queryServiceClient.ts
|
|
2049
|
-
var createQueryServiceClient = ({ baseUrl, middlewares }) => {
|
|
2050
|
-
const client = createOpenapiFetchClient({
|
|
2051
|
-
baseUrl,
|
|
2052
|
-
middlewares
|
|
2053
|
-
});
|
|
2054
|
-
const createQueryJob = async (branchId, workspaceId, body) => {
|
|
2055
|
-
const { data } = await client.post(
|
|
2056
|
-
"/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries",
|
|
2057
|
-
{ path: { branchId, workspaceId }, body }
|
|
2058
|
-
);
|
|
2059
|
-
return data;
|
|
2060
|
-
};
|
|
2061
|
-
const cancelQueryJob = async (queryJobId) => {
|
|
2062
|
-
const { data } = await client.post("/api/v1/queries/{queryJobId}/cancel", {
|
|
2063
|
-
path: { queryJobId },
|
|
2064
|
-
body: { reason: "Cancelled by user" }
|
|
2065
|
-
});
|
|
2066
|
-
return data;
|
|
2067
|
-
};
|
|
2068
|
-
const getQueryJob = async (queryJobId) => {
|
|
2069
|
-
const { data } = await client.get("/api/v1/queries/{queryJobId}", { path: { queryJobId } });
|
|
2070
|
-
return data;
|
|
2071
|
-
};
|
|
2072
|
-
const getQueryResults = async (queryJobId, statementId, query) => {
|
|
2073
|
-
const { data } = await client.get("/api/v1/queries/{queryJobId}/{statementId}/results", {
|
|
2074
|
-
path: { queryJobId, statementId },
|
|
2075
|
-
query
|
|
2076
|
-
});
|
|
2077
|
-
return data;
|
|
2078
|
-
};
|
|
2079
|
-
const getQueryHistory = async (branchId, workspaceId, query) => {
|
|
2080
|
-
const { data } = await client.get(
|
|
2081
|
-
"/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries",
|
|
2082
|
-
{
|
|
2083
|
-
path: { branchId, workspaceId },
|
|
2084
|
-
query
|
|
2085
|
-
}
|
|
2086
|
-
);
|
|
2087
|
-
return data;
|
|
2088
|
-
};
|
|
2089
|
-
const exportResults = async (queryJobId, statementId, query, signal) => {
|
|
2090
|
-
const { data, response } = await client.get(
|
|
2091
|
-
"/api/v1/queries/{queryJobId}/{statementId}/export",
|
|
2092
|
-
{
|
|
2093
|
-
path: { queryJobId, statementId },
|
|
2094
|
-
query
|
|
2095
|
-
},
|
|
2096
|
-
{ signal }
|
|
2097
|
-
);
|
|
2098
|
-
const mimeType = response.headers.get(HttpHeader.CONTENT_TYPE) ?? "text/csv";
|
|
2099
|
-
const contentDisposition = parseContentDispositionHeader(
|
|
2100
|
-
response.headers.get(HttpHeader.CONTENT_DISPOSITION)
|
|
2101
|
-
);
|
|
2102
|
-
return {
|
|
2103
|
-
mimeType,
|
|
2104
|
-
content: data,
|
|
2105
|
-
fileName: contentDisposition?.filename ?? "export.csv"
|
|
2106
|
-
};
|
|
2107
|
-
};
|
|
2108
|
-
return {
|
|
2109
|
-
createQueryJob,
|
|
2110
|
-
cancelQueryJob,
|
|
2111
|
-
getQueryJob,
|
|
2112
|
-
getQueryResults,
|
|
2113
|
-
getQueryHistory,
|
|
2114
|
-
exportResults
|
|
2115
|
-
};
|
|
2116
|
-
};
|
|
2117
|
-
|
|
2118
|
-
// src/clients/queue/queueClient.ts
|
|
2119
|
-
var createQueueClient = ({ baseUrl, middlewares }) => {
|
|
2120
|
-
const client = createOpenapiFetchClient({
|
|
2121
|
-
baseUrl,
|
|
2122
|
-
middlewares
|
|
2123
|
-
});
|
|
2124
|
-
const getJob = async (jobId, signal) => {
|
|
2125
|
-
const { data } = await client.get(
|
|
2126
|
-
"/jobs/{jobId}",
|
|
2127
|
-
{
|
|
2128
|
-
path: { jobId }
|
|
2129
|
-
},
|
|
2130
|
-
{ signal }
|
|
2131
|
-
);
|
|
2132
|
-
return data;
|
|
2133
|
-
};
|
|
2134
|
-
const searchJobs = async (query, signal) => {
|
|
2135
|
-
const { data } = await client.get(
|
|
2136
|
-
"/search/jobs",
|
|
2137
|
-
{
|
|
2138
|
-
query
|
|
2139
|
-
},
|
|
2140
|
-
{ signal }
|
|
2141
|
-
);
|
|
2142
|
-
return data;
|
|
2143
|
-
};
|
|
2144
|
-
return { getJob, searchJobs };
|
|
2145
|
-
};
|
|
2146
|
-
|
|
2147
|
-
// src/clients/status/statusClient.ts
|
|
2148
|
-
var createStatusClient = ({ baseUrl, middlewares }) => {
|
|
2149
|
-
const client = createGenericFetchClient({
|
|
2150
|
-
baseUrl,
|
|
2151
|
-
middlewares
|
|
2152
|
-
});
|
|
2153
|
-
const getSummary = async (signal) => {
|
|
2154
|
-
const { data } = await client.get("/summary.json", {}, { signal });
|
|
2155
|
-
return data;
|
|
2156
|
-
};
|
|
2157
|
-
return {
|
|
2158
|
-
getSummary
|
|
2159
|
-
};
|
|
2160
|
-
};
|
|
2161
|
-
|
|
2162
|
-
// src/clients/storage/configurationVersions/configurationVersions.ts
|
|
2163
|
-
var createConfigurationVersions = (client) => {
|
|
2164
|
-
const listConfigurationVersions = async ({ branchId, componentId, configId }, signal) => {
|
|
2165
|
-
const { data } = await client.get(
|
|
2166
|
-
"/branch/{branchId}/components/{componentId}/configs/{configId}/versions",
|
|
2167
|
-
{ path: { branchId, componentId, configId } },
|
|
2168
|
-
{ signal }
|
|
2169
|
-
);
|
|
2170
|
-
return data;
|
|
2171
|
-
};
|
|
2172
|
-
const getConfigurationVersion = async ({ branchId, componentId, configId, versionId }, signal) => {
|
|
2173
|
-
const { data } = await client.get(
|
|
2174
|
-
"/branch/{branchId}/components/{componentId}/configs/{configId}/versions/{versionId}",
|
|
2175
|
-
{ path: { branchId, componentId, configId, versionId } },
|
|
2176
|
-
{ signal }
|
|
2177
|
-
);
|
|
2178
|
-
return data;
|
|
2179
|
-
};
|
|
2180
|
-
return {
|
|
2181
|
-
listConfigurationVersions,
|
|
2182
|
-
getConfigurationVersion
|
|
2183
|
-
};
|
|
2184
|
-
};
|
|
2185
|
-
|
|
2186
|
-
// src/clients/storage/mergeRequests/mergeRequests.ts
|
|
2187
|
-
var createMergeRequests = (client) => {
|
|
2188
|
-
const getMergeRequests = async (signal) => {
|
|
2189
|
-
const { data } = await client.get("/v2/storage/merge-request", {}, { signal });
|
|
2190
|
-
return data;
|
|
2191
|
-
};
|
|
2192
|
-
const getMergeRequest = async (id, signal) => {
|
|
2193
|
-
const { data } = await client.get(
|
|
2194
|
-
"/v2/storage/merge-request/{id}",
|
|
2195
|
-
{ path: { id } },
|
|
2196
|
-
{ signal }
|
|
2197
|
-
);
|
|
2198
|
-
return data;
|
|
2199
|
-
};
|
|
2200
|
-
const getMergeRequestWithActivityLog = async (id, signal) => {
|
|
2201
|
-
const { data } = await client.get(
|
|
2202
|
-
"/v2/storage/merge-request/{id}",
|
|
2203
|
-
{ path: { id }, query: { include: "activityLog" } },
|
|
2204
|
-
{ signal }
|
|
2205
|
-
);
|
|
2206
|
-
return data;
|
|
2207
|
-
};
|
|
2208
|
-
const createMergeRequest = async (params) => {
|
|
2209
|
-
const { data } = await client.post("/v2/storage/merge-request", { body: params });
|
|
2210
|
-
return data;
|
|
2211
|
-
};
|
|
2212
|
-
const updateMergeRequest = async (id, params) => {
|
|
2213
|
-
const { data } = await client.put("/v2/storage/merge-request/{id}", {
|
|
2214
|
-
path: { id },
|
|
2215
|
-
body: params
|
|
2216
|
-
});
|
|
2217
|
-
return data;
|
|
2218
|
-
};
|
|
2219
|
-
const requestReview = async (id) => {
|
|
2220
|
-
const { data } = await client.put("/v2/storage/merge-request/{id}/request-review", {
|
|
2221
|
-
path: { id }
|
|
2222
|
-
});
|
|
2223
|
-
return data;
|
|
2224
|
-
};
|
|
2225
|
-
const approveMergeRequest = async (id) => {
|
|
2226
|
-
const { data } = await client.put("/v2/storage/merge-request/{id}/approve", {
|
|
2227
|
-
path: { id }
|
|
2228
|
-
});
|
|
2229
|
-
return data;
|
|
2230
|
-
};
|
|
2231
|
-
const requestChangesMergeRequest = async (id, reason) => {
|
|
2232
|
-
const { data } = await client.put("/v2/storage/merge-request/{id}/request-changes", {
|
|
2233
|
-
path: { id },
|
|
2234
|
-
body: reason ? { reason } : void 0
|
|
2235
|
-
});
|
|
2236
|
-
return data;
|
|
2237
|
-
};
|
|
2238
|
-
const getMergeRequestConflicts = async (id, signal) => {
|
|
2239
|
-
const { data } = await client.get(
|
|
2240
|
-
"/v2/storage/merge-request/{id}/conflicts",
|
|
2241
|
-
{ path: { id } },
|
|
2242
|
-
{ signal }
|
|
2243
|
-
);
|
|
2244
|
-
return data;
|
|
2245
|
-
};
|
|
2246
|
-
return {
|
|
2247
|
-
getMergeRequests,
|
|
2248
|
-
getMergeRequest,
|
|
2249
|
-
getMergeRequestWithActivityLog,
|
|
2250
|
-
createMergeRequest,
|
|
2251
|
-
updateMergeRequest,
|
|
2252
|
-
requestReview,
|
|
2253
|
-
approveMergeRequest,
|
|
2254
|
-
requestChangesMergeRequest,
|
|
2255
|
-
getMergeRequestConflicts
|
|
2256
|
-
};
|
|
2257
|
-
};
|
|
2258
|
-
|
|
2259
|
-
// src/clients/storage/branches/mappers.ts
|
|
2260
|
-
var mapBranchMetadata = (data) => ({
|
|
2261
|
-
...data,
|
|
2262
|
-
timestamp: new Date(data.timestamp)
|
|
2263
|
-
});
|
|
2264
|
-
|
|
2265
|
-
// src/clients/storage/branches/branches.ts
|
|
2266
|
-
var createBranches = (client) => {
|
|
2267
|
-
const getDevBranches = async (signal) => {
|
|
2268
|
-
const { data } = await client.get("/dev-branches", {}, { signal });
|
|
2269
|
-
return data;
|
|
2270
|
-
};
|
|
2271
|
-
const createDevBranchJob = async (body) => {
|
|
2272
|
-
const { data } = await client.post(
|
|
2273
|
-
"/dev-branches",
|
|
2274
|
-
{
|
|
2275
|
-
body
|
|
2276
|
-
}
|
|
2277
|
-
);
|
|
2278
|
-
return data;
|
|
2279
|
-
};
|
|
2280
|
-
const updateDevBranch = async ({
|
|
2281
|
-
id,
|
|
2282
|
-
name,
|
|
2283
|
-
description
|
|
2284
|
-
}) => {
|
|
2285
|
-
const { data } = await client.put(
|
|
2286
|
-
"/dev-branches/{id}",
|
|
2287
|
-
{
|
|
2288
|
-
path: { id },
|
|
2289
|
-
body: {
|
|
2290
|
-
name,
|
|
2291
|
-
description
|
|
2292
|
-
}
|
|
2293
|
-
}
|
|
2294
|
-
);
|
|
2295
|
-
return data;
|
|
2296
|
-
};
|
|
2297
|
-
const deleteDevBranchJob = async (id) => {
|
|
2298
|
-
const { data } = await client.delete(
|
|
2299
|
-
"/dev-branches/{id}",
|
|
2300
|
-
{
|
|
2301
|
-
path: { id }
|
|
2302
|
-
}
|
|
2303
|
-
);
|
|
2304
|
-
return data;
|
|
2305
|
-
};
|
|
2306
|
-
const getDevBranchMetadata = async (id, signal) => {
|
|
2307
|
-
const { data } = await client.get(
|
|
2308
|
-
"/branch/{id}/metadata",
|
|
2309
|
-
{ path: { id } },
|
|
2310
|
-
{ signal }
|
|
2311
|
-
);
|
|
2312
|
-
return data.map(mapBranchMetadata);
|
|
2313
|
-
};
|
|
2314
|
-
const saveDevBranchMetadata = async (id, metadata, signal) => {
|
|
2315
|
-
const { data } = await client.post("/branch/{id}/metadata", { path: { id }, body: { metadata } }, { signal });
|
|
2316
|
-
return data.map(mapBranchMetadata);
|
|
2317
|
-
};
|
|
2318
|
-
const deleteDevBranchMetadata = async (id, metadataId, signal) => {
|
|
2319
|
-
await client.delete(
|
|
2320
|
-
"/branch/{id}/metadata/{metadataId}",
|
|
2321
|
-
{ path: { id, metadataId } },
|
|
2322
|
-
{ signal }
|
|
2323
|
-
);
|
|
2324
|
-
};
|
|
2325
|
-
return {
|
|
2326
|
-
getDevBranches,
|
|
2327
|
-
createDevBranchJob,
|
|
2328
|
-
updateDevBranch,
|
|
2329
|
-
deleteDevBranchJob,
|
|
2330
|
-
getDevBranchMetadata,
|
|
2331
|
-
saveDevBranchMetadata,
|
|
2332
|
-
deleteDevBranchMetadata
|
|
2333
|
-
};
|
|
2334
|
-
};
|
|
2335
|
-
|
|
2336
|
-
// src/clients/storage/buckets/buckets.ts
|
|
2337
|
-
var createBuckets = (client) => {
|
|
2338
|
-
const getBuckets = async (query = {}, signal) => {
|
|
2339
|
-
const { data } = await client.get(
|
|
2340
|
-
`/buckets`,
|
|
2341
|
-
{ query },
|
|
2342
|
-
{ signal, queryArrayFormat: "comma" }
|
|
2343
|
-
);
|
|
2344
|
-
return data;
|
|
2345
|
-
};
|
|
2346
|
-
const getBucket = async (id, signal) => {
|
|
2347
|
-
const { data } = await client.get(
|
|
2348
|
-
`/buckets/{id}`,
|
|
2349
|
-
{ path: { id } },
|
|
2350
|
-
{ signal }
|
|
2351
|
-
);
|
|
2352
|
-
return data;
|
|
2353
|
-
};
|
|
2354
|
-
const createBucket = async (body) => {
|
|
2355
|
-
const { data } = await client.post(`/buckets`, {
|
|
2356
|
-
body
|
|
2357
|
-
});
|
|
2358
|
-
return data;
|
|
2359
|
-
};
|
|
2360
|
-
const updateBucket = async (id, body) => {
|
|
2361
|
-
const { data } = await client.patch(
|
|
2362
|
-
`/buckets/{id}`,
|
|
2363
|
-
{ path: { id }, body }
|
|
2364
|
-
);
|
|
2365
|
-
return data;
|
|
2366
|
-
};
|
|
2367
|
-
const deleteBucket = async (id) => {
|
|
2368
|
-
await client.delete(`/buckets/{id}`, { path: { id } });
|
|
2369
|
-
};
|
|
2370
|
-
const deleteBucketAsync = async (id, options = {}) => {
|
|
2371
|
-
const { data } = await client.delete(`/buckets/{id}`, { path: { id }, query: { async: true, ...options } });
|
|
2372
|
-
return data;
|
|
2373
|
-
};
|
|
2374
|
-
const createScheduledRefresh = async (input) => {
|
|
2375
|
-
const { branchId, bucketId, cronExpression } = input;
|
|
2376
|
-
const { data } = await client.post(`/branch/{branchId}/buckets/{bucketId}/scheduled-tasks/refresh`, {
|
|
2377
|
-
path: { branchId, bucketId },
|
|
2378
|
-
body: { cronExpression }
|
|
2379
|
-
});
|
|
2380
|
-
return data;
|
|
2381
|
-
};
|
|
2382
|
-
const deleteScheduledTask = async (taskId) => {
|
|
2383
|
-
await client.delete(`/scheduled-tasks/{taskId}`, {
|
|
2384
|
-
path: { taskId }
|
|
2385
|
-
});
|
|
2386
|
-
};
|
|
2387
|
-
return {
|
|
2388
|
-
getBuckets,
|
|
2389
|
-
getBucket,
|
|
2390
|
-
createBucket,
|
|
2391
|
-
updateBucket,
|
|
2392
|
-
deleteBucket,
|
|
2393
|
-
deleteBucketAsync,
|
|
2394
|
-
createScheduledRefresh,
|
|
2395
|
-
deleteScheduledTask
|
|
2396
|
-
};
|
|
2397
|
-
};
|
|
2398
|
-
|
|
2399
|
-
// src/utils/assert.ts
|
|
2400
|
-
function assert(value, message2) {
|
|
2401
|
-
if (value == null) {
|
|
2402
|
-
throw new Error(message2);
|
|
2403
|
-
}
|
|
2404
|
-
}
|
|
2405
|
-
|
|
2406
|
-
// src/utils/concurrent.ts
|
|
2407
|
-
var concurrent = async ({
|
|
2408
|
-
items,
|
|
2409
|
-
process: process2,
|
|
2410
|
-
concurrency = 2,
|
|
2411
|
-
middlewares = []
|
|
2412
|
-
}) => {
|
|
2413
|
-
if (concurrency < 1) throw new Error("Concurrency must be greater than 0");
|
|
2414
|
-
if (items.length === 0) return [];
|
|
2415
|
-
if (concurrency === Infinity)
|
|
2416
|
-
return Promise.all(items.map((item, index) => process2(item, index, items.length)));
|
|
2417
|
-
const n = items.length;
|
|
2418
|
-
const results = new Array(n);
|
|
2419
|
-
const processWithMiddlewares = middlewares.reduceRight(
|
|
2420
|
-
(next, middleware) => middleware(next),
|
|
2421
|
-
process2
|
|
2422
|
-
);
|
|
2423
|
-
const queue = items.map((item, index) => async () => {
|
|
2424
|
-
results[index] = await processWithMiddlewares(item, index, items.length);
|
|
2425
|
-
});
|
|
2426
|
-
const workers = Array.from(
|
|
2427
|
-
{ length: Math.min(concurrency, items.length) },
|
|
2428
|
-
async function processQueue() {
|
|
2429
|
-
while (queue.length) {
|
|
2430
|
-
await queue.shift()?.();
|
|
2431
|
-
}
|
|
2432
|
-
}
|
|
2433
|
-
);
|
|
2434
|
-
await Promise.all(workers);
|
|
2435
|
-
return results;
|
|
2436
|
-
};
|
|
2437
|
-
|
|
2438
|
-
// src/utils/createAbortError.ts
|
|
2439
|
-
var createAbortError = (reason) => new DOMException(reason, "AbortError");
|
|
2440
|
-
|
|
2441
|
-
// src/utils/delay.ts
|
|
2442
|
-
var delay = (timeout, signal) => new Promise((resolve, reject) => {
|
|
2443
|
-
if (signal?.aborted) return reject(createAbortError(signal.reason));
|
|
2444
|
-
const timeoutId = setTimeout(resolve, timeout);
|
|
2445
|
-
signal?.addEventListener(
|
|
2446
|
-
"abort",
|
|
2447
|
-
() => {
|
|
2448
|
-
clearTimeout(timeoutId);
|
|
2449
|
-
reject(createAbortError(signal.reason));
|
|
2450
|
-
},
|
|
2451
|
-
{ once: true }
|
|
2452
|
-
);
|
|
2453
|
-
});
|
|
2454
|
-
|
|
2455
|
-
// src/utils/poll.ts
|
|
2456
|
-
var message = {
|
|
2457
|
-
PollPredicateError: "Poll predicate failed",
|
|
2458
|
-
PollTimeoutError: "Poll timeout exceeded",
|
|
2459
|
-
PollPollTimeoutError: "Poll data failed condition"
|
|
2460
|
-
};
|
|
2461
|
-
var PollException = class extends Error {
|
|
2462
|
-
result;
|
|
2463
|
-
constructor(type, result) {
|
|
2464
|
-
super(type, { cause: message[type] });
|
|
2465
|
-
this.result = result;
|
|
2466
|
-
}
|
|
2467
|
-
};
|
|
2468
|
-
var poll = async ({
|
|
2469
|
-
pollFn,
|
|
2470
|
-
interval,
|
|
2471
|
-
isDone,
|
|
2472
|
-
isFailed,
|
|
2473
|
-
abortSignal,
|
|
2474
|
-
maxAttempts = Infinity
|
|
2475
|
-
}) => {
|
|
2476
|
-
if (abortSignal?.aborted) throw createAbortError(abortSignal.reason);
|
|
2477
|
-
if (interval < 1) throw new Error("Invalid poll interval");
|
|
2478
|
-
if (maxAttempts < 1) throw new Error("Invalid poll maxAttempts");
|
|
2479
|
-
let callCount = 0;
|
|
2480
|
-
while (true) {
|
|
2481
|
-
callCount++;
|
|
2482
|
-
const data = await pollFn(abortSignal);
|
|
2483
|
-
const result = { data, callCount };
|
|
2484
|
-
try {
|
|
2485
|
-
if (isDone(data)) return result;
|
|
2486
|
-
if (isFailed?.(data) ?? false) throw new PollException("PollPollTimeoutError", result);
|
|
2487
|
-
} catch (error) {
|
|
2488
|
-
if (error instanceof PollException) throw error;
|
|
2489
|
-
throw new PollException("PollPredicateError", result);
|
|
2490
|
-
}
|
|
2491
|
-
if (callCount >= maxAttempts) throw new PollException("PollTimeoutError", result);
|
|
2492
|
-
await delay(interval, abortSignal);
|
|
2493
|
-
}
|
|
2494
|
-
};
|
|
2495
|
-
|
|
2496
|
-
// src/utils/keboolaUID.ts
|
|
2497
|
-
var KEBOOLA_OBJECT_ID_DELIMITER = "--";
|
|
2498
|
-
var keboolaUID = {
|
|
2499
|
-
serialize: (input) => {
|
|
2500
|
-
if (input.uid === "")
|
|
2501
|
-
throw new Error("Invalid Keboola Object ID: uid of an object cannot be empty");
|
|
2502
|
-
return ["KID", input.projectId, input.type, input.uid].join(KEBOOLA_OBJECT_ID_DELIMITER);
|
|
2503
|
-
},
|
|
2504
|
-
deserialize: (input) => {
|
|
2505
|
-
const [identifier, projectId, type, uid] = input.split(KEBOOLA_OBJECT_ID_DELIMITER);
|
|
2506
|
-
if (identifier !== "KID" || !projectId || !type || !uid)
|
|
2507
|
-
throw new Error("Invalid Keboola Object ID");
|
|
2508
|
-
return {
|
|
2509
|
-
projectId: Number(projectId),
|
|
2510
|
-
type,
|
|
2511
|
-
uid
|
|
2512
|
-
};
|
|
2513
|
-
}
|
|
2514
|
-
};
|
|
2515
|
-
|
|
2516
|
-
// src/utils/generateUUID.ts
|
|
2517
|
-
var generateUUID = () => crypto.randomUUID();
|
|
2518
|
-
|
|
2519
|
-
// src/utils/series.ts
|
|
2520
|
-
var series = async (options) => concurrent({
|
|
2521
|
-
...options,
|
|
2522
|
-
concurrency: 1
|
|
2523
|
-
});
|
|
2524
|
-
|
|
2525
|
-
// src/clients/storage/componentsAndConfigurations/componentsAndConfigurations.ts
|
|
2526
|
-
var createComponentsAndConfigurations = (client) => {
|
|
2527
|
-
const getComponent = async ({ componentId, branchId = "default" }, signal) => {
|
|
2528
|
-
const { data } = await client.get(
|
|
2529
|
-
"/branch/{branchId}/components/{componentId}",
|
|
2530
|
-
{ path: { componentId, branchId } },
|
|
2531
|
-
{ signal }
|
|
2532
|
-
);
|
|
2533
|
-
return data;
|
|
2534
|
-
};
|
|
2535
|
-
const getComponents = async ({ branchId = "default", ...query } = {}, signal) => {
|
|
2536
|
-
const { data } = await client.get(
|
|
2537
|
-
"/branch/{branchId}/components",
|
|
2538
|
-
{ path: { branchId }, query },
|
|
2539
|
-
{ signal, queryArrayFormat: "comma" }
|
|
2540
|
-
);
|
|
2541
|
-
return data;
|
|
2542
|
-
};
|
|
2543
|
-
const getConfiguration = async ({ componentId, configId, branchId = "default" }, signal) => {
|
|
2544
|
-
const { data } = await client.get(
|
|
2545
|
-
"/branch/{branchId}/components/{componentId}/configs/{configId}",
|
|
2546
|
-
{ path: { componentId, configId, branchId } },
|
|
2547
|
-
{ signal }
|
|
2548
|
-
);
|
|
2549
|
-
return data;
|
|
2550
|
-
};
|
|
2551
|
-
const createConfiguration = async ({
|
|
2552
|
-
branchId = "default",
|
|
2553
|
-
componentId,
|
|
2554
|
-
...body
|
|
2555
|
-
}) => {
|
|
2556
|
-
const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs", {
|
|
2557
|
-
path: { branchId, componentId },
|
|
2558
|
-
body
|
|
2559
|
-
});
|
|
2560
|
-
return data;
|
|
2561
|
-
};
|
|
2562
|
-
const deleteConfiguration = async (path) => {
|
|
2563
|
-
await client.delete(
|
|
2564
|
-
"/branch/{branchId}/components/{componentId}/configs/{configId}",
|
|
2565
|
-
{ path }
|
|
2566
|
-
);
|
|
2567
|
-
};
|
|
2568
|
-
const deleteConfigurations = async ({
|
|
2569
|
-
configIds,
|
|
2570
|
-
...rest
|
|
2571
|
-
}) => {
|
|
2572
|
-
await concurrent({
|
|
2573
|
-
items: configIds,
|
|
2574
|
-
process: async (configId) => deleteConfiguration({ ...rest, configId })
|
|
2575
|
-
});
|
|
2576
|
-
};
|
|
2577
|
-
const getConfigurations = async ({ componentId, branchId = "default" }, signal) => {
|
|
2578
|
-
const { data } = await client.get(
|
|
2579
|
-
"/branch/{branchId}/components/{componentId}/configs",
|
|
2580
|
-
{ path: { componentId, branchId } },
|
|
2581
|
-
{ signal }
|
|
2582
|
-
);
|
|
2583
|
-
return data;
|
|
2584
|
-
};
|
|
2585
|
-
const getConfigurationWorkspaces = async ({
|
|
2586
|
-
componentId,
|
|
2587
|
-
branchId,
|
|
2588
|
-
configId
|
|
2589
|
-
}) => {
|
|
2590
|
-
const { data } = await client.get(
|
|
2591
|
-
"/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces",
|
|
2592
|
-
{
|
|
2593
|
-
path: { componentId, branchId, configId }
|
|
2594
|
-
}
|
|
2595
|
-
);
|
|
2596
|
-
return data;
|
|
2597
|
-
};
|
|
2598
|
-
const createConfigurationWorkspace = async ({
|
|
2599
|
-
componentId,
|
|
2600
|
-
branchId,
|
|
2601
|
-
configId,
|
|
2602
|
-
...body
|
|
2603
|
-
}) => {
|
|
2604
|
-
const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces", {
|
|
2605
|
-
path: { componentId, branchId, configId },
|
|
2606
|
-
body
|
|
2607
|
-
});
|
|
2608
|
-
return data;
|
|
2609
|
-
};
|
|
2610
|
-
const createConfigurationWorkspaceJob = async ({
|
|
2611
|
-
componentId,
|
|
2612
|
-
branchId,
|
|
2613
|
-
configId,
|
|
2614
|
-
...body
|
|
2615
|
-
}) => {
|
|
2616
|
-
const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces", {
|
|
2617
|
-
path: { componentId, branchId, configId },
|
|
2618
|
-
body,
|
|
2619
|
-
query: { async: true }
|
|
2620
|
-
});
|
|
2621
|
-
return data;
|
|
2622
|
-
};
|
|
2623
|
-
const createConfigurationRow = async ({
|
|
2624
|
-
branchId = "default",
|
|
2625
|
-
componentId,
|
|
2626
|
-
configId,
|
|
2627
|
-
...body
|
|
2628
|
-
}) => {
|
|
2629
|
-
const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs/{configId}/rows", {
|
|
2630
|
-
path: { branchId, componentId, configId },
|
|
2631
|
-
body
|
|
2632
|
-
});
|
|
2633
|
-
return data;
|
|
2634
|
-
};
|
|
2635
|
-
const createConfigurationRows = async ({
|
|
2636
|
-
branchId = "default",
|
|
2637
|
-
componentId,
|
|
2638
|
-
configId,
|
|
2639
|
-
data
|
|
2640
|
-
}, options) => {
|
|
2641
|
-
return series({
|
|
2642
|
-
items: data,
|
|
2643
|
-
process: (rowBody) => {
|
|
2644
|
-
return createConfigurationRow({
|
|
2645
|
-
branchId,
|
|
2646
|
-
componentId,
|
|
2647
|
-
configId,
|
|
2648
|
-
...rowBody
|
|
2649
|
-
});
|
|
2650
|
-
},
|
|
2651
|
-
middlewares: options?.middlewares
|
|
2652
|
-
});
|
|
2653
|
-
};
|
|
2654
|
-
const deleteConfigurationRow = async ({
|
|
2655
|
-
changeDescription,
|
|
2656
|
-
...path
|
|
2657
|
-
}) => {
|
|
2658
|
-
await client.delete(
|
|
2659
|
-
"/branch/{branchId}/components/{componentId}/configs/{configId}/rows/{rowId}",
|
|
2660
|
-
{
|
|
2661
|
-
path,
|
|
2662
|
-
body: { changeDescription }
|
|
2663
|
-
}
|
|
2664
|
-
);
|
|
2665
|
-
};
|
|
2666
|
-
const deleteConfigurationRows = async ({ rowIds, changeDescription, ...input }, options) => {
|
|
2667
|
-
await concurrent({
|
|
2668
|
-
items: rowIds,
|
|
2669
|
-
process: (rowId) => {
|
|
2670
|
-
const resolvedDescription = typeof changeDescription === "string" ? changeDescription : changeDescription?.(rowId);
|
|
2671
|
-
return deleteConfigurationRow({
|
|
2672
|
-
rowId,
|
|
2673
|
-
changeDescription: resolvedDescription,
|
|
2674
|
-
...input
|
|
2675
|
-
});
|
|
2676
|
-
},
|
|
2677
|
-
concurrency: 5,
|
|
2678
|
-
middlewares: options?.middlewares
|
|
2679
|
-
});
|
|
2680
|
-
};
|
|
2681
|
-
const searchComponentConfigurations = async ({ branchId = "default" } = {}, query, signal) => {
|
|
2682
|
-
const { data } = await client.get(
|
|
2683
|
-
"/branch/{branchId}/search/component-configurations",
|
|
2684
|
-
{ path: { branchId }, query },
|
|
2685
|
-
{ signal, queryArrayFormat: "comma" }
|
|
2686
|
-
);
|
|
2687
|
-
return data;
|
|
2688
|
-
};
|
|
2689
|
-
return {
|
|
2690
|
-
// components
|
|
2691
|
-
getComponent,
|
|
2692
|
-
getComponents,
|
|
2693
|
-
searchComponentConfigurations,
|
|
2694
|
-
// configurations
|
|
2695
|
-
createConfiguration,
|
|
2696
|
-
getConfiguration,
|
|
2697
|
-
deleteConfiguration,
|
|
2698
|
-
deleteConfigurations,
|
|
2699
|
-
getConfigurations,
|
|
2700
|
-
// configuration's rows
|
|
2701
|
-
createConfigurationRow,
|
|
2702
|
-
createConfigurationRows,
|
|
2703
|
-
deleteConfigurationRow,
|
|
2704
|
-
deleteConfigurationRows,
|
|
2705
|
-
// configuration's workspaces
|
|
2706
|
-
createConfigurationWorkspace,
|
|
2707
|
-
createConfigurationWorkspaceJob,
|
|
2708
|
-
getConfigurationWorkspaces
|
|
2709
|
-
};
|
|
2710
|
-
};
|
|
2711
|
-
|
|
2712
|
-
// src/clients/storage/events/events.ts
|
|
2713
|
-
var createEvents = (client) => {
|
|
2714
|
-
const getEvents = async (query, signal) => {
|
|
2715
|
-
const { data } = await client.get(
|
|
2716
|
-
"/events",
|
|
2717
|
-
{ query },
|
|
2718
|
-
{ signal }
|
|
2719
|
-
);
|
|
2720
|
-
return data;
|
|
2721
|
-
};
|
|
2722
|
-
const getEvent = async (eventId, signal) => {
|
|
2723
|
-
const { data } = await client.get(
|
|
2724
|
-
"/events/{eventId}",
|
|
2725
|
-
{
|
|
2726
|
-
path: { eventId }
|
|
2727
|
-
},
|
|
2728
|
-
{ signal }
|
|
2729
|
-
);
|
|
2730
|
-
return data;
|
|
2731
|
-
};
|
|
2732
|
-
const createEvent = async (body, signal) => {
|
|
2733
|
-
const { data } = await client.post(
|
|
2734
|
-
"/events",
|
|
2735
|
-
{
|
|
2736
|
-
body
|
|
2737
|
-
},
|
|
2738
|
-
{ signal }
|
|
2739
|
-
);
|
|
2740
|
-
return data;
|
|
2741
|
-
};
|
|
2742
|
-
return {
|
|
2743
|
-
getEvents,
|
|
2744
|
-
getEvent,
|
|
2745
|
-
createEvent
|
|
2746
|
-
};
|
|
2747
|
-
};
|
|
2748
|
-
|
|
2749
|
-
// src/clients/storage/files/files.ts
|
|
2750
|
-
var createFiles = (client) => {
|
|
2751
|
-
const getFile = async (fileId, signal) => {
|
|
2752
|
-
const { data } = await client.get(
|
|
2753
|
-
`/files/{fileId}`,
|
|
2754
|
-
{
|
|
2755
|
-
path: { fileId }
|
|
2756
|
-
},
|
|
2757
|
-
{ signal }
|
|
2758
|
-
);
|
|
2759
|
-
return data;
|
|
2760
|
-
};
|
|
2761
|
-
const getFiles = async (query, signal) => {
|
|
2762
|
-
const { data } = await client.get(
|
|
2763
|
-
"/files",
|
|
2764
|
-
{ query },
|
|
2765
|
-
{ signal, queryArrayFormat: "brackets" }
|
|
2766
|
-
);
|
|
2767
|
-
return data;
|
|
2768
|
-
};
|
|
2769
|
-
const deleteFile = async (fileId) => {
|
|
2770
|
-
const { data } = await client.delete(`/files/{fileId}`, {
|
|
2771
|
-
path: { fileId }
|
|
2772
|
-
});
|
|
2773
|
-
return data;
|
|
2774
|
-
};
|
|
2775
|
-
const addFileTag = async (fileId, tag) => {
|
|
2776
|
-
const { data } = await client.post(
|
|
2777
|
-
`/files/{fileId}/tags`,
|
|
2778
|
-
{
|
|
2779
|
-
path: { fileId },
|
|
2780
|
-
body: { tag }
|
|
2781
|
-
}
|
|
2782
|
-
);
|
|
2783
|
-
return data;
|
|
2784
|
-
};
|
|
2785
|
-
const getFileContent = async (fileId, signal) => {
|
|
2786
|
-
const { data } = await client.get(
|
|
2787
|
-
`/files/{fileId}/content`,
|
|
2788
|
-
{
|
|
2789
|
-
path: { fileId }
|
|
2790
|
-
},
|
|
2791
|
-
{ signal }
|
|
2792
|
-
);
|
|
2793
|
-
return typeof data === "string" ? data : JSON.stringify(data, null, 2);
|
|
2794
|
-
};
|
|
2795
|
-
const deleteFileTag = async (fileId, tag) => {
|
|
2796
|
-
const { data } = await client.delete(
|
|
2797
|
-
"/files/{fileId}/tags/{tag}",
|
|
2798
|
-
{
|
|
2799
|
-
path: { fileId, tag }
|
|
2800
|
-
}
|
|
2801
|
-
);
|
|
2802
|
-
return data;
|
|
2803
|
-
};
|
|
2804
|
-
const prepareFile = async (body, signal) => {
|
|
2805
|
-
const { data } = await client.post(
|
|
2806
|
-
"/files/prepare",
|
|
2807
|
-
{ body },
|
|
2808
|
-
{ signal }
|
|
2809
|
-
);
|
|
2810
|
-
return data;
|
|
2811
|
-
};
|
|
2812
|
-
return {
|
|
2813
|
-
getFile,
|
|
2814
|
-
getFileContent,
|
|
2815
|
-
getFiles,
|
|
2816
|
-
deleteFile,
|
|
2817
|
-
addFileTag,
|
|
2818
|
-
deleteFileTag,
|
|
2819
|
-
prepareFile
|
|
2820
|
-
};
|
|
2821
|
-
};
|
|
2822
|
-
|
|
2823
|
-
// src/clients/storage/jobs/jobs.ts
|
|
2824
|
-
var createJobs = (client) => {
|
|
2825
|
-
const getJob = async (id, signal) => {
|
|
2826
|
-
const { data } = await client.get(
|
|
2827
|
-
`/jobs/{id}`,
|
|
2828
|
-
{
|
|
2829
|
-
path: { id }
|
|
2830
|
-
},
|
|
2831
|
-
{ signal }
|
|
2832
|
-
);
|
|
2833
|
-
return data;
|
|
2834
|
-
};
|
|
2835
|
-
const getJobs = async (query, signal) => {
|
|
2836
|
-
const { data } = await client.get(
|
|
2837
|
-
"/jobs",
|
|
2838
|
-
{ query },
|
|
2839
|
-
{ signal, queryArrayFormat: "brackets" }
|
|
2840
|
-
);
|
|
2841
|
-
return data;
|
|
2842
|
-
};
|
|
2843
|
-
return { getJob, getJobs };
|
|
2844
|
-
};
|
|
2845
|
-
|
|
2846
|
-
// src/clients/storage/tables/tables.ts
|
|
2847
|
-
var createTables = (client) => {
|
|
2848
|
-
const getTables = async (query = { include: [] }, signal) => {
|
|
2849
|
-
const { data } = await client.get(
|
|
2850
|
-
`/tables`,
|
|
2851
|
-
{ query },
|
|
2852
|
-
{ signal, queryArrayFormat: "comma" }
|
|
2853
|
-
);
|
|
2854
|
-
return data;
|
|
2855
|
-
};
|
|
2856
|
-
const getTable = async (id, signal) => {
|
|
2857
|
-
const { data } = await client.get(
|
|
2858
|
-
`/tables/{id}`,
|
|
2859
|
-
{ path: { id } },
|
|
2860
|
-
{ signal }
|
|
2861
|
-
);
|
|
2862
|
-
return data;
|
|
2863
|
-
};
|
|
2864
|
-
const deleteTable = async (id, signal) => {
|
|
2865
|
-
await client.delete(`/tables/{id}`, { path: { id } }, { signal });
|
|
2866
|
-
};
|
|
2867
|
-
const deleteTables = async (ids) => {
|
|
2868
|
-
await concurrent({
|
|
2869
|
-
items: ids,
|
|
2870
|
-
process: (id) => deleteTable(id)
|
|
2871
|
-
});
|
|
2872
|
-
};
|
|
2873
|
-
const deleteTableRows = async (id, query, signal) => {
|
|
2874
|
-
const { data } = await client.delete(
|
|
2875
|
-
`/tables/{id}/rows`,
|
|
2876
|
-
{ path: { id }, query },
|
|
2877
|
-
{ signal }
|
|
2878
|
-
);
|
|
2879
|
-
return data;
|
|
2880
|
-
};
|
|
2881
|
-
const getDataPreview = async (id, query, signal) => {
|
|
2882
|
-
const { data } = await client.get(
|
|
2883
|
-
`/tables/{id}/data-preview`,
|
|
2884
|
-
{ path: { id }, query: { format: "json", ...query } },
|
|
2885
|
-
{ signal }
|
|
2886
|
-
);
|
|
2887
|
-
return data;
|
|
2888
|
-
};
|
|
2889
|
-
const exportAsync = async (tableId, body, signal) => {
|
|
2890
|
-
const { data } = await client.post(
|
|
2891
|
-
"/tables/{id}/export-async",
|
|
2892
|
-
{ path: { id: tableId }, body },
|
|
2893
|
-
{ signal }
|
|
2894
|
-
);
|
|
2895
|
-
return data;
|
|
2896
|
-
};
|
|
2897
|
-
const createTableAsync = async (bucketId, body, signal) => {
|
|
2898
|
-
const { data } = await client.post("/buckets/{bucketId}/tables-async", { path: { bucketId }, body }, { signal });
|
|
2899
|
-
return data;
|
|
2900
|
-
};
|
|
2901
|
-
const importAsync = async (tableId, body, signal) => {
|
|
2902
|
-
const { data } = await client.post(
|
|
2903
|
-
"/tables/{id}/import-async",
|
|
2904
|
-
{ path: { id: tableId }, body },
|
|
2905
|
-
{ signal }
|
|
2906
|
-
);
|
|
2907
|
-
return data;
|
|
2908
|
-
};
|
|
2909
|
-
return {
|
|
2910
|
-
getTables,
|
|
2911
|
-
getTable,
|
|
2912
|
-
getDataPreview,
|
|
2913
|
-
deleteTable,
|
|
2914
|
-
deleteTables,
|
|
2915
|
-
deleteTableRows,
|
|
2916
|
-
exportAsync,
|
|
2917
|
-
createTableAsync,
|
|
2918
|
-
importAsync
|
|
2919
|
-
};
|
|
2920
|
-
};
|
|
2921
|
-
|
|
2922
|
-
// src/clients/storage/tokens/tokens.ts
|
|
2923
|
-
var createTokens = (client) => {
|
|
2924
|
-
const verify = async (signal) => {
|
|
2925
|
-
const { data } = await client.get(
|
|
2926
|
-
"/tokens/verify",
|
|
2927
|
-
{},
|
|
2928
|
-
{ signal }
|
|
2929
|
-
);
|
|
2930
|
-
return data;
|
|
2931
|
-
};
|
|
2932
|
-
const refresh = async (id, signal) => {
|
|
2933
|
-
const { data } = await client.post(
|
|
2934
|
-
`/tokens/${id}/refresh`,
|
|
2935
|
-
{},
|
|
2936
|
-
{ signal }
|
|
2937
|
-
);
|
|
2938
|
-
return data;
|
|
2939
|
-
};
|
|
2940
|
-
return {
|
|
2941
|
-
verify,
|
|
2942
|
-
refresh
|
|
2943
|
-
};
|
|
2944
|
-
};
|
|
2945
|
-
|
|
2946
|
-
// src/clients/storage/workspaces/workspaces.ts
|
|
2947
|
-
var createWorkspaces = (client) => {
|
|
2948
|
-
const getWorkspaces = async (branchId, signal) => {
|
|
2949
|
-
const { data } = await client.get(
|
|
2950
|
-
"/branch/{branchId}/workspaces",
|
|
2951
|
-
{ path: { branchId } },
|
|
2952
|
-
{ signal }
|
|
2953
|
-
);
|
|
2954
|
-
return data;
|
|
2955
|
-
};
|
|
2956
|
-
const getWorkspace = async (path, signal) => {
|
|
2957
|
-
const { data } = await client.get(
|
|
2958
|
-
"/branch/{branchId}/workspaces/{workspaceId}",
|
|
2959
|
-
{ path },
|
|
2960
|
-
{ signal }
|
|
2961
|
-
);
|
|
2962
|
-
return data;
|
|
2963
|
-
};
|
|
2964
|
-
const deleteWorkspace = async (path) => {
|
|
2965
|
-
await client.delete(
|
|
2966
|
-
"/branch/{branchId}/workspaces/{workspaceId}",
|
|
2967
|
-
{ path }
|
|
2968
|
-
);
|
|
2969
|
-
};
|
|
2970
|
-
const deleteWorkspaces = async ({
|
|
2971
|
-
workspaceIds,
|
|
2972
|
-
branchId
|
|
2973
|
-
}) => {
|
|
2974
|
-
await concurrent({
|
|
2975
|
-
items: workspaceIds,
|
|
2976
|
-
process: async (workspaceId) => deleteWorkspace({ branchId, workspaceId }),
|
|
2977
|
-
concurrency: 5
|
|
2978
|
-
});
|
|
2979
|
-
};
|
|
2980
|
-
const deleteWorkspaceJob = async (path) => {
|
|
2981
|
-
const { data } = await client.delete(
|
|
2982
|
-
"/branch/{branchId}/workspaces/{workspaceId}",
|
|
2983
|
-
{ path, query: { async: true } },
|
|
2984
|
-
{}
|
|
2985
|
-
);
|
|
2986
|
-
return data;
|
|
2987
|
-
};
|
|
2988
|
-
const resetWorkspacePassword = async ({ branchId, workspaceId }) => {
|
|
2989
|
-
const { data } = await client.post(
|
|
2990
|
-
"/branch/{branchId}/workspaces/{workspaceId}/password",
|
|
2991
|
-
{
|
|
2992
|
-
path: { branchId, workspaceId }
|
|
2993
|
-
}
|
|
2994
|
-
);
|
|
2995
|
-
return data;
|
|
2996
|
-
};
|
|
2997
|
-
const getWorkspaceSaml2Login = async (path, signal) => {
|
|
2998
|
-
const { data } = await client.get(
|
|
2999
|
-
"/branch/{branchId}/workspaces/{workspaceId}/saml2-login",
|
|
3000
|
-
{ path },
|
|
3001
|
-
{ signal }
|
|
3002
|
-
);
|
|
3003
|
-
return data;
|
|
3004
|
-
};
|
|
3005
|
-
const setWorkspacePublicKey = async ({
|
|
3006
|
-
branchId,
|
|
3007
|
-
workspaceId,
|
|
3008
|
-
publicKey
|
|
3009
|
-
}) => {
|
|
3010
|
-
const { data } = await client.post("/branch/{branchId}/workspaces/{workspaceId}/public-key", {
|
|
3011
|
-
path: { branchId, workspaceId },
|
|
3012
|
-
body: { publicKey }
|
|
3013
|
-
});
|
|
3014
|
-
return data;
|
|
3015
|
-
};
|
|
3016
|
-
const getWorkspaceObjects = async (path, signal) => {
|
|
3017
|
-
const { data } = await client.get(
|
|
3018
|
-
"/branch/{branchId}/workspaces/{workspaceId}/objects",
|
|
3019
|
-
{ path },
|
|
3020
|
-
{ signal }
|
|
3021
|
-
);
|
|
3022
|
-
return data;
|
|
97
|
+
const createChat = async (request) => {
|
|
98
|
+
const { response } = await client.post("/api/chat", { body: request });
|
|
99
|
+
return response;
|
|
3023
100
|
};
|
|
3024
|
-
const
|
|
3025
|
-
|
|
3026
|
-
workspaceId,
|
|
3027
|
-
...body
|
|
3028
|
-
}) => {
|
|
3029
|
-
const { data } = await client.post("/branch/{branchId}/workspaces/{workspaceId}/objects/batch-delete", {
|
|
3030
|
-
path: { branchId, workspaceId },
|
|
3031
|
-
body
|
|
3032
|
-
});
|
|
101
|
+
const getVotes = async (chatId) => {
|
|
102
|
+
const { data } = await client.get("/api/vote", { query: { chatId } });
|
|
3033
103
|
return data;
|
|
3034
104
|
};
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
getWorkspaces,
|
|
3038
|
-
deleteWorkspace,
|
|
3039
|
-
resetWorkspacePassword,
|
|
3040
|
-
deleteWorkspaces,
|
|
3041
|
-
deleteWorkspaceJob,
|
|
3042
|
-
setWorkspacePublicKey,
|
|
3043
|
-
getWorkspaceSaml2Login,
|
|
3044
|
-
getWorkspaceObjects,
|
|
3045
|
-
deleteWorkspaceObjectsAsync
|
|
105
|
+
const submitVote = async (params) => {
|
|
106
|
+
await client.patch("/api/vote", { body: params });
|
|
3046
107
|
};
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
// src/clients/storage/storageClient.ts
|
|
3050
|
-
var createStorageClient = ({ baseUrl, middlewares = [] }) => {
|
|
3051
|
-
const storageBaseUrl = `${baseUrl}/v2/storage`;
|
|
3052
|
-
const client = createGenericFetchClient({
|
|
3053
|
-
baseUrl: storageBaseUrl,
|
|
3054
|
-
middlewares
|
|
3055
|
-
});
|
|
3056
|
-
const openApiClient = createOpenapiFetchClient({
|
|
3057
|
-
baseUrl,
|
|
3058
|
-
middlewares
|
|
3059
|
-
});
|
|
3060
|
-
const getStackInfo = async (query, signal) => {
|
|
3061
|
-
const { data } = await client.get(
|
|
3062
|
-
"",
|
|
3063
|
-
{ query },
|
|
3064
|
-
{ signal }
|
|
3065
|
-
);
|
|
108
|
+
const getUsage = async (signal) => {
|
|
109
|
+
const { data } = await client.get("/api/usage", {}, { signal });
|
|
3066
110
|
return data;
|
|
3067
111
|
};
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
events: createEvents(client),
|
|
3071
|
-
files: createFiles(client),
|
|
3072
|
-
tables: createTables(client),
|
|
3073
|
-
branches: createBranches(client),
|
|
3074
|
-
workspaces: createWorkspaces(client),
|
|
3075
|
-
mergeRequests: createMergeRequests(openApiClient),
|
|
3076
|
-
jobs: createJobs(client),
|
|
3077
|
-
componentsAndConfigurations: createComponentsAndConfigurations(client),
|
|
3078
|
-
configurationVersions: createConfigurationVersions(client),
|
|
3079
|
-
tokens: createTokens(client),
|
|
3080
|
-
getStackInfo
|
|
3081
|
-
};
|
|
3082
|
-
};
|
|
3083
|
-
|
|
3084
|
-
// src/clients/storage/storageTokenMiddleware.ts
|
|
3085
|
-
var isTokenRefreshEndpoint = (request) => {
|
|
3086
|
-
const url = new URL(request.url);
|
|
3087
|
-
return request.method === "POST" && /\/tokens\/[^/]+\/refresh$/.test(url.pathname);
|
|
3088
|
-
};
|
|
3089
|
-
var tryParseNewToken = (data) => {
|
|
3090
|
-
if (data === null || typeof data !== "object") return null;
|
|
3091
|
-
const token = data.token;
|
|
3092
|
-
return typeof token === "string" ? token : null;
|
|
3093
|
-
};
|
|
3094
|
-
var createStorageTokenMiddleware = (initialToken) => {
|
|
3095
|
-
let current = initialToken;
|
|
3096
|
-
return (next) => async (request) => {
|
|
3097
|
-
request.request.headers.set(KeboolaHttpHeader.STORAGE_API_TOKEN, current);
|
|
3098
|
-
const response = await next(request);
|
|
3099
|
-
if (isTokenRefreshEndpoint(request.request)) {
|
|
3100
|
-
const newToken = tryParseNewToken(response.data);
|
|
3101
|
-
if (newToken !== null) current = newToken;
|
|
3102
|
-
}
|
|
3103
|
-
return response;
|
|
112
|
+
const approveToolCall = async (chatId, body) => {
|
|
113
|
+
await client.post("/api/chat/{id}/approval", { path: { id: chatId }, body });
|
|
3104
114
|
};
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
// src/clients/syncActions/constants.ts
|
|
3108
|
-
var SyncAction = {
|
|
3109
|
-
DATA_APP_GIT_REPOSITORY: "git-repository",
|
|
3110
|
-
GIT_REPOSITORY: "gitRepository",
|
|
3111
|
-
ENROLL_MFA: "enrollMFA"
|
|
3112
|
-
};
|
|
3113
|
-
var Component = {
|
|
3114
|
-
DATA_APP: "keboola.data-apps"
|
|
3115
|
-
};
|
|
3116
|
-
var Author = z5__namespace.object({
|
|
3117
|
-
name: z5__namespace.string(),
|
|
3118
|
-
email: z5__namespace.email()
|
|
3119
|
-
});
|
|
3120
|
-
var RepositoryBranch = z5__namespace.object({
|
|
3121
|
-
sha: z5__namespace.string(),
|
|
3122
|
-
date: z5__namespace.string(),
|
|
3123
|
-
comment: z5__namespace.string(),
|
|
3124
|
-
branch: z5__namespace.string(),
|
|
3125
|
-
author: Author
|
|
3126
|
-
});
|
|
3127
|
-
var Repository = z5__namespace.object({
|
|
3128
|
-
repository: z5__namespace.object({
|
|
3129
|
-
url: z5__namespace.string()
|
|
3130
|
-
}),
|
|
3131
|
-
branches: z5__namespace.array(RepositoryBranch)
|
|
3132
|
-
});
|
|
3133
|
-
|
|
3134
|
-
// src/clients/syncActions/gitRepository/utils.ts
|
|
3135
|
-
var GitRepoConfigDataBuilder = class {
|
|
3136
|
-
repositoryUrl;
|
|
3137
|
-
config = {};
|
|
3138
|
-
constructor(repositoryUrl) {
|
|
3139
|
-
this.repositoryUrl = repositoryUrl;
|
|
3140
|
-
}
|
|
3141
|
-
withCredentials(username, password) {
|
|
3142
|
-
this.config.username = username;
|
|
3143
|
-
delete this.config["#sshKey"];
|
|
3144
|
-
this.config["#password"] = password;
|
|
3145
|
-
return this;
|
|
3146
|
-
}
|
|
3147
|
-
withSshKey(username, sshKey) {
|
|
3148
|
-
this.config.username = username;
|
|
3149
|
-
delete this.config["#password"];
|
|
3150
|
-
this.config["#sshKey"] = sshKey;
|
|
3151
|
-
return this;
|
|
3152
|
-
}
|
|
3153
|
-
build() {
|
|
3154
|
-
return {
|
|
3155
|
-
parameters: {
|
|
3156
|
-
git: {
|
|
3157
|
-
repo: this.repositoryUrl,
|
|
3158
|
-
...this.config
|
|
3159
|
-
}
|
|
3160
|
-
}
|
|
3161
|
-
};
|
|
3162
|
-
}
|
|
3163
|
-
buildForDataApp() {
|
|
3164
|
-
return {
|
|
3165
|
-
parameters: {
|
|
3166
|
-
dataApp: {
|
|
3167
|
-
git: {
|
|
3168
|
-
repository: this.repositoryUrl,
|
|
3169
|
-
...this.config
|
|
3170
|
-
}
|
|
3171
|
-
}
|
|
3172
|
-
}
|
|
3173
|
-
};
|
|
3174
|
-
}
|
|
3175
|
-
};
|
|
3176
|
-
var createGitRepoConfigDataBuilder = (repositoryUrl) => new GitRepoConfigDataBuilder(repositoryUrl);
|
|
3177
|
-
|
|
3178
|
-
// src/clients/syncActions/gitRepository/gitRepository.ts
|
|
3179
|
-
var createGitRepository = (sendSyncAction) => {
|
|
3180
|
-
const getDataAppPublicGitRepository = async ({ repositoryUrl, ...other }, signal) => {
|
|
3181
|
-
const data = await sendSyncAction(
|
|
3182
|
-
{
|
|
3183
|
-
...other,
|
|
3184
|
-
action: SyncAction.DATA_APP_GIT_REPOSITORY,
|
|
3185
|
-
componentId: Component.DATA_APP,
|
|
3186
|
-
configData: createGitRepoConfigDataBuilder(repositoryUrl).buildForDataApp()
|
|
3187
|
-
},
|
|
3188
|
-
signal
|
|
3189
|
-
);
|
|
3190
|
-
return Repository.parse(data);
|
|
115
|
+
const submitToolOutput = async (chatId, body) => {
|
|
116
|
+
await client.post("/api/chat/{id}/ui-tool-result", { path: { id: chatId }, body });
|
|
3191
117
|
};
|
|
3192
|
-
const
|
|
3193
|
-
const data = await
|
|
3194
|
-
|
|
3195
|
-
...other,
|
|
3196
|
-
action: SyncAction.DATA_APP_GIT_REPOSITORY,
|
|
3197
|
-
componentId: Component.DATA_APP,
|
|
3198
|
-
configData: createGitRepoConfigDataBuilder(repositoryUrl).withCredentials(username, password).buildForDataApp()
|
|
3199
|
-
},
|
|
3200
|
-
signal
|
|
3201
|
-
);
|
|
3202
|
-
return Repository.parse(data);
|
|
118
|
+
const stopChat = async (chatId) => {
|
|
119
|
+
const { data } = await client.post("/api/chat/{id}/stop", { path: { id: chatId } });
|
|
120
|
+
return data;
|
|
3203
121
|
};
|
|
3204
|
-
const
|
|
3205
|
-
const data = await
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
componentId: Component.DATA_APP,
|
|
3210
|
-
configData: createGitRepoConfigDataBuilder(repositoryUrl).withSshKey(username, sshKey).buildForDataApp()
|
|
3211
|
-
},
|
|
3212
|
-
signal
|
|
122
|
+
const getSuggestions = async (request, signal) => {
|
|
123
|
+
const { data } = await genericClient.post(
|
|
124
|
+
"/api/suggestions",
|
|
125
|
+
{ body: request },
|
|
126
|
+
{ signal }
|
|
3213
127
|
);
|
|
3214
|
-
|
|
128
|
+
const result = chunkU5SE6W5M_cjs.suggestionsApiResponseSchema.safeParse(data);
|
|
129
|
+
if (!result.success) {
|
|
130
|
+
throw new Error("Invalid suggestions response format");
|
|
131
|
+
}
|
|
132
|
+
return result.data;
|
|
3215
133
|
};
|
|
3216
|
-
const
|
|
3217
|
-
const data = await
|
|
3218
|
-
|
|
3219
|
-
|
|
3220
|
-
|
|
3221
|
-
|
|
3222
|
-
|
|
3223
|
-
},
|
|
3224
|
-
signal
|
|
3225
|
-
);
|
|
3226
|
-
return Repository.parse(data);
|
|
134
|
+
const getAgentSettings = async (signal) => {
|
|
135
|
+
const { data } = await genericClient.get("/api/settings", {}, { signal });
|
|
136
|
+
const result = agentSettingsSchema.safeParse(data);
|
|
137
|
+
if (!result.success) {
|
|
138
|
+
throw new Error("Invalid agent settings response format");
|
|
139
|
+
}
|
|
140
|
+
return result.data;
|
|
3227
141
|
};
|
|
3228
|
-
const
|
|
3229
|
-
const data = await
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
componentId,
|
|
3234
|
-
configData: createGitRepoConfigDataBuilder(repositoryUrl).withCredentials(username, password).build()
|
|
3235
|
-
},
|
|
3236
|
-
signal
|
|
142
|
+
const updateAgentSettings = async (request, signal) => {
|
|
143
|
+
const { data } = await genericClient.patch(
|
|
144
|
+
"/api/settings",
|
|
145
|
+
{ body: request },
|
|
146
|
+
{ signal }
|
|
3237
147
|
);
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
getDataAppSSHKeyPrivateGitRepository,
|
|
3244
|
-
getPublicGitRepository,
|
|
3245
|
-
getPrivateGitRepository
|
|
148
|
+
const result = agentSettingsSchema.safeParse(data);
|
|
149
|
+
if (!result.success) {
|
|
150
|
+
throw new Error("Invalid agent settings response format");
|
|
151
|
+
}
|
|
152
|
+
return result.data;
|
|
3246
153
|
};
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
return async (body, signal) => {
|
|
3252
|
-
const { data } = await client.post(
|
|
3253
|
-
"/actions",
|
|
3254
|
-
{
|
|
3255
|
-
body
|
|
3256
|
-
},
|
|
154
|
+
const getUserAgentSettings = async (signal) => {
|
|
155
|
+
const { data } = await genericClient.get(
|
|
156
|
+
"/api/settings/user",
|
|
157
|
+
{},
|
|
3257
158
|
{ signal }
|
|
3258
159
|
);
|
|
3259
|
-
|
|
160
|
+
const result = userAgentSettingsSchema.safeParse(data);
|
|
161
|
+
if (!result.success) {
|
|
162
|
+
throw new Error("Invalid user agent settings response format");
|
|
163
|
+
}
|
|
164
|
+
return result.data;
|
|
3260
165
|
};
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
});
|
|
3267
|
-
const sendSyncAction = createSendSyncAction(client);
|
|
3268
|
-
const enrollMFA = ({ email: email2, ...rest }, signal) => {
|
|
3269
|
-
return sendSyncAction(
|
|
3270
|
-
{
|
|
3271
|
-
...rest,
|
|
3272
|
-
action: SyncAction.ENROLL_MFA,
|
|
3273
|
-
configData: {
|
|
3274
|
-
parameters: {
|
|
3275
|
-
user: {
|
|
3276
|
-
email: email2
|
|
3277
|
-
}
|
|
3278
|
-
}
|
|
3279
|
-
}
|
|
3280
|
-
},
|
|
3281
|
-
signal
|
|
166
|
+
const updateUserAgentSettings = async (request, signal) => {
|
|
167
|
+
const { data } = await genericClient.patch(
|
|
168
|
+
"/api/settings/user",
|
|
169
|
+
{ body: request },
|
|
170
|
+
{ signal }
|
|
3282
171
|
);
|
|
172
|
+
const result = userAgentSettingsSchema.safeParse(data);
|
|
173
|
+
if (!result.success) {
|
|
174
|
+
throw new Error("Invalid user agent settings response format");
|
|
175
|
+
}
|
|
176
|
+
return result.data;
|
|
3283
177
|
};
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
};
|
|
3289
|
-
|
|
3290
|
-
// src/clients/telemetry/provisioning/provisioning.ts
|
|
3291
|
-
var createProvisioning = (client) => {
|
|
3292
|
-
const createCredentials = async (body, signal) => {
|
|
3293
|
-
const { data } = await client.post(
|
|
3294
|
-
"/provisioning/workspace",
|
|
3295
|
-
{ body },
|
|
178
|
+
const getToolsList = async (signal) => {
|
|
179
|
+
const { data } = await genericClient.get(
|
|
180
|
+
"/api/settings/tools",
|
|
181
|
+
{},
|
|
3296
182
|
{ signal }
|
|
3297
183
|
);
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
};
|
|
3304
|
-
|
|
3305
|
-
// src/clients/telemetry/telemetryClient.ts
|
|
3306
|
-
var createTelemetryClient = ({ baseUrl, middlewares }) => {
|
|
3307
|
-
const client = createGenericFetchClient({
|
|
3308
|
-
baseUrl,
|
|
3309
|
-
middlewares
|
|
3310
|
-
});
|
|
3311
|
-
return {
|
|
3312
|
-
provisioning: createProvisioning(client)
|
|
184
|
+
const result = toolsListResponseSchema.safeParse(data);
|
|
185
|
+
if (!result.success) {
|
|
186
|
+
throw new Error("Invalid tools list response format");
|
|
187
|
+
}
|
|
188
|
+
return result.data;
|
|
3313
189
|
};
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
baseUrl,
|
|
3320
|
-
middlewares
|
|
3321
|
-
});
|
|
3322
|
-
const getVariables = async (query, signal) => {
|
|
3323
|
-
const { data } = await client.get(
|
|
3324
|
-
"/variables",
|
|
3325
|
-
{ query },
|
|
3326
|
-
{
|
|
3327
|
-
signal
|
|
3328
|
-
}
|
|
190
|
+
const listSandboxFiles = async (chatId, path, signal) => {
|
|
191
|
+
const { data } = await genericClient.get(
|
|
192
|
+
`/api/chat/${encodeURIComponent(chatId)}/sandbox/files`,
|
|
193
|
+
{ query: path ? { path } : void 0 },
|
|
194
|
+
{ signal }
|
|
3329
195
|
);
|
|
3330
|
-
|
|
196
|
+
const result = sandboxFileListingSchema.safeParse(data);
|
|
197
|
+
if (!result.success) {
|
|
198
|
+
throw new Error("Invalid sandbox files response format");
|
|
199
|
+
}
|
|
200
|
+
return result.data;
|
|
3331
201
|
};
|
|
3332
|
-
const
|
|
3333
|
-
await
|
|
3334
|
-
|
|
3335
|
-
{
|
|
3336
|
-
path: { hash }
|
|
3337
|
-
},
|
|
202
|
+
const readSandboxFile = async (chatId, path, signal) => {
|
|
203
|
+
const { data } = await genericClient.get(
|
|
204
|
+
`/api/chat/${encodeURIComponent(chatId)}/sandbox/file`,
|
|
205
|
+
{ query: { path } },
|
|
3338
206
|
{ signal }
|
|
3339
207
|
);
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
throw new UserError("Encryption of a value failed. Please contact our support.");
|
|
208
|
+
const result = sandboxFileContentSchema.safeParse(data);
|
|
209
|
+
if (!result.success) {
|
|
210
|
+
throw new Error("Invalid sandbox file response format");
|
|
3344
211
|
}
|
|
3345
|
-
|
|
3346
|
-
return data;
|
|
212
|
+
return result.data;
|
|
3347
213
|
};
|
|
3348
|
-
const
|
|
3349
|
-
const { data } = await
|
|
3350
|
-
|
|
3351
|
-
{
|
|
3352
|
-
path: { branchId }
|
|
3353
|
-
},
|
|
214
|
+
const getSandboxGitBranch = async (chatId, signal) => {
|
|
215
|
+
const { data } = await genericClient.get(
|
|
216
|
+
`/api/chat/${encodeURIComponent(chatId)}/sandbox/git-branch`,
|
|
217
|
+
{},
|
|
3354
218
|
{ signal }
|
|
3355
219
|
);
|
|
3356
|
-
|
|
220
|
+
const result = sandboxGitBranchSchema.safeParse(data);
|
|
221
|
+
if (!result.success) {
|
|
222
|
+
throw new Error("Invalid sandbox git-branch response format");
|
|
223
|
+
}
|
|
224
|
+
return result.data;
|
|
3357
225
|
};
|
|
3358
|
-
const
|
|
226
|
+
const chatStreamUrl = clientOptions.baseUrl + "/api/chat";
|
|
3359
227
|
return {
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
228
|
+
getHistory,
|
|
229
|
+
getChat,
|
|
230
|
+
deleteChat,
|
|
231
|
+
createChat,
|
|
232
|
+
getVotes,
|
|
233
|
+
submitVote,
|
|
234
|
+
getUsage,
|
|
235
|
+
approveToolCall,
|
|
236
|
+
submitToolOutput,
|
|
237
|
+
stopChat,
|
|
238
|
+
getSuggestions,
|
|
239
|
+
getAgentSettings,
|
|
240
|
+
updateAgentSettings,
|
|
241
|
+
getUserAgentSettings,
|
|
242
|
+
updateUserAgentSettings,
|
|
243
|
+
getToolsList,
|
|
244
|
+
listSandboxFiles,
|
|
245
|
+
readSandboxFile,
|
|
246
|
+
getSandboxGitBranch,
|
|
247
|
+
chatStreamUrl
|
|
3365
248
|
};
|
|
3366
249
|
};
|
|
3367
250
|
|
|
3368
|
-
// src/
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
if (feature.length === 0) return false;
|
|
3375
|
-
return feature.every((x) => projectFeatureSet.has(x));
|
|
3376
|
-
};
|
|
3377
|
-
const hasAdminFeature = (...feature) => {
|
|
3378
|
-
if (feature.length === 0) return false;
|
|
3379
|
-
return feature.every((x) => adminFeatureSet.has(x));
|
|
3380
|
-
};
|
|
3381
|
-
const hasBackend = (backend) => {
|
|
3382
|
-
if (backend === "bigquery") return owner.hasBigquery;
|
|
3383
|
-
if (backend === "snowflake") return owner.hasSnowflake;
|
|
3384
|
-
return false;
|
|
3385
|
-
};
|
|
3386
|
-
return {
|
|
3387
|
-
hasFeature,
|
|
3388
|
-
hasAdminFeature,
|
|
3389
|
-
hasBackend,
|
|
3390
|
-
sapiToken
|
|
3391
|
-
};
|
|
3392
|
-
};
|
|
251
|
+
// src/utils/assert.ts
|
|
252
|
+
function assert(value, message) {
|
|
253
|
+
if (value == null) {
|
|
254
|
+
throw new Error(message);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
3393
257
|
|
|
3394
258
|
// src/domain/stack.ts
|
|
3395
259
|
var SERVICE_URL_OVERRIDES = {
|
|
@@ -3433,189 +297,6 @@ var createStack = ({ stackInfo, clientServiceUrls }) => {
|
|
|
3433
297
|
};
|
|
3434
298
|
};
|
|
3435
299
|
|
|
3436
|
-
// src/sdks/storage/storageSdk.ts
|
|
3437
|
-
var DEFAULT_POLL_INTERVAL = 2e3;
|
|
3438
|
-
var JOB_TERMINAL_STATUSES = /* @__PURE__ */ new Set(["success", "warning", "error", "terminated", "cancelled"]);
|
|
3439
|
-
var createStorageSdk = ({ storageClient }) => {
|
|
3440
|
-
const waitForJob = async (job, options) => {
|
|
3441
|
-
const { data } = await poll({
|
|
3442
|
-
pollFn: (abortSignal) => storageClient.jobs.getJob(job.id, abortSignal),
|
|
3443
|
-
isDone: (j) => JOB_TERMINAL_STATUSES.has(j.status),
|
|
3444
|
-
interval: options?.interval ?? DEFAULT_POLL_INTERVAL,
|
|
3445
|
-
maxAttempts: options?.maxAttempts,
|
|
3446
|
-
abortSignal: options?.abortSignal
|
|
3447
|
-
});
|
|
3448
|
-
return data;
|
|
3449
|
-
};
|
|
3450
|
-
const createTable = async (bucketId, body, options) => {
|
|
3451
|
-
const job = await storageClient.tables.createTableAsync(bucketId, body, options?.abortSignal);
|
|
3452
|
-
return waitForJob(job, options);
|
|
3453
|
-
};
|
|
3454
|
-
const importFromFile = async (tableId, body, options) => {
|
|
3455
|
-
const job = await storageClient.tables.importAsync(tableId, body, options?.abortSignal);
|
|
3456
|
-
return waitForJob(job, options);
|
|
3457
|
-
};
|
|
3458
|
-
const exportToFile = async (tableId, body, options) => {
|
|
3459
|
-
const job = await storageClient.tables.exportAsync(tableId, body, options?.abortSignal);
|
|
3460
|
-
return waitForJob(job, options);
|
|
3461
|
-
};
|
|
3462
|
-
return {
|
|
3463
|
-
createTable,
|
|
3464
|
-
importFromFile,
|
|
3465
|
-
exportToFile
|
|
3466
|
-
};
|
|
3467
|
-
};
|
|
3468
|
-
|
|
3469
|
-
// src/sdks/tag/tagSdk.ts
|
|
3470
|
-
var ObjectType = {
|
|
3471
|
-
TAG: "tag",
|
|
3472
|
-
TAG_BINDING: "tag-binding"
|
|
3473
|
-
};
|
|
3474
|
-
var createTagSdk = ({ metastoreClient }) => {
|
|
3475
|
-
const _getTagMetaObjects = async (type, signal) => {
|
|
3476
|
-
const response = await metastoreClient.repository.getMetaObjects(
|
|
3477
|
-
{
|
|
3478
|
-
objectType: type
|
|
3479
|
-
},
|
|
3480
|
-
signal
|
|
3481
|
-
);
|
|
3482
|
-
return response.data.map(({ attributes }) => attributes);
|
|
3483
|
-
};
|
|
3484
|
-
const _getAllTagBindingMapByTagId = async (signal) => {
|
|
3485
|
-
const tagBindings = await _getTagMetaObjects(ObjectType.TAG_BINDING, signal);
|
|
3486
|
-
return Object.groupBy(tagBindings, (binding) => binding.data.tagUUID);
|
|
3487
|
-
};
|
|
3488
|
-
const _getTagBindingMapByTagId = async (tagUUIDs, objectId, signal) => {
|
|
3489
|
-
const tagBindingMapByTagId = await _getAllTagBindingMapByTagId(signal);
|
|
3490
|
-
const objectUID = keboolaUID.serialize(objectId);
|
|
3491
|
-
return tagUUIDs.reduce((acc, tagUUID) => {
|
|
3492
|
-
if (acc[tagUUID]) return acc;
|
|
3493
|
-
const tagBindings = tagBindingMapByTagId[tagUUID] ?? [];
|
|
3494
|
-
acc[tagUUID] = tagBindings.find((binding) => binding.data.objectUID === objectUID) ?? null;
|
|
3495
|
-
return acc;
|
|
3496
|
-
}, {});
|
|
3497
|
-
};
|
|
3498
|
-
const _deleteTagBindings = async (tagBindings) => {
|
|
3499
|
-
await concurrent({
|
|
3500
|
-
items: tagBindings,
|
|
3501
|
-
process: async (binding) => metastoreClient.repository.deleteMetaObject({
|
|
3502
|
-
objectType: ObjectType.TAG_BINDING,
|
|
3503
|
-
UUID: binding.uuid
|
|
3504
|
-
}),
|
|
3505
|
-
concurrency: 5
|
|
3506
|
-
});
|
|
3507
|
-
};
|
|
3508
|
-
const getTags = async (signal) => {
|
|
3509
|
-
const [tags, tagBindingMapByTagId] = await Promise.all([
|
|
3510
|
-
_getTagMetaObjects(ObjectType.TAG, signal),
|
|
3511
|
-
_getAllTagBindingMapByTagId(signal)
|
|
3512
|
-
]);
|
|
3513
|
-
return tags.map((tag) => ({
|
|
3514
|
-
tag,
|
|
3515
|
-
bindings: tagBindingMapByTagId[tag.uuid] ?? []
|
|
3516
|
-
}));
|
|
3517
|
-
};
|
|
3518
|
-
const getTagsByObjectId = async (objectId, signal) => {
|
|
3519
|
-
const tags = await getTags(signal);
|
|
3520
|
-
const keboolaObjectUID = keboolaUID.serialize(objectId);
|
|
3521
|
-
const mapByTagId = tags.reduce((acc, { tag, bindings }) => {
|
|
3522
|
-
acc[tag.uuid] = new Set(bindings.map((binding) => binding.data.objectUID));
|
|
3523
|
-
return acc;
|
|
3524
|
-
}, {});
|
|
3525
|
-
return tags.filter(({ tag }) => mapByTagId[tag.uuid]?.has(keboolaObjectUID));
|
|
3526
|
-
};
|
|
3527
|
-
const createTag = async (data, meta = {}) => {
|
|
3528
|
-
const {
|
|
3529
|
-
data: { attributes: tag }
|
|
3530
|
-
} = await metastoreClient.repository.createMetaObject({
|
|
3531
|
-
objectType: ObjectType.TAG,
|
|
3532
|
-
data,
|
|
3533
|
-
name: generateUUID(),
|
|
3534
|
-
...meta
|
|
3535
|
-
});
|
|
3536
|
-
return tag;
|
|
3537
|
-
};
|
|
3538
|
-
const updateTag = async (tagUUID, data, meta = {}) => {
|
|
3539
|
-
const {
|
|
3540
|
-
data: { attributes: tag }
|
|
3541
|
-
} = await metastoreClient.repository.updateMetaObject({
|
|
3542
|
-
objectType: ObjectType.TAG,
|
|
3543
|
-
UUID: tagUUID,
|
|
3544
|
-
data,
|
|
3545
|
-
...meta
|
|
3546
|
-
});
|
|
3547
|
-
return tag;
|
|
3548
|
-
};
|
|
3549
|
-
const deleteTag = async (tagUUID) => {
|
|
3550
|
-
const allBindings = await _getTagMetaObjects(ObjectType.TAG_BINDING);
|
|
3551
|
-
const tagBindings = allBindings.filter(({ data }) => data.tagUUID === tagUUID);
|
|
3552
|
-
await Promise.all([
|
|
3553
|
-
// delete tag itself
|
|
3554
|
-
metastoreClient.repository.deleteMetaObject({
|
|
3555
|
-
objectType: ObjectType.TAG,
|
|
3556
|
-
UUID: tagUUID
|
|
3557
|
-
}),
|
|
3558
|
-
// delete all tag associations
|
|
3559
|
-
_deleteTagBindings(tagBindings)
|
|
3560
|
-
]);
|
|
3561
|
-
};
|
|
3562
|
-
const assignTags = async (tagUUIDs, objectId, meta = {}) => {
|
|
3563
|
-
const tagBindingMapByTagId = await _getTagBindingMapByTagId(tagUUIDs, objectId);
|
|
3564
|
-
const unassignedTagUUIDs = tagUUIDs.filter((tagUUID) => tagBindingMapByTagId[tagUUID] === null);
|
|
3565
|
-
await concurrent({
|
|
3566
|
-
items: unassignedTagUUIDs,
|
|
3567
|
-
process: async (tagUUID) => metastoreClient.repository.createMetaObject({
|
|
3568
|
-
objectType: ObjectType.TAG_BINDING,
|
|
3569
|
-
data: {
|
|
3570
|
-
objectUID: keboolaUID.serialize(objectId),
|
|
3571
|
-
tagUUID
|
|
3572
|
-
},
|
|
3573
|
-
name: generateUUID(),
|
|
3574
|
-
...meta
|
|
3575
|
-
}),
|
|
3576
|
-
concurrency: 5
|
|
3577
|
-
});
|
|
3578
|
-
};
|
|
3579
|
-
const unassignTags = async (tagUUIDs, objectID) => {
|
|
3580
|
-
const tagBindingMapByTagId = await _getTagBindingMapByTagId(tagUUIDs, objectID);
|
|
3581
|
-
const assignedTagUUIDs = tagUUIDs.filter((tagUUID) => tagBindingMapByTagId[tagUUID] !== null);
|
|
3582
|
-
const tagBindings = assignedTagUUIDs.map((tagUUID) => tagBindingMapByTagId[tagUUID]);
|
|
3583
|
-
await concurrent({
|
|
3584
|
-
items: tagBindings,
|
|
3585
|
-
process: async (tagBinding) => metastoreClient.repository.deleteMetaObject({
|
|
3586
|
-
objectType: ObjectType.TAG_BINDING,
|
|
3587
|
-
UUID: tagBinding.uuid
|
|
3588
|
-
}),
|
|
3589
|
-
concurrency: 5
|
|
3590
|
-
});
|
|
3591
|
-
};
|
|
3592
|
-
const unassignAllTags = async (objectID, signal) => {
|
|
3593
|
-
const tagBindings = await _getTagMetaObjects(ObjectType.TAG_BINDING, signal);
|
|
3594
|
-
const objectsTagBindings = tagBindings.filter(
|
|
3595
|
-
({ data }) => data.objectUID === keboolaUID.serialize(objectID)
|
|
3596
|
-
);
|
|
3597
|
-
await _deleteTagBindings(objectsTagBindings);
|
|
3598
|
-
};
|
|
3599
|
-
const createAndAssignTag = async (data, objectId, meta = {}) => {
|
|
3600
|
-
const tag = await createTag(data, meta);
|
|
3601
|
-
await assignTags([tag.uuid], objectId, meta);
|
|
3602
|
-
return tag;
|
|
3603
|
-
};
|
|
3604
|
-
return {
|
|
3605
|
-
// retrievals
|
|
3606
|
-
getTags,
|
|
3607
|
-
getTagsByObjectId,
|
|
3608
|
-
// modifications
|
|
3609
|
-
createTag,
|
|
3610
|
-
updateTag,
|
|
3611
|
-
deleteTag,
|
|
3612
|
-
assignTags,
|
|
3613
|
-
unassignTags,
|
|
3614
|
-
unassignAllTags,
|
|
3615
|
-
createAndAssignTag
|
|
3616
|
-
};
|
|
3617
|
-
};
|
|
3618
|
-
|
|
3619
300
|
// src/serviceClientRegistry/utils.ts
|
|
3620
301
|
var isBuiltInProperty = (property) => typeof property === "symbol" || property === "then" || property === "constructor" || property === "toString" || property === "valueOf";
|
|
3621
302
|
var createDummyClient = ({
|
|
@@ -3675,14 +356,14 @@ var createClients = async ({
|
|
|
3675
356
|
clientServiceUrls,
|
|
3676
357
|
storageMiddlewares
|
|
3677
358
|
}) => {
|
|
3678
|
-
const callbackMiddleware = createCallbackMiddleware(callbacks);
|
|
3679
|
-
const storageTokenMiddleware = createStorageTokenMiddleware(token.storageApi);
|
|
359
|
+
const callbackMiddleware = chunkHPVTVQBJ_cjs.createCallbackMiddleware(callbacks);
|
|
360
|
+
const storageTokenMiddleware = chunk345V46LR_cjs.createStorageTokenMiddleware(token.storageApi);
|
|
3680
361
|
const commonMiddlewares = [callbackMiddleware, storageTokenMiddleware];
|
|
3681
|
-
const storage = createStorageClient({
|
|
362
|
+
const storage = chunk345V46LR_cjs.createStorageClient({
|
|
3682
363
|
baseUrl,
|
|
3683
364
|
middlewares: [...commonMiddlewares, ...storageMiddlewares || []]
|
|
3684
365
|
});
|
|
3685
|
-
const management = createManagementClient({
|
|
366
|
+
const management = chunkJKFIB6SQ_cjs.createManagementClient({
|
|
3686
367
|
baseUrl,
|
|
3687
368
|
token: token.managementApi,
|
|
3688
369
|
callbacks
|
|
@@ -3694,7 +375,7 @@ var createClients = async ({
|
|
|
3694
375
|
storage.tokens.verify()
|
|
3695
376
|
]);
|
|
3696
377
|
const stack = createStack({ stackInfo, clientServiceUrls });
|
|
3697
|
-
const project = createProject({ sapiToken });
|
|
378
|
+
const project = chunkGF4XZK5N_cjs.createProject({ sapiToken });
|
|
3698
379
|
const { client, meta } = createServiceClientRegistry()({
|
|
3699
380
|
getServiceBaseUrl: (serviceId) => stack.getServiceUrl(serviceId),
|
|
3700
381
|
onUnavailable: ({ serviceId, path, clientName }) => {
|
|
@@ -3704,47 +385,47 @@ var createClients = async ({
|
|
|
3704
385
|
{
|
|
3705
386
|
serviceId: "vault",
|
|
3706
387
|
clientName: "vault",
|
|
3707
|
-
clientFn: (serviceBaseUrl) => createVaultClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
388
|
+
clientFn: (serviceBaseUrl) => chunkYUEYMIMI_cjs.createVaultClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
3708
389
|
},
|
|
3709
390
|
{
|
|
3710
391
|
serviceId: "data-science",
|
|
3711
392
|
clientName: "dataScience",
|
|
3712
|
-
clientFn: (serviceBaseUrl) => createDataScienceClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
393
|
+
clientFn: (serviceBaseUrl) => chunkHYUGRMCY_cjs.createDataScienceClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
3713
394
|
},
|
|
3714
395
|
{
|
|
3715
396
|
serviceId: "encryption",
|
|
3716
397
|
clientName: "encryption",
|
|
3717
|
-
clientFn: (serviceBaseUrl) => createEncryptionClient({ baseUrl: serviceBaseUrl, middlewares: [callbackMiddleware] })
|
|
398
|
+
clientFn: (serviceBaseUrl) => chunkHCNNMUTR_cjs.createEncryptionClient({ baseUrl: serviceBaseUrl, middlewares: [callbackMiddleware] })
|
|
3718
399
|
},
|
|
3719
400
|
{
|
|
3720
401
|
serviceId: "editor",
|
|
3721
402
|
clientName: "editor",
|
|
3722
|
-
clientFn: (serviceBaseUrl) => createEditorClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
403
|
+
clientFn: (serviceBaseUrl) => chunkTIIRBQUA_cjs.createEditorClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
3723
404
|
},
|
|
3724
405
|
{
|
|
3725
406
|
serviceId: "sync-actions",
|
|
3726
407
|
clientName: "syncActions",
|
|
3727
|
-
clientFn: (serviceBaseUrl) => createSyncActionsClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
408
|
+
clientFn: (serviceBaseUrl) => chunkXUDMML5C_cjs.createSyncActionsClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
3728
409
|
},
|
|
3729
410
|
{
|
|
3730
411
|
serviceId: "telemetry",
|
|
3731
412
|
clientName: "telemetry",
|
|
3732
|
-
clientFn: (serviceBaseUrl) => createTelemetryClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
413
|
+
clientFn: (serviceBaseUrl) => chunkBGLICNTG_cjs.createTelemetryClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
3733
414
|
},
|
|
3734
415
|
{
|
|
3735
416
|
serviceId: "query",
|
|
3736
417
|
clientName: "queryService",
|
|
3737
|
-
clientFn: (serviceBaseUrl) => createQueryServiceClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
418
|
+
clientFn: (serviceBaseUrl) => chunkLZ6A6J2E_cjs.createQueryServiceClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
3738
419
|
},
|
|
3739
420
|
{
|
|
3740
421
|
serviceId: "queue",
|
|
3741
422
|
clientName: "queue",
|
|
3742
|
-
clientFn: (serviceBaseUrl) => createQueueClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
423
|
+
clientFn: (serviceBaseUrl) => chunkYXCVNX2Q_cjs.createQueueClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
3743
424
|
},
|
|
3744
425
|
{
|
|
3745
426
|
serviceId: "kai-assistant",
|
|
3746
427
|
clientName: "chat",
|
|
3747
|
-
clientFn: (serviceBaseUrl) => createChatClient({
|
|
428
|
+
clientFn: (serviceBaseUrl) => chunk6RQDX6JY_cjs.createChatClient({
|
|
3748
429
|
storageApiUrl: baseUrl,
|
|
3749
430
|
baseUrl: serviceBaseUrl,
|
|
3750
431
|
middlewares: commonMiddlewares
|
|
@@ -3753,12 +434,12 @@ var createClients = async ({
|
|
|
3753
434
|
{
|
|
3754
435
|
serviceId: "ai",
|
|
3755
436
|
clientName: "ai",
|
|
3756
|
-
clientFn: (serviceBaseUrl) => createAiClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
437
|
+
clientFn: (serviceBaseUrl) => chunkJLNOESHX_cjs.createAiClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
3757
438
|
},
|
|
3758
439
|
{
|
|
3759
440
|
serviceId: "import",
|
|
3760
441
|
clientName: "import",
|
|
3761
|
-
clientFn: (serviceBaseUrl) => createImportClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
442
|
+
clientFn: (serviceBaseUrl) => chunk3T54WH4X_cjs.createImportClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
3762
443
|
},
|
|
3763
444
|
{
|
|
3764
445
|
serviceId: "kai-agent",
|
|
@@ -3771,26 +452,26 @@ var createClients = async ({
|
|
|
3771
452
|
{
|
|
3772
453
|
serviceId: "oauth",
|
|
3773
454
|
clientName: "oauth",
|
|
3774
|
-
clientFn: (serviceBaseUrl) => createOauthClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
455
|
+
clientFn: (serviceBaseUrl) => chunk633QJMHH_cjs.createOauthClient({ baseUrl: serviceBaseUrl, middlewares: commonMiddlewares })
|
|
3775
456
|
}
|
|
3776
457
|
]
|
|
3777
458
|
});
|
|
3778
|
-
const metastore = createMetastoreClient({
|
|
459
|
+
const metastore = chunkIY3VNVXD_cjs.createMetastoreClient({
|
|
3779
460
|
baseUrl: metastoreBaseUrl,
|
|
3780
461
|
middlewares: commonMiddlewares
|
|
3781
462
|
});
|
|
3782
|
-
const assets = createAssetsClient({
|
|
463
|
+
const assets = chunkEY5LALX2_cjs.createAssetsClient({
|
|
3783
464
|
baseUrl: assetsBaseUrl,
|
|
3784
465
|
middlewares: [callbackMiddleware]
|
|
3785
466
|
});
|
|
3786
|
-
const status = createStatusClient({
|
|
467
|
+
const status = chunkYPCD7M2N_cjs.createStatusClient({
|
|
3787
468
|
baseUrl: statusBaseUrl,
|
|
3788
469
|
middlewares: [callbackMiddleware]
|
|
3789
470
|
});
|
|
3790
|
-
const tag = createTagSdk({
|
|
471
|
+
const tag = chunkBR3SBEFE_cjs.createTagSdk({
|
|
3791
472
|
metastoreClient: metastore
|
|
3792
473
|
});
|
|
3793
|
-
const storageSdk = createStorageSdk({
|
|
474
|
+
const storageSdk = chunkDCTDH77P_cjs.createStorageSdk({
|
|
3794
475
|
storageClient: storage
|
|
3795
476
|
});
|
|
3796
477
|
return {
|
|
@@ -3831,8 +512,8 @@ var createApiClient = () => {
|
|
|
3831
512
|
// src/middlewares/loggingMiddleware.ts
|
|
3832
513
|
var CORRELATION_ID_HEADER = "X-Correlation-ID";
|
|
3833
514
|
var ALWAYS_REDACTED_HEADERS = [
|
|
3834
|
-
KeboolaHttpHeader.MANAGEMENT_API_TOKEN,
|
|
3835
|
-
KeboolaHttpHeader.STORAGE_API_TOKEN
|
|
515
|
+
chunkHPVTVQBJ_cjs.KeboolaHttpHeader.MANAGEMENT_API_TOKEN,
|
|
516
|
+
chunkHPVTVQBJ_cjs.KeboolaHttpHeader.STORAGE_API_TOKEN
|
|
3836
517
|
];
|
|
3837
518
|
var ALWAYS_REDACTED_QUERY_PARAMS = /* @__PURE__ */ new Set([
|
|
3838
519
|
"token",
|
|
@@ -3863,7 +544,7 @@ var getRedactedUrl = (rawUrl) => {
|
|
|
3863
544
|
return url.toString();
|
|
3864
545
|
};
|
|
3865
546
|
var ensureCorrelationId = (request) => {
|
|
3866
|
-
const correlationId = request.headers.get(CORRELATION_ID_HEADER) ?? generateUUID();
|
|
547
|
+
const correlationId = request.headers.get(CORRELATION_ID_HEADER) ?? chunkBR3SBEFE_cjs.generateUUID();
|
|
3867
548
|
request.headers.set(CORRELATION_ID_HEADER, correlationId);
|
|
3868
549
|
return correlationId;
|
|
3869
550
|
};
|
|
@@ -3942,13 +623,13 @@ var createLoggingMiddleware = (options = {}) => {
|
|
|
3942
623
|
// src/middlewares/retryMiddleware.ts
|
|
3943
624
|
var DEFAULT_MAX_RETRIES = 5;
|
|
3944
625
|
var DEFAULT_RETRYABLE_STATUSES = [
|
|
3945
|
-
HttpStatus.INTERNAL_SERVER_ERROR,
|
|
3946
|
-
HttpStatus.BAD_GATEWAY,
|
|
3947
|
-
HttpStatus.SERVICE_UNAVAILABLE,
|
|
3948
|
-
HttpStatus.GATEWAY_TIMEOUT
|
|
626
|
+
chunkHPVTVQBJ_cjs.HttpStatus.INTERNAL_SERVER_ERROR,
|
|
627
|
+
chunkHPVTVQBJ_cjs.HttpStatus.BAD_GATEWAY,
|
|
628
|
+
chunkHPVTVQBJ_cjs.HttpStatus.SERVICE_UNAVAILABLE,
|
|
629
|
+
chunkHPVTVQBJ_cjs.HttpStatus.GATEWAY_TIMEOUT
|
|
3949
630
|
];
|
|
3950
631
|
var DEFAULT_BACKOFF_FACTOR = 0.3;
|
|
3951
|
-
var defaultShouldRetry = (error) => error instanceof ApiError && DEFAULT_RETRYABLE_STATUSES.includes(error.response.status);
|
|
632
|
+
var defaultShouldRetry = (error) => error instanceof chunkHPVTVQBJ_cjs.ApiError && DEFAULT_RETRYABLE_STATUSES.includes(error.response.status);
|
|
3952
633
|
var createRetryMiddleware = (options) => {
|
|
3953
634
|
const {
|
|
3954
635
|
maxRetries = DEFAULT_MAX_RETRIES,
|
|
@@ -3970,7 +651,7 @@ var createRetryMiddleware = (options) => {
|
|
|
3970
651
|
throw error;
|
|
3971
652
|
}
|
|
3972
653
|
const delayMs = backoffFactor * 1e3 * Math.pow(2, attempt);
|
|
3973
|
-
await delay(delayMs, request.request.signal ?? void 0);
|
|
654
|
+
await chunkDCTDH77P_cjs.delay(delayMs, request.request.signal ?? void 0);
|
|
3974
655
|
}
|
|
3975
656
|
}
|
|
3976
657
|
throw new Error("unreachable");
|
|
@@ -3979,35 +660,99 @@ var createRetryMiddleware = (options) => {
|
|
|
3979
660
|
|
|
3980
661
|
// src/devClient.ts
|
|
3981
662
|
var createDevApiClient = () => ({
|
|
3982
|
-
verify: createVerifyClient()
|
|
663
|
+
verify: chunk76AHKXLC_cjs.createVerifyClient()
|
|
3983
664
|
});
|
|
3984
665
|
|
|
3985
|
-
exports
|
|
3986
|
-
|
|
3987
|
-
|
|
3988
|
-
|
|
3989
|
-
exports
|
|
3990
|
-
|
|
666
|
+
Object.defineProperty(exports, "generateUUID", {
|
|
667
|
+
enumerable: true,
|
|
668
|
+
get: function () { return chunkBR3SBEFE_cjs.generateUUID; }
|
|
669
|
+
});
|
|
670
|
+
Object.defineProperty(exports, "keboolaUID", {
|
|
671
|
+
enumerable: true,
|
|
672
|
+
get: function () { return chunkBR3SBEFE_cjs.keboolaUID; }
|
|
673
|
+
});
|
|
674
|
+
Object.defineProperty(exports, "PollException", {
|
|
675
|
+
enumerable: true,
|
|
676
|
+
get: function () { return chunkDCTDH77P_cjs.PollException; }
|
|
677
|
+
});
|
|
678
|
+
Object.defineProperty(exports, "createStorageSdk", {
|
|
679
|
+
enumerable: true,
|
|
680
|
+
get: function () { return chunkDCTDH77P_cjs.createStorageSdk; }
|
|
681
|
+
});
|
|
682
|
+
Object.defineProperty(exports, "delay", {
|
|
683
|
+
enumerable: true,
|
|
684
|
+
get: function () { return chunkDCTDH77P_cjs.delay; }
|
|
685
|
+
});
|
|
686
|
+
Object.defineProperty(exports, "poll", {
|
|
687
|
+
enumerable: true,
|
|
688
|
+
get: function () { return chunkDCTDH77P_cjs.poll; }
|
|
689
|
+
});
|
|
690
|
+
Object.defineProperty(exports, "UserError", {
|
|
691
|
+
enumerable: true,
|
|
692
|
+
get: function () { return chunkYUEYMIMI_cjs.UserError; }
|
|
693
|
+
});
|
|
694
|
+
Object.defineProperty(exports, "ManagementClientAuthError", {
|
|
695
|
+
enumerable: true,
|
|
696
|
+
get: function () { return chunkJKFIB6SQ_cjs.ManagementClientAuthError; }
|
|
697
|
+
});
|
|
698
|
+
Object.defineProperty(exports, "isManagementClientAuthError", {
|
|
699
|
+
enumerable: true,
|
|
700
|
+
get: function () { return chunkJKFIB6SQ_cjs.isManagementClientAuthError; }
|
|
701
|
+
});
|
|
702
|
+
Object.defineProperty(exports, "series", {
|
|
703
|
+
enumerable: true,
|
|
704
|
+
get: function () { return chunk345V46LR_cjs.series; }
|
|
705
|
+
});
|
|
706
|
+
Object.defineProperty(exports, "concurrent", {
|
|
707
|
+
enumerable: true,
|
|
708
|
+
get: function () { return chunkCVV4HROS_cjs.concurrent; }
|
|
709
|
+
});
|
|
710
|
+
Object.defineProperty(exports, "parseLogLines", {
|
|
711
|
+
enumerable: true,
|
|
712
|
+
get: function () { return chunkHYUGRMCY_cjs.parseLogLines; }
|
|
713
|
+
});
|
|
714
|
+
Object.defineProperty(exports, "ApiError", {
|
|
715
|
+
enumerable: true,
|
|
716
|
+
get: function () { return chunkHPVTVQBJ_cjs.ApiError; }
|
|
717
|
+
});
|
|
718
|
+
Object.defineProperty(exports, "HttpContentType", {
|
|
719
|
+
enumerable: true,
|
|
720
|
+
get: function () { return chunkHPVTVQBJ_cjs.HttpContentType; }
|
|
721
|
+
});
|
|
722
|
+
Object.defineProperty(exports, "HttpHeader", {
|
|
723
|
+
enumerable: true,
|
|
724
|
+
get: function () { return chunkHPVTVQBJ_cjs.HttpHeader; }
|
|
725
|
+
});
|
|
726
|
+
Object.defineProperty(exports, "KeboolaHttpHeader", {
|
|
727
|
+
enumerable: true,
|
|
728
|
+
get: function () { return chunkHPVTVQBJ_cjs.KeboolaHttpHeader; }
|
|
729
|
+
});
|
|
730
|
+
Object.defineProperty(exports, "createGenericFetchClient", {
|
|
731
|
+
enumerable: true,
|
|
732
|
+
get: function () { return chunkHPVTVQBJ_cjs.createGenericFetchClient; }
|
|
733
|
+
});
|
|
734
|
+
Object.defineProperty(exports, "isAbortError", {
|
|
735
|
+
enumerable: true,
|
|
736
|
+
get: function () { return chunkHPVTVQBJ_cjs.isAbortError; }
|
|
737
|
+
});
|
|
738
|
+
Object.defineProperty(exports, "isApiError", {
|
|
739
|
+
enumerable: true,
|
|
740
|
+
get: function () { return chunkHPVTVQBJ_cjs.isApiError; }
|
|
741
|
+
});
|
|
742
|
+
Object.defineProperty(exports, "isFetchClientError", {
|
|
743
|
+
enumerable: true,
|
|
744
|
+
get: function () { return chunkHPVTVQBJ_cjs.isFetchClientError; }
|
|
745
|
+
});
|
|
746
|
+
Object.defineProperty(exports, "normalizeBaseUrl", {
|
|
747
|
+
enumerable: true,
|
|
748
|
+
get: function () { return chunkHPVTVQBJ_cjs.normalizeBaseUrl; }
|
|
749
|
+
});
|
|
3991
750
|
exports.ServiceUnavailableError = ServiceUnavailableError;
|
|
3992
|
-
exports.UserError = UserError;
|
|
3993
751
|
exports.assert = assert;
|
|
3994
|
-
exports.concurrent = concurrent;
|
|
3995
752
|
exports.consoleLogger = consoleLogger;
|
|
3996
753
|
exports.createApiClient = createApiClient;
|
|
3997
754
|
exports.createDevApiClient = createDevApiClient;
|
|
3998
|
-
exports.createGenericFetchClient = createGenericFetchClient;
|
|
3999
755
|
exports.createLoggingMiddleware = createLoggingMiddleware;
|
|
4000
756
|
exports.createRetryMiddleware = createRetryMiddleware;
|
|
4001
|
-
exports.createStorageSdk = createStorageSdk;
|
|
4002
|
-
exports.delay = delay;
|
|
4003
|
-
exports.generateUUID = generateUUID;
|
|
4004
|
-
exports.isAbortError = isAbortError;
|
|
4005
|
-
exports.isApiError = isApiError;
|
|
4006
|
-
exports.isFetchClientError = isFetchClientError;
|
|
4007
|
-
exports.isManagementClientAuthError = isManagementClientAuthError;
|
|
4008
|
-
exports.keboolaUID = keboolaUID;
|
|
4009
|
-
exports.parseLogLines = parseLogLines;
|
|
4010
|
-
exports.poll = poll;
|
|
4011
|
-
exports.series = series;
|
|
4012
757
|
//# sourceMappingURL=index.cjs.map
|
|
4013
758
|
//# sourceMappingURL=index.cjs.map
|