@keboola/api-client 39.0.0 → 41.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 +121 -100
- package/API-SURFACE.md +27 -2
- package/CHANGELOG.md +129 -0
- package/README.md +3 -3
- package/dist/{ManagementClientAuthError-FcfMJNhr.cjs → ManagementClientAuthError-DE7lNGZQ.cjs} +2 -2
- package/dist/{ManagementClientAuthError-FcfMJNhr.cjs.map → ManagementClientAuthError-DE7lNGZQ.cjs.map} +1 -1
- package/dist/{ManagementClientAuthError-Cr9IOsnJ.js → ManagementClientAuthError-H30lti_Q.js} +2 -2
- package/dist/{ManagementClientAuthError-Cr9IOsnJ.js.map → ManagementClientAuthError-H30lti_Q.js.map} +1 -1
- package/dist/{ValidationError-CLVJCCwH.cjs → ValidationError-D65QU0uq.cjs} +10 -16
- package/dist/ValidationError-D65QU0uq.cjs.map +1 -0
- package/dist/ValidationError-DjhtNMfZ.js +42 -0
- package/dist/ValidationError-DjhtNMfZ.js.map +1 -0
- package/dist/ai/index.cjs +2 -2
- package/dist/ai/index.d.cts +2 -2
- package/dist/ai/index.d.ts +2 -2
- package/dist/ai/index.js +2 -2
- package/dist/ai/types.d.cts +1 -1
- package/dist/ai/types.d.ts +1 -1
- package/dist/{appLogs-C_zP0lpv.cjs → appLogs-B9zFJIuy.cjs} +2 -2
- package/dist/{appLogs-C_zP0lpv.cjs.map → appLogs-B9zFJIuy.cjs.map} +1 -1
- package/dist/{appLogs-Cl7Q_MR9.js → appLogs-BBkkUOW1.js} +2 -2
- package/dist/{appLogs-Cl7Q_MR9.js.map → appLogs-BBkkUOW1.js.map} +1 -1
- package/dist/{appLogs-Ch7DYpzx.d.ts → appLogs-BS6ViVGR.d.ts} +2 -2
- package/dist/{appLogs-D5A13Y0y.d.cts → appLogs-C9YlJ2g8.d.cts} +2 -2
- package/dist/apps/index.cjs +30 -56
- package/dist/apps/index.cjs.map +1 -1
- package/dist/apps/index.d.cts +8 -13
- package/dist/apps/index.d.ts +8 -13
- package/dist/apps/index.js +30 -56
- package/dist/apps/index.js.map +1 -1
- package/dist/apps/types.d.cts +2 -2
- package/dist/apps/types.d.ts +2 -2
- package/dist/assets/index.cjs +1 -1
- package/dist/assets/index.d.cts +1 -1
- package/dist/assets/index.d.ts +1 -1
- package/dist/assets/index.js +1 -1
- package/dist/auth/index.cjs +8 -4
- package/dist/auth/index.d.cts +2 -2
- package/dist/auth/index.d.ts +2 -2
- package/dist/auth/index.js +2 -2
- package/dist/auth/types.d.cts +2 -2
- package/dist/auth/types.d.ts +2 -2
- package/dist/{auth-DLWnl18b.cjs → auth-Dm0F2rOh.cjs} +2 -2
- package/dist/{auth-DLWnl18b.cjs.map → auth-Dm0F2rOh.cjs.map} +1 -1
- package/dist/{auth-BjmkFOgd.js → auth-DworfoPy.js} +2 -2
- package/dist/{auth-BjmkFOgd.js.map → auth-DworfoPy.js.map} +1 -1
- package/dist/{authClient-8yU1last.cjs → authClient-BmuUo0J4.cjs} +141 -48
- package/dist/authClient-BmuUo0J4.cjs.map +1 -0
- package/dist/{authClient-CTHNs6Tq.d.cts → authClient-CHXWJ9x3.d.ts} +109 -76
- package/dist/{authClient-BTo4Afm6.js → authClient-CgcDGd30.js} +108 -39
- package/dist/authClient-CgcDGd30.js.map +1 -0
- package/dist/{authClient-D8i3JTM-.d.ts → authClient-vEt_7_uk.d.cts} +109 -76
- package/dist/billing/index.cjs +2 -2
- package/dist/billing/index.d.cts +1 -1
- package/dist/billing/index.d.ts +1 -1
- package/dist/billing/index.js +2 -2
- package/dist/billing/types.d.cts +1 -1
- package/dist/billing/types.d.ts +1 -1
- package/dist/businessWorkspaceApi/index.cjs +1 -1
- package/dist/businessWorkspaceApi/index.d.cts +1 -1
- package/dist/businessWorkspaceApi/index.d.ts +1 -1
- package/dist/businessWorkspaceApi/index.js +1 -1
- package/dist/businessWorkspaceApi/types.d.cts +1 -1
- package/dist/businessWorkspaceApi/types.d.ts +1 -1
- package/dist/{businessWorkspaceApi-wyBdbpIJ.cjs → businessWorkspaceApi-6tCDdpnY.cjs} +3 -3
- package/dist/{businessWorkspaceApi-wyBdbpIJ.cjs.map → businessWorkspaceApi-6tCDdpnY.cjs.map} +1 -1
- package/dist/{businessWorkspaceApi-BD-iUj07.js → businessWorkspaceApi-BLUdefRF.js} +3 -3
- package/dist/{businessWorkspaceApi-BD-iUj07.js.map → businessWorkspaceApi-BLUdefRF.js.map} +1 -1
- package/dist/{businessWorkspaceApiClient-CRM1U8b-.d.cts → businessWorkspaceApiClient-BHDJlHFo.d.cts} +3 -3
- package/dist/{businessWorkspaceApiClient-C2WyWN3b.d.ts → businessWorkspaceApiClient-DI-z1VIH.d.ts} +3 -3
- package/dist/chat/index.cjs +7 -3
- package/dist/chat/index.cjs.map +1 -1
- package/dist/chat/index.d.cts +2 -2
- package/dist/chat/index.d.ts +2 -2
- package/dist/chat/index.js +7 -3
- package/dist/chat/index.js.map +1 -1
- package/dist/chat/types.cjs +1 -3
- package/dist/chat/types.cjs.map +1 -1
- package/dist/chat/types.d.cts +2 -2
- package/dist/chat/types.d.ts +2 -2
- package/dist/chat/types.js +1 -3
- package/dist/chat/types.js.map +1 -1
- package/dist/{componentId-vJz-kWs6.js → componentId-BJLfnaGc.js} +6 -2
- package/dist/componentId-BJLfnaGc.js.map +1 -0
- package/dist/{componentId-DkyQ8PM0.cjs → componentId-_IKXxICq.cjs} +6 -2
- package/dist/componentId-_IKXxICq.cjs.map +1 -0
- package/dist/{concurrent-CH9fbNr3.js → concurrent-BacWxPwi.js} +5 -7
- package/dist/concurrent-BacWxPwi.js.map +1 -0
- package/dist/{concurrent-tbiIa0UL.cjs → concurrent-CdVfR1N5.cjs} +5 -7
- package/dist/concurrent-CdVfR1N5.cjs.map +1 -0
- package/dist/{configurations-CyFF9Dtu.cjs → configurations-BTRHVSRq.cjs} +20 -53
- package/dist/configurations-BTRHVSRq.cjs.map +1 -0
- package/dist/{configurations-VtNE0nrT.js → configurations-CF3xz7RB.js} +14 -22
- package/dist/configurations-CF3xz7RB.js.map +1 -0
- package/dist/{configurations-BVvcimzo.js → configurations-Chg_JwJ1.js} +20 -53
- package/dist/configurations-Chg_JwJ1.js.map +1 -0
- package/dist/{configurations-zkNjr73Q.cjs → configurations-VlfQ_37Y.cjs} +14 -22
- package/dist/configurations-VlfQ_37Y.cjs.map +1 -0
- 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-BlgPbjFj.cjs → createFetchClient-Cwp8max9.cjs} +11 -4
- package/dist/createFetchClient-Cwp8max9.cjs.map +1 -0
- package/dist/{createFetchClient-C-cadpBx.js → createFetchClient-DXHQK63w.js} +11 -4
- package/dist/createFetchClient-DXHQK63w.js.map +1 -0
- package/dist/{createGenericFetchClient-Bnf1QK9W.js → createGenericFetchClient-Dg1rgzmG.js} +2 -2
- package/dist/{createGenericFetchClient-Bnf1QK9W.js.map → createGenericFetchClient-Dg1rgzmG.js.map} +1 -1
- package/dist/{createGenericFetchClient-lcozzwk2.cjs → createGenericFetchClient-Dl9cqTvR.cjs} +2 -2
- package/dist/{createGenericFetchClient-lcozzwk2.cjs.map → createGenericFetchClient-Dl9cqTvR.cjs.map} +1 -1
- package/dist/{createOpenapiFetchClient-C3UmDXpe.cjs → createOpenapiFetchClient-BYqW-9tm.cjs} +2 -2
- package/dist/{createOpenapiFetchClient-C3UmDXpe.cjs.map → createOpenapiFetchClient-BYqW-9tm.cjs.map} +1 -1
- package/dist/{createOpenapiFetchClient-COaPeeQ0.js → createOpenapiFetchClient-DZUOVupy.js} +2 -2
- package/dist/{createOpenapiFetchClient-COaPeeQ0.js.map → createOpenapiFetchClient-DZUOVupy.js.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-D-hyc4GY.cjs → dataScience-B5QxZnvW.cjs} +5 -5
- package/dist/{dataScience-D-hyc4GY.cjs.map → dataScience-B5QxZnvW.cjs.map} +1 -1
- package/dist/{dataScience-B_BmnB1m.js → dataScience-OXcwdk1p.js} +5 -5
- package/dist/{dataScience-B_BmnB1m.js.map → dataScience-OXcwdk1p.js.map} +1 -1
- package/dist/dedupe-Cky1gSUu.js +21 -0
- package/dist/dedupe-Cky1gSUu.js.map +1 -0
- package/dist/dedupe-OSnnst2u.cjs +26 -0
- package/dist/dedupe-OSnnst2u.cjs.map +1 -0
- 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 -1
- package/dist/developerPortal/types.d.cts +1 -1
- package/dist/developerPortal/types.d.ts +1 -1
- package/dist/{developerPortalClient-yHFTkKPb.js → developerPortalClient-B1QZ1rYi.js} +6 -8
- package/dist/{developerPortalClient-yHFTkKPb.js.map → developerPortalClient-B1QZ1rYi.js.map} +1 -1
- package/dist/{developerPortalClient-CutPqoAa.cjs → developerPortalClient-CLPpBksD.cjs} +6 -8
- package/dist/{developerPortalClient-CutPqoAa.cjs.map → developerPortalClient-CLPpBksD.cjs.map} +1 -1
- package/dist/domain/permissions/index.cjs +9 -30
- package/dist/domain/permissions/index.cjs.map +1 -1
- package/dist/domain/permissions/index.d.cts +29 -102
- package/dist/domain/permissions/index.d.ts +29 -102
- package/dist/domain/permissions/index.js +9 -30
- package/dist/domain/permissions/index.js.map +1 -1
- package/dist/domain/storageTable/index.d.cts +1 -1
- package/dist/domain/storageTable/index.d.ts +1 -1
- package/dist/editor/index.cjs +2 -2
- package/dist/editor/index.cjs.map +1 -1
- package/dist/editor/index.d.cts +2 -2
- package/dist/editor/index.d.ts +2 -2
- package/dist/editor/index.js +2 -2
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/types.d.cts +1 -1
- package/dist/editor/types.d.ts +1 -1
- package/dist/encryption/index.cjs +2 -22
- package/dist/encryption/index.cjs.map +1 -1
- package/dist/encryption/index.d.cts +1 -1
- package/dist/encryption/index.d.ts +1 -1
- package/dist/encryption/index.js +2 -22
- package/dist/encryption/index.js.map +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.d.cts +3 -3
- package/dist/import/index.d.ts +3 -3
- package/dist/import/index.js +1 -1
- package/dist/{import-7YyyD_U_.cjs → import-CNk89mqy.cjs} +3 -3
- package/dist/{import-7YyyD_U_.cjs.map → import-CNk89mqy.cjs.map} +1 -1
- package/dist/{import-xliONVib.js → import-DiMQCzLa.js} +3 -3
- package/dist/{import-xliONVib.js.map → import-DiMQCzLa.js.map} +1 -1
- package/dist/{index-1r_CskjU.d.ts → index--ZpnE3YT.d.cts} +3 -3
- package/dist/{index-DBklbaTp.d.cts → index-B5w7WlaU.d.cts} +5 -1
- package/dist/{index-DBklbaTp.d.ts → index-B5w7WlaU.d.ts} +5 -1
- package/dist/{index-C77vTm2K.d.ts → index-BDZvaRud.d.ts} +6 -6
- package/dist/{index-KuQ79Mnz.d.ts → index-BVhHt5lx.d.cts} +18 -26
- package/dist/{index-NC1dXRTD.d.ts → index-BfqkgPGI.d.cts} +7 -13
- package/dist/{index-NC1dXRTD.d.cts → index-BfqkgPGI.d.ts} +7 -13
- package/dist/{index-V7XKUQm9.d.cts → index-BgR5zcjJ.d.ts} +18 -26
- package/dist/{index-BK-qHT39.d.ts → index-ByRpNVcs.d.cts} +83 -17
- package/dist/{index-pXN4LWUX.d.ts → index-C11JSxBY.d.ts} +8 -11
- package/dist/{index-GjcJTCbz.d.cts → index-C4TNAA8-.d.cts} +8 -11
- package/dist/{index-BMqLPS6S.d.ts → index-CXcWpZQ2.d.cts} +4 -12
- package/dist/{index-BMqLPS6S.d.cts → index-CXcWpZQ2.d.ts} +4 -12
- package/dist/{index-GfKzh267.d.ts → index-CaaTOANF.d.ts} +395 -297
- package/dist/{index-Dx52hNLP.d.cts → index-CcMHJcuP.d.cts} +3 -3
- package/dist/{index-DVw4Av4b.d.cts → index-Cvbjp3jx.d.cts} +6 -6
- package/dist/{index-DppA4k3b.d.cts → index-Cz0MXhzs.d.cts} +5 -5
- package/dist/{index-6Xe81qN3.d.ts → index-D-VMgpGc.d.ts} +5 -5
- package/dist/{index-DWf6FXOr.d.cts → index-D7-o-oGa.d.ts} +3 -3
- package/dist/{index-CWoEnDJ_.d.cts → index-DCRKjihs.d.ts} +83 -17
- package/dist/{kaiAgentClient-CHpULyeG.d.cts → index-DNThyEej.d.cts} +14 -5
- package/dist/{index-DXSmFkol.d.cts → index-DOAZmWvh.d.cts} +6 -6
- package/dist/{index-BuegqrS1.d.ts → index-D_-4uQF8.d.ts} +3 -3
- package/dist/index-DbLFwXgb.d.cts +116 -0
- package/dist/{index-De5qUWhp.d.ts → index-DnQTuc6t.d.ts} +6 -6
- package/dist/{kaiAgentClient-B5L4gbQ1.d.ts → index-Qb7X6-ph.d.ts} +14 -5
- package/dist/{index-CHXnJQ9s.d.cts → index-cWp_V6K5.d.cts} +395 -297
- package/dist/index-rwK7GcB2.d.ts +116 -0
- package/dist/index.cjs +1498 -901
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +1497 -902
- package/dist/index.js.map +1 -1
- package/dist/isLoginPageRedirect-XPwAOKK3.js +14 -0
- package/dist/isLoginPageRedirect-XPwAOKK3.js.map +1 -0
- package/dist/isLoginPageRedirect-jQHiLrG7.cjs +19 -0
- package/dist/isLoginPageRedirect-jQHiLrG7.cjs.map +1 -0
- package/dist/{jobStatus-0_Y3Sr4i.cjs → jobStatus-BMlsyXWI.cjs} +19 -45
- package/dist/jobStatus-BMlsyXWI.cjs.map +1 -0
- package/dist/{jobStatus-PSZJMTiA.js → jobStatus-CfRtsIpv.js} +19 -45
- package/dist/jobStatus-CfRtsIpv.js.map +1 -0
- package/dist/kaiAgent/index.cjs +1 -1
- package/dist/kaiAgent/index.d.cts +3 -2
- package/dist/kaiAgent/index.d.ts +3 -2
- package/dist/kaiAgent/index.js +1 -1
- package/dist/kaiAgent/types.d.cts +2 -2
- package/dist/kaiAgent/types.d.ts +2 -2
- package/dist/{kaiAgent-CcT2oNip.js → kaiAgent-Dp20HLTh.js} +32 -11
- package/dist/kaiAgent-Dp20HLTh.js.map +1 -0
- package/dist/{kaiAgent-DaB6UCsh.cjs → kaiAgent-QNoeVKPs.cjs} +32 -11
- package/dist/kaiAgent-QNoeVKPs.cjs.map +1 -0
- package/dist/kaiMemory-CClSPInt.cjs +289 -0
- package/dist/kaiMemory-CClSPInt.cjs.map +1 -0
- package/dist/kaiMemory-D0Y_16U4.js +260 -0
- package/dist/kaiMemory-D0Y_16U4.js.map +1 -0
- 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-DeZiQSlw.cjs → management-CCY0IYnq.cjs} +59 -24
- package/dist/management-CCY0IYnq.cjs.map +1 -0
- package/dist/{management-ckdnu1dA.js → management-DvmPiG64.js} +59 -24
- package/dist/management-DvmPiG64.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-B0PolCjQ.js → metastore-BycJxe7A.js} +14 -8
- package/dist/metastore-BycJxe7A.js.map +1 -0
- package/dist/{metastore-9AGrwjmN.cjs → metastore-XtWciCZT.cjs} +14 -8
- package/dist/metastore-XtWciCZT.cjs.map +1 -0
- package/dist/microsoftGraph/index.cjs +2 -2
- package/dist/microsoftGraph/index.d.cts +2 -2
- package/dist/microsoftGraph/index.d.ts +2 -2
- package/dist/microsoftGraph/index.js +2 -2
- package/dist/microsoftGraph/types.d.cts +1 -1
- package/dist/microsoftGraph/types.d.ts +1 -1
- package/dist/middleware-CBwrtgQd.js +34 -0
- package/dist/middleware-CBwrtgQd.js.map +1 -0
- package/dist/middleware-IjYx3d5u.cjs +45 -0
- package/dist/middleware-IjYx3d5u.cjs.map +1 -0
- package/dist/notifications/index.cjs +4 -4
- package/dist/notifications/index.d.cts +2 -2
- package/dist/notifications/index.d.ts +2 -2
- package/dist/notifications/index.js +4 -4
- 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 -2
- package/dist/oauth/index.d.ts +2 -2
- package/dist/oauth/index.js +1 -1
- package/dist/oauth/types.d.cts +1 -1
- package/dist/oauth/types.d.ts +1 -1
- package/dist/{oauth-DNtv4Ihb.cjs → oauth--2p8jkJf.cjs} +5 -5
- package/dist/{oauth-DNtv4Ihb.cjs.map → oauth--2p8jkJf.cjs.map} +1 -1
- package/dist/{oauth-BnHVf4cB.js → oauth-l5zE39cD.js} +5 -5
- package/dist/{oauth-BnHVf4cB.js.map → oauth-l5zE39cD.js.map} +1 -1
- package/dist/omnisearch/index.cjs +6 -14
- package/dist/omnisearch/index.cjs.map +1 -1
- package/dist/omnisearch/index.d.cts +6 -14
- package/dist/omnisearch/index.d.ts +6 -14
- package/dist/omnisearch/index.js +6 -14
- package/dist/omnisearch/index.js.map +1 -1
- package/dist/omnisearch/types.d.cts +1 -1
- package/dist/omnisearch/types.d.ts +1 -1
- package/dist/{project-DCHOxRWd.d.ts → project-B15gStbM.d.ts} +2 -2
- package/dist/{project-BRpzv3yE.d.cts → project-cHKuGvqJ.d.cts} +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/types.d.cts +1 -1
- package/dist/queryService/types.d.ts +1 -1
- package/dist/{queryService-j3XZ2mX6.js → queryService-CCOYbRbw.js} +6 -6
- package/dist/{queryService-j3XZ2mX6.js.map → queryService-CCOYbRbw.js.map} +1 -1
- package/dist/{queryService-BVwD6Vmc.cjs → queryService-CQzclHdL.cjs} +6 -6
- package/dist/{queryService-BVwD6Vmc.cjs.map → queryService-CQzclHdL.cjs.map} +1 -1
- package/dist/queue/index.cjs +1 -1
- package/dist/queue/index.d.cts +3 -3
- package/dist/queue/index.d.ts +3 -3
- package/dist/queue/index.js +1 -1
- package/dist/queue/types.d.cts +1 -1
- package/dist/queue/types.d.ts +1 -1
- package/dist/{queue-Dagl0sdP.js → queue-Cowbg6bR.js} +8 -11
- package/dist/queue-Cowbg6bR.js.map +1 -0
- package/dist/{queue-e3rMWbmK.cjs → queue-UG_BWKIC.cjs} +8 -11
- package/dist/queue-UG_BWKIC.cjs.map +1 -0
- package/dist/scheduler/index.cjs +4 -4
- package/dist/scheduler/index.d.cts +2 -2
- package/dist/scheduler/index.d.ts +2 -2
- package/dist/scheduler/index.js +4 -4
- package/dist/scheduler/types.d.cts +1 -1
- package/dist/scheduler/types.d.ts +1 -1
- package/dist/sdk/configurations/index.cjs +1 -1
- package/dist/sdk/configurations/index.d.cts +11 -11
- package/dist/sdk/configurations/index.d.ts +11 -11
- package/dist/sdk/configurations/index.js +1 -1
- package/dist/sdk/developerPortal/index.cjs +10 -18
- package/dist/sdk/developerPortal/index.cjs.map +1 -1
- package/dist/sdk/developerPortal/index.d.cts +7 -15
- package/dist/sdk/developerPortal/index.d.ts +7 -15
- package/dist/sdk/developerPortal/index.js +7 -15
- package/dist/sdk/developerPortal/index.js.map +1 -1
- package/dist/sdk/kaiMemory/index.cjs +7 -0
- package/dist/sdk/kaiMemory/index.d.cts +41 -0
- package/dist/sdk/kaiMemory/index.d.ts +41 -0
- package/dist/sdk/kaiMemory/index.js +2 -0
- package/dist/sdk/kaiMemory/types.cjs +0 -0
- package/dist/sdk/kaiMemory/types.d.cts +2 -0
- package/dist/sdk/kaiMemory/types.d.ts +2 -0
- package/dist/sdk/kaiMemory/types.js +1 -0
- package/dist/sdk/queryService/index.cjs +2 -2
- package/dist/sdk/queryService/index.d.cts +1 -1
- package/dist/sdk/queryService/index.d.ts +1 -1
- package/dist/sdk/queryService/index.js +2 -2
- package/dist/sdk/semanticLayer/index.cjs +1 -1
- package/dist/sdk/semanticLayer/index.d.cts +16 -40
- package/dist/sdk/semanticLayer/index.d.ts +16 -40
- package/dist/sdk/semanticLayer/index.js +1 -1
- package/dist/sdk/semanticLayer/types.d.cts +1 -1
- package/dist/sdk/semanticLayer/types.d.ts +1 -1
- package/dist/sdk/storage/index.cjs +0 -5
- package/dist/sdk/storage/index.cjs.map +1 -1
- package/dist/sdk/storage/index.d.cts +2 -2
- package/dist/sdk/storage/index.d.ts +2 -2
- package/dist/sdk/storage/index.js +1 -5
- 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 -3
- package/dist/sdk/tag/index.d.ts +3 -3
- package/dist/sdk/tag/index.js +1 -1
- package/dist/sdk/tag/types.d.cts +1 -1
- package/dist/sdk/tag/types.d.ts +1 -1
- package/dist/sdk/vault/index.cjs +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 +1 -1
- package/dist/{semanticLayer-9uTaU7UT.cjs → semanticLayer-CKDVkU56.cjs} +62 -183
- package/dist/semanticLayer-CKDVkU56.cjs.map +1 -0
- package/dist/{semanticLayer-6_gtFxDu.js → semanticLayer-pYy082Ju.js} +62 -183
- package/dist/semanticLayer-pYy082Ju.js.map +1 -0
- package/dist/status/index.cjs +1 -1
- package/dist/status/index.d.cts +1 -1
- package/dist/status/index.d.ts +1 -1
- package/dist/status/index.js +1 -1
- package/dist/storage/index.cjs +5 -5
- package/dist/storage/index.d.cts +2 -2
- package/dist/storage/index.d.ts +2 -2
- package/dist/storage/index.js +5 -5
- package/dist/storage/types.d.cts +2 -2
- package/dist/storage/types.d.ts +2 -2
- package/dist/{storage-Ob1LUIDq.js → storage-CZQHZcXG.js} +109 -302
- package/dist/storage-CZQHZcXG.js.map +1 -0
- package/dist/{storage-HFUdEy7P.cjs → storage-JinL1y1s.cjs} +109 -302
- package/dist/storage-JinL1y1s.cjs.map +1 -0
- package/dist/stream/index.cjs +3 -3
- package/dist/stream/index.d.cts +2 -2
- package/dist/stream/index.d.ts +2 -2
- package/dist/stream/index.js +3 -3
- package/dist/stream/types.d.cts +1 -1
- package/dist/stream/types.d.ts +1 -1
- package/dist/syncActions/index.cjs +1 -1
- package/dist/syncActions/index.d.cts +1 -1
- package/dist/syncActions/index.d.ts +1 -1
- package/dist/syncActions/index.js +1 -1
- package/dist/syncActions/types.d.cts +2 -2
- package/dist/syncActions/types.d.ts +2 -2
- package/dist/{syncActions-B3NS5a0g.js → syncActions-ChNWuhYA.js} +260 -111
- package/dist/syncActions-ChNWuhYA.js.map +1 -0
- package/dist/{syncActions-D2DhY6pP.cjs → syncActions-mFlF16cl.cjs} +260 -111
- package/dist/syncActions-mFlF16cl.cjs.map +1 -0
- package/dist/{tag-CsoOZWB_.cjs → tag-DHS_soa7.cjs} +2 -2
- package/dist/{tag-CsoOZWB_.cjs.map → tag-DHS_soa7.cjs.map} +1 -1
- package/dist/{tag-DCsoewjL.js → tag-hh-1nhNr.js} +2 -2
- package/dist/{tag-DCsoewjL.js.map → tag-hh-1nhNr.js.map} +1 -1
- package/dist/telemetry/index.cjs +7 -11
- package/dist/telemetry/index.cjs.map +1 -1
- package/dist/telemetry/index.d.cts +5 -9
- package/dist/telemetry/index.d.ts +5 -9
- package/dist/telemetry/index.js +7 -11
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/types.d.cts +1 -1
- package/dist/telemetry/types.d.ts +1 -1
- package/dist/{types-DqxIx9Pi.d.cts → types-6kuMW4JW.d.cts} +2 -2
- package/dist/{types-Ct0YPy2w.d.ts → types-B2w2TtSA.d.ts} +3 -3
- package/dist/{types-M46WuBSm.d.cts → types-B61aCifg.d.cts} +2 -2
- package/dist/{types-COL1kVEB.d.cts → types-B8N_k79M.d.cts} +2 -2
- package/dist/{types-Jw10xuOW.d.cts → types-BIECJYun.d.ts} +171 -44
- package/dist/{types-DZk3XHiN.d.cts → types-BLNB882w.d.cts} +3 -3
- package/dist/{types-BEe50G2r.d.cts → types-BPy5Ozee.d.cts} +2 -2
- package/dist/{types-gi4Eay19.d.ts → types-BS4jwuMi.d.ts} +7 -15
- package/dist/{types-BrYkBQo4.d.ts → types-BTK7Bv3n.d.cts} +171 -44
- package/dist/{types-D6UmMa6E.d.ts → types-BZDV8DZk.d.ts} +3 -3
- package/dist/{types-Cz83RiVu.d.cts → types-B_iLJlp4.d.ts} +255 -12
- package/dist/{types-CmF3pR2n.d.cts → types-BiMahEK8.d.cts} +91 -237
- package/dist/{types-BH5LLeJy.d.ts → types-Bl03Cg2n.d.cts} +255 -12
- package/dist/{types-bGQb4Jtl.d.cts → types-ByLH46Dt.d.cts} +13 -8
- package/dist/{types-g3vU7hcg.d.cts → types-Bydx6ga_.d.cts} +2 -2
- package/dist/{types-B95uNQ9o.d.ts → types-CKmTZSPG.d.ts} +91 -237
- package/dist/{types-D_j2Uq5X.d.cts → types-CMzQSHAQ.d.cts} +3 -3
- package/dist/{types-N3EChotg.d.cts → types-CP_LBmw3.d.cts} +2 -2
- package/dist/{types-CW6lCqrC.d.cts → types-CQFOCQzk.d.ts} +230 -43
- package/dist/{types-zZBxJ0P-.d.ts → types-CWyXTMwy.d.ts} +2 -2
- package/dist/{types-CPB-eF82.d.ts → types-CZJlLCbA.d.ts} +2 -2
- package/dist/{types-l9o4gFsI.d.ts → types-CZXPu3gn.d.ts} +2 -2
- package/dist/{types-BztF4HeB.d.ts → types-CaOtNjSZ.d.ts} +6 -13
- package/dist/{types-BTWIPEiU.d.ts → types-CfwqVkEA.d.ts} +2 -2
- package/dist/types-Cg14ncdV.d.ts +63 -0
- package/dist/{types-BsxLGDoC.d.cts → types-CoJVrRAD.d.ts} +2 -2
- package/dist/{types-DYzJ6K2e.d.ts → types-CqwHP7mN.d.cts} +230 -43
- package/dist/{types-CKiW3n6v.d.ts → types-D3wcs4tp.d.ts} +2 -2
- package/dist/{types-DOyNe7oe.d.cts → types-DDOa07rU.d.cts} +7 -15
- package/dist/{types-BW2BXUB4.d.cts → types-DE9hgr7i.d.cts} +2 -2
- package/dist/{types-BOqD3Hqy.d.cts → types-DEzW1CfI.d.cts} +3 -3
- package/dist/{types-OaD-cbbl.d.ts → types-DIiOMV-t.d.ts} +3 -3
- package/dist/{types-B-P4vQe0.d.cts → types-DKc1gmd9.d.ts} +857 -131
- package/dist/{types-BrPlv-NS.d.ts → types-DRCMBt89.d.ts} +3 -3
- package/dist/{types-BQvv4RaI.d.cts → types-DUMal2E-.d.cts} +5 -8
- package/dist/types-DWiLcrxt.d.cts +63 -0
- package/dist/{types-DNxOHnZI.d.cts → types-Dd31Lw4S.d.cts} +2 -2
- package/dist/{types-Dmu-8g4O.d.ts → types-DekYAlA-.d.ts} +3 -3
- package/dist/{types-B2U9cFcx.d.ts → types-DgJeO9Nd.d.ts} +2 -2
- package/dist/{types-nrviNdzZ.d.ts → types-DicSaNwq.d.ts} +2 -2
- package/dist/{types-Crhy0c9m.d.cts → types-DinIJ1D_.d.cts} +40 -11
- package/dist/{types-DhDNS-5B.d.ts → types-DlQw6FCi.d.ts} +13 -8
- package/dist/{types-_RhBCj4_.d.cts → types-DoZtE9tz.d.cts} +3 -3
- package/dist/{types-Bxhh2SJr.d.ts → types-DrvKfXXd.d.cts} +2 -2
- package/dist/{types-DPl8pZsY.d.ts → types-Dtuvhm3K.d.cts} +857 -131
- package/dist/{types-CcrvrAJX.d.ts → types-DwVSj-Da.d.ts} +5 -8
- package/dist/{types-C2vefB4D.d.ts → types-FwRmjsNN.d.ts} +10 -34
- package/dist/{types-C0_2KZ-A.d.ts → types-RbrfiY8T.d.ts} +2 -2
- package/dist/{types-DfvdbRPL.d.ts → types-WZBztugL.d.ts} +2 -2
- package/dist/{types-52irAt99.d.cts → types-YHUEArkR.d.cts} +2 -2
- package/dist/{types-fX4gbxfV.d.cts → types-bc-4z_gc.d.cts} +10 -34
- package/dist/{types-3eUgOA7I.d.cts → types-ePSqbXRr.d.cts} +6 -13
- package/dist/{types-DrqKICcK.d.ts → types-n4PTnLii.d.ts} +40 -11
- package/dist/{types-DXskkNp8.d.cts → types-pvQzbgNE.d.cts} +3 -3
- package/dist/{types-DajzGOKB.d.ts → types-q-1r_9d1.d.ts} +2 -2
- package/dist/{types-D8Rrz51O.d.cts → types-tKkeLa2B.d.cts} +2 -2
- package/dist/{validateConnectionStatus-828HV8WL.js → validateConnectionStatus-BEGu8wXT.js} +6 -10
- package/dist/validateConnectionStatus-BEGu8wXT.js.map +1 -0
- package/dist/{validateConnectionStatus-CvBKyeDO.cjs → validateConnectionStatus-BEYkQpu9.cjs} +6 -10
- package/dist/validateConnectionStatus-BEYkQpu9.cjs.map +1 -0
- package/dist/vault/index.cjs +4 -4
- package/dist/vault/index.d.cts +1 -1
- package/dist/vault/index.d.ts +1 -1
- package/dist/vault/index.js +4 -4
- package/dist/vault/types.d.cts +1 -1
- package/dist/vault/types.d.ts +1 -1
- package/package.json +32 -4
- package/surface/apps.md +3 -3
- package/surface/auth.md +13 -6
- package/surface/chat.md +6 -6
- package/surface/kaiAgent.md +9 -8
- package/surface/management.md +14 -5
- package/surface/metastore.md +2 -2
- package/surface/queue.md +3 -3
- package/surface/sdk.md +13 -3
- package/surface/storage.md +6 -6
- package/surface/syncActions.md +16 -0
- package/dist/ValidationError-BekhphAq.js +0 -48
- package/dist/ValidationError-BekhphAq.js.map +0 -1
- package/dist/ValidationError-CLVJCCwH.cjs.map +0 -1
- package/dist/authClient-8yU1last.cjs.map +0 -1
- package/dist/authClient-BTo4Afm6.js.map +0 -1
- package/dist/componentId-DkyQ8PM0.cjs.map +0 -1
- package/dist/componentId-vJz-kWs6.js.map +0 -1
- package/dist/concurrent-CH9fbNr3.js.map +0 -1
- package/dist/concurrent-tbiIa0UL.cjs.map +0 -1
- package/dist/configurations-BVvcimzo.js.map +0 -1
- package/dist/configurations-CyFF9Dtu.cjs.map +0 -1
- package/dist/configurations-VtNE0nrT.js.map +0 -1
- package/dist/configurations-zkNjr73Q.cjs.map +0 -1
- package/dist/createFetchClient-BlgPbjFj.cjs.map +0 -1
- package/dist/createFetchClient-C-cadpBx.js.map +0 -1
- package/dist/credential-CAulvfZ-.cjs +0 -47
- package/dist/credential-CAulvfZ-.cjs.map +0 -1
- package/dist/credential-DWXbo4IX.js +0 -36
- package/dist/credential-DWXbo4IX.js.map +0 -1
- package/dist/dedupe-CiskLkGR.cjs +0 -30
- package/dist/dedupe-CiskLkGR.cjs.map +0 -1
- package/dist/dedupe-DYIHgZoG.js +0 -25
- package/dist/dedupe-DYIHgZoG.js.map +0 -1
- package/dist/index-3LUk2rpD.d.ts +0 -65
- package/dist/index-CW3Pj7DY.d.cts +0 -65
- package/dist/isLoginPageRedirect-Cm6Pn8Pj.cjs +0 -25
- package/dist/isLoginPageRedirect-Cm6Pn8Pj.cjs.map +0 -1
- package/dist/isLoginPageRedirect-hyPqyWNX.js +0 -20
- package/dist/isLoginPageRedirect-hyPqyWNX.js.map +0 -1
- package/dist/jobStatus-0_Y3Sr4i.cjs.map +0 -1
- package/dist/jobStatus-PSZJMTiA.js.map +0 -1
- package/dist/kaiAgent-CcT2oNip.js.map +0 -1
- package/dist/kaiAgent-DaB6UCsh.cjs.map +0 -1
- package/dist/management-DeZiQSlw.cjs.map +0 -1
- package/dist/management-ckdnu1dA.js.map +0 -1
- package/dist/metastore-9AGrwjmN.cjs.map +0 -1
- package/dist/metastore-B0PolCjQ.js.map +0 -1
- package/dist/queue-Dagl0sdP.js.map +0 -1
- package/dist/queue-e3rMWbmK.cjs.map +0 -1
- package/dist/semanticLayer-6_gtFxDu.js.map +0 -1
- package/dist/semanticLayer-9uTaU7UT.cjs.map +0 -1
- package/dist/storage-HFUdEy7P.cjs.map +0 -1
- package/dist/storage-Ob1LUIDq.js.map +0 -1
- package/dist/syncActions-B3NS5a0g.js.map +0 -1
- package/dist/syncActions-D2DhY6pP.cjs.map +0 -1
- package/dist/validateConnectionStatus-828HV8WL.js.map +0 -1
- package/dist/validateConnectionStatus-CvBKyeDO.cjs.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { a as poller, t as jobStatus } from "./jobStatus-
|
|
2
|
-
import { t as concurrent } from "./concurrent-
|
|
3
|
-
import { g as ApiError, h as KeboolaHttpHeader, r as isApiError, s as HttpHeader } from "./createFetchClient-
|
|
4
|
-
import { t as validateConnectionStatus } from "./validateConnectionStatus-
|
|
5
|
-
import { t as createGenericFetchClient } from "./createGenericFetchClient-
|
|
6
|
-
import { t as createOpenapiFetchClient } from "./createOpenapiFetchClient-
|
|
7
|
-
import { t as createAuthHeaders } from "./auth-
|
|
1
|
+
import { a as poller, t as jobStatus } from "./jobStatus-CfRtsIpv.js";
|
|
2
|
+
import { t as concurrent } from "./concurrent-BacWxPwi.js";
|
|
3
|
+
import { g as ApiError, h as KeboolaHttpHeader, r as isApiError, s as HttpHeader } from "./createFetchClient-DXHQK63w.js";
|
|
4
|
+
import { t as validateConnectionStatus } from "./validateConnectionStatus-BEGu8wXT.js";
|
|
5
|
+
import { t as createGenericFetchClient } from "./createGenericFetchClient-Dg1rgzmG.js";
|
|
6
|
+
import { t as createOpenapiFetchClient } from "./createOpenapiFetchClient-DZUOVupy.js";
|
|
7
|
+
import { t as createAuthHeaders } from "./auth-DworfoPy.js";
|
|
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).
|
|
@@ -20,26 +20,17 @@ const series = async (options) => concurrent({
|
|
|
20
20
|
//#region src/errors/readableReason.ts
|
|
21
21
|
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
22
22
|
/**
|
|
23
|
-
* Whether this error's `message` is a status line rather than a sentence
|
|
23
|
+
* Whether this error's `message` is a status line rather than a sentence.
|
|
24
24
|
*
|
|
25
|
-
* `ApiError
|
|
26
|
-
* `ManagementClientAuthError` — overwrite it with reader-facing wording, which is the one thing
|
|
27
|
-
* this helper must never discard, so only the base class is treated as unreadable.
|
|
25
|
+
* - Only the base `ApiError`: its subclasses carry reader-facing wording that must be kept.
|
|
28
26
|
*/
|
|
29
27
|
const carriesStatusLine = (error) => error.constructor === ApiError;
|
|
30
28
|
/**
|
|
31
29
|
* The part of a failure worth putting in front of a reader, or `undefined` when there is none.
|
|
32
30
|
*
|
|
33
|
-
* - A plain `ApiError
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* - Every other error's message *is* a reason, and is returned as-is: a network failure says so in
|
|
37
|
-
* words, and an `ApiError` subclass carries wording written for exactly this spot ("The session
|
|
38
|
-
* has most likely expired").
|
|
39
|
-
*
|
|
40
|
-
* `undefined` is the caller's cue to render its own wording. Branching on an empty `message`
|
|
41
|
-
* cannot do that job — a status line is never empty, so such a test silently stops firing and the
|
|
42
|
-
* reader gets the status number instead of the sentence written for them.
|
|
31
|
+
* - A plain `ApiError`: the service's message from the body, never the status line.
|
|
32
|
+
* - Any other error: its `message` as-is.
|
|
33
|
+
* - `undefined` means render your own wording; don't test for an empty `message` instead.
|
|
43
34
|
*/
|
|
44
35
|
const readableReason = (error) => {
|
|
45
36
|
if (!(error instanceof Error)) return void 0;
|
|
@@ -134,12 +125,11 @@ const createMergeRequests = (client) => {
|
|
|
134
125
|
//#endregion
|
|
135
126
|
//#region src/clients/storage/branches/branches.ts
|
|
136
127
|
/**
|
|
137
|
-
*
|
|
128
|
+
* Dev-branches client; the spec has three defects.
|
|
138
129
|
*
|
|
139
|
-
* - `creatorToken` is a bare `object`, so `DevBranch` re-types it and
|
|
140
|
-
* -
|
|
141
|
-
*
|
|
142
|
-
* - Duplicate: the create is also declared on `/dev-branches/` (trailing slash); drop it.
|
|
130
|
+
* - `creatorToken` is a bare `object`, so `DevBranch` re-types it and reads are asserted.
|
|
131
|
+
* - Create and delete answer a flat `JobResponse`, not the `Job<T>` union, so jobs are asserted.
|
|
132
|
+
* - The create is also declared on `/dev-branches/` (trailing slash); drop it.
|
|
143
133
|
*/
|
|
144
134
|
const createBranches = (client, poller) => {
|
|
145
135
|
/**
|
|
@@ -150,8 +140,6 @@ const createBranches = (client, poller) => {
|
|
|
150
140
|
return data;
|
|
151
141
|
};
|
|
152
142
|
/**
|
|
153
|
-
* Creates a development branch. Async — returns a job to poll.
|
|
154
|
-
*
|
|
155
143
|
* @link https://api.keboola.com/?service=storage#storage/tag/dev-branches/POST/v2/storage/dev-branches
|
|
156
144
|
*/
|
|
157
145
|
const createDevBranchAsync = async (body) => {
|
|
@@ -159,16 +147,12 @@ const createBranches = (client, poller) => {
|
|
|
159
147
|
return data;
|
|
160
148
|
};
|
|
161
149
|
/**
|
|
162
|
-
* Creates a development branch and waits for the job to finish.
|
|
163
|
-
*
|
|
164
150
|
* @link https://api.keboola.com/?service=storage#storage/tag/dev-branches/POST/v2/storage/dev-branches
|
|
165
151
|
*/
|
|
166
152
|
const createDevBranchAndWait = async (body, options) => {
|
|
167
153
|
return poller(await createDevBranchAsync(body), options).start();
|
|
168
154
|
};
|
|
169
155
|
/**
|
|
170
|
-
* Renames a development branch or changes its description.
|
|
171
|
-
*
|
|
172
156
|
* @link https://api.keboola.com/?service=storage#storage/tag/dev-branches/PUT/v2/storage/dev-branches/{id}
|
|
173
157
|
*/
|
|
174
158
|
const updateDevBranch = async ({ id, name, description }) => {
|
|
@@ -182,8 +166,6 @@ const createBranches = (client, poller) => {
|
|
|
182
166
|
return data;
|
|
183
167
|
};
|
|
184
168
|
/**
|
|
185
|
-
* Deletes a development branch. Async — returns a job to poll.
|
|
186
|
-
*
|
|
187
169
|
* @link https://api.keboola.com/?service=storage#storage/tag/dev-branches/DELETE/v2/storage/dev-branches/{id}
|
|
188
170
|
*/
|
|
189
171
|
const deleteDevBranchAsync = async (id) => {
|
|
@@ -191,12 +173,9 @@ const createBranches = (client, poller) => {
|
|
|
191
173
|
return data;
|
|
192
174
|
};
|
|
193
175
|
/**
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
* -
|
|
197
|
-
* `devBranchDelete` job.
|
|
198
|
-
* - A job that ended as `error` is a `done` wait carrying a failed job — it finished. `timedOut`,
|
|
199
|
-
* `exhausted`, `aborted` and `errored` are the endings with no job to read.
|
|
176
|
+
* - Never throws; resolves with how the wait ended.
|
|
177
|
+
* - `done` carries the finished job, even one that ended as `error`.
|
|
178
|
+
* - `timedOut`, `exhausted`, `aborted` and `errored` carry no job.
|
|
200
179
|
*
|
|
201
180
|
* @link https://api.keboola.com/?service=storage#storage/tag/dev-branches/DELETE/v2/storage/dev-branches/{id}
|
|
202
181
|
*/
|
|
@@ -204,8 +183,7 @@ const createBranches = (client, poller) => {
|
|
|
204
183
|
return poller(await deleteDevBranchAsync(id), options).start();
|
|
205
184
|
};
|
|
206
185
|
/**
|
|
207
|
-
*
|
|
208
|
-
* thing being addressed rather than the branch a request is scoped to.
|
|
186
|
+
* `branchId` is the branch the metadata is on, not a request scope.
|
|
209
187
|
*
|
|
210
188
|
* @link https://api.keboola.com/?service=storage#storage/tag/metadata/GET/v2/storage/branch/{branchId}/metadata
|
|
211
189
|
*/
|
|
@@ -214,8 +192,6 @@ const createBranches = (client, poller) => {
|
|
|
214
192
|
return data;
|
|
215
193
|
};
|
|
216
194
|
/**
|
|
217
|
-
* Adds or updates metadata on a branch.
|
|
218
|
-
*
|
|
219
195
|
* @link https://api.keboola.com/?service=storage#storage/tag/metadata/POST/v2/storage/branch/{branchId}/metadata
|
|
220
196
|
*/
|
|
221
197
|
const saveDevBranchMetadata = async ({ branchId, metadata }, signal) => {
|
|
@@ -226,8 +202,6 @@ const createBranches = (client, poller) => {
|
|
|
226
202
|
return data;
|
|
227
203
|
};
|
|
228
204
|
/**
|
|
229
|
-
* Deletes a single metadata entry from a branch.
|
|
230
|
-
*
|
|
231
205
|
* @link https://api.keboola.com/?service=storage#storage/tag/metadata/DELETE/v2/storage/branch/{branchId}/metadata/{metadataId}
|
|
232
206
|
*/
|
|
233
207
|
const deleteDevBranchMetadata = async ({ branchId, metadataId }, signal) => {
|
|
@@ -251,31 +225,14 @@ const createBranches = (client, poller) => {
|
|
|
251
225
|
//#endregion
|
|
252
226
|
//#region src/clients/storage/bucketExternal/bucketExternal.ts
|
|
253
227
|
/**
|
|
254
|
-
*
|
|
255
|
-
* BigQuery) rather than one Keboola created. Registering it is what makes the rest of this namespace
|
|
256
|
-
* apply: only an external bucket needs its table metadata refreshed, manually or on a cron.
|
|
228
|
+
* External buckets wrap a schema that already exists in the backend (Snowflake or BigQuery).
|
|
257
229
|
*
|
|
258
|
-
*
|
|
259
|
-
* -
|
|
260
|
-
*
|
|
261
|
-
* the operation declares a `JobResponse` or no body at all.
|
|
262
|
-
* - **`async` query** — `registerBucketAsync` is invoked with `async: true` but declares
|
|
263
|
-
* `query: never`.
|
|
264
|
-
*
|
|
265
|
-
* What the Storage spec needs, per operation:
|
|
266
|
-
*
|
|
267
|
-
* - `POST /buckets/register` (`BucketRegisterAction`)
|
|
268
|
-
* - query: `never` → really accepts `async`
|
|
269
|
-
* - response: contentless `default` → really a `bucketRegister` job
|
|
270
|
-
* - `PUT /buckets/{bucketId}/refresh` (`BucketRefreshAction`)
|
|
271
|
-
* - response: 202 `JobResponse` → really a `bucketRefresh` job
|
|
272
|
-
* `GET /buckets/register-guide` and the scheduled-task create are the operations whose spec is
|
|
273
|
-
* already right — their bodies, queries and responses are generated, not asserted.
|
|
230
|
+
* - Only they need table metadata refreshed, manually or on a cron.
|
|
231
|
+
* - Job returns are asserted: the spec's flat `JobResponse` is not the `Job<T>` union.
|
|
232
|
+
* - The `POST /buckets/register` spec lacks the `async` query and the `bucketRegister` job response.
|
|
274
233
|
*/
|
|
275
234
|
const createBucketExternal = (client) => {
|
|
276
235
|
/**
|
|
277
|
-
* Registers an external bucket. Async — returns a job to poll.
|
|
278
|
-
*
|
|
279
236
|
* @link https://api.keboola.com/?service=storage#storage/POST/v2/storage/buckets/register
|
|
280
237
|
*/
|
|
281
238
|
const registerBucketAsync = async (body, signal) => {
|
|
@@ -286,7 +243,7 @@ const createBucketExternal = (client) => {
|
|
|
286
243
|
return data;
|
|
287
244
|
};
|
|
288
245
|
/**
|
|
289
|
-
* Returns
|
|
246
|
+
* Returns markdown.
|
|
290
247
|
*
|
|
291
248
|
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/GET/v2/storage/buckets/register-guide
|
|
292
249
|
*/
|
|
@@ -298,8 +255,6 @@ const createBucketExternal = (client) => {
|
|
|
298
255
|
return data;
|
|
299
256
|
};
|
|
300
257
|
/**
|
|
301
|
-
* Refreshes an external bucket's table metadata. Async — returns a job to poll.
|
|
302
|
-
*
|
|
303
258
|
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/PUT/v2/storage/buckets/{bucketId}/refresh
|
|
304
259
|
*/
|
|
305
260
|
const refreshExternalBucketAsync = async ({ bucketId, ...query }, signal) => {
|
|
@@ -333,10 +288,7 @@ const createBucketExternal = (client) => {
|
|
|
333
288
|
//#endregion
|
|
334
289
|
//#region src/clients/storage/bucketListings/utils.ts
|
|
335
290
|
/**
|
|
336
|
-
*
|
|
337
|
-
* spec documents as "prefixed with `user:` or `group:`". The write path uses `toBackendSubscribers`;
|
|
338
|
-
* reads hand back the raw `string[]`, so a consumer that renders or edits subscribers decodes with
|
|
339
|
-
* `fromBackendSubscribers` rather than re-deriving the prefix rule.
|
|
291
|
+
* Encodes subscribers as GCP IAM principals (`user:`/`group:`); `fromBackendSubscribers` decodes.
|
|
340
292
|
*/
|
|
341
293
|
const toBackendSubscribers = (subscribers) => subscribers.map((s) => `${s.type}:${s.email}`);
|
|
342
294
|
const fromBackendSubscribers = (raw) => {
|
|
@@ -358,17 +310,9 @@ const fromBackendSubscribers = (raw) => {
|
|
|
358
310
|
/**
|
|
359
311
|
* Builds the PATCH body for a listing update.
|
|
360
312
|
*
|
|
361
|
-
*
|
|
362
|
-
*
|
|
363
|
-
*
|
|
364
|
-
* `null` and silently clear it.
|
|
365
|
-
*
|
|
366
|
-
* Throws when nothing was supplied: the backend answers an empty PATCH with a job that lands in
|
|
367
|
-
* `success` without changing anything, so a caller would poll it and report a save that never
|
|
368
|
-
* happened. Gate the call on the form's "dirty" state rather than relying on this.
|
|
369
|
-
*
|
|
370
|
-
* Do not "normalize" the `exposure*` names without coordinating with the bucket-listing backend
|
|
371
|
-
* owner.
|
|
313
|
+
* - Copies only supplied fields: `description` absent keeps it, `null` clears it, a string sets it.
|
|
314
|
+
* - Throws when nothing was supplied: an empty PATCH yields a `success` job that changed nothing.
|
|
315
|
+
* - Keep the `exposure*` names unless the bucket-listing backend owner agrees.
|
|
372
316
|
*/
|
|
373
317
|
const toUpdateListingBody = (input) => {
|
|
374
318
|
const body = {};
|
|
@@ -381,26 +325,17 @@ const toUpdateListingBody = (input) => {
|
|
|
381
325
|
//#endregion
|
|
382
326
|
//#region src/clients/storage/bucketListings/bucketListings.ts
|
|
383
327
|
/**
|
|
384
|
-
*
|
|
385
|
-
* only backend today, which is why every write carries a `bigquery` key.
|
|
386
|
-
*
|
|
387
|
-
* What the Storage spec needs, per operation:
|
|
388
|
-
*
|
|
389
|
-
* - `POST` / `PATCH` / `DELETE /buckets/{bucketId}/listing`
|
|
390
|
-
* - response: 202 `JobResponse` → really `bucketListingCreate` / `bucketListingUpdate` /
|
|
391
|
-
* `bucketListingDelete` jobs. The spec's `JobResponse` is a flat shape with `status: string`,
|
|
392
|
-
* while `Job<T>` is a discriminated union over `status` carrying typed `results`, so each is
|
|
393
|
-
* asserted.
|
|
328
|
+
* Bucket listings (exposures) publish a bucket to a marketplace.
|
|
394
329
|
*
|
|
395
|
-
*
|
|
396
|
-
*
|
|
330
|
+
* - BigQuery Analytics Hub is the only backend, hence the `bigquery` key on every write.
|
|
331
|
+
* - Write jobs are asserted: the spec's flat `JobResponse` is not the `Job<T>` union.
|
|
397
332
|
*/
|
|
398
333
|
const createBucketListings = (openApiClient) => {
|
|
399
334
|
/**
|
|
400
|
-
*
|
|
401
|
-
*
|
|
402
|
-
* present only for a BigQuery bucket
|
|
403
|
-
* raw `user:`/`group
|
|
335
|
+
* Returns `null` on 404: no bucket or no listing.
|
|
336
|
+
*
|
|
337
|
+
* - `bigquery` is present only for a BigQuery bucket.
|
|
338
|
+
* - Its `subscribers` are raw `user:`/`group:` principals; decode with `fromBackendSubscribers`.
|
|
404
339
|
*/
|
|
405
340
|
const getListing = async (bucketId, signal) => {
|
|
406
341
|
try {
|
|
@@ -426,11 +361,7 @@ const createBucketListings = (openApiClient) => {
|
|
|
426
361
|
return data;
|
|
427
362
|
};
|
|
428
363
|
/**
|
|
429
|
-
*
|
|
430
|
-
* `subscribers` must be provided — the SDK throws synchronously if all three
|
|
431
|
-
* are absent, since the backend would otherwise no-op a PATCH with an empty
|
|
432
|
-
* body and we'd return a job that's already in `success` with no actual
|
|
433
|
-
* change. Callers should gate the call against the form's "dirty" state.
|
|
364
|
+
* Rejects when `name`, `description` and `subscribers` are all absent; gate on the form's dirty state.
|
|
434
365
|
*/
|
|
435
366
|
const updateListingAsync = async ({ bucketId, ...input }, signal) => {
|
|
436
367
|
const { data } = await openApiClient.patch("/v2/storage/buckets/{bucketId}/listing", {
|
|
@@ -459,29 +390,11 @@ const createBucketListings = (openApiClient) => {
|
|
|
459
390
|
//#endregion
|
|
460
391
|
//#region src/clients/storage/buckets/buckets.ts
|
|
461
392
|
/**
|
|
462
|
-
*
|
|
463
|
-
*
|
|
464
|
-
*
|
|
465
|
-
*
|
|
466
|
-
|
|
467
|
-
* One mismatch recurs: the spec's `JobResponse` is a flat shape with `status: string`, while `Job<T>`
|
|
468
|
-
* is a discriminated union over `status` carrying typed `results`, so every job return is asserted.
|
|
469
|
-
*
|
|
470
|
-
* What the Storage spec needs, per operation:
|
|
471
|
-
*
|
|
472
|
-
* - `PUT /buckets/{bucketId}` — **operation missing entirely**; really takes `UpdateBucketBody`
|
|
473
|
-
* (`displayName` / `description` / `color`) and answers a bucket detail
|
|
474
|
-
* - `GET /branch/{branchId}/buckets` (`BucketsListAction`)
|
|
475
|
-
* - query: `include` is a `string` → really a repeatable list, sent comma-joined
|
|
476
|
-
* - response: `BucketCreateResponse[]` → really `Bucket[]` (a listing row, not a create result)
|
|
477
|
-
* - `POST /buckets` (`BucketCreateAction`)
|
|
478
|
-
* - response: 201 `BucketCreateResponse` → really a bucket detail
|
|
479
|
-
* - `DELETE /buckets/{bucketId}` (`BucketDeleteAction`)
|
|
480
|
-
* - response: 204 wins over the 202 `JobResponse` in success-code precedence, so the async variant's
|
|
481
|
-
* job is asserted
|
|
482
|
-
* - `POST /buckets/{bucketId}/owner` (`BucketOwnerUpdateAction`)
|
|
483
|
-
* - body: `BucketOwnerUpdateRequest` is stubbed → really `{ email } | { id }`
|
|
484
|
-
* */
|
|
393
|
+
* Spec mismatches behind the assertions below:
|
|
394
|
+
* - Job returns: the spec's flat `JobResponse` vs the `Job<T>` union; on delete, 204 shadows the 202.
|
|
395
|
+
* - List/create responses are really `Bucket[]` / a bucket detail; list `include` is comma-joined.
|
|
396
|
+
* - Owner-update body is stubbed; really `{ email } | { id }`.
|
|
397
|
+
*/
|
|
485
398
|
const createBuckets = (openApiClient, client) => {
|
|
486
399
|
const getBuckets = async ({ branchId, ...query }, signal) => {
|
|
487
400
|
const { data } = await openApiClient.get("/v2/storage/branch/{branchId}/buckets", {
|
|
@@ -523,8 +436,8 @@ const createBuckets = (openApiClient, client) => {
|
|
|
523
436
|
/**
|
|
524
437
|
* Deletes a bucket synchronously.
|
|
525
438
|
*
|
|
526
|
-
* Refused
|
|
527
|
-
*
|
|
439
|
+
* - Refused on the stacks we test against (`400 storage.buckets.syncDeleteDisabled`); prefer
|
|
440
|
+
* `deleteBucketAsync`.
|
|
528
441
|
*
|
|
529
442
|
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/DELETE/v2/storage/buckets/{bucketId}
|
|
530
443
|
*/
|
|
@@ -532,10 +445,7 @@ const createBuckets = (openApiClient, client) => {
|
|
|
532
445
|
await openApiClient.delete("/v2/storage/buckets/{bucketId}", { path: { bucketId: id } });
|
|
533
446
|
};
|
|
534
447
|
/**
|
|
535
|
-
* Deletes a bucket asynchronously and returns a job to poll.
|
|
536
|
-
* Required on GCP stacks where synchronous bucket deletion is not supported.
|
|
537
|
-
*
|
|
538
|
-
* `force` deletes all tables inside the bucket before removing it.
|
|
448
|
+
* Deletes a bucket asynchronously and returns a job to poll. Required on GCP stacks.
|
|
539
449
|
*
|
|
540
450
|
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/DELETE/v2/storage/buckets/{bucketId}
|
|
541
451
|
*/
|
|
@@ -552,9 +462,8 @@ const createBuckets = (openApiClient, client) => {
|
|
|
552
462
|
/**
|
|
553
463
|
* Returns the owner of a bucket in the given branch.
|
|
554
464
|
*
|
|
555
|
-
* A bucket
|
|
556
|
-
*
|
|
557
|
-
* "unassigned" rather than as a missing bucket).
|
|
465
|
+
* - A bucket without an assigned owner answers `404 storage.bucket.ownerNotFound`, not a missing
|
|
466
|
+
* bucket.
|
|
558
467
|
*
|
|
559
468
|
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/GET/v2/storage/branch/{branchId}/buckets/{bucketId}/owner
|
|
560
469
|
*/
|
|
@@ -619,36 +528,11 @@ const createBuckets = (openApiClient, client) => {
|
|
|
619
528
|
//#endregion
|
|
620
529
|
//#region src/clients/storage/bucketSharing/bucketSharing.ts
|
|
621
530
|
/**
|
|
622
|
-
*
|
|
623
|
-
* -
|
|
624
|
-
*
|
|
625
|
-
*
|
|
626
|
-
* -
|
|
627
|
-
* `query: never`.
|
|
628
|
-
*
|
|
629
|
-
* What the Storage spec needs, per operation:
|
|
630
|
-
*
|
|
631
|
-
* - `POST /branch/{branchId}/buckets/{bucketId}/share-organization` / `-organization-project`
|
|
632
|
-
* - query: `never` → really accepts `async`
|
|
633
|
-
* - response: `BucketShareOrganizationResponse` / `…ProjectResponse` → really share jobs
|
|
634
|
-
* - `POST /branch/{branchId}/buckets/{bucketId}/share-to-projects` / `-to-users`
|
|
635
|
-
* - query: `never` → really accepts `async`
|
|
636
|
-
* - body: `CreateBucketSharingToProjectsRequest` / `…ToUsersRequest` are stubbed
|
|
637
|
-
* (`Record<string, never>`) → really `{ targetProjectIds }` / `{ targetUsers }`
|
|
638
|
-
* - response: contentless `default` → really `bucketShareToProjects` / `bucketShareToAdmins` jobs
|
|
639
|
-
* - `DELETE /branch/{branchId}/buckets/{bucketId}/share` (`BucketShareDeleteAction`)
|
|
640
|
-
* - query: `never` → really accepts `async`
|
|
641
|
-
* - response: `BucketShareDeleteResponse` → really a `bucketRemoveShare` job
|
|
642
|
-
* - `DELETE /branch/{branchId}/buckets/{bucketId}/links/{linkedProjectId}` (`BucketForceUnlinkAction`)
|
|
643
|
-
* - query: `never` → really accepts `async`
|
|
644
|
-
* - path: `linkedProjectId` is a `number` → really a string
|
|
645
|
-
* - response: 202 `JobResponse` → really a `bucketForceUnlink` job
|
|
646
|
-
* - `POST /buckets` (`BucketCreateAction`) — the link half of a create-or-link endpoint
|
|
647
|
-
* - response: the 201 "created or linked synchronously" wins over the 202 in success-code
|
|
648
|
-
* precedence, so the async variant's `bucketLink` job is asserted
|
|
649
|
-
* - `GET /shared-buckets` (`SharedBucketsListAction`)
|
|
650
|
-
* - response: `Record<string, never>[]` → really a shared-bucket listing. This one is *not*
|
|
651
|
-
* asserted, so `SharedBuckets` is currently an empty-object array and callers get nothing useful.
|
|
531
|
+
* Spec mismatches behind the assertions below:
|
|
532
|
+
* - Job returns: the spec's flat `JobResponse` (or no body) vs the `Job<T>` union.
|
|
533
|
+
* - Share/unshare declare `query: never`, but accept `async`.
|
|
534
|
+
* - Share-to-projects/users bodies are stubbed; force-unlink `linkedProjectId` is really a string.
|
|
535
|
+
* - `sharedBuckets` is not asserted, so it returns the spec's `Record<string, never>[]`.
|
|
652
536
|
*/
|
|
653
537
|
const createBucketSharing = (openApiClient) => {
|
|
654
538
|
/**
|
|
@@ -780,24 +664,10 @@ const createBucketSharing = (openApiClient) => {
|
|
|
780
664
|
//#endregion
|
|
781
665
|
//#region src/clients/storage/columns/columns.ts
|
|
782
666
|
/**
|
|
783
|
-
*
|
|
784
|
-
*
|
|
785
|
-
*
|
|
786
|
-
*
|
|
787
|
-
*
|
|
788
|
-
* - `POST /branch/{branchId}/tables/{id}/columns` (`ColumnCreateAction`)
|
|
789
|
-
* - body: none of `ColumnCreateRequest` / `SnowflakeAddColumnToTableRequest` /
|
|
790
|
-
* `BigqueryAddColumnToTableRequest` declares `basetype`, and they type `definition.length` as a
|
|
791
|
-
* `number` → really a string (a decimal length is sent as `'38,0'`)
|
|
792
|
-
* - response: 202 is contentless → really a `tableColumnAdd` job
|
|
793
|
-
* - `DELETE /branch/{branchId}/tables/{tableId}/columns/{columnName}` (`ColumnDeleteAction`)
|
|
794
|
-
* - response: 202 declares `JobResponse` → really a `tableColumnDelete` job
|
|
795
|
-
* - `POST /branch/{branchId}/tables/{tableId}/primary-key` (`PrimaryKeyCreateAction`)
|
|
796
|
-
* - body: `CreatePrimaryKeyRequest.skipDuplicatesCheck` is required → really optional (it has a
|
|
797
|
-
* documented `@default false`, so a caller omitting it is valid)
|
|
798
|
-
* - response: 202 is contentless → really a `tablePrimaryKeyAdd` job
|
|
799
|
-
* - `DELETE /branch/{branchId}/tables/{tableId}/primary-key` (`PrimaryKeyDeleteAction`)
|
|
800
|
-
* - response: 202 declares `JobResponse` → really a `tablePrimaryKeyDelete` job
|
|
667
|
+
* Spec mismatches behind the assertions below:
|
|
668
|
+
* - Job returns: the spec's flat `JobResponse` (or no body) vs the `Job<T>` union.
|
|
669
|
+
* - Add-column body lacks `basetype`; `definition.length` is really a string (`'38,0'`).
|
|
670
|
+
* - Primary-key `skipDuplicatesCheck` is really optional (defaults to `false`).
|
|
801
671
|
*/
|
|
802
672
|
const createColumns = (client) => {
|
|
803
673
|
/**
|
|
@@ -1063,17 +933,12 @@ const createConfigurationRows = (client) => {
|
|
|
1063
933
|
//#endregion
|
|
1064
934
|
//#region src/clients/storage/configurations/utils.ts
|
|
1065
935
|
/**
|
|
1066
|
-
* `expectedVersion`
|
|
1067
|
-
* `If-Match` header so the write is conditional on nothing having changed since. What Storage does
|
|
1068
|
-
* with it:
|
|
936
|
+
* Sends `expectedVersion` as `If-Match`. Storage answers:
|
|
1069
937
|
*
|
|
1070
|
-
* 1.
|
|
1071
|
-
*
|
|
1072
|
-
*
|
|
1073
|
-
*
|
|
1074
|
-
* 3. Version moved on since it was read — 412, and nothing is written.
|
|
1075
|
-
* 4. Value unusable — 400. Storage wants a strong entity tag, so the quotes are part of the value;
|
|
1076
|
-
* a bare number, a weak validator or a tag list are all rejected.
|
|
938
|
+
* 1. Omitted — no precondition (except `purgeConfiguration`: 428).
|
|
939
|
+
* 2. Current — the write applies.
|
|
940
|
+
* 3. Moved on — 412, nothing written.
|
|
941
|
+
* 4. Not a strong quoted entity tag — 400.
|
|
1077
942
|
*/
|
|
1078
943
|
const createVersionPrecondition = (expectedVersion) => expectedVersion === void 0 ? {} : { [HttpHeader.IF_MATCH]: `"${expectedVersion}"` };
|
|
1079
944
|
/**
|
|
@@ -1092,10 +957,8 @@ const parseSyncJobId = (headers) => {
|
|
|
1092
957
|
/**
|
|
1093
958
|
* Every configuration read is bridged to `ComponentConfig<T>` with `as unknown as`.
|
|
1094
959
|
*
|
|
1095
|
-
* - `BaseComponentConfig` re-tightens
|
|
1096
|
-
*
|
|
1097
|
-
* - `ComponentConfig<T>` is a conditional over an unresolved `T`, which TypeScript will not check a
|
|
1098
|
-
* direct conversion against either.
|
|
960
|
+
* - `BaseComponentConfig` re-tightens and re-types spec fields, so the shapes never fully overlap.
|
|
961
|
+
* - `ComponentConfig<T>` is a conditional over an unresolved `T`, which TS won't convert against.
|
|
1099
962
|
*/
|
|
1100
963
|
const createConfigurations = (client) => {
|
|
1101
964
|
const getConfiguration = async ({ componentId, configId, branchId }, signal) => {
|
|
@@ -1126,11 +989,10 @@ const createConfigurations = (client) => {
|
|
|
1126
989
|
return data;
|
|
1127
990
|
};
|
|
1128
991
|
/**
|
|
1129
|
-
* Resolve a merge conflict by deleting the configuration
|
|
1130
|
-
*
|
|
1131
|
-
*
|
|
1132
|
-
* `version
|
|
1133
|
-
* the deleted configuration.
|
|
992
|
+
* Resolve a merge conflict by deleting the configuration.
|
|
993
|
+
*
|
|
994
|
+
* - Same rebase endpoint as `rebaseConfiguration`, with an empty `diff` envelope.
|
|
995
|
+
* - Re-anchors onto the default-branch `version`; the head version becomes a tombstone.
|
|
1134
996
|
*/
|
|
1135
997
|
const rebaseConfigurationToDeleted = async ({ branchId, componentId, configId, version }) => {
|
|
1136
998
|
const { data } = await client.post("/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rebase", {
|
|
@@ -1157,14 +1019,10 @@ const createConfigurations = (client) => {
|
|
|
1157
1019
|
return data;
|
|
1158
1020
|
};
|
|
1159
1021
|
/**
|
|
1160
|
-
*
|
|
1022
|
+
* Sends only the fields provided.
|
|
1161
1023
|
*
|
|
1162
|
-
* -
|
|
1163
|
-
* -
|
|
1164
|
-
* saved configuration. That part runs as a job: poll `syncJobId` through `jobs.getJob` when it
|
|
1165
|
-
* has to land before the caller reports success.
|
|
1166
|
-
* - A `workspaceId` not linked to this component and configuration is rejected with 400, before
|
|
1167
|
-
* the configuration is written.
|
|
1024
|
+
* - `workspaceId` also enqueues an output-mapping sync job; poll `syncJobId` via `jobs.getJob`.
|
|
1025
|
+
* - A `workspaceId` not linked to this configuration is rejected with 400, before any write.
|
|
1168
1026
|
*
|
|
1169
1027
|
* @link https://api.keboola.com/?service=storage#storage/tag/component-configurations/PUT/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}
|
|
1170
1028
|
*/
|
|
@@ -1202,9 +1060,8 @@ const createConfigurations = (client) => {
|
|
|
1202
1060
|
return data;
|
|
1203
1061
|
};
|
|
1204
1062
|
/**
|
|
1205
|
-
* Move a configuration to the trash — or
|
|
1206
|
-
*
|
|
1207
|
-
* prefer `purgeConfiguration` when the permanent removal is the intent.
|
|
1063
|
+
* Move a configuration to the trash — or purge it if it is already trashed.
|
|
1064
|
+
* Prefer `purgeConfiguration` when permanent removal is the intent.
|
|
1208
1065
|
*/
|
|
1209
1066
|
const deleteConfiguration = async ({ branchId, componentId, configId, expectedVersion }) => {
|
|
1210
1067
|
await client.delete("/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}", { path: {
|
|
@@ -1215,9 +1072,9 @@ const createConfigurations = (client) => {
|
|
|
1215
1072
|
};
|
|
1216
1073
|
/**
|
|
1217
1074
|
* Permanently remove a trashed configuration, including its versions, rows and metadata.
|
|
1218
|
-
*
|
|
1219
|
-
* live configuration is rejected (400 `notInTrash`)
|
|
1220
|
-
* only
|
|
1075
|
+
*
|
|
1076
|
+
* - Purging a live configuration is rejected (400 `notInTrash`), never soft-deleted.
|
|
1077
|
+
* - Default branch only; the token needs `canPurgeTrash`.
|
|
1221
1078
|
*/
|
|
1222
1079
|
const purgeConfiguration = async ({ branchId, componentId, configId, expectedVersion }) => {
|
|
1223
1080
|
await client.post("/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/purge", { path: {
|
|
@@ -1227,13 +1084,10 @@ const createConfigurations = (client) => {
|
|
|
1227
1084
|
} }, { headers: { ...createVersionPrecondition(expectedVersion) } });
|
|
1228
1085
|
};
|
|
1229
1086
|
/**
|
|
1230
|
-
* Purge configurations across components in one bounded fan-out.
|
|
1231
|
-
* it stops at the first rejection, and here that is a case to plan for rather than an edge: a
|
|
1232
|
-
* stale `expectedVersion` (412) abandons the rest of the queue, so re-read the trash before
|
|
1233
|
-
* offering another attempt.
|
|
1087
|
+
* Purge configurations across components in one bounded fan-out.
|
|
1234
1088
|
*
|
|
1235
|
-
*
|
|
1236
|
-
*
|
|
1089
|
+
* - Stops at the first rejection: a stale `expectedVersion` (412) abandons the rest of the queue,
|
|
1090
|
+
* so re-read the trash before retrying.
|
|
1237
1091
|
*/
|
|
1238
1092
|
const purgeConfigurations = async ({ branchId, configs }) => {
|
|
1239
1093
|
await concurrent({
|
|
@@ -1245,7 +1099,6 @@ const createConfigurations = (client) => {
|
|
|
1245
1099
|
})
|
|
1246
1100
|
});
|
|
1247
1101
|
};
|
|
1248
|
-
/** Restore a trashed configuration. */
|
|
1249
1102
|
const restoreConfiguration = async ({ branchId, componentId, configId }) => {
|
|
1250
1103
|
const { data } = await client.post("/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/restore", { path: {
|
|
1251
1104
|
branchId,
|
|
@@ -1257,12 +1110,8 @@ const createConfigurations = (client) => {
|
|
|
1257
1110
|
/**
|
|
1258
1111
|
* Reset a dev-branch configuration back to its default-branch (production) version.
|
|
1259
1112
|
*
|
|
1260
|
-
*
|
|
1261
|
-
*
|
|
1262
|
-
* resolving to the configuration, so every caller reading a field off the result was reading
|
|
1263
|
-
* `undefined`. Re-read the configuration to observe the reset.
|
|
1264
|
-
*
|
|
1265
|
-
* Dev-branch only — the API answers 501 on `default`.
|
|
1113
|
+
* - Resolves with an empty body; re-read the configuration to observe the reset.
|
|
1114
|
+
* - Dev-branch only — the API answers 501 on `default`.
|
|
1266
1115
|
*/
|
|
1267
1116
|
const resetConfigurationToDefault = async ({ branchId, componentId, configId }) => {
|
|
1268
1117
|
await client.post("/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/reset-to-default", { path: {
|
|
@@ -1698,18 +1547,11 @@ const createRefreshTokenMiddlware = ({ accessToken, onRefresh }) => {
|
|
|
1698
1547
|
//#endregion
|
|
1699
1548
|
//#region src/clients/storage/search/search.ts
|
|
1700
1549
|
/**
|
|
1701
|
-
*
|
|
1550
|
+
* Search endpoints.
|
|
1702
1551
|
*
|
|
1703
|
-
* -
|
|
1704
|
-
*
|
|
1705
|
-
*
|
|
1706
|
-
* `Table[]`
|
|
1707
|
-
*
|
|
1708
|
-
* Both query casts are type-only, so each query object reaches the wire exactly as the caller wrote
|
|
1709
|
-
* it. That matters for `global-search`: the spec names its repeatable filters `types[]` / `projectIds[]`
|
|
1710
|
-
* / `branchTypes[]` / `branchIds[]`, but this endpoint has always been called with the bare names,
|
|
1711
|
-
* which `qs` serializes as `types[0]=bucket&types[1]=table` — also an array to the backend. Renaming
|
|
1712
|
-
* the fields to satisfy the document would change what Storage receives, and no test would catch it.
|
|
1552
|
+
* - Both responses are asserted in: the spec stubs them.
|
|
1553
|
+
* - Query casts are type-only: `global-search` filters go out with bare names (`types`, not
|
|
1554
|
+
* `types[]`); renaming them to match the spec would change what Storage receives.
|
|
1713
1555
|
*/
|
|
1714
1556
|
const createSearch = (client) => {
|
|
1715
1557
|
/**
|
|
@@ -1759,8 +1601,7 @@ const createSnapshots = (client) => {
|
|
|
1759
1601
|
/**
|
|
1760
1602
|
* Reads a single snapshot. Not branch-scoped — a snapshot id is unique across branches.
|
|
1761
1603
|
*
|
|
1762
|
-
*
|
|
1763
|
-
* `created`, so the shape is still asserted in. It is the same `Snapshot` the table listing returns.
|
|
1604
|
+
* Asserted in: the spec names the timestamp `createdTime`, the API returns `created`.
|
|
1764
1605
|
*
|
|
1765
1606
|
* @link https://api.keboola.com/?service=storage#storage/GET/v2/storage/snapshots/{snapshotId}
|
|
1766
1607
|
*/
|
|
@@ -1769,13 +1610,9 @@ const createSnapshots = (client) => {
|
|
|
1769
1610
|
return data;
|
|
1770
1611
|
};
|
|
1771
1612
|
/**
|
|
1772
|
-
* Deletes a snapshot
|
|
1773
|
-
* with no content). The endpoint is not branch-scoped — a snapshot id is unique across branches, so
|
|
1774
|
-
* there is no `/branch/{branchId}/snapshots/{snapshotId}` variant.
|
|
1613
|
+
* Deletes a snapshot; returns its storage job, or `null` on no content. Not branch-scoped.
|
|
1775
1614
|
*
|
|
1776
|
-
*
|
|
1777
|
-
* discriminated union over `status`, and says nothing about the no-content answer, so both are
|
|
1778
|
-
* asserted in.
|
|
1615
|
+
* Asserted in: the spec's flat `JobResponse` is not the discriminated `Job`, and omits no-content.
|
|
1779
1616
|
*
|
|
1780
1617
|
* @link https://api.keboola.com/?service=storage#storage/DELETE/v2/storage/snapshots/{snapshotId}
|
|
1781
1618
|
*/
|
|
@@ -1828,10 +1665,8 @@ const createStats = (client) => {
|
|
|
1828
1665
|
//#region src/clients/storage/tables/tables.ts
|
|
1829
1666
|
const createTables = (client, genericClient) => {
|
|
1830
1667
|
/**
|
|
1831
|
-
* Returns every table in the given branch. Filter client-side
|
|
1832
|
-
*
|
|
1833
|
-
* `{bucketId}.` prefix in `table.id` (IDs use `{bucketId}.{tableName}`,
|
|
1834
|
-
* e.g. `in.c-main.users`).
|
|
1668
|
+
* Returns every table in the given branch. Filter by bucket client-side: `table.bucket?.id`
|
|
1669
|
+
* (needs `include: ['buckets']`) or the `{bucketId}.` prefix of `table.id`.
|
|
1835
1670
|
*
|
|
1836
1671
|
* @link https://api.keboola.com/?service=storage#storage/GET/v2/storage/branch/{branchId}/tables
|
|
1837
1672
|
*/
|
|
@@ -1899,9 +1734,7 @@ const createTables = (client, genericClient) => {
|
|
|
1899
1734
|
/**
|
|
1900
1735
|
* Returns the first rows of a table in the given branch.
|
|
1901
1736
|
*
|
|
1902
|
-
* The
|
|
1903
|
-
* `orderBy` / `fulltextSearch`, all of which the endpoint accepts — hence the hand-authored
|
|
1904
|
-
* `GetDataPreviewQuery` and the asserted query.
|
|
1737
|
+
* The spec declares `query?: never`, so the query is the hand-written `GetDataPreviewQuery`.
|
|
1905
1738
|
*
|
|
1906
1739
|
* @link https://api.keboola.com/?service=storage#storage/tag/tables/GET/v2/storage/branch/{branchId}/tables/{tableId}/data-preview
|
|
1907
1740
|
*/
|
|
@@ -1921,11 +1754,7 @@ const createTables = (client, genericClient) => {
|
|
|
1921
1754
|
/**
|
|
1922
1755
|
* Exports a table to a file. Async — returns a job.
|
|
1923
1756
|
*
|
|
1924
|
-
* Unbranched, though
|
|
1925
|
-
* `/v2/storage/branch/{branchId}/tables/{tableId}/export-async`: export was outside the scope of
|
|
1926
|
-
* the table migration (UT-4785), so switching it would change behaviour for a flow that migration
|
|
1927
|
-
* did not touch. It is the one remaining branch-capable method here that does not take a
|
|
1928
|
-
* `branchId`, and moving it is a clean follow-up.
|
|
1757
|
+
* Unbranched, though a branch-scoped `export-async` exists.
|
|
1929
1758
|
*
|
|
1930
1759
|
* @link https://api.keboola.com/?service=storage#storage/tag/tables/POST/v2/storage/tables/{tableId}/export-async
|
|
1931
1760
|
*/
|
|
@@ -1948,7 +1777,7 @@ const createTables = (client, genericClient) => {
|
|
|
1948
1777
|
};
|
|
1949
1778
|
/**
|
|
1950
1779
|
* Creates a typed table from an explicit column definition (no data) in the given bucket.
|
|
1951
|
-
*
|
|
1780
|
+
* Async — returns a `tableDefinitionCreate` job.
|
|
1952
1781
|
*
|
|
1953
1782
|
* @link https://api.keboola.com/?service=storage#storage/tag/buckets/POST/v2/storage/branch/{branchId}/buckets/{bucketId}/tables-definition
|
|
1954
1783
|
*/
|
|
@@ -1973,14 +1802,10 @@ const createTables = (client, genericClient) => {
|
|
|
1973
1802
|
return data;
|
|
1974
1803
|
};
|
|
1975
1804
|
/**
|
|
1976
|
-
* Updates a table's definition in place — `
|
|
1977
|
-
* `isDescriptionSystemManaged`, and per-column
|
|
1978
|
-
* `length`/`nullable`/`default`/`description`. The endpoint is async: it
|
|
1979
|
-
* returns a `tableDefinitionUpdate` storage job that the caller can poll.
|
|
1805
|
+
* Updates a table's definition in place. Async — returns a `tableDefinitionUpdate` job.
|
|
1980
1806
|
*
|
|
1981
|
-
* Send only the fields
|
|
1982
|
-
* patches
|
|
1983
|
-
* neither `displayName` nor `columns`.
|
|
1807
|
+
* - Send only the changed fields; at least one is required.
|
|
1808
|
+
* - Description patches work on non-typed tables too.
|
|
1984
1809
|
*
|
|
1985
1810
|
* @link https://api.keboola.com/?service=storage#storage/tag/tables/PUT/v2/storage/branch/{branchId}/tables/{tableId}/definition
|
|
1986
1811
|
*/
|
|
@@ -1995,20 +1820,11 @@ const createTables = (client, genericClient) => {
|
|
|
1995
1820
|
return data;
|
|
1996
1821
|
};
|
|
1997
1822
|
/**
|
|
1998
|
-
* Updates a table's display name (synchronous).
|
|
1999
|
-
* `updateTableDefinition` instead.
|
|
2000
|
-
*
|
|
2001
|
-
* On the generic client and unbranched, unlike its siblings — but only because of where the
|
|
2002
|
-
* endpoint lives, not because of what it supports. It is still `Storage_TablesController::putAction`
|
|
2003
|
-
* in connection's legacy Zend app, and the Storage document is generated from the `#[OA\...]`
|
|
2004
|
-
* attributes on the migrated Symfony controllers, so no annotation fix closes this gap; the
|
|
2005
|
-
* controller has to move first. The action does take a `DevBranch`, and `put` is in the
|
|
2006
|
-
* branch-implemented route list, so `/branch/{branchId}/tables/{id}` works — there is simply no
|
|
2007
|
-
* `paths` entry to derive it from, and the branch prefix is left to the caller's middleware.
|
|
1823
|
+
* Updates a table's display name (synchronous). Use `updateTableDefinition` for typed tables.
|
|
2008
1824
|
*
|
|
2009
|
-
*
|
|
2010
|
-
*
|
|
2011
|
-
*
|
|
1825
|
+
* - Generic client, unbranched: the spec has no path for it; the caller's middleware adds the
|
|
1826
|
+
* branch prefix.
|
|
1827
|
+
* - The synchronous form is deprecated backend-side; `?async=true` returns a `tableUpdate` job.
|
|
2012
1828
|
*
|
|
2013
1829
|
* @link https://api.keboola.com/?service=storage#storage/tag/tables
|
|
2014
1830
|
*/
|
|
@@ -2022,9 +1838,7 @@ const createTables = (client, genericClient) => {
|
|
|
2022
1838
|
/**
|
|
2023
1839
|
* Pulls a table from the default branch into the given dev branch.
|
|
2024
1840
|
*
|
|
2025
|
-
*
|
|
2026
|
-
* absent from the Storage document and 404s for every table (the live nightly caught it), because
|
|
2027
|
-
* nothing in it says which branch to pull into.
|
|
1841
|
+
* Branch-scoped: the unbranched `/v2/storage/tables/{id}/pull` 404s.
|
|
2028
1842
|
*
|
|
2029
1843
|
* @link https://api.keboola.com/?service=storage#storage/tag/tables
|
|
2030
1844
|
*/
|
|
@@ -2262,16 +2076,12 @@ const createTriggers = (client) => {
|
|
|
2262
2076
|
//#endregion
|
|
2263
2077
|
//#region src/clients/storage/workspaces/workspaces.ts
|
|
2264
2078
|
/**
|
|
2265
|
-
* Paths, queries and bodies come from the spec; only the returns are asserted
|
|
2079
|
+
* Paths, queries and bodies come from the spec; only the returns are asserted.
|
|
2266
2080
|
*
|
|
2267
|
-
* - `
|
|
2268
|
-
* hand-authored (see `./types`) — that covers the list, detail and public-key returns.
|
|
2081
|
+
* - `Workspace` is corrected in `./types`: the spec's connection is narrower than callers get.
|
|
2269
2082
|
* - The password, SSO and delete operations answer a contentless `default`.
|
|
2270
|
-
* - `
|
|
2271
|
-
*
|
|
2272
|
-
*
|
|
2273
|
-
* `workspaceId` is a `number` in every input; the operations whose spec segment is a `string` take
|
|
2274
|
-
* `String(workspaceId)` here rather than pushing the spec's inconsistency onto callers.
|
|
2083
|
+
* - `Job<T>` is a union over `status` with typed `results`; the spec's `JobResponse` is flat.
|
|
2084
|
+
* - `workspaceId` is a `number` in every input, stringified where the spec wants a string.
|
|
2275
2085
|
*/
|
|
2276
2086
|
const createWorkspaces = (client) => {
|
|
2277
2087
|
const getWorkspaces = async (path, signal) => {
|
|
@@ -2320,9 +2130,7 @@ const createWorkspaces = (client) => {
|
|
|
2320
2130
|
return data;
|
|
2321
2131
|
};
|
|
2322
2132
|
/**
|
|
2323
|
-
*
|
|
2324
|
-
* Supported only on Snowflake.
|
|
2325
|
-
* When called, either a new key is created, or the older one is replaced.
|
|
2133
|
+
* Sets or replaces the workspace user's public key, migrating off password auth. Snowflake only.
|
|
2326
2134
|
*/
|
|
2327
2135
|
const setWorkspacePublicKey = async ({ branchId, workspaceId, ...body }) => {
|
|
2328
2136
|
const { data } = await client.post("/v2/storage/branch/{branchId}/workspaces/{workspaceId}/public-key", {
|
|
@@ -2359,10 +2167,9 @@ const createWorkspaces = (client) => {
|
|
|
2359
2167
|
return data;
|
|
2360
2168
|
};
|
|
2361
2169
|
/**
|
|
2362
|
-
*
|
|
2363
|
-
*
|
|
2364
|
-
*
|
|
2365
|
-
* `backend` argument, then the project default.
|
|
2170
|
+
* Previews the resolved load types for an input-mapping config, without a workspace or job.
|
|
2171
|
+
*
|
|
2172
|
+
* - Backend order: the item's `backend`, then the `backend` argument, then the project default.
|
|
2366
2173
|
*/
|
|
2367
2174
|
const inputMappingLoadPreview = async ({ branchId, body, backend }, signal) => {
|
|
2368
2175
|
const { data } = await client.post("/v2/storage/branch/{branchId}/input-mapping-load/preview", {
|
|
@@ -2449,4 +2256,4 @@ const createStorageClient = ({ baseUrl, auth, middlewares = [], onRefreshToken }
|
|
|
2449
2256
|
//#endregion
|
|
2450
2257
|
export { readableReason as a, ServiceUnavailableError as i, fromBackendSubscribers as n, series as o, toBackendSubscribers as r, createStorageClient as t };
|
|
2451
2258
|
|
|
2452
|
-
//# sourceMappingURL=storage-
|
|
2259
|
+
//# sourceMappingURL=storage-CZQHZcXG.js.map
|