@keboola/api-client 41.0.0 → 42.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/API-SURFACE.md +43 -3
- package/CHANGELOG.md +158 -0
- package/README.md +1 -1
- package/dist/{ManagementClientAuthError-DE7lNGZQ.cjs → ManagementClientAuthError-BFZOtLgj.cjs} +2 -2
- package/dist/{ManagementClientAuthError-DE7lNGZQ.cjs.map → ManagementClientAuthError-BFZOtLgj.cjs.map} +1 -1
- package/dist/{ManagementClientAuthError-H30lti_Q.js → ManagementClientAuthError-DUbXlry2.js} +2 -2
- package/dist/{ManagementClientAuthError-H30lti_Q.js.map → ManagementClientAuthError-DUbXlry2.js.map} +1 -1
- package/dist/ai/index.cjs +2 -2
- package/dist/ai/index.js +2 -2
- package/dist/{appLogs-BBkkUOW1.js → appLogs-DfkItQCO.js} +2 -2
- package/dist/{appLogs-BBkkUOW1.js.map → appLogs-DfkItQCO.js.map} +1 -1
- package/dist/{appLogs-B9zFJIuy.cjs → appLogs-oZvt59mk.cjs} +2 -2
- package/dist/{appLogs-B9zFJIuy.cjs.map → appLogs-oZvt59mk.cjs.map} +1 -1
- package/dist/apps/index.cjs +3 -3
- package/dist/apps/index.js +3 -3
- package/dist/assets/index.cjs +1 -1
- package/dist/assets/index.js +1 -1
- 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 -1
- package/dist/auth/types.d.cts +2 -2
- package/dist/auth/types.d.ts +2 -2
- package/dist/{auth-DworfoPy.js → auth-DUHTJTwS.js} +2 -2
- package/dist/{auth-DworfoPy.js.map → auth-DUHTJTwS.js.map} +1 -1
- package/dist/{auth-Dm0F2rOh.cjs → auth-zfI04oj7.cjs} +2 -2
- package/dist/{auth-Dm0F2rOh.cjs.map → auth-zfI04oj7.cjs.map} +1 -1
- package/dist/{authClient-BmuUo0J4.cjs → authClient-BxqRGR5c.cjs} +39 -5
- package/dist/authClient-BxqRGR5c.cjs.map +1 -0
- package/dist/{authClient-vEt_7_uk.d.cts → authClient-CBVAT3v9.d.cts} +49 -2
- package/dist/{authClient-CHXWJ9x3.d.ts → authClient-CRumc934.d.ts} +49 -2
- package/dist/{authClient-CgcDGd30.js → authClient-CX4buUMc.js} +39 -5
- package/dist/authClient-CX4buUMc.js.map +1 -0
- package/dist/billing/index.cjs +2 -2
- package/dist/billing/index.js +2 -2
- package/dist/businessWorkspaceApi/index.cjs +1 -1
- package/dist/businessWorkspaceApi/index.js +1 -1
- package/dist/{businessWorkspaceApi-BLUdefRF.js → businessWorkspaceApi-DFky1k61.js} +3 -3
- package/dist/{businessWorkspaceApi-BLUdefRF.js.map → businessWorkspaceApi-DFky1k61.js.map} +1 -1
- package/dist/{businessWorkspaceApi-6tCDdpnY.cjs → businessWorkspaceApi-Uzqu0PJM.cjs} +3 -3
- package/dist/{businessWorkspaceApi-6tCDdpnY.cjs.map → businessWorkspaceApi-Uzqu0PJM.cjs.map} +1 -1
- package/dist/chat/index.cjs +3 -3
- package/dist/chat/index.js +3 -3
- package/dist/{componentId-_IKXxICq.cjs → componentId-D4jp6a13.cjs} +17 -1
- package/dist/componentId-D4jp6a13.cjs.map +1 -0
- package/dist/{componentId-BJLfnaGc.js → componentId-DmHwHG5V.js} +17 -1
- package/dist/componentId-DmHwHG5V.js.map +1 -0
- package/dist/{configurations-VlfQ_37Y.cjs → configurations-D_Rbs0Wl.cjs} +2 -2
- package/dist/{configurations-VlfQ_37Y.cjs.map → configurations-D_Rbs0Wl.cjs.map} +1 -1
- package/dist/{configurations-CF3xz7RB.js → configurations-DcpUlC8I.js} +2 -2
- package/dist/{configurations-CF3xz7RB.js.map → configurations-DcpUlC8I.js.map} +1 -1
- package/dist/constants/index.cjs +1 -1
- package/dist/constants/index.d.cts +1 -1
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/{createFetchClient-Cwp8max9.cjs → createFetchClient-BgihytBn.cjs} +2 -1
- package/dist/createFetchClient-BgihytBn.cjs.map +1 -0
- package/dist/{createFetchClient-DXHQK63w.js → createFetchClient-cgWkwgAQ.js} +2 -1
- package/dist/createFetchClient-cgWkwgAQ.js.map +1 -0
- package/dist/{createGenericFetchClient-Dl9cqTvR.cjs → createGenericFetchClient-C7Y0YVfc.cjs} +2 -2
- package/dist/{createGenericFetchClient-Dl9cqTvR.cjs.map → createGenericFetchClient-C7Y0YVfc.cjs.map} +1 -1
- package/dist/{createGenericFetchClient-Dg1rgzmG.js → createGenericFetchClient-CX9Hn3Aq.js} +2 -2
- package/dist/{createGenericFetchClient-Dg1rgzmG.js.map → createGenericFetchClient-CX9Hn3Aq.js.map} +1 -1
- package/dist/{createOpenapiFetchClient-DZUOVupy.js → createOpenapiFetchClient-BxcLLU_N.js} +2 -2
- package/dist/{createOpenapiFetchClient-DZUOVupy.js.map → createOpenapiFetchClient-BxcLLU_N.js.map} +1 -1
- package/dist/{createOpenapiFetchClient-BYqW-9tm.cjs → createOpenapiFetchClient-DY5s-aH6.cjs} +2 -2
- package/dist/{createOpenapiFetchClient-BYqW-9tm.cjs.map → createOpenapiFetchClient-DY5s-aH6.cjs.map} +1 -1
- package/dist/dataScience/index.cjs +2 -2
- package/dist/dataScience/index.js +2 -2
- package/dist/{dataScience-B5QxZnvW.cjs → dataScience-BoS8Xfvx.cjs} +5 -5
- package/dist/{dataScience-B5QxZnvW.cjs.map → dataScience-BoS8Xfvx.cjs.map} +1 -1
- package/dist/{dataScience-OXcwdk1p.js → dataScience-BxRoGfnG.js} +5 -5
- package/dist/{dataScience-OXcwdk1p.js.map → dataScience-BxRoGfnG.js.map} +1 -1
- package/dist/developerPortal/index.cjs +1 -1
- package/dist/developerPortal/index.js +1 -1
- package/dist/{developerPortalClient-B1QZ1rYi.js → developerPortalClient-C7s0kpjK.js} +3 -3
- package/dist/{developerPortalClient-B1QZ1rYi.js.map → developerPortalClient-C7s0kpjK.js.map} +1 -1
- package/dist/{developerPortalClient-CLPpBksD.cjs → developerPortalClient-DFHEsrlt.cjs} +3 -3
- package/dist/{developerPortalClient-CLPpBksD.cjs.map → developerPortalClient-DFHEsrlt.cjs.map} +1 -1
- package/dist/domain/permissions/index.d.cts +2 -2
- package/dist/domain/permissions/index.d.ts +2 -2
- package/dist/domain/storageTable/index.cjs +7 -1
- package/dist/domain/storageTable/index.d.cts +2 -2
- package/dist/domain/storageTable/index.d.ts +2 -2
- package/dist/domain/storageTable/index.js +2 -2
- package/dist/editor/index.cjs +2 -2
- package/dist/editor/index.js +2 -2
- package/dist/encryption/index.cjs +1 -1
- package/dist/encryption/index.d.cts +1 -1
- package/dist/encryption/index.d.ts +1 -1
- package/dist/encryption/index.js +1 -1
- package/dist/encryption/types.d.cts +1 -1
- package/dist/encryption/types.d.ts +1 -1
- package/dist/import/index.cjs +1 -1
- package/dist/import/index.js +1 -1
- package/dist/{import-CNk89mqy.cjs → import-BSYvG3Uy.cjs} +3 -3
- package/dist/{import-CNk89mqy.cjs.map → import-BSYvG3Uy.cjs.map} +1 -1
- package/dist/{import-DiMQCzLa.js → import-CXBcFVbk.js} +3 -3
- package/dist/{import-DiMQCzLa.js.map → import-CXBcFVbk.js.map} +1 -1
- package/dist/{index-DCRKjihs.d.ts → index-B03vhWSX.d.ts} +117 -90
- package/dist/{index-cWp_V6K5.d.cts → index-B2-7WJ-E.d.cts} +573 -78
- package/dist/{index-BDZvaRud.d.ts → index-B72LTF-k.d.ts} +6 -3
- package/dist/{index-DOAZmWvh.d.cts → index-BMiZx-4_.d.cts} +6 -3
- package/dist/{index--ZpnE3YT.d.cts → index-BUsLHNOA.d.cts} +2 -2
- package/dist/{index-D7-o-oGa.d.ts → index-CBWfpd-0.d.ts} +2 -2
- package/dist/index-CGCXR_6Q.d.ts +273 -0
- package/dist/{index-Cvbjp3jx.d.cts → index-CKENwClW.d.cts} +4 -4
- package/dist/{index-CaaTOANF.d.ts → index-CpE_NWuq.d.ts} +573 -78
- package/dist/{index-DnQTuc6t.d.ts → index-Cw-d6vV3.d.ts} +4 -4
- package/dist/{index-ByRpNVcs.d.cts → index-D3HFMfJJ.d.cts} +117 -90
- package/dist/index-DINB7vsV.d.cts +273 -0
- package/dist/{index-B5w7WlaU.d.cts → index-DeQDdut6.d.cts} +17 -1
- package/dist/{index-B5w7WlaU.d.ts → index-DeQDdut6.d.ts} +17 -1
- package/dist/{index-Qb7X6-ph.d.ts → index-DwM1EpnZ.d.ts} +12 -2
- package/dist/{index-CXcWpZQ2.d.ts → index-P1vR966i.d.cts} +74 -2
- package/dist/{index-CXcWpZQ2.d.cts → index-P1vR966i.d.ts} +74 -2
- package/dist/{index-DNThyEej.d.cts → index-VnJCp8IL.d.cts} +12 -2
- package/dist/index.cjs +65 -39
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +65 -40
- package/dist/index.js.map +1 -1
- package/dist/{isLoginPageRedirect-XPwAOKK3.js → isLoginPageRedirect-CsjF95_P.js} +2 -2
- package/dist/{isLoginPageRedirect-XPwAOKK3.js.map → isLoginPageRedirect-CsjF95_P.js.map} +1 -1
- package/dist/{isLoginPageRedirect-jQHiLrG7.cjs → isLoginPageRedirect-c451CoWW.cjs} +2 -2
- package/dist/{isLoginPageRedirect-jQHiLrG7.cjs.map → isLoginPageRedirect-c451CoWW.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 -1
- package/dist/{kaiAgent-QNoeVKPs.cjs → kaiAgent-ph4DRKlT.cjs} +21 -5
- package/dist/kaiAgent-ph4DRKlT.cjs.map +1 -0
- package/dist/{kaiAgent-Dp20HLTh.js → kaiAgent-xBpUwLeQ.js} +21 -5
- package/dist/kaiAgent-xBpUwLeQ.js.map +1 -0
- package/dist/{kaiMemory-D0Y_16U4.js → kaiMemory-BAniZZAN.js} +2 -2
- package/dist/{kaiMemory-D0Y_16U4.js.map → kaiMemory-BAniZZAN.js.map} +1 -1
- package/dist/{kaiMemory-CClSPInt.cjs → kaiMemory-U0DG-CpY.cjs} +2 -2
- package/dist/{kaiMemory-CClSPInt.cjs.map → kaiMemory-U0DG-CpY.cjs.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 -1
- package/dist/management/types.d.cts +2 -2
- package/dist/management/types.d.ts +2 -2
- package/dist/{management-CCY0IYnq.cjs → management-5597SiC7.cjs} +79 -11
- package/dist/management-5597SiC7.cjs.map +1 -0
- package/dist/{management-DvmPiG64.js → management-D46KlXts.js} +79 -11
- package/dist/management-D46KlXts.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 -1
- package/dist/metastore/types.d.cts +2 -2
- package/dist/metastore/types.d.ts +2 -2
- package/dist/{metastore-XtWciCZT.cjs → metastore-DwMFlP2d.cjs} +52 -7
- package/dist/metastore-DwMFlP2d.cjs.map +1 -0
- package/dist/{metastore-BycJxe7A.js → metastore-_OskcLGz.js} +52 -7
- package/dist/metastore-_OskcLGz.js.map +1 -0
- package/dist/microsoftGraph/index.cjs +2 -2
- package/dist/microsoftGraph/index.js +2 -2
- package/dist/{middleware-CBwrtgQd.js → middleware-Drbo_UIZ.js} +2 -2
- package/dist/{middleware-CBwrtgQd.js.map → middleware-Drbo_UIZ.js.map} +1 -1
- package/dist/{middleware-IjYx3d5u.cjs → middleware-xhg2r2fE.cjs} +2 -2
- package/dist/{middleware-IjYx3d5u.cjs.map → middleware-xhg2r2fE.cjs.map} +1 -1
- package/dist/notifications/index.cjs +3 -3
- package/dist/notifications/index.js +3 -3
- package/dist/oauth/index.cjs +1 -1
- package/dist/oauth/index.js +1 -1
- package/dist/{oauth--2p8jkJf.cjs → oauth-L0Uic3YA.cjs} +5 -5
- package/dist/{oauth--2p8jkJf.cjs.map → oauth-L0Uic3YA.cjs.map} +1 -1
- package/dist/{oauth-l5zE39cD.js → oauth-TWwAv-va.js} +5 -5
- package/dist/{oauth-l5zE39cD.js.map → oauth-TWwAv-va.js.map} +1 -1
- package/dist/omnisearch/index.cjs +2 -2
- package/dist/omnisearch/index.js +2 -2
- package/dist/{project-cHKuGvqJ.d.cts → project-B8wtlstY.d.cts} +2 -2
- package/dist/{project-B15gStbM.d.ts → project-BCc3mpAy.d.ts} +2 -2
- 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 -1
- package/dist/{queryService-CCOYbRbw.js → queryService-CdtogGr7.js} +5 -5
- package/dist/{queryService-CCOYbRbw.js.map → queryService-CdtogGr7.js.map} +1 -1
- package/dist/{queryService-CQzclHdL.cjs → queryService-Dx6AdxOl.cjs} +5 -5
- package/dist/{queryService-CQzclHdL.cjs.map → queryService-Dx6AdxOl.cjs.map} +1 -1
- package/dist/queue/index.cjs +1 -1
- package/dist/queue/index.d.cts +1 -1
- package/dist/queue/index.d.ts +1 -1
- package/dist/queue/index.js +1 -1
- package/dist/{queue-Cowbg6bR.js → queue-f2xsjy0o.js} +4 -4
- package/dist/{queue-Cowbg6bR.js.map → queue-f2xsjy0o.js.map} +1 -1
- package/dist/{queue-UG_BWKIC.cjs → queue-wIdnMtaZ.cjs} +4 -4
- package/dist/{queue-UG_BWKIC.cjs.map → queue-wIdnMtaZ.cjs.map} +1 -1
- package/dist/scheduler/index.cjs +3 -3
- package/dist/scheduler/index.js +3 -3
- package/dist/sdk/configurations/index.cjs +1 -1
- package/dist/sdk/configurations/index.d.cts +4 -4
- package/dist/sdk/configurations/index.d.ts +4 -4
- package/dist/sdk/configurations/index.js +1 -1
- package/dist/sdk/developerPortal/index.cjs +3 -3
- package/dist/sdk/developerPortal/index.js +3 -3
- package/dist/sdk/kaiMemory/index.cjs +1 -1
- package/dist/sdk/kaiMemory/index.d.cts +1 -1
- package/dist/sdk/kaiMemory/index.d.ts +1 -1
- package/dist/sdk/kaiMemory/index.js +1 -1
- package/dist/sdk/kaiMemory/types.d.cts +1 -1
- package/dist/sdk/kaiMemory/types.d.ts +1 -1
- package/dist/sdk/queryService/index.d.cts +1 -1
- package/dist/sdk/queryService/index.d.ts +1 -1
- package/dist/sdk/semanticLayer/index.cjs +2 -1
- package/dist/sdk/semanticLayer/index.d.cts +10 -3
- package/dist/sdk/semanticLayer/index.d.ts +10 -3
- package/dist/sdk/semanticLayer/index.js +2 -2
- package/dist/sdk/semanticLayer/types.d.cts +2 -2
- package/dist/sdk/semanticLayer/types.d.ts +2 -2
- package/dist/sdk/storage/index.cjs +12 -24
- package/dist/sdk/storage/index.cjs.map +1 -1
- package/dist/sdk/storage/index.d.cts +1 -1
- package/dist/sdk/storage/index.d.ts +1 -1
- package/dist/sdk/storage/index.js +12 -24
- package/dist/sdk/storage/index.js.map +1 -1
- package/dist/sdk/tag/index.d.cts +2 -2
- package/dist/sdk/tag/index.d.ts +2 -2
- package/dist/sdk/tag/types.d.cts +1 -1
- package/dist/sdk/tag/types.d.ts +1 -1
- package/dist/sdk/vault/index.d.cts +1 -1
- package/dist/sdk/vault/index.d.ts +1 -1
- package/dist/{semanticLayer-CKDVkU56.cjs → semanticLayer-D3NDh_QH.cjs} +115 -20
- package/dist/semanticLayer-D3NDh_QH.cjs.map +1 -0
- package/dist/{semanticLayer-pYy082Ju.js → semanticLayer-Ddg0LSnt.js} +110 -21
- package/dist/semanticLayer-Ddg0LSnt.js.map +1 -0
- package/dist/status/index.cjs +1 -1
- package/dist/status/index.js +1 -1
- package/dist/storage/index.cjs +4 -4
- package/dist/storage/index.d.cts +2 -2
- package/dist/storage/index.d.ts +2 -2
- package/dist/storage/index.js +4 -4
- package/dist/storage/types.d.cts +3 -3
- package/dist/storage/types.d.ts +3 -3
- package/dist/{storage-CZQHZcXG.js → storage-BkdjgtCU.js} +272 -134
- package/dist/storage-BkdjgtCU.js.map +1 -0
- package/dist/{storage-JinL1y1s.cjs → storage-CXQTTVXl.cjs} +272 -134
- package/dist/storage-CXQTTVXl.cjs.map +1 -0
- package/dist/{storageTable-C9crh4Ef.cjs → storageTable-BNOR2FCh.cjs} +137 -5
- package/dist/storageTable-BNOR2FCh.cjs.map +1 -0
- package/dist/{storageTable-DslXtqNL.js → storageTable-BldTNyEk.js} +102 -6
- package/dist/storageTable-BldTNyEk.js.map +1 -0
- package/dist/stream/index.cjs +3 -3
- package/dist/stream/index.js +3 -3
- package/dist/syncActions/index.cjs +4 -1
- package/dist/syncActions/index.d.cts +3 -2
- package/dist/syncActions/index.d.ts +3 -2
- package/dist/syncActions/index.js +2 -2
- package/dist/syncActions/types.d.cts +2 -2
- package/dist/syncActions/types.d.ts +2 -2
- package/dist/syncActions-BQ8kMgL6.js +1191 -0
- package/dist/syncActions-BQ8kMgL6.js.map +1 -0
- package/dist/syncActions-DyxNmbUR.cjs +1216 -0
- package/dist/syncActions-DyxNmbUR.cjs.map +1 -0
- package/dist/telemetry/index.cjs +3 -3
- package/dist/telemetry/index.js +3 -3
- package/dist/{types-DWiLcrxt.d.cts → types-04GTqleJ.d.cts} +3 -3
- package/dist/{types-DRCMBt89.d.ts → types-2Do0DZ60.d.ts} +3 -3
- package/dist/{types-Dtuvhm3K.d.cts → types-BWmLo73i.d.cts} +749 -186
- package/dist/{types-CQFOCQzk.d.ts → types-BaSlU0uo.d.ts} +510 -5
- package/dist/{types-DEzW1CfI.d.cts → types-BgHtMe8s.d.cts} +3 -3
- package/dist/{types-BiMahEK8.d.cts → types-BgVt8SUY.d.cts} +126 -62
- package/dist/{types-BS4jwuMi.d.ts → types-BhEx9iRx.d.ts} +3068 -621
- package/dist/{types-CMzQSHAQ.d.cts → types-BzPuxmaR.d.cts} +3 -3
- package/dist/{types-CKmTZSPG.d.ts → types-C0rVtqz2.d.ts} +126 -62
- package/dist/{types-Bl03Cg2n.d.cts → types-CAAgCRmE.d.cts} +31 -5
- package/dist/{types-BIECJYun.d.ts → types-CN6huo55.d.ts} +406 -5
- package/dist/{types-Cg14ncdV.d.ts → types-CV7jmgtX.d.ts} +3 -3
- package/dist/{types-CqwHP7mN.d.cts → types-CcYxlqtB.d.cts} +510 -5
- package/dist/{types-FwRmjsNN.d.ts → types-CigD_EF5.d.ts} +18 -6
- package/dist/{types-B_iLJlp4.d.ts → types-CwZgZqrA.d.ts} +31 -5
- package/dist/{types-BTK7Bv3n.d.cts → types-DgPt4LY_.d.cts} +406 -5
- package/dist/{types-bc-4z_gc.d.cts → types-DyArI_Jq.d.cts} +18 -6
- package/dist/{types-DekYAlA-.d.ts → types-QSchmyvO.d.ts} +3 -3
- package/dist/{types-DKc1gmd9.d.ts → types-R3AFJD6r.d.ts} +749 -186
- package/dist/{types-DDOa07rU.d.cts → types-sV9OaqTI.d.cts} +3068 -621
- package/dist/{validateConnectionStatus-BEYkQpu9.cjs → validateConnectionStatus-Ca1uEizv.cjs} +3 -3
- package/dist/{validateConnectionStatus-BEYkQpu9.cjs.map → validateConnectionStatus-Ca1uEizv.cjs.map} +1 -1
- package/dist/{validateConnectionStatus-BEGu8wXT.js → validateConnectionStatus-gFsBi5FV.js} +3 -3
- package/dist/{validateConnectionStatus-BEGu8wXT.js.map → validateConnectionStatus-gFsBi5FV.js.map} +1 -1
- package/dist/vault/index.cjs +4 -4
- package/dist/vault/index.js +4 -4
- package/package.json +7 -7
- package/surface/auth.md +7 -0
- package/surface/kaiAgent.md +4 -2
- package/surface/management.md +28 -13
- package/surface/metastore.md +4 -1
- package/surface/queue.md +1 -1
- package/surface/sdk.md +13 -8
- package/surface/storage.md +27 -24
- package/surface/syncActions.md +48 -1
- package/dist/authClient-BmuUo0J4.cjs.map +0 -1
- package/dist/authClient-CgcDGd30.js.map +0 -1
- package/dist/componentId-BJLfnaGc.js.map +0 -1
- package/dist/componentId-_IKXxICq.cjs.map +0 -1
- package/dist/createFetchClient-Cwp8max9.cjs.map +0 -1
- package/dist/createFetchClient-DXHQK63w.js.map +0 -1
- package/dist/index-DbLFwXgb.d.cts +0 -116
- package/dist/index-rwK7GcB2.d.ts +0 -116
- package/dist/kaiAgent-Dp20HLTh.js.map +0 -1
- package/dist/kaiAgent-QNoeVKPs.cjs.map +0 -1
- package/dist/management-CCY0IYnq.cjs.map +0 -1
- package/dist/management-DvmPiG64.js.map +0 -1
- package/dist/metastore-BycJxe7A.js.map +0 -1
- package/dist/metastore-XtWciCZT.cjs.map +0 -1
- package/dist/semanticLayer-CKDVkU56.cjs.map +0 -1
- package/dist/semanticLayer-pYy082Ju.js.map +0 -1
- package/dist/storage-CZQHZcXG.js.map +0 -1
- package/dist/storage-JinL1y1s.cjs.map +0 -1
- package/dist/storageTable-C9crh4Ef.cjs.map +0 -1
- package/dist/storageTable-DslXtqNL.js.map +0 -1
- package/dist/syncActions-ChNWuhYA.js +0 -646
- package/dist/syncActions-ChNWuhYA.js.map +0 -1
- package/dist/syncActions-mFlF16cl.cjs +0 -653
- package/dist/syncActions-mFlF16cl.cjs.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
const require_jobStatus = require("./jobStatus-BMlsyXWI.cjs");
|
|
2
2
|
const require_concurrent = require("./concurrent-CdVfR1N5.cjs");
|
|
3
|
-
const require_createFetchClient = require("./createFetchClient-
|
|
4
|
-
const require_validateConnectionStatus = require("./validateConnectionStatus-
|
|
5
|
-
const require_createGenericFetchClient = require("./createGenericFetchClient-
|
|
6
|
-
const require_createOpenapiFetchClient = require("./createOpenapiFetchClient-
|
|
7
|
-
const require_auth = require("./auth-
|
|
3
|
+
const require_createFetchClient = require("./createFetchClient-BgihytBn.cjs");
|
|
4
|
+
const require_validateConnectionStatus = require("./validateConnectionStatus-Ca1uEizv.cjs");
|
|
5
|
+
const require_createGenericFetchClient = require("./createGenericFetchClient-C7Y0YVfc.cjs");
|
|
6
|
+
const require_createOpenapiFetchClient = require("./createOpenapiFetchClient-DY5s-aH6.cjs");
|
|
7
|
+
const require_auth = require("./auth-zfI04oj7.cjs");
|
|
8
8
|
//#region src/utils/async/series.ts
|
|
9
9
|
/**
|
|
10
10
|
* Executes a callback function on an array of items in series (one at a time).
|
|
@@ -229,15 +229,16 @@ const createBranches = (client, poller) => {
|
|
|
229
229
|
*
|
|
230
230
|
* - Only they need table metadata refreshed, manually or on a cron.
|
|
231
231
|
* - Job returns are asserted: the spec's flat `JobResponse` is not the `Job<T>` union.
|
|
232
|
-
* - The `POST /buckets/register` spec lacks the `
|
|
232
|
+
* - The `POST /buckets/register` spec lacks the `bucketRegister` job response.
|
|
233
|
+
* - Registration and its guide work in the default branch only.
|
|
233
234
|
*/
|
|
234
235
|
const createBucketExternal = (client) => {
|
|
235
236
|
/**
|
|
236
|
-
* @link https://api.keboola.com/?service=storage#storage/POST/v2/storage/buckets/register
|
|
237
|
+
* @link https://api.keboola.com/?service=storage#storage/POST/v2/storage/branch/{branchId}/buckets/register
|
|
237
238
|
*/
|
|
238
|
-
const registerBucketAsync = async (body, signal) => {
|
|
239
|
-
const { data } = await client.post("/v2/storage/buckets/register", {
|
|
240
|
-
|
|
239
|
+
const registerBucketAsync = async ({ branchId, ...body }, signal) => {
|
|
240
|
+
const { data } = await client.post("/v2/storage/branch/{branchId}/buckets/register", {
|
|
241
|
+
path: { branchId },
|
|
241
242
|
body
|
|
242
243
|
}, { signal });
|
|
243
244
|
return data;
|
|
@@ -245,21 +246,27 @@ const createBucketExternal = (client) => {
|
|
|
245
246
|
/**
|
|
246
247
|
* Returns markdown.
|
|
247
248
|
*
|
|
248
|
-
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/GET/v2/storage/buckets/register-guide
|
|
249
|
+
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/GET/v2/storage/branch/{branchId}/buckets/register-guide
|
|
249
250
|
*/
|
|
250
|
-
const getBucketRegistrationGuide = async (query, signal) => {
|
|
251
|
-
const { data } = await client.get("/v2/storage/buckets/register-guide", {
|
|
251
|
+
const getBucketRegistrationGuide = async ({ branchId, ...query }, signal) => {
|
|
252
|
+
const { data } = await client.get("/v2/storage/branch/{branchId}/buckets/register-guide", {
|
|
253
|
+
path: { branchId },
|
|
254
|
+
query
|
|
255
|
+
}, {
|
|
252
256
|
signal,
|
|
253
257
|
queryArrayFormat: "brackets"
|
|
254
258
|
});
|
|
255
259
|
return data;
|
|
256
260
|
};
|
|
257
261
|
/**
|
|
258
|
-
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/PUT/v2/storage/buckets/{bucketId}/refresh
|
|
262
|
+
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/PUT/v2/storage/branch/{branchId}/buckets/{bucketId}/refresh
|
|
259
263
|
*/
|
|
260
|
-
const refreshExternalBucketAsync = async ({ bucketId, ...query }, signal) => {
|
|
261
|
-
const { data } = await client.put("/v2/storage/buckets/{bucketId}/refresh", {
|
|
262
|
-
path: {
|
|
264
|
+
const refreshExternalBucketAsync = async ({ branchId, bucketId, ...query }, signal) => {
|
|
265
|
+
const { data } = await client.put("/v2/storage/branch/{branchId}/buckets/{bucketId}/refresh", {
|
|
266
|
+
path: {
|
|
267
|
+
branchId,
|
|
268
|
+
bucketId
|
|
269
|
+
},
|
|
263
270
|
query
|
|
264
271
|
}, { signal });
|
|
265
272
|
return data;
|
|
@@ -337,18 +344,24 @@ const createBucketListings = (openApiClient) => {
|
|
|
337
344
|
* - `bigquery` is present only for a BigQuery bucket.
|
|
338
345
|
* - Its `subscribers` are raw `user:`/`group:` principals; decode with `fromBackendSubscribers`.
|
|
339
346
|
*/
|
|
340
|
-
const getListing = async (bucketId, signal) => {
|
|
347
|
+
const getListing = async ({ branchId, bucketId }, signal) => {
|
|
341
348
|
try {
|
|
342
|
-
const { data } = await openApiClient.get("/v2/storage/buckets/{bucketId}/listing", { path: {
|
|
349
|
+
const { data } = await openApiClient.get("/v2/storage/branch/{branchId}/buckets/{bucketId}/listing", { path: {
|
|
350
|
+
branchId,
|
|
351
|
+
bucketId
|
|
352
|
+
} }, { signal });
|
|
343
353
|
return data;
|
|
344
354
|
} catch (error) {
|
|
345
355
|
if (require_createFetchClient.isApiError(error) && error.response.status === 404) return null;
|
|
346
356
|
throw error;
|
|
347
357
|
}
|
|
348
358
|
};
|
|
349
|
-
const createListingAsync = async ({ bucketId, ...input }, signal) => {
|
|
350
|
-
const { data } = await openApiClient.post("/v2/storage/buckets/{bucketId}/listing", {
|
|
351
|
-
path: {
|
|
359
|
+
const createListingAsync = async ({ branchId, bucketId, ...input }, signal) => {
|
|
360
|
+
const { data } = await openApiClient.post("/v2/storage/branch/{branchId}/buckets/{bucketId}/listing", {
|
|
361
|
+
path: {
|
|
362
|
+
branchId,
|
|
363
|
+
bucketId
|
|
364
|
+
},
|
|
352
365
|
body: {
|
|
353
366
|
listingName: input.name,
|
|
354
367
|
listingDescription: input.description?.trim() || null,
|
|
@@ -363,15 +376,21 @@ const createBucketListings = (openApiClient) => {
|
|
|
363
376
|
/**
|
|
364
377
|
* Rejects when `name`, `description` and `subscribers` are all absent; gate on the form's dirty state.
|
|
365
378
|
*/
|
|
366
|
-
const updateListingAsync = async ({ bucketId, ...input }, signal) => {
|
|
367
|
-
const { data } = await openApiClient.patch("/v2/storage/buckets/{bucketId}/listing", {
|
|
368
|
-
path: {
|
|
379
|
+
const updateListingAsync = async ({ branchId, bucketId, ...input }, signal) => {
|
|
380
|
+
const { data } = await openApiClient.patch("/v2/storage/branch/{branchId}/buckets/{bucketId}/listing", {
|
|
381
|
+
path: {
|
|
382
|
+
branchId,
|
|
383
|
+
bucketId
|
|
384
|
+
},
|
|
369
385
|
body: toUpdateListingBody(input)
|
|
370
386
|
}, { signal });
|
|
371
387
|
return data;
|
|
372
388
|
};
|
|
373
|
-
const deleteListingAsync = async (bucketId, signal) => {
|
|
374
|
-
const { data } = await openApiClient.delete("/v2/storage/buckets/{bucketId}/listing", { path: {
|
|
389
|
+
const deleteListingAsync = async ({ branchId, bucketId }, signal) => {
|
|
390
|
+
const { data } = await openApiClient.delete("/v2/storage/branch/{branchId}/buckets/{bucketId}/listing", { path: {
|
|
391
|
+
branchId,
|
|
392
|
+
bucketId
|
|
393
|
+
} }, { signal });
|
|
375
394
|
return data;
|
|
376
395
|
};
|
|
377
396
|
/** Every listing the token can manage. Rows carry `bucketId`, unlike the detail response. */
|
|
@@ -393,9 +412,9 @@ const createBucketListings = (openApiClient) => {
|
|
|
393
412
|
* Spec mismatches behind the assertions below:
|
|
394
413
|
* - Job returns: the spec's flat `JobResponse` vs the `Job<T>` union; on delete, 204 shadows the 202.
|
|
395
414
|
* - List/create responses are really `Bucket[]` / a bucket detail; list `include` is comma-joined.
|
|
396
|
-
* -
|
|
415
|
+
* - Update body requires `displayName`; the API accepts any subset.
|
|
397
416
|
*/
|
|
398
|
-
const createBuckets = (openApiClient
|
|
417
|
+
const createBuckets = (openApiClient) => {
|
|
399
418
|
const getBuckets = async ({ branchId, ...query }, signal) => {
|
|
400
419
|
const { data } = await openApiClient.get("/v2/storage/branch/{branchId}/buckets", {
|
|
401
420
|
path: { branchId },
|
|
@@ -422,13 +441,19 @@ const createBuckets = (openApiClient, client) => {
|
|
|
422
441
|
}, { signal });
|
|
423
442
|
return data;
|
|
424
443
|
};
|
|
425
|
-
const createBucket = async (body) => {
|
|
426
|
-
const { data } = await openApiClient.post("/v2/storage/buckets", {
|
|
444
|
+
const createBucket = async ({ branchId, ...body }) => {
|
|
445
|
+
const { data } = await openApiClient.post("/v2/storage/branch/{branchId}/buckets", {
|
|
446
|
+
path: { branchId },
|
|
447
|
+
body
|
|
448
|
+
});
|
|
427
449
|
return data;
|
|
428
450
|
};
|
|
429
|
-
const updateBucket = async ({ bucketId, ...body }) => {
|
|
430
|
-
const { data } = await
|
|
431
|
-
path: {
|
|
451
|
+
const updateBucket = async ({ branchId, bucketId, ...body }) => {
|
|
452
|
+
const { data } = await openApiClient.put("/v2/storage/branch/{branchId}/buckets/{bucketId}", {
|
|
453
|
+
path: {
|
|
454
|
+
branchId,
|
|
455
|
+
bucketId
|
|
456
|
+
},
|
|
432
457
|
body
|
|
433
458
|
});
|
|
434
459
|
return data;
|
|
@@ -439,19 +464,25 @@ const createBuckets = (openApiClient, client) => {
|
|
|
439
464
|
* - Refused on the stacks we test against (`400 storage.buckets.syncDeleteDisabled`); prefer
|
|
440
465
|
* `deleteBucketAsync`.
|
|
441
466
|
*
|
|
442
|
-
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/DELETE/v2/storage/buckets/{bucketId}
|
|
467
|
+
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/DELETE/v2/storage/branch/{branchId}/buckets/{bucketId}
|
|
443
468
|
*/
|
|
444
|
-
const deleteBucket = async (
|
|
445
|
-
await openApiClient.delete("/v2/storage/buckets/{bucketId}", { path: {
|
|
469
|
+
const deleteBucket = async ({ branchId, bucketId }) => {
|
|
470
|
+
await openApiClient.delete("/v2/storage/branch/{branchId}/buckets/{bucketId}", { path: {
|
|
471
|
+
branchId,
|
|
472
|
+
bucketId
|
|
473
|
+
} });
|
|
446
474
|
};
|
|
447
475
|
/**
|
|
448
476
|
* Deletes a bucket asynchronously and returns a job to poll. Required on GCP stacks.
|
|
449
477
|
*
|
|
450
|
-
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/DELETE/v2/storage/buckets/{bucketId}
|
|
478
|
+
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/DELETE/v2/storage/branch/{branchId}/buckets/{bucketId}
|
|
451
479
|
*/
|
|
452
|
-
const deleteBucketAsync = async ({ bucketId, ...query }) => {
|
|
453
|
-
const { data } = await openApiClient.delete("/v2/storage/buckets/{bucketId}", {
|
|
454
|
-
path: {
|
|
480
|
+
const deleteBucketAsync = async ({ branchId, bucketId, ...query }) => {
|
|
481
|
+
const { data } = await openApiClient.delete("/v2/storage/branch/{branchId}/buckets/{bucketId}", {
|
|
482
|
+
path: {
|
|
483
|
+
branchId,
|
|
484
|
+
bucketId
|
|
485
|
+
},
|
|
455
486
|
query: {
|
|
456
487
|
async: true,
|
|
457
488
|
...query
|
|
@@ -477,11 +508,14 @@ const createBuckets = (openApiClient, client) => {
|
|
|
477
508
|
/**
|
|
478
509
|
* Changes the owner of a bucket (by `id` or `email`).
|
|
479
510
|
*
|
|
480
|
-
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/buckets/{bucketId}/owner
|
|
511
|
+
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/branch/{branchId}/buckets/{bucketId}/owner
|
|
481
512
|
*/
|
|
482
|
-
const updateBucketOwner = async ({ bucketId, ...body }, signal) => {
|
|
483
|
-
await openApiClient.post("/v2/storage/buckets/{bucketId}/owner", {
|
|
484
|
-
path: {
|
|
513
|
+
const updateBucketOwner = async ({ branchId, bucketId, ...body }, signal) => {
|
|
514
|
+
await openApiClient.post("/v2/storage/branch/{branchId}/buckets/{bucketId}/owner", {
|
|
515
|
+
path: {
|
|
516
|
+
branchId,
|
|
517
|
+
bucketId
|
|
518
|
+
},
|
|
485
519
|
body
|
|
486
520
|
}, { signal });
|
|
487
521
|
};
|
|
@@ -530,8 +564,7 @@ const createBuckets = (openApiClient, client) => {
|
|
|
530
564
|
/**
|
|
531
565
|
* Spec mismatches behind the assertions below:
|
|
532
566
|
* - Job returns: the spec's flat `JobResponse` (or no body) vs the `Job<T>` union.
|
|
533
|
-
* - Share/
|
|
534
|
-
* - Share-to-projects/users bodies are stubbed; force-unlink `linkedProjectId` is really a string.
|
|
567
|
+
* - Share-to-projects/users bodies are stubbed.
|
|
535
568
|
* - `sharedBuckets` is not asserted, so it returns the spec's `Record<string, never>[]`.
|
|
536
569
|
*/
|
|
537
570
|
const createBucketSharing = (openApiClient) => {
|
|
@@ -541,13 +574,10 @@ const createBucketSharing = (openApiClient) => {
|
|
|
541
574
|
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/branch/{branchId}/buckets/{bucketId}/share-organization
|
|
542
575
|
*/
|
|
543
576
|
const shareBucketToOrganizationAsync = async ({ branchId, bucketId }, signal) => {
|
|
544
|
-
const { data } = await openApiClient.post("/v2/storage/branch/{branchId}/buckets/{bucketId}/share-organization", {
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
},
|
|
549
|
-
query: { async: true }
|
|
550
|
-
}, { signal });
|
|
577
|
+
const { data } = await openApiClient.post("/v2/storage/branch/{branchId}/buckets/{bucketId}/share-organization", { path: {
|
|
578
|
+
branchId,
|
|
579
|
+
bucketId
|
|
580
|
+
} }, { signal });
|
|
551
581
|
return data;
|
|
552
582
|
};
|
|
553
583
|
/**
|
|
@@ -556,13 +586,10 @@ const createBucketSharing = (openApiClient) => {
|
|
|
556
586
|
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/branch/{branchId}/buckets/{bucketId}/share-organization-project
|
|
557
587
|
*/
|
|
558
588
|
const shareBucketToOrganizationProjectAsync = async ({ branchId, bucketId }, signal) => {
|
|
559
|
-
const { data } = await openApiClient.post("/v2/storage/branch/{branchId}/buckets/{bucketId}/share-organization-project", {
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
},
|
|
564
|
-
query: { async: true }
|
|
565
|
-
}, { signal });
|
|
589
|
+
const { data } = await openApiClient.post("/v2/storage/branch/{branchId}/buckets/{bucketId}/share-organization-project", { path: {
|
|
590
|
+
branchId,
|
|
591
|
+
bucketId
|
|
592
|
+
} }, { signal });
|
|
566
593
|
return data;
|
|
567
594
|
};
|
|
568
595
|
/**
|
|
@@ -576,7 +603,6 @@ const createBucketSharing = (openApiClient) => {
|
|
|
576
603
|
branchId,
|
|
577
604
|
bucketId
|
|
578
605
|
},
|
|
579
|
-
query: { async: true },
|
|
580
606
|
body
|
|
581
607
|
}, { signal });
|
|
582
608
|
return data;
|
|
@@ -592,7 +618,6 @@ const createBucketSharing = (openApiClient) => {
|
|
|
592
618
|
branchId,
|
|
593
619
|
bucketId
|
|
594
620
|
},
|
|
595
|
-
query: { async: true },
|
|
596
621
|
body
|
|
597
622
|
}, { signal });
|
|
598
623
|
return data;
|
|
@@ -603,13 +628,10 @@ const createBucketSharing = (openApiClient) => {
|
|
|
603
628
|
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/DELETE/v2/storage/branch/{branchId}/buckets/{bucketId}/share
|
|
604
629
|
*/
|
|
605
630
|
const unshareBucketAsync = async ({ branchId, bucketId }, signal) => {
|
|
606
|
-
const { data } = await openApiClient.delete("/v2/storage/branch/{branchId}/buckets/{bucketId}/share", {
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
},
|
|
611
|
-
query: { async: true }
|
|
612
|
-
}, { signal });
|
|
631
|
+
const { data } = await openApiClient.delete("/v2/storage/branch/{branchId}/buckets/{bucketId}/share", { path: {
|
|
632
|
+
branchId,
|
|
633
|
+
bucketId
|
|
634
|
+
} }, { signal });
|
|
613
635
|
return data;
|
|
614
636
|
};
|
|
615
637
|
/**
|
|
@@ -618,24 +640,22 @@ const createBucketSharing = (openApiClient) => {
|
|
|
618
640
|
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/DELETE/v2/storage/branch/{branchId}/buckets/{bucketId}/links/{linkedProjectId}
|
|
619
641
|
*/
|
|
620
642
|
const forceUnlinkBucketAsync = async ({ branchId, bucketId, linkedProjectId }, signal) => {
|
|
621
|
-
const { data } = await openApiClient.delete("/v2/storage/branch/{branchId}/buckets/{bucketId}/links/{linkedProjectId}", {
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
},
|
|
627
|
-
query: { async: true }
|
|
628
|
-
}, { signal });
|
|
643
|
+
const { data } = await openApiClient.delete("/v2/storage/branch/{branchId}/buckets/{bucketId}/links/{linkedProjectId}", { path: {
|
|
644
|
+
branchId,
|
|
645
|
+
bucketId,
|
|
646
|
+
linkedProjectId
|
|
647
|
+
} }, { signal });
|
|
629
648
|
return data;
|
|
630
649
|
};
|
|
631
650
|
/**
|
|
632
651
|
* Links a bucket shared with this project into it. Async — returns a job to poll, whose `results`
|
|
633
652
|
* is the new bucket.
|
|
634
653
|
*
|
|
635
|
-
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/buckets
|
|
654
|
+
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/branch/{branchId}/buckets
|
|
636
655
|
*/
|
|
637
|
-
const linkBucketAsync = async (body, signal) => {
|
|
638
|
-
const { data } = await openApiClient.post("/v2/storage/buckets", {
|
|
656
|
+
const linkBucketAsync = async ({ branchId, ...body }, signal) => {
|
|
657
|
+
const { data } = await openApiClient.post("/v2/storage/branch/{branchId}/buckets", {
|
|
658
|
+
path: { branchId },
|
|
639
659
|
query: { async: true },
|
|
640
660
|
body
|
|
641
661
|
}, { signal });
|
|
@@ -931,6 +951,49 @@ const createConfigurationRows = (client) => {
|
|
|
931
951
|
};
|
|
932
952
|
};
|
|
933
953
|
//#endregion
|
|
954
|
+
//#region src/clients/storage/configurations/batch.ts
|
|
955
|
+
const BATCH_LIMIT = 1e3;
|
|
956
|
+
const inChunks = (items) => Array.from({ length: Math.ceil(items.length / BATCH_LIMIT) }, (_, index) => items.slice(index * BATCH_LIMIT, (index + 1) * BATCH_LIMIT));
|
|
957
|
+
const asError = (reason, fallback) => reason instanceof Error ? reason : new Error(fallback, { cause: reason });
|
|
958
|
+
/**
|
|
959
|
+
* The per-item results one batch job's wait ended with, or why there are none.
|
|
960
|
+
*
|
|
961
|
+
* - A wait that did not finish carries the poll's own error.
|
|
962
|
+
* - A job that failed as a whole carries its `error` and no results.
|
|
963
|
+
*/
|
|
964
|
+
const settleBatchJob = (operation, end) => {
|
|
965
|
+
if (end.state === "aborted") return { error: asError(end.reason, `The ${operation} job wait was aborted.`) };
|
|
966
|
+
if (end.state !== "done") return { error: end.error ?? /* @__PURE__ */ new Error(`The ${operation} job ${end.state} after ${end.attempt} attempts.`) };
|
|
967
|
+
const job = end.data;
|
|
968
|
+
if (job.status === "success") return { results: job.results };
|
|
969
|
+
if (job.status === "error") return job.results ? { results: job.results } : { error: new Error(job.error.message, { cause: job.error }) };
|
|
970
|
+
return { error: /* @__PURE__ */ new Error(`The ${operation} job ended as ${job.status}.`) };
|
|
971
|
+
};
|
|
972
|
+
/**
|
|
973
|
+
* Runs a batch as one job per `BATCH_LIMIT` items, in order, merging what each job reports.
|
|
974
|
+
*
|
|
975
|
+
* - Rejects only when the first job cannot be enqueued: nothing has been processed then.
|
|
976
|
+
* - Stops at the first job that reports no per-item results; `error` says why.
|
|
977
|
+
*/
|
|
978
|
+
const runInChunks = async (items, runJob, merge, empty) => {
|
|
979
|
+
let results = empty;
|
|
980
|
+
for (const [index, chunk] of inChunks(items).entries()) {
|
|
981
|
+
const settled = await runJob(chunk).catch((reason) => {
|
|
982
|
+
if (index === 0) throw reason;
|
|
983
|
+
return { error: asError(reason, "A batch job could not be enqueued.") };
|
|
984
|
+
});
|
|
985
|
+
if (settled.error) return {
|
|
986
|
+
...results,
|
|
987
|
+
error: settled.error
|
|
988
|
+
};
|
|
989
|
+
results = merge(results, settled.results);
|
|
990
|
+
}
|
|
991
|
+
return {
|
|
992
|
+
...results,
|
|
993
|
+
error: null
|
|
994
|
+
};
|
|
995
|
+
};
|
|
996
|
+
//#endregion
|
|
934
997
|
//#region src/clients/storage/configurations/utils.ts
|
|
935
998
|
/**
|
|
936
999
|
* Sends `expectedVersion` as `If-Match`. Storage answers:
|
|
@@ -960,7 +1023,7 @@ const parseSyncJobId = (headers) => {
|
|
|
960
1023
|
* - `BaseComponentConfig` re-tightens and re-types spec fields, so the shapes never fully overlap.
|
|
961
1024
|
* - `ComponentConfig<T>` is a conditional over an unresolved `T`, which TS won't convert against.
|
|
962
1025
|
*/
|
|
963
|
-
const createConfigurations = (client) => {
|
|
1026
|
+
const createConfigurations = (client, poller) => {
|
|
964
1027
|
const getConfiguration = async ({ componentId, configId, branchId }, signal) => {
|
|
965
1028
|
const { data } = await client.get("/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}", { path: {
|
|
966
1029
|
componentId,
|
|
@@ -1084,21 +1147,77 @@ const createConfigurations = (client) => {
|
|
|
1084
1147
|
} }, { headers: { ...createVersionPrecondition(expectedVersion) } });
|
|
1085
1148
|
};
|
|
1086
1149
|
/**
|
|
1087
|
-
* Purge
|
|
1150
|
+
* Purge every listed configuration in one request. Async — returns a job to poll.
|
|
1088
1151
|
*
|
|
1089
|
-
* -
|
|
1090
|
-
*
|
|
1152
|
+
* - At most `BATCH_LIMIT` (1000) items; `purgeConfigurationsAndWait` splits a longer list.
|
|
1153
|
+
* - A job that ends `error` still purged everything in `results.purged`; purging cannot be undone.
|
|
1154
|
+
* - Default branch only, and the token needs `canPurgeTrash`.
|
|
1091
1155
|
*/
|
|
1092
|
-
const
|
|
1093
|
-
await
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
})
|
|
1100
|
-
});
|
|
1156
|
+
const purgeConfigurationsAsync = async ({ branchId, configs }, signal) => {
|
|
1157
|
+
const { data } = await client.post("/v2/storage/branch/{branchId}/components/configs/batch-purge", {
|
|
1158
|
+
path: { branchId },
|
|
1159
|
+
body: { configurations: configs.map(({ componentId, configId, expectedVersion }) => ({
|
|
1160
|
+
componentId,
|
|
1161
|
+
configurationId: configId,
|
|
1162
|
+
version: expectedVersion
|
|
1163
|
+
})) }
|
|
1164
|
+
}, { signal });
|
|
1165
|
+
return data;
|
|
1101
1166
|
};
|
|
1167
|
+
/**
|
|
1168
|
+
* Purges every listed configuration, one job per 1000, and waits for each to finish.
|
|
1169
|
+
*
|
|
1170
|
+
* - Resolves with every job's `purged` / `failed` merged, and `error` when it stopped early.
|
|
1171
|
+
* - Rejects only when the first job cannot be enqueued, so a rejection means nothing was purged.
|
|
1172
|
+
*/
|
|
1173
|
+
const purgeConfigurationsAndWait = ({ branchId, configs }, options) => runInChunks(configs, async (chunk) => {
|
|
1174
|
+
const end = await poller(await purgeConfigurationsAsync({
|
|
1175
|
+
branchId,
|
|
1176
|
+
configs: chunk
|
|
1177
|
+
}, options?.signal), options).start();
|
|
1178
|
+
return settleBatchJob("purge", end);
|
|
1179
|
+
}, (all, next) => ({
|
|
1180
|
+
purged: [...all.purged, ...next.purged],
|
|
1181
|
+
failed: [...all.failed, ...next.failed]
|
|
1182
|
+
}), {
|
|
1183
|
+
purged: [],
|
|
1184
|
+
failed: []
|
|
1185
|
+
});
|
|
1186
|
+
/**
|
|
1187
|
+
* Restore every listed configuration in one request. Async — returns a job to poll.
|
|
1188
|
+
*
|
|
1189
|
+
* - Items carry no version: restoring is reversible and makes a new version rather than
|
|
1190
|
+
* destroying one. The finished job reports that new version per restored item.
|
|
1191
|
+
* - At most `BATCH_LIMIT` (1000) items; `restoreConfigurationsAndWait` splits a longer list.
|
|
1192
|
+
*/
|
|
1193
|
+
const restoreConfigurationsAsync = async ({ branchId, configs }, signal) => {
|
|
1194
|
+
const { data } = await client.post("/v2/storage/branch/{branchId}/components/configs/batch-restore", {
|
|
1195
|
+
path: { branchId },
|
|
1196
|
+
body: { configurations: configs.map(({ componentId, configId }) => ({
|
|
1197
|
+
componentId,
|
|
1198
|
+
configurationId: configId
|
|
1199
|
+
})) }
|
|
1200
|
+
}, { signal });
|
|
1201
|
+
return data;
|
|
1202
|
+
};
|
|
1203
|
+
/**
|
|
1204
|
+
* Restores every listed configuration, one job per 1000, and waits for each to finish.
|
|
1205
|
+
*
|
|
1206
|
+
* - Resolves with every job's `restored` / `failed` merged, and `error` when it stopped early.
|
|
1207
|
+
*/
|
|
1208
|
+
const restoreConfigurationsAndWait = ({ branchId, configs }, options) => runInChunks(configs, async (chunk) => {
|
|
1209
|
+
const end = await poller(await restoreConfigurationsAsync({
|
|
1210
|
+
branchId,
|
|
1211
|
+
configs: chunk
|
|
1212
|
+
}, options?.signal), options).start();
|
|
1213
|
+
return settleBatchJob("restore", end);
|
|
1214
|
+
}, (all, next) => ({
|
|
1215
|
+
restored: [...all.restored, ...next.restored],
|
|
1216
|
+
failed: [...all.failed, ...next.failed]
|
|
1217
|
+
}), {
|
|
1218
|
+
restored: [],
|
|
1219
|
+
failed: []
|
|
1220
|
+
});
|
|
1102
1221
|
const restoreConfiguration = async ({ branchId, componentId, configId }) => {
|
|
1103
1222
|
const { data } = await client.post("/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/restore", { path: {
|
|
1104
1223
|
branchId,
|
|
@@ -1157,9 +1276,12 @@ const createConfigurations = (client) => {
|
|
|
1157
1276
|
deleteConfiguration,
|
|
1158
1277
|
deleteConfigurations,
|
|
1159
1278
|
purgeConfiguration,
|
|
1160
|
-
|
|
1279
|
+
purgeConfigurationsAsync,
|
|
1280
|
+
purgeConfigurationsAndWait,
|
|
1161
1281
|
getConfigurations,
|
|
1162
1282
|
restoreConfiguration,
|
|
1283
|
+
restoreConfigurationsAsync,
|
|
1284
|
+
restoreConfigurationsAndWait,
|
|
1163
1285
|
resetConfigurationToDefault,
|
|
1164
1286
|
searchComponentConfigurations
|
|
1165
1287
|
};
|
|
@@ -1505,21 +1627,31 @@ const createJobs = (openApiClient) => {
|
|
|
1505
1627
|
//#endregion
|
|
1506
1628
|
//#region src/clients/storage/poller.ts
|
|
1507
1629
|
const DEFAULT_POLL_INTERVAL = 2e3;
|
|
1508
|
-
const
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1630
|
+
const MAX_CONSECUTIVE_POLL_FAILURES = 5;
|
|
1631
|
+
const isTransient = (error) => error instanceof TypeError || require_createFetchClient.isApiError(error) && (error.response.status >= 500 || error.response.status === 429);
|
|
1632
|
+
const createJobPoller = ({ getJob }) => ({ id, operationName }, { interval, maxAttempts, timeout, signal } = {}) => {
|
|
1633
|
+
let failures = 0;
|
|
1634
|
+
return require_jobStatus.poller({
|
|
1635
|
+
pollKey: ["storage.job", {
|
|
1636
|
+
jobId: id,
|
|
1637
|
+
operation: operationName
|
|
1638
|
+
}],
|
|
1639
|
+
pollFn: async ({ pollKey: [, params], signal: pollSignal }) => {
|
|
1640
|
+
const job = await getJob(params.jobId, pollSignal);
|
|
1641
|
+
failures = 0;
|
|
1642
|
+
return job;
|
|
1643
|
+
},
|
|
1644
|
+
isRetryable: (error) => isTransient(error) && ++failures < MAX_CONSECUTIVE_POLL_FAILURES,
|
|
1645
|
+
until: ({ data }) => require_jobStatus.jobStatus.storage.isTerminal(data.status),
|
|
1646
|
+
backoff: {
|
|
1647
|
+
type: "constant",
|
|
1648
|
+
interval: interval ?? DEFAULT_POLL_INTERVAL
|
|
1649
|
+
},
|
|
1650
|
+
maxAttempts,
|
|
1651
|
+
timeout,
|
|
1652
|
+
signal
|
|
1653
|
+
});
|
|
1654
|
+
};
|
|
1523
1655
|
//#endregion
|
|
1524
1656
|
//#region src/clients/storage/refreshTokenMiddleware.ts
|
|
1525
1657
|
const isTokenRefreshEndpoint = (request) => {
|
|
@@ -1663,7 +1795,7 @@ const createStats = (client) => {
|
|
|
1663
1795
|
};
|
|
1664
1796
|
//#endregion
|
|
1665
1797
|
//#region src/clients/storage/tables/tables.ts
|
|
1666
|
-
const createTables = (client
|
|
1798
|
+
const createTables = (client) => {
|
|
1667
1799
|
/**
|
|
1668
1800
|
* Returns every table in the given branch. Filter by bucket client-side: `table.bucket?.id`
|
|
1669
1801
|
* (needs `include: ['buckets']`) or the `{bucketId}.` prefix of `table.id`.
|
|
@@ -1754,13 +1886,14 @@ const createTables = (client, genericClient) => {
|
|
|
1754
1886
|
/**
|
|
1755
1887
|
* Exports a table to a file. Async — returns a job.
|
|
1756
1888
|
*
|
|
1757
|
-
*
|
|
1758
|
-
*
|
|
1759
|
-
* @link https://api.keboola.com/?service=storage#storage/tag/tables/POST/v2/storage/tables/{tableId}/export-async
|
|
1889
|
+
* @link https://api.keboola.com/?service=storage#storage/tag/tables/POST/v2/storage/branch/{branchId}/tables/{tableId}/export-async
|
|
1760
1890
|
*/
|
|
1761
|
-
const exportAsync = async ({ tableId, ...body }, signal) => {
|
|
1762
|
-
const { data } = await client.post("/v2/storage/tables/{tableId}/export-async", {
|
|
1763
|
-
path: {
|
|
1891
|
+
const exportAsync = async ({ branchId, tableId, ...body }, signal) => {
|
|
1892
|
+
const { data } = await client.post("/v2/storage/branch/{branchId}/tables/{tableId}/export-async", {
|
|
1893
|
+
path: {
|
|
1894
|
+
branchId,
|
|
1895
|
+
tableId
|
|
1896
|
+
},
|
|
1764
1897
|
body
|
|
1765
1898
|
}, { signal });
|
|
1766
1899
|
return data;
|
|
@@ -1822,15 +1955,16 @@ const createTables = (client, genericClient) => {
|
|
|
1822
1955
|
/**
|
|
1823
1956
|
* Updates a table's display name (synchronous). Use `updateTableDefinition` for typed tables.
|
|
1824
1957
|
*
|
|
1825
|
-
* - Generic client, unbranched: the spec has no path for it; the caller's middleware adds the
|
|
1826
|
-
* branch prefix.
|
|
1827
1958
|
* - The synchronous form is deprecated backend-side; `?async=true` returns a `tableUpdate` job.
|
|
1828
1959
|
*
|
|
1829
|
-
* @link https://api.keboola.com/?service=storage#storage/tag/tables
|
|
1960
|
+
* @link https://api.keboola.com/?service=storage#storage/tag/tables/PUT/v2/storage/branch/{branchId}/tables/{tableId}
|
|
1830
1961
|
*/
|
|
1831
|
-
const updateTable = async ({ tableId, ...body }, signal) => {
|
|
1832
|
-
const { data } = await
|
|
1833
|
-
path: {
|
|
1962
|
+
const updateTable = async ({ branchId, tableId, ...body }, signal) => {
|
|
1963
|
+
const { data } = await client.put("/v2/storage/branch/{branchId}/tables/{tableId}", {
|
|
1964
|
+
path: {
|
|
1965
|
+
branchId,
|
|
1966
|
+
tableId
|
|
1967
|
+
},
|
|
1834
1968
|
body
|
|
1835
1969
|
}, { signal });
|
|
1836
1970
|
return data;
|
|
@@ -1850,15 +1984,19 @@ const createTables = (client, genericClient) => {
|
|
|
1850
1984
|
return data;
|
|
1851
1985
|
};
|
|
1852
1986
|
/**
|
|
1853
|
-
* Creates an alias table in the given bucket.
|
|
1854
|
-
* synchronously; for BigQuery VIEW-persisted aliases the API instead returns an `aliasCreate`
|
|
1855
|
-
* storage job, so the response is typed as a union — narrow on `operationName` before use.
|
|
1987
|
+
* Creates an alias table in the given bucket.
|
|
1856
1988
|
*
|
|
1857
|
-
*
|
|
1989
|
+
* - Returns the alias `Table` (201), or an `aliasCreate` job (202) when the destination backend
|
|
1990
|
+
* persists alias VIEWs (driver support plus a project feature flag) — narrow on `operationName`.
|
|
1991
|
+
*
|
|
1992
|
+
* @link https://api.keboola.com/?service=storage#storage/tag/tables/POST/v2/storage/branch/{branchId}/buckets/{bucketId}/table-aliases
|
|
1858
1993
|
*/
|
|
1859
|
-
const createAliasTable = async ({ bucketId, ...body }, signal) => {
|
|
1860
|
-
const { data } = await
|
|
1861
|
-
path: {
|
|
1994
|
+
const createAliasTable = async ({ branchId, bucketId, ...body }, signal) => {
|
|
1995
|
+
const { data } = await client.post("/v2/storage/branch/{branchId}/buckets/{bucketId}/table-aliases", {
|
|
1996
|
+
path: {
|
|
1997
|
+
branchId,
|
|
1998
|
+
bucketId
|
|
1999
|
+
},
|
|
1862
2000
|
body
|
|
1863
2001
|
}, { signal });
|
|
1864
2002
|
return data;
|
|
@@ -2229,11 +2367,11 @@ const createStorageClient = ({ baseUrl, auth, middlewares = [], onRefreshToken }
|
|
|
2229
2367
|
healthCheck,
|
|
2230
2368
|
getStackInfo,
|
|
2231
2369
|
jobs,
|
|
2232
|
-
buckets: createBuckets(client
|
|
2370
|
+
buckets: createBuckets(client),
|
|
2233
2371
|
bucketSharing: createBucketSharing(client),
|
|
2234
2372
|
bucketListings: createBucketListings(client),
|
|
2235
2373
|
bucketExternal: createBucketExternal(client),
|
|
2236
|
-
tables: createTables(client
|
|
2374
|
+
tables: createTables(client),
|
|
2237
2375
|
columns: createColumns(client),
|
|
2238
2376
|
snapshots: createSnapshots(client),
|
|
2239
2377
|
branches: createBranches(client, poller),
|
|
@@ -2246,7 +2384,7 @@ const createStorageClient = ({ baseUrl, auth, middlewares = [], onRefreshToken }
|
|
|
2246
2384
|
search: createSearch(client),
|
|
2247
2385
|
stats: createStats(client),
|
|
2248
2386
|
components: createComponents(client),
|
|
2249
|
-
configurations: createConfigurations(client),
|
|
2387
|
+
configurations: createConfigurations(client, poller),
|
|
2250
2388
|
configurationRows: createConfigurationRows(client),
|
|
2251
2389
|
configurationWorkspaces: createConfigurationWorkspaces(client),
|
|
2252
2390
|
configurationMetadata: createConfigurationMetadata(client),
|
|
@@ -2291,4 +2429,4 @@ Object.defineProperty(exports, "toBackendSubscribers", {
|
|
|
2291
2429
|
}
|
|
2292
2430
|
});
|
|
2293
2431
|
|
|
2294
|
-
//# sourceMappingURL=storage-
|
|
2432
|
+
//# sourceMappingURL=storage-CXQTTVXl.cjs.map
|