@keboola/api-client 18.0.1 → 20.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/{ManagementClientAuthError-DNUPB6cb.d.cts → ManagementClientAuthError-B7mGrnGn.d.cts} +1 -1
- package/dist/{ManagementClientAuthError-WRHtWJSv.d.ts → ManagementClientAuthError-BMOhz4mx.d.ts} +1 -1
- package/dist/ai/index.cjs +4 -3
- package/dist/ai/index.d.cts +2 -2
- package/dist/ai/index.d.ts +2 -2
- package/dist/ai/index.js +3 -2
- package/dist/assets/index.cjs +2 -2
- package/dist/assets/index.cjs.map +1 -1
- package/dist/assets/index.d.cts +2 -2
- package/dist/assets/index.d.ts +2 -2
- package/dist/assets/index.js +1 -1
- package/dist/assets/index.js.map +1 -1
- package/dist/auth/index.cjs +10 -10
- package/dist/auth/index.d.cts +5 -5
- package/dist/auth/index.d.ts +5 -5
- package/dist/auth/index.js +2 -2
- package/dist/{authMiddleware-B9RM45AH.d.cts → authMiddleware-BcRYj3eQ.d.cts} +1 -1
- package/dist/{authMiddleware-CwkfLK36.d.ts → authMiddleware-CirRGURb.d.ts} +1 -1
- package/dist/{backends-BgUzAQul.d.cts → backends-Bofq_Nr0.d.cts} +2 -0
- package/dist/{backends-BgUzAQul.d.ts → backends-Bofq_Nr0.d.ts} +2 -0
- package/dist/chat/index.cjs +4 -3
- package/dist/chat/index.d.cts +2 -2
- package/dist/chat/index.d.ts +2 -2
- package/dist/chat/index.js +3 -2
- package/dist/{chunk-2HPI7FTO.cjs → chunk-4H2DDEUI.cjs} +10 -9
- package/dist/chunk-4H2DDEUI.cjs.map +1 -0
- package/dist/{chunk-F6UMQZBC.js → chunk-4HJUQVXR.js} +29 -28
- package/dist/chunk-4HJUQVXR.js.map +1 -0
- package/dist/{chunk-BCCSLO2Q.cjs → chunk-4JCVPUXF.cjs} +12 -11
- package/dist/chunk-4JCVPUXF.cjs.map +1 -0
- package/dist/{chunk-Y5QJJWDQ.js → chunk-552FC4ZV.js} +5 -3
- package/dist/chunk-552FC4ZV.js.map +1 -0
- package/dist/{chunk-BUHCOAT6.js → chunk-6FE3CWV6.js} +6 -5
- package/dist/chunk-6FE3CWV6.js.map +1 -0
- package/dist/{chunk-PSORECFP.js → chunk-7KMFRSYA.js} +6 -5
- package/dist/chunk-7KMFRSYA.js.map +1 -0
- package/dist/{chunk-7CTIKR3B.cjs → chunk-AKDJSXVJ.cjs} +7 -6
- package/dist/chunk-AKDJSXVJ.cjs.map +1 -0
- package/dist/{chunk-TNWN3QSY.cjs → chunk-ANRUSNYD.cjs} +8 -7
- package/dist/chunk-ANRUSNYD.cjs.map +1 -0
- package/dist/{chunk-YLZDOSIG.cjs → chunk-EKWD4ODT.cjs} +7 -6
- package/dist/chunk-EKWD4ODT.cjs.map +1 -0
- package/dist/{chunk-WERHQLXL.js → chunk-EXNR4FGV.js} +3 -3
- package/dist/chunk-EXNR4FGV.js.map +1 -0
- package/dist/{chunk-ZBPWLCSH.js → chunk-FPWOK2CR.js} +6 -5
- package/dist/chunk-FPWOK2CR.js.map +1 -0
- package/dist/{chunk-IPOWRVLR.cjs → chunk-G7VCXMQB.cjs} +7 -6
- package/dist/chunk-G7VCXMQB.cjs.map +1 -0
- package/dist/{chunk-FTN5DKXT.js → chunk-GENABZQ3.js} +6 -5
- package/dist/chunk-GENABZQ3.js.map +1 -0
- package/dist/{chunk-PC5GISUV.js → chunk-HEVDH4JQ.js} +6 -5
- package/dist/chunk-HEVDH4JQ.js.map +1 -0
- package/dist/chunk-HNP33VR5.cjs +16 -0
- package/dist/chunk-HNP33VR5.cjs.map +1 -0
- package/dist/{chunk-EFP5I3XX.js → chunk-IBELIKBL.js} +6 -5
- package/dist/chunk-IBELIKBL.js.map +1 -0
- package/dist/{chunk-IPCCJCV4.js → chunk-ISY2BOFY.js} +6 -5
- package/dist/chunk-ISY2BOFY.js.map +1 -0
- package/dist/{chunk-PC522LKL.cjs → chunk-IUN2ZSU3.cjs} +4 -3
- package/dist/chunk-IUN2ZSU3.cjs.map +1 -0
- package/dist/{chunk-HQM2LBGI.cjs → chunk-IZWNTRMT.cjs} +7 -6
- package/dist/chunk-IZWNTRMT.cjs.map +1 -0
- package/dist/{chunk-R34WMOOF.cjs → chunk-JIAMBOU7.cjs} +8 -7
- package/dist/chunk-JIAMBOU7.cjs.map +1 -0
- package/dist/{chunk-KIVPVVFK.cjs → chunk-JJXTE2SL.cjs} +7 -6
- package/dist/chunk-JJXTE2SL.cjs.map +1 -0
- package/dist/{chunk-YD3KMWND.js → chunk-K6E7LOWZ.js} +6 -5
- package/dist/chunk-K6E7LOWZ.js.map +1 -0
- package/dist/{chunk-K57JQFAE.js → chunk-KDWIJTED.js} +6 -5
- package/dist/chunk-KDWIJTED.js.map +1 -0
- package/dist/{chunk-QO7MNY6T.js → chunk-KLVBTRLR.js} +13 -8
- package/dist/chunk-KLVBTRLR.js.map +1 -0
- package/dist/{chunk-FTRHU6YC.js → chunk-M3UUJIMO.js} +6 -5
- package/dist/chunk-M3UUJIMO.js.map +1 -0
- package/dist/{chunk-U7K7Y2WN.cjs → chunk-MLCMKHMK.cjs} +7 -6
- package/dist/chunk-MLCMKHMK.cjs.map +1 -0
- package/dist/{chunk-RZIBC7G4.cjs → chunk-N3GNUFMA.cjs} +31 -30
- package/dist/chunk-N3GNUFMA.cjs.map +1 -0
- package/dist/{chunk-CWQHLSG4.cjs → chunk-NRJTA5P3.cjs} +4 -4
- package/dist/chunk-NRJTA5P3.cjs.map +1 -0
- package/dist/{chunk-EA26275C.js → chunk-PINOAERX.js} +6 -5
- package/dist/chunk-PINOAERX.js.map +1 -0
- package/dist/{chunk-A6YMIJAX.cjs → chunk-QQJXXNUE.cjs} +8 -7
- package/dist/chunk-QQJXXNUE.cjs.map +1 -0
- package/dist/{chunk-G7INDX44.js → chunk-RHLDDKX6.js} +8 -7
- package/dist/chunk-RHLDDKX6.js.map +1 -0
- package/dist/{chunk-FDFISPDO.js → chunk-RK2VGHJE.js} +4 -3
- package/dist/chunk-RK2VGHJE.js.map +1 -0
- package/dist/{chunk-PMPCP6PG.cjs → chunk-STAQJVW4.cjs} +7 -6
- package/dist/chunk-STAQJVW4.cjs.map +1 -0
- package/dist/{chunk-BPZ7746T.cjs → chunk-SWJHENEP.cjs} +23 -18
- package/dist/{chunk-QO7MNY6T.js.map → chunk-SWJHENEP.cjs.map} +1 -1
- package/dist/{chunk-IP4D4I42.js → chunk-UREIP7XG.js} +6 -5
- package/dist/chunk-UREIP7XG.js.map +1 -0
- package/dist/{chunk-MSLGNOIN.js → chunk-V4FLCCD4.js} +6 -5
- package/dist/chunk-V4FLCCD4.js.map +1 -0
- package/dist/chunk-WJRHT346.js +14 -0
- package/dist/chunk-WJRHT346.js.map +1 -0
- package/dist/{chunk-7Z7ETHFD.cjs → chunk-WWICQYOY.cjs} +4 -4
- package/dist/{chunk-7Z7ETHFD.cjs.map → chunk-WWICQYOY.cjs.map} +1 -1
- package/dist/{chunk-VTXVB54B.cjs → chunk-XISA4SYM.cjs} +7 -6
- package/dist/chunk-XISA4SYM.cjs.map +1 -0
- package/dist/{chunk-HACGJDAD.cjs → chunk-YLHZ2H7O.cjs} +10 -9
- package/dist/chunk-YLHZ2H7O.cjs.map +1 -0
- package/dist/{chunk-LBNWO5SO.js → chunk-YOD5F25S.js} +6 -5
- package/dist/chunk-YOD5F25S.js.map +1 -0
- package/dist/{chunk-EAWA66EE.cjs → chunk-YOPRPXER.cjs} +7 -6
- package/dist/chunk-YOPRPXER.cjs.map +1 -0
- package/dist/{chunk-NFA5ITNG.cjs → chunk-YXGBD4WP.cjs} +5 -3
- package/dist/chunk-YXGBD4WP.cjs.map +1 -0
- package/dist/{chunk-X23LLSP6.js → chunk-ZAPK7HZS.js} +6 -5
- package/dist/chunk-ZAPK7HZS.js.map +1 -0
- package/dist/{chunk-3FYGTUWU.js → chunk-ZHNOZHJG.js} +3 -3
- package/dist/{chunk-3FYGTUWU.js.map → chunk-ZHNOZHJG.js.map} +1 -1
- package/dist/{chunk-KWO5WJUT.cjs → chunk-ZLW3243Q.cjs} +7 -6
- package/dist/chunk-ZLW3243Q.cjs.map +1 -0
- package/dist/constants/index.cjs +2 -2
- package/dist/constants/index.d.cts +1 -1
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/{createGenericFetchClient-CSHOaFE3.d.cts → createGenericFetchClient-CrB9cdk8.d.cts} +1 -1
- package/dist/{createGenericFetchClient-D_vU8nco.d.ts → createGenericFetchClient-D4tfhW6Z.d.ts} +1 -1
- package/dist/{createOpenapiFetchClient-B50N1zkV.d.ts → createOpenapiFetchClient-DLA4-_yg.d.ts} +1 -1
- package/dist/{createOpenapiFetchClient-CKNLT4ND.d.cts → createOpenapiFetchClient-zK2SckO2.d.cts} +1 -1
- package/dist/dataScience/index.cjs +5 -4
- package/dist/dataScience/index.d.cts +2 -2
- package/dist/dataScience/index.d.ts +2 -2
- package/dist/dataScience/index.js +3 -2
- package/dist/domain/permissions/index.cjs +7 -5
- package/dist/domain/permissions/index.cjs.map +1 -1
- package/dist/domain/permissions/index.d.cts +5 -4
- package/dist/domain/permissions/index.d.ts +5 -4
- package/dist/domain/permissions/index.js +3 -2
- package/dist/domain/permissions/index.js.map +1 -1
- package/dist/editor/index.cjs +4 -3
- package/dist/editor/index.d.cts +2 -2
- package/dist/editor/index.d.ts +2 -2
- package/dist/editor/index.js +3 -2
- package/dist/encryption/index.cjs +3 -3
- package/dist/encryption/index.d.cts +4 -4
- package/dist/encryption/index.d.ts +4 -4
- package/dist/encryption/index.js +2 -2
- package/dist/encryption/types.d.cts +2 -2
- package/dist/encryption/types.d.ts +2 -2
- package/dist/import/index.cjs +4 -3
- package/dist/import/index.d.cts +2 -2
- package/dist/import/index.d.ts +2 -2
- package/dist/import/index.js +3 -2
- package/dist/index.cjs +89 -88
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +14 -13
- package/dist/index.d.ts +14 -13
- package/dist/index.js +47 -46
- package/dist/index.js.map +1 -1
- package/dist/management/index.cjs +5 -5
- package/dist/management/index.d.cts +17 -9
- package/dist/management/index.d.ts +17 -9
- package/dist/management/index.js +3 -3
- package/dist/metastore/index.cjs +4 -3
- package/dist/metastore/index.d.cts +3 -3
- package/dist/metastore/index.d.ts +3 -3
- package/dist/metastore/index.js +3 -2
- package/dist/notifications/index.cjs +4 -3
- package/dist/notifications/index.d.cts +2 -2
- package/dist/notifications/index.d.ts +2 -2
- package/dist/notifications/index.js +3 -2
- package/dist/oauth/index.cjs +4 -3
- package/dist/oauth/index.d.cts +2 -2
- package/dist/oauth/index.d.ts +2 -2
- package/dist/oauth/index.js +3 -2
- package/dist/{project-BxSa1Ci9.d.ts → project-Bj7A_TSe.d.ts} +2 -2
- package/dist/{project-NJuUPx8-.d.cts → project-CX3TEH8A.d.cts} +2 -2
- package/dist/queryService/index.cjs +4 -3
- package/dist/queryService/index.d.cts +2 -2
- package/dist/queryService/index.d.ts +2 -2
- package/dist/queryService/index.js +3 -2
- package/dist/queue/index.cjs +4 -3
- package/dist/queue/index.d.cts +2 -2
- package/dist/queue/index.d.ts +2 -2
- package/dist/queue/index.js +3 -2
- package/dist/scheduler/index.cjs +4 -3
- package/dist/scheduler/index.d.cts +2 -2
- package/dist/scheduler/index.d.ts +2 -2
- package/dist/scheduler/index.js +3 -2
- package/dist/sdk/configurations/index.d.cts +7 -7
- package/dist/sdk/configurations/index.d.ts +7 -7
- package/dist/sdk/storage/index.d.cts +7 -7
- package/dist/sdk/storage/index.d.ts +7 -7
- package/dist/sdk/tag/index.d.cts +2 -2
- package/dist/sdk/tag/index.d.ts +2 -2
- package/dist/sdk/tag/types.d.cts +2 -2
- package/dist/sdk/tag/types.d.ts +2 -2
- package/dist/sdk/vault/index.d.cts +4 -4
- package/dist/sdk/vault/index.d.ts +4 -4
- package/dist/status/index.cjs +2 -2
- package/dist/status/index.cjs.map +1 -1
- package/dist/status/index.d.cts +2 -2
- package/dist/status/index.d.ts +2 -2
- package/dist/status/index.js +1 -1
- package/dist/status/index.js.map +1 -1
- package/dist/storage/index.cjs +11 -10
- package/dist/storage/index.d.cts +7 -7
- package/dist/storage/index.d.ts +7 -7
- package/dist/storage/index.js +4 -3
- package/dist/storage/types.d.cts +3 -3
- package/dist/storage/types.d.ts +3 -3
- package/dist/{storageClient-Bqd4_-xH.d.ts → storageClient-Cwr5Vl45.d.ts} +5 -5
- package/dist/{storageClient-C0Kh5L01.d.cts → storageClient-D1USmiC5.d.cts} +5 -5
- package/dist/{storageSdk-BCUgrB3U.d.cts → storageSdk-MciYsR_e.d.cts} +1 -1
- package/dist/{storageSdk-C5Ea9eRR.d.ts → storageSdk-Um7iSJMs.d.ts} +1 -1
- package/dist/stream/index.cjs +4 -3
- package/dist/stream/index.d.cts +2 -2
- package/dist/stream/index.d.ts +2 -2
- package/dist/stream/index.js +3 -2
- package/dist/syncActions/index.cjs +4 -3
- package/dist/syncActions/index.d.cts +3 -3
- package/dist/syncActions/index.d.ts +3 -3
- package/dist/syncActions/index.js +3 -2
- package/dist/telemetry/index.cjs +4 -3
- package/dist/telemetry/index.d.cts +3 -3
- package/dist/telemetry/index.d.ts +3 -3
- package/dist/telemetry/index.js +3 -2
- package/dist/{types-BLJoO6YL.d.cts → types-0yn6OefX.d.cts} +11 -2
- package/dist/{types-BLJoO6YL.d.ts → types-0yn6OefX.d.ts} +11 -2
- package/dist/{types-CMEwVQ78.d.cts → types-ClxrZC77.d.cts} +1 -1
- package/dist/{types-DsqDUWJn.d.cts → types-DHCbX2uR.d.cts} +1 -1
- package/dist/{types-D64zThBJ.d.ts → types-l_pP5J0H.d.ts} +1 -1
- package/dist/{types-GmAeMsok.d.ts → types-o8eTf_G9.d.ts} +1 -1
- package/dist/vault/index.cjs +4 -3
- package/dist/vault/index.d.cts +2 -2
- package/dist/vault/index.d.ts +2 -2
- package/dist/vault/index.js +3 -2
- package/package.json +2 -2
- package/dist/chunk-2HPI7FTO.cjs.map +0 -1
- package/dist/chunk-7CTIKR3B.cjs.map +0 -1
- package/dist/chunk-A6YMIJAX.cjs.map +0 -1
- package/dist/chunk-BCCSLO2Q.cjs.map +0 -1
- package/dist/chunk-BPZ7746T.cjs.map +0 -1
- package/dist/chunk-BUHCOAT6.js.map +0 -1
- package/dist/chunk-CWQHLSG4.cjs.map +0 -1
- package/dist/chunk-EA26275C.js.map +0 -1
- package/dist/chunk-EAWA66EE.cjs.map +0 -1
- package/dist/chunk-EFP5I3XX.js.map +0 -1
- package/dist/chunk-F6UMQZBC.js.map +0 -1
- package/dist/chunk-FDFISPDO.js.map +0 -1
- package/dist/chunk-FTN5DKXT.js.map +0 -1
- package/dist/chunk-FTRHU6YC.js.map +0 -1
- package/dist/chunk-G7INDX44.js.map +0 -1
- package/dist/chunk-HACGJDAD.cjs.map +0 -1
- package/dist/chunk-HQM2LBGI.cjs.map +0 -1
- package/dist/chunk-IP4D4I42.js.map +0 -1
- package/dist/chunk-IPCCJCV4.js.map +0 -1
- package/dist/chunk-IPOWRVLR.cjs.map +0 -1
- package/dist/chunk-K57JQFAE.js.map +0 -1
- package/dist/chunk-KIVPVVFK.cjs.map +0 -1
- package/dist/chunk-KWO5WJUT.cjs.map +0 -1
- package/dist/chunk-LBNWO5SO.js.map +0 -1
- package/dist/chunk-MSLGNOIN.js.map +0 -1
- package/dist/chunk-NFA5ITNG.cjs.map +0 -1
- package/dist/chunk-PC522LKL.cjs.map +0 -1
- package/dist/chunk-PC5GISUV.js.map +0 -1
- package/dist/chunk-PMPCP6PG.cjs.map +0 -1
- package/dist/chunk-PSORECFP.js.map +0 -1
- package/dist/chunk-R34WMOOF.cjs.map +0 -1
- package/dist/chunk-RZIBC7G4.cjs.map +0 -1
- package/dist/chunk-TNWN3QSY.cjs.map +0 -1
- package/dist/chunk-U7K7Y2WN.cjs.map +0 -1
- package/dist/chunk-VTXVB54B.cjs.map +0 -1
- package/dist/chunk-WERHQLXL.js.map +0 -1
- package/dist/chunk-X23LLSP6.js.map +0 -1
- package/dist/chunk-Y5QJJWDQ.js.map +0 -1
- package/dist/chunk-YD3KMWND.js.map +0 -1
- package/dist/chunk-YLZDOSIG.cjs.map +0 -1
- package/dist/chunk-ZBPWLCSH.js.map +0 -1
- package/dist/{schemas-DVB6wC7L.d.cts → schemas-CraXbXke.d.cts} +15 -15
- package/dist/{schemas-DVB6wC7L.d.ts → schemas-CraXbXke.d.ts} +15 -15
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkHNP33VR5_cjs = require('./chunk-HNP33VR5.cjs');
|
|
4
|
+
var chunkIUN2ZSU3_cjs = require('./chunk-IUN2ZSU3.cjs');
|
|
4
5
|
|
|
5
6
|
// src/clients/queue/queueClient.ts
|
|
6
|
-
var createQueueClient = ({ baseUrl, middlewares,
|
|
7
|
-
const client =
|
|
7
|
+
var createQueueClient = ({ baseUrl, middlewares, auth }) => {
|
|
8
|
+
const client = chunkIUN2ZSU3_cjs.createOpenapiFetchClient({
|
|
8
9
|
baseUrl,
|
|
9
10
|
middlewares,
|
|
10
|
-
headers:
|
|
11
|
+
headers: chunkHNP33VR5_cjs.createAuthHeaders(auth)
|
|
11
12
|
});
|
|
12
13
|
const getJob = async (jobId, signal) => {
|
|
13
14
|
const { data } = await client.get(
|
|
@@ -33,5 +34,5 @@ var createQueueClient = ({ baseUrl, middlewares, token }) => {
|
|
|
33
34
|
};
|
|
34
35
|
|
|
35
36
|
exports.createQueueClient = createQueueClient;
|
|
36
|
-
//# sourceMappingURL=chunk-
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
37
|
+
//# sourceMappingURL=chunk-YOPRPXER.cjs.map
|
|
38
|
+
//# sourceMappingURL=chunk-YOPRPXER.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/clients/queue/queueClient.ts"],"names":["createOpenapiFetchClient","createAuthHeaders"],"mappings":";;;;;;AAOO,IAAM,oBAAoB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AACtF,EAAA,MAAM,SAASA,0CAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAASC,oCAAkB,IAAI;AAAA,GAChC,CAAA;AAED,EAAA,MAAM,MAAA,GAAS,OAAO,KAAA,EAAiC,MAAA,KAAyB;AAC9E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,eAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,KAAA;AAAM,OAChB;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,OAAO,KAAA,EAAyB,MAAA,KAAyB;AAC1E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,cAAA;AAAA,MACA;AAAA,QACE;AAAA,OACF;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO,EAAE,QAAQ,UAAA,EAAW;AAC9B","file":"chunk-YOPRPXER.cjs","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type { GetQueueJobPath, SearchJobsQuery } from './types';\n\nexport const createQueueClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n const getJob = async (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/jobs/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchJobs = async (query?: SearchJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n return { getJob, searchJobs };\n};\n"]}
|
|
@@ -6,9 +6,11 @@ var AdminRole = {
|
|
|
6
6
|
Share: "share",
|
|
7
7
|
ProductionManager: "productionManager",
|
|
8
8
|
Developer: "developer",
|
|
9
|
-
Reviewer: "reviewer"
|
|
9
|
+
Reviewer: "reviewer",
|
|
10
|
+
ReadOnly: "readOnly",
|
|
11
|
+
Guest: "guest"
|
|
10
12
|
};
|
|
11
13
|
|
|
12
14
|
exports.AdminRole = AdminRole;
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
14
|
-
//# sourceMappingURL=chunk-
|
|
15
|
+
//# sourceMappingURL=chunk-YXGBD4WP.cjs.map
|
|
16
|
+
//# sourceMappingURL=chunk-YXGBD4WP.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/constants/adminRoles.ts"],"names":[],"mappings":";;;AAAO,IAAM,SAAA,GAAY;AAAA,EACvB,KAAA,EAAO,OAAA;AAAA,EACP,KAAA,EAAO,OAAA;AAAA,EACP,iBAAA,EAAmB,mBAAA;AAAA,EACnB,SAAA,EAAW,WAAA;AAAA,EACX,QAAA,EAAU,UAAA;AAAA,EACV,QAAA,EAAU,UAAA;AAAA,EACV,KAAA,EAAO;AACT","file":"chunk-YXGBD4WP.cjs","sourcesContent":["export const AdminRole = {\n Admin: 'admin',\n Share: 'share',\n ProductionManager: 'productionManager',\n Developer: 'developer',\n Reviewer: 'reviewer',\n ReadOnly: 'readOnly',\n Guest: 'guest',\n} as const;\n\nexport type AdminRole = (typeof AdminRole)[keyof typeof AdminRole];\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createAuthHeaders } from './chunk-WJRHT346.js';
|
|
2
|
+
import { createGenericFetchClient } from './chunk-RK2VGHJE.js';
|
|
2
3
|
|
|
3
4
|
// src/clients/telemetry/provisioning/provisioning.ts
|
|
4
5
|
var createProvisioning = (client) => {
|
|
@@ -16,11 +17,11 @@ var createProvisioning = (client) => {
|
|
|
16
17
|
};
|
|
17
18
|
|
|
18
19
|
// src/clients/telemetry/telemetryClient.ts
|
|
19
|
-
var createTelemetryClient = ({ baseUrl, middlewares,
|
|
20
|
+
var createTelemetryClient = ({ baseUrl, middlewares, auth }) => {
|
|
20
21
|
const client = createGenericFetchClient({
|
|
21
22
|
baseUrl,
|
|
22
23
|
middlewares,
|
|
23
|
-
headers:
|
|
24
|
+
headers: createAuthHeaders(auth)
|
|
24
25
|
});
|
|
25
26
|
return {
|
|
26
27
|
provisioning: createProvisioning(client)
|
|
@@ -28,5 +29,5 @@ var createTelemetryClient = ({ baseUrl, middlewares, token }) => {
|
|
|
28
29
|
};
|
|
29
30
|
|
|
30
31
|
export { createTelemetryClient };
|
|
31
|
-
//# sourceMappingURL=chunk-
|
|
32
|
-
//# sourceMappingURL=chunk-
|
|
32
|
+
//# sourceMappingURL=chunk-ZAPK7HZS.js.map
|
|
33
|
+
//# sourceMappingURL=chunk-ZAPK7HZS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/clients/telemetry/provisioning/provisioning.ts","../src/clients/telemetry/telemetryClient.ts"],"names":[],"mappings":";;;;AAIO,IAAM,kBAAA,GAAqB,CAAC,MAAA,KAA+B;AAChE,EAAA,MAAM,iBAAA,GAAoB,OAAO,IAAA,EAA6B,MAAA,KAAyB;AACrF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,yBAAA;AAAA,MACA,EAAE,IAAA,EAAK;AAAA,MACP,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL;AAAA,GACF;AACF,CAAA;;;ACVO,IAAM,wBAAwB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AAC1F,EAAA,MAAM,SAAS,wBAAA,CAAyB;AAAA,IACtC,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAAS,kBAAkB,IAAI;AAAA,GAChC,CAAA;AAED,EAAA,OAAO;AAAA,IACL,YAAA,EAAc,mBAAmB,MAAM;AAAA,GACzC;AACF","file":"chunk-ZAPK7HZS.js","sourcesContent":["import type { GenericFetchClient } from '../telemetryClient';\n\nimport type { CreateCredentialsBody, WorkspaceData } from './types';\n\nexport const createProvisioning = (client: GenericFetchClient) => {\n const createCredentials = async (body: CreateCredentialsBody, signal?: AbortSignal) => {\n const { data } = await client.post<WorkspaceData, void, void, CreateCredentialsBody>(\n '/provisioning/workspace',\n { body },\n { signal },\n );\n\n return data;\n };\n\n return {\n createCredentials,\n };\n};\n","import { createGenericFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport { createProvisioning } from './provisioning/provisioning';\n\nexport type GenericFetchClient = ReturnType<typeof createGenericFetchClient>;\n\nexport const createTelemetryClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createGenericFetchClient({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n return {\n provisioning: createProvisioning(client),\n };\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiError } from './chunk-
|
|
1
|
+
import { ApiError } from './chunk-RK2VGHJE.js';
|
|
2
2
|
|
|
3
3
|
// src/errors/ManagementClientAuthError.ts
|
|
4
4
|
var ManagementClientAuthError = class extends ApiError {
|
|
@@ -12,5 +12,5 @@ var ManagementClientAuthError = class extends ApiError {
|
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
export { ManagementClientAuthError };
|
|
15
|
-
//# sourceMappingURL=chunk-
|
|
16
|
-
//# sourceMappingURL=chunk-
|
|
15
|
+
//# sourceMappingURL=chunk-ZHNOZHJG.js.map
|
|
16
|
+
//# sourceMappingURL=chunk-ZHNOZHJG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors/ManagementClientAuthError.ts"],"names":[],"mappings":";;;AAIO,IAAM,yBAAA,GAAN,cAAwC,QAAA,CAAS;AAAA,EACtD,KAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA,CAAY,KAAA,EAAe,OAAA,EAAiB,GAAA,EAAkB;AAC5D,IAAA,KAAA,CAAM,GAAG,CAAA;AACT,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACb,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACjB;AACF","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/errors/ManagementClientAuthError.ts"],"names":[],"mappings":";;;AAIO,IAAM,yBAAA,GAAN,cAAwC,QAAA,CAAS;AAAA,EACtD,KAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA,CAAY,KAAA,EAAe,OAAA,EAAiB,GAAA,EAAkB;AAC5D,IAAA,KAAA,CAAM,GAAG,CAAA;AACT,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACb,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACjB;AACF","file":"chunk-ZHNOZHJG.js","sourcesContent":["import type { ApiResponse } from '../fetchClient/createFetchClient/types';\n\nimport { ApiError } from './ApiError';\n\nexport class ManagementClientAuthError extends ApiError {\n title: string;\n message: string;\n constructor(title: string, message: string, res: ApiResponse) {\n super(res);\n this.title = title;\n this.message = message;\n }\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkHNP33VR5_cjs = require('./chunk-HNP33VR5.cjs');
|
|
4
|
+
var chunkIUN2ZSU3_cjs = require('./chunk-IUN2ZSU3.cjs');
|
|
4
5
|
|
|
5
6
|
// src/clients/metastore/repository/repository.ts
|
|
6
7
|
var createRepository = (client) => {
|
|
@@ -162,11 +163,11 @@ var createSchema = (client) => {
|
|
|
162
163
|
};
|
|
163
164
|
|
|
164
165
|
// src/clients/metastore/metastoreClient.ts
|
|
165
|
-
var createMetastoreClient = ({ baseUrl, middlewares,
|
|
166
|
-
const client =
|
|
166
|
+
var createMetastoreClient = ({ baseUrl, middlewares, auth }) => {
|
|
167
|
+
const client = chunkIUN2ZSU3_cjs.createOpenapiFetchClient({
|
|
167
168
|
baseUrl,
|
|
168
169
|
middlewares,
|
|
169
|
-
headers:
|
|
170
|
+
headers: chunkHNP33VR5_cjs.createAuthHeaders(auth)
|
|
170
171
|
});
|
|
171
172
|
const healthCheck = async (signal) => {
|
|
172
173
|
const { data } = await client.get("/health-check", {}, { signal });
|
|
@@ -180,5 +181,5 @@ var createMetastoreClient = ({ baseUrl, middlewares, token }) => {
|
|
|
180
181
|
};
|
|
181
182
|
|
|
182
183
|
exports.createMetastoreClient = createMetastoreClient;
|
|
183
|
-
//# sourceMappingURL=chunk-
|
|
184
|
-
//# sourceMappingURL=chunk-
|
|
184
|
+
//# sourceMappingURL=chunk-ZLW3243Q.cjs.map
|
|
185
|
+
//# sourceMappingURL=chunk-ZLW3243Q.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/clients/metastore/repository/repository.ts","../src/clients/metastore/schema/schema.ts","../src/clients/metastore/metastoreClient.ts"],"names":["createOpenapiFetchClient","createAuthHeaders"],"mappings":"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","file":"chunk-ZLW3243Q.cjs","sourcesContent":["import type { MetastoreFetchClient } from '../metastoreClient';\n\nimport type {\n CreateMetaObjectInput,\n DeleteMetaObjectPath,\n DeleteMetaObjectRevisionPath,\n GetMetaObjectPath,\n GetMetaObjectRevisionPath,\n GetMetaObjectRevisionsPath,\n GetMetaObjectsPath,\n MetaStoreListResponse,\n MetaStoreObjectResponse,\n ReplaceMetaObjectInput,\n UpdateMetaObjectInput,\n} from './types';\n\nexport const createRepository = (client: MetastoreFetchClient) => {\n const getMetaObjects = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >(\n input: GetMetaObjectsPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}',\n {\n path: input,\n },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData, TDataOptional>;\n };\n\n const getMetaObjectRevisions = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >(\n input: GetMetaObjectRevisionsPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/revisions',\n {\n path: input,\n },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData, TDataOptional>;\n };\n\n const getMetaObject = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >(\n input: GetMetaObjectPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: input,\n },\n {\n signal,\n },\n );\n\n return data as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const createMetaObject = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >({\n objectType,\n data,\n ...body\n }: CreateMetaObjectInput<TData>) => {\n const { data: createdMetaObject } = await client.post('/api/v1/repository/{objectType}', {\n path: { objectType: objectType },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n });\n\n return createdMetaObject as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const deleteMetaObject = async (input: DeleteMetaObjectPath) => {\n const { data } = await client.delete('/api/v1/repository/{objectType}/{UUID}', {\n path: input,\n });\n\n return data;\n };\n\n const updateMetaObject = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >({\n objectType,\n UUID,\n data,\n ...body\n }: UpdateMetaObjectInput<TData>) => {\n const { data: updatedMetaObject } = await client.patch(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n },\n );\n\n return updatedMetaObject as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const replaceMetaObject = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >({\n objectType,\n UUID,\n data,\n ...body\n }: ReplaceMetaObjectInput<TData>) => {\n const { data: replacedMetaObject } = await client.put(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n },\n );\n\n return replacedMetaObject as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const getMetaObjectRevision = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >(\n input: GetMetaObjectRevisionPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/{UUID}/revisions/{revision}',\n {\n path: input,\n },\n { signal },\n );\n\n return data as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const deleteMetaObjectRevision = async (input: DeleteMetaObjectRevisionPath) => {\n const { data } = await client.delete(\n '/api/v1/repository/{objectType}/{UUID}/revisions/{revision}',\n {\n path: input,\n },\n );\n\n return data;\n };\n\n return {\n // lists\n getMetaObjects,\n getMetaObjectRevisions,\n\n // objects\n getMetaObject,\n createMetaObject,\n deleteMetaObject,\n updateMetaObject,\n replaceMetaObject,\n\n // revisons\n getMetaObjectRevision,\n deleteMetaObjectRevision,\n };\n};\n","import type { MetastoreFetchClient } from '../metastoreClient';\n\nimport type { GetSchemaPath, GetVersionedSchemaPath } from './types';\n\nexport const createSchema = (client: MetastoreFetchClient) => {\n const getSchema = async (input: GetSchemaPath, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/schema/{objectType}',\n {\n path: input,\n },\n { signal },\n );\n return data;\n };\n\n const getVersionedSchema = async (input: GetVersionedSchemaPath, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/schema/{objectType}/{version}',\n {\n path: input,\n },\n { signal },\n );\n\n return data;\n };\n\n return {\n getSchema,\n getVersionedSchema,\n };\n};\n","import { createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createRepository } from './repository';\nimport { createSchema } from './schema';\n\nexport type MetastoreFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createMetastoreClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await client.get('/health-check', {}, { signal });\n return data;\n };\n\n return {\n healthCheck,\n repository: createRepository(client),\n schema: createSchema(client),\n };\n};\n"]}
|
package/dist/constants/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkYXGBD4WP_cjs = require('../chunk-YXGBD4WP.cjs');
|
|
4
4
|
var chunk3FZHFTLG_cjs = require('../chunk-3FZHFTLG.cjs');
|
|
5
5
|
var chunkTTPJSPZA_cjs = require('../chunk-TTPJSPZA.cjs');
|
|
6
6
|
|
|
@@ -151,7 +151,7 @@ var URLS = {
|
|
|
151
151
|
|
|
152
152
|
Object.defineProperty(exports, "AdminRole", {
|
|
153
153
|
enumerable: true,
|
|
154
|
-
get: function () { return
|
|
154
|
+
get: function () { return chunkYXGBD4WP_cjs.AdminRole; }
|
|
155
155
|
});
|
|
156
156
|
Object.defineProperty(exports, "ProjectFeature", {
|
|
157
157
|
enumerable: true,
|
package/dist/constants/index.js
CHANGED
package/dist/{createGenericFetchClient-CSHOaFE3.d.cts → createGenericFetchClient-CrB9cdk8.d.cts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as CreateFetchClientOptions, P as PathParam, Q as QueryParam, B as BodyParam, F as FetchClientOptions, A as ApiResponse } from './types-
|
|
1
|
+
import { b as CreateFetchClientOptions, P as PathParam, Q as QueryParam, B as BodyParam, F as FetchClientOptions, A as ApiResponse } from './types-0yn6OefX.cjs';
|
|
2
2
|
|
|
3
3
|
type FetchParams<Path = PathParam, Query = QueryParam, Body = BodyParam> = {
|
|
4
4
|
path?: Path;
|
package/dist/{createGenericFetchClient-D_vU8nco.d.ts → createGenericFetchClient-D4tfhW6Z.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as CreateFetchClientOptions, P as PathParam, Q as QueryParam, B as BodyParam, F as FetchClientOptions, A as ApiResponse } from './types-
|
|
1
|
+
import { b as CreateFetchClientOptions, P as PathParam, Q as QueryParam, B as BodyParam, F as FetchClientOptions, A as ApiResponse } from './types-0yn6OefX.js';
|
|
2
2
|
|
|
3
3
|
type FetchParams<Path = PathParam, Query = QueryParam, Body = BodyParam> = {
|
|
4
4
|
path?: Path;
|
package/dist/{createOpenapiFetchClient-B50N1zkV.d.ts → createOpenapiFetchClient-DLA4-_yg.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { H as HttpMethod, b as CreateFetchClientOptions, F as FetchClientOptions, A as ApiResponse } from './types-
|
|
1
|
+
import { H as HttpMethod, b as CreateFetchClientOptions, F as FetchClientOptions, A as ApiResponse } from './types-0yn6OefX.js';
|
|
2
2
|
import { O as OpenapiParametersType, a as OpenapiReturnType } from './types-jKnx7Tm_.js';
|
|
3
3
|
|
|
4
4
|
type OpenapiPaths<Paths> = {
|
package/dist/{createOpenapiFetchClient-CKNLT4ND.d.cts → createOpenapiFetchClient-zK2SckO2.d.cts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { H as HttpMethod, b as CreateFetchClientOptions, F as FetchClientOptions, A as ApiResponse } from './types-
|
|
1
|
+
import { H as HttpMethod, b as CreateFetchClientOptions, F as FetchClientOptions, A as ApiResponse } from './types-0yn6OefX.cjs';
|
|
2
2
|
import { O as OpenapiParametersType, a as OpenapiReturnType } from './types-jKnx7Tm_.cjs';
|
|
3
3
|
|
|
4
4
|
type OpenapiPaths<Paths> = {
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk4H2DDEUI_cjs = require('../chunk-4H2DDEUI.cjs');
|
|
4
4
|
require('../chunk-MRHQJNWF.cjs');
|
|
5
|
-
require('../chunk-
|
|
5
|
+
require('../chunk-HNP33VR5.cjs');
|
|
6
|
+
require('../chunk-IUN2ZSU3.cjs');
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
Object.defineProperty(exports, "createDataScienceClient", {
|
|
10
11
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
12
|
+
get: function () { return chunk4H2DDEUI_cjs.createDataScienceClient; }
|
|
12
13
|
});
|
|
13
14
|
Object.defineProperty(exports, "parseLogLines", {
|
|
14
15
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
16
|
+
get: function () { return chunk4H2DDEUI_cjs.parseLogLines; }
|
|
16
17
|
});
|
|
17
18
|
//# sourceMappingURL=index.cjs.map
|
|
18
19
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { C as ClientInitOptions, A as ApiResponse } from '../types-
|
|
1
|
+
import { C as ClientInitOptions, A as ApiResponse } from '../types-0yn6OefX.cjs';
|
|
2
2
|
import { G as GetDataAppRunsPath, a as GetDataAppRunsQuery, b as GetDataAppRunPath, c as GetDataAppLogsDownloadPath, d as GetDataAppLogsTailPath, e as GetDataAppLogsTailQuery, L as LogEntry, f as GetAppsQuery, g as GetDataAppPath, C as CreateDataAppBody, P as PatchDataAppPath, h as PatchDataAppBody, D as DeleteDataAppPath, i as GetDataAppPasswordPath, R as ResetDataAppPasswordPath, j as GetSandboxPath, k as DeleteSandboxPath } from '../utils-DDERw8dM.cjs';
|
|
3
3
|
export { p as parseLogLines } from '../utils-DDERw8dM.cjs';
|
|
4
4
|
import 'qs';
|
|
5
5
|
import '../types-jKnx7Tm_.cjs';
|
|
6
6
|
|
|
7
|
-
declare const createDataScienceClient: ({ baseUrl, middlewares,
|
|
7
|
+
declare const createDataScienceClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
|
|
8
8
|
getAppRuns: (appId: GetDataAppRunsPath["appId"], query?: GetDataAppRunsQuery, signal?: AbortSignal) => Promise<{
|
|
9
9
|
state: "failed" | "starting" | "running" | "finished";
|
|
10
10
|
id: string;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { C as ClientInitOptions, A as ApiResponse } from '../types-
|
|
1
|
+
import { C as ClientInitOptions, A as ApiResponse } from '../types-0yn6OefX.js';
|
|
2
2
|
import { G as GetDataAppRunsPath, a as GetDataAppRunsQuery, b as GetDataAppRunPath, c as GetDataAppLogsDownloadPath, d as GetDataAppLogsTailPath, e as GetDataAppLogsTailQuery, L as LogEntry, f as GetAppsQuery, g as GetDataAppPath, C as CreateDataAppBody, P as PatchDataAppPath, h as PatchDataAppBody, D as DeleteDataAppPath, i as GetDataAppPasswordPath, R as ResetDataAppPasswordPath, j as GetSandboxPath, k as DeleteSandboxPath } from '../utils-C7eSJKtG.js';
|
|
3
3
|
export { p as parseLogLines } from '../utils-C7eSJKtG.js';
|
|
4
4
|
import 'qs';
|
|
5
5
|
import '../types-jKnx7Tm_.js';
|
|
6
6
|
|
|
7
|
-
declare const createDataScienceClient: ({ baseUrl, middlewares,
|
|
7
|
+
declare const createDataScienceClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
|
|
8
8
|
getAppRuns: (appId: GetDataAppRunsPath["appId"], query?: GetDataAppRunsQuery, signal?: AbortSignal) => Promise<{
|
|
9
9
|
state: "failed" | "starting" | "running" | "finished";
|
|
10
10
|
id: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { createDataScienceClient, parseLogLines } from '../chunk-
|
|
1
|
+
export { createDataScienceClient, parseLogLines } from '../chunk-HEVDH4JQ.js';
|
|
2
2
|
import '../chunk-MSI6FVGG.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-WJRHT346.js';
|
|
4
|
+
import '../chunk-RK2VGHJE.js';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkYXGBD4WP_cjs = require('../../chunk-YXGBD4WP.cjs');
|
|
4
4
|
var chunkGF4XZK5N_cjs = require('../../chunk-GF4XZK5N.cjs');
|
|
5
5
|
|
|
6
6
|
// src/domain/permissions/errors.ts
|
|
@@ -19,10 +19,11 @@ var PermissionDeniedError = class extends Error {
|
|
|
19
19
|
|
|
20
20
|
// src/domain/permissions/admin.ts
|
|
21
21
|
var role = (token) => token.admin.role;
|
|
22
|
-
var isAdmin = (token) => role(token) ===
|
|
23
|
-
var isAdminOrShare = (token) => role(token) ===
|
|
24
|
-
var isProductionManager = (token) => role(token) ===
|
|
25
|
-
var isDeveloperOrReviewer = (token) => role(token) ===
|
|
22
|
+
var isAdmin = (token) => role(token) === chunkYXGBD4WP_cjs.AdminRole.Admin;
|
|
23
|
+
var isAdminOrShare = (token) => role(token) === chunkYXGBD4WP_cjs.AdminRole.Admin || role(token) === chunkYXGBD4WP_cjs.AdminRole.Share;
|
|
24
|
+
var isProductionManager = (token) => role(token) === chunkYXGBD4WP_cjs.AdminRole.ProductionManager;
|
|
25
|
+
var isDeveloperOrReviewer = (token) => role(token) === chunkYXGBD4WP_cjs.AdminRole.Developer || role(token) === chunkYXGBD4WP_cjs.AdminRole.Reviewer;
|
|
26
|
+
var isReadOnlyRole = (token) => role(token) === chunkYXGBD4WP_cjs.AdminRole.ReadOnly;
|
|
26
27
|
var assertCanAdmin = (token) => {
|
|
27
28
|
if (!isAdmin(token)) {
|
|
28
29
|
throw new PermissionDeniedError({
|
|
@@ -132,5 +133,6 @@ exports.isAdmin = isAdmin;
|
|
|
132
133
|
exports.isAdminOrShare = isAdminOrShare;
|
|
133
134
|
exports.isDeveloperOrReviewer = isDeveloperOrReviewer;
|
|
134
135
|
exports.isProductionManager = isProductionManager;
|
|
136
|
+
exports.isReadOnlyRole = isReadOnlyRole;
|
|
135
137
|
//# sourceMappingURL=index.cjs.map
|
|
136
138
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/domain/permissions/errors.ts","../../../src/domain/permissions/admin.ts","../../../src/domain/permissions/configurations.ts"],"names":["AdminRole"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * @module domain/permissions/errors\n *\n * Stable error contract for permission denials.\n *\n * `PermissionDeniedError` is what every `assertCan*` pair throws on denial. The\n * three public fields are part of the SDK's published contract — consumers\n * (kbc-ui, kai-agent, third-party TS callers) may pattern-match on `action`\n * and surface `reason` in UI, so renames here are breaking changes.\n *\n * PII boundary on `subject`:\n * `subject` is optional and intended for debugging hints only — admin id,\n * role name, configuration id, branch id, etc. It MUST NOT carry the full\n * `StorageToken`, raw tokens, secrets, or any value that could be logged or\n * surfaced to a user without further redaction.\n */\nexport class PermissionDeniedError extends Error {\n public readonly action: string;\n public readonly reason?: string;\n public readonly subject?: string;\n\n constructor({ action, reason, subject }: { action: string; reason?: string; subject?: string }) {\n super(reason ? `Permission denied: ${action} (${reason})` : `Permission denied: ${action}`);\n this.name = 'PermissionDeniedError';\n this.action = action;\n this.reason = reason;\n this.subject = subject;\n }\n}\n","/**\n * @module domain/permissions/admin\n *\n * Baseline admin-role predicates. Token-only — depend purely on the admin\n * role string carried in `StorageToken.admin.role`. Each predicate has an\n * `assertCan*` pair that throws `PermissionDeniedError` with a stable\n * kebab-case `action` field documented per pair.\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\nimport { AdminRole } from '../../constants/adminRoles';\n\nimport { PermissionDeniedError } from './errors';\n\nconst role = (token: StorageToken): string => token.admin.role;\n\nexport const isAdmin = (token: StorageToken): boolean => role(token) === AdminRole.Admin;\n\nexport const isAdminOrShare = (token: StorageToken): boolean =>\n role(token) === AdminRole.Admin || role(token) === AdminRole.Share;\n\nexport const isProductionManager = (token: StorageToken): boolean =>\n role(token) === AdminRole.ProductionManager;\n\nexport const isDeveloperOrReviewer = (token: StorageToken): boolean =>\n role(token) === AdminRole.Developer || role(token) === AdminRole.Reviewer;\n\nexport const assertCanAdmin = (token: StorageToken): void => {\n if (!isAdmin(token)) {\n throw new PermissionDeniedError({\n action: 'admin',\n reason: `role '${role(token)}' is not admin`,\n });\n }\n};\n\nexport const assertCanAdminOrShare = (token: StorageToken): void => {\n if (!isAdminOrShare(token)) {\n throw new PermissionDeniedError({\n action: 'admin-or-share',\n reason: `role '${role(token)}' is not admin or share`,\n });\n }\n};\n\nexport const assertCanProductionManage = (token: StorageToken): void => {\n if (!isProductionManager(token)) {\n throw new PermissionDeniedError({\n action: 'production-manage',\n reason: `role '${role(token)}' is not productionManager`,\n });\n }\n};\n\nexport const assertCanDevelopOrReview = (token: StorageToken): void => {\n if (!isDeveloperOrReviewer(token)) {\n throw new PermissionDeniedError({\n action: 'develop-or-review',\n reason: `role '${role(token)}' is not developer or reviewer`,\n });\n }\n};\n","/**\n * @module domain/permissions/configurations\n *\n * Predicate pairs guarding the Core SDK configuration workflow methods\n * (create / copy / migrate-from-template / purge / assign-folder). Each\n * predicate composes the baseline admin role predicates with the caller-\n * supplied dev-mode flag from `ctx`.\n *\n * Rule shape:\n * - In a dev branch (`ctx.isDevModeActive === true`) → caller must be a\n * developer or reviewer.\n * - In production (`ctx.isDevModeActive === false`) → caller must be a\n * production manager.\n * - `canPurgeConfiguration` is **admin-only**, regardless of branch mode.\n * Purge is destructive and the situational base rule does not apply —\n * `token.admin.role` is a single scalar, so requiring both \"admin\" and\n * \"developer/reviewer/productionManager\" simultaneously would be an\n * impossible conjunction. The `ctx` parameter is accepted for signature\n * symmetry with the other configuration predicates and ignored.\n *\n * `ctx` is the trailing object argument convention for composed predicates;\n * extra fields land here as future rules grow (see AGENTS.md).\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\n\nimport { isAdmin, isDeveloperOrReviewer, isProductionManager } from './admin';\nimport { PermissionDeniedError } from './errors';\n\n/**\n * Caller-supplied context for configuration predicates.\n *\n * @property isDevModeActive — `true` when the user is operating inside a\n * development branch (any storage branch other than the protected default /\n * production branch); `false` when operating on the default branch in\n * production.\n *\n * How the caller determines this:\n * - The active branch comes from the caller's own routing / app state\n * (e.g. `/branch/:branchId` in kbc-ui).\n * - A branch is \"dev mode\" when it is **not** the default branch returned by\n * `apiClient.storage.devBranches.list()` (where `isDefault === true`).\n * - kbc-ui exposes this through its `RoutesStore.getCurrentRouteParam('branchId')`\n * compared against the default branch id; the api-client itself stays\n * isomorphic and never reads that state directly.\n *\n * Why it changes the rule:\n * - In dev branches Keboola allows broader write access — `developer` and\n * `reviewer` roles may create / copy / migrate configurations because the\n * branch is sandboxed from production.\n * - On the default branch only `productionManager` (or `admin`) may perform\n * the same writes, since changes ship live to production.\n */\nexport type ConfigurationCtx = {\n isDevModeActive: boolean;\n};\n\nconst meetsBaseRule = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n ctx.isDevModeActive ? isDeveloperOrReviewer(token) : isProductionManager(token);\n\nconst baseDenialReason = (ctx: ConfigurationCtx): string =>\n ctx.isDevModeActive\n ? 'dev branch requires developer or reviewer role'\n : 'production requires productionManager role';\n\nexport const canCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canPurgeConfiguration: (token: StorageToken, ctx: ConfigurationCtx) => boolean = (\n token,\n) => isAdmin(token);\n\nexport const canAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const assertCanCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCreateConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'create-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCopyConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'copy-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canMigrateFromTemplate(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'migrate-from-template',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanPurgeConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canPurgeConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'purge-configuration',\n reason: 'purge requires admin role',\n });\n }\n};\n\nexport const assertCanAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canAssignFolder(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'assign-folder',\n reason: baseDenialReason(ctx),\n });\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/domain/permissions/errors.ts","../../../src/domain/permissions/admin.ts","../../../src/domain/permissions/configurations.ts"],"names":["AdminRole"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * @module domain/permissions/errors\n *\n * Stable error contract for permission denials.\n *\n * `PermissionDeniedError` is what every `assertCan*` pair throws on denial. The\n * three public fields are part of the SDK's published contract — consumers\n * (kbc-ui, kai-agent, third-party TS callers) may pattern-match on `action`\n * and surface `reason` in UI, so renames here are breaking changes.\n *\n * PII boundary on `subject`:\n * `subject` is optional and intended for debugging hints only — admin id,\n * role name, configuration id, branch id, etc. It MUST NOT carry the full\n * `StorageToken`, raw tokens, secrets, or any value that could be logged or\n * surfaced to a user without further redaction.\n */\nexport class PermissionDeniedError extends Error {\n public readonly action: string;\n public readonly reason?: string;\n public readonly subject?: string;\n\n constructor({ action, reason, subject }: { action: string; reason?: string; subject?: string }) {\n super(reason ? `Permission denied: ${action} (${reason})` : `Permission denied: ${action}`);\n this.name = 'PermissionDeniedError';\n this.action = action;\n this.reason = reason;\n this.subject = subject;\n }\n}\n","/**\n * @module domain/permissions/admin\n *\n * Baseline admin-role predicates. Token-only — depend purely on the admin\n * role string carried in `StorageToken.admin.role`. Each predicate has an\n * `assertCan*` pair that throws `PermissionDeniedError` with a stable\n * kebab-case `action` field documented per pair.\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\nimport { AdminRole } from '../../constants/adminRoles';\n\nimport { PermissionDeniedError } from './errors';\n\nconst role = (token: StorageToken): string => token.admin.role;\n\nexport const isAdmin = (token: StorageToken): boolean => role(token) === AdminRole.Admin;\n\nexport const isAdminOrShare = (token: StorageToken): boolean =>\n role(token) === AdminRole.Admin || role(token) === AdminRole.Share;\n\nexport const isProductionManager = (token: StorageToken): boolean =>\n role(token) === AdminRole.ProductionManager;\n\nexport const isDeveloperOrReviewer = (token: StorageToken): boolean =>\n role(token) === AdminRole.Developer || role(token) === AdminRole.Reviewer;\n\nexport const isReadOnlyRole = (token: StorageToken): boolean => role(token) === AdminRole.ReadOnly;\n\nexport const assertCanAdmin = (token: StorageToken): void => {\n if (!isAdmin(token)) {\n throw new PermissionDeniedError({\n action: 'admin',\n reason: `role '${role(token)}' is not admin`,\n });\n }\n};\n\nexport const assertCanAdminOrShare = (token: StorageToken): void => {\n if (!isAdminOrShare(token)) {\n throw new PermissionDeniedError({\n action: 'admin-or-share',\n reason: `role '${role(token)}' is not admin or share`,\n });\n }\n};\n\nexport const assertCanProductionManage = (token: StorageToken): void => {\n if (!isProductionManager(token)) {\n throw new PermissionDeniedError({\n action: 'production-manage',\n reason: `role '${role(token)}' is not productionManager`,\n });\n }\n};\n\nexport const assertCanDevelopOrReview = (token: StorageToken): void => {\n if (!isDeveloperOrReviewer(token)) {\n throw new PermissionDeniedError({\n action: 'develop-or-review',\n reason: `role '${role(token)}' is not developer or reviewer`,\n });\n }\n};\n","/**\n * @module domain/permissions/configurations\n *\n * Predicate pairs guarding the Core SDK configuration workflow methods\n * (create / copy / migrate-from-template / purge / assign-folder). Each\n * predicate composes the baseline admin role predicates with the caller-\n * supplied dev-mode flag from `ctx`.\n *\n * Rule shape:\n * - In a dev branch (`ctx.isDevModeActive === true`) → caller must be a\n * developer or reviewer.\n * - In production (`ctx.isDevModeActive === false`) → caller must be a\n * production manager.\n * - `canPurgeConfiguration` is **admin-only**, regardless of branch mode.\n * Purge is destructive and the situational base rule does not apply —\n * `token.admin.role` is a single scalar, so requiring both \"admin\" and\n * \"developer/reviewer/productionManager\" simultaneously would be an\n * impossible conjunction. The `ctx` parameter is accepted for signature\n * symmetry with the other configuration predicates and ignored.\n *\n * `ctx` is the trailing object argument convention for composed predicates;\n * extra fields land here as future rules grow (see AGENTS.md).\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\n\nimport { isAdmin, isDeveloperOrReviewer, isProductionManager } from './admin';\nimport { PermissionDeniedError } from './errors';\n\n/**\n * Caller-supplied context for configuration predicates.\n *\n * @property isDevModeActive — `true` when the user is operating inside a\n * development branch (any storage branch other than the protected default /\n * production branch); `false` when operating on the default branch in\n * production.\n *\n * How the caller determines this:\n * - The active branch comes from the caller's own routing / app state\n * (e.g. `/branch/:branchId` in kbc-ui).\n * - A branch is \"dev mode\" when it is **not** the default branch returned by\n * `apiClient.storage.devBranches.list()` (where `isDefault === true`).\n * - kbc-ui exposes this through its `RoutesStore.getCurrentRouteParam('branchId')`\n * compared against the default branch id; the api-client itself stays\n * isomorphic and never reads that state directly.\n *\n * Why it changes the rule:\n * - In dev branches Keboola allows broader write access — `developer` and\n * `reviewer` roles may create / copy / migrate configurations because the\n * branch is sandboxed from production.\n * - On the default branch only `productionManager` (or `admin`) may perform\n * the same writes, since changes ship live to production.\n */\nexport type ConfigurationCtx = {\n isDevModeActive: boolean;\n};\n\nconst meetsBaseRule = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n ctx.isDevModeActive ? isDeveloperOrReviewer(token) : isProductionManager(token);\n\nconst baseDenialReason = (ctx: ConfigurationCtx): string =>\n ctx.isDevModeActive\n ? 'dev branch requires developer or reviewer role'\n : 'production requires productionManager role';\n\nexport const canCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canPurgeConfiguration: (token: StorageToken, ctx: ConfigurationCtx) => boolean = (\n token,\n) => isAdmin(token);\n\nexport const canAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const assertCanCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCreateConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'create-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCopyConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'copy-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canMigrateFromTemplate(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'migrate-from-template',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanPurgeConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canPurgeConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'purge-configuration',\n reason: 'purge requires admin role',\n });\n }\n};\n\nexport const assertCanAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canAssignFolder(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'assign-folder',\n reason: baseDenialReason(ctx),\n });\n }\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S as StorageToken } from '../../types-
|
|
2
|
-
export { h as hasAdminFeature, a as hasFeature } from '../../project-
|
|
3
|
-
import '../../backends-
|
|
1
|
+
import { S as StorageToken } from '../../types-ClxrZC77.cjs';
|
|
2
|
+
export { h as hasAdminFeature, a as hasFeature } from '../../project-CX3TEH8A.cjs';
|
|
3
|
+
import '../../backends-Bofq_Nr0.cjs';
|
|
4
4
|
import '../../types-jKnx7Tm_.cjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -43,6 +43,7 @@ declare const isAdmin: (token: StorageToken) => boolean;
|
|
|
43
43
|
declare const isAdminOrShare: (token: StorageToken) => boolean;
|
|
44
44
|
declare const isProductionManager: (token: StorageToken) => boolean;
|
|
45
45
|
declare const isDeveloperOrReviewer: (token: StorageToken) => boolean;
|
|
46
|
+
declare const isReadOnlyRole: (token: StorageToken) => boolean;
|
|
46
47
|
declare const assertCanAdmin: (token: StorageToken) => void;
|
|
47
48
|
declare const assertCanAdminOrShare: (token: StorageToken) => void;
|
|
48
49
|
declare const assertCanProductionManage: (token: StorageToken) => void;
|
|
@@ -110,4 +111,4 @@ declare const assertCanMigrateFromTemplate: (token: StorageToken, ctx: Configura
|
|
|
110
111
|
declare const assertCanPurgeConfiguration: (token: StorageToken, ctx: ConfigurationCtx) => void;
|
|
111
112
|
declare const assertCanAssignFolder: (token: StorageToken, ctx: ConfigurationCtx) => void;
|
|
112
113
|
|
|
113
|
-
export { type ConfigurationCtx, PermissionDeniedError, assertCanAdmin, assertCanAdminOrShare, assertCanAssignFolder, assertCanCopyConfiguration, assertCanCreateConfiguration, assertCanDevelopOrReview, assertCanMigrateFromTemplate, assertCanProductionManage, assertCanPurgeConfiguration, canAssignFolder, canCopyConfiguration, canCreateConfiguration, canMigrateFromTemplate, canPurgeConfiguration, isAdmin, isAdminOrShare, isDeveloperOrReviewer, isProductionManager };
|
|
114
|
+
export { type ConfigurationCtx, PermissionDeniedError, assertCanAdmin, assertCanAdminOrShare, assertCanAssignFolder, assertCanCopyConfiguration, assertCanCreateConfiguration, assertCanDevelopOrReview, assertCanMigrateFromTemplate, assertCanProductionManage, assertCanPurgeConfiguration, canAssignFolder, canCopyConfiguration, canCreateConfiguration, canMigrateFromTemplate, canPurgeConfiguration, isAdmin, isAdminOrShare, isDeveloperOrReviewer, isProductionManager, isReadOnlyRole };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S as StorageToken } from '../../types-
|
|
2
|
-
export { h as hasAdminFeature, a as hasFeature } from '../../project-
|
|
3
|
-
import '../../backends-
|
|
1
|
+
import { S as StorageToken } from '../../types-o8eTf_G9.js';
|
|
2
|
+
export { h as hasAdminFeature, a as hasFeature } from '../../project-Bj7A_TSe.js';
|
|
3
|
+
import '../../backends-Bofq_Nr0.js';
|
|
4
4
|
import '../../types-jKnx7Tm_.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -43,6 +43,7 @@ declare const isAdmin: (token: StorageToken) => boolean;
|
|
|
43
43
|
declare const isAdminOrShare: (token: StorageToken) => boolean;
|
|
44
44
|
declare const isProductionManager: (token: StorageToken) => boolean;
|
|
45
45
|
declare const isDeveloperOrReviewer: (token: StorageToken) => boolean;
|
|
46
|
+
declare const isReadOnlyRole: (token: StorageToken) => boolean;
|
|
46
47
|
declare const assertCanAdmin: (token: StorageToken) => void;
|
|
47
48
|
declare const assertCanAdminOrShare: (token: StorageToken) => void;
|
|
48
49
|
declare const assertCanProductionManage: (token: StorageToken) => void;
|
|
@@ -110,4 +111,4 @@ declare const assertCanMigrateFromTemplate: (token: StorageToken, ctx: Configura
|
|
|
110
111
|
declare const assertCanPurgeConfiguration: (token: StorageToken, ctx: ConfigurationCtx) => void;
|
|
111
112
|
declare const assertCanAssignFolder: (token: StorageToken, ctx: ConfigurationCtx) => void;
|
|
112
113
|
|
|
113
|
-
export { type ConfigurationCtx, PermissionDeniedError, assertCanAdmin, assertCanAdminOrShare, assertCanAssignFolder, assertCanCopyConfiguration, assertCanCreateConfiguration, assertCanDevelopOrReview, assertCanMigrateFromTemplate, assertCanProductionManage, assertCanPurgeConfiguration, canAssignFolder, canCopyConfiguration, canCreateConfiguration, canMigrateFromTemplate, canPurgeConfiguration, isAdmin, isAdminOrShare, isDeveloperOrReviewer, isProductionManager };
|
|
114
|
+
export { type ConfigurationCtx, PermissionDeniedError, assertCanAdmin, assertCanAdminOrShare, assertCanAssignFolder, assertCanCopyConfiguration, assertCanCreateConfiguration, assertCanDevelopOrReview, assertCanMigrateFromTemplate, assertCanProductionManage, assertCanPurgeConfiguration, canAssignFolder, canCopyConfiguration, canCreateConfiguration, canMigrateFromTemplate, canPurgeConfiguration, isAdmin, isAdminOrShare, isDeveloperOrReviewer, isProductionManager, isReadOnlyRole };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AdminRole } from '../../chunk-
|
|
1
|
+
import { AdminRole } from '../../chunk-552FC4ZV.js';
|
|
2
2
|
export { hasAdminFeature, hasFeature } from '../../chunk-UABYNGBZ.js';
|
|
3
3
|
|
|
4
4
|
// src/domain/permissions/errors.ts
|
|
@@ -21,6 +21,7 @@ var isAdmin = (token) => role(token) === AdminRole.Admin;
|
|
|
21
21
|
var isAdminOrShare = (token) => role(token) === AdminRole.Admin || role(token) === AdminRole.Share;
|
|
22
22
|
var isProductionManager = (token) => role(token) === AdminRole.ProductionManager;
|
|
23
23
|
var isDeveloperOrReviewer = (token) => role(token) === AdminRole.Developer || role(token) === AdminRole.Reviewer;
|
|
24
|
+
var isReadOnlyRole = (token) => role(token) === AdminRole.ReadOnly;
|
|
24
25
|
var assertCanAdmin = (token) => {
|
|
25
26
|
if (!isAdmin(token)) {
|
|
26
27
|
throw new PermissionDeniedError({
|
|
@@ -103,6 +104,6 @@ var assertCanAssignFolder = (token, ctx) => {
|
|
|
103
104
|
}
|
|
104
105
|
};
|
|
105
106
|
|
|
106
|
-
export { PermissionDeniedError, assertCanAdmin, assertCanAdminOrShare, assertCanAssignFolder, assertCanCopyConfiguration, assertCanCreateConfiguration, assertCanDevelopOrReview, assertCanMigrateFromTemplate, assertCanProductionManage, assertCanPurgeConfiguration, canAssignFolder, canCopyConfiguration, canCreateConfiguration, canMigrateFromTemplate, canPurgeConfiguration, isAdmin, isAdminOrShare, isDeveloperOrReviewer, isProductionManager };
|
|
107
|
+
export { PermissionDeniedError, assertCanAdmin, assertCanAdminOrShare, assertCanAssignFolder, assertCanCopyConfiguration, assertCanCreateConfiguration, assertCanDevelopOrReview, assertCanMigrateFromTemplate, assertCanProductionManage, assertCanPurgeConfiguration, canAssignFolder, canCopyConfiguration, canCreateConfiguration, canMigrateFromTemplate, canPurgeConfiguration, isAdmin, isAdminOrShare, isDeveloperOrReviewer, isProductionManager, isReadOnlyRole };
|
|
107
108
|
//# sourceMappingURL=index.js.map
|
|
108
109
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/domain/permissions/errors.ts","../../../src/domain/permissions/admin.ts","../../../src/domain/permissions/configurations.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @module domain/permissions/errors\n *\n * Stable error contract for permission denials.\n *\n * `PermissionDeniedError` is what every `assertCan*` pair throws on denial. The\n * three public fields are part of the SDK's published contract — consumers\n * (kbc-ui, kai-agent, third-party TS callers) may pattern-match on `action`\n * and surface `reason` in UI, so renames here are breaking changes.\n *\n * PII boundary on `subject`:\n * `subject` is optional and intended for debugging hints only — admin id,\n * role name, configuration id, branch id, etc. It MUST NOT carry the full\n * `StorageToken`, raw tokens, secrets, or any value that could be logged or\n * surfaced to a user without further redaction.\n */\nexport class PermissionDeniedError extends Error {\n public readonly action: string;\n public readonly reason?: string;\n public readonly subject?: string;\n\n constructor({ action, reason, subject }: { action: string; reason?: string; subject?: string }) {\n super(reason ? `Permission denied: ${action} (${reason})` : `Permission denied: ${action}`);\n this.name = 'PermissionDeniedError';\n this.action = action;\n this.reason = reason;\n this.subject = subject;\n }\n}\n","/**\n * @module domain/permissions/admin\n *\n * Baseline admin-role predicates. Token-only — depend purely on the admin\n * role string carried in `StorageToken.admin.role`. Each predicate has an\n * `assertCan*` pair that throws `PermissionDeniedError` with a stable\n * kebab-case `action` field documented per pair.\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\nimport { AdminRole } from '../../constants/adminRoles';\n\nimport { PermissionDeniedError } from './errors';\n\nconst role = (token: StorageToken): string => token.admin.role;\n\nexport const isAdmin = (token: StorageToken): boolean => role(token) === AdminRole.Admin;\n\nexport const isAdminOrShare = (token: StorageToken): boolean =>\n role(token) === AdminRole.Admin || role(token) === AdminRole.Share;\n\nexport const isProductionManager = (token: StorageToken): boolean =>\n role(token) === AdminRole.ProductionManager;\n\nexport const isDeveloperOrReviewer = (token: StorageToken): boolean =>\n role(token) === AdminRole.Developer || role(token) === AdminRole.Reviewer;\n\nexport const assertCanAdmin = (token: StorageToken): void => {\n if (!isAdmin(token)) {\n throw new PermissionDeniedError({\n action: 'admin',\n reason: `role '${role(token)}' is not admin`,\n });\n }\n};\n\nexport const assertCanAdminOrShare = (token: StorageToken): void => {\n if (!isAdminOrShare(token)) {\n throw new PermissionDeniedError({\n action: 'admin-or-share',\n reason: `role '${role(token)}' is not admin or share`,\n });\n }\n};\n\nexport const assertCanProductionManage = (token: StorageToken): void => {\n if (!isProductionManager(token)) {\n throw new PermissionDeniedError({\n action: 'production-manage',\n reason: `role '${role(token)}' is not productionManager`,\n });\n }\n};\n\nexport const assertCanDevelopOrReview = (token: StorageToken): void => {\n if (!isDeveloperOrReviewer(token)) {\n throw new PermissionDeniedError({\n action: 'develop-or-review',\n reason: `role '${role(token)}' is not developer or reviewer`,\n });\n }\n};\n","/**\n * @module domain/permissions/configurations\n *\n * Predicate pairs guarding the Core SDK configuration workflow methods\n * (create / copy / migrate-from-template / purge / assign-folder). Each\n * predicate composes the baseline admin role predicates with the caller-\n * supplied dev-mode flag from `ctx`.\n *\n * Rule shape:\n * - In a dev branch (`ctx.isDevModeActive === true`) → caller must be a\n * developer or reviewer.\n * - In production (`ctx.isDevModeActive === false`) → caller must be a\n * production manager.\n * - `canPurgeConfiguration` is **admin-only**, regardless of branch mode.\n * Purge is destructive and the situational base rule does not apply —\n * `token.admin.role` is a single scalar, so requiring both \"admin\" and\n * \"developer/reviewer/productionManager\" simultaneously would be an\n * impossible conjunction. The `ctx` parameter is accepted for signature\n * symmetry with the other configuration predicates and ignored.\n *\n * `ctx` is the trailing object argument convention for composed predicates;\n * extra fields land here as future rules grow (see AGENTS.md).\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\n\nimport { isAdmin, isDeveloperOrReviewer, isProductionManager } from './admin';\nimport { PermissionDeniedError } from './errors';\n\n/**\n * Caller-supplied context for configuration predicates.\n *\n * @property isDevModeActive — `true` when the user is operating inside a\n * development branch (any storage branch other than the protected default /\n * production branch); `false` when operating on the default branch in\n * production.\n *\n * How the caller determines this:\n * - The active branch comes from the caller's own routing / app state\n * (e.g. `/branch/:branchId` in kbc-ui).\n * - A branch is \"dev mode\" when it is **not** the default branch returned by\n * `apiClient.storage.devBranches.list()` (where `isDefault === true`).\n * - kbc-ui exposes this through its `RoutesStore.getCurrentRouteParam('branchId')`\n * compared against the default branch id; the api-client itself stays\n * isomorphic and never reads that state directly.\n *\n * Why it changes the rule:\n * - In dev branches Keboola allows broader write access — `developer` and\n * `reviewer` roles may create / copy / migrate configurations because the\n * branch is sandboxed from production.\n * - On the default branch only `productionManager` (or `admin`) may perform\n * the same writes, since changes ship live to production.\n */\nexport type ConfigurationCtx = {\n isDevModeActive: boolean;\n};\n\nconst meetsBaseRule = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n ctx.isDevModeActive ? isDeveloperOrReviewer(token) : isProductionManager(token);\n\nconst baseDenialReason = (ctx: ConfigurationCtx): string =>\n ctx.isDevModeActive\n ? 'dev branch requires developer or reviewer role'\n : 'production requires productionManager role';\n\nexport const canCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canPurgeConfiguration: (token: StorageToken, ctx: ConfigurationCtx) => boolean = (\n token,\n) => isAdmin(token);\n\nexport const canAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const assertCanCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCreateConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'create-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCopyConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'copy-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canMigrateFromTemplate(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'migrate-from-template',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanPurgeConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canPurgeConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'purge-configuration',\n reason: 'purge requires admin role',\n });\n }\n};\n\nexport const assertCanAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canAssignFolder(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'assign-folder',\n reason: baseDenialReason(ctx),\n });\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/domain/permissions/errors.ts","../../../src/domain/permissions/admin.ts","../../../src/domain/permissions/configurations.ts"],"names":[],"mappings":";;;;AAgBO,IAAM,qBAAA,GAAN,cAAoC,KAAA,CAAM;AAAA,EAC/B,MAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EAEhB,WAAA,CAAY,EAAE,MAAA,EAAQ,MAAA,EAAQ,SAAQ,EAA0D;AAC9F,IAAA,KAAA,CAAM,MAAA,GAAS,sBAAsB,MAAM,CAAA,EAAA,EAAK,MAAM,CAAA,CAAA,CAAA,GAAM,CAAA,mBAAA,EAAsB,MAAM,CAAA,CAAE,CAAA;AAC1F,IAAA,IAAA,CAAK,IAAA,GAAO,uBAAA;AACZ,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACjB;AACF;;;ACfA,IAAM,IAAA,GAAO,CAAC,KAAA,KAAgC,KAAA,CAAM,KAAA,CAAM,IAAA;AAEnD,IAAM,UAAU,CAAC,KAAA,KAAiC,IAAA,CAAK,KAAK,MAAM,SAAA,CAAU;AAE5E,IAAM,cAAA,GAAiB,CAAC,KAAA,KAC7B,IAAA,CAAK,KAAK,CAAA,KAAM,SAAA,CAAU,KAAA,IAAS,IAAA,CAAK,KAAK,CAAA,KAAM,SAAA,CAAU;AAExD,IAAM,sBAAsB,CAAC,KAAA,KAClC,IAAA,CAAK,KAAK,MAAM,SAAA,CAAU;AAErB,IAAM,qBAAA,GAAwB,CAAC,KAAA,KACpC,IAAA,CAAK,KAAK,CAAA,KAAM,SAAA,CAAU,SAAA,IAAa,IAAA,CAAK,KAAK,CAAA,KAAM,SAAA,CAAU;AAE5D,IAAM,iBAAiB,CAAC,KAAA,KAAiC,IAAA,CAAK,KAAK,MAAM,SAAA,CAAU;AAEnF,IAAM,cAAA,GAAiB,CAAC,KAAA,KAA8B;AAC3D,EAAA,IAAI,CAAC,OAAA,CAAQ,KAAK,CAAA,EAAG;AACnB,IAAA,MAAM,IAAI,qBAAA,CAAsB;AAAA,MAC9B,MAAA,EAAQ,OAAA;AAAA,MACR,MAAA,EAAQ,CAAA,MAAA,EAAS,IAAA,CAAK,KAAK,CAAC,CAAA,cAAA;AAAA,KAC7B,CAAA;AAAA,EACH;AACF;AAEO,IAAM,qBAAA,GAAwB,CAAC,KAAA,KAA8B;AAClE,EAAA,IAAI,CAAC,cAAA,CAAe,KAAK,CAAA,EAAG;AAC1B,IAAA,MAAM,IAAI,qBAAA,CAAsB;AAAA,MAC9B,MAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAQ,CAAA,MAAA,EAAS,IAAA,CAAK,KAAK,CAAC,CAAA,uBAAA;AAAA,KAC7B,CAAA;AAAA,EACH;AACF;AAEO,IAAM,yBAAA,GAA4B,CAAC,KAAA,KAA8B;AACtE,EAAA,IAAI,CAAC,mBAAA,CAAoB,KAAK,CAAA,EAAG;AAC/B,IAAA,MAAM,IAAI,qBAAA,CAAsB;AAAA,MAC9B,MAAA,EAAQ,mBAAA;AAAA,MACR,MAAA,EAAQ,CAAA,MAAA,EAAS,IAAA,CAAK,KAAK,CAAC,CAAA,0BAAA;AAAA,KAC7B,CAAA;AAAA,EACH;AACF;AAEO,IAAM,wBAAA,GAA2B,CAAC,KAAA,KAA8B;AACrE,EAAA,IAAI,CAAC,qBAAA,CAAsB,KAAK,CAAA,EAAG;AACjC,IAAA,MAAM,IAAI,qBAAA,CAAsB;AAAA,MAC9B,MAAA,EAAQ,mBAAA;AAAA,MACR,MAAA,EAAQ,CAAA,MAAA,EAAS,IAAA,CAAK,KAAK,CAAC,CAAA,8BAAA;AAAA,KAC7B,CAAA;AAAA,EACH;AACF;;;ACNA,IAAM,aAAA,GAAgB,CAAC,KAAA,EAAqB,GAAA,KAC1C,GAAA,CAAI,kBAAkB,qBAAA,CAAsB,KAAK,CAAA,GAAI,mBAAA,CAAoB,KAAK,CAAA;AAEhF,IAAM,gBAAA,GAAmB,CAAC,GAAA,KACxB,GAAA,CAAI,kBACA,gDAAA,GACA,4CAAA;AAEC,IAAM,yBAAyB,CAAC,KAAA,EAAqB,GAAA,KAC1D,aAAA,CAAc,OAAO,GAAG;AAEnB,IAAM,uBAAuB,CAAC,KAAA,EAAqB,GAAA,KACxD,aAAA,CAAc,OAAO,GAAG;AAEnB,IAAM,yBAAyB,CAAC,KAAA,EAAqB,GAAA,KAC1D,aAAA,CAAc,OAAO,GAAG;AAEnB,IAAM,qBAAA,GAAiF,CAC5F,KAAA,KACG,OAAA,CAAQ,KAAK;AAEX,IAAM,kBAAkB,CAAC,KAAA,EAAqB,GAAA,KACnD,aAAA,CAAc,OAAO,GAAG;AAEnB,IAAM,4BAAA,GAA+B,CAAC,KAAA,EAAqB,GAAA,KAAgC;AAChG,EAAA,IAAI,CAAC,sBAAA,CAAuB,KAAA,EAAO,GAAG,CAAA,EAAG;AACvC,IAAA,MAAM,IAAI,qBAAA,CAAsB;AAAA,MAC9B,MAAA,EAAQ,sBAAA;AAAA,MACR,MAAA,EAAQ,iBAAiB,GAAG;AAAA,KAC7B,CAAA;AAAA,EACH;AACF;AAEO,IAAM,0BAAA,GAA6B,CAAC,KAAA,EAAqB,GAAA,KAAgC;AAC9F,EAAA,IAAI,CAAC,oBAAA,CAAqB,KAAA,EAAO,GAAG,CAAA,EAAG;AACrC,IAAA,MAAM,IAAI,qBAAA,CAAsB;AAAA,MAC9B,MAAA,EAAQ,oBAAA;AAAA,MACR,MAAA,EAAQ,iBAAiB,GAAG;AAAA,KAC7B,CAAA;AAAA,EACH;AACF;AAEO,IAAM,4BAAA,GAA+B,CAAC,KAAA,EAAqB,GAAA,KAAgC;AAChG,EAAA,IAAI,CAAC,sBAAA,CAAuB,KAAA,EAAO,GAAG,CAAA,EAAG;AACvC,IAAA,MAAM,IAAI,qBAAA,CAAsB;AAAA,MAC9B,MAAA,EAAQ,uBAAA;AAAA,MACR,MAAA,EAAQ,iBAAiB,GAAG;AAAA,KAC7B,CAAA;AAAA,EACH;AACF;AAEO,IAAM,2BAAA,GAA8B,CAAC,KAAA,EAAqB,GAAA,KAAgC;AAC/F,EAAA,IAAI,CAAC,qBAAA,CAAsB,KAAU,CAAA,EAAG;AACtC,IAAA,MAAM,IAAI,qBAAA,CAAsB;AAAA,MAC9B,MAAA,EAAQ,qBAAA;AAAA,MACR,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH;AACF;AAEO,IAAM,qBAAA,GAAwB,CAAC,KAAA,EAAqB,GAAA,KAAgC;AACzF,EAAA,IAAI,CAAC,eAAA,CAAgB,KAAA,EAAO,GAAG,CAAA,EAAG;AAChC,IAAA,MAAM,IAAI,qBAAA,CAAsB;AAAA,MAC9B,MAAA,EAAQ,eAAA;AAAA,MACR,MAAA,EAAQ,iBAAiB,GAAG;AAAA,KAC7B,CAAA;AAAA,EACH;AACF","file":"index.js","sourcesContent":["/**\n * @module domain/permissions/errors\n *\n * Stable error contract for permission denials.\n *\n * `PermissionDeniedError` is what every `assertCan*` pair throws on denial. The\n * three public fields are part of the SDK's published contract — consumers\n * (kbc-ui, kai-agent, third-party TS callers) may pattern-match on `action`\n * and surface `reason` in UI, so renames here are breaking changes.\n *\n * PII boundary on `subject`:\n * `subject` is optional and intended for debugging hints only — admin id,\n * role name, configuration id, branch id, etc. It MUST NOT carry the full\n * `StorageToken`, raw tokens, secrets, or any value that could be logged or\n * surfaced to a user without further redaction.\n */\nexport class PermissionDeniedError extends Error {\n public readonly action: string;\n public readonly reason?: string;\n public readonly subject?: string;\n\n constructor({ action, reason, subject }: { action: string; reason?: string; subject?: string }) {\n super(reason ? `Permission denied: ${action} (${reason})` : `Permission denied: ${action}`);\n this.name = 'PermissionDeniedError';\n this.action = action;\n this.reason = reason;\n this.subject = subject;\n }\n}\n","/**\n * @module domain/permissions/admin\n *\n * Baseline admin-role predicates. Token-only — depend purely on the admin\n * role string carried in `StorageToken.admin.role`. Each predicate has an\n * `assertCan*` pair that throws `PermissionDeniedError` with a stable\n * kebab-case `action` field documented per pair.\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\nimport { AdminRole } from '../../constants/adminRoles';\n\nimport { PermissionDeniedError } from './errors';\n\nconst role = (token: StorageToken): string => token.admin.role;\n\nexport const isAdmin = (token: StorageToken): boolean => role(token) === AdminRole.Admin;\n\nexport const isAdminOrShare = (token: StorageToken): boolean =>\n role(token) === AdminRole.Admin || role(token) === AdminRole.Share;\n\nexport const isProductionManager = (token: StorageToken): boolean =>\n role(token) === AdminRole.ProductionManager;\n\nexport const isDeveloperOrReviewer = (token: StorageToken): boolean =>\n role(token) === AdminRole.Developer || role(token) === AdminRole.Reviewer;\n\nexport const isReadOnlyRole = (token: StorageToken): boolean => role(token) === AdminRole.ReadOnly;\n\nexport const assertCanAdmin = (token: StorageToken): void => {\n if (!isAdmin(token)) {\n throw new PermissionDeniedError({\n action: 'admin',\n reason: `role '${role(token)}' is not admin`,\n });\n }\n};\n\nexport const assertCanAdminOrShare = (token: StorageToken): void => {\n if (!isAdminOrShare(token)) {\n throw new PermissionDeniedError({\n action: 'admin-or-share',\n reason: `role '${role(token)}' is not admin or share`,\n });\n }\n};\n\nexport const assertCanProductionManage = (token: StorageToken): void => {\n if (!isProductionManager(token)) {\n throw new PermissionDeniedError({\n action: 'production-manage',\n reason: `role '${role(token)}' is not productionManager`,\n });\n }\n};\n\nexport const assertCanDevelopOrReview = (token: StorageToken): void => {\n if (!isDeveloperOrReviewer(token)) {\n throw new PermissionDeniedError({\n action: 'develop-or-review',\n reason: `role '${role(token)}' is not developer or reviewer`,\n });\n }\n};\n","/**\n * @module domain/permissions/configurations\n *\n * Predicate pairs guarding the Core SDK configuration workflow methods\n * (create / copy / migrate-from-template / purge / assign-folder). Each\n * predicate composes the baseline admin role predicates with the caller-\n * supplied dev-mode flag from `ctx`.\n *\n * Rule shape:\n * - In a dev branch (`ctx.isDevModeActive === true`) → caller must be a\n * developer or reviewer.\n * - In production (`ctx.isDevModeActive === false`) → caller must be a\n * production manager.\n * - `canPurgeConfiguration` is **admin-only**, regardless of branch mode.\n * Purge is destructive and the situational base rule does not apply —\n * `token.admin.role` is a single scalar, so requiring both \"admin\" and\n * \"developer/reviewer/productionManager\" simultaneously would be an\n * impossible conjunction. The `ctx` parameter is accepted for signature\n * symmetry with the other configuration predicates and ignored.\n *\n * `ctx` is the trailing object argument convention for composed predicates;\n * extra fields land here as future rules grow (see AGENTS.md).\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\n\nimport { isAdmin, isDeveloperOrReviewer, isProductionManager } from './admin';\nimport { PermissionDeniedError } from './errors';\n\n/**\n * Caller-supplied context for configuration predicates.\n *\n * @property isDevModeActive — `true` when the user is operating inside a\n * development branch (any storage branch other than the protected default /\n * production branch); `false` when operating on the default branch in\n * production.\n *\n * How the caller determines this:\n * - The active branch comes from the caller's own routing / app state\n * (e.g. `/branch/:branchId` in kbc-ui).\n * - A branch is \"dev mode\" when it is **not** the default branch returned by\n * `apiClient.storage.devBranches.list()` (where `isDefault === true`).\n * - kbc-ui exposes this through its `RoutesStore.getCurrentRouteParam('branchId')`\n * compared against the default branch id; the api-client itself stays\n * isomorphic and never reads that state directly.\n *\n * Why it changes the rule:\n * - In dev branches Keboola allows broader write access — `developer` and\n * `reviewer` roles may create / copy / migrate configurations because the\n * branch is sandboxed from production.\n * - On the default branch only `productionManager` (or `admin`) may perform\n * the same writes, since changes ship live to production.\n */\nexport type ConfigurationCtx = {\n isDevModeActive: boolean;\n};\n\nconst meetsBaseRule = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n ctx.isDevModeActive ? isDeveloperOrReviewer(token) : isProductionManager(token);\n\nconst baseDenialReason = (ctx: ConfigurationCtx): string =>\n ctx.isDevModeActive\n ? 'dev branch requires developer or reviewer role'\n : 'production requires productionManager role';\n\nexport const canCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const canPurgeConfiguration: (token: StorageToken, ctx: ConfigurationCtx) => boolean = (\n token,\n) => isAdmin(token);\n\nexport const canAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): boolean =>\n meetsBaseRule(token, ctx);\n\nexport const assertCanCreateConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCreateConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'create-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanCopyConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canCopyConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'copy-configuration',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanMigrateFromTemplate = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canMigrateFromTemplate(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'migrate-from-template',\n reason: baseDenialReason(ctx),\n });\n }\n};\n\nexport const assertCanPurgeConfiguration = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canPurgeConfiguration(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'purge-configuration',\n reason: 'purge requires admin role',\n });\n }\n};\n\nexport const assertCanAssignFolder = (token: StorageToken, ctx: ConfigurationCtx): void => {\n if (!canAssignFolder(token, ctx)) {\n throw new PermissionDeniedError({\n action: 'assign-folder',\n reason: baseDenialReason(ctx),\n });\n }\n};\n"]}
|
package/dist/editor/index.cjs
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
3
|
+
var chunkAKDJSXVJ_cjs = require('../chunk-AKDJSXVJ.cjs');
|
|
4
|
+
require('../chunk-HNP33VR5.cjs');
|
|
5
|
+
require('../chunk-IUN2ZSU3.cjs');
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
Object.defineProperty(exports, "createEditorClient", {
|
|
9
10
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunkAKDJSXVJ_cjs.createEditorClient; }
|
|
11
12
|
});
|
|
12
13
|
//# sourceMappingURL=index.cjs.map
|
|
13
14
|
//# sourceMappingURL=index.cjs.map
|
package/dist/editor/index.d.cts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { C as CreateSqlSessionBody, G as GetSqlSessionPath, a as GetSqlSessionsQuery, b as GetSqlSessionSchemaPath, c as GetSqlSessionSchemaQuery, d as components, P as PostSqlRunQueryPath, e as PostSqlRunQueryBody, f as PostSqlTablePreviewPath, g as PostSqlTablePreviewBody, h as GetSqlSessionTableDdlPath, i as GetSqlSessionTableDdlQuery, j as PostSqlSessionLoadPath, k as PostSqlSessionLoadBody, l as PostSqlSessionUnloadPath, m as PostSqlSessionUnloadBody } from '../types-CWebeQXy.cjs';
|
|
2
|
-
import { C as ClientInitOptions } from '../types-
|
|
2
|
+
import { C as ClientInitOptions } from '../types-0yn6OefX.cjs';
|
|
3
3
|
import '../types-jKnx7Tm_.cjs';
|
|
4
4
|
import 'qs';
|
|
5
5
|
|
|
6
|
-
declare const createEditorClient: ({ baseUrl, middlewares,
|
|
6
|
+
declare const createEditorClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
|
|
7
7
|
createSession: (body: CreateSqlSessionBody) => Promise<{
|
|
8
8
|
id: string;
|
|
9
9
|
createdAt: string;
|
package/dist/editor/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { C as CreateSqlSessionBody, G as GetSqlSessionPath, a as GetSqlSessionsQuery, b as GetSqlSessionSchemaPath, c as GetSqlSessionSchemaQuery, d as components, P as PostSqlRunQueryPath, e as PostSqlRunQueryBody, f as PostSqlTablePreviewPath, g as PostSqlTablePreviewBody, h as GetSqlSessionTableDdlPath, i as GetSqlSessionTableDdlQuery, j as PostSqlSessionLoadPath, k as PostSqlSessionLoadBody, l as PostSqlSessionUnloadPath, m as PostSqlSessionUnloadBody } from '../types-CFd7q2ed.js';
|
|
2
|
-
import { C as ClientInitOptions } from '../types-
|
|
2
|
+
import { C as ClientInitOptions } from '../types-0yn6OefX.js';
|
|
3
3
|
import '../types-jKnx7Tm_.js';
|
|
4
4
|
import 'qs';
|
|
5
5
|
|
|
6
|
-
declare const createEditorClient: ({ baseUrl, middlewares,
|
|
6
|
+
declare const createEditorClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
|
|
7
7
|
createSession: (body: CreateSqlSessionBody) => Promise<{
|
|
8
8
|
id: string;
|
|
9
9
|
createdAt: string;
|
package/dist/editor/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { createEditorClient } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { createEditorClient } from '../chunk-K6E7LOWZ.js';
|
|
2
|
+
import '../chunk-WJRHT346.js';
|
|
3
|
+
import '../chunk-RK2VGHJE.js';
|
|
3
4
|
//# sourceMappingURL=index.js.map
|
|
4
5
|
//# sourceMappingURL=index.js.map
|