@keboola/api-client 48.0.0 → 50.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/AGENTS.md +109 -95
- package/API-SURFACE.md +14 -32
- package/CHANGELOG.md +78 -0
- package/README.md +33 -29
- package/dist/{ManagementSessionMintError-Cu9beG7j.cjs → ManagementSessionMintError-ByOulHQH.cjs} +4 -6
- package/dist/{ManagementSessionMintError-Cu9beG7j.cjs.map → ManagementSessionMintError-ByOulHQH.cjs.map} +1 -1
- package/dist/{ManagementSessionMintError-4Pkn5Oob.js → ManagementSessionMintError-DNMbYauw.js} +4 -6
- package/dist/{ManagementSessionMintError-4Pkn5Oob.js.map → ManagementSessionMintError-DNMbYauw.js.map} +1 -1
- package/dist/{QueryJobError-ZZZ043Nm.js → QueryJobError-Iq9O90Uh.js} +2 -3
- package/dist/{QueryJobError-ZZZ043Nm.js.map → QueryJobError-Iq9O90Uh.js.map} +1 -1
- package/dist/{QueryJobError-irGiP5zh.cjs → QueryJobError-Oy0fl4aw.cjs} +2 -3
- package/dist/{QueryJobError-irGiP5zh.cjs.map → QueryJobError-Oy0fl4aw.cjs.map} +1 -1
- package/dist/{QueueJobError-8bThS_Mc.js → QueueJobError-BJNUINXW.js} +2 -3
- package/dist/{QueueJobError-8bThS_Mc.js.map → QueueJobError-BJNUINXW.js.map} +1 -1
- package/dist/{QueueJobError-6qSEizWo.cjs → QueueJobError-DruZK3tc.cjs} +2 -3
- package/dist/{QueueJobError-6qSEizWo.cjs.map → QueueJobError-DruZK3tc.cjs.map} +1 -1
- package/dist/{SyncActionError-CoZFsdUk.js → SyncActionError-DuGcDbkd.js} +2 -3
- package/dist/{SyncActionError-CoZFsdUk.js.map → SyncActionError-DuGcDbkd.js.map} +1 -1
- package/dist/{SyncActionError-BG0zwchi.cjs → SyncActionError-mbpVg63X.cjs} +2 -3
- package/dist/{SyncActionError-BG0zwchi.cjs.map → SyncActionError-mbpVg63X.cjs.map} +1 -1
- package/dist/{UserError-By_Zckmc.js → UserError-BxoOJJ_u.js} +2 -3
- package/dist/{UserError-By_Zckmc.js.map → UserError-BxoOJJ_u.js.map} +1 -1
- package/dist/{UserError-CSGO1qII.cjs → UserError-D4P9Tbhf.cjs} +2 -3
- package/dist/{UserError-CSGO1qII.cjs.map → UserError-D4P9Tbhf.cjs.map} +1 -1
- package/dist/{ValidationError-D65QU0uq.cjs → ValidationError-BXcFX4nD.cjs} +2 -3
- package/dist/{ValidationError-D65QU0uq.cjs.map → ValidationError-BXcFX4nD.cjs.map} +1 -1
- package/dist/{ValidationError-DjhtNMfZ.js → ValidationError-BsdFDGY2.js} +2 -3
- package/dist/{ValidationError-DjhtNMfZ.js.map → ValidationError-BsdFDGY2.js.map} +1 -1
- package/dist/{configurations-CL0ouUMa.js → admin-CbMOsfgs.js} +5 -53
- package/dist/admin-CbMOsfgs.js.map +1 -0
- package/dist/{configurations-D9J3jh3g.cjs → admin-Di-MmGFP.cjs} +4 -124
- package/dist/admin-Di-MmGFP.cjs.map +1 -0
- package/dist/{adminRoles-DsoGQipO.d.ts → adminRoles-DAwl657q.d.ts} +2 -4
- package/dist/{adminRoles-CO7J5qAy.cjs → adminRoles-DnFpO_2W.cjs} +2 -3
- package/dist/{adminRoles-CO7J5qAy.cjs.map → adminRoles-DnFpO_2W.cjs.map} +1 -1
- package/dist/{adminRoles-BgpaBE7h.d.cts → adminRoles-FFyl7Dyx.d.cts} +2 -4
- package/dist/{adminRoles-B40yBcmq.js → adminRoles-asa-MhDD.js} +2 -3
- package/dist/{adminRoles-B40yBcmq.js.map → adminRoles-asa-MhDD.js.map} +1 -1
- package/dist/ai/index.cjs +3 -4
- package/dist/ai/index.d.cts +2 -4
- package/dist/ai/index.d.ts +2 -4
- package/dist/ai/index.js +3 -4
- package/dist/ai/types.d.cts +1 -1
- package/dist/ai/types.d.ts +1 -1
- package/dist/{appLogs-DpcqeOe5.d.ts → appLogs-CTvZAihm.d.ts} +2 -4
- package/dist/{appLogs-SjrflOHk.d.cts → appLogs-CnLNMH7M.d.cts} +2 -4
- package/dist/{appLogs-Cix2KWra.cjs → appLogs-CoAWQGxs.cjs} +5 -6
- package/dist/{appLogs-Cix2KWra.cjs.map → appLogs-CoAWQGxs.cjs.map} +1 -1
- package/dist/{appLogs-KslK7qHr.js → appLogs-DFcPwVk8.js} +4 -5
- package/dist/{appLogs-KslK7qHr.js.map → appLogs-DFcPwVk8.js.map} +1 -1
- package/dist/apps/index.cjs +29 -6
- package/dist/apps/index.cjs.map +1 -1
- package/dist/apps/index.d.cts +16 -5
- package/dist/apps/index.d.ts +16 -5
- package/dist/apps/index.js +29 -6
- package/dist/apps/index.js.map +1 -1
- package/dist/apps/types.d.cts +3 -3
- package/dist/apps/types.d.ts +3 -3
- package/dist/assets/index.cjs +2 -3
- package/dist/assets/index.d.cts +1 -3
- package/dist/assets/index.d.ts +1 -3
- package/dist/assets/index.js +2 -3
- package/dist/assets/schema.cjs +2 -3
- package/dist/assets/schema.d.cts +0 -2
- package/dist/assets/schema.d.ts +0 -2
- package/dist/assets/schema.js +1 -2
- package/dist/auth/index.cjs +1 -1
- package/dist/auth/index.d.cts +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.js +1 -2
- package/dist/auth/types.d.cts +1 -1
- package/dist/auth/types.d.ts +1 -1
- package/dist/{auth-C8Pjl0Mu.cjs → auth-CvB4MukT.cjs} +3 -4
- package/dist/{auth-C8Pjl0Mu.cjs.map → auth-CvB4MukT.cjs.map} +1 -1
- package/dist/{auth-4coY1uwo.js → auth-DYfQMQCs.js} +3 -4
- package/dist/{auth-4coY1uwo.js.map → auth-DYfQMQCs.js.map} +1 -1
- package/dist/{authClient-DfkKlc-2.cjs → authClient-DcKBpMcU.cjs} +66 -85
- package/dist/{authClient-DfkKlc-2.cjs.map → authClient-DcKBpMcU.cjs.map} +1 -1
- package/dist/{authClient-BYIGzL_u.d.ts → authClient-Df3U4q_6.d.cts} +4 -16
- package/dist/{authClient-D06srBQE.d.cts → authClient-JtMVJWXY.d.ts} +4 -16
- package/dist/{authClient-2e8ZmzSP.js → authClient-oB5ydxWp.js} +66 -85
- package/dist/{authClient-2e8ZmzSP.js.map → authClient-oB5ydxWp.js.map} +1 -1
- package/dist/{backends-DKBz5OxE.d.ts → backends-BHotIdL0.d.cts} +1 -3
- package/dist/{backends-DKBz5OxE.d.cts → backends-BHotIdL0.d.ts} +1 -3
- package/dist/billing/index.cjs +3 -5
- package/dist/billing/index.cjs.map +1 -1
- package/dist/billing/index.d.cts +27 -29
- package/dist/billing/index.d.ts +27 -29
- package/dist/billing/index.js +3 -5
- package/dist/billing/index.js.map +1 -1
- package/dist/billing/types.d.cts +26 -26
- package/dist/billing/types.d.ts +26 -26
- package/dist/chat/index.cjs +4 -5
- package/dist/chat/index.d.cts +3 -5
- package/dist/chat/index.d.ts +3 -5
- package/dist/chat/index.js +4 -5
- package/dist/chat/suggestions.cjs +1 -2
- package/dist/chat/suggestions.d.cts +1 -1
- package/dist/chat/suggestions.d.ts +1 -1
- package/dist/chat/suggestions.js +1 -2
- package/dist/chat/types.cjs +1 -2
- package/dist/chat/types.d.cts +1 -1
- package/dist/chat/types.d.ts +1 -1
- package/dist/chat/types.js +1 -2
- package/dist/{collectByOffset-DQsqtmJg.cjs → collectByOffset-DgxJ3zT9.cjs} +3 -4
- package/dist/{collectByOffset-DQsqtmJg.cjs.map → collectByOffset-DgxJ3zT9.cjs.map} +1 -1
- package/dist/{collectByOffset-2XzJqmvr.js → collectByOffset-i8Tdoze7.js} +3 -4
- package/dist/{collectByOffset-2XzJqmvr.js.map → collectByOffset-i8Tdoze7.js.map} +1 -1
- package/dist/{componentId-D4jp6a13.cjs → componentId-C8ZTXXDo.cjs} +2 -3
- package/dist/{componentId-D4jp6a13.cjs.map → componentId-C8ZTXXDo.cjs.map} +1 -1
- package/dist/{componentId-DmHwHG5V.js → componentId-b_qBbJEM.js} +2 -3
- package/dist/{componentId-DmHwHG5V.js.map → componentId-b_qBbJEM.js.map} +1 -1
- package/dist/componentsMcp/index.cjs +1 -1
- package/dist/componentsMcp/index.d.cts +1 -1
- package/dist/componentsMcp/index.d.ts +1 -1
- package/dist/componentsMcp/index.js +1 -2
- package/dist/componentsMcp/types.d.cts +1 -1
- package/dist/componentsMcp/types.d.ts +1 -1
- package/dist/{componentsMcp-pG-PcQrg.cjs → componentsMcp-BaHy5iLr.cjs} +5 -7
- package/dist/{componentsMcp-pG-PcQrg.cjs.map → componentsMcp-BaHy5iLr.cjs.map} +1 -1
- package/dist/{componentsMcp-CHobIsuU.js → componentsMcp-BrB4js6b.js} +5 -7
- package/dist/{componentsMcp-CHobIsuU.js.map → componentsMcp-BrB4js6b.js.map} +1 -1
- package/dist/{concurrent-BacWxPwi.js → concurrent-BtsT10Xe.js} +2 -3
- package/dist/{concurrent-BacWxPwi.js.map → concurrent-BtsT10Xe.js.map} +1 -1
- package/dist/{concurrent-CdVfR1N5.cjs → concurrent-DnTV_ppY.cjs} +2 -3
- package/dist/{concurrent-CdVfR1N5.cjs.map → concurrent-DnTV_ppY.cjs.map} +1 -1
- package/dist/configurations-Cd6Nsox-.js +49 -0
- package/dist/configurations-Cd6Nsox-.js.map +1 -0
- package/dist/configurations-WI8H4zLk.cjs +120 -0
- package/dist/configurations-WI8H4zLk.cjs.map +1 -0
- package/dist/constants/index.cjs +6 -3
- package/dist/constants/index.d.cts +5 -4
- package/dist/constants/index.d.ts +5 -4
- package/dist/constants/index.js +4 -4
- package/dist/{constants-CA4UN2Xv.js → constants-BMSHGwOR.js} +86 -17
- package/dist/constants-BMSHGwOR.js.map +1 -0
- package/dist/{constants-a0jswUeK.cjs → constants-DhFQWQgy.cjs} +103 -16
- package/dist/constants-DhFQWQgy.cjs.map +1 -0
- package/dist/{createAbortError-RendOpo7.cjs → createAbortError-Dzc9yObN.cjs} +2 -3
- package/dist/{createAbortError-RendOpo7.cjs.map → createAbortError-Dzc9yObN.cjs.map} +1 -1
- package/dist/{createAbortError-BxupOt-6.js → createAbortError-c6ekCpRy.js} +2 -3
- package/dist/{createAbortError-BxupOt-6.js.map → createAbortError-c6ekCpRy.js.map} +1 -1
- package/dist/{createFetchClient-lZ_93Yrb.cjs → createFetchClient-DEkUH662.cjs} +6 -10
- package/dist/{createFetchClient-lZ_93Yrb.cjs.map → createFetchClient-DEkUH662.cjs.map} +1 -1
- package/dist/{createFetchClient-CkHdS_IG.js → createFetchClient-DlGCbltR.js} +5 -9
- package/dist/{createFetchClient-CkHdS_IG.js.map → createFetchClient-DlGCbltR.js.map} +1 -1
- package/dist/{createGenericFetchClient-MOx97wi-.cjs → createGenericFetchClient-2oU-PXVo.cjs} +3 -4
- package/dist/{createGenericFetchClient-MOx97wi-.cjs.map → createGenericFetchClient-2oU-PXVo.cjs.map} +1 -1
- package/dist/createGenericFetchClient-wGxemBwR.js +6 -0
- package/dist/{createGenericFetchClient-CQdNcPC3.js.map → createGenericFetchClient-wGxemBwR.js.map} +1 -1
- package/dist/createOpenapiFetchClient-Bhz62MUE.js +6 -0
- package/dist/{createOpenapiFetchClient-DXiMv9WL.js.map → createOpenapiFetchClient-Bhz62MUE.js.map} +1 -1
- package/dist/{createOpenapiFetchClient-DHYo_k3t.cjs → createOpenapiFetchClient-DL9w7vU-.cjs} +3 -4
- package/dist/{createOpenapiFetchClient-DHYo_k3t.cjs.map → createOpenapiFetchClient-DL9w7vU-.cjs.map} +1 -1
- package/dist/dataScience/index.cjs +2 -2
- package/dist/dataScience/index.d.cts +2 -2
- package/dist/dataScience/index.d.ts +2 -2
- package/dist/dataScience/index.js +2 -2
- package/dist/dataScience/types.d.cts +2 -2
- package/dist/dataScience/types.d.ts +2 -2
- package/dist/{dataScience-AwPMeGfz.js → dataScience-CXmkEOAi.js} +7 -9
- package/dist/{dataScience-AwPMeGfz.js.map → dataScience-CXmkEOAi.js.map} +1 -1
- package/dist/{dataScience-BjS1p8WO.cjs → dataScience-CufjHPSd.cjs} +7 -9
- package/dist/{dataScience-BjS1p8WO.cjs.map → dataScience-CufjHPSd.cjs.map} +1 -1
- package/dist/{dedupe-OSnnst2u.cjs → dedupe-Bf0gl9TJ.cjs} +2 -3
- package/dist/{dedupe-OSnnst2u.cjs.map → dedupe-Bf0gl9TJ.cjs.map} +1 -1
- package/dist/{dedupe-Cky1gSUu.js → dedupe-Bu0d2i_w.js} +2 -3
- package/dist/{dedupe-Cky1gSUu.js.map → dedupe-Bu0d2i_w.js.map} +1 -1
- package/dist/developerPortal/index.cjs +1 -1
- package/dist/developerPortal/index.d.cts +2 -2
- package/dist/developerPortal/index.d.ts +2 -2
- package/dist/developerPortal/index.js +1 -2
- package/dist/developerPortal/types.d.cts +1 -1
- package/dist/developerPortal/types.d.ts +1 -1
- package/dist/{developerPortalClient-DUerKw-7.cjs → developerPortalClient-BfRxYrWj.cjs} +9 -15
- package/dist/{developerPortalClient-DUerKw-7.cjs.map → developerPortalClient-BfRxYrWj.cjs.map} +1 -1
- package/dist/{developerPortalClient-Bb2suezr.js → developerPortalClient-D9XOYwWF.js} +9 -15
- package/dist/{developerPortalClient-Bb2suezr.js.map → developerPortalClient-D9XOYwWF.js.map} +1 -1
- package/dist/domain/permissions/index.cjs +24 -58
- package/dist/domain/permissions/index.d.cts +4 -10
- package/dist/domain/permissions/index.d.ts +4 -10
- package/dist/domain/permissions/index.js +4 -39
- package/dist/domain/storageTable/index.cjs +403 -9
- package/dist/domain/storageTable/index.cjs.map +1 -0
- package/dist/domain/storageTable/index.d.cts +189 -2
- package/dist/domain/storageTable/index.d.ts +189 -2
- package/dist/domain/storageTable/index.js +395 -1
- package/dist/domain/storageTable/index.js.map +1 -0
- package/dist/editor/index.cjs +3 -4
- package/dist/editor/index.d.cts +2 -4
- package/dist/editor/index.d.ts +2 -4
- package/dist/editor/index.js +3 -4
- package/dist/editor/types.d.cts +1 -1
- package/dist/editor/types.d.ts +1 -1
- package/dist/{emitter-dLF1Fyfg.d.ts → emitter-raKkIqRp.d.cts} +1 -3
- package/dist/{emitter-dLF1Fyfg.d.cts → emitter-raKkIqRp.d.ts} +1 -3
- package/dist/encryption/index.cjs +2 -3
- package/dist/encryption/index.d.cts +1 -1
- package/dist/encryption/index.d.ts +1 -1
- package/dist/encryption/index.js +2 -3
- package/dist/encryption/types.d.cts +1 -1
- package/dist/encryption/types.d.ts +1 -1
- package/dist/generateUUID-DE9sNyJF.js +5 -0
- package/dist/{generateUUID-Dr8l-aoc.js.map → generateUUID-DE9sNyJF.js.map} +1 -1
- package/dist/{generateUUID-C6qKBPIv.cjs → generateUUID-DbSTmvVP.cjs} +2 -3
- package/dist/{generateUUID-C6qKBPIv.cjs.map → generateUUID-DbSTmvVP.cjs.map} +1 -1
- package/dist/import/index.cjs +1 -1
- package/dist/import/index.d.cts +3 -5
- package/dist/import/index.d.ts +3 -5
- package/dist/import/index.js +1 -2
- package/dist/{import-BahNYv91.cjs → import-CABlFMQX.cjs} +6 -9
- package/dist/{import-BahNYv91.cjs.map → import-CABlFMQX.cjs.map} +1 -1
- package/dist/{import-FWy_wQZ1.js → import-CT1Ce5Rp.js} +6 -9
- package/dist/{import-FWy_wQZ1.js.map → import-CT1Ce5Rp.js.map} +1 -1
- package/dist/index-24GpnYhn.d.cts +150 -0
- package/dist/{index-VlzlOBkc.d.cts → index-AA3MRfRn.d.cts} +71 -13
- package/dist/{index-BLvmyehw.d.ts → index-BDPxm9qu.d.ts} +3 -7
- package/dist/index-BUZ-vTRt.d.ts +150 -0
- package/dist/{index-DzLXtE4Q.d.ts → index-BZDxWvZW.d.ts} +5 -7
- package/dist/index-C9iNazAc.d.ts +15103 -0
- package/dist/{index-avzO5sLa.d.ts → index-CCcdySOC.d.cts} +5 -7
- package/dist/{index-D91RxB_S.d.cts → index-CN0--VsY.d.ts} +5 -7
- package/dist/index-CTMnmISl.d.cts +15103 -0
- package/dist/{index-m7fX76x3.d.ts → index-CbSh3KFw.d.cts} +4 -12
- package/dist/{index-Cc5wSIRJ.d.cts → index-ClIV2Lch.d.cts} +5 -7
- package/dist/{index-BIldED4N.d.ts → index-CuI8OI9E.d.ts} +4 -13
- package/dist/{index-ChDl6ig5.d.cts → index-D1mduJne.d.cts} +11 -48
- package/dist/{index-sDHBkJhU.d.ts → index-D1mduJne.d.ts} +12 -49
- package/dist/{index-DlZiWfQb.d.ts → index-DIPMzH--.d.ts} +17 -10
- package/dist/{index-Co2Cd-nw.d.cts → index-DQagqTVa.d.cts} +3 -7
- package/dist/{index-CIqWOEWD.d.ts → index-DVBQgFg0.d.ts} +4 -6
- package/dist/index-DXoN8VwV.d.cts +10 -0
- package/dist/{index-BHiJu8LF.d.cts → index-Db266tLz.d.cts} +17 -10
- package/dist/{index-ByLCYBaw.d.cts → index-DgGpQsAT.d.cts} +4 -6
- package/dist/{index-CzHrIfZS.d.ts → index-DjSthn8d.d.ts} +71 -13
- package/dist/index-Xpu7qIZk.d.ts +10 -0
- package/dist/{index-BTrxCk90.d.ts → index-lTrNMlj6.d.ts} +3 -5
- package/dist/{index-CpGmmJbt.d.cts → index-m9-mN8Gg.d.ts} +4 -12
- package/dist/{index-CpUYVB-d.d.cts → index-xX8-Stoq.d.cts} +4 -13
- package/dist/{index-BCjU-g9t.d.cts → index-z-2okomN.d.cts} +3 -5
- package/dist/index.cjs +434 -1053
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -8
- package/dist/index.d.ts +9 -8
- package/dist/index.js +427 -1050
- package/dist/index.js.map +1 -1
- package/dist/{isLoginPageRedirect-r0Opgc1n.cjs → isLoginPageRedirect-CoUxJi2x.cjs} +3 -4
- package/dist/{isLoginPageRedirect-r0Opgc1n.cjs.map → isLoginPageRedirect-CoUxJi2x.cjs.map} +1 -1
- package/dist/{isLoginPageRedirect-B4QKSiSa.js → isLoginPageRedirect-D-lqF_kZ.js} +3 -4
- package/dist/{isLoginPageRedirect-B4QKSiSa.js.map → isLoginPageRedirect-D-lqF_kZ.js.map} +1 -1
- package/dist/{isPlainObject-LYW-03uB.js → isPlainObject-BxsT8_t2.js} +2 -3
- package/dist/{isPlainObject-LYW-03uB.js.map → isPlainObject-BxsT8_t2.js.map} +1 -1
- package/dist/{isPlainObject-BB3iy87C.cjs → isPlainObject-CcvQt0qB.cjs} +2 -3
- package/dist/{isPlainObject-BB3iy87C.cjs.map → isPlainObject-CcvQt0qB.cjs.map} +1 -1
- package/dist/kaiAgent/index.cjs +1 -1
- package/dist/kaiAgent/index.d.cts +2 -2
- package/dist/kaiAgent/index.d.ts +2 -2
- package/dist/kaiAgent/index.js +1 -2
- package/dist/kaiAgent/types.d.cts +1 -1
- package/dist/kaiAgent/types.d.ts +1 -1
- package/dist/{kaiAgent-CYvrS8oZ.js → kaiAgent-D2TiMDjW.js} +6 -7
- package/dist/{kaiAgent-CYvrS8oZ.js.map → kaiAgent-D2TiMDjW.js.map} +1 -1
- package/dist/{kaiAgent-N2qbUFZm.cjs → kaiAgent-gaA7dqki.cjs} +6 -7
- package/dist/{kaiAgent-N2qbUFZm.cjs.map → kaiAgent-gaA7dqki.cjs.map} +1 -1
- package/dist/{kaiMemory-Qch09f-m.cjs → kaiMemory-CkLQfJXD.cjs} +6 -9
- package/dist/{kaiMemory-Qch09f-m.cjs.map → kaiMemory-CkLQfJXD.cjs.map} +1 -1
- package/dist/{kaiMemory-C9di17bd.js → kaiMemory-oir_qCo_.js} +6 -9
- package/dist/{kaiMemory-C9di17bd.js.map → kaiMemory-oir_qCo_.js.map} +1 -1
- package/dist/management/index.cjs +1 -1
- package/dist/management/index.d.cts +1 -1
- package/dist/management/index.d.ts +1 -1
- package/dist/management/index.js +1 -2
- package/dist/management/types.cjs +13 -0
- package/dist/management/types.cjs.map +1 -0
- package/dist/management/types.d.cts +2 -2
- package/dist/management/types.d.ts +2 -2
- package/dist/management/types.js +11 -1
- package/dist/management/types.js.map +1 -0
- package/dist/{management-CXHnxVaZ.cjs → management-BEGOEQxM.cjs} +34 -59
- package/dist/management-BEGOEQxM.cjs.map +1 -0
- package/dist/{management-NYAD6ej4.js → management-BcGHyxAP.js} +34 -59
- package/dist/management-BcGHyxAP.js.map +1 -0
- package/dist/metastore/index.cjs +1 -1
- package/dist/metastore/index.d.cts +1 -1
- package/dist/metastore/index.d.ts +1 -1
- package/dist/metastore/index.js +1 -2
- package/dist/metastore/types.d.cts +1 -1
- package/dist/metastore/types.d.ts +1 -1
- package/dist/{metastore-Ywq08DBz.js → metastore-CGsgxjng.js} +7 -10
- package/dist/{metastore-Ywq08DBz.js.map → metastore-CGsgxjng.js.map} +1 -1
- package/dist/{metastore-BXHg33ku.cjs → metastore-DeRQ2VIv.cjs} +7 -10
- package/dist/{metastore-BXHg33ku.cjs.map → metastore-DeRQ2VIv.cjs.map} +1 -1
- package/dist/microsoftGraph/index.cjs +5 -8
- package/dist/microsoftGraph/index.cjs.map +1 -1
- package/dist/microsoftGraph/index.d.cts +3 -7
- package/dist/microsoftGraph/index.d.ts +3 -7
- package/dist/microsoftGraph/index.js +5 -8
- package/dist/microsoftGraph/index.js.map +1 -1
- package/dist/microsoftGraph/types.d.cts +2 -4
- package/dist/microsoftGraph/types.d.ts +2 -4
- package/dist/{middleware-GOfx8Apu.js → middleware-8zaJWcyU.js} +3 -5
- package/dist/middleware-8zaJWcyU.js.map +1 -0
- package/dist/{middleware-CEP6uu_D.cjs → middleware-B9RNuLfD.cjs} +3 -5
- package/dist/middleware-B9RNuLfD.cjs.map +1 -0
- package/dist/notifications/index.cjs +5 -6
- package/dist/notifications/index.d.cts +2 -4
- package/dist/notifications/index.d.ts +2 -4
- package/dist/notifications/index.js +5 -6
- package/dist/notifications/types.d.cts +1 -1
- package/dist/notifications/types.d.ts +1 -1
- package/dist/oauth/index.cjs +1 -1
- package/dist/oauth/index.d.cts +2 -4
- package/dist/oauth/index.d.ts +2 -4
- package/dist/oauth/index.js +1 -2
- package/dist/oauth/types.d.cts +1 -1
- package/dist/oauth/types.d.ts +1 -1
- package/dist/{oauth-DKZPuUlt.cjs → oauth-B5Biqz21.cjs} +7 -9
- package/dist/{oauth-DKZPuUlt.cjs.map → oauth-B5Biqz21.cjs.map} +1 -1
- package/dist/{oauth-GXmZ9agP.js → oauth-ByCdISsV.js} +7 -9
- package/dist/{oauth-GXmZ9agP.js.map → oauth-ByCdISsV.js.map} +1 -1
- package/dist/omnisearch/index.cjs +3 -4
- package/dist/omnisearch/index.d.cts +2 -4
- package/dist/omnisearch/index.d.ts +2 -4
- package/dist/omnisearch/index.js +3 -4
- package/dist/omnisearch/types.d.cts +1 -1
- package/dist/omnisearch/types.d.ts +1 -1
- package/dist/project-DmuC0bMK.js +83 -0
- package/dist/project-DmuC0bMK.js.map +1 -0
- package/dist/project-Onf-IcPW.cjs +136 -0
- package/dist/project-Onf-IcPW.cjs.map +1 -0
- package/dist/{project-nbv9yjpl.d.ts → project-UHZGFmmG.d.cts} +6 -9
- package/dist/{project-Dzu85cqr.d.cts → project-iBm4cIIR.d.ts} +6 -9
- package/dist/queryService/index.cjs +1 -1
- package/dist/queryService/index.d.cts +1 -1
- package/dist/queryService/index.d.ts +1 -1
- package/dist/queryService/index.js +1 -2
- package/dist/queryService/types.d.cts +1 -1
- package/dist/queryService/types.d.ts +1 -1
- package/dist/{queryService-CzK53q94.cjs → queryService-Cg-eMysa.cjs} +9 -11
- package/dist/{queryService-CzK53q94.cjs.map → queryService-Cg-eMysa.cjs.map} +1 -1
- package/dist/{queryService-C-pZha5p.js → queryService-x8kq8Z2-.js} +9 -11
- package/dist/{queryService-C-pZha5p.js.map → queryService-x8kq8Z2-.js.map} +1 -1
- package/dist/queue/index.cjs +1 -1
- package/dist/queue/index.d.cts +4 -5
- package/dist/queue/index.d.ts +4 -5
- package/dist/queue/index.js +1 -2
- package/dist/queue/types.d.cts +1 -1
- package/dist/queue/types.d.ts +1 -1
- package/dist/{queue-D6-x4OGF.js → queue-BiIs9fX4.js} +9 -11
- package/dist/{queue-D6-x4OGF.js.map → queue-BiIs9fX4.js.map} +1 -1
- package/dist/{queue-BJvDWriM.cjs → queue-CBi9Q8vp.cjs} +9 -11
- package/dist/{queue-BJvDWriM.cjs.map → queue-CBi9Q8vp.cjs.map} +1 -1
- package/dist/{rolldown-runtime-VH7oDXx4.cjs → rolldown-runtime-CmQyd0Gu.cjs} +1 -2
- package/dist/scheduler/index.cjs +5 -6
- package/dist/scheduler/index.d.cts +2 -4
- package/dist/scheduler/index.d.ts +2 -4
- package/dist/scheduler/index.js +5 -6
- package/dist/scheduler/types.d.cts +1 -1
- package/dist/scheduler/types.d.ts +1 -1
- package/dist/{schema-BUyMwQnM.d.cts → schema-DLmBEgPM.d.cts} +1 -3
- package/dist/{schema-BUyMwQnM.d.ts → schema-DLmBEgPM.d.ts} +1 -3
- package/dist/schemaGuidedMerge-C8CqrNGe.cjs +55 -0
- package/dist/schemaGuidedMerge-C8CqrNGe.cjs.map +1 -0
- package/dist/schemaGuidedMerge-DFNqj9Nz.js +44 -0
- package/dist/schemaGuidedMerge-DFNqj9Nz.js.map +1 -0
- package/dist/sdk/configurations/index.cjs +634 -2
- package/dist/sdk/configurations/index.cjs.map +1 -0
- package/dist/sdk/configurations/index.d.cts +1030 -4
- package/dist/sdk/configurations/index.d.ts +1030 -4
- package/dist/sdk/configurations/index.js +633 -1
- package/dist/sdk/configurations/index.js.map +1 -0
- package/dist/sdk/developerPortal/index.cjs +9 -13
- package/dist/sdk/developerPortal/index.cjs.map +1 -1
- package/dist/sdk/developerPortal/index.d.cts +4 -6
- package/dist/sdk/developerPortal/index.d.ts +4 -6
- package/dist/sdk/developerPortal/index.js +9 -13
- package/dist/sdk/developerPortal/index.js.map +1 -1
- package/dist/sdk/kaiMemory/index.cjs +1 -1
- package/dist/sdk/kaiMemory/index.d.cts +1 -3
- package/dist/sdk/kaiMemory/index.d.ts +1 -3
- package/dist/sdk/kaiMemory/index.js +1 -2
- package/dist/sdk/kaiMemory/types.d.cts +1 -1
- package/dist/sdk/kaiMemory/types.d.ts +1 -1
- package/dist/sdk/queryService/index.cjs +3 -4
- package/dist/sdk/queryService/index.d.cts +1 -1
- package/dist/sdk/queryService/index.d.ts +1 -1
- package/dist/sdk/queryService/index.js +3 -4
- package/dist/sdk/semanticLayer/index.cjs +1 -1
- package/dist/sdk/semanticLayer/index.d.cts +1 -7
- package/dist/sdk/semanticLayer/index.d.ts +1 -7
- package/dist/sdk/semanticLayer/index.js +1 -2
- package/dist/sdk/semanticLayer/types.d.cts +1 -1
- package/dist/sdk/semanticLayer/types.d.ts +1 -1
- package/dist/sdk/storage/index.cjs +3 -6
- package/dist/sdk/storage/index.cjs.map +1 -1
- package/dist/sdk/storage/index.d.cts +0 -6
- package/dist/sdk/storage/index.d.ts +0 -6
- package/dist/sdk/storage/index.js +3 -6
- package/dist/sdk/storage/index.js.map +1 -1
- package/dist/sdk/tag/index.cjs +1 -1
- package/dist/sdk/tag/index.d.cts +3 -5
- package/dist/sdk/tag/index.d.ts +3 -5
- package/dist/sdk/tag/index.js +1 -2
- package/dist/sdk/tag/types.d.cts +1 -1
- package/dist/sdk/tag/types.d.ts +1 -1
- package/dist/sdk/vault/index.cjs +3 -5
- package/dist/sdk/vault/index.cjs.map +1 -1
- package/dist/sdk/vault/index.d.cts +1 -1
- package/dist/sdk/vault/index.d.ts +1 -1
- package/dist/sdk/vault/index.js +3 -5
- package/dist/sdk/vault/index.js.map +1 -1
- package/dist/{semanticLayer-DvjS_nzo.js → semanticLayer-BdPW_wLo.js} +9 -14
- package/dist/{semanticLayer-DvjS_nzo.js.map → semanticLayer-BdPW_wLo.js.map} +1 -1
- package/dist/{semanticLayer-7BejcMj_.cjs → semanticLayer-djom-J78.cjs} +9 -14
- package/dist/{semanticLayer-7BejcMj_.cjs.map → semanticLayer-djom-J78.cjs.map} +1 -1
- package/dist/status/index.cjs +2 -3
- package/dist/status/index.d.cts +1 -3
- package/dist/status/index.d.ts +1 -3
- package/dist/status/index.js +2 -3
- package/dist/status/types.d.cts +0 -2
- package/dist/status/types.d.ts +0 -2
- package/dist/storage/index.cjs +12 -9
- package/dist/storage/index.d.cts +4 -3
- package/dist/storage/index.d.ts +4 -3
- package/dist/storage/index.js +10 -10
- package/dist/storage/types.d.cts +6 -6
- package/dist/storage/types.d.ts +6 -6
- package/dist/{storage-BR-Kgi-6.js → storage-BpOLWT6h.js} +73 -85
- package/dist/{storage-CVBXivpB.cjs.map → storage-BpOLWT6h.js.map} +1 -1
- package/dist/{storage-CVBXivpB.cjs → storage-KJ5Ki_ma.cjs} +90 -84
- package/dist/storage-KJ5Ki_ma.cjs.map +1 -0
- package/dist/{store-xS-Cu_VS.cjs → store-2OyH1XOP.cjs} +3 -5
- package/dist/{store-xS-Cu_VS.cjs.map → store-2OyH1XOP.cjs.map} +1 -1
- package/dist/{store-C9FQCHGe.js → store-HP0zRcLz.js} +3 -5
- package/dist/{store-C9FQCHGe.js.map → store-HP0zRcLz.js.map} +1 -1
- package/dist/stream/index.cjs +4 -5
- package/dist/stream/index.d.cts +2 -4
- package/dist/stream/index.d.ts +2 -4
- package/dist/stream/index.js +4 -5
- package/dist/stream/types.d.cts +1 -1
- package/dist/stream/types.d.ts +1 -1
- package/dist/{suggestions-BH3x7xU7.d.ts → suggestions-xhIjrlvi.d.cts} +1 -3
- package/dist/{suggestions-BH3x7xU7.d.cts → suggestions-xhIjrlvi.d.ts} +1 -3
- package/dist/syncActions/index.cjs +1 -1
- package/dist/syncActions/index.d.cts +2 -2
- package/dist/syncActions/index.d.ts +2 -2
- package/dist/syncActions/index.js +1 -2
- package/dist/syncActions/types.d.cts +2 -2
- package/dist/syncActions/types.d.ts +2 -2
- package/dist/{syncActions-C1rE4R3f.cjs → syncActions-BcX3jm2E.cjs} +74 -187
- package/dist/syncActions-BcX3jm2E.cjs.map +1 -0
- package/dist/{syncActions-DM8vP7p3.js → syncActions-giPLTfje.js} +73 -186
- package/dist/syncActions-giPLTfje.js.map +1 -0
- package/dist/{tag-DHS_soa7.cjs → tag-A5z4tJn1.cjs} +5 -7
- package/dist/{tag-DHS_soa7.cjs.map → tag-A5z4tJn1.cjs.map} +1 -1
- package/dist/{tag-hh-1nhNr.js → tag-BwjbG3tT.js} +5 -7
- package/dist/{tag-hh-1nhNr.js.map → tag-BwjbG3tT.js.map} +1 -1
- package/dist/telemetry/index.cjs +4 -5
- package/dist/telemetry/index.d.cts +2 -4
- package/dist/telemetry/index.d.ts +2 -4
- package/dist/telemetry/index.js +4 -5
- package/dist/telemetry/types.d.cts +1 -1
- package/dist/telemetry/types.d.ts +1 -1
- package/dist/{transientRetries-B4iusp69.js → transientRetries-BKqmb85B.js} +13 -22
- package/dist/{transientRetries-B4iusp69.js.map → transientRetries-BKqmb85B.js.map} +1 -1
- package/dist/{transientRetries-DdJfH9QK.cjs → transientRetries-CM7rAEXQ.cjs} +13 -22
- package/dist/{transientRetries-DdJfH9QK.cjs.map → transientRetries-CM7rAEXQ.cjs.map} +1 -1
- package/dist/{types-DfJP6Dti.d.ts → types--Rp5wvaz.d.ts} +2 -6
- package/dist/{types-DlgqPU_4.d.cts → types-1IBnjBVJ.d.cts} +2 -6
- package/dist/{types-BXHZQvGy.d.ts → types-37vwxse4.d.cts} +2 -6
- package/dist/{types-QPW-7dPm.d.ts → types-6T04_qUf.d.ts} +2 -6
- package/dist/{types-CwQ8_n8q.d.ts → types-B0e-no6u.d.ts} +41 -62
- package/dist/{types-C_raqbl-.d.cts → types-B1qe1etN.d.cts} +3 -7
- package/dist/{types-Cc4yTEdK.d.ts → types-B3ri-iiC.d.ts} +2 -26
- package/dist/{types-0ZAMQhva.d.cts → types-BB49alHP.d.cts} +245 -9
- package/dist/{types-NSxpnYW5.d.cts → types-BCGrKW1K.d.cts} +6 -10
- package/dist/{types-BaqdM92a.d.ts → types-BE8abIig.d.cts} +2 -6
- package/dist/{types-c4h2YDMC.d.ts → types-BWMOK6eL.d.cts} +2 -6
- package/dist/{types-VehpPOQX.d.ts → types-Bat0SIZA.d.cts} +16 -97
- package/dist/{types-CpWE6Yg2.d.ts → types-Bdl7EFMc.d.ts} +2 -6
- package/dist/{types-DgOLSRiy.d.ts → types-BfB-XXLF.d.ts} +245 -9
- package/dist/{types-C9VaQSqV.d.ts → types-BiDdBXSm.d.ts} +2 -8
- package/dist/{types-EkyQ0_10.d.cts → types-BuclMPeY.d.cts} +2 -26
- package/dist/{types-CfZLdfAL.d.ts → types-C9okze_R.d.ts} +3 -7
- package/dist/{types-Dn1G-qv4.d.cts → types-CPWjRdnj.d.cts} +41 -62
- package/dist/{types-D3mj56iq.d.cts → types-CRubbBcU.d.cts} +2 -6
- package/dist/{types-BTy_FFSu.d.ts → types-CWcdaq-K.d.ts} +2 -6
- package/dist/{types-Bt8CEZ6K.d.ts → types-CcGp6O3B.d.cts} +3 -7
- package/dist/{types-BWYtQkHu.d.ts → types-Cr5lyI99.d.ts} +2 -6
- package/dist/{types-CNkQuWnO.d.cts → types-CxEJ77m3.d.cts} +3 -7
- package/dist/{types-CrJIILXf.d.cts → types-D-tJt0hQ.d.cts} +2 -6
- package/dist/{types-BYFU_6Iz.d.ts → types-D6lre27s.d.ts} +2 -8
- package/dist/{types-Cn8I0vcr.d.ts → types-DHMxPJZq.d.cts} +2 -6
- package/dist/{types-BtS3DhGu.d.cts → types-DJzTVMu1.d.ts} +2 -6
- package/dist/{types-DXF6faow.d.cts → types-DNgazFnF.d.cts} +2 -8
- package/dist/{types-UySfduQo.d.ts → types-DRCttnIN.d.ts} +2 -6
- package/dist/{types-D3H3EAre.d.ts → types-DUpVIuk7.d.ts} +2 -6
- package/dist/{types-Ce5Blzhg.d.ts → types-DeyXJzWz.d.cts} +2 -6
- package/dist/{types-sOM2_KPc.d.cts → types-Dryq2GGE.d.cts} +2 -6
- package/dist/{types-CwGbiMF-.d.cts → types-DschSZHf.d.cts} +3 -5
- package/dist/{types-C-GSYDTN.d.ts → types-DtOfhDzz.d.ts} +3 -5
- package/dist/{types-C4eQ-Zcx.d.cts → types-Du5o-tud.d.ts} +16 -97
- package/dist/{types-BbwrMl0Q.d.cts → types-DwbTiyhZ.d.cts} +2 -6
- package/dist/{types-B7L6uSYb.d.ts → types-Dz9vyloX.d.ts} +6 -10
- package/dist/{types-6KabdIyO.d.cts → types-E8tzafsk.d.cts} +3 -7
- package/dist/{types-EmIcG-8K.d.cts → types-LconaX98.d.cts} +2 -6
- package/dist/{types-Cfc-fYbq.d.cts → types-YpOm4yXE.d.cts} +2 -8
- package/dist/{types-CXv_e6xC.d.cts → types-ZZwdKCBl.d.ts} +2 -6
- package/dist/{types-D8d5tyGi.d.cts → types-eFi8xJIM.d.cts} +2 -6
- package/dist/{types-wNuJUhco.d.cts → types-inG9y3dP.d.ts} +2 -6
- package/dist/{types-Vu09EUZs.d.ts → types-ir7T2a9a.d.ts} +3 -7
- package/dist/{types-DMpiG2q4.d.cts → types-jjOulnni.d.ts} +2 -6
- package/dist/{types-DSBrhK_K.d.cts → types-wYrC2boT.d.ts} +3 -7
- package/dist/{types-1LENlL5h.d.ts → types-xzt_2H63.d.ts} +3 -7
- package/dist/{types-9d8ihjZh.d.cts → types-zPY-XGnM.d.ts} +2 -6
- package/dist/{validateConnectionStatus-BalWEyRk.cjs → validateConnectionStatus-BjemGI1e.cjs} +5 -7
- package/dist/{validateConnectionStatus-BalWEyRk.cjs.map → validateConnectionStatus-BjemGI1e.cjs.map} +1 -1
- package/dist/{validateConnectionStatus-DyrYpn0G.js → validateConnectionStatus-DYwWeWVo.js} +5 -7
- package/dist/{validateConnectionStatus-DyrYpn0G.js.map → validateConnectionStatus-DYwWeWVo.js.map} +1 -1
- package/dist/vault/index.cjs +7 -8
- package/dist/vault/index.d.cts +1 -1
- package/dist/vault/index.d.ts +1 -1
- package/dist/vault/index.js +7 -8
- package/dist/vault/types.d.cts +1 -1
- package/dist/vault/types.d.ts +1 -1
- package/package.json +7 -7
- package/surface/apps.md +12 -10
- package/surface/billing.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 +4 -4
- package/surface/management.md +3 -2
- package/surface/queue.md +3 -3
- package/surface/sdk.md +0 -6
- package/surface/stack.md +11 -0
- package/surface/storage.md +2 -2
- package/surface/stream.md +6 -6
- package/surface/syncActions.md +1 -2
- package/dist/configurations-B2O8AAy0.cjs +0 -735
- package/dist/configurations-B2O8AAy0.cjs.map +0 -1
- package/dist/configurations-CL0ouUMa.js.map +0 -1
- package/dist/configurations-D9J3jh3g.cjs.map +0 -1
- package/dist/configurations-DKINmjA3.js +0 -718
- package/dist/configurations-DKINmjA3.js.map +0 -1
- package/dist/constants-CA4UN2Xv.js.map +0 -1
- package/dist/constants-a0jswUeK.cjs.map +0 -1
- package/dist/createGenericFetchClient-CQdNcPC3.js +0 -7
- package/dist/createOpenapiFetchClient-DXiMv9WL.js +0 -7
- package/dist/domain/permissions/index.cjs.map +0 -1
- package/dist/domain/permissions/index.js.map +0 -1
- package/dist/generateUUID-Dr8l-aoc.js +0 -6
- package/dist/index-B3QTeqfL.d.ts +0 -23575
- package/dist/index-BfqkgPGI.d.cts +0 -34
- package/dist/index-BfqkgPGI.d.ts +0 -34
- package/dist/index-C40Fbj-6.d.cts +0 -23575
- package/dist/index-P1vR966i.d.cts +0 -199
- package/dist/index-P1vR966i.d.ts +0 -199
- package/dist/management-CXHnxVaZ.cjs.map +0 -1
- package/dist/management-NYAD6ej4.js.map +0 -1
- package/dist/middleware-CEP6uu_D.cjs.map +0 -1
- package/dist/middleware-GOfx8Apu.js.map +0 -1
- package/dist/project-BXLFrWJ6.js +0 -45
- package/dist/project-BXLFrWJ6.js.map +0 -1
- package/dist/project-CpgplgCr.cjs +0 -62
- package/dist/project-CpgplgCr.cjs.map +0 -1
- package/dist/storage-BR-Kgi-6.js.map +0 -1
- package/dist/storageTable-BNOR2FCh.cjs +0 -442
- package/dist/storageTable-BNOR2FCh.cjs.map +0 -1
- package/dist/storageTable-BldTNyEk.js +0 -395
- package/dist/storageTable-BldTNyEk.js.map +0 -1
- package/dist/syncActions-C1rE4R3f.cjs.map +0 -1
- package/dist/syncActions-DM8vP7p3.js.map +0 -1
- package/surface/context.md +0 -40
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metastore-Ywq08DBz.js","names":[],"sources":["../src/clients/metastore/repository/repository.ts","../src/clients/metastore/schema/schema.ts","../src/clients/metastore/metastoreClient.ts"],"sourcesContent":["import type { MetastoreFetchClient } from '../metastoreClient';\n\nimport type {\n CreateMetaObjectInput,\n DeleteMetaObjectPath,\n DeleteMetaObjectRevisionPath,\n GetMetaObjectPath,\n GetMetaObjectRevisionPath,\n GetMetaObjectRevisionsInput,\n GetMetaObjectsInput,\n GetMetaObjectsQuery,\n GetOrganizationMetaObjectsPath,\n GetOrganizationMetaObjectsQuery,\n MetaStoreListResponse,\n MetaStoreObjectResponse,\n ReplaceMetaObjectInput,\n ReplaceTargetProjectsInput,\n ScopeElevationRequestPath,\n UpdateMetaObjectInput,\n} from './types';\n\nexport const createRepository = (client: MetastoreFetchClient) => {\n /**\n * `sortByScope` opts into `scope[order]=asc` (organization, targeted, project). Off by\n * default — this method backs every object-type SDK, not just semantic-layer's.\n * `modelUUID`/`pendingElevationOnly` add further server-side filters; `query` forwards\n * arbitrary field filters/sorts the metastore's dynamic per-object-type schema supports.\n */\n const getMetaObjects = async <TData extends Record<string, unknown>>(\n { objectType, modelUUID, pendingElevationOnly, sortByScope, query }: GetMetaObjectsInput,\n signal?: AbortSignal,\n ) => {\n const fullQuery: GetMetaObjectsQuery = {\n ...query,\n ...(sortByScope ? { 'scope[order]': 'asc' } : {}),\n ...(modelUUID ? { modelUUID } : {}),\n ...(pendingElevationOnly ? { 'scope_elevation_requested_at[not][null]': 'true' } : {}),\n };\n const { data } = await client.get(\n '/api/v1/repository/{objectType}',\n { path: { objectType }, query: fullQuery },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData>;\n };\n\n const getMetaObjectRevisions = async <TData extends Record<string, unknown>>(\n { query, ...path }: GetMetaObjectRevisionsInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/revisions',\n { path, query },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData>;\n };\n\n const getMetaObject = async <TData extends Record<string, unknown>>(\n input: GetMetaObjectPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: input,\n },\n {\n signal,\n },\n );\n\n return data as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const createMetaObject = async <TData extends Record<string, unknown>>({\n objectType,\n data,\n ...body\n }: CreateMetaObjectInput<TData>) => {\n const { data: createdMetaObject } = await client.post('/api/v1/repository/{objectType}', {\n path: { objectType: objectType },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n });\n\n return createdMetaObject as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const deleteMetaObject = async (input: DeleteMetaObjectPath) => {\n const { data } = await client.delete('/api/v1/repository/{objectType}/{UUID}', {\n path: input,\n });\n\n return data;\n };\n\n const updateMetaObject = async <TData extends Record<string, unknown>>({\n objectType,\n UUID,\n data,\n ...body\n }: UpdateMetaObjectInput<TData>) => {\n const { data: updatedMetaObject } = await client.patch(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n // Spread rather than always setting `data`: sending `\"data\": null` is as fatal as `{}`\n // for a scope step-up, because Go decodes both to a non-nil *JSONData.\n body: {\n ...(data === undefined ? {} : { data: data as Record<string, never> }),\n ...body,\n },\n },\n );\n\n return updatedMetaObject as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const replaceMetaObject = async <TData extends Record<string, unknown>>({\n objectType,\n UUID,\n data,\n ...body\n }: ReplaceMetaObjectInput<TData>) => {\n const { data: replacedMetaObject } = await client.put(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n },\n );\n\n return replacedMetaObject as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const getMetaObjectRevision = async <TData extends Record<string, unknown>>(\n input: GetMetaObjectRevisionPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/{UUID}/revisions/{revision}',\n {\n path: input,\n },\n { signal },\n );\n\n return data as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const deleteMetaObjectRevision = async (input: DeleteMetaObjectRevisionPath) => {\n const { data } = await client.delete(\n '/api/v1/repository/{objectType}/{UUID}/revisions/{revision}',\n {\n path: input,\n },\n );\n\n return data;\n };\n\n /**\n * Replace the full set of sibling projects granted GET/consumption access to a\n * `targeted`-scope object. An empty array clears every grant, reverting the object to\n * owner-only visibility.\n */\n const replaceTargetProjects = async ({\n objectType,\n UUID,\n ...body\n }: ReplaceTargetProjectsInput) => {\n await client.put('/api/v1/repository/{objectType}/{UUID}/target-projects', {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n body,\n });\n };\n\n /**\n * Flag a project-scoped object as awaiting an organization admin's decision to step it up to\n * organization scope. Only the owning project may call this; idempotent — requesting again\n * just refreshes the timestamp.\n */\n const requestScopeElevation = async (input: ScopeElevationRequestPath) => {\n await client.put('/api/v1/repository/{objectType}/{UUID}/scope-elevation-request', {\n path: input,\n });\n };\n\n /**\n * Clear a pending scope-elevation request. Idempotent — clearing an object with no pending\n * request is a no-op, not an error.\n */\n const withdrawScopeElevationRequest = async (input: ScopeElevationRequestPath) => {\n await client.delete('/api/v1/repository/{objectType}/{UUID}/scope-elevation-request', {\n path: input,\n });\n };\n\n /**\n * Every meta object of `objectType`, across every project in the organization, that has a\n * pending scope-elevation request — what an org-admin's pending-elevation review needs.\n *\n * The bracket-notation filter key (`?scope_elevation_requested_at[not][null]=true`) is the\n * metastore's real, documented convention, not expressible in the generated `limit`/`offset`\n * query type — hence the `GetOrganizationMetaObjectsQuery` hybrid below.\n */\n const getPendingScopeElevationRequests = async <TData extends Record<string, unknown>>(\n input: GetOrganizationMetaObjectsPath,\n signal?: AbortSignal,\n ) => {\n const query: GetOrganizationMetaObjectsQuery = {\n 'scope_elevation_requested_at[not][null]': 'true',\n };\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/organization',\n { path: input, query },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData>;\n };\n\n return {\n // lists\n getMetaObjects,\n getMetaObjectRevisions,\n\n // objects\n getMetaObject,\n createMetaObject,\n deleteMetaObject,\n updateMetaObject,\n replaceMetaObject,\n replaceTargetProjects,\n requestScopeElevation,\n withdrawScopeElevationRequest,\n getPendingScopeElevationRequests,\n\n // revisons\n getMetaObjectRevision,\n deleteMetaObjectRevision,\n };\n};\n","import type { MetastoreFetchClient } from '../metastoreClient';\n\nimport type { GetSchemaPath, GetVersionedSchemaPath } from './types';\n\nexport const createSchema = (client: MetastoreFetchClient) => {\n const getSchema = async (input: GetSchemaPath, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/schema/{objectType}',\n {\n path: input,\n },\n { signal },\n );\n return data;\n };\n\n const getVersionedSchema = async (input: GetVersionedSchemaPath, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/schema/{objectType}/{version}',\n {\n path: input,\n },\n { signal },\n );\n\n return data;\n };\n\n return {\n getSchema,\n getVersionedSchema,\n };\n};\n","import { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createRepository } from './repository';\nimport { createSchema } from './schema';\n\nexport type MetastoreFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createMetastoreClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n const genericClient = createGenericFetchClient({ baseUrl, middlewares });\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n return {\n healthCheck,\n repository: createRepository(client),\n schema: createSchema(client),\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metastore-CGsgxjng.js","names":[],"sources":["../src/clients/metastore/repository/repository.ts","../src/clients/metastore/schema/schema.ts","../src/clients/metastore/metastoreClient.ts"],"sourcesContent":["import type { MetastoreFetchClient } from '../metastoreClient';\n\nimport type {\n CreateMetaObjectInput,\n DeleteMetaObjectPath,\n DeleteMetaObjectRevisionPath,\n GetMetaObjectPath,\n GetMetaObjectRevisionPath,\n GetMetaObjectRevisionsInput,\n GetMetaObjectsInput,\n GetMetaObjectsQuery,\n GetOrganizationMetaObjectsPath,\n GetOrganizationMetaObjectsQuery,\n MetaStoreListResponse,\n MetaStoreObjectResponse,\n ReplaceMetaObjectInput,\n ReplaceTargetProjectsInput,\n ScopeElevationRequestPath,\n UpdateMetaObjectInput,\n} from './types';\n\nexport const createRepository = (client: MetastoreFetchClient) => {\n /**\n * `sortByScope` opts into `scope[order]=asc` (organization, targeted, project). Off by\n * default — this method backs every object-type SDK, not just semantic-layer's.\n * `modelUUID`/`pendingElevationOnly` add further server-side filters; `query` forwards\n * arbitrary field filters/sorts the metastore's dynamic per-object-type schema supports.\n */\n const getMetaObjects = async <TData extends Record<string, unknown>>(\n { objectType, modelUUID, pendingElevationOnly, sortByScope, query }: GetMetaObjectsInput,\n signal?: AbortSignal,\n ) => {\n const fullQuery: GetMetaObjectsQuery = {\n ...query,\n ...(sortByScope ? { 'scope[order]': 'asc' } : {}),\n ...(modelUUID ? { modelUUID } : {}),\n ...(pendingElevationOnly ? { 'scope_elevation_requested_at[not][null]': 'true' } : {}),\n };\n const { data } = await client.get(\n '/api/v1/repository/{objectType}',\n { path: { objectType }, query: fullQuery },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData>;\n };\n\n const getMetaObjectRevisions = async <TData extends Record<string, unknown>>(\n { query, ...path }: GetMetaObjectRevisionsInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/revisions',\n { path, query },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData>;\n };\n\n const getMetaObject = async <TData extends Record<string, unknown>>(\n input: GetMetaObjectPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: input,\n },\n {\n signal,\n },\n );\n\n return data as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const createMetaObject = async <TData extends Record<string, unknown>>({\n objectType,\n data,\n ...body\n }: CreateMetaObjectInput<TData>) => {\n const { data: createdMetaObject } = await client.post('/api/v1/repository/{objectType}', {\n path: { objectType: objectType },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n });\n\n return createdMetaObject as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const deleteMetaObject = async (input: DeleteMetaObjectPath) => {\n const { data } = await client.delete('/api/v1/repository/{objectType}/{UUID}', {\n path: input,\n });\n\n return data;\n };\n\n const updateMetaObject = async <TData extends Record<string, unknown>>({\n objectType,\n UUID,\n data,\n ...body\n }: UpdateMetaObjectInput<TData>) => {\n const { data: updatedMetaObject } = await client.patch(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n // Spread rather than always setting `data`: sending `\"data\": null` is as fatal as `{}`\n // for a scope step-up, because Go decodes both to a non-nil *JSONData.\n body: {\n ...(data === undefined ? {} : { data: data as Record<string, never> }),\n ...body,\n },\n },\n );\n\n return updatedMetaObject as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const replaceMetaObject = async <TData extends Record<string, unknown>>({\n objectType,\n UUID,\n data,\n ...body\n }: ReplaceMetaObjectInput<TData>) => {\n const { data: replacedMetaObject } = await client.put(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n },\n );\n\n return replacedMetaObject as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const getMetaObjectRevision = async <TData extends Record<string, unknown>>(\n input: GetMetaObjectRevisionPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/{UUID}/revisions/{revision}',\n {\n path: input,\n },\n { signal },\n );\n\n return data as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const deleteMetaObjectRevision = async (input: DeleteMetaObjectRevisionPath) => {\n const { data } = await client.delete(\n '/api/v1/repository/{objectType}/{UUID}/revisions/{revision}',\n {\n path: input,\n },\n );\n\n return data;\n };\n\n /**\n * Replace the full set of sibling projects granted GET/consumption access to a\n * `targeted`-scope object. An empty array clears every grant, reverting the object to\n * owner-only visibility.\n */\n const replaceTargetProjects = async ({\n objectType,\n UUID,\n ...body\n }: ReplaceTargetProjectsInput) => {\n await client.put('/api/v1/repository/{objectType}/{UUID}/target-projects', {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n body,\n });\n };\n\n /**\n * Flag a project-scoped object as awaiting an organization admin's decision to step it up to\n * organization scope. Only the owning project may call this; idempotent — requesting again\n * just refreshes the timestamp.\n */\n const requestScopeElevation = async (input: ScopeElevationRequestPath) => {\n await client.put('/api/v1/repository/{objectType}/{UUID}/scope-elevation-request', {\n path: input,\n });\n };\n\n /**\n * Clear a pending scope-elevation request. Idempotent — clearing an object with no pending\n * request is a no-op, not an error.\n */\n const withdrawScopeElevationRequest = async (input: ScopeElevationRequestPath) => {\n await client.delete('/api/v1/repository/{objectType}/{UUID}/scope-elevation-request', {\n path: input,\n });\n };\n\n /**\n * Every meta object of `objectType`, across every project in the organization, that has a\n * pending scope-elevation request — what an org-admin's pending-elevation review needs.\n *\n * The bracket-notation filter key (`?scope_elevation_requested_at[not][null]=true`) is the\n * metastore's real, documented convention, not expressible in the generated `limit`/`offset`\n * query type — hence the `GetOrganizationMetaObjectsQuery` hybrid below.\n */\n const getPendingScopeElevationRequests = async <TData extends Record<string, unknown>>(\n input: GetOrganizationMetaObjectsPath,\n signal?: AbortSignal,\n ) => {\n const query: GetOrganizationMetaObjectsQuery = {\n 'scope_elevation_requested_at[not][null]': 'true',\n };\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/organization',\n { path: input, query },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData>;\n };\n\n return {\n // lists\n getMetaObjects,\n getMetaObjectRevisions,\n\n // objects\n getMetaObject,\n createMetaObject,\n deleteMetaObject,\n updateMetaObject,\n replaceMetaObject,\n replaceTargetProjects,\n requestScopeElevation,\n withdrawScopeElevationRequest,\n getPendingScopeElevationRequests,\n\n // revisons\n getMetaObjectRevision,\n deleteMetaObjectRevision,\n };\n};\n","import type { MetastoreFetchClient } from '../metastoreClient';\n\nimport type { GetSchemaPath, GetVersionedSchemaPath } from './types';\n\nexport const createSchema = (client: MetastoreFetchClient) => {\n const getSchema = async (input: GetSchemaPath, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/schema/{objectType}',\n {\n path: input,\n },\n { signal },\n );\n return data;\n };\n\n const getVersionedSchema = async (input: GetVersionedSchemaPath, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/schema/{objectType}/{version}',\n {\n path: input,\n },\n { signal },\n );\n\n return data;\n };\n\n return {\n getSchema,\n getVersionedSchema,\n };\n};\n","import { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createRepository } from './repository';\nimport { createSchema } from './schema';\n\nexport type MetastoreFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createMetastoreClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n const genericClient = createGenericFetchClient({ baseUrl, middlewares });\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n return {\n healthCheck,\n repository: createRepository(client),\n schema: createSchema(client),\n };\n};\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const require_createGenericFetchClient = require("./createGenericFetchClient-
|
|
2
|
-
const require_createOpenapiFetchClient = require("./createOpenapiFetchClient-
|
|
3
|
-
const require_auth = require("./auth-
|
|
4
|
-
|
|
1
|
+
const require_createGenericFetchClient = require("./createGenericFetchClient-2oU-PXVo.cjs");
|
|
2
|
+
const require_createOpenapiFetchClient = require("./createOpenapiFetchClient-DL9w7vU-.cjs");
|
|
3
|
+
const require_auth = require("./auth-CvB4MukT.cjs");
|
|
4
|
+
// src/clients/metastore/repository/repository.ts
|
|
5
5
|
const createRepository = (client) => {
|
|
6
6
|
/**
|
|
7
7
|
* `sortByScope` opts into `scope[order]=asc` (organization, targeted, project). Off by
|
|
@@ -141,8 +141,7 @@ const createRepository = (client) => {
|
|
|
141
141
|
deleteMetaObjectRevision
|
|
142
142
|
};
|
|
143
143
|
};
|
|
144
|
-
|
|
145
|
-
//#region src/clients/metastore/schema/schema.ts
|
|
144
|
+
// src/clients/metastore/schema/schema.ts
|
|
146
145
|
const createSchema = (client) => {
|
|
147
146
|
const getSchema = async (input, signal) => {
|
|
148
147
|
const { data } = await client.get("/api/v1/schema/{objectType}", { path: input }, { signal });
|
|
@@ -157,8 +156,7 @@ const createSchema = (client) => {
|
|
|
157
156
|
getVersionedSchema
|
|
158
157
|
};
|
|
159
158
|
};
|
|
160
|
-
|
|
161
|
-
//#region src/clients/metastore/metastoreClient.ts
|
|
159
|
+
// src/clients/metastore/metastoreClient.ts
|
|
162
160
|
const createMetastoreClient = ({ baseUrl, middlewares, auth }) => {
|
|
163
161
|
const client = require_createOpenapiFetchClient.createOpenapiFetchClient({
|
|
164
162
|
baseUrl,
|
|
@@ -179,7 +177,6 @@ const createMetastoreClient = ({ baseUrl, middlewares, auth }) => {
|
|
|
179
177
|
schema: createSchema(client)
|
|
180
178
|
};
|
|
181
179
|
};
|
|
182
|
-
//#endregion
|
|
183
180
|
Object.defineProperty(exports, "createMetastoreClient", {
|
|
184
181
|
enumerable: true,
|
|
185
182
|
get: function() {
|
|
@@ -187,4 +184,4 @@ Object.defineProperty(exports, "createMetastoreClient", {
|
|
|
187
184
|
}
|
|
188
185
|
});
|
|
189
186
|
|
|
190
|
-
//# sourceMappingURL=metastore-
|
|
187
|
+
//# sourceMappingURL=metastore-DeRQ2VIv.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metastore-BXHg33ku.cjs","names":["createOpenapiFetchClient","createAuthHeaders","createGenericFetchClient"],"sources":["../src/clients/metastore/repository/repository.ts","../src/clients/metastore/schema/schema.ts","../src/clients/metastore/metastoreClient.ts"],"sourcesContent":["import type { MetastoreFetchClient } from '../metastoreClient';\n\nimport type {\n CreateMetaObjectInput,\n DeleteMetaObjectPath,\n DeleteMetaObjectRevisionPath,\n GetMetaObjectPath,\n GetMetaObjectRevisionPath,\n GetMetaObjectRevisionsInput,\n GetMetaObjectsInput,\n GetMetaObjectsQuery,\n GetOrganizationMetaObjectsPath,\n GetOrganizationMetaObjectsQuery,\n MetaStoreListResponse,\n MetaStoreObjectResponse,\n ReplaceMetaObjectInput,\n ReplaceTargetProjectsInput,\n ScopeElevationRequestPath,\n UpdateMetaObjectInput,\n} from './types';\n\nexport const createRepository = (client: MetastoreFetchClient) => {\n /**\n * `sortByScope` opts into `scope[order]=asc` (organization, targeted, project). Off by\n * default — this method backs every object-type SDK, not just semantic-layer's.\n * `modelUUID`/`pendingElevationOnly` add further server-side filters; `query` forwards\n * arbitrary field filters/sorts the metastore's dynamic per-object-type schema supports.\n */\n const getMetaObjects = async <TData extends Record<string, unknown>>(\n { objectType, modelUUID, pendingElevationOnly, sortByScope, query }: GetMetaObjectsInput,\n signal?: AbortSignal,\n ) => {\n const fullQuery: GetMetaObjectsQuery = {\n ...query,\n ...(sortByScope ? { 'scope[order]': 'asc' } : {}),\n ...(modelUUID ? { modelUUID } : {}),\n ...(pendingElevationOnly ? { 'scope_elevation_requested_at[not][null]': 'true' } : {}),\n };\n const { data } = await client.get(\n '/api/v1/repository/{objectType}',\n { path: { objectType }, query: fullQuery },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData>;\n };\n\n const getMetaObjectRevisions = async <TData extends Record<string, unknown>>(\n { query, ...path }: GetMetaObjectRevisionsInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/revisions',\n { path, query },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData>;\n };\n\n const getMetaObject = async <TData extends Record<string, unknown>>(\n input: GetMetaObjectPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: input,\n },\n {\n signal,\n },\n );\n\n return data as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const createMetaObject = async <TData extends Record<string, unknown>>({\n objectType,\n data,\n ...body\n }: CreateMetaObjectInput<TData>) => {\n const { data: createdMetaObject } = await client.post('/api/v1/repository/{objectType}', {\n path: { objectType: objectType },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n });\n\n return createdMetaObject as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const deleteMetaObject = async (input: DeleteMetaObjectPath) => {\n const { data } = await client.delete('/api/v1/repository/{objectType}/{UUID}', {\n path: input,\n });\n\n return data;\n };\n\n const updateMetaObject = async <TData extends Record<string, unknown>>({\n objectType,\n UUID,\n data,\n ...body\n }: UpdateMetaObjectInput<TData>) => {\n const { data: updatedMetaObject } = await client.patch(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n // Spread rather than always setting `data`: sending `\"data\": null` is as fatal as `{}`\n // for a scope step-up, because Go decodes both to a non-nil *JSONData.\n body: {\n ...(data === undefined ? {} : { data: data as Record<string, never> }),\n ...body,\n },\n },\n );\n\n return updatedMetaObject as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const replaceMetaObject = async <TData extends Record<string, unknown>>({\n objectType,\n UUID,\n data,\n ...body\n }: ReplaceMetaObjectInput<TData>) => {\n const { data: replacedMetaObject } = await client.put(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n },\n );\n\n return replacedMetaObject as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const getMetaObjectRevision = async <TData extends Record<string, unknown>>(\n input: GetMetaObjectRevisionPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/{UUID}/revisions/{revision}',\n {\n path: input,\n },\n { signal },\n );\n\n return data as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const deleteMetaObjectRevision = async (input: DeleteMetaObjectRevisionPath) => {\n const { data } = await client.delete(\n '/api/v1/repository/{objectType}/{UUID}/revisions/{revision}',\n {\n path: input,\n },\n );\n\n return data;\n };\n\n /**\n * Replace the full set of sibling projects granted GET/consumption access to a\n * `targeted`-scope object. An empty array clears every grant, reverting the object to\n * owner-only visibility.\n */\n const replaceTargetProjects = async ({\n objectType,\n UUID,\n ...body\n }: ReplaceTargetProjectsInput) => {\n await client.put('/api/v1/repository/{objectType}/{UUID}/target-projects', {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n body,\n });\n };\n\n /**\n * Flag a project-scoped object as awaiting an organization admin's decision to step it up to\n * organization scope. Only the owning project may call this; idempotent — requesting again\n * just refreshes the timestamp.\n */\n const requestScopeElevation = async (input: ScopeElevationRequestPath) => {\n await client.put('/api/v1/repository/{objectType}/{UUID}/scope-elevation-request', {\n path: input,\n });\n };\n\n /**\n * Clear a pending scope-elevation request. Idempotent — clearing an object with no pending\n * request is a no-op, not an error.\n */\n const withdrawScopeElevationRequest = async (input: ScopeElevationRequestPath) => {\n await client.delete('/api/v1/repository/{objectType}/{UUID}/scope-elevation-request', {\n path: input,\n });\n };\n\n /**\n * Every meta object of `objectType`, across every project in the organization, that has a\n * pending scope-elevation request — what an org-admin's pending-elevation review needs.\n *\n * The bracket-notation filter key (`?scope_elevation_requested_at[not][null]=true`) is the\n * metastore's real, documented convention, not expressible in the generated `limit`/`offset`\n * query type — hence the `GetOrganizationMetaObjectsQuery` hybrid below.\n */\n const getPendingScopeElevationRequests = async <TData extends Record<string, unknown>>(\n input: GetOrganizationMetaObjectsPath,\n signal?: AbortSignal,\n ) => {\n const query: GetOrganizationMetaObjectsQuery = {\n 'scope_elevation_requested_at[not][null]': 'true',\n };\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/organization',\n { path: input, query },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData>;\n };\n\n return {\n // lists\n getMetaObjects,\n getMetaObjectRevisions,\n\n // objects\n getMetaObject,\n createMetaObject,\n deleteMetaObject,\n updateMetaObject,\n replaceMetaObject,\n replaceTargetProjects,\n requestScopeElevation,\n withdrawScopeElevationRequest,\n getPendingScopeElevationRequests,\n\n // revisons\n getMetaObjectRevision,\n deleteMetaObjectRevision,\n };\n};\n","import type { MetastoreFetchClient } from '../metastoreClient';\n\nimport type { GetSchemaPath, GetVersionedSchemaPath } from './types';\n\nexport const createSchema = (client: MetastoreFetchClient) => {\n const getSchema = async (input: GetSchemaPath, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/schema/{objectType}',\n {\n path: input,\n },\n { signal },\n );\n return data;\n };\n\n const getVersionedSchema = async (input: GetVersionedSchemaPath, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/schema/{objectType}/{version}',\n {\n path: input,\n },\n { signal },\n );\n\n return data;\n };\n\n return {\n getSchema,\n getVersionedSchema,\n };\n};\n","import { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createRepository } from './repository';\nimport { createSchema } from './schema';\n\nexport type MetastoreFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createMetastoreClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n const genericClient = createGenericFetchClient({ baseUrl, middlewares });\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n return {\n healthCheck,\n repository: createRepository(client),\n schema: createSchema(client),\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metastore-DeRQ2VIv.cjs","names":["createOpenapiFetchClient","createAuthHeaders","createGenericFetchClient"],"sources":["../src/clients/metastore/repository/repository.ts","../src/clients/metastore/schema/schema.ts","../src/clients/metastore/metastoreClient.ts"],"sourcesContent":["import type { MetastoreFetchClient } from '../metastoreClient';\n\nimport type {\n CreateMetaObjectInput,\n DeleteMetaObjectPath,\n DeleteMetaObjectRevisionPath,\n GetMetaObjectPath,\n GetMetaObjectRevisionPath,\n GetMetaObjectRevisionsInput,\n GetMetaObjectsInput,\n GetMetaObjectsQuery,\n GetOrganizationMetaObjectsPath,\n GetOrganizationMetaObjectsQuery,\n MetaStoreListResponse,\n MetaStoreObjectResponse,\n ReplaceMetaObjectInput,\n ReplaceTargetProjectsInput,\n ScopeElevationRequestPath,\n UpdateMetaObjectInput,\n} from './types';\n\nexport const createRepository = (client: MetastoreFetchClient) => {\n /**\n * `sortByScope` opts into `scope[order]=asc` (organization, targeted, project). Off by\n * default — this method backs every object-type SDK, not just semantic-layer's.\n * `modelUUID`/`pendingElevationOnly` add further server-side filters; `query` forwards\n * arbitrary field filters/sorts the metastore's dynamic per-object-type schema supports.\n */\n const getMetaObjects = async <TData extends Record<string, unknown>>(\n { objectType, modelUUID, pendingElevationOnly, sortByScope, query }: GetMetaObjectsInput,\n signal?: AbortSignal,\n ) => {\n const fullQuery: GetMetaObjectsQuery = {\n ...query,\n ...(sortByScope ? { 'scope[order]': 'asc' } : {}),\n ...(modelUUID ? { modelUUID } : {}),\n ...(pendingElevationOnly ? { 'scope_elevation_requested_at[not][null]': 'true' } : {}),\n };\n const { data } = await client.get(\n '/api/v1/repository/{objectType}',\n { path: { objectType }, query: fullQuery },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData>;\n };\n\n const getMetaObjectRevisions = async <TData extends Record<string, unknown>>(\n { query, ...path }: GetMetaObjectRevisionsInput,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/revisions',\n { path, query },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData>;\n };\n\n const getMetaObject = async <TData extends Record<string, unknown>>(\n input: GetMetaObjectPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: input,\n },\n {\n signal,\n },\n );\n\n return data as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const createMetaObject = async <TData extends Record<string, unknown>>({\n objectType,\n data,\n ...body\n }: CreateMetaObjectInput<TData>) => {\n const { data: createdMetaObject } = await client.post('/api/v1/repository/{objectType}', {\n path: { objectType: objectType },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n });\n\n return createdMetaObject as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const deleteMetaObject = async (input: DeleteMetaObjectPath) => {\n const { data } = await client.delete('/api/v1/repository/{objectType}/{UUID}', {\n path: input,\n });\n\n return data;\n };\n\n const updateMetaObject = async <TData extends Record<string, unknown>>({\n objectType,\n UUID,\n data,\n ...body\n }: UpdateMetaObjectInput<TData>) => {\n const { data: updatedMetaObject } = await client.patch(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n // Spread rather than always setting `data`: sending `\"data\": null` is as fatal as `{}`\n // for a scope step-up, because Go decodes both to a non-nil *JSONData.\n body: {\n ...(data === undefined ? {} : { data: data as Record<string, never> }),\n ...body,\n },\n },\n );\n\n return updatedMetaObject as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const replaceMetaObject = async <TData extends Record<string, unknown>>({\n objectType,\n UUID,\n data,\n ...body\n }: ReplaceMetaObjectInput<TData>) => {\n const { data: replacedMetaObject } = await client.put(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n },\n );\n\n return replacedMetaObject as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const getMetaObjectRevision = async <TData extends Record<string, unknown>>(\n input: GetMetaObjectRevisionPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/{UUID}/revisions/{revision}',\n {\n path: input,\n },\n { signal },\n );\n\n return data as unknown as MetaStoreObjectResponse<TData>;\n };\n\n const deleteMetaObjectRevision = async (input: DeleteMetaObjectRevisionPath) => {\n const { data } = await client.delete(\n '/api/v1/repository/{objectType}/{UUID}/revisions/{revision}',\n {\n path: input,\n },\n );\n\n return data;\n };\n\n /**\n * Replace the full set of sibling projects granted GET/consumption access to a\n * `targeted`-scope object. An empty array clears every grant, reverting the object to\n * owner-only visibility.\n */\n const replaceTargetProjects = async ({\n objectType,\n UUID,\n ...body\n }: ReplaceTargetProjectsInput) => {\n await client.put('/api/v1/repository/{objectType}/{UUID}/target-projects', {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n body,\n });\n };\n\n /**\n * Flag a project-scoped object as awaiting an organization admin's decision to step it up to\n * organization scope. Only the owning project may call this; idempotent — requesting again\n * just refreshes the timestamp.\n */\n const requestScopeElevation = async (input: ScopeElevationRequestPath) => {\n await client.put('/api/v1/repository/{objectType}/{UUID}/scope-elevation-request', {\n path: input,\n });\n };\n\n /**\n * Clear a pending scope-elevation request. Idempotent — clearing an object with no pending\n * request is a no-op, not an error.\n */\n const withdrawScopeElevationRequest = async (input: ScopeElevationRequestPath) => {\n await client.delete('/api/v1/repository/{objectType}/{UUID}/scope-elevation-request', {\n path: input,\n });\n };\n\n /**\n * Every meta object of `objectType`, across every project in the organization, that has a\n * pending scope-elevation request — what an org-admin's pending-elevation review needs.\n *\n * The bracket-notation filter key (`?scope_elevation_requested_at[not][null]=true`) is the\n * metastore's real, documented convention, not expressible in the generated `limit`/`offset`\n * query type — hence the `GetOrganizationMetaObjectsQuery` hybrid below.\n */\n const getPendingScopeElevationRequests = async <TData extends Record<string, unknown>>(\n input: GetOrganizationMetaObjectsPath,\n signal?: AbortSignal,\n ) => {\n const query: GetOrganizationMetaObjectsQuery = {\n 'scope_elevation_requested_at[not][null]': 'true',\n };\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/organization',\n { path: input, query },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData>;\n };\n\n return {\n // lists\n getMetaObjects,\n getMetaObjectRevisions,\n\n // objects\n getMetaObject,\n createMetaObject,\n deleteMetaObject,\n updateMetaObject,\n replaceMetaObject,\n replaceTargetProjects,\n requestScopeElevation,\n withdrawScopeElevationRequest,\n getPendingScopeElevationRequests,\n\n // revisons\n getMetaObjectRevision,\n deleteMetaObjectRevision,\n };\n};\n","import type { MetastoreFetchClient } from '../metastoreClient';\n\nimport type { GetSchemaPath, GetVersionedSchemaPath } from './types';\n\nexport const createSchema = (client: MetastoreFetchClient) => {\n const getSchema = async (input: GetSchemaPath, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/schema/{objectType}',\n {\n path: input,\n },\n { signal },\n );\n return data;\n };\n\n const getVersionedSchema = async (input: GetVersionedSchemaPath, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/schema/{objectType}/{version}',\n {\n path: input,\n },\n { signal },\n );\n\n return data;\n };\n\n return {\n getSchema,\n getVersionedSchema,\n };\n};\n","import { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createRepository } from './repository';\nimport { createSchema } from './schema';\n\nexport type MetastoreFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createMetastoreClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n const genericClient = createGenericFetchClient({ baseUrl, middlewares });\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n return {\n healthCheck,\n repository: createRepository(client),\n schema: createSchema(client),\n };\n};\n"],"mappings":"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"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_createFetchClient = require("../createFetchClient-
|
|
3
|
-
const require_createOpenapiFetchClient = require("../createOpenapiFetchClient-
|
|
4
|
-
|
|
2
|
+
const require_createFetchClient = require("../createFetchClient-DEkUH662.cjs");
|
|
3
|
+
const require_createOpenapiFetchClient = require("../createOpenapiFetchClient-DL9w7vU-.cjs");
|
|
4
|
+
// src/clients/microsoftGraph/utils.ts
|
|
5
5
|
const encodeSharingUrl = (sharingUrl) => {
|
|
6
6
|
const binary = String.fromCharCode(...new TextEncoder().encode(sharingUrl));
|
|
7
7
|
return `u!${btoa(binary).replace(/=+$/, "").replace(/\//g, "_").replace(/\+/g, "-")}`;
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
//#region src/clients/microsoftGraph/microsoftGraphClient.ts
|
|
9
|
+
// src/clients/microsoftGraph/microsoftGraphClient.ts
|
|
11
10
|
const MICROSOFT_GRAPH_BASE_URL = "https://graph.microsoft.com/v1.0";
|
|
12
11
|
const DRIVE_ITEM_SELECT = [
|
|
13
12
|
"id",
|
|
@@ -69,8 +68,7 @@ const createMicrosoftGraphClient = ({ baseUrl = MICROSOFT_GRAPH_BASE_URL, middle
|
|
|
69
68
|
getDriveItemBySharingUrl
|
|
70
69
|
};
|
|
71
70
|
};
|
|
72
|
-
|
|
73
|
-
//#region src/clients/microsoftGraph/middleware.ts
|
|
71
|
+
// src/clients/microsoftGraph/middleware.ts
|
|
74
72
|
/**
|
|
75
73
|
* Stamps a Graph access token as `Authorization: Bearer …`.
|
|
76
74
|
*
|
|
@@ -85,7 +83,6 @@ const createMicrosoftGraphAuthMiddleware = (accessToken) => {
|
|
|
85
83
|
return next(request);
|
|
86
84
|
};
|
|
87
85
|
};
|
|
88
|
-
//#endregion
|
|
89
86
|
exports.createMicrosoftGraphAuthMiddleware = createMicrosoftGraphAuthMiddleware;
|
|
90
87
|
exports.createMicrosoftGraphClient = createMicrosoftGraphClient;
|
|
91
88
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["createOpenapiFetchClient","HttpHeader"],"sources":["../../src/clients/microsoftGraph/utils.ts","../../src/clients/microsoftGraph/microsoftGraphClient.ts","../../src/clients/microsoftGraph/middleware.ts"],"sourcesContent":["// Encode a sharing URL into a Graph sharing token: base64 of the UTF-8 bytes, converted to\n// unpadded base64url, prefixed with `u!`. TextEncoder keeps non-ASCII file names (e.g. ä, č) valid.\n// https://learn.microsoft.com/en-us/graph/api/shares-get#encoding-sharing-urls\nexport const encodeSharingUrl = (sharingUrl: string) => {\n const binary = String.fromCharCode(...new TextEncoder().encode(sharingUrl));\n const base64 = btoa(binary).replace(/=+$/, '').replace(/\\//g, '_').replace(/\\+/g, '-');\n return `u!${base64}`;\n};\n","import { createOpenapiFetchClient } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { encodeSharingUrl } from './utils';\n\n// Microsoft Graph is not a Keboola service, so unlike a stack client this base URL is not\n// discovered — the version prefix is part of Graph's own API contract. Overridable for tests.\nconst MICROSOFT_GRAPH_BASE_URL = 'https://graph.microsoft.com/v1.0';\n\nconst DRIVE_ITEM_SELECT = ['id', 'name', 'parentReference'];\n\n// OData wants `$select=id,name` — the default array format would send `$select[0]=id`.\nconst ODATA_QUERY = { queryArrayFormat: 'comma' } as const;\n\n/**\n * Auth arrives as a middleware, never as a token: a client here holds no credential. Pair it with\n * `createMicrosoftGraphAuthMiddleware`, which the consumer builds from the token its OAuth flow\n * just minted — Graph tokens are per user interaction and scoped to one account, so a client is\n * built per interaction rather than shared.\n */\ntype MicrosoftGraphClientOptions = Partial<Omit<ClientInitOptions, 'auth'>>;\n\nexport const createMicrosoftGraphClient = ({\n baseUrl = MICROSOFT_GRAPH_BASE_URL,\n middlewares = [],\n}: MicrosoftGraphClientOptions = {}) => {\n const client = createOpenapiFetchClient<paths>({ baseUrl, middlewares });\n\n const getMySite = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/me',\n { query: { $select: ['mySite'] } },\n { signal, ...ODATA_QUERY },\n );\n\n return data;\n };\n\n const getMyDrive = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/me/drive',\n { query: { $select: ['webUrl'] } },\n { signal, ...ODATA_QUERY },\n );\n\n return data;\n };\n\n const getFile = async (driveId: string, fileId: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/drives/{drive-id}/items/{driveItem-id}',\n {\n path: { 'drive-id': driveId, 'driveItem-id': fileId },\n query: { $select: DRIVE_ITEM_SELECT },\n },\n { signal, ...ODATA_QUERY },\n );\n\n return data;\n };\n\n /**\n * Resolves the real DriveItem (id + parentReference.driveId) for a shared item a file picker\n * returned with empty ids (e.g. \"Shared with me\" SharePoint files).\n */\n const getDriveItemBySharingUrl = async (sharingUrl: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/shares/{sharedDriveItem-id}/driveItem',\n {\n path: { 'sharedDriveItem-id': encodeSharingUrl(sharingUrl) },\n query: { $select: DRIVE_ITEM_SELECT },\n },\n // Graph only redeems a sharing link into a DriveItem when asked to.\n { signal, ...ODATA_QUERY, headers: { Prefer: 'redeemSharingLinkIfNecessary' } },\n );\n\n return data;\n };\n\n return {\n getMySite,\n getMyDrive,\n getFile,\n getDriveItemBySharingUrl,\n };\n};\n","import { HttpHeader, type MiddlewareFn } from '../../fetchClient';\n\n/**\n * Stamps a Graph access token as `Authorization: Bearer …`.\n *\n * There is deliberately no refresh-and-replay here, and no `sdks/microsoftGraph/` to own one: the\n * consumer's OAuth library (MSAL in the browser) mints and refreshes these tokens per user\n * interaction, so this package holds no token state to manage. It exists so the client can take a\n * `MiddlewareFn` rather than a credential, without every consumer restating the header.\n */\nexport const createMicrosoftGraphAuthMiddleware = (accessToken: string): MiddlewareFn => {\n return (next) => async (request) => {\n request.request.headers.set(HttpHeader.AUTHORIZATION, `Bearer ${accessToken}`);\n return next(request);\n };\n};\n"],"mappings":";;;;AAGA,MAAa,oBAAoB,eAAuB;CACtD,MAAM,SAAS,OAAO,aAAa,GAAG,IAAI,YAAY,CAAC,CAAC,OAAO,UAAU,CAAC;CAE1E,OAAO,KADQ,KAAK,MAAM,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,QAAQ,OAAO,GAAG,CAAC,CAAC,QAAQ,OAAO,GACjE;AACnB
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["createOpenapiFetchClient","HttpHeader"],"sources":["../../src/clients/microsoftGraph/utils.ts","../../src/clients/microsoftGraph/microsoftGraphClient.ts","../../src/clients/microsoftGraph/middleware.ts"],"sourcesContent":["// Encode a sharing URL into a Graph sharing token: base64 of the UTF-8 bytes, converted to\n// unpadded base64url, prefixed with `u!`. TextEncoder keeps non-ASCII file names (e.g. ä, č) valid.\n// https://learn.microsoft.com/en-us/graph/api/shares-get#encoding-sharing-urls\nexport const encodeSharingUrl = (sharingUrl: string) => {\n const binary = String.fromCharCode(...new TextEncoder().encode(sharingUrl));\n const base64 = btoa(binary).replace(/=+$/, '').replace(/\\//g, '_').replace(/\\+/g, '-');\n return `u!${base64}`;\n};\n","import { createOpenapiFetchClient } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { encodeSharingUrl } from './utils';\n\n// Microsoft Graph is not a Keboola service, so unlike a stack client this base URL is not\n// discovered — the version prefix is part of Graph's own API contract. Overridable for tests.\nconst MICROSOFT_GRAPH_BASE_URL = 'https://graph.microsoft.com/v1.0';\n\nconst DRIVE_ITEM_SELECT = ['id', 'name', 'parentReference'];\n\n// OData wants `$select=id,name` — the default array format would send `$select[0]=id`.\nconst ODATA_QUERY = { queryArrayFormat: 'comma' } as const;\n\n/**\n * Auth arrives as a middleware, never as a token: a client here holds no credential. Pair it with\n * `createMicrosoftGraphAuthMiddleware`, which the consumer builds from the token its OAuth flow\n * just minted — Graph tokens are per user interaction and scoped to one account, so a client is\n * built per interaction rather than shared.\n */\ntype MicrosoftGraphClientOptions = Partial<Omit<ClientInitOptions, 'auth'>>;\n\nexport const createMicrosoftGraphClient = ({\n baseUrl = MICROSOFT_GRAPH_BASE_URL,\n middlewares = [],\n}: MicrosoftGraphClientOptions = {}) => {\n const client = createOpenapiFetchClient<paths>({ baseUrl, middlewares });\n\n const getMySite = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/me',\n { query: { $select: ['mySite'] } },\n { signal, ...ODATA_QUERY },\n );\n\n return data;\n };\n\n const getMyDrive = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/me/drive',\n { query: { $select: ['webUrl'] } },\n { signal, ...ODATA_QUERY },\n );\n\n return data;\n };\n\n const getFile = async (driveId: string, fileId: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/drives/{drive-id}/items/{driveItem-id}',\n {\n path: { 'drive-id': driveId, 'driveItem-id': fileId },\n query: { $select: DRIVE_ITEM_SELECT },\n },\n { signal, ...ODATA_QUERY },\n );\n\n return data;\n };\n\n /**\n * Resolves the real DriveItem (id + parentReference.driveId) for a shared item a file picker\n * returned with empty ids (e.g. \"Shared with me\" SharePoint files).\n */\n const getDriveItemBySharingUrl = async (sharingUrl: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/shares/{sharedDriveItem-id}/driveItem',\n {\n path: { 'sharedDriveItem-id': encodeSharingUrl(sharingUrl) },\n query: { $select: DRIVE_ITEM_SELECT },\n },\n // Graph only redeems a sharing link into a DriveItem when asked to.\n { signal, ...ODATA_QUERY, headers: { Prefer: 'redeemSharingLinkIfNecessary' } },\n );\n\n return data;\n };\n\n return {\n getMySite,\n getMyDrive,\n getFile,\n getDriveItemBySharingUrl,\n };\n};\n","import { HttpHeader, type MiddlewareFn } from '../../fetchClient';\n\n/**\n * Stamps a Graph access token as `Authorization: Bearer …`.\n *\n * There is deliberately no refresh-and-replay here, and no `sdks/microsoftGraph/` to own one: the\n * consumer's OAuth library (MSAL in the browser) mints and refreshes these tokens per user\n * interaction, so this package holds no token state to manage. It exists so the client can take a\n * `MiddlewareFn` rather than a credential, without every consumer restating the header.\n */\nexport const createMicrosoftGraphAuthMiddleware = (accessToken: string): MiddlewareFn => {\n return (next) => async (request) => {\n request.request.headers.set(HttpHeader.AUTHORIZATION, `Bearer ${accessToken}`);\n return next(request);\n };\n};\n"],"mappings":";;;;AAGA,MAAa,oBAAoB,eAAuB;CACtD,MAAM,SAAS,OAAO,aAAa,GAAG,IAAI,YAAY,CAAC,CAAC,OAAO,UAAU,CAAC;CAE1E,OAAO,KADQ,KAAK,MAAM,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,QAAQ,OAAO,GAAG,CAAC,CAAC,QAAQ,OAAO,GACjE;AACnB;;ACCA,MAAM,2BAA2B;AAEjC,MAAM,oBAAoB;CAAC;CAAM;CAAQ;AAAiB;AAG1D,MAAM,cAAc,EAAE,kBAAkB,QAAQ;AAUhD,MAAa,8BAA8B,EACzC,UAAU,0BACV,cAAc,CAAC,MACgB,CAAC,MAAM;CACtC,MAAM,SAASA,iCAAAA,yBAAgC;EAAE;EAAS;CAAY,CAAC;CAEvE,MAAM,YAAY,OAAO,WAAyB;EAChD,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,OACA,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,GACjC;GAAE;GAAQ,GAAG;EAAY,CAC3B;EAEA,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,WAAyB;EACjD,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,aACA,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,GACjC;GAAE;GAAQ,GAAG;EAAY,CAC3B;EAEA,OAAO;CACT;CAEA,MAAM,UAAU,OAAO,SAAiB,QAAgB,WAAyB;EAC/E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,2CACA;GACE,MAAM;IAAE,YAAY;IAAS,gBAAgB;GAAO;GACpD,OAAO,EAAE,SAAS,kBAAkB;EACtC,GACA;GAAE;GAAQ,GAAG;EAAY,CAC3B;EAEA,OAAO;CACT;;;;;CAMA,MAAM,2BAA2B,OAAO,YAAoB,WAAyB;EACnF,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,0CACA;GACE,MAAM,EAAE,sBAAsB,iBAAiB,UAAU,EAAE;GAC3D,OAAO,EAAE,SAAS,kBAAkB;EACtC,GAEA;GAAE;GAAQ,GAAG;GAAa,SAAS,EAAE,QAAQ,+BAA+B;EAAE,CAChF;EAEA,OAAO;CACT;CAEA,OAAO;EACL;EACA;EACA;EACA;CACF;AACF;;;;;;;;;;AC5EA,MAAa,sCAAsC,gBAAsC;CACvF,QAAQ,SAAS,OAAO,YAAY;EAClC,QAAQ,QAAQ,QAAQ,IAAIC,0BAAAA,WAAW,eAAe,UAAU,aAAa;EAC7E,OAAO,KAAK,OAAO;CACrB;AACF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as ClientInitOptions } from "../types-
|
|
3
|
-
import { t as components } from "../schema-
|
|
4
|
-
//#region src/clients/microsoftGraph/microsoftGraphClient.d.ts
|
|
1
|
+
import { li as MiddlewareFn } from "../index-D1mduJne.cjs";
|
|
2
|
+
import { n as ClientInitOptions } from "../types-Dryq2GGE.cjs";
|
|
3
|
+
import { t as components } from "../schema-DLmBEgPM.cjs";
|
|
5
4
|
/**
|
|
6
5
|
* Auth arrives as a middleware, never as a token: a client here holds no credential. Pair it with
|
|
7
6
|
* `createMicrosoftGraphAuthMiddleware`, which the consumer builds from the token its OAuth flow
|
|
@@ -290,8 +289,6 @@ declare const createMicrosoftGraphClient: ({ baseUrl, middlewares }?: MicrosoftG
|
|
|
290
289
|
'@odata.type': string;
|
|
291
290
|
}>;
|
|
292
291
|
};
|
|
293
|
-
//#endregion
|
|
294
|
-
//#region src/clients/microsoftGraph/middleware.d.ts
|
|
295
292
|
/**
|
|
296
293
|
* Stamps a Graph access token as `Authorization: Bearer …`.
|
|
297
294
|
*
|
|
@@ -301,6 +298,5 @@ declare const createMicrosoftGraphClient: ({ baseUrl, middlewares }?: MicrosoftG
|
|
|
301
298
|
* `MiddlewareFn` rather than a credential, without every consumer restating the header.
|
|
302
299
|
*/
|
|
303
300
|
declare const createMicrosoftGraphAuthMiddleware: (accessToken: string) => MiddlewareFn;
|
|
304
|
-
//#endregion
|
|
305
301
|
export { createMicrosoftGraphAuthMiddleware, createMicrosoftGraphClient };
|
|
306
302
|
//# sourceMappingURL=index.d.cts.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as ClientInitOptions } from "../types-
|
|
3
|
-
import { t as components } from "../schema-
|
|
4
|
-
//#region src/clients/microsoftGraph/microsoftGraphClient.d.ts
|
|
1
|
+
import { li as MiddlewareFn } from "../index-D1mduJne.js";
|
|
2
|
+
import { n as ClientInitOptions } from "../types-DUpVIuk7.js";
|
|
3
|
+
import { t as components } from "../schema-DLmBEgPM.js";
|
|
5
4
|
/**
|
|
6
5
|
* Auth arrives as a middleware, never as a token: a client here holds no credential. Pair it with
|
|
7
6
|
* `createMicrosoftGraphAuthMiddleware`, which the consumer builds from the token its OAuth flow
|
|
@@ -290,8 +289,6 @@ declare const createMicrosoftGraphClient: ({ baseUrl, middlewares }?: MicrosoftG
|
|
|
290
289
|
'@odata.type': string;
|
|
291
290
|
}>;
|
|
292
291
|
};
|
|
293
|
-
//#endregion
|
|
294
|
-
//#region src/clients/microsoftGraph/middleware.d.ts
|
|
295
292
|
/**
|
|
296
293
|
* Stamps a Graph access token as `Authorization: Bearer …`.
|
|
297
294
|
*
|
|
@@ -301,6 +298,5 @@ declare const createMicrosoftGraphClient: ({ baseUrl, middlewares }?: MicrosoftG
|
|
|
301
298
|
* `MiddlewareFn` rather than a credential, without every consumer restating the header.
|
|
302
299
|
*/
|
|
303
300
|
declare const createMicrosoftGraphAuthMiddleware: (accessToken: string) => MiddlewareFn;
|
|
304
|
-
//#endregion
|
|
305
301
|
export { createMicrosoftGraphAuthMiddleware, createMicrosoftGraphClient };
|
|
306
302
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { s as HttpHeader } from "../createFetchClient-
|
|
2
|
-
import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-
|
|
3
|
-
|
|
1
|
+
import { s as HttpHeader } from "../createFetchClient-DlGCbltR.js";
|
|
2
|
+
import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-Bhz62MUE.js";
|
|
3
|
+
// src/clients/microsoftGraph/utils.ts
|
|
4
4
|
const encodeSharingUrl = (sharingUrl) => {
|
|
5
5
|
const binary = String.fromCharCode(...new TextEncoder().encode(sharingUrl));
|
|
6
6
|
return `u!${btoa(binary).replace(/=+$/, "").replace(/\//g, "_").replace(/\+/g, "-")}`;
|
|
7
7
|
};
|
|
8
|
-
|
|
9
|
-
//#region src/clients/microsoftGraph/microsoftGraphClient.ts
|
|
8
|
+
// src/clients/microsoftGraph/microsoftGraphClient.ts
|
|
10
9
|
const MICROSOFT_GRAPH_BASE_URL = "https://graph.microsoft.com/v1.0";
|
|
11
10
|
const DRIVE_ITEM_SELECT = [
|
|
12
11
|
"id",
|
|
@@ -68,8 +67,7 @@ const createMicrosoftGraphClient = ({ baseUrl = MICROSOFT_GRAPH_BASE_URL, middle
|
|
|
68
67
|
getDriveItemBySharingUrl
|
|
69
68
|
};
|
|
70
69
|
};
|
|
71
|
-
|
|
72
|
-
//#region src/clients/microsoftGraph/middleware.ts
|
|
70
|
+
// src/clients/microsoftGraph/middleware.ts
|
|
73
71
|
/**
|
|
74
72
|
* Stamps a Graph access token as `Authorization: Bearer …`.
|
|
75
73
|
*
|
|
@@ -84,7 +82,6 @@ const createMicrosoftGraphAuthMiddleware = (accessToken) => {
|
|
|
84
82
|
return next(request);
|
|
85
83
|
};
|
|
86
84
|
};
|
|
87
|
-
//#endregion
|
|
88
85
|
export { createMicrosoftGraphAuthMiddleware, createMicrosoftGraphClient };
|
|
89
86
|
|
|
90
87
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/clients/microsoftGraph/utils.ts","../../src/clients/microsoftGraph/microsoftGraphClient.ts","../../src/clients/microsoftGraph/middleware.ts"],"sourcesContent":["// Encode a sharing URL into a Graph sharing token: base64 of the UTF-8 bytes, converted to\n// unpadded base64url, prefixed with `u!`. TextEncoder keeps non-ASCII file names (e.g. ä, č) valid.\n// https://learn.microsoft.com/en-us/graph/api/shares-get#encoding-sharing-urls\nexport const encodeSharingUrl = (sharingUrl: string) => {\n const binary = String.fromCharCode(...new TextEncoder().encode(sharingUrl));\n const base64 = btoa(binary).replace(/=+$/, '').replace(/\\//g, '_').replace(/\\+/g, '-');\n return `u!${base64}`;\n};\n","import { createOpenapiFetchClient } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { encodeSharingUrl } from './utils';\n\n// Microsoft Graph is not a Keboola service, so unlike a stack client this base URL is not\n// discovered — the version prefix is part of Graph's own API contract. Overridable for tests.\nconst MICROSOFT_GRAPH_BASE_URL = 'https://graph.microsoft.com/v1.0';\n\nconst DRIVE_ITEM_SELECT = ['id', 'name', 'parentReference'];\n\n// OData wants `$select=id,name` — the default array format would send `$select[0]=id`.\nconst ODATA_QUERY = { queryArrayFormat: 'comma' } as const;\n\n/**\n * Auth arrives as a middleware, never as a token: a client here holds no credential. Pair it with\n * `createMicrosoftGraphAuthMiddleware`, which the consumer builds from the token its OAuth flow\n * just minted — Graph tokens are per user interaction and scoped to one account, so a client is\n * built per interaction rather than shared.\n */\ntype MicrosoftGraphClientOptions = Partial<Omit<ClientInitOptions, 'auth'>>;\n\nexport const createMicrosoftGraphClient = ({\n baseUrl = MICROSOFT_GRAPH_BASE_URL,\n middlewares = [],\n}: MicrosoftGraphClientOptions = {}) => {\n const client = createOpenapiFetchClient<paths>({ baseUrl, middlewares });\n\n const getMySite = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/me',\n { query: { $select: ['mySite'] } },\n { signal, ...ODATA_QUERY },\n );\n\n return data;\n };\n\n const getMyDrive = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/me/drive',\n { query: { $select: ['webUrl'] } },\n { signal, ...ODATA_QUERY },\n );\n\n return data;\n };\n\n const getFile = async (driveId: string, fileId: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/drives/{drive-id}/items/{driveItem-id}',\n {\n path: { 'drive-id': driveId, 'driveItem-id': fileId },\n query: { $select: DRIVE_ITEM_SELECT },\n },\n { signal, ...ODATA_QUERY },\n );\n\n return data;\n };\n\n /**\n * Resolves the real DriveItem (id + parentReference.driveId) for a shared item a file picker\n * returned with empty ids (e.g. \"Shared with me\" SharePoint files).\n */\n const getDriveItemBySharingUrl = async (sharingUrl: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/shares/{sharedDriveItem-id}/driveItem',\n {\n path: { 'sharedDriveItem-id': encodeSharingUrl(sharingUrl) },\n query: { $select: DRIVE_ITEM_SELECT },\n },\n // Graph only redeems a sharing link into a DriveItem when asked to.\n { signal, ...ODATA_QUERY, headers: { Prefer: 'redeemSharingLinkIfNecessary' } },\n );\n\n return data;\n };\n\n return {\n getMySite,\n getMyDrive,\n getFile,\n getDriveItemBySharingUrl,\n };\n};\n","import { HttpHeader, type MiddlewareFn } from '../../fetchClient';\n\n/**\n * Stamps a Graph access token as `Authorization: Bearer …`.\n *\n * There is deliberately no refresh-and-replay here, and no `sdks/microsoftGraph/` to own one: the\n * consumer's OAuth library (MSAL in the browser) mints and refreshes these tokens per user\n * interaction, so this package holds no token state to manage. It exists so the client can take a\n * `MiddlewareFn` rather than a credential, without every consumer restating the header.\n */\nexport const createMicrosoftGraphAuthMiddleware = (accessToken: string): MiddlewareFn => {\n return (next) => async (request) => {\n request.request.headers.set(HttpHeader.AUTHORIZATION, `Bearer ${accessToken}`);\n return next(request);\n };\n};\n"],"mappings":";;;AAGA,MAAa,oBAAoB,eAAuB;CACtD,MAAM,SAAS,OAAO,aAAa,GAAG,IAAI,YAAY,CAAC,CAAC,OAAO,UAAU,CAAC;CAE1E,OAAO,KADQ,KAAK,MAAM,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,QAAQ,OAAO,GAAG,CAAC,CAAC,QAAQ,OAAO,GACjE;AACnB
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/clients/microsoftGraph/utils.ts","../../src/clients/microsoftGraph/microsoftGraphClient.ts","../../src/clients/microsoftGraph/middleware.ts"],"sourcesContent":["// Encode a sharing URL into a Graph sharing token: base64 of the UTF-8 bytes, converted to\n// unpadded base64url, prefixed with `u!`. TextEncoder keeps non-ASCII file names (e.g. ä, č) valid.\n// https://learn.microsoft.com/en-us/graph/api/shares-get#encoding-sharing-urls\nexport const encodeSharingUrl = (sharingUrl: string) => {\n const binary = String.fromCharCode(...new TextEncoder().encode(sharingUrl));\n const base64 = btoa(binary).replace(/=+$/, '').replace(/\\//g, '_').replace(/\\+/g, '-');\n return `u!${base64}`;\n};\n","import { createOpenapiFetchClient } from '../../fetchClient';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { encodeSharingUrl } from './utils';\n\n// Microsoft Graph is not a Keboola service, so unlike a stack client this base URL is not\n// discovered — the version prefix is part of Graph's own API contract. Overridable for tests.\nconst MICROSOFT_GRAPH_BASE_URL = 'https://graph.microsoft.com/v1.0';\n\nconst DRIVE_ITEM_SELECT = ['id', 'name', 'parentReference'];\n\n// OData wants `$select=id,name` — the default array format would send `$select[0]=id`.\nconst ODATA_QUERY = { queryArrayFormat: 'comma' } as const;\n\n/**\n * Auth arrives as a middleware, never as a token: a client here holds no credential. Pair it with\n * `createMicrosoftGraphAuthMiddleware`, which the consumer builds from the token its OAuth flow\n * just minted — Graph tokens are per user interaction and scoped to one account, so a client is\n * built per interaction rather than shared.\n */\ntype MicrosoftGraphClientOptions = Partial<Omit<ClientInitOptions, 'auth'>>;\n\nexport const createMicrosoftGraphClient = ({\n baseUrl = MICROSOFT_GRAPH_BASE_URL,\n middlewares = [],\n}: MicrosoftGraphClientOptions = {}) => {\n const client = createOpenapiFetchClient<paths>({ baseUrl, middlewares });\n\n const getMySite = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/me',\n { query: { $select: ['mySite'] } },\n { signal, ...ODATA_QUERY },\n );\n\n return data;\n };\n\n const getMyDrive = async (signal?: AbortSignal) => {\n const { data } = await client.get(\n '/me/drive',\n { query: { $select: ['webUrl'] } },\n { signal, ...ODATA_QUERY },\n );\n\n return data;\n };\n\n const getFile = async (driveId: string, fileId: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/drives/{drive-id}/items/{driveItem-id}',\n {\n path: { 'drive-id': driveId, 'driveItem-id': fileId },\n query: { $select: DRIVE_ITEM_SELECT },\n },\n { signal, ...ODATA_QUERY },\n );\n\n return data;\n };\n\n /**\n * Resolves the real DriveItem (id + parentReference.driveId) for a shared item a file picker\n * returned with empty ids (e.g. \"Shared with me\" SharePoint files).\n */\n const getDriveItemBySharingUrl = async (sharingUrl: string, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/shares/{sharedDriveItem-id}/driveItem',\n {\n path: { 'sharedDriveItem-id': encodeSharingUrl(sharingUrl) },\n query: { $select: DRIVE_ITEM_SELECT },\n },\n // Graph only redeems a sharing link into a DriveItem when asked to.\n { signal, ...ODATA_QUERY, headers: { Prefer: 'redeemSharingLinkIfNecessary' } },\n );\n\n return data;\n };\n\n return {\n getMySite,\n getMyDrive,\n getFile,\n getDriveItemBySharingUrl,\n };\n};\n","import { HttpHeader, type MiddlewareFn } from '../../fetchClient';\n\n/**\n * Stamps a Graph access token as `Authorization: Bearer …`.\n *\n * There is deliberately no refresh-and-replay here, and no `sdks/microsoftGraph/` to own one: the\n * consumer's OAuth library (MSAL in the browser) mints and refreshes these tokens per user\n * interaction, so this package holds no token state to manage. It exists so the client can take a\n * `MiddlewareFn` rather than a credential, without every consumer restating the header.\n */\nexport const createMicrosoftGraphAuthMiddleware = (accessToken: string): MiddlewareFn => {\n return (next) => async (request) => {\n request.request.headers.set(HttpHeader.AUTHORIZATION, `Bearer ${accessToken}`);\n return next(request);\n };\n};\n"],"mappings":";;;AAGA,MAAa,oBAAoB,eAAuB;CACtD,MAAM,SAAS,OAAO,aAAa,GAAG,IAAI,YAAY,CAAC,CAAC,OAAO,UAAU,CAAC;CAE1E,OAAO,KADQ,KAAK,MAAM,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,QAAQ,OAAO,GAAG,CAAC,CAAC,QAAQ,OAAO,GACjE;AACnB;;ACCA,MAAM,2BAA2B;AAEjC,MAAM,oBAAoB;CAAC;CAAM;CAAQ;AAAiB;AAG1D,MAAM,cAAc,EAAE,kBAAkB,QAAQ;AAUhD,MAAa,8BAA8B,EACzC,UAAU,0BACV,cAAc,CAAC,MACgB,CAAC,MAAM;CACtC,MAAM,SAAS,yBAAgC;EAAE;EAAS;CAAY,CAAC;CAEvE,MAAM,YAAY,OAAO,WAAyB;EAChD,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,OACA,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,GACjC;GAAE;GAAQ,GAAG;EAAY,CAC3B;EAEA,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,WAAyB;EACjD,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,aACA,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,GACjC;GAAE;GAAQ,GAAG;EAAY,CAC3B;EAEA,OAAO;CACT;CAEA,MAAM,UAAU,OAAO,SAAiB,QAAgB,WAAyB;EAC/E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,2CACA;GACE,MAAM;IAAE,YAAY;IAAS,gBAAgB;GAAO;GACpD,OAAO,EAAE,SAAS,kBAAkB;EACtC,GACA;GAAE;GAAQ,GAAG;EAAY,CAC3B;EAEA,OAAO;CACT;;;;;CAMA,MAAM,2BAA2B,OAAO,YAAoB,WAAyB;EACnF,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,0CACA;GACE,MAAM,EAAE,sBAAsB,iBAAiB,UAAU,EAAE;GAC3D,OAAO,EAAE,SAAS,kBAAkB;EACtC,GAEA;GAAE;GAAQ,GAAG;GAAa,SAAS,EAAE,QAAQ,+BAA+B;EAAE,CAChF;EAEA,OAAO;CACT;CAEA,OAAO;EACL;EACA;EACA;EACA;CACF;AACF;;;;;;;;;;AC5EA,MAAa,sCAAsC,gBAAsC;CACvF,QAAQ,SAAS,OAAO,YAAY;EAClC,QAAQ,QAAQ,QAAQ,IAAI,WAAW,eAAe,UAAU,aAAa;EAC7E,OAAO,KAAK,OAAO;CACrB;AACF"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { l as OpenapiReturnType } from "../index-
|
|
2
|
-
import { n as paths } from "../schema-
|
|
3
|
-
//#region src/clients/microsoftGraph/types.d.ts
|
|
1
|
+
import { l as OpenapiReturnType } from "../index-D1mduJne.cjs";
|
|
2
|
+
import { n as paths } from "../schema-DLmBEgPM.cjs";
|
|
4
3
|
type User = OpenapiReturnType<paths['/me']['get']>;
|
|
5
4
|
type Drive = OpenapiReturnType<paths['/me/drive']['get']>;
|
|
6
5
|
type DriveItem = OpenapiReturnType<paths['/drives/{drive-id}/items/{driveItem-id}']['get']>;
|
|
7
6
|
type SharedDriveItem = OpenapiReturnType<paths['/shares/{sharedDriveItem-id}/driveItem']['get']>;
|
|
8
|
-
//#endregion
|
|
9
7
|
export { Drive, DriveItem, SharedDriveItem, User };
|
|
10
8
|
//# sourceMappingURL=types.d.cts.map
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { l as OpenapiReturnType } from "../index-
|
|
2
|
-
import { n as paths } from "../schema-
|
|
3
|
-
//#region src/clients/microsoftGraph/types.d.ts
|
|
1
|
+
import { l as OpenapiReturnType } from "../index-D1mduJne.js";
|
|
2
|
+
import { n as paths } from "../schema-DLmBEgPM.js";
|
|
4
3
|
type User = OpenapiReturnType<paths['/me']['get']>;
|
|
5
4
|
type Drive = OpenapiReturnType<paths['/me/drive']['get']>;
|
|
6
5
|
type DriveItem = OpenapiReturnType<paths['/drives/{drive-id}/items/{driveItem-id}']['get']>;
|
|
7
6
|
type SharedDriveItem = OpenapiReturnType<paths['/shares/{sharedDriveItem-id}/driveItem']['get']>;
|
|
8
|
-
//#endregion
|
|
9
7
|
export { Drive, DriveItem, SharedDriveItem, User };
|
|
10
8
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { g as HttpStatus, p as ApiError, s as HttpHeader } from "./createFetchClient-
|
|
2
|
-
|
|
1
|
+
import { g as HttpStatus, p as ApiError, s as HttpHeader } from "./createFetchClient-DlGCbltR.js";
|
|
2
|
+
// src/keboola/bearer/credentials/middleware.ts
|
|
3
3
|
const isUnauthorized = (error) => error instanceof ApiError && error.response.status === HttpStatus.UNAUTHORIZED;
|
|
4
4
|
/**
|
|
5
5
|
* Bearer auth: stamps the access token; on a 401, force-refreshes and replays once.
|
|
6
6
|
*
|
|
7
7
|
* - A replay that still 401s passes on, not as expiry: an unreachable project gets the same 401.
|
|
8
8
|
* - Anonymous (`null` token): passes through untouched, so `login` / `refresh` work.
|
|
9
|
-
* - A `forceRefresh` answering `null` stops the replay.
|
|
10
9
|
*/
|
|
11
10
|
const createBearerAuthMiddleware = (source) => {
|
|
12
11
|
return (next) => async (request) => {
|
|
@@ -28,7 +27,6 @@ const createBearerAuthMiddleware = (source) => {
|
|
|
28
27
|
}
|
|
29
28
|
};
|
|
30
29
|
};
|
|
31
|
-
//#endregion
|
|
32
30
|
export { isUnauthorized as n, createBearerAuthMiddleware as t };
|
|
33
31
|
|
|
34
|
-
//# sourceMappingURL=middleware-
|
|
32
|
+
//# sourceMappingURL=middleware-8zaJWcyU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware-8zaJWcyU.js","names":[],"sources":["../src/keboola/bearer/credentials/middleware.ts"],"sourcesContent":["import { ApiError } from '../../../errors';\nimport { HttpHeader, type MiddlewareFn } from '../../../fetchClient';\nimport { HttpStatus } from '../../../internal';\n\nexport const isUnauthorized = (error: unknown): boolean =>\n error instanceof ApiError && error.response.status === HttpStatus.UNAUTHORIZED;\n\nexport type AccessTokenSource = {\n /** `null` while anonymous — nothing to stamp. */\n getAccessToken: (options?: { forceRefresh?: boolean }) => Promise<string | null>;\n};\n\n/**\n * Bearer auth: stamps the access token; on a 401, force-refreshes and replays once.\n *\n * - A replay that still 401s passes on, not as expiry: an unreachable project gets the same 401.\n * - Anonymous (`null` token): passes through untouched, so `login` / `refresh` work.\n */\nexport const createBearerAuthMiddleware = (source: AccessTokenSource): MiddlewareFn => {\n return (next) => async (request) => {\n const token = await source.getAccessToken({ forceRefresh: false });\n if (token === null) return next(request);\n\n // Cloned for the replay: the first attempt may consume the body.\n const retryRequest = request.request.clone();\n request.request.headers.set(HttpHeader.AUTHORIZATION, `Bearer ${token}`);\n\n try {\n return await next(request);\n } catch (error) {\n if (!isUnauthorized(error)) throw error;\n\n const refreshed = await source.getAccessToken({ forceRefresh: true });\n // Went anonymous mid-flight — surface the original 401.\n if (refreshed === null) throw error;\n retryRequest.headers.set(HttpHeader.AUTHORIZATION, `Bearer ${refreshed}`);\n\n return await next({ ...request, request: retryRequest });\n }\n };\n};\n"],"mappings":";;AAIA,MAAa,kBAAkB,UAC7B,iBAAiB,YAAY,MAAM,SAAS,WAAW,WAAW;;;;;;;AAapE,MAAa,8BAA8B,WAA4C;CACrF,QAAQ,SAAS,OAAO,YAAY;EAClC,MAAM,QAAQ,MAAM,OAAO,eAAe,EAAE,cAAc,MAAM,CAAC;EACjE,IAAI,UAAU,MAAM,OAAO,KAAK,OAAO;EAGvC,MAAM,eAAe,QAAQ,QAAQ,MAAM;EAC3C,QAAQ,QAAQ,QAAQ,IAAI,WAAW,eAAe,UAAU,OAAO;EAEvE,IAAI;GACF,OAAO,MAAM,KAAK,OAAO;EAC3B,SAAS,OAAO;GACd,IAAI,CAAC,eAAe,KAAK,GAAG,MAAM;GAElC,MAAM,YAAY,MAAM,OAAO,eAAe,EAAE,cAAc,KAAK,CAAC;GAEpE,IAAI,cAAc,MAAM,MAAM;GAC9B,aAAa,QAAQ,IAAI,WAAW,eAAe,UAAU,WAAW;GAExE,OAAO,MAAM,KAAK;IAAE,GAAG;IAAS,SAAS;GAAa,CAAC;EACzD;CACF;AACF"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
const require_createFetchClient = require("./createFetchClient-
|
|
2
|
-
|
|
1
|
+
const require_createFetchClient = require("./createFetchClient-DEkUH662.cjs");
|
|
2
|
+
// src/keboola/bearer/credentials/middleware.ts
|
|
3
3
|
const isUnauthorized = (error) => error instanceof require_createFetchClient.ApiError && error.response.status === require_createFetchClient.HttpStatus.UNAUTHORIZED;
|
|
4
4
|
/**
|
|
5
5
|
* Bearer auth: stamps the access token; on a 401, force-refreshes and replays once.
|
|
6
6
|
*
|
|
7
7
|
* - A replay that still 401s passes on, not as expiry: an unreachable project gets the same 401.
|
|
8
8
|
* - Anonymous (`null` token): passes through untouched, so `login` / `refresh` work.
|
|
9
|
-
* - A `forceRefresh` answering `null` stops the replay.
|
|
10
9
|
*/
|
|
11
10
|
const createBearerAuthMiddleware = (source) => {
|
|
12
11
|
return (next) => async (request) => {
|
|
@@ -28,7 +27,6 @@ const createBearerAuthMiddleware = (source) => {
|
|
|
28
27
|
}
|
|
29
28
|
};
|
|
30
29
|
};
|
|
31
|
-
//#endregion
|
|
32
30
|
Object.defineProperty(exports, "createBearerAuthMiddleware", {
|
|
33
31
|
enumerable: true,
|
|
34
32
|
get: function() {
|
|
@@ -42,4 +40,4 @@ Object.defineProperty(exports, "isUnauthorized", {
|
|
|
42
40
|
}
|
|
43
41
|
});
|
|
44
42
|
|
|
45
|
-
//# sourceMappingURL=middleware-
|
|
43
|
+
//# sourceMappingURL=middleware-B9RNuLfD.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware-B9RNuLfD.cjs","names":["ApiError","HttpStatus","HttpHeader"],"sources":["../src/keboola/bearer/credentials/middleware.ts"],"sourcesContent":["import { ApiError } from '../../../errors';\nimport { HttpHeader, type MiddlewareFn } from '../../../fetchClient';\nimport { HttpStatus } from '../../../internal';\n\nexport const isUnauthorized = (error: unknown): boolean =>\n error instanceof ApiError && error.response.status === HttpStatus.UNAUTHORIZED;\n\nexport type AccessTokenSource = {\n /** `null` while anonymous — nothing to stamp. */\n getAccessToken: (options?: { forceRefresh?: boolean }) => Promise<string | null>;\n};\n\n/**\n * Bearer auth: stamps the access token; on a 401, force-refreshes and replays once.\n *\n * - A replay that still 401s passes on, not as expiry: an unreachable project gets the same 401.\n * - Anonymous (`null` token): passes through untouched, so `login` / `refresh` work.\n */\nexport const createBearerAuthMiddleware = (source: AccessTokenSource): MiddlewareFn => {\n return (next) => async (request) => {\n const token = await source.getAccessToken({ forceRefresh: false });\n if (token === null) return next(request);\n\n // Cloned for the replay: the first attempt may consume the body.\n const retryRequest = request.request.clone();\n request.request.headers.set(HttpHeader.AUTHORIZATION, `Bearer ${token}`);\n\n try {\n return await next(request);\n } catch (error) {\n if (!isUnauthorized(error)) throw error;\n\n const refreshed = await source.getAccessToken({ forceRefresh: true });\n // Went anonymous mid-flight — surface the original 401.\n if (refreshed === null) throw error;\n retryRequest.headers.set(HttpHeader.AUTHORIZATION, `Bearer ${refreshed}`);\n\n return await next({ ...request, request: retryRequest });\n }\n };\n};\n"],"mappings":";;AAIA,MAAa,kBAAkB,UAC7B,iBAAiBA,0BAAAA,YAAY,MAAM,SAAS,WAAWC,0BAAAA,WAAW;;;;;;;AAapE,MAAa,8BAA8B,WAA4C;CACrF,QAAQ,SAAS,OAAO,YAAY;EAClC,MAAM,QAAQ,MAAM,OAAO,eAAe,EAAE,cAAc,MAAM,CAAC;EACjE,IAAI,UAAU,MAAM,OAAO,KAAK,OAAO;EAGvC,MAAM,eAAe,QAAQ,QAAQ,MAAM;EAC3C,QAAQ,QAAQ,QAAQ,IAAIC,0BAAAA,WAAW,eAAe,UAAU,OAAO;EAEvE,IAAI;GACF,OAAO,MAAM,KAAK,OAAO;EAC3B,SAAS,OAAO;GACd,IAAI,CAAC,eAAe,KAAK,GAAG,MAAM;GAElC,MAAM,YAAY,MAAM,OAAO,eAAe,EAAE,cAAc,KAAK,CAAC;GAEpE,IAAI,cAAc,MAAM,MAAM;GAC9B,aAAa,QAAQ,IAAIA,0BAAAA,WAAW,eAAe,UAAU,WAAW;GAExE,OAAO,MAAM,KAAK;IAAE,GAAG;IAAS,SAAS;GAAa,CAAC;EACzD;CACF;AACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const require_auth = require("../auth-
|
|
6
|
-
|
|
2
|
+
const require_createGenericFetchClient = require("../createGenericFetchClient-2oU-PXVo.cjs");
|
|
3
|
+
const require_createOpenapiFetchClient = require("../createOpenapiFetchClient-DL9w7vU-.cjs");
|
|
4
|
+
const require_concurrent = require("../concurrent-DnTV_ppY.cjs");
|
|
5
|
+
const require_auth = require("../auth-CvB4MukT.cjs");
|
|
6
|
+
// src/clients/notifications/notificationsClient.ts
|
|
7
7
|
const createNotificationsClient = ({ baseUrl, middlewares, auth }) => {
|
|
8
8
|
const client = require_createOpenapiFetchClient.createOpenapiFetchClient({
|
|
9
9
|
baseUrl,
|
|
@@ -63,7 +63,6 @@ const createNotificationsClient = ({ baseUrl, middlewares, auth }) => {
|
|
|
63
63
|
deleteSubscriptions
|
|
64
64
|
};
|
|
65
65
|
};
|
|
66
|
-
//#endregion
|
|
67
66
|
exports.createNotificationsClient = createNotificationsClient;
|
|
68
67
|
|
|
69
68
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { n as ClientInitOptions } from "../types-
|
|
2
|
-
import { a as SubscriptionId, n as ListSubscriptionsQuery, s as components, t as CreateSubscriptionBody } from "../types-
|
|
3
|
-
//#region src/clients/notifications/notificationsClient.d.ts
|
|
1
|
+
import { n as ClientInitOptions } from "../types-Dryq2GGE.cjs";
|
|
2
|
+
import { a as SubscriptionId, n as ListSubscriptionsQuery, s as components, t as CreateSubscriptionBody } from "../types-D-tJt0hQ.cjs";
|
|
4
3
|
declare const createNotificationsClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
|
|
5
4
|
healthCheck: (signal?: AbortSignal) => Promise<unknown>;
|
|
6
5
|
getSubscriptions: (query?: ListSubscriptionsQuery, signal?: AbortSignal) => Promise<({
|
|
@@ -54,6 +53,5 @@ declare const createNotificationsClient: ({ baseUrl, middlewares, auth }: Client
|
|
|
54
53
|
deleteSubscription: (subscriptionId: SubscriptionId, signal?: AbortSignal) => Promise<void>;
|
|
55
54
|
deleteSubscriptions: (subscriptionIds: SubscriptionId[], signal?: AbortSignal) => Promise<void>;
|
|
56
55
|
};
|
|
57
|
-
//#endregion
|
|
58
56
|
export { createNotificationsClient };
|
|
59
57
|
//# sourceMappingURL=index.d.cts.map
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { n as ClientInitOptions } from "../types-
|
|
2
|
-
import { a as SubscriptionId, n as ListSubscriptionsQuery, s as components, t as CreateSubscriptionBody } from "../types-
|
|
3
|
-
//#region src/clients/notifications/notificationsClient.d.ts
|
|
1
|
+
import { n as ClientInitOptions } from "../types-DUpVIuk7.js";
|
|
2
|
+
import { a as SubscriptionId, n as ListSubscriptionsQuery, s as components, t as CreateSubscriptionBody } from "../types-CWcdaq-K.js";
|
|
4
3
|
declare const createNotificationsClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
|
|
5
4
|
healthCheck: (signal?: AbortSignal) => Promise<unknown>;
|
|
6
5
|
getSubscriptions: (query?: ListSubscriptionsQuery, signal?: AbortSignal) => Promise<({
|
|
@@ -54,6 +53,5 @@ declare const createNotificationsClient: ({ baseUrl, middlewares, auth }: Client
|
|
|
54
53
|
deleteSubscription: (subscriptionId: SubscriptionId, signal?: AbortSignal) => Promise<void>;
|
|
55
54
|
deleteSubscriptions: (subscriptionIds: SubscriptionId[], signal?: AbortSignal) => Promise<void>;
|
|
56
55
|
};
|
|
57
|
-
//#endregion
|
|
58
56
|
export { createNotificationsClient };
|
|
59
57
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as createAuthHeaders } from "../auth-
|
|
5
|
-
|
|
1
|
+
import { t as createGenericFetchClient } from "../createGenericFetchClient-wGxemBwR.js";
|
|
2
|
+
import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-Bhz62MUE.js";
|
|
3
|
+
import { t as concurrent } from "../concurrent-BtsT10Xe.js";
|
|
4
|
+
import { t as createAuthHeaders } from "../auth-DYfQMQCs.js";
|
|
5
|
+
// src/clients/notifications/notificationsClient.ts
|
|
6
6
|
const createNotificationsClient = ({ baseUrl, middlewares, auth }) => {
|
|
7
7
|
const client = createOpenapiFetchClient({
|
|
8
8
|
baseUrl,
|
|
@@ -62,7 +62,6 @@ const createNotificationsClient = ({ baseUrl, middlewares, auth }) => {
|
|
|
62
62
|
deleteSubscriptions
|
|
63
63
|
};
|
|
64
64
|
};
|
|
65
|
-
//#endregion
|
|
66
65
|
export { createNotificationsClient };
|
|
67
66
|
|
|
68
67
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as SubscriptionId, i as SubscriptionFilter, n as ListSubscriptionsQuery, o as SubscriptionRecipient, r as ProjectSubscription, t as CreateSubscriptionBody } from "../types-
|
|
1
|
+
import { a as SubscriptionId, i as SubscriptionFilter, n as ListSubscriptionsQuery, o as SubscriptionRecipient, r as ProjectSubscription, t as CreateSubscriptionBody } from "../types-D-tJt0hQ.cjs";
|
|
2
2
|
export { CreateSubscriptionBody, ListSubscriptionsQuery, ProjectSubscription, SubscriptionFilter, SubscriptionId, SubscriptionRecipient };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as SubscriptionId, i as SubscriptionFilter, n as ListSubscriptionsQuery, o as SubscriptionRecipient, r as ProjectSubscription, t as CreateSubscriptionBody } from "../types-
|
|
1
|
+
import { a as SubscriptionId, i as SubscriptionFilter, n as ListSubscriptionsQuery, o as SubscriptionRecipient, r as ProjectSubscription, t as CreateSubscriptionBody } from "../types-CWcdaq-K.js";
|
|
2
2
|
export { CreateSubscriptionBody, ListSubscriptionsQuery, ProjectSubscription, SubscriptionFilter, SubscriptionId, SubscriptionRecipient };
|
package/dist/oauth/index.cjs
CHANGED
package/dist/oauth/index.d.cts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { n as ClientInitOptions } from "../types-
|
|
2
|
-
import { a as CredentialInput, c as GetCredentialsInput, r as CreateCredentialInput } from "../types-
|
|
3
|
-
//#region src/clients/oauth/oauthClient.d.ts
|
|
1
|
+
import { n as ClientInitOptions } from "../types-Dryq2GGE.cjs";
|
|
2
|
+
import { a as CredentialInput, c as GetCredentialsInput, r as CreateCredentialInput } from "../types-YpOm4yXE.cjs";
|
|
4
3
|
declare const createOauthClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
|
|
5
4
|
healthCheck: (signal?: AbortSignal) => Promise<unknown>;
|
|
6
5
|
getCredentials: (scope: GetCredentialsInput, signal?: AbortSignal) => Promise<{
|
|
@@ -51,6 +50,5 @@ declare const createOauthClient: ({ baseUrl, middlewares, auth }: ClientInitOpti
|
|
|
51
50
|
host: string;
|
|
52
51
|
}[]>;
|
|
53
52
|
};
|
|
54
|
-
//#endregion
|
|
55
53
|
export { createOauthClient };
|
|
56
54
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/oauth/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { n as ClientInitOptions } from "../types-
|
|
2
|
-
import { a as CredentialInput, c as GetCredentialsInput, r as CreateCredentialInput } from "../types-
|
|
3
|
-
//#region src/clients/oauth/oauthClient.d.ts
|
|
1
|
+
import { n as ClientInitOptions } from "../types-DUpVIuk7.js";
|
|
2
|
+
import { a as CredentialInput, c as GetCredentialsInput, r as CreateCredentialInput } from "../types-D6lre27s.js";
|
|
4
3
|
declare const createOauthClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
|
|
5
4
|
healthCheck: (signal?: AbortSignal) => Promise<unknown>;
|
|
6
5
|
getCredentials: (scope: GetCredentialsInput, signal?: AbortSignal) => Promise<{
|
|
@@ -51,6 +50,5 @@ declare const createOauthClient: ({ baseUrl, middlewares, auth }: ClientInitOpti
|
|
|
51
50
|
host: string;
|
|
52
51
|
}[]>;
|
|
53
52
|
};
|
|
54
|
-
//#endregion
|
|
55
53
|
export { createOauthClient };
|
|
56
54
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/oauth/index.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { createOauthClient };
|
|
1
|
+
export { t as createOauthClient } from "../oauth-ByCdISsV.js";
|