@keboola/api-client 49.0.0 → 51.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 +13 -31
- package/CHANGELOG.md +54 -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-BX1gk3At.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-BbxFgfX-.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-DI2Y4imY.d.ts → appLogs-CTvZAihm.d.ts} +2 -4
- package/dist/{appLogs-IhRA3xyv.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 +28 -5
- package/dist/apps/index.cjs.map +1 -1
- package/dist/apps/index.d.cts +22 -5
- package/dist/apps/index.d.ts +22 -5
- package/dist/apps/index.js +28 -5
- 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-6Aau_4Zt.d.ts → authClient-Df3U4q_6.d.cts} +4 -16
- package/dist/{authClient-B3P6WtWW.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 -4
- package/dist/billing/index.d.cts +1 -3
- package/dist/billing/index.d.ts +1 -3
- package/dist/billing/index.js +3 -4
- package/dist/billing/types.d.cts +1 -5
- package/dist/billing/types.d.ts +1 -5
- 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 +3 -3
- package/dist/constants/index.d.cts +4 -4
- package/dist/constants/index.d.ts +4 -4
- package/dist/constants/index.js +3 -3
- package/dist/{constants-VpSwBtCb.js → constants-BMSHGwOR.js} +46 -52
- package/dist/constants-BMSHGwOR.js.map +1 -0
- package/dist/{constants-DErcRkWl.cjs → constants-DhFQWQgy.cjs} +45 -51
- 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 +18 -17
- package/dist/domain/permissions/index.d.cts +1 -11
- package/dist/domain/permissions/index.d.ts +1 -11
- package/dist/domain/permissions/index.js +3 -2
- 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-BT88-GpA.d.ts → index-AA3MRfRn.d.cts} +4 -16
- package/dist/{index-C6oPUTWZ.d.ts → index-BDPxm9qu.d.ts} +3 -7
- package/dist/index-BUZ-vTRt.d.ts +150 -0
- package/dist/{index-XcnkRVb0.d.ts → index-BZDxWvZW.d.ts} +5 -7
- package/dist/index-BfAcp7O2.d.ts +10 -0
- package/dist/index-BsT_cBJd.d.ts +15117 -0
- package/dist/index-C1ndNdrN.d.cts +10 -0
- package/dist/{index-BiZR9BjN.d.ts → index-CbSh3KFw.d.cts} +4 -12
- package/dist/{index-BM_fXKq5.d.cts → index-ClIV2Lch.d.cts} +5 -7
- package/dist/{index-DReKz9Zt.d.ts → index-CuI8OI9E.d.ts} +4 -13
- package/dist/{index-BPMr8PQJ.d.ts → index-D1mduJne.d.cts} +2 -52
- package/dist/{index-CL4iKFic.d.cts → index-D1mduJne.d.ts} +1 -51
- package/dist/{index-DorowSay.d.ts → index-DIPMzH--.d.ts} +5 -9
- package/dist/{index-CbZQCDkD.d.cts → index-DQagqTVa.d.cts} +3 -7
- package/dist/{index-dgu6udMy.d.ts → index-DVBQgFg0.d.ts} +4 -6
- package/dist/{index-CrrHvDiX.d.cts → index-Day1Yr5s.d.ts} +8 -7
- package/dist/{index-Dkb8CynB.d.cts → index-Db266tLz.d.cts} +5 -9
- package/dist/{index-BVjhAkXW.d.cts → index-DgGpQsAT.d.cts} +4 -6
- package/dist/{index-PqJGDHHl.d.cts → index-DjSthn8d.d.ts} +4 -16
- package/dist/{index-DhZTIejy.d.ts → index-lTrNMlj6.d.ts} +3 -5
- package/dist/{index-DYNVbgm8.d.cts → index-m9-mN8Gg.d.ts} +4 -12
- package/dist/index-qJ2IjXIM.d.cts +15117 -0
- package/dist/{index-CtQl-Iqw.d.cts → index-xX8-Stoq.d.cts} +4 -13
- package/dist/{index-D6JMbJ9b.d.ts → index-xhzuWloV.d.cts} +8 -7
- package/dist/{index-DGKCTQkb.d.cts → index-z-2okomN.d.cts} +3 -5
- package/dist/index.cjs +433 -1055
- 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 +429 -1052
- 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-N2qbUFZm.cjs → kaiAgent-CDhg0MAw.cjs} +16 -7
- package/dist/kaiAgent-CDhg0MAw.cjs.map +1 -0
- package/dist/{kaiAgent-CYvrS8oZ.js → kaiAgent-CYU1Uda8.js} +16 -7
- package/dist/kaiAgent-CYU1Uda8.js.map +1 -0
- 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 +1 -2
- package/dist/management/types.d.cts +2 -2
- package/dist/management/types.d.ts +2 -2
- package/dist/management/types.js +1 -2
- package/dist/{management-B1o6RpKF.cjs → management-BEGOEQxM.cjs} +26 -45
- package/dist/management-BEGOEQxM.cjs.map +1 -0
- package/dist/{management-C9w3DNhs.js → management-BcGHyxAP.js} +26 -45
- 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-ClH22nzH.js → project-DmuC0bMK.js} +6 -9
- package/dist/{project-ClH22nzH.js.map → project-DmuC0bMK.js.map} +1 -1
- package/dist/{project-Rh4nXiWh.cjs → project-Onf-IcPW.cjs} +9 -12
- package/dist/{project-Rh4nXiWh.cjs.map → project-Onf-IcPW.cjs.map} +1 -1
- package/dist/{project-DTfBtIJs.d.ts → project-UHZGFmmG.d.cts} +5 -9
- package/dist/{project-vOnvjo80.d.cts → project-iBm4cIIR.d.ts} +5 -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 +9 -9
- package/dist/storage/index.d.cts +3 -2
- package/dist/storage/index.d.ts +3 -2
- package/dist/storage/index.js +9 -9
- package/dist/storage/types.d.cts +6 -6
- package/dist/storage/types.d.ts +6 -6
- package/dist/{storage-CChfKlrb.js → storage-BpOLWT6h.js} +54 -89
- package/dist/{storage-CChfKlrb.js.map → storage-BpOLWT6h.js.map} +1 -1
- package/dist/{storage-Ci9gXgcw.cjs → storage-KJ5Ki_ma.cjs} +53 -88
- package/dist/{storage-Ci9gXgcw.cjs.map → storage-KJ5Ki_ma.cjs.map} +1 -1
- 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-DODAZKEm.d.ts → types--Rp5wvaz.d.ts} +2 -6
- package/dist/{types-JZ0Bdlpk.d.cts → types-1IBnjBVJ.d.cts} +2 -6
- package/dist/{types-BZ--6pIt.d.ts → types-37vwxse4.d.cts} +2 -6
- package/dist/{types-RogkWzOu.d.ts → types-6T04_qUf.d.ts} +2 -6
- package/dist/{types-TmrPVMhy.d.cts → types-B0e-no6u.d.ts} +18 -38
- package/dist/{types-ptynVnkv.d.cts → types-B1qe1etN.d.cts} +3 -7
- package/dist/{types-BXybSjn-.d.ts → types-B3ri-iiC.d.ts} +2 -26
- package/dist/{types-Duurgaqk.d.cts → types-B8k1DqlU.d.ts} +129 -10
- package/dist/{types-BOT6TgOS.d.ts → types-BE8abIig.d.cts} +2 -6
- package/dist/{types-BrpIEj_N.d.ts → types-BWMOK6eL.d.cts} +2 -6
- package/dist/{types-D53zBV25.d.ts → types-Bat0SIZA.d.cts} +16 -97
- package/dist/{types-Dy6EdWPG.d.ts → types-Bdl7EFMc.d.ts} +2 -6
- package/dist/{types-_zKX6JmD.d.ts → types-BiDdBXSm.d.ts} +2 -8
- package/dist/{types-dn6MHur3.d.cts → types-BrEVh0WE.d.cts} +253 -10
- package/dist/{types-BnmsuDfH.d.cts → types-BuclMPeY.d.cts} +2 -26
- package/dist/{types-302-NBaU.d.ts → types-C9okze_R.d.ts} +3 -7
- package/dist/{types-BT5e9TSQ.d.ts → types-CPWjRdnj.d.cts} +18 -38
- package/dist/{types-C614wC5h.d.cts → types-CRubbBcU.d.cts} +2 -6
- package/dist/{types-DlhNay1n.d.ts → types-CWcdaq-K.d.ts} +2 -6
- package/dist/{types-D9ZKJYZk.d.ts → types-CcGp6O3B.d.cts} +3 -7
- package/dist/{types-45O2dU2w.d.ts → types-Cr5lyI99.d.ts} +2 -6
- package/dist/{types-CY8X39qv.d.cts → types-CxEJ77m3.d.cts} +3 -7
- package/dist/{types-DmzSFOhK.d.cts → types-D-tJt0hQ.d.cts} +2 -6
- package/dist/{types-BjwbzqJd.d.ts → types-D6lre27s.d.ts} +2 -8
- package/dist/{types-0R9-osUJ.d.ts → types-DHMxPJZq.d.cts} +2 -6
- package/dist/{types-jN2KmMet.d.cts → types-DJzTVMu1.d.ts} +2 -6
- package/dist/{types-CfXqFz2e.d.ts → types-DKSUG2dZ.d.ts} +253 -10
- package/dist/{types-CpJhWBmH.d.cts → types-DNgazFnF.d.cts} +2 -8
- package/dist/{types-DjadPty5.d.ts → types-DRCttnIN.d.ts} +2 -6
- package/dist/{types-CeqZuOEC.d.ts → types-DUpVIuk7.d.ts} +2 -6
- package/dist/{types-DqOxIujY.d.ts → types-DeyXJzWz.d.cts} +2 -6
- package/dist/{types-O6XM48J8.d.cts → types-Dryq2GGE.d.cts} +2 -6
- package/dist/{types-CjNl7O7f.d.cts → types-DschSZHf.d.cts} +3 -5
- package/dist/{types-BUirSne-.d.ts → types-DtOfhDzz.d.ts} +3 -5
- package/dist/{types-CkJxMoTk.d.cts → types-Du5o-tud.d.ts} +16 -97
- package/dist/{types-ChLWY8aU.d.cts → types-DwbTiyhZ.d.cts} +2 -6
- package/dist/{types-HmK8iKp5.d.cts → types-E8tzafsk.d.cts} +3 -7
- package/dist/{types-DpbrGDRf.d.cts → types-LconaX98.d.cts} +2 -6
- package/dist/{types-tdIo5FpR.d.ts → types-PZzNANiS.d.cts} +129 -10
- package/dist/{types-CTS2NSIb.d.cts → types-YpOm4yXE.d.cts} +2 -8
- package/dist/{types-DbXV0g8U.d.cts → types-ZZwdKCBl.d.ts} +2 -6
- package/dist/{types-jfPoUlO8.d.cts → types-eFi8xJIM.d.cts} +2 -6
- package/dist/{types-DV7K07oX.d.cts → types-inG9y3dP.d.ts} +2 -6
- package/dist/{types-BM6rri7-.d.ts → types-ir7T2a9a.d.ts} +3 -7
- package/dist/{types-BAsYMltG.d.cts → types-jjOulnni.d.ts} +2 -6
- package/dist/{types-vvw_H7wp.d.cts → types-wYrC2boT.d.ts} +3 -7
- package/dist/{types-BWzt1ju_.d.ts → types-xzt_2H63.d.ts} +3 -7
- package/dist/{types-D2Pb_4FA.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/chat.md +1 -1
- package/surface/dataScience.md +1 -1
- package/surface/editor.md +5 -5
- package/surface/kaiAgent.md +5 -4
- package/surface/management.md +1 -1
- 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-B44z6BSO.js +0 -718
- package/dist/configurations-B44z6BSO.js.map +0 -1
- package/dist/configurations-CL0ouUMa.js.map +0 -1
- package/dist/configurations-D9J3jh3g.cjs.map +0 -1
- package/dist/configurations-Dkxsa3Uf.cjs +0 -735
- package/dist/configurations-Dkxsa3Uf.cjs.map +0 -1
- package/dist/constants-DErcRkWl.cjs.map +0 -1
- package/dist/constants-VpSwBtCb.js.map +0 -1
- package/dist/createGenericFetchClient-CQdNcPC3.js +0 -7
- package/dist/createOpenapiFetchClient-DXiMv9WL.js +0 -7
- package/dist/generateUUID-Dr8l-aoc.js +0 -6
- package/dist/index-Be2dNJ_N.d.cts +0 -23582
- package/dist/index-BfqkgPGI.d.cts +0 -34
- package/dist/index-BfqkgPGI.d.ts +0 -34
- package/dist/index-fMoM8SeH.d.cts +0 -199
- package/dist/index-fMoM8SeH.d.ts +0 -199
- package/dist/index-uGRdAORl.d.ts +0 -23582
- package/dist/kaiAgent-CYvrS8oZ.js.map +0 -1
- package/dist/kaiAgent-N2qbUFZm.cjs.map +0 -1
- package/dist/management-B1o6RpKF.cjs.map +0 -1
- package/dist/management-C9w3DNhs.js.map +0 -1
- package/dist/middleware-CEP6uu_D.cjs.map +0 -1
- package/dist/middleware-GOfx8Apu.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,6 +1,6 @@
|
|
|
1
|
-
import { t as AdminRole } from "./adminRoles-
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { t as AdminRole } from "./adminRoles-asa-MhDD.js";
|
|
2
|
+
import { h as PermissionDeniedError, l as isAdminOrShare } from "./admin-CbMOsfgs.js";
|
|
3
|
+
// src/domain/permissions/organization.ts
|
|
4
4
|
/**
|
|
5
5
|
* Whether this token's admin is a member of the organization owning the project.
|
|
6
6
|
*
|
|
@@ -33,12 +33,10 @@ const assertCanWriteKaiSpendCaps = (token) => {
|
|
|
33
33
|
reason: token.isMasterToken ? `role '${token.admin?.role ?? "none"}' with isOrganizationMember=${token.admin?.isOrganizationMember ?? false} may not change Kai spend caps` : "a limited (non-master) token may not change Kai spend caps"
|
|
34
34
|
});
|
|
35
35
|
};
|
|
36
|
-
|
|
37
|
-
//#region src/domain/permissions/storage.ts
|
|
36
|
+
// src/domain/permissions/storage.ts
|
|
38
37
|
/** Mirrors Connection's `CanListShareOptions` voter: the `share` role, or organization membership. */
|
|
39
38
|
const canListSharingTargets = (token) => isOrganizationMember(token) || token.isMasterToken && token.admin?.role === AdminRole.Share;
|
|
40
|
-
|
|
41
|
-
//#region src/domain/project.ts
|
|
39
|
+
// src/domain/project.ts
|
|
42
40
|
const hasFeature = (token, ...feature) => {
|
|
43
41
|
if (feature.length === 0) return false;
|
|
44
42
|
const projectFeatureSet = new Set(token.owner.features);
|
|
@@ -80,7 +78,6 @@ const createProject = ({ sapiToken }) => {
|
|
|
80
78
|
sapiToken
|
|
81
79
|
};
|
|
82
80
|
};
|
|
83
|
-
//#endregion
|
|
84
81
|
export { assertCanAdministerOrganization as a, isOrganizationAdmin as c, canListSharingTargets as i, isOrganizationMember as l, hasAdminFeature as n, assertCanWriteKaiSpendCaps as o, hasFeature as r, canWriteKaiSpendCaps as s, createProject as t };
|
|
85
82
|
|
|
86
|
-
//# sourceMappingURL=project-
|
|
83
|
+
//# sourceMappingURL=project-DmuC0bMK.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-
|
|
1
|
+
{"version":3,"file":"project-DmuC0bMK.js","names":[],"sources":["../src/domain/permissions/organization.ts","../src/domain/permissions/storage.ts","../src/domain/project.ts"],"sourcesContent":["/**\n * @module domain/permissions/organization\n *\n * Organization-scope predicates, read from `admin.isOrganizationMember`, not the project role.\n * - In Keboola, org membership is org administration of every project the org owns.\n * - `isOrganizationMember` is a raw signal; nothing asserts on bare membership.\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\n\nimport { isAdminOrShare } from './admin';\nimport { PermissionDeniedError } from './errors';\n\n/**\n * Whether this token's admin is a member of the organization owning the project.\n *\n * - A limited token has no `admin` block despite the type saying required.\n * - Prefer `isOrganizationAdmin` for authorization decisions.\n */\nexport const isOrganizationMember = (token: StorageToken): boolean =>\n token.isMasterToken && (token.admin?.isOrganizationMember ?? false);\n\n/**\n * `isOrganizationMember` AND `admin`/`share`.\n *\n * - An org member with a `readOnly` or `guest` role on this project still cannot write.\n */\nexport const isOrganizationAdmin = (token: StorageToken): boolean =>\n isOrganizationMember(token) && isAdminOrShare(token);\n\nexport const assertCanAdministerOrganization = (token: StorageToken): void => {\n if (!isOrganizationAdmin(token)) {\n throw new PermissionDeniedError({\n action: 'administer-organization',\n reason: token.isMasterToken\n ? `role '${token.admin?.role ?? 'none'}' with isOrganizationMember=${token.admin?.isOrganizationMember ?? false} may not administer organization settings`\n : 'a limited (non-master) token may not administer organization settings',\n });\n }\n};\n\n/**\n * Whether this token may write Kai's spend caps: project cap, default and per-user limits.\n *\n * - Org-admin only, stricter than `canWriteKaiSettings`: caps commit the org's money.\n * - A project whose own admin could raise its cap has no cap.\n */\nexport const canWriteKaiSpendCaps = (token: StorageToken): boolean => isOrganizationAdmin(token);\n\nexport const assertCanWriteKaiSpendCaps = (token: StorageToken): void => {\n if (!canWriteKaiSpendCaps(token)) {\n throw new PermissionDeniedError({\n action: 'write-kai-spend-caps',\n reason: token.isMasterToken\n ? `role '${token.admin?.role ?? 'none'}' with isOrganizationMember=${token.admin?.isOrganizationMember ?? false} may not change Kai spend caps`\n : 'a limited (non-master) token may not change Kai spend caps',\n });\n }\n};\n","/**\n * @module domain/permissions/storage\n *\n * Storage-scope predicates.\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\nimport { AdminRole } from '../../constants/adminRoles';\n\nimport { isOrganizationMember } from './organization';\n\n/** Mirrors Connection's `CanListShareOptions` voter: the `share` role, or organization membership. */\nexport const canListSharingTargets = (token: StorageToken): boolean =>\n isOrganizationMember(token) || (token.isMasterToken && token.admin?.role === AdminRole.Share);\n","import type { Backend, StorageToken } from '../clients/storage/tokens/types';\n\nimport { canListSharingTargets } from './permissions/storage';\n\ntype Options = {\n sapiToken: StorageToken;\n};\n\nexport const hasFeature = (token: StorageToken, ...feature: string[]): boolean => {\n if (feature.length === 0) return false;\n const projectFeatureSet = new Set(token.owner.features);\n return feature.every((x) => projectFeatureSet.has(x));\n};\n\n/**\n * The admin's features as the Storage token carries them.\n *\n * - The same list `createAdminAccount` reads from the Manage token: Connection serialises both\n * from the admin row, so prefer the account where one is at hand — it also knows `isSuperAdmin`.\n */\nexport const hasAdminFeature = (token: StorageToken, ...feature: string[]): boolean => {\n if (feature.length === 0) return false;\n const adminFeatureSet = new Set(token.admin?.features ?? []);\n return feature.every((x) => adminFeatureSet.has(x));\n};\n\nexport const createProject = ({ sapiToken }: Options) => {\n const { owner, admin } = sapiToken;\n const projectFeatureSet = new Set(owner.features);\n // `verify` omits `admin` for a token created via `POST /v2/storage/tokens`, even though the type\n // declares it: an admin-less token holds no admin features, rather than failing to build at all.\n const adminFeatureSet = new Set(admin?.features ?? []);\n\n const hasFeature = (...feature: string[]) => {\n if (feature.length === 0) return false;\n return feature.every((x) => projectFeatureSet.has(x));\n };\n\n // Same list as `createAdminAccount`'s; prefer the account where one is at hand.\n const hasAdminFeature = (...feature: string[]) => {\n if (feature.length === 0) return false;\n return feature.every((x) => adminFeatureSet.has(x));\n };\n\n const hasBackend = (backend: Backend): boolean => {\n if (backend === 'bigquery') return owner.hasBigquery;\n if (backend === 'snowflake') return owner.hasSnowflake;\n return false;\n };\n\n return {\n hasFeature,\n hasAdminFeature,\n hasBackend,\n canListSharingTargets: canListSharingTargets(sapiToken),\n sapiToken,\n };\n};\n\nexport type Project = ReturnType<typeof createProject>;\n"],"mappings":";;;;;;;;;AAkBA,MAAa,wBAAwB,UACnC,MAAM,kBAAkB,MAAM,OAAO,wBAAwB;;;;;;AAO/D,MAAa,uBAAuB,UAClC,qBAAqB,KAAK,KAAK,eAAe,KAAK;AAErD,MAAa,mCAAmC,UAA8B;CAC5E,IAAI,CAAC,oBAAoB,KAAK,GAC5B,MAAM,IAAI,sBAAsB;EAC9B,QAAQ;EACR,QAAQ,MAAM,gBACV,SAAS,MAAM,OAAO,QAAQ,OAAO,8BAA8B,MAAM,OAAO,wBAAwB,MAAM,6CAC9G;CACN,CAAC;AAEL;;;;;;;AAQA,MAAa,wBAAwB,UAAiC,oBAAoB,KAAK;AAE/F,MAAa,8BAA8B,UAA8B;CACvE,IAAI,CAAC,qBAAqB,KAAK,GAC7B,MAAM,IAAI,sBAAsB;EAC9B,QAAQ;EACR,QAAQ,MAAM,gBACV,SAAS,MAAM,OAAO,QAAQ,OAAO,8BAA8B,MAAM,OAAO,wBAAwB,MAAM,kCAC9G;CACN,CAAC;AAEL;;;AC9CA,MAAa,yBAAyB,UACpC,qBAAqB,KAAK,KAAM,MAAM,iBAAiB,MAAM,OAAO,SAAS,UAAU;;ACJzF,MAAa,cAAc,OAAqB,GAAG,YAA+B;CAChF,IAAI,QAAQ,WAAW,GAAG,OAAO;CACjC,MAAM,oBAAoB,IAAI,IAAI,MAAM,MAAM,QAAQ;CACtD,OAAO,QAAQ,OAAO,MAAM,kBAAkB,IAAI,CAAC,CAAC;AACtD;;;;;;;AAQA,MAAa,mBAAmB,OAAqB,GAAG,YAA+B;CACrF,IAAI,QAAQ,WAAW,GAAG,OAAO;CACjC,MAAM,kBAAkB,IAAI,IAAI,MAAM,OAAO,YAAY,CAAC,CAAC;CAC3D,OAAO,QAAQ,OAAO,MAAM,gBAAgB,IAAI,CAAC,CAAC;AACpD;AAEA,MAAa,iBAAiB,EAAE,gBAAyB;CACvD,MAAM,EAAE,OAAO,UAAU;CACzB,MAAM,oBAAoB,IAAI,IAAI,MAAM,QAAQ;CAGhD,MAAM,kBAAkB,IAAI,IAAI,OAAO,YAAY,CAAC,CAAC;CAErD,MAAM,cAAc,GAAG,YAAsB;EAC3C,IAAI,QAAQ,WAAW,GAAG,OAAO;EACjC,OAAO,QAAQ,OAAO,MAAM,kBAAkB,IAAI,CAAC,CAAC;CACtD;CAGA,MAAM,mBAAmB,GAAG,YAAsB;EAChD,IAAI,QAAQ,WAAW,GAAG,OAAO;EACjC,OAAO,QAAQ,OAAO,MAAM,gBAAgB,IAAI,CAAC,CAAC;CACpD;CAEA,MAAM,cAAc,YAA8B;EAChD,IAAI,YAAY,YAAY,OAAO,MAAM;EACzC,IAAI,YAAY,aAAa,OAAO,MAAM;EAC1C,OAAO;CACT;CAEA,OAAO;EACL;EACA;EACA;EACA,uBAAuB,sBAAsB,SAAS;EACtD;CACF;AACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_adminRoles = require("./adminRoles-
|
|
2
|
-
const
|
|
3
|
-
|
|
1
|
+
const require_adminRoles = require("./adminRoles-DnFpO_2W.cjs");
|
|
2
|
+
const require_admin = require("./admin-Di-MmGFP.cjs");
|
|
3
|
+
// src/domain/permissions/organization.ts
|
|
4
4
|
/**
|
|
5
5
|
* Whether this token's admin is a member of the organization owning the project.
|
|
6
6
|
*
|
|
@@ -13,9 +13,9 @@ const isOrganizationMember = (token) => token.isMasterToken && (token.admin?.isO
|
|
|
13
13
|
*
|
|
14
14
|
* - An org member with a `readOnly` or `guest` role on this project still cannot write.
|
|
15
15
|
*/
|
|
16
|
-
const isOrganizationAdmin = (token) => isOrganizationMember(token) &&
|
|
16
|
+
const isOrganizationAdmin = (token) => isOrganizationMember(token) && require_admin.isAdminOrShare(token);
|
|
17
17
|
const assertCanAdministerOrganization = (token) => {
|
|
18
|
-
if (!isOrganizationAdmin(token)) throw new
|
|
18
|
+
if (!isOrganizationAdmin(token)) throw new require_admin.PermissionDeniedError({
|
|
19
19
|
action: "administer-organization",
|
|
20
20
|
reason: token.isMasterToken ? `role '${token.admin?.role ?? "none"}' with isOrganizationMember=${token.admin?.isOrganizationMember ?? false} may not administer organization settings` : "a limited (non-master) token may not administer organization settings"
|
|
21
21
|
});
|
|
@@ -28,17 +28,15 @@ const assertCanAdministerOrganization = (token) => {
|
|
|
28
28
|
*/
|
|
29
29
|
const canWriteKaiSpendCaps = (token) => isOrganizationAdmin(token);
|
|
30
30
|
const assertCanWriteKaiSpendCaps = (token) => {
|
|
31
|
-
if (!canWriteKaiSpendCaps(token)) throw new
|
|
31
|
+
if (!canWriteKaiSpendCaps(token)) throw new require_admin.PermissionDeniedError({
|
|
32
32
|
action: "write-kai-spend-caps",
|
|
33
33
|
reason: token.isMasterToken ? `role '${token.admin?.role ?? "none"}' with isOrganizationMember=${token.admin?.isOrganizationMember ?? false} may not change Kai spend caps` : "a limited (non-master) token may not change Kai spend caps"
|
|
34
34
|
});
|
|
35
35
|
};
|
|
36
|
-
|
|
37
|
-
//#region src/domain/permissions/storage.ts
|
|
36
|
+
// src/domain/permissions/storage.ts
|
|
38
37
|
/** Mirrors Connection's `CanListShareOptions` voter: the `share` role, or organization membership. */
|
|
39
38
|
const canListSharingTargets = (token) => isOrganizationMember(token) || token.isMasterToken && token.admin?.role === require_adminRoles.AdminRole.Share;
|
|
40
|
-
|
|
41
|
-
//#region src/domain/project.ts
|
|
39
|
+
// src/domain/project.ts
|
|
42
40
|
const hasFeature = (token, ...feature) => {
|
|
43
41
|
if (feature.length === 0) return false;
|
|
44
42
|
const projectFeatureSet = new Set(token.owner.features);
|
|
@@ -80,7 +78,6 @@ const createProject = ({ sapiToken }) => {
|
|
|
80
78
|
sapiToken
|
|
81
79
|
};
|
|
82
80
|
};
|
|
83
|
-
//#endregion
|
|
84
81
|
Object.defineProperty(exports, "assertCanAdministerOrganization", {
|
|
85
82
|
enumerable: true,
|
|
86
83
|
get: function() {
|
|
@@ -136,4 +133,4 @@ Object.defineProperty(exports, "isOrganizationMember", {
|
|
|
136
133
|
}
|
|
137
134
|
});
|
|
138
135
|
|
|
139
|
-
//# sourceMappingURL=project-
|
|
136
|
+
//# sourceMappingURL=project-Onf-IcPW.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-
|
|
1
|
+
{"version":3,"file":"project-Onf-IcPW.cjs","names":["isAdminOrShare","PermissionDeniedError","AdminRole"],"sources":["../src/domain/permissions/organization.ts","../src/domain/permissions/storage.ts","../src/domain/project.ts"],"sourcesContent":["/**\n * @module domain/permissions/organization\n *\n * Organization-scope predicates, read from `admin.isOrganizationMember`, not the project role.\n * - In Keboola, org membership is org administration of every project the org owns.\n * - `isOrganizationMember` is a raw signal; nothing asserts on bare membership.\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\n\nimport { isAdminOrShare } from './admin';\nimport { PermissionDeniedError } from './errors';\n\n/**\n * Whether this token's admin is a member of the organization owning the project.\n *\n * - A limited token has no `admin` block despite the type saying required.\n * - Prefer `isOrganizationAdmin` for authorization decisions.\n */\nexport const isOrganizationMember = (token: StorageToken): boolean =>\n token.isMasterToken && (token.admin?.isOrganizationMember ?? false);\n\n/**\n * `isOrganizationMember` AND `admin`/`share`.\n *\n * - An org member with a `readOnly` or `guest` role on this project still cannot write.\n */\nexport const isOrganizationAdmin = (token: StorageToken): boolean =>\n isOrganizationMember(token) && isAdminOrShare(token);\n\nexport const assertCanAdministerOrganization = (token: StorageToken): void => {\n if (!isOrganizationAdmin(token)) {\n throw new PermissionDeniedError({\n action: 'administer-organization',\n reason: token.isMasterToken\n ? `role '${token.admin?.role ?? 'none'}' with isOrganizationMember=${token.admin?.isOrganizationMember ?? false} may not administer organization settings`\n : 'a limited (non-master) token may not administer organization settings',\n });\n }\n};\n\n/**\n * Whether this token may write Kai's spend caps: project cap, default and per-user limits.\n *\n * - Org-admin only, stricter than `canWriteKaiSettings`: caps commit the org's money.\n * - A project whose own admin could raise its cap has no cap.\n */\nexport const canWriteKaiSpendCaps = (token: StorageToken): boolean => isOrganizationAdmin(token);\n\nexport const assertCanWriteKaiSpendCaps = (token: StorageToken): void => {\n if (!canWriteKaiSpendCaps(token)) {\n throw new PermissionDeniedError({\n action: 'write-kai-spend-caps',\n reason: token.isMasterToken\n ? `role '${token.admin?.role ?? 'none'}' with isOrganizationMember=${token.admin?.isOrganizationMember ?? false} may not change Kai spend caps`\n : 'a limited (non-master) token may not change Kai spend caps',\n });\n }\n};\n","/**\n * @module domain/permissions/storage\n *\n * Storage-scope predicates.\n */\nimport type { StorageToken } from '../../clients/storage/tokens/types';\nimport { AdminRole } from '../../constants/adminRoles';\n\nimport { isOrganizationMember } from './organization';\n\n/** Mirrors Connection's `CanListShareOptions` voter: the `share` role, or organization membership. */\nexport const canListSharingTargets = (token: StorageToken): boolean =>\n isOrganizationMember(token) || (token.isMasterToken && token.admin?.role === AdminRole.Share);\n","import type { Backend, StorageToken } from '../clients/storage/tokens/types';\n\nimport { canListSharingTargets } from './permissions/storage';\n\ntype Options = {\n sapiToken: StorageToken;\n};\n\nexport const hasFeature = (token: StorageToken, ...feature: string[]): boolean => {\n if (feature.length === 0) return false;\n const projectFeatureSet = new Set(token.owner.features);\n return feature.every((x) => projectFeatureSet.has(x));\n};\n\n/**\n * The admin's features as the Storage token carries them.\n *\n * - The same list `createAdminAccount` reads from the Manage token: Connection serialises both\n * from the admin row, so prefer the account where one is at hand — it also knows `isSuperAdmin`.\n */\nexport const hasAdminFeature = (token: StorageToken, ...feature: string[]): boolean => {\n if (feature.length === 0) return false;\n const adminFeatureSet = new Set(token.admin?.features ?? []);\n return feature.every((x) => adminFeatureSet.has(x));\n};\n\nexport const createProject = ({ sapiToken }: Options) => {\n const { owner, admin } = sapiToken;\n const projectFeatureSet = new Set(owner.features);\n // `verify` omits `admin` for a token created via `POST /v2/storage/tokens`, even though the type\n // declares it: an admin-less token holds no admin features, rather than failing to build at all.\n const adminFeatureSet = new Set(admin?.features ?? []);\n\n const hasFeature = (...feature: string[]) => {\n if (feature.length === 0) return false;\n return feature.every((x) => projectFeatureSet.has(x));\n };\n\n // Same list as `createAdminAccount`'s; prefer the account where one is at hand.\n const hasAdminFeature = (...feature: string[]) => {\n if (feature.length === 0) return false;\n return feature.every((x) => adminFeatureSet.has(x));\n };\n\n const hasBackend = (backend: Backend): boolean => {\n if (backend === 'bigquery') return owner.hasBigquery;\n if (backend === 'snowflake') return owner.hasSnowflake;\n return false;\n };\n\n return {\n hasFeature,\n hasAdminFeature,\n hasBackend,\n canListSharingTargets: canListSharingTargets(sapiToken),\n sapiToken,\n };\n};\n\nexport type Project = ReturnType<typeof createProject>;\n"],"mappings":";;;;;;;;;AAkBA,MAAa,wBAAwB,UACnC,MAAM,kBAAkB,MAAM,OAAO,wBAAwB;;;;;;AAO/D,MAAa,uBAAuB,UAClC,qBAAqB,KAAK,KAAKA,cAAAA,eAAe,KAAK;AAErD,MAAa,mCAAmC,UAA8B;CAC5E,IAAI,CAAC,oBAAoB,KAAK,GAC5B,MAAM,IAAIC,cAAAA,sBAAsB;EAC9B,QAAQ;EACR,QAAQ,MAAM,gBACV,SAAS,MAAM,OAAO,QAAQ,OAAO,8BAA8B,MAAM,OAAO,wBAAwB,MAAM,6CAC9G;CACN,CAAC;AAEL;;;;;;;AAQA,MAAa,wBAAwB,UAAiC,oBAAoB,KAAK;AAE/F,MAAa,8BAA8B,UAA8B;CACvE,IAAI,CAAC,qBAAqB,KAAK,GAC7B,MAAM,IAAIA,cAAAA,sBAAsB;EAC9B,QAAQ;EACR,QAAQ,MAAM,gBACV,SAAS,MAAM,OAAO,QAAQ,OAAO,8BAA8B,MAAM,OAAO,wBAAwB,MAAM,kCAC9G;CACN,CAAC;AAEL;;;AC9CA,MAAa,yBAAyB,UACpC,qBAAqB,KAAK,KAAM,MAAM,iBAAiB,MAAM,OAAO,SAASC,mBAAAA,UAAU;;ACJzF,MAAa,cAAc,OAAqB,GAAG,YAA+B;CAChF,IAAI,QAAQ,WAAW,GAAG,OAAO;CACjC,MAAM,oBAAoB,IAAI,IAAI,MAAM,MAAM,QAAQ;CACtD,OAAO,QAAQ,OAAO,MAAM,kBAAkB,IAAI,CAAC,CAAC;AACtD;;;;;;;AAQA,MAAa,mBAAmB,OAAqB,GAAG,YAA+B;CACrF,IAAI,QAAQ,WAAW,GAAG,OAAO;CACjC,MAAM,kBAAkB,IAAI,IAAI,MAAM,OAAO,YAAY,CAAC,CAAC;CAC3D,OAAO,QAAQ,OAAO,MAAM,gBAAgB,IAAI,CAAC,CAAC;AACpD;AAEA,MAAa,iBAAiB,EAAE,gBAAyB;CACvD,MAAM,EAAE,OAAO,UAAU;CACzB,MAAM,oBAAoB,IAAI,IAAI,MAAM,QAAQ;CAGhD,MAAM,kBAAkB,IAAI,IAAI,OAAO,YAAY,CAAC,CAAC;CAErD,MAAM,cAAc,GAAG,YAAsB;EAC3C,IAAI,QAAQ,WAAW,GAAG,OAAO;EACjC,OAAO,QAAQ,OAAO,MAAM,kBAAkB,IAAI,CAAC,CAAC;CACtD;CAGA,MAAM,mBAAmB,GAAG,YAAsB;EAChD,IAAI,QAAQ,WAAW,GAAG,OAAO;EACjC,OAAO,QAAQ,OAAO,MAAM,gBAAgB,IAAI,CAAC,CAAC;CACpD;CAEA,MAAM,cAAc,YAA8B;EAChD,IAAI,YAAY,YAAY,OAAO,MAAM;EACzC,IAAI,YAAY,aAAa,OAAO,MAAM;EAC1C,OAAO;CACT;CAEA,OAAO;EACL;EACA;EACA;EACA,uBAAuB,sBAAsB,SAAS;EACtD;CACF;AACF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Lr as paths, c as OpenapiQueryType, l as OpenapiReturnType, r as OpenapiBodyType, s as OpenapiPathType } from "./index-
|
|
2
|
-
import "./adminRoles-
|
|
3
|
-
import { t as Backend } from "./backends-
|
|
4
|
-
//#region src/clients/storage/tokens/types.d.ts
|
|
1
|
+
import { Lr as paths, c as OpenapiQueryType, l as OpenapiReturnType, r as OpenapiBodyType, s as OpenapiPathType } from "./index-D1mduJne.cjs";
|
|
2
|
+
import "./adminRoles-FFyl7Dyx.cjs";
|
|
3
|
+
import { t as Backend } from "./backends-BHotIdL0.cjs";
|
|
5
4
|
type ProjectId = number;
|
|
6
5
|
type CreateTokenSchemaBody = OpenapiBodyType<paths['/v2/storage/tokens']['post']>;
|
|
7
6
|
type UpdateTokenSchemaBody = OpenapiBodyType<paths['/v2/storage/tokens/{id}']['put']>;
|
|
@@ -49,8 +48,6 @@ type UpdateTokenInput = UpdateTokenPath & UpdateTokenBody;
|
|
|
49
48
|
type ShareTokenBody = OpenapiBodyType<paths['/v2/storage/tokens/{id}/share']['post']>;
|
|
50
49
|
type ShareTokenPath = OpenapiPathType<paths['/v2/storage/tokens/{id}/share']['post']>;
|
|
51
50
|
type ShareTokenInput = ShareTokenPath & ShareTokenBody;
|
|
52
|
-
//#endregion
|
|
53
|
-
//#region src/domain/project.d.ts
|
|
54
51
|
type Options = {
|
|
55
52
|
sapiToken: StorageToken;
|
|
56
53
|
};
|
|
@@ -70,6 +67,5 @@ declare const createProject: ({ sapiToken }: Options) => {
|
|
|
70
67
|
sapiToken: StorageToken;
|
|
71
68
|
};
|
|
72
69
|
type Project = ReturnType<typeof createProject>;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
//# sourceMappingURL=project-DTfBtIJs.d.ts.map
|
|
70
|
+
export { UpdateTokenBody as _, CreateTokenBody as a, UpdateTokenSchemaBody as b, GetTokenEventsInput as c, ShareTokenBody as d, ShareTokenInput as f, TokenListItem as g, StorageTokenRaw as h, hasFeature as i, GetTokenEventsPath as l, StorageToken as m, createProject as n, CreateTokenResponse as o, ShareTokenPath as p, hasAdminFeature as r, CreateTokenSchemaBody as s, Project as t, ProjectId as u, UpdateTokenInput as v, UpdateTokenPath as y };
|
|
71
|
+
//# sourceMappingURL=project-UHZGFmmG.d.cts.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Lr as paths, c as OpenapiQueryType, l as OpenapiReturnType, r as OpenapiBodyType, s as OpenapiPathType } from "./index-
|
|
2
|
-
import "./adminRoles-
|
|
3
|
-
import { t as Backend } from "./backends-
|
|
4
|
-
//#region src/clients/storage/tokens/types.d.ts
|
|
1
|
+
import { Lr as paths, c as OpenapiQueryType, l as OpenapiReturnType, r as OpenapiBodyType, s as OpenapiPathType } from "./index-D1mduJne.js";
|
|
2
|
+
import "./adminRoles-DAwl657q.js";
|
|
3
|
+
import { t as Backend } from "./backends-BHotIdL0.js";
|
|
5
4
|
type ProjectId = number;
|
|
6
5
|
type CreateTokenSchemaBody = OpenapiBodyType<paths['/v2/storage/tokens']['post']>;
|
|
7
6
|
type UpdateTokenSchemaBody = OpenapiBodyType<paths['/v2/storage/tokens/{id}']['put']>;
|
|
@@ -49,8 +48,6 @@ type UpdateTokenInput = UpdateTokenPath & UpdateTokenBody;
|
|
|
49
48
|
type ShareTokenBody = OpenapiBodyType<paths['/v2/storage/tokens/{id}/share']['post']>;
|
|
50
49
|
type ShareTokenPath = OpenapiPathType<paths['/v2/storage/tokens/{id}/share']['post']>;
|
|
51
50
|
type ShareTokenInput = ShareTokenPath & ShareTokenBody;
|
|
52
|
-
//#endregion
|
|
53
|
-
//#region src/domain/project.d.ts
|
|
54
51
|
type Options = {
|
|
55
52
|
sapiToken: StorageToken;
|
|
56
53
|
};
|
|
@@ -70,6 +67,5 @@ declare const createProject: ({ sapiToken }: Options) => {
|
|
|
70
67
|
sapiToken: StorageToken;
|
|
71
68
|
};
|
|
72
69
|
type Project = ReturnType<typeof createProject>;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
//# sourceMappingURL=project-vOnvjo80.d.cts.map
|
|
70
|
+
export { UpdateTokenBody as _, CreateTokenBody as a, UpdateTokenSchemaBody as b, GetTokenEventsInput as c, ShareTokenBody as d, ShareTokenInput as f, TokenListItem as g, StorageTokenRaw as h, hasFeature as i, GetTokenEventsPath as l, StorageToken as m, createProject as n, CreateTokenResponse as o, ShareTokenPath as p, hasAdminFeature as r, CreateTokenSchemaBody as s, Project as t, ProjectId as u, UpdateTokenInput as v, UpdateTokenPath as y };
|
|
71
|
+
//# sourceMappingURL=project-iBm4cIIR.d.ts.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_queryService = require("../queryService-
|
|
2
|
+
const require_queryService = require("../queryService-Cg-eMysa.cjs");
|
|
3
3
|
exports.createQueryServiceClient = require_queryService.createQueryServiceClient;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { S as createQueryServiceClient } from "../index-
|
|
1
|
+
import { S as createQueryServiceClient } from "../index-qJ2IjXIM.cjs";
|
|
2
2
|
export { createQueryServiceClient };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { S as createQueryServiceClient } from "../index-
|
|
1
|
+
import { S as createQueryServiceClient } from "../index-BsT_cBJd.js";
|
|
2
2
|
export { createQueryServiceClient };
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { createQueryServiceClient };
|
|
1
|
+
export { t as createQueryServiceClient } from "../queryService-x8kq8Z2-.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as GetQueryResutsQuery, J as GetExportResultsQuery, K as QueryJobPollOptions, Q as GetQueryResultsPath, X as GetQueriesPath, Y as GetQueriesHistoryQuery, Z as GetQueryJobPath, at as QueryResult, et as JobStatusResponse, it as QueryJobStatus, nt as PostQueryBody, ot as Statements, q as ExportResultsResponse, rt as PostQueryPath, tt as PostCancelQueryJobPath } from "../index-qJ2IjXIM.cjs";
|
|
2
2
|
export { ExportResultsResponse, GetExportResultsQuery, GetQueriesHistoryQuery, GetQueriesPath, GetQueryJobPath, GetQueryResultsPath, GetQueryResutsQuery, JobStatusResponse, PostCancelQueryJobPath, PostQueryBody, PostQueryPath, type QueryJobPollOptions, QueryJobStatus, QueryResult, Statements };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as GetQueryResutsQuery, J as GetExportResultsQuery, K as QueryJobPollOptions, Q as GetQueryResultsPath, X as GetQueriesPath, Y as GetQueriesHistoryQuery, Z as GetQueryJobPath, at as QueryResult, et as JobStatusResponse, it as QueryJobStatus, nt as PostQueryBody, ot as Statements, q as ExportResultsResponse, rt as PostQueryPath, tt as PostCancelQueryJobPath } from "../index-BsT_cBJd.js";
|
|
2
2
|
export { ExportResultsResponse, GetExportResultsQuery, GetQueriesHistoryQuery, GetQueriesPath, GetQueryJobPath, GetQueryResultsPath, GetQueryResutsQuery, JobStatusResponse, PostCancelQueryJobPath, PostQueryBody, PostQueryPath, type QueryJobPollOptions, QueryJobStatus, QueryResult, Statements };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
const
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const require_auth = require("./auth-
|
|
7
|
-
|
|
1
|
+
const require_createFetchClient = require("./createFetchClient-DEkUH662.cjs");
|
|
2
|
+
const require_QueryJobError = require("./QueryJobError-Oy0fl4aw.cjs");
|
|
3
|
+
const require_createGenericFetchClient = require("./createGenericFetchClient-2oU-PXVo.cjs");
|
|
4
|
+
const require_createOpenapiFetchClient = require("./createOpenapiFetchClient-DL9w7vU-.cjs");
|
|
5
|
+
const require_transientRetries = require("./transientRetries-CM7rAEXQ.cjs");
|
|
6
|
+
const require_auth = require("./auth-CvB4MukT.cjs");
|
|
7
|
+
// src/clients/queryService/poller.ts
|
|
8
8
|
const DEFAULT_POLL_INTERVAL = 2e3;
|
|
9
9
|
const createJobPoller = ({ getQueryJob }) => ({ init, interval, maxAttempts, timeout, signal }) => {
|
|
10
10
|
const retries = require_transientRetries.transientRetries();
|
|
@@ -35,8 +35,7 @@ const createJobPoller = ({ getQueryJob }) => ({ init, interval, maxAttempts, tim
|
|
|
35
35
|
signal
|
|
36
36
|
});
|
|
37
37
|
};
|
|
38
|
-
|
|
39
|
-
//#region src/clients/queryService/queryServiceClient.ts
|
|
38
|
+
// src/clients/queryService/queryServiceClient.ts
|
|
40
39
|
const createQueryServiceClient = ({ baseUrl, middlewares, auth }) => {
|
|
41
40
|
const client = require_createOpenapiFetchClient.createOpenapiFetchClient({
|
|
42
41
|
baseUrl,
|
|
@@ -117,7 +116,6 @@ const createQueryServiceClient = ({ baseUrl, middlewares, auth }) => {
|
|
|
117
116
|
exportResults
|
|
118
117
|
};
|
|
119
118
|
};
|
|
120
|
-
//#endregion
|
|
121
119
|
Object.defineProperty(exports, "createQueryServiceClient", {
|
|
122
120
|
enumerable: true,
|
|
123
121
|
get: function() {
|
|
@@ -125,4 +123,4 @@ Object.defineProperty(exports, "createQueryServiceClient", {
|
|
|
125
123
|
}
|
|
126
124
|
});
|
|
127
125
|
|
|
128
|
-
//# sourceMappingURL=queryService-
|
|
126
|
+
//# sourceMappingURL=queryService-Cg-eMysa.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryService-
|
|
1
|
+
{"version":3,"file":"queryService-Cg-eMysa.cjs","names":["transientRetries","poller","jobStatus","QueryJobError","createOpenapiFetchClient","createAuthHeaders","createGenericFetchClient","HttpHeader","parseContentDispositionHeader"],"sources":["../src/clients/queryService/poller.ts","../src/clients/queryService/queryServiceClient.ts"],"sourcesContent":["import { jobStatus } from '../../domain/jobStatus';\nimport { QueryJobError } from '../../errors';\nimport { poller } from '../../utils/async';\nimport { transientRetries } from '../transientRetries';\n\nimport type { GetQueryJobPath, JobStatusResponse } from './types';\n\nconst DEFAULT_POLL_INTERVAL = 2000;\n\nexport type QueryJobPollOptions = {\n interval?: number;\n maxAttempts?: number;\n timeout?: number;\n signal?: AbortSignal;\n};\n\ntype GetQueryJob = (\n queryJobId: GetQueryJobPath['queryJobId'],\n signal?: AbortSignal,\n) => Promise<JobStatusResponse>;\n\n/**\n * Waits on a query job.\n *\n * - `init` is the job, or the request that yields it, so a caller hands over what `createQueryJob` gave it.\n * - Terminal is the job's own terminal set, not its statements': a `completed` job can still hold a\n * statement that failed, and what that means is the caller's business.\n */\ntype JobRef = { id: GetQueryJobPath['queryJobId'] };\n\nexport const createJobPoller =\n ({ getQueryJob }: { getQueryJob: GetQueryJob }) =>\n ({\n init,\n interval,\n maxAttempts,\n timeout,\n signal,\n }: QueryJobPollOptions & { init: JobRef | ((signal: AbortSignal) => Promise<JobRef>) }) => {\n const retries = transientRetries();\n\n return poller({\n pollKey: ({ id }) => ['queryService.job', { id }] as const,\n init,\n pollFn: async ({ init: { id }, signal: pollSignal }) => {\n const job = await getQueryJob(id, pollSignal);\n retries.reset();\n return job;\n },\n isRetryable: retries.isRetryable,\n until: ({ data }) => jobStatus.query.isTerminal(data.status),\n failed: (job) => {\n if (job.status !== 'failed') return undefined;\n const failedStatements = job.statements\n .filter((statement) => statement.status === 'failed')\n .map((statement) => ({ id: statement.id, error: statement.error }));\n\n return new QueryJobError(failedStatements[0]?.error ?? 'Job failed', job.queryJobId, {\n failedStatements,\n });\n },\n backoff: { type: 'constant', interval: interval ?? DEFAULT_POLL_INTERVAL },\n maxAttempts,\n timeout,\n signal,\n });\n };\n","import {\n createGenericFetchClient,\n createOpenapiFetchClient,\n HttpHeader,\n parseContentDispositionHeader,\n} from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createJobPoller } from './poller';\nimport type {\n ExportResultsResponse,\n GetExportResultsQuery,\n GetQueriesHistoryQuery,\n GetQueriesPath,\n GetQueryJobPath,\n GetQueryResultsPath,\n GetQueryResutsQuery,\n PostCancelQueryJobPath,\n PostQueryBody,\n PostQueryPath,\n} from './types';\n\nexport const createQueryServiceClient = ({ 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 createQueryJob = async (\n branchId: PostQueryPath['branchId'],\n workspaceId: PostQueryPath['workspaceId'],\n body: PostQueryBody,\n ) => {\n const { data } = await client.post(\n '/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries',\n { path: { branchId, workspaceId }, body },\n );\n\n return data;\n };\n\n const cancelQueryJob = async (queryJobId: PostCancelQueryJobPath['queryJobId']) => {\n const { data } = await client.post('/api/v1/queries/{queryJobId}/cancel', {\n path: { queryJobId },\n body: { reason: 'Cancelled by user' },\n });\n\n return data;\n };\n\n const getQueryJob = async (queryJobId: GetQueryJobPath['queryJobId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/queries/{queryJobId}',\n { path: { queryJobId } },\n { signal },\n );\n\n return data;\n };\n\n const getQueryResults = async (\n queryJobId: GetQueryResultsPath['queryJobId'],\n statementId: GetQueryResultsPath['statementId'],\n query?: GetQueryResutsQuery,\n ) => {\n const { data } = await client.get('/api/v1/queries/{queryJobId}/{statementId}/results', {\n path: { queryJobId, statementId },\n query,\n });\n\n return data;\n };\n\n const getQueryHistory = async (\n branchId: GetQueriesPath['branchId'],\n workspaceId: GetQueriesPath['workspaceId'],\n query?: GetQueriesHistoryQuery,\n ) => {\n const { data } = await client.get(\n '/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries',\n {\n path: { branchId, workspaceId },\n query,\n },\n );\n\n return data;\n };\n\n const exportResults = async (\n queryJobId: GetQueryResultsPath['queryJobId'],\n statementId: GetQueryResultsPath['statementId'],\n query: GetExportResultsQuery,\n signal?: AbortSignal,\n ): Promise<ExportResultsResponse> => {\n const { data, response } = await client.get(\n '/api/v1/queries/{queryJobId}/{statementId}/export',\n {\n path: { queryJobId, statementId },\n query,\n },\n { signal },\n );\n\n const mimeType = response.headers.get(HttpHeader.CONTENT_TYPE) ?? 'text/csv';\n const contentDisposition = parseContentDispositionHeader(\n response.headers.get(HttpHeader.CONTENT_DISPOSITION),\n );\n\n return {\n mimeType,\n content: data,\n fileName: contentDisposition?.filename ?? 'export.csv',\n };\n };\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n // Every wait on a query job is the same wait, so it is the client's rather than a caller's.\n const poller = createJobPoller({ getQueryJob });\n\n return {\n healthCheck,\n poller,\n createQueryJob,\n cancelQueryJob,\n getQueryJob,\n getQueryResults,\n getQueryHistory,\n exportResults,\n };\n};\n"],"mappings":";;;;;;;AAOA,MAAM,wBAAwB;AAuB9B,MAAa,mBACV,EAAE,mBACF,EACC,MACA,UACA,aACA,SACA,aACyF;CACzF,MAAM,UAAUA,yBAAAA,iBAAiB;CAEjC,OAAOC,yBAAAA,OAAO;EACZ,UAAU,EAAE,SAAS,CAAC,oBAAoB,EAAE,GAAG,CAAC;EAChD;EACA,QAAQ,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,iBAAiB;GACtD,MAAM,MAAM,MAAM,YAAY,IAAI,UAAU;GAC5C,QAAQ,MAAM;GACd,OAAO;EACT;EACA,aAAa,QAAQ;EACrB,QAAQ,EAAE,WAAWC,yBAAAA,UAAU,MAAM,WAAW,KAAK,MAAM;EAC3D,SAAS,QAAQ;GACf,IAAI,IAAI,WAAW,UAAU,OAAO,KAAA;GACpC,MAAM,mBAAmB,IAAI,WAC1B,QAAQ,cAAc,UAAU,WAAW,QAAQ,CAAC,CACpD,KAAK,eAAe;IAAE,IAAI,UAAU;IAAI,OAAO,UAAU;GAAM,EAAE;GAEpE,OAAO,IAAIC,sBAAAA,cAAc,iBAAiB,EAAE,EAAE,SAAS,cAAc,IAAI,YAAY,EACnF,iBACF,CAAC;EACH;EACA,SAAS;GAAE,MAAM;GAAY,UAAU,YAAY;EAAsB;EACzE;EACA;EACA;CACF,CAAC;AACH;;AC1CF,MAAa,4BAA4B,EAAE,SAAS,aAAa,WAA8B;CAC7F,MAAM,SAASC,iCAAAA,yBAAgC;EAC7C;EACA;EACA,SAASC,aAAAA,kBAAkB,IAAI;CACjC,CAAC;CACD,MAAM,gBAAgBC,iCAAAA,yBAAyB;EAAE;EAAS;CAAY,CAAC;CAEvE,MAAM,iBAAiB,OACrB,UACA,aACA,SACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,gEACA;GAAE,MAAM;IAAE;IAAU;GAAY;GAAG;EAAK,CAC1C;EAEA,OAAO;CACT;CAEA,MAAM,iBAAiB,OAAO,eAAqD;EACjF,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,uCAAuC;GACxE,MAAM,EAAE,WAAW;GACnB,MAAM,EAAE,QAAQ,oBAAoB;EACtC,CAAC;EAED,OAAO;CACT;CAEA,MAAM,cAAc,OAAO,YAA2C,WAAyB;EAC7F,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,gCACA,EAAE,MAAM,EAAE,WAAW,EAAE,GACvB,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,kBAAkB,OACtB,YACA,aACA,UACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,sDAAsD;GACtF,MAAM;IAAE;IAAY;GAAY;GAChC;EACF,CAAC;EAED,OAAO;CACT;CAEA,MAAM,kBAAkB,OACtB,UACA,aACA,UACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,gEACA;GACE,MAAM;IAAE;IAAU;GAAY;GAC9B;EACF,CACF;EAEA,OAAO;CACT;CAEA,MAAM,gBAAgB,OACpB,YACA,aACA,OACA,WACmC;EACnC,MAAM,EAAE,MAAM,aAAa,MAAM,OAAO,IACtC,qDACA;GACE,MAAM;IAAE;IAAY;GAAY;GAChC;EACF,GACA,EAAE,OAAO,CACX;EAOA,OAAO;GACL,UANe,SAAS,QAAQ,IAAIC,0BAAAA,WAAW,YAAY,KAAK;GAOhE,SAAS;GACT,UAPyBC,0BAAAA,8BACzB,SAAS,QAAQ,IAAID,0BAAAA,WAAW,mBAAmB,CAMxB,CAAC,EAAE,YAAY;EAC5C;CACF;CAEA,MAAM,cAAc,OAAO,WAAyB;EAClD,MAAM,EAAE,SAAS,MAAM,cAAc,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC;EAExE,OAAO;CACT;CAKA,OAAO;EACL;EACA,QAJa,gBAAgB,EAAE,YAAY,CAItC;EACL;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as
|
|
6
|
-
import { t as createAuthHeaders } from "./auth-
|
|
7
|
-
|
|
1
|
+
import { f as parseContentDispositionHeader, s as HttpHeader } from "./createFetchClient-DlGCbltR.js";
|
|
2
|
+
import { t as QueryJobError } from "./QueryJobError-Iq9O90Uh.js";
|
|
3
|
+
import { t as createGenericFetchClient } from "./createGenericFetchClient-wGxemBwR.js";
|
|
4
|
+
import { t as createOpenapiFetchClient } from "./createOpenapiFetchClient-Bhz62MUE.js";
|
|
5
|
+
import { a as poller, n as jobStatus, t as transientRetries } from "./transientRetries-BKqmb85B.js";
|
|
6
|
+
import { t as createAuthHeaders } from "./auth-DYfQMQCs.js";
|
|
7
|
+
// src/clients/queryService/poller.ts
|
|
8
8
|
const DEFAULT_POLL_INTERVAL = 2e3;
|
|
9
9
|
const createJobPoller = ({ getQueryJob }) => ({ init, interval, maxAttempts, timeout, signal }) => {
|
|
10
10
|
const retries = transientRetries();
|
|
@@ -35,8 +35,7 @@ const createJobPoller = ({ getQueryJob }) => ({ init, interval, maxAttempts, tim
|
|
|
35
35
|
signal
|
|
36
36
|
});
|
|
37
37
|
};
|
|
38
|
-
|
|
39
|
-
//#region src/clients/queryService/queryServiceClient.ts
|
|
38
|
+
// src/clients/queryService/queryServiceClient.ts
|
|
40
39
|
const createQueryServiceClient = ({ baseUrl, middlewares, auth }) => {
|
|
41
40
|
const client = createOpenapiFetchClient({
|
|
42
41
|
baseUrl,
|
|
@@ -117,7 +116,6 @@ const createQueryServiceClient = ({ baseUrl, middlewares, auth }) => {
|
|
|
117
116
|
exportResults
|
|
118
117
|
};
|
|
119
118
|
};
|
|
120
|
-
//#endregion
|
|
121
119
|
export { createQueryServiceClient as t };
|
|
122
120
|
|
|
123
|
-
//# sourceMappingURL=queryService-
|
|
121
|
+
//# sourceMappingURL=queryService-x8kq8Z2-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryService-
|
|
1
|
+
{"version":3,"file":"queryService-x8kq8Z2-.js","names":[],"sources":["../src/clients/queryService/poller.ts","../src/clients/queryService/queryServiceClient.ts"],"sourcesContent":["import { jobStatus } from '../../domain/jobStatus';\nimport { QueryJobError } from '../../errors';\nimport { poller } from '../../utils/async';\nimport { transientRetries } from '../transientRetries';\n\nimport type { GetQueryJobPath, JobStatusResponse } from './types';\n\nconst DEFAULT_POLL_INTERVAL = 2000;\n\nexport type QueryJobPollOptions = {\n interval?: number;\n maxAttempts?: number;\n timeout?: number;\n signal?: AbortSignal;\n};\n\ntype GetQueryJob = (\n queryJobId: GetQueryJobPath['queryJobId'],\n signal?: AbortSignal,\n) => Promise<JobStatusResponse>;\n\n/**\n * Waits on a query job.\n *\n * - `init` is the job, or the request that yields it, so a caller hands over what `createQueryJob` gave it.\n * - Terminal is the job's own terminal set, not its statements': a `completed` job can still hold a\n * statement that failed, and what that means is the caller's business.\n */\ntype JobRef = { id: GetQueryJobPath['queryJobId'] };\n\nexport const createJobPoller =\n ({ getQueryJob }: { getQueryJob: GetQueryJob }) =>\n ({\n init,\n interval,\n maxAttempts,\n timeout,\n signal,\n }: QueryJobPollOptions & { init: JobRef | ((signal: AbortSignal) => Promise<JobRef>) }) => {\n const retries = transientRetries();\n\n return poller({\n pollKey: ({ id }) => ['queryService.job', { id }] as const,\n init,\n pollFn: async ({ init: { id }, signal: pollSignal }) => {\n const job = await getQueryJob(id, pollSignal);\n retries.reset();\n return job;\n },\n isRetryable: retries.isRetryable,\n until: ({ data }) => jobStatus.query.isTerminal(data.status),\n failed: (job) => {\n if (job.status !== 'failed') return undefined;\n const failedStatements = job.statements\n .filter((statement) => statement.status === 'failed')\n .map((statement) => ({ id: statement.id, error: statement.error }));\n\n return new QueryJobError(failedStatements[0]?.error ?? 'Job failed', job.queryJobId, {\n failedStatements,\n });\n },\n backoff: { type: 'constant', interval: interval ?? DEFAULT_POLL_INTERVAL },\n maxAttempts,\n timeout,\n signal,\n });\n };\n","import {\n createGenericFetchClient,\n createOpenapiFetchClient,\n HttpHeader,\n parseContentDispositionHeader,\n} from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createJobPoller } from './poller';\nimport type {\n ExportResultsResponse,\n GetExportResultsQuery,\n GetQueriesHistoryQuery,\n GetQueriesPath,\n GetQueryJobPath,\n GetQueryResultsPath,\n GetQueryResutsQuery,\n PostCancelQueryJobPath,\n PostQueryBody,\n PostQueryPath,\n} from './types';\n\nexport const createQueryServiceClient = ({ 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 createQueryJob = async (\n branchId: PostQueryPath['branchId'],\n workspaceId: PostQueryPath['workspaceId'],\n body: PostQueryBody,\n ) => {\n const { data } = await client.post(\n '/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries',\n { path: { branchId, workspaceId }, body },\n );\n\n return data;\n };\n\n const cancelQueryJob = async (queryJobId: PostCancelQueryJobPath['queryJobId']) => {\n const { data } = await client.post('/api/v1/queries/{queryJobId}/cancel', {\n path: { queryJobId },\n body: { reason: 'Cancelled by user' },\n });\n\n return data;\n };\n\n const getQueryJob = async (queryJobId: GetQueryJobPath['queryJobId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/queries/{queryJobId}',\n { path: { queryJobId } },\n { signal },\n );\n\n return data;\n };\n\n const getQueryResults = async (\n queryJobId: GetQueryResultsPath['queryJobId'],\n statementId: GetQueryResultsPath['statementId'],\n query?: GetQueryResutsQuery,\n ) => {\n const { data } = await client.get('/api/v1/queries/{queryJobId}/{statementId}/results', {\n path: { queryJobId, statementId },\n query,\n });\n\n return data;\n };\n\n const getQueryHistory = async (\n branchId: GetQueriesPath['branchId'],\n workspaceId: GetQueriesPath['workspaceId'],\n query?: GetQueriesHistoryQuery,\n ) => {\n const { data } = await client.get(\n '/api/v1/branches/{branchId}/workspaces/{workspaceId}/queries',\n {\n path: { branchId, workspaceId },\n query,\n },\n );\n\n return data;\n };\n\n const exportResults = async (\n queryJobId: GetQueryResultsPath['queryJobId'],\n statementId: GetQueryResultsPath['statementId'],\n query: GetExportResultsQuery,\n signal?: AbortSignal,\n ): Promise<ExportResultsResponse> => {\n const { data, response } = await client.get(\n '/api/v1/queries/{queryJobId}/{statementId}/export',\n {\n path: { queryJobId, statementId },\n query,\n },\n { signal },\n );\n\n const mimeType = response.headers.get(HttpHeader.CONTENT_TYPE) ?? 'text/csv';\n const contentDisposition = parseContentDispositionHeader(\n response.headers.get(HttpHeader.CONTENT_DISPOSITION),\n );\n\n return {\n mimeType,\n content: data,\n fileName: contentDisposition?.filename ?? 'export.csv',\n };\n };\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n // Every wait on a query job is the same wait, so it is the client's rather than a caller's.\n const poller = createJobPoller({ getQueryJob });\n\n return {\n healthCheck,\n poller,\n createQueryJob,\n cancelQueryJob,\n getQueryJob,\n getQueryResults,\n getQueryHistory,\n exportResults,\n };\n};\n"],"mappings":";;;;;;;AAOA,MAAM,wBAAwB;AAuB9B,MAAa,mBACV,EAAE,mBACF,EACC,MACA,UACA,aACA,SACA,aACyF;CACzF,MAAM,UAAU,iBAAiB;CAEjC,OAAO,OAAO;EACZ,UAAU,EAAE,SAAS,CAAC,oBAAoB,EAAE,GAAG,CAAC;EAChD;EACA,QAAQ,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,iBAAiB;GACtD,MAAM,MAAM,MAAM,YAAY,IAAI,UAAU;GAC5C,QAAQ,MAAM;GACd,OAAO;EACT;EACA,aAAa,QAAQ;EACrB,QAAQ,EAAE,WAAW,UAAU,MAAM,WAAW,KAAK,MAAM;EAC3D,SAAS,QAAQ;GACf,IAAI,IAAI,WAAW,UAAU,OAAO,KAAA;GACpC,MAAM,mBAAmB,IAAI,WAC1B,QAAQ,cAAc,UAAU,WAAW,QAAQ,CAAC,CACpD,KAAK,eAAe;IAAE,IAAI,UAAU;IAAI,OAAO,UAAU;GAAM,EAAE;GAEpE,OAAO,IAAI,cAAc,iBAAiB,EAAE,EAAE,SAAS,cAAc,IAAI,YAAY,EACnF,iBACF,CAAC;EACH;EACA,SAAS;GAAE,MAAM;GAAY,UAAU,YAAY;EAAsB;EACzE;EACA;EACA;CACF,CAAC;AACH;;AC1CF,MAAa,4BAA4B,EAAE,SAAS,aAAa,WAA8B;CAC7F,MAAM,SAAS,yBAAgC;EAC7C;EACA;EACA,SAAS,kBAAkB,IAAI;CACjC,CAAC;CACD,MAAM,gBAAgB,yBAAyB;EAAE;EAAS;CAAY,CAAC;CAEvE,MAAM,iBAAiB,OACrB,UACA,aACA,SACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,gEACA;GAAE,MAAM;IAAE;IAAU;GAAY;GAAG;EAAK,CAC1C;EAEA,OAAO;CACT;CAEA,MAAM,iBAAiB,OAAO,eAAqD;EACjF,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,uCAAuC;GACxE,MAAM,EAAE,WAAW;GACnB,MAAM,EAAE,QAAQ,oBAAoB;EACtC,CAAC;EAED,OAAO;CACT;CAEA,MAAM,cAAc,OAAO,YAA2C,WAAyB;EAC7F,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,gCACA,EAAE,MAAM,EAAE,WAAW,EAAE,GACvB,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,kBAAkB,OACtB,YACA,aACA,UACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAAI,sDAAsD;GACtF,MAAM;IAAE;IAAY;GAAY;GAChC;EACF,CAAC;EAED,OAAO;CACT;CAEA,MAAM,kBAAkB,OACtB,UACA,aACA,UACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,gEACA;GACE,MAAM;IAAE;IAAU;GAAY;GAC9B;EACF,CACF;EAEA,OAAO;CACT;CAEA,MAAM,gBAAgB,OACpB,YACA,aACA,OACA,WACmC;EACnC,MAAM,EAAE,MAAM,aAAa,MAAM,OAAO,IACtC,qDACA;GACE,MAAM;IAAE;IAAY;GAAY;GAChC;EACF,GACA,EAAE,OAAO,CACX;EAOA,OAAO;GACL,UANe,SAAS,QAAQ,IAAI,WAAW,YAAY,KAAK;GAOhE,SAAS;GACT,UAPyB,8BACzB,SAAS,QAAQ,IAAI,WAAW,mBAAmB,CAMxB,CAAC,EAAE,YAAY;EAC5C;CACF;CAEA,MAAM,cAAc,OAAO,WAAyB;EAClD,MAAM,EAAE,SAAS,MAAM,cAAc,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC;EAExE,OAAO;CACT;CAKA,OAAO;EACL;EACA,QAJa,gBAAgB,EAAE,YAAY,CAItC;EACL;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
|
package/dist/queue/index.cjs
CHANGED
package/dist/queue/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Br as CreateJobBody, Hr as KillJobPath, Jr as SearchGroupedJobsQuery, Qr as components, Vr as GetQueueJobPath, Wr as OrchestrationRerunPlanPath, Xr as SearchJobsQuery, qr as SearchAllJobsQuery } from "../index-
|
|
2
|
-
import
|
|
3
|
-
import { n as ClientInitOptions } from "../types-
|
|
4
|
-
|
|
1
|
+
import { Br as CreateJobBody, Hr as KillJobPath, Jr as SearchGroupedJobsQuery, Qr as components, Vr as GetQueueJobPath, Wr as OrchestrationRerunPlanPath, Xr as SearchJobsQuery, qr as SearchAllJobsQuery } from "../index-D1mduJne.cjs";
|
|
2
|
+
import "../index-qJ2IjXIM.cjs";
|
|
3
|
+
import { n as ClientInitOptions } from "../types-Dryq2GGE.cjs";
|
|
4
|
+
import { c as Poller } from "../index-24GpnYhn.cjs";
|
|
5
5
|
declare const createQueueClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
|
|
6
6
|
healthCheck: (signal?: AbortSignal) => Promise<unknown>;
|
|
7
7
|
poller: ({ init, interval, maxAttempts, timeout, signal }: {
|
|
@@ -483,6 +483,5 @@ declare const createQueueClient: ({ baseUrl, middlewares, auth }: ClientInitOpti
|
|
|
483
483
|
}[];
|
|
484
484
|
}>;
|
|
485
485
|
};
|
|
486
|
-
//#endregion
|
|
487
486
|
export { createQueueClient };
|
|
488
487
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/queue/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Br as CreateJobBody, Hr as KillJobPath, Jr as SearchGroupedJobsQuery, Qr as components, Vr as GetQueueJobPath, Wr as OrchestrationRerunPlanPath, Xr as SearchJobsQuery, qr as SearchAllJobsQuery } from "../index-
|
|
2
|
-
import
|
|
3
|
-
import { n as ClientInitOptions } from "../types-
|
|
4
|
-
|
|
1
|
+
import { Br as CreateJobBody, Hr as KillJobPath, Jr as SearchGroupedJobsQuery, Qr as components, Vr as GetQueueJobPath, Wr as OrchestrationRerunPlanPath, Xr as SearchJobsQuery, qr as SearchAllJobsQuery } from "../index-D1mduJne.js";
|
|
2
|
+
import "../index-BsT_cBJd.js";
|
|
3
|
+
import { n as ClientInitOptions } from "../types-DUpVIuk7.js";
|
|
4
|
+
import { c as Poller } from "../index-BUZ-vTRt.js";
|
|
5
5
|
declare const createQueueClient: ({ baseUrl, middlewares, auth }: ClientInitOptions) => {
|
|
6
6
|
healthCheck: (signal?: AbortSignal) => Promise<unknown>;
|
|
7
7
|
poller: ({ init, interval, maxAttempts, timeout, signal }: {
|
|
@@ -483,6 +483,5 @@ declare const createQueueClient: ({ baseUrl, middlewares, auth }: ClientInitOpti
|
|
|
483
483
|
}[];
|
|
484
484
|
}>;
|
|
485
485
|
};
|
|
486
|
-
//#endregion
|
|
487
486
|
export { createQueueClient };
|
|
488
487
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/queue/index.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { createQueueClient };
|
|
1
|
+
export { t as createQueueClient } from "../queue-BiIs9fX4.js";
|
package/dist/queue/types.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Br as CreateJobBody, Gr as QueueJob, Hr as KillJobPath, Jr as SearchGroupedJobsQuery, Kr as QueueJobStatus, Ur as OrchestrationRerunPlan, Vr as GetQueueJobPath, Wr as OrchestrationRerunPlanPath, Xr as SearchJobsQuery, Yr as SearchGroupedJobsResponse, Zr as SearchJobsResponse, qr as SearchAllJobsQuery } from "../index-
|
|
1
|
+
import { Br as CreateJobBody, Gr as QueueJob, Hr as KillJobPath, Jr as SearchGroupedJobsQuery, Kr as QueueJobStatus, Ur as OrchestrationRerunPlan, Vr as GetQueueJobPath, Wr as OrchestrationRerunPlanPath, Xr as SearchJobsQuery, Yr as SearchGroupedJobsResponse, Zr as SearchJobsResponse, qr as SearchAllJobsQuery } from "../index-D1mduJne.cjs";
|
|
2
2
|
export { CreateJobBody, GetQueueJobPath, KillJobPath, OrchestrationRerunPlan, OrchestrationRerunPlanPath, QueueJob, QueueJobStatus, SearchAllJobsQuery, SearchGroupedJobsQuery, SearchGroupedJobsResponse, SearchJobsQuery, SearchJobsResponse };
|
package/dist/queue/types.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Br as CreateJobBody, Gr as QueueJob, Hr as KillJobPath, Jr as SearchGroupedJobsQuery, Kr as QueueJobStatus, Ur as OrchestrationRerunPlan, Vr as GetQueueJobPath, Wr as OrchestrationRerunPlanPath, Xr as SearchJobsQuery, Yr as SearchGroupedJobsResponse, Zr as SearchJobsResponse, qr as SearchAllJobsQuery } from "../index-
|
|
1
|
+
import { Br as CreateJobBody, Gr as QueueJob, Hr as KillJobPath, Jr as SearchGroupedJobsQuery, Kr as QueueJobStatus, Ur as OrchestrationRerunPlan, Vr as GetQueueJobPath, Wr as OrchestrationRerunPlanPath, Xr as SearchJobsQuery, Yr as SearchGroupedJobsResponse, Zr as SearchJobsResponse, qr as SearchAllJobsQuery } from "../index-D1mduJne.js";
|
|
2
2
|
export { CreateJobBody, GetQueueJobPath, KillJobPath, OrchestrationRerunPlan, OrchestrationRerunPlanPath, QueueJob, QueueJobStatus, SearchAllJobsQuery, SearchGroupedJobsQuery, SearchGroupedJobsResponse, SearchJobsQuery, SearchJobsResponse };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
import {
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as
|
|
6
|
-
import { t as createAuthHeaders } from "./auth-
|
|
7
|
-
|
|
1
|
+
import { t as QueueJobError } from "./QueueJobError-BJNUINXW.js";
|
|
2
|
+
import { t as createGenericFetchClient } from "./createGenericFetchClient-wGxemBwR.js";
|
|
3
|
+
import { t as createOpenapiFetchClient } from "./createOpenapiFetchClient-Bhz62MUE.js";
|
|
4
|
+
import { t as collectByOffset } from "./collectByOffset-i8Tdoze7.js";
|
|
5
|
+
import { a as poller, n as jobStatus, t as transientRetries } from "./transientRetries-BKqmb85B.js";
|
|
6
|
+
import { t as createAuthHeaders } from "./auth-DYfQMQCs.js";
|
|
7
|
+
// src/clients/queue/poller.ts
|
|
8
8
|
const DEFAULT_POLL_INTERVAL = 2e3;
|
|
9
9
|
/**
|
|
10
10
|
* Waits on a queue job.
|
|
@@ -37,8 +37,7 @@ const createJobPoller = ({ getJob }) => ({ init, interval, maxAttempts, timeout,
|
|
|
37
37
|
signal
|
|
38
38
|
});
|
|
39
39
|
};
|
|
40
|
-
|
|
41
|
-
//#region src/clients/queue/queueClient.ts
|
|
40
|
+
// src/clients/queue/queueClient.ts
|
|
42
41
|
const createQueueClient = ({ baseUrl, middlewares, auth }) => {
|
|
43
42
|
const client = createOpenapiFetchClient({
|
|
44
43
|
baseUrl,
|
|
@@ -102,7 +101,6 @@ const createQueueClient = ({ baseUrl, middlewares, auth }) => {
|
|
|
102
101
|
getOrchestrationRerunPlan
|
|
103
102
|
};
|
|
104
103
|
};
|
|
105
|
-
//#endregion
|
|
106
104
|
export { createQueueClient as t };
|
|
107
105
|
|
|
108
|
-
//# sourceMappingURL=queue-
|
|
106
|
+
//# sourceMappingURL=queue-BiIs9fX4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-
|
|
1
|
+
{"version":3,"file":"queue-BiIs9fX4.js","names":[],"sources":["../src/clients/queue/poller.ts","../src/clients/queue/queueClient.ts"],"sourcesContent":["import { jobStatus } from '../../domain/jobStatus';\nimport { QueueJobError } from '../../errors';\nimport { poller } from '../../utils/async';\nimport { transientRetries } from '../transientRetries';\n\nimport type { GetQueueJobPath, QueueJob } from './types';\n\nconst DEFAULT_POLL_INTERVAL = 2000;\n\ntype QueueJobPollOptions = {\n interval?: number;\n maxAttempts?: number;\n timeout?: number;\n signal?: AbortSignal;\n};\n\ntype GetJob = (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => Promise<QueueJob>;\n\ntype JobRef = { id: GetQueueJobPath['jobId']; component: string };\n\n/**\n * Waits on a queue job.\n *\n * - `init` is the job, or the enqueue that yields it; the job names the poll in dev tools.\n * - `start()` resolves any terminal job; `wait()` throws `QueueJobError` for one that ended `error`.\n */\nexport const createJobPoller =\n ({ getJob }: { getJob: GetJob }) =>\n ({\n init,\n interval,\n maxAttempts,\n timeout,\n signal,\n }: QueueJobPollOptions & { init: JobRef | ((signal: AbortSignal) => Promise<JobRef>) }) => {\n const retries = transientRetries();\n\n return poller({\n pollKey: ({ id, component }) => ['queue.job', { id, component }] as const,\n init,\n pollFn: async ({ init: { id }, signal: pollSignal }) => {\n const job = await getJob(id, pollSignal);\n retries.reset();\n return job;\n },\n isRetryable: retries.isRetryable,\n until: ({ data }) => jobStatus.queue.isTerminal(data.status),\n failed: (job) => (job.status === 'error' ? new QueueJobError(job) : undefined),\n backoff: { type: 'constant', interval: interval ?? DEFAULT_POLL_INTERVAL },\n maxAttempts,\n timeout,\n signal,\n });\n };\n","import { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { collectByOffset } from '../../utils';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createJobPoller } from './poller';\nimport type {\n CreateJobBody,\n GetQueueJobPath,\n KillJobPath,\n OrchestrationRerunPlanPath,\n SearchAllJobsQuery,\n SearchGroupedJobsQuery,\n SearchJobsQuery,\n} from './types';\n\nexport const createQueueClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n });\n const genericClient = createGenericFetchClient({ baseUrl, middlewares });\n\n const getJob = async (jobId: GetQueueJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.get(\n '/jobs/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchJobs = async (query?: SearchJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n const searchAllJobs = (query: SearchAllJobsQuery, signal?: AbortSignal) => {\n return collectByOffset({\n pageSize: query.limit,\n signal,\n fetchFrom: (offset, pageSize, batchSignal) => {\n return searchJobs({ ...query, limit: pageSize, offset }, batchSignal);\n },\n });\n };\n\n const createJob = async (body: CreateJobBody, signal?: AbortSignal) => {\n const { data } = await client.post('/jobs', { body }, { signal });\n\n return data;\n };\n\n const killJob = async (jobId: KillJobPath['jobId'], signal?: AbortSignal) => {\n const { data } = await client.post(\n '/jobs/{jobId}/kill',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const searchGroupedJobs = async (query: SearchGroupedJobsQuery, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/search/grouped-jobs',\n {\n query,\n },\n { signal },\n );\n\n return data;\n };\n\n const getOrchestrationRerunPlan = async (\n jobId: OrchestrationRerunPlanPath['jobId'],\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/orchestration-rerun-plan/{jobId}',\n {\n path: { jobId },\n },\n { signal },\n );\n\n return data;\n };\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n // Every wait on a queue job is the same wait, so it is the client's rather than a caller's.\n const poller = createJobPoller({ getJob });\n\n return {\n healthCheck,\n poller,\n getJob,\n searchJobs,\n searchAllJobs,\n createJob,\n killJob,\n searchGroupedJobs,\n getOrchestrationRerunPlan,\n };\n};\n"],"mappings":";;;;;;;AAOA,MAAM,wBAAwB;;;;;;;AAmB9B,MAAa,mBACV,EAAE,cACF,EACC,MACA,UACA,aACA,SACA,aACyF;CACzF,MAAM,UAAU,iBAAiB;CAEjC,OAAO,OAAO;EACZ,UAAU,EAAE,IAAI,gBAAgB,CAAC,aAAa;GAAE;GAAI;EAAU,CAAC;EAC/D;EACA,QAAQ,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,iBAAiB;GACtD,MAAM,MAAM,MAAM,OAAO,IAAI,UAAU;GACvC,QAAQ,MAAM;GACd,OAAO;EACT;EACA,aAAa,QAAQ;EACrB,QAAQ,EAAE,WAAW,UAAU,MAAM,WAAW,KAAK,MAAM;EAC3D,SAAS,QAAS,IAAI,WAAW,UAAU,IAAI,cAAc,GAAG,IAAI,KAAA;EACpE,SAAS;GAAE,MAAM;GAAY,UAAU,YAAY;EAAsB;EACzE;EACA;EACA;CACF,CAAC;AACH;;ACpCF,MAAa,qBAAqB,EAAE,SAAS,aAAa,WAA8B;CACtF,MAAM,SAAS,yBAAgC;EAC7C;EACA;EACA,SAAS,kBAAkB,IAAI;CACjC,CAAC;CACD,MAAM,gBAAgB,yBAAyB;EAAE;EAAS;CAAY,CAAC;CAEvE,MAAM,SAAS,OAAO,OAAiC,WAAyB;EAC9E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,iBACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,aAAa,OAAO,OAAyB,WAAyB;EAC1E,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,gBACA,EACE,MACF,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,iBAAiB,OAA2B,WAAyB;EACzE,OAAO,gBAAgB;GACrB,UAAU,MAAM;GAChB;GACA,YAAY,QAAQ,UAAU,gBAAgB;IAC5C,OAAO,WAAW;KAAE,GAAG;KAAO,OAAO;KAAU;IAAO,GAAG,WAAW;GACtE;EACF,CAAC;CACH;CAEA,MAAM,YAAY,OAAO,MAAqB,WAAyB;EACrE,MAAM,EAAE,SAAS,MAAM,OAAO,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC;EAEhE,OAAO;CACT;CAEA,MAAM,UAAU,OAAO,OAA6B,WAAyB;EAC3E,MAAM,EAAE,SAAS,MAAM,OAAO,KAC5B,sBACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,oBAAoB,OAAO,OAA+B,WAAyB;EACvF,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,wBACA,EACE,MACF,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,4BAA4B,OAChC,OACA,WACG;EACH,MAAM,EAAE,SAAS,MAAM,OAAO,IAC5B,qCACA,EACE,MAAM,EAAE,MAAM,EAChB,GACA,EAAE,OAAO,CACX;EAEA,OAAO;CACT;CAEA,MAAM,cAAc,OAAO,WAAyB;EAClD,MAAM,EAAE,SAAS,MAAM,cAAc,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC;EAExE,OAAO;CACT;CAKA,OAAO;EACL;EACA,QAJa,gBAAgB,EAAE,OAAO,CAIjC;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
|