@keboola/api-client 20.0.0 → 21.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/API-SURFACE.md +26 -3
- package/README.md +124 -24
- package/dist/{ManagementClientAuthError-BMOhz4mx.d.ts → ManagementClientAuthError-B3PZRWBU.d.ts} +1 -1
- package/dist/{ManagementClientAuthError-B7mGrnGn.d.cts → ManagementClientAuthError-CJu_hpGi.d.cts} +1 -1
- package/dist/ai/index.cjs +3 -3
- package/dist/ai/index.d.cts +1 -1
- package/dist/ai/index.d.ts +1 -1
- package/dist/ai/index.js +2 -2
- package/dist/assets/index.d.cts +1 -1
- package/dist/assets/index.d.ts +1 -1
- package/dist/auth/index.cjs +9 -9
- package/dist/auth/index.d.cts +81 -9
- package/dist/auth/index.d.ts +81 -9
- package/dist/auth/index.js +1 -1
- package/dist/auth/types.d.cts +2 -2
- package/dist/auth/types.d.ts +2 -2
- package/dist/chat/index.cjs +3 -3
- package/dist/chat/index.d.cts +1 -1
- package/dist/chat/index.d.ts +1 -1
- package/dist/chat/index.js +2 -2
- package/dist/chat/suggestions.d.cts +11 -11
- package/dist/chat/suggestions.d.ts +11 -11
- package/dist/{chunk-7ETZQGY7.js → chunk-2BOG5U7C.js} +3 -3
- package/dist/{chunk-7ETZQGY7.js.map → chunk-2BOG5U7C.js.map} +1 -1
- package/dist/{chunk-YLHZ2H7O.cjs → chunk-3GTRQFWA.cjs} +4 -4
- package/dist/{chunk-YLHZ2H7O.cjs.map → chunk-3GTRQFWA.cjs.map} +1 -1
- package/dist/{chunk-TTPJSPZA.cjs → chunk-3KEVPUSX.cjs} +10 -3
- package/dist/chunk-3KEVPUSX.cjs.map +1 -0
- package/dist/chunk-4HBUVR57.cjs +155 -0
- package/dist/chunk-4HBUVR57.cjs.map +1 -0
- package/dist/{chunk-YUTWLJBK.js → chunk-4IEIVLYT.js} +55 -5
- package/dist/chunk-4IEIVLYT.js.map +1 -0
- package/dist/{chunk-HEVDH4JQ.js → chunk-4WX5W7YU.js} +3 -3
- package/dist/{chunk-HEVDH4JQ.js.map → chunk-4WX5W7YU.js.map} +1 -1
- package/dist/{chunk-7KMFRSYA.js → chunk-5FDQYOJD.js} +3 -3
- package/dist/{chunk-7KMFRSYA.js.map → chunk-5FDQYOJD.js.map} +1 -1
- package/dist/{chunk-KQ2QNGRX.js → chunk-6BYHD5DG.js} +4 -4
- package/dist/chunk-6BYHD5DG.js.map +1 -0
- package/dist/{chunk-WJRHT346.js → chunk-6JXSO3AR.js} +3 -3
- package/dist/chunk-6JXSO3AR.js.map +1 -0
- package/dist/{chunk-4H2DDEUI.cjs → chunk-AFIQYB2O.cjs} +4 -4
- package/dist/{chunk-4H2DDEUI.cjs.map → chunk-AFIQYB2O.cjs.map} +1 -1
- package/dist/{chunk-IZWNTRMT.cjs → chunk-C5R6ITYD.cjs} +4 -4
- package/dist/{chunk-IZWNTRMT.cjs.map → chunk-C5R6ITYD.cjs.map} +1 -1
- package/dist/{chunk-AWRMGLMT.cjs → chunk-CBVGOANJ.cjs} +4 -4
- package/dist/chunk-CBVGOANJ.cjs.map +1 -0
- package/dist/{chunk-KDWIJTED.js → chunk-CWD66KRM.js} +3 -3
- package/dist/{chunk-KDWIJTED.js.map → chunk-CWD66KRM.js.map} +1 -1
- package/dist/{chunk-XISA4SYM.cjs → chunk-DAAHTUXU.cjs} +4 -4
- package/dist/{chunk-XISA4SYM.cjs.map → chunk-DAAHTUXU.cjs.map} +1 -1
- package/dist/{chunk-JIAMBOU7.cjs → chunk-DAS5UQN6.cjs} +4 -4
- package/dist/{chunk-JIAMBOU7.cjs.map → chunk-DAS5UQN6.cjs.map} +1 -1
- package/dist/{chunk-JURD5MC3.js → chunk-DHOVQ2TW.js} +15 -16
- package/dist/chunk-DHOVQ2TW.js.map +1 -0
- package/dist/{chunk-ISY2BOFY.js → chunk-DJ5LXAG3.js} +3 -3
- package/dist/{chunk-ISY2BOFY.js.map → chunk-DJ5LXAG3.js.map} +1 -1
- package/dist/chunk-EWMXK3EI.cjs +8 -0
- package/dist/chunk-EWMXK3EI.cjs.map +1 -0
- package/dist/{chunk-IWIN6HKU.cjs → chunk-EYIPM2XB.cjs} +4 -4
- package/dist/{chunk-IWIN6HKU.cjs.map → chunk-EYIPM2XB.cjs.map} +1 -1
- package/dist/{chunk-G7VCXMQB.cjs → chunk-FDISA5KO.cjs} +4 -4
- package/dist/{chunk-G7VCXMQB.cjs.map → chunk-FDISA5KO.cjs.map} +1 -1
- package/dist/{chunk-CVV4HROS.cjs → chunk-FMS5PNM2.cjs} +4 -4
- package/dist/chunk-FMS5PNM2.cjs.map +1 -0
- package/dist/{chunk-BR3SBEFE.cjs → chunk-FRLSKIUI.cjs} +19 -21
- package/dist/chunk-FRLSKIUI.cjs.map +1 -0
- package/dist/{chunk-MLCMKHMK.cjs → chunk-HHULC5GT.cjs} +4 -4
- package/dist/{chunk-MLCMKHMK.cjs.map → chunk-HHULC5GT.cjs.map} +1 -1
- package/dist/{chunk-STAQJVW4.cjs → chunk-HJQYMALV.cjs} +4 -4
- package/dist/{chunk-STAQJVW4.cjs.map → chunk-HJQYMALV.cjs.map} +1 -1
- package/dist/{chunk-QQJXXNUE.cjs → chunk-HUNYAVJJ.cjs} +4 -4
- package/dist/{chunk-QQJXXNUE.cjs.map → chunk-HUNYAVJJ.cjs.map} +1 -1
- package/dist/{chunk-6FE3CWV6.js → chunk-IWNJ47CV.js} +3 -3
- package/dist/{chunk-6FE3CWV6.js.map → chunk-IWNJ47CV.js.map} +1 -1
- package/dist/{chunk-4HJUQVXR.js → chunk-KF5EI2IB.js} +6 -7
- package/dist/chunk-KF5EI2IB.js.map +1 -0
- package/dist/{chunk-FPWOK2CR.js → chunk-LFLFNQMQ.js} +3 -3
- package/dist/chunk-LFLFNQMQ.js.map +1 -0
- package/dist/{chunk-ZLW3243Q.cjs → chunk-LGWRJM5X.cjs} +4 -4
- package/dist/chunk-LGWRJM5X.cjs.map +1 -0
- package/dist/chunk-M2LJZXVR.js +152 -0
- package/dist/chunk-M2LJZXVR.js.map +1 -0
- package/dist/{chunk-V4FLCCD4.js → chunk-MUC6XWII.js} +3 -3
- package/dist/{chunk-V4FLCCD4.js.map → chunk-MUC6XWII.js.map} +1 -1
- package/dist/{chunk-RHLDDKX6.js → chunk-NV3P6XBU.js} +98 -29
- package/dist/chunk-NV3P6XBU.js.map +1 -0
- package/dist/{chunk-YOPRPXER.cjs → chunk-NZN6OX4H.cjs} +4 -4
- package/dist/{chunk-YOPRPXER.cjs.map → chunk-NZN6OX4H.cjs.map} +1 -1
- package/dist/{chunk-EKWD4ODT.cjs → chunk-OZMUKLXN.cjs} +4 -4
- package/dist/{chunk-EKWD4ODT.cjs.map → chunk-OZMUKLXN.cjs.map} +1 -1
- package/dist/{chunk-K6E7LOWZ.js → chunk-P6OWDUN7.js} +3 -3
- package/dist/{chunk-K6E7LOWZ.js.map → chunk-P6OWDUN7.js.map} +1 -1
- package/dist/{chunk-PINOAERX.js → chunk-QNDU44PQ.js} +3 -3
- package/dist/{chunk-PINOAERX.js.map → chunk-QNDU44PQ.js.map} +1 -1
- package/dist/{chunk-KLVBTRLR.js → chunk-R2FAPJMZ.js} +84 -12
- package/dist/chunk-R2FAPJMZ.js.map +1 -0
- package/dist/{chunk-AKDJSXVJ.cjs → chunk-RTQEMQIC.cjs} +4 -4
- package/dist/{chunk-AKDJSXVJ.cjs.map → chunk-RTQEMQIC.cjs.map} +1 -1
- package/dist/{chunk-4JCVPUXF.cjs → chunk-S5XEXK36.cjs} +104 -35
- package/dist/chunk-S5XEXK36.cjs.map +1 -0
- package/dist/{chunk-JJXTE2SL.cjs → chunk-SB7AVZQU.cjs} +4 -4
- package/dist/{chunk-JJXTE2SL.cjs.map → chunk-SB7AVZQU.cjs.map} +1 -1
- package/dist/{chunk-EBCZUGUX.js → chunk-SJZ66FD5.js} +4 -4
- package/dist/chunk-SJZ66FD5.js.map +1 -0
- package/dist/chunk-T526LPBK.js +6 -0
- package/dist/chunk-T526LPBK.js.map +1 -0
- package/dist/{chunk-M3UUJIMO.js → chunk-U7CANHDD.js} +3 -3
- package/dist/{chunk-M3UUJIMO.js.map → chunk-U7CANHDD.js.map} +1 -1
- package/dist/{chunk-HNP33VR5.cjs → chunk-UQWVZTEA.cjs} +3 -3
- package/dist/chunk-UQWVZTEA.cjs.map +1 -0
- package/dist/{chunk-YOD5F25S.js → chunk-V6QQZLEU.js} +3 -3
- package/dist/{chunk-YOD5F25S.js.map → chunk-V6QQZLEU.js.map} +1 -1
- package/dist/{chunk-GENABZQ3.js → chunk-VTC3FL4B.js} +3 -3
- package/dist/{chunk-GENABZQ3.js.map → chunk-VTC3FL4B.js.map} +1 -1
- package/dist/{chunk-IBELIKBL.js → chunk-WXGYFLFX.js} +3 -3
- package/dist/{chunk-IBELIKBL.js.map → chunk-WXGYFLFX.js.map} +1 -1
- package/dist/{chunk-ANRUSNYD.cjs → chunk-X6BQTEIT.cjs} +4 -4
- package/dist/{chunk-ANRUSNYD.cjs.map → chunk-X6BQTEIT.cjs.map} +1 -1
- package/dist/{chunk-WFBQUWRC.js → chunk-XMC355U2.js} +10 -3
- package/dist/chunk-XMC355U2.js.map +1 -0
- package/dist/{chunk-N3GNUFMA.cjs → chunk-XPQBE77T.cjs} +6 -7
- package/dist/chunk-XPQBE77T.cjs.map +1 -0
- package/dist/{chunk-SWJHENEP.cjs → chunk-YHMW7CZF.cjs} +84 -11
- package/dist/chunk-YHMW7CZF.cjs.map +1 -0
- package/dist/{chunk-UREIP7XG.js → chunk-YVC4NGW2.js} +3 -3
- package/dist/{chunk-UREIP7XG.js.map → chunk-YVC4NGW2.js.map} +1 -1
- package/dist/{chunk-UFQVOZZ6.cjs → chunk-Z76DIRLA.cjs} +55 -5
- package/dist/chunk-Z76DIRLA.cjs.map +1 -0
- package/dist/{chunk-ZAPK7HZS.js → chunk-ZCODWFCC.js} +3 -3
- package/dist/{chunk-ZAPK7HZS.js.map → chunk-ZCODWFCC.js.map} +1 -1
- package/dist/constants/index.cjs +2 -2
- package/dist/constants/index.d.cts +7 -1
- package/dist/constants/index.d.ts +7 -1
- package/dist/constants/index.js +1 -1
- package/dist/{createGenericFetchClient-D4tfhW6Z.d.ts → createGenericFetchClient-B2Gp1a8f.d.ts} +1 -1
- package/dist/{createGenericFetchClient-CrB9cdk8.d.cts → createGenericFetchClient-DJ-oaxPj.d.cts} +1 -1
- package/dist/{createOpenapiFetchClient-DLA4-_yg.d.ts → createOpenapiFetchClient-BMaILWyq.d.ts} +1 -1
- package/dist/{createOpenapiFetchClient-zK2SckO2.d.cts → createOpenapiFetchClient-DQL2ZYNb.d.cts} +1 -1
- package/dist/dataScience/index.cjs +4 -4
- package/dist/dataScience/index.d.cts +1 -1
- package/dist/dataScience/index.d.ts +1 -1
- package/dist/dataScience/index.js +2 -2
- package/dist/domain/permissions/index.d.cts +3 -3
- package/dist/domain/permissions/index.d.ts +3 -3
- package/dist/editor/index.cjs +3 -3
- package/dist/editor/index.d.cts +1 -1
- package/dist/editor/index.d.ts +1 -1
- package/dist/editor/index.js +2 -2
- package/dist/encryption/index.d.cts +3 -3
- package/dist/encryption/index.d.ts +3 -3
- package/dist/encryption/types.d.cts +2 -2
- package/dist/encryption/types.d.ts +2 -2
- package/dist/import/index.cjs +3 -3
- package/dist/import/index.d.cts +1 -1
- package/dist/import/index.d.ts +1 -1
- package/dist/import/index.js +2 -2
- package/dist/index.cjs +1586 -893
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1410 -1029
- package/dist/index.d.ts +1410 -1029
- package/dist/index.js +1540 -878
- package/dist/index.js.map +1 -1
- package/dist/management/index.cjs +3 -3
- package/dist/management/index.d.cts +29 -41
- package/dist/management/index.d.ts +29 -41
- package/dist/management/index.js +1 -1
- package/dist/management/types.d.cts +3 -7
- package/dist/management/types.d.ts +3 -7
- package/dist/metastore/index.cjs +3 -3
- package/dist/metastore/index.d.cts +13 -32
- package/dist/metastore/index.d.ts +13 -32
- package/dist/metastore/index.js +2 -2
- package/dist/metastore/types.d.cts +1 -1
- package/dist/metastore/types.d.ts +1 -1
- package/dist/notifications/index.cjs +3 -3
- package/dist/notifications/index.d.cts +1 -1
- package/dist/notifications/index.d.ts +1 -1
- package/dist/notifications/index.js +2 -2
- package/dist/oauth/index.cjs +3 -3
- package/dist/oauth/index.d.cts +1 -1
- package/dist/oauth/index.d.ts +1 -1
- package/dist/oauth/index.js +2 -2
- package/dist/{project-Bj7A_TSe.d.ts → project-BpTHlKfO.d.ts} +2 -2
- package/dist/{project-CX3TEH8A.d.cts → project-DEFMKeAm.d.cts} +2 -2
- package/dist/queryService/index.cjs +3 -3
- package/dist/queryService/index.d.cts +1 -1
- package/dist/queryService/index.d.ts +1 -1
- package/dist/queryService/index.js +2 -2
- package/dist/queue/index.cjs +3 -3
- package/dist/queue/index.d.cts +1 -1
- package/dist/queue/index.d.ts +1 -1
- package/dist/queue/index.js +2 -2
- package/dist/{registry-BLItWxbK.d.ts → registry-v_1krdcs.d.cts} +136 -1
- package/dist/{registry-BLItWxbK.d.cts → registry-v_1krdcs.d.ts} +136 -1
- package/dist/scheduler/index.cjs +3 -3
- package/dist/scheduler/index.d.cts +1 -1
- package/dist/scheduler/index.d.ts +1 -1
- package/dist/scheduler/index.js +2 -2
- package/dist/sdk/configurations/index.cjs +3 -3
- package/dist/sdk/configurations/index.d.cts +417 -25
- package/dist/sdk/configurations/index.d.ts +417 -25
- package/dist/sdk/configurations/index.js +2 -2
- package/dist/sdk/semanticLayer/index.cjs +18 -0
- package/dist/sdk/semanticLayer/index.cjs.map +1 -0
- package/dist/sdk/semanticLayer/index.d.cts +36 -0
- package/dist/sdk/semanticLayer/index.d.ts +36 -0
- package/dist/sdk/semanticLayer/index.js +5 -0
- package/dist/sdk/semanticLayer/index.js.map +1 -0
- package/dist/sdk/semanticLayer/types.cjs +4 -0
- package/dist/sdk/semanticLayer/types.cjs.map +1 -0
- package/dist/sdk/semanticLayer/types.d.cts +132 -0
- package/dist/sdk/semanticLayer/types.d.ts +132 -0
- package/dist/sdk/semanticLayer/types.js +3 -0
- package/dist/sdk/semanticLayer/types.js.map +1 -0
- package/dist/sdk/storage/index.cjs +11 -11
- package/dist/sdk/storage/index.d.cts +7 -7
- package/dist/sdk/storage/index.d.ts +7 -7
- package/dist/sdk/storage/index.js +1 -1
- package/dist/sdk/tag/index.cjs +4 -3
- package/dist/sdk/tag/index.d.cts +6 -6
- package/dist/sdk/tag/index.d.ts +6 -6
- package/dist/sdk/tag/index.js +3 -2
- package/dist/sdk/tag/types.d.cts +4 -4
- package/dist/sdk/tag/types.d.ts +4 -4
- package/dist/sdk/vault/index.cjs +8 -8
- package/dist/sdk/vault/index.d.cts +4 -4
- package/dist/sdk/vault/index.d.ts +4 -4
- package/dist/sdk/vault/index.js +2 -2
- package/dist/status/index.d.cts +1 -1
- package/dist/status/index.d.ts +1 -1
- package/dist/storage/index.cjs +5 -5
- package/dist/storage/index.d.cts +7 -7
- package/dist/storage/index.d.ts +7 -7
- package/dist/storage/index.js +3 -3
- package/dist/storage/types.d.cts +58 -5
- package/dist/storage/types.d.ts +58 -5
- package/dist/{storageClient-Cwr5Vl45.d.ts → storageClient-BONJnuhr.d.ts} +14 -7
- package/dist/{storageClient-D1USmiC5.d.cts → storageClient-BxgbulPW.d.cts} +14 -7
- package/dist/{storageSdk-Um7iSJMs.d.ts → storageSdk-CUnp67LN.d.ts} +1 -1
- package/dist/{storageSdk-MciYsR_e.d.cts → storageSdk-uCojVKkr.d.cts} +1 -1
- package/dist/stream/index.cjs +3 -3
- package/dist/stream/index.d.cts +1 -1
- package/dist/stream/index.d.ts +1 -1
- package/dist/stream/index.js +2 -2
- package/dist/syncActions/index.cjs +3 -3
- package/dist/syncActions/index.d.cts +2 -2
- package/dist/syncActions/index.d.ts +2 -2
- package/dist/syncActions/index.js +2 -2
- package/dist/telemetry/index.cjs +3 -3
- package/dist/telemetry/index.d.cts +2 -2
- package/dist/telemetry/index.d.ts +2 -2
- package/dist/telemetry/index.js +2 -2
- package/dist/{types-ClxrZC77.d.cts → types-B9SJ0cIc.d.cts} +2677 -813
- package/dist/{types-l_pP5J0H.d.ts → types-BM3xJvzM.d.ts} +1 -1
- package/dist/{types-59-LNg5i.d.cts → types-BjcRP8q1.d.cts} +1 -1
- package/dist/{types-o8eTf_G9.d.ts → types-BogOtZre.d.ts} +2677 -813
- package/dist/{types-DHCbX2uR.d.cts → types-C6gjiVpQ.d.cts} +1 -1
- package/dist/{types-oJnjpvPi.d.ts → types-CbEJaobw.d.ts} +1 -1
- package/dist/{types-YEfQ5pAy.d.cts → types-DJLceKR0.d.cts} +445 -137
- package/dist/{types-YEfQ5pAy.d.ts → types-DJLceKR0.d.ts} +445 -137
- package/dist/{types-BowqtZ7v.d.ts → types-Do0nBZbY.d.ts} +355 -108
- package/dist/{types-0yn6OefX.d.ts → types-DqxZDbM1.d.cts} +1 -1
- package/dist/{types-0yn6OefX.d.cts → types-DqxZDbM1.d.ts} +1 -1
- package/dist/{types-BCPmAXOQ.d.cts → types-VK3k4Z6R.d.cts} +355 -108
- package/dist/vault/index.cjs +3 -3
- package/dist/vault/index.d.cts +1 -1
- package/dist/vault/index.d.ts +1 -1
- package/dist/vault/index.js +2 -2
- package/package.json +28 -2
- package/surface/auth.md +2 -2
- package/surface/chat.md +1 -1
- package/surface/dataScience.md +1 -1
- package/surface/editor.md +5 -5
- package/surface/kaiAgent.md +1 -1
- package/surface/management.md +15 -4
- package/surface/metastore.md +10 -10
- package/surface/queue.md +1 -1
- package/surface/sdk.md +19 -6
- package/surface/storage.md +11 -3
- package/surface/stream.md +7 -7
- package/dist/authMiddleware-BcRYj3eQ.d.cts +0 -5
- package/dist/authMiddleware-CirRGURb.d.ts +0 -5
- package/dist/chunk-4HJUQVXR.js.map +0 -1
- package/dist/chunk-4JCVPUXF.cjs.map +0 -1
- package/dist/chunk-AWRMGLMT.cjs.map +0 -1
- package/dist/chunk-BR3SBEFE.cjs.map +0 -1
- package/dist/chunk-CVV4HROS.cjs.map +0 -1
- package/dist/chunk-EBCZUGUX.js.map +0 -1
- package/dist/chunk-FPWOK2CR.js.map +0 -1
- package/dist/chunk-HNP33VR5.cjs.map +0 -1
- package/dist/chunk-JURD5MC3.js.map +0 -1
- package/dist/chunk-KLVBTRLR.js.map +0 -1
- package/dist/chunk-KQ2QNGRX.js.map +0 -1
- package/dist/chunk-N3GNUFMA.cjs.map +0 -1
- package/dist/chunk-RHLDDKX6.js.map +0 -1
- package/dist/chunk-SWJHENEP.cjs.map +0 -1
- package/dist/chunk-TTPJSPZA.cjs.map +0 -1
- package/dist/chunk-UFQVOZZ6.cjs.map +0 -1
- package/dist/chunk-WFBQUWRC.js.map +0 -1
- package/dist/chunk-WJRHT346.js.map +0 -1
- package/dist/chunk-YUTWLJBK.js.map +0 -1
- package/dist/chunk-ZLW3243Q.cjs.map +0 -1
- package/dist/schemas-CraXbXke.d.cts +0 -74
- package/dist/schemas-CraXbXke.d.ts +0 -74
- package/dist/{backends-Bofq_Nr0.d.cts → adminRoles-Cil1lavB.d.cts} +6 -6
- package/dist/{backends-Bofq_Nr0.d.ts → adminRoles-Cil1lavB.d.ts} +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/oauth/oauthClient.ts"],"names":[],"mappings":";;;;AAcO,IAAM,oBAAoB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AACtF,EAAA,MAAM,SAAS,wBAAA,CAAyB;AAAA,IACtC,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAAS,kBAAkB,IAAI;AAAA,GAChC,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,OAAO,KAAA,EAA6B,MAAA,KAAyB;AAClF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,cAAA;AAAA,MACA,EAAE,KAAA,EAAM;AAAA,MACR,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,OAAO,WAAA,EAAqB,EAAA,EAAY,MAAA,KAAyB;AACrF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,iCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,WAAA,EAAa,IAAG,EAAE;AAAA,MAC5B,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OACzB,WAAA,EACA,IAAA,EACA,MAAA,KACwB;AACxB,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,4BAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,WAAA,IAAe,IAAA,EAAK;AAAA,MAC9B,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAIA,EAAA,MAAM,wBAAA,GAA2B,OAC/B,WAAA,EACA,EAAE,MAAM,eAAA,EAAiB,GAAG,IAAA,EAAK,EACjC,MAAA,KACwB;AACxB,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,4BAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,WAAA,EAAY;AAAA,QACpB,IAAA,EAAM;AAAA,UACJ,GAAG,IAAA;AAAA,UACH,OAAA,EAAS,IAAA,CAAK,SAAA,CAAU,eAAe;AAAA;AACzC,OACF;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OACvB,WAAA,EACA,IAAA,EACA,MAAA,KACwB;AACxB,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,kBAAA,CAAmB,WAAA,EAAa,IAAA,EAAM,MAAM,CAAA;AAAA,IAC3D,SAAS,KAAA,EAAO;AACd,MAAA,IAAI,WAAW,KAAK,CAAA,IAAK,MAAM,QAAA,CAAS,MAAA,KAAW,WAAW,oBAAA,EAAsB;AAClF,QAAA,OAAO,wBAAA,CAAyB,WAAA,EAAa,IAAA,EAAM,MAAM,CAAA;AAAA,MAC3D;AACA,MAAA,MAAM,KAAA;AAAA,IACR;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OACvB,WAAA,EACA,EAAA,EACA,MAAA,KACkB;AAClB,IAAA,MAAM,MAAA,CAAO,MAAA;AAAA,MACX,iCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,WAAA,EAAa,IAAG,EAAE;AAAA,MAC5B,EAAE,MAAA;AAAO,KACX;AAAA,EACF,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,aAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/clients/oauth/oauthClient.ts"],"names":[],"mappings":";;;;AAcO,IAAM,oBAAoB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AACtF,EAAA,MAAM,SAAS,wBAAA,CAAyB;AAAA,IACtC,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAAS,kBAAkB,IAAI;AAAA,GAChC,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,OAAO,KAAA,EAA6B,MAAA,KAAyB;AAClF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,cAAA;AAAA,MACA,EAAE,KAAA,EAAM;AAAA,MACR,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,OAAO,WAAA,EAAqB,EAAA,EAAY,MAAA,KAAyB;AACrF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,iCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,WAAA,EAAa,IAAG,EAAE;AAAA,MAC5B,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OACzB,WAAA,EACA,IAAA,EACA,MAAA,KACwB;AACxB,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,4BAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,WAAA,IAAe,IAAA,EAAK;AAAA,MAC9B,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAIA,EAAA,MAAM,wBAAA,GAA2B,OAC/B,WAAA,EACA,EAAE,MAAM,eAAA,EAAiB,GAAG,IAAA,EAAK,EACjC,MAAA,KACwB;AACxB,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,4BAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,WAAA,EAAY;AAAA,QACpB,IAAA,EAAM;AAAA,UACJ,GAAG,IAAA;AAAA,UACH,OAAA,EAAS,IAAA,CAAK,SAAA,CAAU,eAAe;AAAA;AACzC,OACF;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OACvB,WAAA,EACA,IAAA,EACA,MAAA,KACwB;AACxB,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,kBAAA,CAAmB,WAAA,EAAa,IAAA,EAAM,MAAM,CAAA;AAAA,IAC3D,SAAS,KAAA,EAAO;AACd,MAAA,IAAI,WAAW,KAAK,CAAA,IAAK,MAAM,QAAA,CAAS,MAAA,KAAW,WAAW,oBAAA,EAAsB;AAClF,QAAA,OAAO,wBAAA,CAAyB,WAAA,EAAa,IAAA,EAAM,MAAM,CAAA;AAAA,MAC3D;AACA,MAAA,MAAM,KAAA;AAAA,IACR;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OACvB,WAAA,EACA,EAAA,EACA,MAAA,KACkB;AAClB,IAAA,MAAM,MAAA,CAAO,MAAA;AAAA,MACX,iCAAA;AAAA,MACA,EAAE,IAAA,EAAM,EAAE,WAAA,EAAa,IAAG,EAAE;AAAA,MAC5B,EAAE,MAAA;AAAO,KACX;AAAA,EACF,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,aAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-VTC3FL4B.js","sourcesContent":["import { createGenericFetchClient, isApiError } from '../../fetchClient';\nimport { HttpStatus } from '../../internal';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type {\n ComponentPath,\n CreateCredentialBody,\n Credential,\n CredentialPath,\n GetCredentialsQuery,\n LegacyCreateBody,\n} from './types';\n\nexport const createOauthClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createGenericFetchClient({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n const getCredentials = async (query?: GetCredentialsQuery, signal?: AbortSignal) => {\n const { data } = await client.get<Credential[], void, GetCredentialsQuery>(\n '/credentials',\n { query },\n { signal },\n );\n return data;\n };\n\n const getCredential = async (componentId: string, id: string, signal?: AbortSignal) => {\n const { data } = await client.get<Credential, CredentialPath>(\n '/credentials/{componentId}/{id}',\n { path: { componentId, id } },\n { signal },\n );\n return data;\n };\n\n const _createCredentials = async (\n componentId: string,\n body: CreateCredentialBody,\n signal?: AbortSignal,\n ): Promise<Credential> => {\n const { data } = await client.post<Credential, ComponentPath, void, CreateCredentialBody>(\n '/credentials/{componentId}',\n { path: { componentId }, body },\n { signal },\n );\n return data;\n };\n\n // Legacy OAuth service rejects `data` and requires `#data` as a JSON string.\n // Retry with the legacy shape on 422; modern stacks accept the first call.\n const _createLegacyCredentials = async (\n componentId: string,\n { data: credentialsData, ...rest }: CreateCredentialBody,\n signal?: AbortSignal,\n ): Promise<Credential> => {\n const { data } = await client.post<Credential, ComponentPath, void, LegacyCreateBody>(\n '/credentials/{componentId}',\n {\n path: { componentId },\n body: {\n ...rest,\n '#data': JSON.stringify(credentialsData),\n },\n },\n { signal },\n );\n\n return data;\n };\n\n const createCredential = async (\n componentId: string,\n body: CreateCredentialBody,\n signal?: AbortSignal,\n ): Promise<Credential> => {\n try {\n return await _createCredentials(componentId, body, signal);\n } catch (error) {\n if (isApiError(error) && error.response.status === HttpStatus.UNPROCESSABLE_ENTITY) {\n return _createLegacyCredentials(componentId, body, signal);\n }\n throw error;\n }\n };\n\n const deleteCredential = async (\n componentId: string,\n id: string,\n signal?: AbortSignal,\n ): Promise<void> => {\n await client.delete<void, CredentialPath>(\n '/credentials/{componentId}/{id}',\n { path: { componentId, id } },\n { signal },\n );\n };\n\n return {\n getCredentials,\n getCredential,\n createCredential,\n deleteCredential,\n };\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { UserError } from './chunk-G3N5KDEY.js';
|
|
2
|
-
import { createAuthHeaders } from './chunk-
|
|
2
|
+
import { createAuthHeaders } from './chunk-6JXSO3AR.js';
|
|
3
3
|
import { createOpenapiFetchClient, ENCRYPTED_VALUE_PREFIX } from './chunk-RK2VGHJE.js';
|
|
4
4
|
|
|
5
5
|
// src/clients/vault/vaultClient.ts
|
|
@@ -56,5 +56,5 @@ var createVaultClient = ({ baseUrl, middlewares, auth }) => {
|
|
|
56
56
|
};
|
|
57
57
|
|
|
58
58
|
export { createVaultClient };
|
|
59
|
-
//# sourceMappingURL=chunk-
|
|
60
|
-
//# sourceMappingURL=chunk-
|
|
59
|
+
//# sourceMappingURL=chunk-WXGYFLFX.js.map
|
|
60
|
+
//# sourceMappingURL=chunk-WXGYFLFX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/vault/vaultClient.ts"],"names":[],"mappings":";;;;;AAeO,IAAM,oBAAoB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AACtF,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAAS,kBAAkB,IAAI;AAAA,GAChC,CAAA;AAED,EAAA,MAAM,YAAA,GAAe,OAAO,KAAA,EAA0B,MAAA,KAAyB;AAC7E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,YAAA;AAAA,MACA,EAAE,KAAA,EAAM;AAAA,MACR;AAAA,QACE;AAAA;AACF,KACF;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,IAAA,EAAkC,MAAA,KAAyB;AACvF,IAAA,MAAM,MAAA,CAAO,MAAA;AAAA,MACX,mBAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,IAAA;AAAK,OACf;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,IAAA,EAA0B,MAAA,KAAyB;AAC/E,IAAA,IAAI,IAAA,CAAK,KAAA,CAAM,QAAA,CAAS,WAAW,CAAA,IAAK,CAAC,IAAA,CAAK,KAAA,CAAM,UAAA,CAAW,sBAAsB,CAAA,EAAG;AACtF,MAAA,MAAM,IAAI,UAAU,2DAA2D,CAAA;AAAA,IACjF;AACA,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA,CAAK,YAAA,EAAc,EAAE,IAAA,EAAK,EAAG,EAAE,MAAA,EAAQ,CAAA;AACrE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,sBAAA,GAAyB,OAC7B,QAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,qCAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,QAAA;AAAS,OACnB;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,uBAAA,GAA0B,CAAC,MAAA,KAAyB,sBAAA,CAAuB,QAAQ,MAAM,CAAA;AAE/F,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,cAAA;AAAA,IACA,uBAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/clients/vault/vaultClient.ts"],"names":[],"mappings":";;;;;AAeO,IAAM,oBAAoB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AACtF,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAAS,kBAAkB,IAAI;AAAA,GAChC,CAAA;AAED,EAAA,MAAM,YAAA,GAAe,OAAO,KAAA,EAA0B,MAAA,KAAyB;AAC7E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,YAAA;AAAA,MACA,EAAE,KAAA,EAAM;AAAA,MACR;AAAA,QACE;AAAA;AACF,KACF;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,IAAA,EAAkC,MAAA,KAAyB;AACvF,IAAA,MAAM,MAAA,CAAO,MAAA;AAAA,MACX,mBAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,IAAA;AAAK,OACf;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,IAAA,EAA0B,MAAA,KAAyB;AAC/E,IAAA,IAAI,IAAA,CAAK,KAAA,CAAM,QAAA,CAAS,WAAW,CAAA,IAAK,CAAC,IAAA,CAAK,KAAA,CAAM,UAAA,CAAW,sBAAsB,CAAA,EAAG;AACtF,MAAA,MAAM,IAAI,UAAU,2DAA2D,CAAA;AAAA,IACjF;AACA,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA,CAAK,YAAA,EAAc,EAAE,IAAA,EAAK,EAAG,EAAE,MAAA,EAAQ,CAAA;AACrE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,sBAAA,GAAyB,OAC7B,QAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,qCAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,QAAA;AAAS,OACnB;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,uBAAA,GAA0B,CAAC,MAAA,KAAyB,sBAAA,CAAuB,QAAQ,MAAM,CAAA;AAE/F,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,cAAA;AAAA,IACA,uBAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-WXGYFLFX.js","sourcesContent":["import { UserError } from '../../errors';\nimport { createOpenapiFetchClient } from '../../fetchClient';\nimport { ENCRYPTED_VALUE_PREFIX } from '../../internal';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n CreateVariableBody,\n DeleteVariablePath,\n GetVariablesByBranchId,\n GetVariablesQuery,\n VariableWithHash,\n} from './types';\n\nexport const createVaultClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n const getVariables = async (query: GetVariablesQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/variables',\n { query },\n {\n signal,\n },\n );\n\n return data as VariableWithHash[];\n };\n\n const deleteVariable = async (hash: DeleteVariablePath['hash'], signal?: AbortSignal) => {\n await client.delete(\n '/variables/{hash}',\n {\n path: { hash },\n },\n { signal },\n );\n };\n\n const createVariable = async (body: CreateVariableBody, signal?: AbortSignal) => {\n if (body.flags.includes('encrypted') && !body.value.startsWith(ENCRYPTED_VALUE_PREFIX)) {\n throw new UserError('Encryption of a value failed. Please contact our support.');\n }\n const { data } = await client.post('/variables', { body }, { signal });\n return data;\n };\n\n const getVariablesByBranchId = async (\n branchId: GetVariablesByBranchId['branchId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/variables/scoped/branch/{branchId}',\n {\n path: { branchId },\n },\n { signal },\n );\n return data as VariableWithHash[];\n };\n\n const getProjectWideVariables = (signal?: AbortSignal) => getVariablesByBranchId('null', signal);\n\n return {\n createVariable,\n deleteVariable,\n getProjectWideVariables,\n getVariables,\n getVariablesByBranchId,\n };\n};\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkRRC5RKF7_cjs = require('./chunk-RRC5RKF7.cjs');
|
|
4
|
-
var
|
|
4
|
+
var chunkUQWVZTEA_cjs = require('./chunk-UQWVZTEA.cjs');
|
|
5
5
|
var chunkIUN2ZSU3_cjs = require('./chunk-IUN2ZSU3.cjs');
|
|
6
6
|
|
|
7
7
|
// src/clients/vault/vaultClient.ts
|
|
@@ -9,7 +9,7 @@ var createVaultClient = ({ baseUrl, middlewares, auth }) => {
|
|
|
9
9
|
const client = chunkIUN2ZSU3_cjs.createOpenapiFetchClient({
|
|
10
10
|
baseUrl,
|
|
11
11
|
middlewares,
|
|
12
|
-
headers:
|
|
12
|
+
headers: chunkUQWVZTEA_cjs.createAuthHeaders(auth)
|
|
13
13
|
});
|
|
14
14
|
const getVariables = async (query, signal) => {
|
|
15
15
|
const { data } = await client.get(
|
|
@@ -58,5 +58,5 @@ var createVaultClient = ({ baseUrl, middlewares, auth }) => {
|
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
exports.createVaultClient = createVaultClient;
|
|
61
|
-
//# sourceMappingURL=chunk-
|
|
62
|
-
//# sourceMappingURL=chunk-
|
|
61
|
+
//# sourceMappingURL=chunk-X6BQTEIT.cjs.map
|
|
62
|
+
//# sourceMappingURL=chunk-X6BQTEIT.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/vault/vaultClient.ts"],"names":["createOpenapiFetchClient","createAuthHeaders","ENCRYPTED_VALUE_PREFIX","UserError"],"mappings":";;;;;;;AAeO,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,YAAA,GAAe,OAAO,KAAA,EAA0B,MAAA,KAAyB;AAC7E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,YAAA;AAAA,MACA,EAAE,KAAA,EAAM;AAAA,MACR;AAAA,QACE;AAAA;AACF,KACF;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,IAAA,EAAkC,MAAA,KAAyB;AACvF,IAAA,MAAM,MAAA,CAAO,MAAA;AAAA,MACX,mBAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,IAAA;AAAK,OACf;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,IAAA,EAA0B,MAAA,KAAyB;AAC/E,IAAA,IAAI,IAAA,CAAK,KAAA,CAAM,QAAA,CAAS,WAAW,CAAA,IAAK,CAAC,IAAA,CAAK,KAAA,CAAM,UAAA,CAAWC,wCAAsB,CAAA,EAAG;AACtF,MAAA,MAAM,IAAIC,4BAAU,2DAA2D,CAAA;AAAA,IACjF;AACA,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA,CAAK,YAAA,EAAc,EAAE,IAAA,EAAK,EAAG,EAAE,MAAA,EAAQ,CAAA;AACrE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,sBAAA,GAAyB,OAC7B,QAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,qCAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,QAAA;AAAS,OACnB;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,uBAAA,GAA0B,CAAC,MAAA,KAAyB,sBAAA,CAAuB,QAAQ,MAAM,CAAA;AAE/F,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,cAAA;AAAA,IACA,uBAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/clients/vault/vaultClient.ts"],"names":["createOpenapiFetchClient","createAuthHeaders","ENCRYPTED_VALUE_PREFIX","UserError"],"mappings":";;;;;;;AAeO,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,YAAA,GAAe,OAAO,KAAA,EAA0B,MAAA,KAAyB;AAC7E,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,YAAA;AAAA,MACA,EAAE,KAAA,EAAM;AAAA,MACR;AAAA,QACE;AAAA;AACF,KACF;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,IAAA,EAAkC,MAAA,KAAyB;AACvF,IAAA,MAAM,MAAA,CAAO,MAAA;AAAA,MACX,mBAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,IAAA;AAAK,OACf;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,OAAO,IAAA,EAA0B,MAAA,KAAyB;AAC/E,IAAA,IAAI,IAAA,CAAK,KAAA,CAAM,QAAA,CAAS,WAAW,CAAA,IAAK,CAAC,IAAA,CAAK,KAAA,CAAM,UAAA,CAAWC,wCAAsB,CAAA,EAAG;AACtF,MAAA,MAAM,IAAIC,4BAAU,2DAA2D,CAAA;AAAA,IACjF;AACA,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA,CAAK,YAAA,EAAc,EAAE,IAAA,EAAK,EAAG,EAAE,MAAA,EAAQ,CAAA;AACrE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,sBAAA,GAAyB,OAC7B,QAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,qCAAA;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,QAAA;AAAS,OACnB;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,uBAAA,GAA0B,CAAC,MAAA,KAAyB,sBAAA,CAAuB,QAAQ,MAAM,CAAA;AAE/F,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,cAAA;AAAA,IACA,uBAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-X6BQTEIT.cjs","sourcesContent":["import { UserError } from '../../errors';\nimport { createOpenapiFetchClient } from '../../fetchClient';\nimport { ENCRYPTED_VALUE_PREFIX } from '../../internal';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n CreateVariableBody,\n DeleteVariablePath,\n GetVariablesByBranchId,\n GetVariablesQuery,\n VariableWithHash,\n} from './types';\n\nexport const createVaultClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n const getVariables = async (query: GetVariablesQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/variables',\n { query },\n {\n signal,\n },\n );\n\n return data as VariableWithHash[];\n };\n\n const deleteVariable = async (hash: DeleteVariablePath['hash'], signal?: AbortSignal) => {\n await client.delete(\n '/variables/{hash}',\n {\n path: { hash },\n },\n { signal },\n );\n };\n\n const createVariable = async (body: CreateVariableBody, signal?: AbortSignal) => {\n if (body.flags.includes('encrypted') && !body.value.startsWith(ENCRYPTED_VALUE_PREFIX)) {\n throw new UserError('Encryption of a value failed. Please contact our support.');\n }\n const { data } = await client.post('/variables', { body }, { signal });\n return data;\n };\n\n const getVariablesByBranchId = async (\n branchId: GetVariablesByBranchId['branchId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/variables/scoped/branch/{branchId}',\n {\n path: { branchId },\n },\n { signal },\n );\n return data as VariableWithHash[];\n };\n\n const getProjectWideVariables = (signal?: AbortSignal) => getVariablesByBranchId('null', signal);\n\n return {\n createVariable,\n deleteVariable,\n getProjectWideVariables,\n getVariables,\n getVariablesByBranchId,\n };\n};\n"]}
|
|
@@ -45,9 +45,16 @@ var ComponentId = {
|
|
|
45
45
|
KDS_EX_NETSUITE: "kds-team.ex-netsuite",
|
|
46
46
|
KDS_EX_PROGRESS_DB: "kds-team.ex-progress-db",
|
|
47
47
|
// Google (OAuth) components
|
|
48
|
-
EX_GOOGLE_ADS: "keboola.ex-google-ads"
|
|
48
|
+
EX_GOOGLE_ADS: "keboola.ex-google-ads",
|
|
49
|
+
// File/connection extractors (ex family, no shared credential base)
|
|
50
|
+
EX_HTTP: "keboola.ex-http",
|
|
51
|
+
EX_FTP: "keboola.ex-ftp",
|
|
52
|
+
EX_FTP_CSAS: "keboola.ex-ftp-csas",
|
|
53
|
+
EX_AWS_S3: "keboola.ex-aws-s3",
|
|
54
|
+
KDS_EX_AZURE_BLOB_STORAGE_V2: "kds-team.ex-azure-blob-storage-v2",
|
|
55
|
+
KDS_EX_AZURE_DATA_LAKE_GEN2: "kds-team.ex-azure-data-lake-gen2"
|
|
49
56
|
};
|
|
50
57
|
|
|
51
58
|
export { ComponentId };
|
|
52
|
-
//# sourceMappingURL=chunk-
|
|
53
|
-
//# sourceMappingURL=chunk-
|
|
59
|
+
//# sourceMappingURL=chunk-XMC355U2.js.map
|
|
60
|
+
//# sourceMappingURL=chunk-XMC355U2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/constants/componentId.ts"],"names":[],"mappings":";AAAO,IAAM,WAAA,GAAc;AAAA,EACzB,WAAA,EAAa,qBAAA;AAAA,EACb,WAAA,EAAa,qBAAA;AAAA,EACb,YAAA,EAAc,sBAAA;AAAA,EACd,eAAA,EAAiB,yBAAA;AAAA,EACjB,mBAAA,EAAqB,6BAAA;AAAA,EACrB,sBAAA,EAAwB,gCAAA;AAAA,EACxB,yBAAA,EAA2B,mCAAA;AAAA,EAC3B,YAAA,EAAc,sBAAA;AAAA,EACd,gBAAA,EAAkB,0BAAA;AAAA,EAClB,UAAA,EAAY,oBAAA;AAAA,EACZ,WAAA,EAAa,wBAAA;AAAA,EACb,WAAA,EAAa,wBAAA;AAAA,EACb,UAAA,EAAY,oBAAA;AAAA,EACZ,YAAA,EAAc,sBAAA;AAAA,EACd,UAAA,EAAY,qBAAA;AAAA,EACZ,SAAA,EAAW,oBAAA;AAAA,EACX,WAAA,EAAa,sBAAA;AAAA,EACb,YAAA,EAAc,uBAAA;AAAA,EACd,cAAA,EAAgB,wBAAA;AAAA,EAChB,UAAA,EAAY,oBAAA;AAAA,EACZ,SAAA,EAAW,mBAAA;AAAA;AAAA,EAGX,yBAAA,EAA2B,mCAAA;AAAA,EAC3B,eAAA,EAAiB,yBAAA;AAAA;AAAA,EAGjB,WAAA,EAAa,qBAAA;AAAA,EACb,WAAA,EAAa,qBAAA;AAAA,EACb,cAAA,EAAgB,wBAAA;AAAA,EAChB,cAAA,EAAgB,wBAAA;AAAA,EAChB,SAAA,EAAW,mBAAA;AAAA,EACX,cAAA,EAAgB,wBAAA;AAAA,EAChB,WAAA,EAAa,qBAAA;AAAA,EACb,iBAAA,EAAmB,2BAAA;AAAA,EACnB,YAAA,EAAc,sBAAA;AAAA,EACd,eAAA,EAAiB,yBAAA;AAAA,EACjB,cAAA,EAAgB,wBAAA;AAAA,EAChB,cAAA,EAAgB,wBAAA;AAAA,EAChB,YAAA,EAAc,sBAAA;AAAA,EACd,UAAA,EAAY,oBAAA;AAAA,EACZ,eAAA,EAAiB,yBAAA;AAAA,EACjB,oBAAA,EAAsB,8BAAA;AAAA,EACtB,WAAA,EAAa,qBAAA;AAAA,EACb,eAAA,EAAiB,sBAAA;AAAA,EACjB,kBAAA,EAAoB,yBAAA;AAAA;AAAA,EAGpB,aAAA,EAAe,uBAAA;AAAA;AAAA,EAGf,OAAA,EAAS,iBAAA;AAAA,EACT,MAAA,EAAQ,gBAAA;AAAA,EACR,WAAA,EAAa,qBAAA;AAAA,EACb,SAAA,EAAW,mBAAA;AAAA,EACX,4BAAA,EAA8B,mCAAA;AAAA,EAC9B,2BAAA,EAA6B;AAC/B","file":"chunk-XMC355U2.js","sourcesContent":["export const ComponentId = {\n WR_DB_MYSQL: 'keboola.wr-db-mysql',\n WR_DB_PGSQL: 'keboola.wr-db-pgsql',\n WR_DB_ORACLE: 'keboola.wr-db-oracle',\n WR_DB_SNOWFLAKE: 'keboola.wr-db-snowflake',\n WR_DB_SNOWFLAKE_GCS: 'keboola.wr-db-snowflake-gcs',\n WR_DB_SNOWFLAKE_GCS_S3: 'keboola.wr-db-snowflake-gcs-s3',\n WR_SNOWFLAKE_BLOB_STORAGE: 'keboola.wr-snowflake-blob-storage',\n WR_LOOKER_V2: 'keboola.wr-looker-v2',\n APP_DATA_GATEWAY: 'keboola.app-data-gateway',\n WR_SYNAPSE: 'keboola.wr-synapse',\n WR_REDSHIFT: 'keboola.wr-redshift-v2',\n WR_DB_MSSQL: 'keboola.wr-db-mssql-v2',\n WR_DB_HIVE: 'keboola.wr-db-hive',\n WR_DB_IMPALA: 'keboola.wr-db-impala',\n WR_PAIRITY: 'kds-team.wr-pairity',\n WR_EXASOL: 'kds-team.wr-exasol',\n WR_FIREBOLT: 'kds-team.wr-firebolt',\n WR_HIVE_CSAS: 'kds-team.wr-hive-csas',\n WR_THOUGHTSPOT: 'keboola.wr-thoughtspot',\n WR_SISENSE: 'keboola.wr-sisense',\n SCHEDULER: 'keboola.scheduler',\n\n // App-specific writers (bespoke credential blocks)\n APP_SNOWFLAKE_DWH_MANAGER: 'keboola.app-snowflake-dwh-manager',\n GOODDATA_WRITER: 'keboola.gooddata-writer',\n\n // DB extractors (ex-db-generic family)\n EX_DB_MYSQL: 'keboola.ex-db-mysql',\n EX_DB_PGSQL: 'keboola.ex-db-pgsql',\n EX_DB_REDSHIFT: 'keboola.ex-db-redshift',\n EX_DB_FIREBIRD: 'keboola.ex-db-firebird',\n EX_DB_DB2: 'keboola.ex-db-db2',\n EX_DB_DB2_BATA: 'keboola.ex-db-db2-bata',\n EX_DB_MSSQL: 'keboola.ex-db-mssql',\n EX_DB_MSSQL_CDATA: 'keboola.ex-db-mssql-cdata',\n EX_DB_ORACLE: 'keboola.ex-db-oracle',\n EX_DB_SNOWFLAKE: 'keboola.ex-db-snowflake',\n EX_DB_NETSUITE: 'keboola.ex-db-netsuite',\n EX_DB_INFORMIX: 'keboola.ex-db-informix',\n EX_DB_IMPALA: 'keboola.ex-db-impala',\n EX_DB_HIVE: 'keboola.ex-db-hive',\n EX_DB_HIVE_CSAS: 'keboola.ex-db-hive-csas',\n EX_DB_HIVE_CSAS_TEST: 'keboola.ex-db-hive-csas-test',\n EX_TERADATA: 'keboola.ex-teradata',\n KDS_EX_NETSUITE: 'kds-team.ex-netsuite',\n KDS_EX_PROGRESS_DB: 'kds-team.ex-progress-db',\n\n // Google (OAuth) components\n EX_GOOGLE_ADS: 'keboola.ex-google-ads',\n\n // File/connection extractors (ex family, no shared credential base)\n EX_HTTP: 'keboola.ex-http',\n EX_FTP: 'keboola.ex-ftp',\n EX_FTP_CSAS: 'keboola.ex-ftp-csas',\n EX_AWS_S3: 'keboola.ex-aws-s3',\n KDS_EX_AZURE_BLOB_STORAGE_V2: 'kds-team.ex-azure-blob-storage-v2',\n KDS_EX_AZURE_DATA_LAKE_GEN2: 'kds-team.ex-azure-data-lake-gen2',\n} as const;\n\nexport type ComponentId = (typeof ComponentId)[keyof typeof ComponentId];\n"]}
|
|
@@ -25,11 +25,11 @@ var z__namespace = /*#__PURE__*/_interopNamespace(z);
|
|
|
25
25
|
|
|
26
26
|
var loginInputSchema = z__namespace.object({
|
|
27
27
|
email: z__namespace.email(),
|
|
28
|
-
password: z__namespace.string()
|
|
28
|
+
password: z__namespace.string().min(1, "Required")
|
|
29
29
|
});
|
|
30
30
|
var oidcInputSchema = z__namespace.object({
|
|
31
31
|
grantType: z__namespace.enum(["google", "microsoft"]),
|
|
32
|
-
idToken: z__namespace.string()
|
|
32
|
+
idToken: z__namespace.string().min(1, "Required")
|
|
33
33
|
});
|
|
34
34
|
var userSchema = z__namespace.object({
|
|
35
35
|
id: z__namespace.number(),
|
|
@@ -50,14 +50,13 @@ var mfaChallengeSchema = z__namespace.object({
|
|
|
50
50
|
mfaType: z__namespace.string(),
|
|
51
51
|
mfaToken: z__namespace.string(),
|
|
52
52
|
expiresIn: z__namespace.number(),
|
|
53
|
-
allowedMethods: z__namespace.array(z__namespace.string())
|
|
54
|
-
webauthn: z__namespace.record(z__namespace.string(), z__namespace.unknown()).nullable()
|
|
53
|
+
allowedMethods: z__namespace.array(z__namespace.string())
|
|
55
54
|
});
|
|
56
55
|
var loginResultSchema = z__namespace.union([loginSuccessSchema, mfaChallengeSchema]);
|
|
57
56
|
var mfaCodeInputSchema = z__namespace.object({
|
|
58
57
|
mfaToken: z__namespace.string(),
|
|
59
58
|
type: z__namespace.enum(["totp", "recovery_code"]),
|
|
60
|
-
code: z__namespace.string()
|
|
59
|
+
code: z__namespace.string().min(1, "Required")
|
|
61
60
|
});
|
|
62
61
|
var mfaWebauthnInputSchema = z__namespace.object({
|
|
63
62
|
mfaToken: z__namespace.string(),
|
|
@@ -239,5 +238,5 @@ exports.mfaChallengeSchema = mfaChallengeSchema;
|
|
|
239
238
|
exports.mfaCodeInputSchema = mfaCodeInputSchema;
|
|
240
239
|
exports.mfaWebauthnInputSchema = mfaWebauthnInputSchema;
|
|
241
240
|
exports.oidcInputSchema = oidcInputSchema;
|
|
242
|
-
//# sourceMappingURL=chunk-
|
|
243
|
-
//# sourceMappingURL=chunk-
|
|
241
|
+
//# sourceMappingURL=chunk-XPQBE77T.cjs.map
|
|
242
|
+
//# sourceMappingURL=chunk-XPQBE77T.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/clients/auth/login/schemas.ts","../src/clients/auth/mfa/schemas.ts","../src/clients/auth/device/device.ts","../src/clients/auth/login/login.ts","../src/clients/auth/mfa/mfa.ts","../src/clients/auth/pat/pat.ts","../src/clients/auth/pkce/pkce.ts","../src/clients/auth/saml/saml.ts","../src/clients/auth/session/session.ts","../src/clients/auth/sudo/sudo.ts","../src/clients/auth/token/token.ts","../src/clients/auth/authClient.ts"],"names":["z","z2","email","HttpHeader","createOpenapiFetchClient"],"mappings":"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","file":"chunk-XPQBE77T.cjs","sourcesContent":["import * as z from 'zod';\n\nexport const loginInputSchema = z.object({\n email: z.email(),\n password: z.string().min(1, 'Required'),\n});\n\nexport const oidcInputSchema = z.object({\n grantType: z.enum(['google', 'microsoft']),\n idToken: z.string().min(1, 'Required'),\n});\n\nexport type LoginInput = z.infer<typeof loginInputSchema>;\nexport type OidcInput = z.infer<typeof oidcInputSchema>;\n\nconst userSchema = z.object({\n id: z.number(),\n email: z.string(),\n name: z.string(),\n});\n\n// Success shape. The backend omits `mfaRequired` here, so we inject a `false`\n// literal to make the outcome a discriminated union on `mfaRequired`.\nexport const loginSuccessSchema = z.object({\n mfaRequired: z.literal(false).default(false),\n accessToken: z.string(),\n refreshToken: z.string(),\n tokenType: z.string(),\n expiresIn: z.number(),\n sessionId: z.string(),\n user: userSchema,\n});\n\n// MFA-challenge shape. `mfaRequired` is always true here — it is the discriminant.\nexport const mfaChallengeSchema = z.object({\n mfaRequired: z.literal(true),\n mfaType: z.string(),\n mfaToken: z.string(),\n expiresIn: z.number(),\n allowedMethods: z.array(z.string()),\n});\n\nexport const loginResultSchema = z.union([loginSuccessSchema, mfaChallengeSchema]);\n\nexport type LoginUser = z.infer<typeof userSchema>;\nexport type LoginSuccess = z.infer<typeof loginSuccessSchema>;\nexport type LoginResult = z.infer<typeof loginResultSchema>;\n","import * as z from 'zod';\n\nexport const mfaCodeInputSchema = z.object({\n mfaToken: z.string(),\n type: z.enum(['totp', 'recovery_code']),\n code: z.string().min(1, 'Required'),\n});\n\nexport const mfaWebauthnInputSchema = z.object({\n mfaToken: z.string(),\n assertion: z.string(),\n});\n\nexport type MfaCodeInput = z.infer<typeof mfaCodeInputSchema>;\nexport type MfaWebauthnInput = z.infer<typeof mfaWebauthnInputSchema>;\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type {\n ApproveDeviceAuthorizationBody,\n CreateDeviceAuthorizationBody,\n GetDeviceAuthorizationTokenBody,\n} from './types';\n\nexport const createDevice = (client: AuthOpenApiFetchClient) => {\n const create = async (body: CreateDeviceAuthorizationBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/device', { body }, { signal });\n return data;\n };\n\n const approve = async (body: ApproveDeviceAuthorizationBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/device/approve', { body }, { signal });\n return data;\n };\n\n const getToken = async (body: GetDeviceAuthorizationTokenBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/device/token', { body }, { signal });\n return data;\n };\n\n return { create, approve, getToken };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { LoginInput, OidcInput } from './schemas';\nimport { loginInputSchema, loginResultSchema, oidcInputSchema } from './schemas';\nimport type { LoginBody } from './types';\n\nexport const createLogin = (client: AuthOpenApiFetchClient) => {\n const _login = async (body: LoginBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/login', { body }, { signal });\n return data;\n };\n\n const withPassword = async (input: LoginInput, signal?: AbortSignal) => {\n const { email, password } = loginInputSchema.parse(input);\n // Cast: omit fields outside the grant — the backend rejects null.\n const data = await _login({ grantType: 'password', email, password } as LoginBody, signal);\n // Validate against our own schema — the generated response type is unreliable,\n // and this narrows the outcome to a discriminated union on `mfaRequired`.\n return loginResultSchema.parse(data);\n };\n\n const withOidc = async (input: OidcInput, signal?: AbortSignal) => {\n const { grantType, idToken } = oidcInputSchema.parse(input);\n // Cast: omit fields outside the grant — the backend rejects null.\n const data = await _login({ grantType, idToken } as LoginBody, signal);\n return loginResultSchema.parse(data);\n };\n\n return { withPassword, withOidc };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { MfaCodeInput, MfaWebauthnInput } from './schemas';\nimport { mfaCodeInputSchema, mfaWebauthnInputSchema } from './schemas';\nimport type { VerifyMfaBody } from './types';\n\nexport const createMfa = (client: AuthOpenApiFetchClient) => {\n const _verify = async (body: VerifyMfaBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/mfa', { body }, { signal });\n return data;\n };\n\n const verifyWithCode = async (input: MfaCodeInput, signal?: AbortSignal) => {\n const { mfaToken, type, code } = mfaCodeInputSchema.parse(input);\n // Cast: omit fields outside the type — the backend rejects null.\n return _verify({ mfaToken, type, code } as VerifyMfaBody, signal);\n };\n\n const verifyWithWebauthn = async (input: MfaWebauthnInput, signal?: AbortSignal) => {\n const { mfaToken, assertion } = mfaWebauthnInputSchema.parse(input);\n // Cast: omit fields outside the type — the backend rejects null.\n return _verify({ mfaToken, type: 'webauthn', assertion } as VerifyMfaBody, signal);\n };\n\n const regenerateRecoveryCodes = async (signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/mfa/recovery-codes', {}, { signal });\n return data;\n };\n\n return { verifyWithCode, verifyWithWebauthn, regenerateRecoveryCodes };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { CreatePatBody, ExchangePatBody, RevokePatPath } from './types';\n\nexport const createPat = (client: AuthOpenApiFetchClient) => {\n const getAll = async (signal?: AbortSignal) => {\n const { data } = await client.get('/v1/auth/pat', {}, { signal });\n return data;\n };\n\n const create = async (body: CreatePatBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/pat', { body }, { signal });\n return data;\n };\n\n const exchange = async (body?: ExchangePatBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/pat/exchange', { body }, { signal });\n return data;\n };\n\n const revoke = async (id: RevokePatPath['id'], signal?: AbortSignal) => {\n await client.delete('/v1/auth/pat/{id}', { path: { id } }, { signal });\n };\n\n return { create, exchange, revoke, getAll };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { GetPkceTokenBody } from './types';\n\nexport const createPkce = (client: AuthOpenApiFetchClient) => {\n const getToken = async (body: GetPkceTokenBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/pkce/token', { body }, { signal });\n return data;\n };\n\n return { getToken };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { AssertSamlBody, InitiateSamlBody } from './types';\n\nexport const createSaml = (client: AuthOpenApiFetchClient) => {\n const assert = async (body: AssertSamlBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/saml/assert', { body }, { signal });\n return data;\n };\n\n const initiate = async (body?: InitiateSamlBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/saml/initiate', { body }, { signal });\n return data;\n };\n\n return { assert, initiate };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { RevokeSessionPath } from './types';\n\nexport const createSession = (client: AuthOpenApiFetchClient) => {\n const getAll = async (signal?: AbortSignal) => {\n const { data } = await client.get('/v1/auth/sessions', {}, { signal });\n return data;\n };\n\n const revoke = async (sessionId: RevokeSessionPath['sessionId'], signal?: AbortSignal) => {\n await client.delete('/v1/auth/sessions/{sessionId}', { path: { sessionId } }, { signal });\n };\n\n const revokeAll = async (signal?: AbortSignal) => {\n await client.delete('/v1/auth/sessions', {}, { signal });\n };\n\n return { getAll, revoke, revokeAll };\n};\n","import type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { SudoBody } from './types';\n\nexport const createSudo = (client: AuthOpenApiFetchClient) => {\n const verify = async (body: SudoBody, signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/sudo', { body }, { signal });\n return data;\n };\n\n const challenge = async (signal?: AbortSignal) => {\n const { data } = await client.post('/v1/auth/sudo/challenge', {}, { signal });\n return data;\n };\n\n return { verify, challenge };\n};\n","import { HttpHeader } from '../../../fetchClient';\nimport type { AuthOpenApiFetchClient } from '../authClient';\n\nimport type { RevokeTokenBody } from './types';\n\nexport const createToken = (client: AuthOpenApiFetchClient) => {\n const refresh = async (refreshToken: string, signal?: AbortSignal) => {\n const { data } = await client.post(\n '/v1/auth/token/refresh',\n { body: { refreshToken } },\n { signal },\n );\n\n return data;\n };\n\n /**\n * Introspects an authenticated session token.\n *\n * @param token - Optional token to introspect (`Authorization: Bearer`); a middleware-set header wins.\n */\n const introspect = async (token?: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/v1/auth/token/introspect',\n {},\n { signal, headers: token ? { [HttpHeader.AUTHORIZATION]: `Bearer ${token}` } : undefined },\n );\n return data;\n };\n\n const revoke = async (body: RevokeTokenBody, signal?: AbortSignal) => {\n await client.post('/v1/auth/token/revoke', { body }, { signal });\n };\n\n return { refresh, introspect, revoke };\n};\n","import { createOpenapiFetchClient } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createDevice } from './device';\nimport { createLogin } from './login';\nimport { createMfa } from './mfa';\nimport { createPat } from './pat';\nimport { createPkce } from './pkce';\nimport { createSaml } from './saml';\nimport { createSession } from './session';\nimport { createSudo } from './sudo';\nimport { createToken } from './token';\n\nexport type AuthClientInitOptions = Omit<ClientInitOptions, 'auth'>;\n\nexport type AuthOpenApiFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createAuthClient = ({ baseUrl, middlewares }: AuthClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({ baseUrl, middlewares });\n\n return {\n login: createLogin(client),\n mfa: createMfa(client),\n saml: createSaml(client),\n pat: createPat(client),\n device: createDevice(client),\n sudo: createSudo(client),\n pkce: createPkce(client),\n session: createSession(client),\n token: createToken(client),\n };\n};\n"]}
|
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
var chunkWWICQYOY_cjs = require('./chunk-WWICQYOY.cjs');
|
|
4
4
|
var chunkIUN2ZSU3_cjs = require('./chunk-IUN2ZSU3.cjs');
|
|
5
5
|
|
|
6
|
+
// src/utils/async/dedupe.ts
|
|
7
|
+
var dedupe = (task) => {
|
|
8
|
+
let inflight = null;
|
|
9
|
+
const runTask = async () => await task();
|
|
10
|
+
return () => {
|
|
11
|
+
inflight ??= runTask().finally(() => {
|
|
12
|
+
inflight = null;
|
|
13
|
+
});
|
|
14
|
+
return inflight;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
|
|
6
18
|
// src/clients/management/authMiddleware.ts
|
|
7
19
|
var TOKEN_CACHE_TTL_MS = 6e4;
|
|
8
20
|
var isManagementClientAuthError = (error) => error instanceof chunkWWICQYOY_cjs.ManagementClientAuthError;
|
|
@@ -60,7 +72,6 @@ var createAuthMiddleware = ({
|
|
|
60
72
|
const auth = createAuth(baseUrl);
|
|
61
73
|
let token = accessToken;
|
|
62
74
|
let tokenValidUntil = 0;
|
|
63
|
-
let inflightAuth = null;
|
|
64
75
|
const isDevelopment = process.env.NODE_ENV === "development";
|
|
65
76
|
const ensureValidToken = async () => {
|
|
66
77
|
if (token && Date.now() < tokenValidUntil) return token;
|
|
@@ -79,13 +90,9 @@ var createAuthMiddleware = ({
|
|
|
79
90
|
tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;
|
|
80
91
|
return token;
|
|
81
92
|
};
|
|
93
|
+
const ensureValidTokenDeduped = dedupe(ensureValidToken);
|
|
82
94
|
return (next) => async (request) => {
|
|
83
|
-
|
|
84
|
-
inflightAuth = ensureValidToken().finally(() => {
|
|
85
|
-
inflightAuth = null;
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
const validToken = await inflightAuth;
|
|
95
|
+
const validToken = await ensureValidTokenDeduped();
|
|
89
96
|
request.request.headers.set(chunkIUN2ZSU3_cjs.KeboolaHttpHeader.MANAGEMENT_API_TOKEN, validToken);
|
|
90
97
|
return next(request);
|
|
91
98
|
};
|
|
@@ -269,6 +276,27 @@ var createFeatures = (client) => {
|
|
|
269
276
|
};
|
|
270
277
|
};
|
|
271
278
|
|
|
279
|
+
// src/clients/management/fileStorage/fileStorage.ts
|
|
280
|
+
var createFileStorage = (client) => {
|
|
281
|
+
const getFileStoragesS3 = async (signal) => {
|
|
282
|
+
const { data } = await client.get("/manage/file-storage-s3", {}, { signal });
|
|
283
|
+
return data;
|
|
284
|
+
};
|
|
285
|
+
const getFileStoragesAbs = async (signal) => {
|
|
286
|
+
const { data } = await client.get("/manage/file-storage-abs", {}, { signal });
|
|
287
|
+
return data;
|
|
288
|
+
};
|
|
289
|
+
const getFileStoragesGcs = async (signal) => {
|
|
290
|
+
const { data } = await client.get("/manage/file-storage-gcs", {}, { signal });
|
|
291
|
+
return data;
|
|
292
|
+
};
|
|
293
|
+
return {
|
|
294
|
+
getFileStoragesS3,
|
|
295
|
+
getFileStoragesAbs,
|
|
296
|
+
getFileStoragesGcs
|
|
297
|
+
};
|
|
298
|
+
};
|
|
299
|
+
|
|
272
300
|
// src/clients/management/maintainers/maintainers.ts
|
|
273
301
|
var createMaintainers = (client) => {
|
|
274
302
|
const getMaintainers = async (signal) => {
|
|
@@ -599,6 +627,14 @@ var createProjects = (client) => {
|
|
|
599
627
|
);
|
|
600
628
|
return data;
|
|
601
629
|
};
|
|
630
|
+
const getProjectTemplates = async (signal) => {
|
|
631
|
+
const { data } = await client.get(
|
|
632
|
+
"/manage/project-templates",
|
|
633
|
+
{},
|
|
634
|
+
{ signal }
|
|
635
|
+
);
|
|
636
|
+
return data;
|
|
637
|
+
};
|
|
602
638
|
const addProjectFeature = async ({
|
|
603
639
|
projectId,
|
|
604
640
|
feature
|
|
@@ -751,8 +787,19 @@ var createProjects = (client) => {
|
|
|
751
787
|
const { data } = await client.post("/manage/projects/{projectId}/disabled", { path: { projectId }, body });
|
|
752
788
|
return data;
|
|
753
789
|
};
|
|
790
|
+
const setProjectLimits = async ({
|
|
791
|
+
projectId,
|
|
792
|
+
...body
|
|
793
|
+
}) => {
|
|
794
|
+
const { data } = await client.post(
|
|
795
|
+
"/manage/projects/{projectId}/limits",
|
|
796
|
+
{ path: { projectId }, body }
|
|
797
|
+
);
|
|
798
|
+
return data;
|
|
799
|
+
};
|
|
754
800
|
return {
|
|
755
801
|
getProject,
|
|
802
|
+
getProjectTemplates,
|
|
756
803
|
addProjectFeature,
|
|
757
804
|
removeProjectFeature,
|
|
758
805
|
changeProjectUserRole,
|
|
@@ -769,7 +816,8 @@ var createProjects = (client) => {
|
|
|
769
816
|
updateProject,
|
|
770
817
|
deleteProject,
|
|
771
818
|
moveProject,
|
|
772
|
-
setProjectDisabled
|
|
819
|
+
setProjectDisabled,
|
|
820
|
+
setProjectLimits
|
|
773
821
|
};
|
|
774
822
|
};
|
|
775
823
|
|
|
@@ -779,8 +827,31 @@ var createStorageBackends = (client) => {
|
|
|
779
827
|
const { data } = await client.get("/manage/storage-backend/{id}", { path: { id } }, { signal });
|
|
780
828
|
return data;
|
|
781
829
|
};
|
|
830
|
+
const getStorageBackends = async (signal) => {
|
|
831
|
+
const { data } = await client.get("/manage/storage-backend", {}, { signal });
|
|
832
|
+
return data;
|
|
833
|
+
};
|
|
834
|
+
const getStorageBackendProjects = async (id, query, signal) => {
|
|
835
|
+
const { data } = await client.get(
|
|
836
|
+
"/manage/storage-backend/{id}/projects",
|
|
837
|
+
{ path: { id }, query: { limit: query?.limit, offset: query?.offset } },
|
|
838
|
+
{ signal }
|
|
839
|
+
);
|
|
840
|
+
return data;
|
|
841
|
+
};
|
|
842
|
+
const getStorageBackendMaintainers = async (id, signal) => {
|
|
843
|
+
const { data } = await client.get(
|
|
844
|
+
"/manage/storage-backend/{id}/maintainers",
|
|
845
|
+
{ path: { id } },
|
|
846
|
+
{ signal }
|
|
847
|
+
);
|
|
848
|
+
return data;
|
|
849
|
+
};
|
|
782
850
|
return {
|
|
783
|
-
getStorageBackend
|
|
851
|
+
getStorageBackend,
|
|
852
|
+
getStorageBackends,
|
|
853
|
+
getStorageBackendProjects,
|
|
854
|
+
getStorageBackendMaintainers
|
|
784
855
|
};
|
|
785
856
|
};
|
|
786
857
|
|
|
@@ -846,6 +917,7 @@ var createManagementClient = ({
|
|
|
846
917
|
maintainers: createMaintainers(openApiClient),
|
|
847
918
|
organizations: createOrganizations(openApiClient),
|
|
848
919
|
features: createFeatures(client),
|
|
920
|
+
fileStorage: createFileStorage(openApiClient),
|
|
849
921
|
projects: createProjects(client),
|
|
850
922
|
storageBackends: createStorageBackends(openApiClient),
|
|
851
923
|
users: createUsers(client),
|
|
@@ -854,6 +926,7 @@ var createManagementClient = ({
|
|
|
854
926
|
};
|
|
855
927
|
|
|
856
928
|
exports.createManagementClient = createManagementClient;
|
|
929
|
+
exports.dedupe = dedupe;
|
|
857
930
|
exports.isManagementClientAuthError = isManagementClientAuthError;
|
|
858
|
-
//# sourceMappingURL=chunk-
|
|
859
|
-
//# sourceMappingURL=chunk-
|
|
931
|
+
//# sourceMappingURL=chunk-YHMW7CZF.cjs.map
|
|
932
|
+
//# sourceMappingURL=chunk-YHMW7CZF.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/async/dedupe.ts","../src/clients/management/authMiddleware.ts","../src/clients/management/currentUser/currentUser.ts","../src/clients/management/deletedProjects/deletedProjects.ts","../src/clients/management/features/features.ts","../src/clients/management/fileStorage/fileStorage.ts","../src/clients/management/maintainers/maintainers.ts","../src/clients/management/organizations/organizations.ts","../src/clients/management/projects/projects.ts","../src/clients/management/storageBackends/storageBackends.ts","../src/clients/management/users/users.ts","../src/clients/management/managementClient.ts"],"names":["ManagementClientAuthError","createGenericFetchClient","KeboolaHttpHeader","HttpHeader","HttpContentType","defaultValidateStatus","createOpenapiFetchClient"],"mappings":"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","file":"chunk-YHMW7CZF.cjs","sourcesContent":["import type { TaskFn } from './types';\n\n/**\n * Deduplicates concurrent triggers by sharing one in-flight run of `task`.\n * While a run is in flight every trigger returns that same promise; once it\n * settles the next trigger starts a fresh run. (Contrast `coalesce`, which\n * runs a *trailing* pass for triggers that arrive mid-run.)\n *\n * @returns a trigger; each call returns a promise of the task result.\n * @throws The returned promise rejects with whatever `task` throws or rejects\n * with — the caller handles it (try/catch, or `.catch` on `void trigger()`).\n */\nexport const dedupe = <T>(task: TaskFn<T>): (() => Promise<Awaited<T>>) => {\n let inflight: Promise<Awaited<T>> | null = null;\n\n // async wrapper so a synchronous throw from `task` rejects rather than throws.\n const runTask = async (): Promise<Awaited<T>> => await task();\n\n return () => {\n inflight ??= runTask().finally(() => {\n inflight = null;\n });\n return inflight;\n };\n};\n","import { ManagementClientAuthError } from '../../errors';\nimport {\n createGenericFetchClient,\n defaultValidateStatus,\n HttpContentType,\n HttpHeader,\n type MiddlewareFn,\n} from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport { dedupe } from '../../utils';\n\nimport type { ManagementToken } from './tokenTypes';\n\ntype ManagementTokenWithStringToken = { token: string } & ManagementToken;\n\n// Long enough to amortize verify calls over a burst of parallel queries at app\n// startup; short enough that a remotely revoked token is re-checked within a minute.\nconst TOKEN_CACHE_TTL_MS = 60_000;\n\nexport const isManagementClientAuthError = (error: unknown): error is ManagementClientAuthError =>\n error instanceof ManagementClientAuthError;\n\nconst createAuth = (baseUrl: string) => {\n const fetchClient = createGenericFetchClient({ baseUrl });\n\n // Raw token verify — deliberately does NOT go through this middleware (which would recurse).\n const verifyManagementToken = async (accessToken: string) => {\n const headers = new Headers({ [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: accessToken });\n const { data } = await fetchClient.get<ManagementToken>(\n '/manage/tokens/verify',\n {},\n { headers },\n );\n return data;\n };\n\n const createCurrentUserSessionToken = async (accessToken: string) => {\n const headers = new Headers({ [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: accessToken });\n const { data } = await fetchClient.post<ManagementTokenWithStringToken>(\n '/manage/current-user/session-token',\n {},\n { headers },\n );\n return data.token;\n };\n\n const createAdminAccountSessionToken = async () => {\n const { data } = await fetchClient.post<ManagementTokenWithStringToken>(\n '/admin/account/session-token',\n {},\n {\n // transform valid response, to invalid and throw custom error\n validateStatus: (apiResponse) => {\n const { response } = apiResponse;\n\n // If the response is \"302 Found\", then response type is \"text/html\", because backend detected\n // that session expired and redirected user to login screen\n const isTextContent = response.headers\n .get(HttpHeader.CONTENT_TYPE)\n ?.includes(HttpContentType.TEXT_HTML);\n\n if (isTextContent)\n return new ManagementClientAuthError(\n 'Your session expired',\n 'You will be logged out automatically.',\n apiResponse,\n );\n\n return defaultValidateStatus(apiResponse);\n },\n },\n );\n return data.token;\n };\n\n return {\n verifyManagementToken,\n createCurrentUserSessionToken,\n createAdminAccountSessionToken,\n };\n};\n\nexport const createAuthMiddleware = ({\n accessToken,\n baseUrl,\n}: {\n baseUrl: string;\n accessToken?: string;\n}): MiddlewareFn => {\n const auth = createAuth(baseUrl);\n\n let token: string | undefined = accessToken;\n let tokenValidUntil = 0;\n // oxlint-disable-next-line turbo/no-undeclared-env-vars\n const isDevelopment = process.env.NODE_ENV === 'development';\n\n const ensureValidToken = async (): Promise<string> => {\n if (token && Date.now() < tokenValidUntil) return token;\n\n if (token) {\n const tokenInfo = await auth.verifyManagementToken(token);\n const isTokenValid = !tokenInfo.isDisabled && !tokenInfo.isExpired;\n if (isTokenValid) {\n tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;\n return token;\n }\n token = isDevelopment\n ? await auth.createCurrentUserSessionToken(token)\n : await auth.createAdminAccountSessionToken();\n tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;\n return token;\n }\n\n token = await auth.createAdminAccountSessionToken();\n tokenValidUntil = Date.now() + TOKEN_CACHE_TTL_MS;\n return token;\n };\n\n // Deduplicate concurrent auth — all parallel requests share one inflight promise.\n const ensureValidTokenDeduped = dedupe(ensureValidToken);\n\n return (next) => async (request) => {\n const validToken = await ensureValidTokenDeduped();\n\n request.request.headers.set(KeboolaHttpHeader.MANAGEMENT_API_TOKEN, validToken);\n return next(request);\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nexport const createCurrentUser = (client: ManagementOpenApiFetchClient) => {\n // --- Maintainer invitations ---\n\n const getMaintainerInvitations = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/maintainers-invitations',\n {},\n { signal },\n );\n return data;\n };\n\n const getMaintainerInvitation = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/maintainers-invitations/{id}',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const acceptMaintainerInvitation = async (id: number) => {\n await client.put('/manage/current-user/maintainers-invitations/{id}', { path: { id } });\n };\n\n const rejectMaintainerInvitation = async (id: number) => {\n await client.delete('/manage/current-user/maintainers-invitations/{id}', { path: { id } });\n };\n\n // --- Organization invitations ---\n\n const getOrganizationInvitations = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/organizations-invitations',\n {},\n { signal },\n );\n return data;\n };\n\n const getOrganizationInvitation = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/organizations-invitations/{id}',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const acceptOrganizationInvitation = async (id: number) => {\n await client.put('/manage/current-user/organizations-invitations/{id}', { path: { id } });\n };\n\n const rejectOrganizationInvitation = async (id: number) => {\n await client.delete('/manage/current-user/organizations-invitations/{id}', { path: { id } });\n };\n\n // --- Project invitations ---\n\n const getProjectInvitations = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/current-user/projects-invitations', {}, { signal });\n return data;\n };\n\n const getProjectInvitation = async (id: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/projects-invitations/{id}',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n const acceptProjectInvitation = async (id: number) => {\n await client.put('/manage/current-user/projects-invitations/{id}', { path: { id } });\n };\n\n const rejectProjectInvitation = async (id: number) => {\n await client.delete('/manage/current-user/projects-invitations/{id}', { path: { id } });\n };\n\n // --- Project join requests ---\n\n const getProjectJoinRequests = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/current-user/projects-join-requests',\n {},\n { signal },\n );\n return data;\n };\n\n const deleteProjectJoinRequest = async (id: number) => {\n await client.delete('/manage/current-user/projects-join-requests/{id}', { path: { id } });\n };\n\n return {\n getMaintainerInvitations,\n getMaintainerInvitation,\n acceptMaintainerInvitation,\n rejectMaintainerInvitation,\n getOrganizationInvitations,\n getOrganizationInvitation,\n acceptOrganizationInvitation,\n rejectOrganizationInvitation,\n getProjectInvitations,\n getProjectInvitation,\n acceptProjectInvitation,\n rejectProjectInvitation,\n getProjectJoinRequests,\n deleteProjectJoinRequest,\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nimport type { DeletedProject, DeletedProjectPurgeResult, DeletedProjectsListQuery } from './types';\n\nexport const createDeletedProjects = (client: ManagementOpenApiFetchClient) => {\n const getDeletedProjects = async (\n query?: DeletedProjectsListQuery,\n signal?: AbortSignal,\n ): Promise<DeletedProject[]> => {\n const { data } = await client.get(\n '/manage/deleted-projects',\n {\n query: {\n limit: query?.limit ?? undefined,\n offset: query?.offset ?? undefined,\n organizationId: query?.organizationId ?? undefined,\n name: query?.name ?? undefined,\n },\n },\n { signal },\n );\n return data;\n };\n\n const getDeletedProject = async (\n projectId: number,\n signal?: AbortSignal,\n ): Promise<DeletedProject> => {\n const { data } = await client.get(\n '/manage/deleted-projects/{projectId}',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n /** Restore a deleted project (cancels deletion). Maps to DELETE /manage/deleted-projects/{projectId}\n * — note: the RFC says POST but the live schema uses DELETE. */\n const restoreDeletedProject = async (projectId: number) => {\n await client.delete('/manage/deleted-projects/{projectId}', { path: { projectId } });\n };\n\n /** Permanently purge a deleted project (irreversible). Pass `ignoreBackendErrors: true` to purge\n * even if backend-storage cleanup fails. Returns the enqueued purge command. */\n const purgeDeletedProject = async (\n projectId: number,\n ignoreBackendErrors = false,\n ): Promise<DeletedProjectPurgeResult> => {\n const { data } = await client.post('/manage/deleted-projects/{projectId}/purge', {\n path: { projectId },\n body: { ignoreBackendErrors },\n });\n return data;\n };\n\n return {\n getDeletedProjects,\n getDeletedProject,\n restoreDeletedProject,\n purgeDeletedProject,\n };\n};\n","import type { GenericFetchClient } from '../managementClient';\n\nimport type { Feature, FeatureAdmin, FeatureProject, GetAllFeaturesQuery } from './types';\n\nexport const createFeatures = (client: GenericFetchClient) => {\n const getAllFeatures = async (query: GetAllFeaturesQuery, signal?: AbortSignal) => {\n const { data } = await client.get<Feature[], void, GetAllFeaturesQuery>(\n '/manage/features',\n { query },\n { signal },\n );\n return data;\n };\n\n const getFeature = async (featureId: number, signal?: AbortSignal) => {\n const { data } = await client.get<Feature>(\n '/manage/features/{featureId}',\n { path: { featureId } },\n { signal },\n );\n return data;\n };\n\n const getFeatureProjects = async (featureId: number, signal?: AbortSignal) => {\n const { data } = await client.get<FeatureProject[]>(\n '/manage/features/{featureId}/projects',\n { path: { featureId } },\n { signal },\n );\n return data;\n };\n\n const getFeatureAdmins = async (featureId: number, signal?: AbortSignal) => {\n const { data } = await client.get<FeatureAdmin[]>(\n '/manage/features/{featureId}/admins',\n { path: { featureId } },\n { signal },\n );\n return data;\n };\n\n return {\n getAllFeatures,\n getFeature,\n getFeatureProjects,\n getFeatureAdmins,\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nimport type { FileStorageAbs, FileStorageGcs, FileStorageS3 } from './types';\n\nexport const createFileStorage = (client: ManagementOpenApiFetchClient) => {\n // Return the exported (overlay) types so consumers get the intended public shape — notably\n // `FileStorageGcs`, whose `gcsCredentials` the generated schema under-models as `Record<string,\n // never>`. The generated responses are assignable to the overlays (only `gcsCredentials` widens),\n // so a return annotation suffices — no cast needed.\n const getFileStoragesS3 = async (signal?: AbortSignal): Promise<FileStorageS3[]> => {\n const { data } = await client.get('/manage/file-storage-s3', {}, { signal });\n return data;\n };\n\n const getFileStoragesAbs = async (signal?: AbortSignal): Promise<FileStorageAbs[]> => {\n const { data } = await client.get('/manage/file-storage-abs', {}, { signal });\n return data;\n };\n\n const getFileStoragesGcs = async (signal?: AbortSignal): Promise<FileStorageGcs[]> => {\n const { data } = await client.get('/manage/file-storage-gcs', {}, { signal });\n return data;\n };\n\n return {\n getFileStoragesS3,\n getFileStoragesAbs,\n getFileStoragesGcs,\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nimport type {\n AddMaintainerUserBody,\n CreateMaintainerBody,\n CreateMaintainerInvitationBody,\n CreateMaintainerOrganizationBody,\n Maintainer,\n MaintainerDetail,\n MaintainerInvitationDetail,\n MaintainerUser,\n MetadataItem,\n SetMaintainerMetadataBody,\n UpdateMaintainerBody,\n} from './types';\n\nexport const createMaintainers = (client: ManagementOpenApiFetchClient) => {\n // --- Maintainer CRUD ---\n\n const getMaintainers = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/maintainers', {}, { signal });\n // OpenAPI declares response as `Record<string, never>[]`; backend returns MaintainerResponse[].\n return data as unknown as Maintainer[];\n };\n\n const getMaintainer = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}',\n { path: { id: maintainerId } },\n { signal },\n );\n // OpenAPI under-models the detail's `organizations`; backend returns full organization objects.\n return data as unknown as MaintainerDetail;\n };\n\n const createMaintainer = async (body: CreateMaintainerBody) => {\n const { data } = await client.post('/manage/maintainers', { body });\n return data;\n };\n\n const updateMaintainer = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & UpdateMaintainerBody) => {\n const { data } = await client.patch('/manage/maintainers/{id}', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n const deleteMaintainer = async (maintainerId: number) => {\n await client.delete('/manage/maintainers/{id}', { path: { id: maintainerId } });\n };\n\n // --- Members (users/admins) ---\n\n const getMaintainerUsers = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/users',\n { path: { id: maintainerId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns user objects.\n return data as unknown as MaintainerUser[];\n };\n\n const addMaintainerUser = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & AddMaintainerUserBody) => {\n const { data } = await client.post('/manage/maintainers/{id}/users', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n const removeMaintainerUser = async ({\n maintainerId,\n adminId,\n }: {\n maintainerId: number;\n adminId: number;\n }) => {\n await client.delete('/manage/maintainers/{id}/users/{adminId}', {\n path: { id: maintainerId, adminId },\n });\n };\n\n // --- Invitations ---\n\n const getMaintainerInvitations = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/invitations',\n { path: { id: maintainerId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns invitation objects.\n return data as unknown as MaintainerInvitationDetail[];\n };\n\n const getMaintainerInvitation = async (\n { maintainerId, invitationId }: { maintainerId: number; invitationId: number },\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/invitations/{invitationId}',\n { path: { id: maintainerId, invitationId } },\n { signal },\n );\n return data;\n };\n\n const createMaintainerInvitation = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & CreateMaintainerInvitationBody) => {\n const { data } = await client.post('/manage/maintainers/{id}/invitations', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n const deleteMaintainerInvitation = async ({\n maintainerId,\n invitationId,\n }: {\n maintainerId: number;\n invitationId: number;\n }) => {\n await client.delete('/manage/maintainers/{id}/invitations/{invitationId}', {\n path: { id: maintainerId, invitationId },\n });\n };\n\n // --- Organizations under maintainer ---\n\n const createMaintainerOrganization = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & CreateMaintainerOrganizationBody) => {\n const { data } = await client.post('/manage/maintainers/{id}/organizations', {\n path: { id: maintainerId },\n body,\n });\n return data;\n };\n\n // --- Metadata ---\n\n const getMaintainerMetadata = async (maintainerId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/maintainers/{id}/metadata',\n { path: { id: maintainerId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns MetadataItem[].\n return data as unknown as MetadataItem[];\n };\n\n const setMaintainerMetadata = async ({\n maintainerId,\n ...body\n }: { maintainerId: number } & SetMaintainerMetadataBody) => {\n const { data } = await client.post('/manage/maintainers/{id}/metadata', {\n path: { id: maintainerId },\n body,\n });\n // OpenAPI declares response as `Record<string, never>[]`; backend returns MetadataItem[].\n return data as unknown as MetadataItem[];\n };\n\n const deleteMaintainerMetadata = async ({\n maintainerId,\n metadataId,\n }: {\n maintainerId: number;\n metadataId: number;\n }) => {\n await client.delete('/manage/maintainers/{id}/metadata/{metadataId}', {\n path: { id: maintainerId, metadataId },\n });\n };\n\n return {\n getMaintainers,\n getMaintainer,\n createMaintainer,\n updateMaintainer,\n deleteMaintainer,\n getMaintainerUsers,\n addMaintainerUser,\n removeMaintainerUser,\n getMaintainerInvitations,\n getMaintainerInvitation,\n createMaintainerInvitation,\n deleteMaintainerInvitation,\n createMaintainerOrganization,\n getMaintainerMetadata,\n setMaintainerMetadata,\n deleteMaintainerMetadata,\n };\n};\n","import type { MetadataItem } from '../maintainers/types';\nimport type { ManagementOpenApiFetchClient } from '../managementClient';\nimport type { Project } from '../projects/types';\n\nimport type {\n AddOrganizationUserBody,\n AdminUser,\n CreateOrganizationInvitationBody,\n CreateOrganizationProjectBody,\n OrganizationDetail,\n OrganizationInvitationDetail,\n SetOrganizationMetadataBody,\n UpdateOrganizationBody,\n} from './types';\n\nexport const createOrganizations = (client: ManagementOpenApiFetchClient) => {\n // --- Organization CRUD ---\n\n const getOrganizations = async (signal?: AbortSignal) => {\n const { data } = await client.get('/manage/organizations', {}, { signal });\n return data;\n };\n\n const getOrganization = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares projects/maintainer as `Record<string, never>`; backend returns full shapes.\n return data as unknown as OrganizationDetail;\n };\n\n const updateOrganization = async ({\n organizationId,\n ...body\n }: { organizationId: number } & UpdateOrganizationBody) => {\n const { data } = await client.patch('/manage/organizations/{id}', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n const deleteOrganization = async (organizationId: number) => {\n await client.delete('/manage/organizations/{id}', { path: { id: organizationId } });\n };\n\n const forceMfa = async (organizationId: number) => {\n const { data } = await client.patch('/manage/organizations/{id}/force-mfa', {\n path: { id: organizationId },\n });\n return data;\n };\n\n const joinOrganization = async (organizationId: number) => {\n await client.post('/manage/organizations/{id}/join-organization', {\n path: { id: organizationId },\n });\n };\n\n // --- Members (users/admins) ---\n\n const getOrganizationUsers = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/users',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns user objects.\n return data as unknown as AdminUser[];\n };\n\n const addOrganizationUser = async ({\n organizationId,\n ...body\n }: { organizationId: number } & AddOrganizationUserBody) => {\n const { data } = await client.post('/manage/organizations/{id}/users', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n const removeOrganizationUser = async ({\n organizationId,\n userId,\n }: {\n organizationId: number;\n userId: number;\n }) => {\n await client.delete('/manage/organizations/{id}/users/{userId}', {\n path: { id: organizationId, userId },\n });\n };\n\n const getOrganizationProjectsUsers = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/projects-users',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns user objects.\n return data as unknown as AdminUser[];\n };\n\n // --- Invitations ---\n\n const getOrganizationInvitations = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/invitations',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns invitation objects.\n return data as unknown as OrganizationInvitationDetail[];\n };\n\n const getOrganizationInvitation = async (\n { organizationId, invitationId }: { organizationId: number; invitationId: number },\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/invitations/{invitationId}',\n { path: { id: organizationId, invitationId } },\n { signal },\n );\n return data;\n };\n\n const createOrganizationInvitation = async ({\n organizationId,\n ...body\n }: { organizationId: number } & CreateOrganizationInvitationBody) => {\n const { data } = await client.post('/manage/organizations/{id}/invitations', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n const deleteOrganizationInvitation = async ({\n organizationId,\n invitationId,\n }: {\n organizationId: number;\n invitationId: number;\n }) => {\n await client.delete('/manage/organizations/{id}/invitations/{invitationId}', {\n path: { id: organizationId, invitationId },\n });\n };\n\n // --- Projects under organization ---\n\n const getOrganizationProjects = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/projects',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns project objects.\n return data as unknown as Project[];\n };\n\n const createOrganizationProject = async ({\n organizationId,\n ...body\n }: { organizationId: number } & CreateOrganizationProjectBody) => {\n const { data } = await client.post('/manage/organizations/{id}/projects', {\n path: { id: organizationId },\n body,\n });\n return data;\n };\n\n // --- Metadata ---\n\n const getOrganizationMetadata = async (organizationId: number, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/manage/organizations/{id}/metadata',\n { path: { id: organizationId } },\n { signal },\n );\n // OpenAPI declares response as `Record<string, never>[]`; backend returns metadata items.\n return data as unknown as MetadataItem[];\n };\n\n const setOrganizationMetadata = async ({\n organizationId,\n ...body\n }: { organizationId: number } & SetOrganizationMetadataBody) => {\n const { data } = await client.post('/manage/organizations/{id}/metadata', {\n path: { id: organizationId },\n body,\n });\n // OpenAPI declares response as `Record<string, never>[]`; backend returns metadata items.\n return data as unknown as MetadataItem[];\n };\n\n const deleteOrganizationMetadata = async ({\n organizationId,\n metadataId,\n }: {\n organizationId: number;\n metadataId: number;\n }) => {\n await client.delete('/manage/organizations/{id}/metadata/{metadataId}', {\n path: { id: organizationId, metadataId },\n });\n };\n\n return {\n getOrganizations,\n getOrganization,\n updateOrganization,\n deleteOrganization,\n forceMfa,\n joinOrganization,\n getOrganizationUsers,\n addOrganizationUser,\n removeOrganizationUser,\n getOrganizationProjectsUsers,\n getOrganizationInvitations,\n getOrganizationInvitation,\n createOrganizationInvitation,\n deleteOrganizationInvitation,\n getOrganizationProjects,\n createOrganizationProject,\n getOrganizationMetadata,\n setOrganizationMetadata,\n deleteOrganizationMetadata,\n };\n};\n","import type { GenericFetchClient } from '../managementClient';\nimport type { User } from '../types';\n\nimport type {\n AddProjectUserBody,\n AddProjectUserPath,\n CreateProjectFeatureBody,\n CreateProjectFeaturePath,\n CreateProjectInvitationBody,\n CreateProjectInvitationPath,\n DeleteProjectInvitationPath,\n GetProjectMetadataPath,\n GetProjectPath,\n GetProjectReviewersPath,\n ListProjectInvitationsPath,\n ListProjectUsersPath,\n MoveProjectBody,\n Project,\n ProjectInvitationDetail,\n ProjectMetadataItem,\n ProjectTemplate,\n RemoveProjectFeaturePath,\n RemoveProjectUserPath,\n Reviewer,\n SetProjectDisabledBody,\n SetProjectLimitsBody,\n SetProjectMetadataBody,\n SetProjectMetadataPath,\n SetProjectReviewersBody,\n SetProjectReviewersPath,\n UpdateProjectBody,\n} from './types';\n\nexport const createProjects = (client: GenericFetchClient) => {\n const getProject = async (projectId: GetProjectPath['projectId'], signal?: AbortSignal) => {\n const { data } = await client.get<Project, GetProjectPath>(\n '/manage/projects/{projectId}',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n const getProjectTemplates = async (signal?: AbortSignal) => {\n const { data } = await client.get<ProjectTemplate[]>(\n '/manage/project-templates',\n {},\n { signal },\n );\n return data;\n };\n\n const addProjectFeature = async ({\n projectId,\n feature,\n }: CreateProjectFeaturePath & CreateProjectFeatureBody) => {\n const { data } = await client.post<\n Project,\n CreateProjectFeaturePath,\n void,\n CreateProjectFeatureBody\n >('/manage/projects/{projectId}/features', { path: { projectId }, body: { feature } });\n return data;\n };\n\n const removeProjectFeature = async (path: RemoveProjectFeaturePath) => {\n const { data } = await client.delete<null, RemoveProjectFeaturePath>(\n '/manage/projects/{projectId}/features/{feature}',\n { path },\n );\n return data;\n };\n\n const changeProjectUserRole = async ({\n projectId,\n userId,\n role,\n }: {\n projectId: number;\n userId: number;\n role: User['role'];\n }) => {\n const { data } = await client.patch<\n User,\n { projectId: number; userId: number },\n never,\n { role: User['role'] }\n >('/manage/projects/{projectId}/users/{userId}', {\n path: { projectId, userId },\n body: { role },\n });\n\n return data;\n };\n\n const getProjectUsers = async (\n projectId: ListProjectUsersPath['projectId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<User[], ListProjectUsersPath>(\n '/manage/projects/{projectId}/users',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n const getProjectInvitations = async (\n projectId: ListProjectInvitationsPath['projectId'],\n signal?: AbortSignal,\n ) => {\n // OpenAPI declares the list response as `Record<string, never>[]`; backend returns\n // ProjectInvitationDetailResponse objects.\n const { data } = await client.get<ProjectInvitationDetail[], ListProjectInvitationsPath>(\n '/manage/projects/{projectId}/invitations',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n const createProjectInvitation = async ({\n projectId,\n ...body\n }: CreateProjectInvitationPath & CreateProjectInvitationBody) => {\n const { data } = await client.post<\n ProjectInvitationDetail,\n CreateProjectInvitationPath,\n never,\n CreateProjectInvitationBody\n >('/manage/projects/{projectId}/invitations', {\n path: { projectId },\n body,\n });\n return data;\n };\n\n const deleteProjectInvitation = async ({\n projectId,\n invitationId,\n }: DeleteProjectInvitationPath) => {\n const { data } = await client.delete<null, DeleteProjectInvitationPath>(\n '/manage/projects/{projectId}/invitations/{invitationId}',\n { path: { projectId, invitationId } },\n );\n return data;\n };\n\n const addProjectUser = async ({\n projectId,\n ...body\n }: AddProjectUserPath & AddProjectUserBody) => {\n const { data } = await client.post<User, AddProjectUserPath, never, AddProjectUserBody>(\n '/manage/projects/{projectId}/users',\n {\n path: { projectId },\n body,\n },\n );\n return data;\n };\n\n const removeProjectUser = async ({ projectId, idOrEmail }: RemoveProjectUserPath) => {\n const { data } = await client.delete<null, RemoveProjectUserPath>(\n '/manage/projects/{projectId}/users/{idOrEmail}',\n { path: { projectId, idOrEmail } },\n );\n return data;\n };\n\n const getProjectMetadata = async (\n projectId: GetProjectMetadataPath['projectId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<ProjectMetadataItem[], GetProjectMetadataPath>(\n '/manage/projects/{projectId}/metadata',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n const setProjectMetadata = async ({\n projectId,\n provider,\n metadata,\n }: SetProjectMetadataPath & SetProjectMetadataBody) => {\n const { data } = await client.post<\n ProjectMetadataItem[],\n SetProjectMetadataPath,\n void,\n SetProjectMetadataBody\n >('/manage/projects/{projectId}/metadata', {\n path: { projectId },\n body: { provider, metadata },\n });\n return data;\n };\n\n const getProjectReviewers = async (\n projectId: GetProjectReviewersPath['projectId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get<Reviewer[], GetProjectReviewersPath>(\n '/manage/projects/{projectId}/reviewers',\n { path: { projectId } },\n { signal },\n );\n return data;\n };\n\n const setProjectReviewers = async ({\n projectId,\n adminIds,\n }: SetProjectReviewersPath & SetProjectReviewersBody) => {\n const { data } = await client.put<\n void,\n SetProjectReviewersPath,\n never,\n SetProjectReviewersBody\n >('/manage/projects/{projectId}/reviewers', {\n path: { projectId },\n body: { adminIds },\n });\n return data;\n };\n\n // --- M6 write operations ---\n\n const updateProject = async ({\n projectId,\n ...body\n }: { projectId: number } & UpdateProjectBody) => {\n const { data } = await client.put<Project, { projectId: number }, never, UpdateProjectBody>(\n '/manage/projects/{projectId}',\n { path: { projectId }, body },\n );\n return data;\n };\n\n const deleteProject = async (projectId: number) => {\n const { data } = await client.delete<null, { projectId: number }>(\n '/manage/projects/{projectId}',\n { path: { projectId } },\n );\n return data;\n };\n\n const moveProject = async ({\n projectId,\n organizationId,\n }: { projectId: number } & MoveProjectBody) => {\n const { data } = await client.post<Project, { projectId: number }, never, MoveProjectBody>(\n '/manage/projects/{projectId}/organizations',\n { path: { projectId }, body: { organizationId } },\n );\n return data;\n };\n\n const setProjectDisabled = async ({\n projectId,\n ...body\n }: { projectId: number } & SetProjectDisabledBody) => {\n const { data } = await client.post<\n Project,\n { projectId: number },\n never,\n SetProjectDisabledBody\n >('/manage/projects/{projectId}/disabled', { path: { projectId }, body });\n return data;\n };\n\n const setProjectLimits = async ({\n projectId,\n ...body\n }: { projectId: number } & SetProjectLimitsBody) => {\n const { data } = await client.post<Project, { projectId: number }, never, SetProjectLimitsBody>(\n '/manage/projects/{projectId}/limits',\n { path: { projectId }, body },\n );\n return data;\n };\n\n return {\n getProject,\n getProjectTemplates,\n addProjectFeature,\n removeProjectFeature,\n changeProjectUserRole,\n getProjectUsers,\n getProjectInvitations,\n createProjectInvitation,\n deleteProjectInvitation,\n addProjectUser,\n removeProjectUser,\n getProjectMetadata,\n setProjectMetadata,\n getProjectReviewers,\n setProjectReviewers,\n updateProject,\n deleteProject,\n moveProject,\n setProjectDisabled,\n setProjectLimits,\n };\n};\n","import type { ManagementOpenApiFetchClient } from '../managementClient';\n\nimport type {\n GetStorageBackendProjectsQuery,\n StorageBackend,\n StorageBackendMaintainer,\n StorageBackendProject,\n} from './types';\n\nexport const createStorageBackends = (client: ManagementOpenApiFetchClient) => {\n const getStorageBackend = async (id: number, signal?: AbortSignal): Promise<StorageBackend> => {\n const { data } = await client.get('/manage/storage-backend/{id}', { path: { id } }, { signal });\n return data;\n };\n\n const getStorageBackends = async (signal?: AbortSignal): Promise<StorageBackend[]> => {\n const { data } = await client.get('/manage/storage-backend', {}, { signal });\n return data;\n };\n\n /** Projects assigned to this backend, paginated via `limit`/`offset`. */\n const getStorageBackendProjects = async (\n id: number,\n query?: GetStorageBackendProjectsQuery,\n signal?: AbortSignal,\n ): Promise<StorageBackendProject[]> => {\n const { data } = await client.get(\n '/manage/storage-backend/{id}/projects',\n { path: { id }, query: { limit: query?.limit, offset: query?.offset } },\n { signal },\n );\n return data;\n };\n\n /** Maintainers assigned to this backend — small, unpaginated list. */\n const getStorageBackendMaintainers = async (\n id: number,\n signal?: AbortSignal,\n ): Promise<StorageBackendMaintainer[]> => {\n const { data } = await client.get(\n '/manage/storage-backend/{id}/maintainers',\n { path: { id } },\n { signal },\n );\n return data;\n };\n\n return {\n getStorageBackend,\n getStorageBackends,\n getStorageBackendProjects,\n getStorageBackendMaintainers,\n };\n};\n","import type { GenericFetchClient } from '../managementClient';\n\nimport type { AddUserFeatureBody, AddUserFeaturePath, RemoveUserFeaturePath, User } from './types';\n\nexport const createUsers = (client: GenericFetchClient) => {\n const addUserAdminFeature = async (\n { feature, userIdOrMail }: AddUserFeatureBody & AddUserFeaturePath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.post<User, AddUserFeaturePath, void, AddUserFeatureBody>(\n '/manage/users/{userIdOrMail}/features',\n { path: { userIdOrMail: encodeURIComponent(userIdOrMail) }, body: { feature } },\n { signal },\n );\n return data;\n };\n\n const removeUserAdminFeature = async (\n { userIdOrMail, feature }: RemoveUserFeaturePath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.delete<User, RemoveUserFeaturePath>(\n '/manage/users/{userIdOrMail}/features/{feature}',\n { path: { userIdOrMail: encodeURIComponent(userIdOrMail), feature } },\n { signal },\n );\n return data;\n };\n\n return {\n addUserAdminFeature,\n removeUserAdminFeature,\n };\n};\n","import {\n createGenericFetchClient,\n createOpenapiFetchClient,\n HttpHeader,\n type MiddlewareFn,\n} from '../../fetchClient';\nimport { KeboolaHttpHeader } from '../../internal';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createAuthMiddleware } from './authMiddleware';\nimport { createCurrentUser } from './currentUser';\nimport { createDeletedProjects } from './deletedProjects';\nimport { createFeatures } from './features';\nimport { createFileStorage } from './fileStorage';\nimport { createMaintainers } from './maintainers';\nimport { createOrganizations } from './organizations';\nimport { createProjects } from './projects';\nimport { createStorageBackends } from './storageBackends';\nimport { createUsers } from './users';\n\nexport type GenericFetchClient = ReturnType<typeof createGenericFetchClient>;\nexport type ManagementOpenApiFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport type AuthStrategy =\n | { type: 'management-token'; token?: string }\n | { type: 'bearer'; token: string };\n\n// Only invoked on the raw (no-auth-middleware) path — otherwise the auth middleware\n// owns the Manage API token header.\nconst createAuthHeaders = (auth: AuthStrategy): Record<string, string> => {\n if (auth.type === 'management-token')\n return auth.token ? { [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: auth.token } : {};\n\n return { [HttpHeader.AUTHORIZATION]: `Bearer ${auth.token}` };\n};\n\ntype ManagementClientInitOptions = Omit<ClientInitOptions, 'auth' | 'middlewares'> & {\n auth: AuthStrategy;\n middlewares?: MiddlewareFn[];\n withAuthMiddleware?: boolean;\n};\n\nexport const createManagementClient = ({\n baseUrl,\n middlewares = [],\n auth,\n withAuthMiddleware = true,\n}: ManagementClientInitOptions) => {\n // The auth middleware keeps a long-lived management session alive: it verifies the\n // token and, when it's invalid/expired, mints/refreshes a session token. That self-healing\n // is wrong for a plain \"is this token valid?\" check (it would recurse when used to verify,\n // and mint a session instead of reporting invalid). Pass `withAuthMiddleware: false` to get\n // a raw client that just attaches the token — used for token verification.\n const allMiddlewares =\n withAuthMiddleware && auth.type === 'management-token'\n ? [\n ...middlewares,\n createAuthMiddleware({ baseUrl, accessToken: auth.token }), // 👈 order of middlewares always matters\n ]\n : middlewares;\n\n const headers = withAuthMiddleware ? undefined : createAuthHeaders(auth);\n\n const client = createGenericFetchClient({\n baseUrl,\n middlewares: allMiddlewares,\n headers,\n });\n\n const openApiClient = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares: allMiddlewares,\n headers,\n });\n\n const verifyToken = async (signal?: AbortSignal) => {\n const { data } = await openApiClient.get('/manage/tokens/verify', {}, { signal });\n return data;\n };\n\n return {\n currentUser: createCurrentUser(openApiClient),\n deletedProjects: createDeletedProjects(openApiClient),\n maintainers: createMaintainers(openApiClient),\n organizations: createOrganizations(openApiClient),\n features: createFeatures(client),\n fileStorage: createFileStorage(openApiClient),\n projects: createProjects(client),\n storageBackends: createStorageBackends(openApiClient),\n users: createUsers(client),\n verifyToken,\n };\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createAuthHeaders } from './chunk-
|
|
1
|
+
import { createAuthHeaders } from './chunk-6JXSO3AR.js';
|
|
2
2
|
import { createOpenapiFetchClient } from './chunk-RK2VGHJE.js';
|
|
3
3
|
|
|
4
4
|
// src/clients/ai/aiClient.ts
|
|
@@ -55,5 +55,5 @@ var createAiClient = ({ baseUrl, middlewares, auth }) => {
|
|
|
55
55
|
};
|
|
56
56
|
|
|
57
57
|
export { createAiClient };
|
|
58
|
-
//# sourceMappingURL=chunk-
|
|
59
|
-
//# sourceMappingURL=chunk-
|
|
58
|
+
//# sourceMappingURL=chunk-YVC4NGW2.js.map
|
|
59
|
+
//# sourceMappingURL=chunk-YVC4NGW2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/clients/ai/aiClient.ts"],"names":[],"mappings":";;;;AAeO,IAAM,iBAAiB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AACnF,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAAS,kBAAkB,IAAI;AAAA,GAChC,CAAA;AAED,EAAA,MAAM,4BAAA,GAA+B,OAAO,IAAA,KAA2C;AACrF,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,iCAAA,EAAmC,EAAE,IAAA,EAAM,CAAA;AAE9E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,0BAAA,GAA6B,OAAO,IAAA,KAAyC;AACjF,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,+BAAA,EAAiC,EAAE,IAAA,EAAM,CAAA;AAE5E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,OAAO,IAAA,KAA2B;AACrD,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,UAAA,EAAY,EAAE,IAAA,EAAM,CAAA;AAEvD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,qBAAA,GAAwB,OAAO,IAAA,KAAoC;AACvE,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,yBAAA,EAA2B,EAAE,IAAA,EAAM,CAAA;AAEtE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OAAO,IAAA,KAA+B;AAC7D,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,oBAAA,EAAsB,EAAE,IAAA,EAAM,CAAA;AAEjE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,QAAA,GAAW,OAAO,IAAA,KAAuB;AAC7C,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,WAAA,EAAa,EAAE,IAAA,EAAM,CAAA;AAExD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAGA,EAAA,MAAM,YAAA,GAAe,OAAO,IAAA,KAA2B;AACrD,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,gBAAA,EAAkB,EAAE,IAAA,EAAM,CAAA;AAE7D,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAGA,EAAA,MAAM,kBAAA,GAAqB,OAAO,WAAA,KAAwB;AACxD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAI,gCAAA,EAAkC;AAAA,MAClE,IAAA,EAAM,EAAE,WAAA;AAAY,KACrB,CAAA;AAED,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,4BAAA;AAAA,IACA,0BAAA;AAAA,IACA,YAAA;AAAA,IACA,qBAAA;AAAA,IACA,gBAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/clients/ai/aiClient.ts"],"names":[],"mappings":";;;;AAeO,IAAM,iBAAiB,CAAC,EAAE,OAAA,EAAS,WAAA,EAAa,MAAK,KAAyB;AACnF,EAAA,MAAM,SAAS,wBAAA,CAAgC;AAAA,IAC7C,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA,EAAS,kBAAkB,IAAI;AAAA,GAChC,CAAA;AAED,EAAA,MAAM,4BAAA,GAA+B,OAAO,IAAA,KAA2C;AACrF,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,iCAAA,EAAmC,EAAE,IAAA,EAAM,CAAA;AAE9E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,0BAAA,GAA6B,OAAO,IAAA,KAAyC;AACjF,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,+BAAA,EAAiC,EAAE,IAAA,EAAM,CAAA;AAE5E,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,OAAO,IAAA,KAA2B;AACrD,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,UAAA,EAAY,EAAE,IAAA,EAAM,CAAA;AAEvD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,qBAAA,GAAwB,OAAO,IAAA,KAAoC;AACvE,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,yBAAA,EAA2B,EAAE,IAAA,EAAM,CAAA;AAEtE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,OAAO,IAAA,KAA+B;AAC7D,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,oBAAA,EAAsB,EAAE,IAAA,EAAM,CAAA;AAEjE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,QAAA,GAAW,OAAO,IAAA,KAAuB;AAC7C,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,WAAA,EAAa,EAAE,IAAA,EAAM,CAAA;AAExD,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAGA,EAAA,MAAM,YAAA,GAAe,OAAO,IAAA,KAA2B;AACrD,IAAA,MAAM,EAAE,MAAK,GAAI,MAAM,OAAO,IAAA,CAAK,gBAAA,EAAkB,EAAE,IAAA,EAAM,CAAA;AAE7D,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAGA,EAAA,MAAM,kBAAA,GAAqB,OAAO,WAAA,KAAwB;AACxD,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAI,gCAAA,EAAkC;AAAA,MAClE,IAAA,EAAM,EAAE,WAAA;AAAY,KACrB,CAAA;AAED,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,4BAAA;AAAA,IACA,0BAAA;AAAA,IACA,YAAA;AAAA,IACA,qBAAA;AAAA,IACA,gBAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-YVC4NGW2.js","sourcesContent":["import { createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport type {\n DescribeConfigurationBody,\n DescribeConfigurationMergeBody,\n DescribeConfigurationVersionBody,\n DocsQuestionBody,\n ExplainErrorBody,\n FeedbackBody,\n SuggestComponentBody,\n} from './types';\n\nexport const createAiClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n\n const describeConfigurationVersion = async (body: DescribeConfigurationVersionBody) => {\n const { data } = await client.post('/describe/configuration-version', { body });\n\n return data;\n };\n\n const describeConfigurationMerge = async (body: DescribeConfigurationMergeBody) => {\n const { data } = await client.post('/describe/configuration-merge', { body });\n\n return data;\n };\n\n const explainError = async (body: ExplainErrorBody) => {\n const { data } = await client.post('/explain', { body });\n\n return data;\n };\n\n const describeConfiguration = async (body: DescribeConfigurationBody) => {\n const { data } = await client.post('/describe/configuration', { body });\n\n return data;\n };\n\n const suggestComponent = async (body: SuggestComponentBody) => {\n const { data } = await client.post('/suggest/component', { body });\n\n return data;\n };\n\n const feedback = async (body: FeedbackBody) => {\n const { data } = await client.post('/feedback', { body });\n\n return data;\n };\n\n /** Answers a question using the Keboola documentation as a source. */\n const docsQuestion = async (body: DocsQuestionBody) => {\n const { data } = await client.post('/docs/question', { body });\n\n return data;\n };\n\n /** Retrieves documentation details for a single component. */\n const getComponentDetail = async (componentId: string) => {\n const { data } = await client.get('/docs/components/{componentId}', {\n path: { componentId },\n });\n\n return data;\n };\n\n return {\n describeConfigurationVersion,\n describeConfigurationMerge,\n explainError,\n describeConfiguration,\n suggestComponent,\n feedback,\n docsQuestion,\n getComponentDetail,\n };\n};\n"]}
|