@keboola/api-client 41.0.0 → 43.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 +44 -3
- package/CHANGELOG.md +170 -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/collect-97WhfEpt.js +30 -0
- package/dist/collect-97WhfEpt.js.map +1 -0
- package/dist/collect-B5TCNiT1.cjs +35 -0
- package/dist/collect-B5TCNiT1.cjs.map +1 -0
- 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/createAbortError-BxupOt-6.js +6 -0
- package/dist/createAbortError-BxupOt-6.js.map +1 -0
- package/dist/createAbortError-RendOpo7.cjs +11 -0
- package/dist/createAbortError-RendOpo7.cjs.map +1 -0
- 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.d.cts +1 -1
- package/dist/dataScience/index.d.ts +1 -1
- package/dist/dataScience/index.js +2 -2
- package/dist/dataScience/types.d.cts +1 -1
- package/dist/dataScience/types.d.ts +1 -1
- 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.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-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-DNThyEej.d.cts → index-04pgr-EO.d.cts} +14 -3
- package/dist/{index-DCRKjihs.d.ts → index-B03vhWSX.d.ts} +117 -90
- package/dist/{index-BDZvaRud.d.ts → index-B72LTF-k.d.ts} +6 -3
- package/dist/{index-CcMHJcuP.d.cts → index-BHWTa4YN.d.cts} +3 -2
- package/dist/{index-DOAZmWvh.d.cts → index-BMiZx-4_.d.cts} +6 -3
- package/dist/{index-CaaTOANF.d.ts → index-BQZ9njUC.d.ts} +598 -85
- package/dist/{index--ZpnE3YT.d.cts → index-BUsLHNOA.d.cts} +2 -2
- package/dist/{index-Cz0MXhzs.d.cts → index-C7KThHI3.d.cts} +6 -2
- package/dist/{index-D-VMgpGc.d.ts → index-CAvT_ahE.d.ts} +6 -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-C11JSxBY.d.ts → index-CX8GAP2g.d.ts} +13 -8
- package/dist/{index-Cvbjp3jx.d.cts → index-CdS-c6sC.d.cts} +6 -6
- package/dist/{index-cWp_V6K5.d.cts → index-Cm04GKm9.d.cts} +598 -85
- package/dist/{index-C4TNAA8-.d.cts → index-Cvkrjh--.d.cts} +13 -8
- package/dist/{index-ByRpNVcs.d.cts → index-D3HFMfJJ.d.cts} +117 -90
- package/dist/{index-DnQTuc6t.d.ts → index-D7of2MMN.d.ts} +6 -6
- 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-CXcWpZQ2.d.ts → index-P1vR966i.d.cts} +74 -2
- package/dist/{index-CXcWpZQ2.d.cts → index-P1vR966i.d.ts} +74 -2
- package/dist/{index-Qb7X6-ph.d.ts → index-R-w0Zncz.d.ts} +14 -3
- package/dist/{index-D_-4uQF8.d.ts → index-zyxZVJnd.d.ts} +3 -2
- package/dist/index.cjs +68 -41
- 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 +67 -41
- 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/{jobStatus-CfRtsIpv.js → jobStatus-CDp4r5JQ.js} +3 -5
- package/dist/jobStatus-CDp4r5JQ.js.map +1 -0
- package/dist/{jobStatus-BMlsyXWI.cjs → jobStatus-CcNlIy5R.cjs} +5 -13
- package/dist/{jobStatus-CfRtsIpv.js.map → jobStatus-CcNlIy5R.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/types.d.cts +1 -1
- package/dist/kaiAgent/types.d.ts +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.d.cts +2 -1
- package/dist/microsoftGraph/index.d.ts +2 -1
- 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 → 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.d.cts +1 -1
- package/dist/oauth/index.d.ts +1 -1
- 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--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.d.cts +1 -1
- package/dist/omnisearch/index.d.ts +1 -1
- package/dist/omnisearch/index.js +2 -2
- package/dist/omnisearch/types.d.cts +1 -1
- package/dist/omnisearch/types.d.ts +1 -1
- 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-CQzclHdL.cjs → queryService-DSww_TJp.cjs} +6 -6
- package/dist/{queryService-CQzclHdL.cjs.map → queryService-DSww_TJp.cjs.map} +1 -1
- package/dist/{queryService-CCOYbRbw.js → queryService-Drvy1ztW.js} +6 -6
- package/dist/{queryService-CCOYbRbw.js.map → queryService-Drvy1ztW.js.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-Ci_f_5TI.js} +7 -32
- package/dist/queue-Ci_f_5TI.js.map +1 -0
- package/dist/{queue-UG_BWKIC.cjs → queue-DpMvv8C-.cjs} +7 -38
- package/dist/{queue-Cowbg6bR.js.map → queue-DpMvv8C-.cjs.map} +1 -1
- package/dist/scheduler/index.cjs +3 -3
- package/dist/scheduler/index.d.cts +13 -1
- package/dist/scheduler/index.d.ts +13 -1
- package/dist/scheduler/index.js +3 -3
- package/dist/scheduler/types.d.cts +1 -1
- package/dist/scheduler/types.d.ts +1 -1
- package/dist/{schema-D1oxyn1O.d.cts → schema-DJa9WBjR.d.cts} +28 -1
- package/dist/{schema-D1oxyn1O.d.ts → schema-DJa9WBjR.d.ts} +28 -1
- 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.d.cts +13 -8
- package/dist/sdk/developerPortal/index.d.ts +13 -8
- 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.cjs +1 -1
- package/dist/sdk/queryService/index.d.cts +1 -1
- package/dist/sdk/queryService/index.d.ts +1 -1
- package/dist/sdk/queryService/index.js +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-C-lyo_iX.js} +273 -135
- package/dist/storage-C-lyo_iX.js.map +1 -0
- package/dist/{storage-JinL1y1s.cjs → storage-DAJquqEw.cjs} +273 -135
- package/dist/storage-DAJquqEw.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-n4PTnLii.d.ts → types-AYX7VtS6.d.ts} +179 -2
- package/dist/{types-DIiOMV-t.d.ts → types-B3P5yAuI.d.ts} +5 -1
- package/dist/{types-BLNB882w.d.cts → types-B3i04d_A.d.cts} +5 -1
- package/dist/{types-CZXPu3gn.d.ts → types-BBUZ9EHs.d.ts} +4 -1
- 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-CP_LBmw3.d.cts → types-BhOUS9j1.d.cts} +26 -3
- package/dist/{types-tKkeLa2B.d.cts → types-BiEh5c_t.d.cts} +60 -8
- 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-RbrfiY8T.d.ts → types-CAp1VexS.d.ts} +3 -3
- package/dist/{types-DinIJ1D_.d.cts → types-CBPKpLTf.d.cts} +179 -2
- 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-DE9hgr7i.d.cts → types-CgBzm1YR.d.cts} +106 -1
- 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-B61aCifg.d.cts → types-D9axmt5o.d.cts} +4 -1
- package/dist/{types-CWyXTMwy.d.ts → types-DaMmgW-O.d.ts} +106 -1
- 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-q-1r_9d1.d.ts → types-DzV6LaZq.d.ts} +60 -8
- 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-6kuMW4JW.d.cts → types-c_bsDkV6.d.cts} +3 -3
- package/dist/{types-DgJeO9Nd.d.ts → types-gcAb6olM.d.ts} +26 -3
- 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 +31 -6
- package/dist/vault/index.cjs.map +1 -1
- package/dist/vault/index.d.cts +1 -1
- package/dist/vault/index.d.ts +1 -1
- package/dist/vault/index.js +31 -6
- package/dist/vault/index.js.map +1 -1
- package/dist/vault/types.d.cts +1 -1
- package/dist/vault/types.d.ts +1 -1
- package/package.json +7 -7
- package/surface/auth.md +7 -0
- package/surface/dataScience.md +2 -2
- package/surface/kaiAgent.md +5 -3
- package/surface/management.md +28 -13
- package/surface/metastore.md +4 -1
- package/surface/queue.md +1 -1
- package/surface/scheduler.md +3 -3
- package/surface/sdk.md +13 -8
- package/surface/storage.md +27 -24
- package/surface/syncActions.md +48 -1
- package/surface/vault.md +1 -0
- 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/jobStatus-BMlsyXWI.cjs.map +0 -1
- 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/queue-UG_BWKIC.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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storageTable-BNOR2FCh.cjs","names":["z"],"sources":["../src/clients/storage/__generated__/constraints.ts","../src/domain/storageTable/nameRule.ts","../src/domain/storageTable/constants.ts","../src/domain/storageTable/schema.ts","../src/domain/storageTable/codec.ts","../src/domain/storageTable/model.ts","../src/domain/storageTable/utils.ts","../src/domain/storageTable/createStorageTable.ts"],"sourcesContent":["// Generated from the storage OpenAPI spec by scripts/gen-types.mjs. Do not edit.\n// `openapi-typescript` emits neither `pattern` nor the length bounds, so they arrive here instead.\n\n/**\n * The name of a bucket or a table.\n *\n * - Allowed characters: `A-Z`, `a-z`, `0-9`, dash `-` and underscore `_`. Anything else — a\n * space, a dot, an accented letter — is rejected, not transliterated.\n * - 1 to 96 characters.\n * - Cannot start with an underscore. A dash or a digit as the first character is fine.\n * - Registered (external) buckets follow this same rule, dashes included.\n * - Uniqueness is case-insensitive within a stage: creating `MyBucket` next to `mybucket`\n * fails with `storage.buckets.alreadyExists`, and for tables with\n * `storage.buckets.tableAlreadyExists` or `storage.validation.tableAlreadyExists`.\n * - To turn arbitrary user input into a name that satisfies this rule, call\n * `POST /v2/storage/webalize/display-name` instead of reimplementing the transformation. It\n * unaccents the input, replaces every run of disallowed characters with a single `-`, trims\n * `-` from both ends, strips leading underscores, and truncates to 96 characters.\n */\nexport const STORAGE_NAME = {\n pattern: /^(?!_)[-_A-Za-z0-9]+$/,\n minLength: 1,\n maxLength: 96,\n} as const;\n\n/**\n * The name of a table column.\n *\n * - Allowed characters: `A-Z`, `a-z`, `0-9` and underscore `_`. Unlike a bucket or table name,\n * a column name may **not** contain a dash.\n * - 1 to 64 characters.\n * - Must start with a letter or a digit.\n * - To turn arbitrary user input into a name that satisfies this rule, call\n * `POST /v2/storage/webalize/column-names` instead of reimplementing the transformation. In\n * order, it strips emoji, transliterates the rest to ASCII, replaces every run of disallowed\n * characters with a single `_`, trims `_` from both ends, truncates to 64 characters, and\n * strips any leading `_` the truncation left behind. Input with no usable character left\n * webalizes to an empty string, which is *not* a valid column name.\n * - `POST /v2/storage/validate/column-names` applies one rule the creation endpoints do not:\n * it also rejects the backend system columns `oid`, `tableoid`, `xmin`, `cmin`, `xmax`,\n * `cmax` and `ctid`.\n */\nexport const STORAGE_COLUMN_NAME = {\n pattern: /^[a-zA-Z0-9][a-zA-Z0-9_]*$/,\n minLength: 1,\n maxLength: 64,\n} as const;\n","import { STORAGE_COLUMN_NAME, STORAGE_NAME } from '../../clients/storage/__generated__/constraints';\n\n/**\n * The charset half of each rule, as a sentence.\n *\n * - The generated components carry the rule as a regex; a person filling in a field needs words.\n * - A bucket or table name admits a dash. A column name does not.\n */\nexport const NAME_CHARSET_HINT =\n 'Only alphanumeric characters, dashes, and underscores are allowed.';\nexport const COLUMN_NAME_CHARSET_HINT = 'Only alphanumeric characters and underscores are allowed.';\n\n/**\n * Why Storage would reject `value` as a bucket or table name, or `null` when it would accept it.\n *\n * - Checks the published `StorageName` component — charset, length and the leading underscore.\n * - Knows nothing about names already taken; uniqueness is the caller's own lookup.\n * - `entity` only names the thing in the message.\n */\nexport const validateStorageName = (value: string, entity = 'Name'): string | null => {\n if (value.length < STORAGE_NAME.minLength) return `${entity} cannot be empty.`;\n if (value.length > STORAGE_NAME.maxLength)\n return `${entity} is limited to ${STORAGE_NAME.maxLength} characters.`;\n if (value.startsWith('_')) return `${entity} cannot start with an underscore.`;\n if (!STORAGE_NAME.pattern.test(value)) return NAME_CHARSET_HINT;\n\n return null;\n};\n\n/**\n * Why Storage would reject `value` as a column name, or `null` when it would accept it.\n *\n * - Checks the published `StorageColumnName` component, which is a different, stricter rule than\n * `validateStorageName`: no dash, 64 characters, and the first character must be alphanumeric.\n * - `POST /v2/storage/validate/column-names` additionally rejects the backend system columns; that\n * is a server round-trip, not part of this check.\n */\nexport const validateStorageColumnName = (value: string, entity = 'Column name'): string | null => {\n if (value.length < STORAGE_COLUMN_NAME.minLength) return `${entity} cannot be empty.`;\n if (value.length > STORAGE_COLUMN_NAME.maxLength)\n return `${entity} is limited to ${STORAGE_COLUMN_NAME.maxLength} characters.`;\n if (!STORAGE_COLUMN_NAME.pattern.test(value)) {\n return /^[a-zA-Z0-9]/.test(value)\n ? COLUMN_NAME_CHARSET_HINT\n : `${entity} has to start with a letter or a number.`;\n }\n\n return null;\n};\n\nexport { STORAGE_COLUMN_NAME, STORAGE_NAME };\n","/** Matches a numeric dev-branch prefix on a legacy-prefix-stripped bucket name. */\nexport const BRANCH_PREFIX_REGEX = /^(\\d+)-(.+)$/;\n/** Historical `c-` prefix Storage prepends to legacy bucket names. */\nexport const LEGACY_BUCKET_PREFIX = 'c-';\n","import { z } from 'zod';\n\nimport { STORAGE_NAME } from './nameRule';\n\nexport const stageSchema = z.enum(['in', 'out']);\n\n/**\n * A bucket or table name, as the `StorageName` component publishes it.\n *\n * - The leading-underscore check runs before the pattern, which also encodes it, so the specific\n * message wins over the generic one.\n */\nexport const nameSchema = z\n .string()\n .min(STORAGE_NAME.minLength, `Invalid name segment: must not be empty`)\n .max(STORAGE_NAME.maxLength, `Invalid name segment: exceeds ${STORAGE_NAME.maxLength} characters`)\n .refine((n) => !n.startsWith('_'), `Invalid name segment: must not start with an underscore`)\n .regex(STORAGE_NAME.pattern, `Invalid name segment: contains invalid characters`);\n\nexport const tableIdSchema = z\n .string()\n .refine(\n (id) => id.split('.').length === 3,\n 'Invalid table id: must be in \"{stage}.{bucket}.{table}\" form',\n )\n .transform((id) => id.split('.') as [string, string, string])\n .pipe(z.tuple([stageSchema, nameSchema, nameSchema]));\n\nexport const bucketIdSchema = z\n .string()\n .refine(\n (id) => id.split('.').length === 2,\n 'Invalid bucket id: must be in \"{stage}.{bucket}\" form',\n )\n .transform((id) => id.split('.') as [string, string])\n .pipe(z.tuple([stageSchema, nameSchema]));\n","import type z from 'zod';\n\nimport { BRANCH_PREFIX_REGEX, LEGACY_BUCKET_PREFIX } from './constants';\nimport { nameSchema, stageSchema } from './schema';\nimport type {\n Bucket,\n BucketId,\n BucketName,\n LegacyBucket,\n ModelOptions,\n ParsedBucket,\n StorageBranchBucket,\n} from './types';\n\ntype EncodedBucket =\n | {\n kind: 'legacy';\n id: BucketId;\n /** baseName + `{branchId}-` prefix, without `c-`. User-facing. e.g. `123-main` */\n branchedName: BucketName;\n /** baseName + branch + `c-` prefix. On-disk (Storage `bucket.name`). e.g. `c-123-main` */\n prefixedName: BucketName;\n }\n | {\n kind: 'storage-branch';\n id: BucketId;\n /** baseName + `c-` prefix when hasLegacyPrefix. On-disk (Storage `bucket.name`). e.g. `c-main` */\n prefixedName: BucketName;\n };\n\nexport const createBucketCodec = ({\n useLegacyBucketPrefix,\n hasProtectedDefaultBranch,\n hasStorageBranches,\n}: ModelOptions) => {\n const decode = (name: BucketName): ParsedBucket => {\n const hasLegacyPrefix = useLegacyBucketPrefix && name.startsWith(LEGACY_BUCKET_PREFIX);\n const stripped = hasLegacyPrefix ? name.slice(LEGACY_BUCKET_PREFIX.length) : name;\n\n // Native branched storage: branch is BE-side (no `{branchId}-` decoration), but the\n // legacy `c-` prefix is still applied independently of the branch model.\n if (hasProtectedDefaultBranch || hasStorageBranches)\n return {\n kind: 'storage-branch',\n baseName: stripped,\n hasLegacyPrefix,\n } satisfies StorageBranchBucket;\n\n const branchMatch = BRANCH_PREFIX_REGEX.exec(stripped);\n\n return {\n kind: 'legacy',\n hasLegacyPrefix,\n branchId: branchMatch?.[1] ?? null,\n baseName: branchMatch?.[2] ?? stripped,\n } satisfies LegacyBucket;\n };\n\n const encode = (\n bucket: Bucket,\n ): { success: true; data: EncodedBucket } | { success: false; error: z.ZodError<string> } => {\n const stageResult = stageSchema.safeParse(bucket.stage);\n if (!stageResult.success) return { success: false, error: stageResult.error };\n\n const prefix = bucket.hasLegacyPrefix ? LEGACY_BUCKET_PREFIX : '';\n const baseNameResult = nameSchema.safeParse(bucket.baseName);\n if (!baseNameResult.success) return { success: false, error: baseNameResult.error };\n\n if (bucket.kind === 'storage-branch') {\n const prefixedName = `${prefix}${bucket.baseName}`;\n\n return {\n success: true,\n data: {\n kind: 'storage-branch',\n id: `${bucket.stage}.${prefixedName}` satisfies BucketId,\n prefixedName,\n },\n };\n }\n\n const branch = bucket.branchId ? `${bucket.branchId}-` : '';\n const branchedName = `${branch}${bucket.baseName}`;\n const prefixedName = `${prefix}${branchedName}`;\n\n return {\n success: true,\n data: {\n kind: 'legacy',\n id: `${bucket.stage}.${prefixedName}` satisfies BucketId,\n prefixedName,\n branchedName,\n },\n };\n };\n\n return { decode, encode };\n};\n","import { createBucketCodec } from './codec';\nimport { bucketIdSchema, nameSchema, tableIdSchema } from './schema';\nimport type {\n Bucket,\n BucketId,\n BucketName,\n BucketStage,\n ModelOptions,\n Table,\n TableId,\n TableName,\n} from './types';\n\nexport type CreateBucketFn = (input: {\n stage: BucketStage;\n name: BucketName;\n branchId?: string | null;\n}) => Bucket;\n\nexport type CreateTableFn = (input: {\n stage: BucketStage;\n tableName: TableName;\n bucketName: BucketName;\n branchId?: string | null;\n}) => Table;\n\nexport type TableModel = {\n parse(id: string): Table;\n parseBucket(id: string): Bucket;\n\n safeParse(id: string): Table | null;\n safeParseBucket(id: string): Bucket | null;\n\n serializeTableId(table: Table): TableId;\n serializeBucketId(bucket: Bucket): BucketId;\n serializeBucketName(bucket: Bucket): BucketName;\n serializeBucketDisplayName(bucket: Bucket): BucketName;\n\n safeSerializeTableId(table: Table): TableId | null;\n safeSerializeBucketId(bucket: Bucket): BucketId | null;\n safeSerializeBucketName(bucket: Bucket): BucketName | null;\n\n createTable: CreateTableFn;\n createBucket: CreateBucketFn;\n};\n\nexport const createTableModel = (options: ModelOptions): TableModel => {\n const codec = createBucketCodec(options);\n\n const decodeTable = (stage: BucketStage, bucketName: string, tableName: string): Table => ({\n name: tableName,\n bucket: { ...codec.decode(bucketName), stage },\n });\n\n const serializeBucketDisplayName = (bucket: Bucket) => {\n const result = codec.encode(bucket);\n if (!result.success) throw result.error;\n // Storage-branch display name is just the bare baseName (no branch decoration to apply);\n // encode is still called so the empty-name guard throws consistently.\n return result.data.kind === 'storage-branch' ? bucket.baseName : result.data.branchedName;\n };\n\n const serializeBucketName = (bucket: Bucket) => {\n const result = codec.encode(bucket);\n if (!result.success) throw result.error;\n return result.data.prefixedName;\n };\n\n const serializeBucketId = (bucket: Bucket): BucketId => {\n const result = codec.encode(bucket);\n if (!result.success) throw result.error;\n return result.data.id;\n };\n\n const serializeTableId = (table: Table): TableId =>\n `${serializeBucketId(table.bucket)}.${nameSchema.parse(table.name)}`;\n\n // Safe counterparts: return null instead of throwing when a required segment is empty.\n const safeSerializeBucketName = (bucket: Bucket): BucketName | null => {\n const result = codec.encode(bucket);\n if (!result.success) return null;\n return result.data.prefixedName;\n };\n\n const safeSerializeBucketId = (bucket: Bucket): BucketId | null => {\n const result = codec.encode(bucket);\n if (!result.success) return null;\n return result.data.id;\n };\n\n const safeSerializeTableId = (table: Table): TableId | null => {\n const bucketId = safeSerializeBucketId(table.bucket);\n const tableNameResult = nameSchema.safeParse(table.name);\n if (!bucketId || !tableNameResult.success) return null;\n return `${bucketId}.${tableNameResult.data}`;\n };\n\n const parse = (id: string) => {\n const data = tableIdSchema.parse(id);\n return decodeTable(...data);\n };\n\n const safeParse = (id: string): Table | null => {\n const parseResult = tableIdSchema.safeParse(id);\n if (!parseResult.success) return null;\n return decodeTable(...parseResult.data);\n };\n\n const parseBucket = (id: string): Bucket => {\n const [stage, bucketName] = bucketIdSchema.parse(id);\n return { ...codec.decode(bucketName), stage };\n };\n\n const safeParseBucket = (id: string): Bucket | null => {\n const parseResult = bucketIdSchema.safeParse(id);\n if (!parseResult.success) return null;\n const [stage, bucketName] = parseResult.data;\n return { ...codec.decode(bucketName), stage };\n };\n\n const createBucket: CreateBucketFn = (input) => {\n // Normalize the input the same way decoding does (strips a `c-`/`{branchId}-`\n // a caller may have passed), so `baseName` always holds the bare name.\n const decoded = codec.decode(input.name);\n // On create the prefix is decided by the project flag — not by whether the\n // input happened to start with `c-`. This applies to both bucket models.\n if (decoded.kind === 'storage-branch')\n return { ...decoded, stage: input.stage, hasLegacyPrefix: options.useLegacyBucketPrefix };\n\n return {\n ...decoded,\n stage: input.stage,\n hasLegacyPrefix: options.useLegacyBucketPrefix,\n branchId: input.branchId ?? decoded.branchId,\n };\n };\n\n const createTable: CreateTableFn = (input) => ({\n name: input.tableName,\n bucket: createBucket({ stage: input.stage, name: input.bucketName, branchId: input.branchId }),\n });\n\n return {\n parse,\n safeParse,\n parseBucket,\n safeParseBucket,\n\n createTable,\n createBucket,\n\n serializeTableId,\n serializeBucketId,\n serializeBucketName,\n serializeBucketDisplayName,\n\n safeSerializeTableId,\n safeSerializeBucketId,\n safeSerializeBucketName,\n };\n};\n","import { STORAGE_NAME } from './nameRule';\n\n/**\n * Turns arbitrary text into a name Storage accepts.\n *\n * - Lowercases; `POST /v2/storage/webalize/display-name` preserves case, so `'muj Bucket'`\n * becomes `muj-bucket` here and `muj-Bucket` there. Neither is invalid.\n * - Call the endpoint when the two have to agree — a name shown beside, or compared against,\n * a server-generated one.\n * - Throws rather than returning an unusable empty string.\n */\nexport const webalize = (str: string): string => {\n const out = str\n .normalize('NFD')\n .replace(/\\p{M}/gu, '') // strip diacritics after NFD decomposition: á→a, č→c, ý→y …\n .toLowerCase()\n .replace(/[^a-z0-9\\-_]/g, '-')\n .replace(/-+/g, '-')\n .replace(/^-+|-+$/g, '')\n .replace(/^_+/, '')\n .slice(0, STORAGE_NAME.maxLength)\n .replace(/-+$/g, '');\n\n if (out.length === 0) {\n throw new Error(`Cannot webalize \"${str}\" into a valid name segment`);\n }\n\n return out;\n};\n","import { type CreateBucketFn, type CreateTableFn, createTableModel } from './model';\nimport type {\n Bucket,\n BucketId,\n BucketName,\n BucketStage,\n ModelOptions,\n TableId,\n TableName,\n} from './types';\nimport { webalize } from './utils';\n\nexport type StorageTableInstance = {\n readonly bucket: Bucket;\n readonly name: TableName | null;\n isInBranch(branchId: string): boolean;\n addBranch(branchId: string): StorageTableInstance;\n removeBranch(branchId: string): StorageTableInstance;\n /** A new instance with the table name set (or replaced). */\n addTableName(tableName: TableName): StorageTableInstance;\n getBucketName(): BucketName;\n /** Bucket name as shown to users: dev-branch prefix kept, legacy `c-` prefix always dropped. */\n getBucketDisplayName(): BucketName;\n /** Bare bucket name: no `c-` prefix, no dev-branch prefix (legacy `baseName`, or the canonical storage-branch name). */\n getBucketBaseName(): BucketName;\n getBucketId(): BucketId;\n getSafeBucketId(): BucketId | null;\n /** @throws when there is no table name (the instance was built via `createBucket`). */\n getTableName(): TableName;\n /** @throws when there is no table name (the instance was built via `createBucket`). */\n getTableId(): TableId;\n /** Null when there is no table name (built via `createBucket`) or a segment is empty. */\n getSafeTableId(): TableId | null;\n};\n\nexport type StorageTable = {\n parse(id: string): StorageTableInstance;\n safeParse(id: string): StorageTableInstance | null;\n /** Decode a bucket id (`{stage}.{bucket}`) into a bucket-only instance. */\n parseBucket(id: string): StorageTableInstance;\n safeParseBucket(id: string): StorageTableInstance | null;\n createTable(input: Parameters<CreateTableFn>[0]): StorageTableInstance;\n createBucket(input: Parameters<CreateBucketFn>[0]): StorageTableInstance;\n\n // Business\n createDefaultBucket(input: { stage: BucketStage; name: string }): StorageTableInstance;\n /** Like `createDefaultBucket`, but returns null instead of throwing when the name sanitizes to an empty/invalid segment. */\n safeCreateDefaultBucket(input: { stage: BucketStage; name: string }): StorageTableInstance | null;\n createDefaultConfigBucket(input: {\n stage: BucketStage;\n componentId: string;\n configId: string;\n }): StorageTableInstance;\n createDefaultConfigTable(input: {\n stage: BucketStage;\n componentId: string;\n configId: string;\n tableName: string;\n }): StorageTableInstance;\n createDefaultCsvImportTable(configId: string): StorageTableInstance;\n};\n\nexport const createStorageTable = (flags: ModelOptions): StorageTable => {\n const model = createTableModel(flags);\n\n const branchIt = (bucket: Bucket, branchId: string): Bucket =>\n bucket.kind !== 'legacy' ? bucket : { ...bucket, branchId };\n\n const unbranchIt = (bucket: Bucket, branchId: string): Bucket =>\n bucket.kind !== 'legacy' || bucket.branchId !== branchId\n ? bucket\n : { ...bucket, branchId: null };\n\n const make = (bucket: Bucket, tableName: TableName | null): StorageTableInstance => {\n const self: StorageTableInstance = {\n bucket,\n name: tableName,\n isInBranch: (branchId) => bucket.kind === 'legacy' && bucket.branchId === branchId,\n addBranch: (branchId) => {\n if (branchId.length === 0) throw new Error('branchId is required');\n return make(branchIt(bucket, branchId), tableName);\n },\n removeBranch: (branchId) => {\n if (branchId.length === 0) throw new Error('branchId is required');\n return make(unbranchIt(bucket, branchId), tableName);\n },\n addTableName: (name) => {\n if (name.length === 0) throw new Error('tableName is required');\n return make(bucket, name);\n },\n\n getBucketName: () => model.serializeBucketName(bucket),\n getBucketDisplayName: () => model.serializeBucketDisplayName(bucket),\n getBucketBaseName: () => bucket.baseName,\n getTableName: () => {\n if (tableName === null)\n throw new Error(\n 'getTableName() requires a table name — instance was built via createBucket',\n );\n return tableName;\n },\n\n getBucketId: () => model.serializeBucketId(bucket),\n getTableId: () => model.serializeTableId({ bucket, name: tableName ?? '' }),\n\n getSafeBucketId: () => model.safeSerializeBucketId(bucket),\n getSafeTableId: () => model.safeSerializeTableId({ bucket, name: tableName ?? '' }),\n };\n\n return self;\n };\n\n const parse = (id: TableId) => {\n const table = model.parse(id);\n return make(table.bucket, table.name);\n };\n const safeParse = (id: TableId) => {\n const table = model.safeParse(id);\n return table ? make(table.bucket, table.name) : null;\n };\n\n const parseBucket = (id: BucketId) => make(model.parseBucket(id), null);\n\n const safeParseBucket = (id: BucketId) => {\n const bucket = model.safeParseBucket(id);\n return bucket ? make(bucket, null) : null;\n };\n\n const createTable = (input: Parameters<CreateTableFn>[0]) => {\n const { bucket, name } = model.createTable(input);\n return make(bucket, name);\n };\n\n const createBucket = (input: Parameters<CreateBucketFn>[0]): StorageTableInstance =>\n make(model.createBucket(input), null);\n\n return {\n // generic\n parse,\n safeParse,\n parseBucket,\n safeParseBucket,\n createTable,\n createBucket,\n\n // Business\n createDefaultCsvImportTable: (configId: string) => {\n const bucketName = flags.useLegacyBucketPrefix\n ? 'c-csv-import'\n : webalize(`keboola.csv-import-${configId}`);\n const tableName = flags.useLegacyBucketPrefix ? configId : 'data';\n\n return createTable({\n stage: 'in',\n tableName,\n bucketName,\n });\n },\n createDefaultBucket: ({ stage, name }) => createBucket({ stage, name: webalize(name) }),\n safeCreateDefaultBucket: ({ stage, name }) => {\n try {\n return createBucket({ stage, name: webalize(name) });\n } catch {\n // webalize() throws when the input sanitizes to an empty name segment — surface as null per the safe-* contract\n return null;\n }\n },\n createDefaultConfigBucket: ({ stage, componentId, configId }) =>\n createBucket({ stage, name: webalize(`${componentId}-${configId}`) }),\n createDefaultConfigTable: ({ stage, componentId, configId, tableName }) =>\n createTable({ stage, bucketName: webalize(`${componentId}-${configId}`), tableName }),\n };\n};\n"],"mappings":"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"}
|
|
@@ -1,13 +1,100 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
//#region src/clients/storage/__generated__/constraints.ts
|
|
3
|
+
/**
|
|
4
|
+
* The name of a bucket or a table.
|
|
5
|
+
*
|
|
6
|
+
* - Allowed characters: `A-Z`, `a-z`, `0-9`, dash `-` and underscore `_`. Anything else — a
|
|
7
|
+
* space, a dot, an accented letter — is rejected, not transliterated.
|
|
8
|
+
* - 1 to 96 characters.
|
|
9
|
+
* - Cannot start with an underscore. A dash or a digit as the first character is fine.
|
|
10
|
+
* - Registered (external) buckets follow this same rule, dashes included.
|
|
11
|
+
* - Uniqueness is case-insensitive within a stage: creating `MyBucket` next to `mybucket`
|
|
12
|
+
* fails with `storage.buckets.alreadyExists`, and for tables with
|
|
13
|
+
* `storage.buckets.tableAlreadyExists` or `storage.validation.tableAlreadyExists`.
|
|
14
|
+
* - To turn arbitrary user input into a name that satisfies this rule, call
|
|
15
|
+
* `POST /v2/storage/webalize/display-name` instead of reimplementing the transformation. It
|
|
16
|
+
* unaccents the input, replaces every run of disallowed characters with a single `-`, trims
|
|
17
|
+
* `-` from both ends, strips leading underscores, and truncates to 96 characters.
|
|
18
|
+
*/
|
|
19
|
+
const STORAGE_NAME = {
|
|
20
|
+
pattern: /^(?!_)[-_A-Za-z0-9]+$/,
|
|
21
|
+
minLength: 1,
|
|
22
|
+
maxLength: 96
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* The name of a table column.
|
|
26
|
+
*
|
|
27
|
+
* - Allowed characters: `A-Z`, `a-z`, `0-9` and underscore `_`. Unlike a bucket or table name,
|
|
28
|
+
* a column name may **not** contain a dash.
|
|
29
|
+
* - 1 to 64 characters.
|
|
30
|
+
* - Must start with a letter or a digit.
|
|
31
|
+
* - To turn arbitrary user input into a name that satisfies this rule, call
|
|
32
|
+
* `POST /v2/storage/webalize/column-names` instead of reimplementing the transformation. In
|
|
33
|
+
* order, it strips emoji, transliterates the rest to ASCII, replaces every run of disallowed
|
|
34
|
+
* characters with a single `_`, trims `_` from both ends, truncates to 64 characters, and
|
|
35
|
+
* strips any leading `_` the truncation left behind. Input with no usable character left
|
|
36
|
+
* webalizes to an empty string, which is *not* a valid column name.
|
|
37
|
+
* - `POST /v2/storage/validate/column-names` applies one rule the creation endpoints do not:
|
|
38
|
+
* it also rejects the backend system columns `oid`, `tableoid`, `xmin`, `cmin`, `xmax`,
|
|
39
|
+
* `cmax` and `ctid`.
|
|
40
|
+
*/
|
|
41
|
+
const STORAGE_COLUMN_NAME = {
|
|
42
|
+
pattern: /^[a-zA-Z0-9][a-zA-Z0-9_]*$/,
|
|
43
|
+
minLength: 1,
|
|
44
|
+
maxLength: 64
|
|
45
|
+
};
|
|
46
|
+
//#endregion
|
|
47
|
+
//#region src/domain/storageTable/nameRule.ts
|
|
48
|
+
/**
|
|
49
|
+
* The charset half of each rule, as a sentence.
|
|
50
|
+
*
|
|
51
|
+
* - The generated components carry the rule as a regex; a person filling in a field needs words.
|
|
52
|
+
* - A bucket or table name admits a dash. A column name does not.
|
|
53
|
+
*/
|
|
54
|
+
const NAME_CHARSET_HINT = "Only alphanumeric characters, dashes, and underscores are allowed.";
|
|
55
|
+
const COLUMN_NAME_CHARSET_HINT = "Only alphanumeric characters and underscores are allowed.";
|
|
56
|
+
/**
|
|
57
|
+
* Why Storage would reject `value` as a bucket or table name, or `null` when it would accept it.
|
|
58
|
+
*
|
|
59
|
+
* - Checks the published `StorageName` component — charset, length and the leading underscore.
|
|
60
|
+
* - Knows nothing about names already taken; uniqueness is the caller's own lookup.
|
|
61
|
+
* - `entity` only names the thing in the message.
|
|
62
|
+
*/
|
|
63
|
+
const validateStorageName = (value, entity = "Name") => {
|
|
64
|
+
if (value.length < STORAGE_NAME.minLength) return `${entity} cannot be empty.`;
|
|
65
|
+
if (value.length > STORAGE_NAME.maxLength) return `${entity} is limited to ${STORAGE_NAME.maxLength} characters.`;
|
|
66
|
+
if (value.startsWith("_")) return `${entity} cannot start with an underscore.`;
|
|
67
|
+
if (!STORAGE_NAME.pattern.test(value)) return NAME_CHARSET_HINT;
|
|
68
|
+
return null;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Why Storage would reject `value` as a column name, or `null` when it would accept it.
|
|
72
|
+
*
|
|
73
|
+
* - Checks the published `StorageColumnName` component, which is a different, stricter rule than
|
|
74
|
+
* `validateStorageName`: no dash, 64 characters, and the first character must be alphanumeric.
|
|
75
|
+
* - `POST /v2/storage/validate/column-names` additionally rejects the backend system columns; that
|
|
76
|
+
* is a server round-trip, not part of this check.
|
|
77
|
+
*/
|
|
78
|
+
const validateStorageColumnName = (value, entity = "Column name") => {
|
|
79
|
+
if (value.length < STORAGE_COLUMN_NAME.minLength) return `${entity} cannot be empty.`;
|
|
80
|
+
if (value.length > STORAGE_COLUMN_NAME.maxLength) return `${entity} is limited to ${STORAGE_COLUMN_NAME.maxLength} characters.`;
|
|
81
|
+
if (!STORAGE_COLUMN_NAME.pattern.test(value)) return /^[a-zA-Z0-9]/.test(value) ? COLUMN_NAME_CHARSET_HINT : `${entity} has to start with a letter or a number.`;
|
|
82
|
+
return null;
|
|
83
|
+
};
|
|
84
|
+
//#endregion
|
|
2
85
|
//#region src/domain/storageTable/constants.ts
|
|
3
86
|
/** Matches a numeric dev-branch prefix on a legacy-prefix-stripped bucket name. */
|
|
4
87
|
const BRANCH_PREFIX_REGEX = /^(\d+)-(.+)$/;
|
|
5
|
-
/** Characters allowed in a bucket or table name segment. */
|
|
6
|
-
const NAME_CHARSET_REGEX = /^[a-zA-Z0-9_-]+$/;
|
|
7
88
|
//#endregion
|
|
8
89
|
//#region src/domain/storageTable/schema.ts
|
|
9
90
|
const stageSchema = z.enum(["in", "out"]);
|
|
10
|
-
|
|
91
|
+
/**
|
|
92
|
+
* A bucket or table name, as the `StorageName` component publishes it.
|
|
93
|
+
*
|
|
94
|
+
* - The leading-underscore check runs before the pattern, which also encodes it, so the specific
|
|
95
|
+
* message wins over the generic one.
|
|
96
|
+
*/
|
|
97
|
+
const nameSchema = z.string().min(STORAGE_NAME.minLength, `Invalid name segment: must not be empty`).max(STORAGE_NAME.maxLength, `Invalid name segment: exceeds ${STORAGE_NAME.maxLength} characters`).refine((n) => !n.startsWith("_"), `Invalid name segment: must not start with an underscore`).regex(STORAGE_NAME.pattern, `Invalid name segment: contains invalid characters`);
|
|
11
98
|
const tableIdSchema = z.string().refine((id) => id.split(".").length === 3, "Invalid table id: must be in \"{stage}.{bucket}.{table}\" form").transform((id) => id.split(".")).pipe(z.tuple([
|
|
12
99
|
stageSchema,
|
|
13
100
|
nameSchema,
|
|
@@ -181,8 +268,17 @@ const createTableModel = (options) => {
|
|
|
181
268
|
};
|
|
182
269
|
//#endregion
|
|
183
270
|
//#region src/domain/storageTable/utils.ts
|
|
271
|
+
/**
|
|
272
|
+
* Turns arbitrary text into a name Storage accepts.
|
|
273
|
+
*
|
|
274
|
+
* - Lowercases; `POST /v2/storage/webalize/display-name` preserves case, so `'muj Bucket'`
|
|
275
|
+
* becomes `muj-bucket` here and `muj-Bucket` there. Neither is invalid.
|
|
276
|
+
* - Call the endpoint when the two have to agree — a name shown beside, or compared against,
|
|
277
|
+
* a server-generated one.
|
|
278
|
+
* - Throws rather than returning an unusable empty string.
|
|
279
|
+
*/
|
|
184
280
|
const webalize = (str) => {
|
|
185
|
-
const out = str.normalize("NFD").replace(/\p{M}/gu, "").toLowerCase().replace(/[^a-z0-9\-_]/g, "-").replace(/-+/g, "-").replace(/^-+|-+$/g, "").replace(/^_+/, "").slice(0,
|
|
281
|
+
const out = str.normalize("NFD").replace(/\p{M}/gu, "").toLowerCase().replace(/[^a-z0-9\-_]/g, "-").replace(/-+/g, "-").replace(/^-+|-+$/g, "").replace(/^_+/, "").slice(0, STORAGE_NAME.maxLength).replace(/-+$/g, "");
|
|
186
282
|
if (out.length === 0) throw new Error(`Cannot webalize "${str}" into a valid name segment`);
|
|
187
283
|
return out;
|
|
188
284
|
};
|
|
@@ -294,6 +390,6 @@ const createStorageTable = (flags) => {
|
|
|
294
390
|
};
|
|
295
391
|
};
|
|
296
392
|
//#endregion
|
|
297
|
-
export { createTableModel as n, createStorageTable as t };
|
|
393
|
+
export { validateStorageColumnName as a, STORAGE_NAME as c, NAME_CHARSET_HINT as i, createTableModel as n, validateStorageName as o, COLUMN_NAME_CHARSET_HINT as r, STORAGE_COLUMN_NAME as s, createStorageTable as t };
|
|
298
394
|
|
|
299
|
-
//# sourceMappingURL=storageTable-
|
|
395
|
+
//# sourceMappingURL=storageTable-BldTNyEk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storageTable-BldTNyEk.js","names":[],"sources":["../src/clients/storage/__generated__/constraints.ts","../src/domain/storageTable/nameRule.ts","../src/domain/storageTable/constants.ts","../src/domain/storageTable/schema.ts","../src/domain/storageTable/codec.ts","../src/domain/storageTable/model.ts","../src/domain/storageTable/utils.ts","../src/domain/storageTable/createStorageTable.ts"],"sourcesContent":["// Generated from the storage OpenAPI spec by scripts/gen-types.mjs. Do not edit.\n// `openapi-typescript` emits neither `pattern` nor the length bounds, so they arrive here instead.\n\n/**\n * The name of a bucket or a table.\n *\n * - Allowed characters: `A-Z`, `a-z`, `0-9`, dash `-` and underscore `_`. Anything else — a\n * space, a dot, an accented letter — is rejected, not transliterated.\n * - 1 to 96 characters.\n * - Cannot start with an underscore. A dash or a digit as the first character is fine.\n * - Registered (external) buckets follow this same rule, dashes included.\n * - Uniqueness is case-insensitive within a stage: creating `MyBucket` next to `mybucket`\n * fails with `storage.buckets.alreadyExists`, and for tables with\n * `storage.buckets.tableAlreadyExists` or `storage.validation.tableAlreadyExists`.\n * - To turn arbitrary user input into a name that satisfies this rule, call\n * `POST /v2/storage/webalize/display-name` instead of reimplementing the transformation. It\n * unaccents the input, replaces every run of disallowed characters with a single `-`, trims\n * `-` from both ends, strips leading underscores, and truncates to 96 characters.\n */\nexport const STORAGE_NAME = {\n pattern: /^(?!_)[-_A-Za-z0-9]+$/,\n minLength: 1,\n maxLength: 96,\n} as const;\n\n/**\n * The name of a table column.\n *\n * - Allowed characters: `A-Z`, `a-z`, `0-9` and underscore `_`. Unlike a bucket or table name,\n * a column name may **not** contain a dash.\n * - 1 to 64 characters.\n * - Must start with a letter or a digit.\n * - To turn arbitrary user input into a name that satisfies this rule, call\n * `POST /v2/storage/webalize/column-names` instead of reimplementing the transformation. In\n * order, it strips emoji, transliterates the rest to ASCII, replaces every run of disallowed\n * characters with a single `_`, trims `_` from both ends, truncates to 64 characters, and\n * strips any leading `_` the truncation left behind. Input with no usable character left\n * webalizes to an empty string, which is *not* a valid column name.\n * - `POST /v2/storage/validate/column-names` applies one rule the creation endpoints do not:\n * it also rejects the backend system columns `oid`, `tableoid`, `xmin`, `cmin`, `xmax`,\n * `cmax` and `ctid`.\n */\nexport const STORAGE_COLUMN_NAME = {\n pattern: /^[a-zA-Z0-9][a-zA-Z0-9_]*$/,\n minLength: 1,\n maxLength: 64,\n} as const;\n","import { STORAGE_COLUMN_NAME, STORAGE_NAME } from '../../clients/storage/__generated__/constraints';\n\n/**\n * The charset half of each rule, as a sentence.\n *\n * - The generated components carry the rule as a regex; a person filling in a field needs words.\n * - A bucket or table name admits a dash. A column name does not.\n */\nexport const NAME_CHARSET_HINT =\n 'Only alphanumeric characters, dashes, and underscores are allowed.';\nexport const COLUMN_NAME_CHARSET_HINT = 'Only alphanumeric characters and underscores are allowed.';\n\n/**\n * Why Storage would reject `value` as a bucket or table name, or `null` when it would accept it.\n *\n * - Checks the published `StorageName` component — charset, length and the leading underscore.\n * - Knows nothing about names already taken; uniqueness is the caller's own lookup.\n * - `entity` only names the thing in the message.\n */\nexport const validateStorageName = (value: string, entity = 'Name'): string | null => {\n if (value.length < STORAGE_NAME.minLength) return `${entity} cannot be empty.`;\n if (value.length > STORAGE_NAME.maxLength)\n return `${entity} is limited to ${STORAGE_NAME.maxLength} characters.`;\n if (value.startsWith('_')) return `${entity} cannot start with an underscore.`;\n if (!STORAGE_NAME.pattern.test(value)) return NAME_CHARSET_HINT;\n\n return null;\n};\n\n/**\n * Why Storage would reject `value` as a column name, or `null` when it would accept it.\n *\n * - Checks the published `StorageColumnName` component, which is a different, stricter rule than\n * `validateStorageName`: no dash, 64 characters, and the first character must be alphanumeric.\n * - `POST /v2/storage/validate/column-names` additionally rejects the backend system columns; that\n * is a server round-trip, not part of this check.\n */\nexport const validateStorageColumnName = (value: string, entity = 'Column name'): string | null => {\n if (value.length < STORAGE_COLUMN_NAME.minLength) return `${entity} cannot be empty.`;\n if (value.length > STORAGE_COLUMN_NAME.maxLength)\n return `${entity} is limited to ${STORAGE_COLUMN_NAME.maxLength} characters.`;\n if (!STORAGE_COLUMN_NAME.pattern.test(value)) {\n return /^[a-zA-Z0-9]/.test(value)\n ? COLUMN_NAME_CHARSET_HINT\n : `${entity} has to start with a letter or a number.`;\n }\n\n return null;\n};\n\nexport { STORAGE_COLUMN_NAME, STORAGE_NAME };\n","/** Matches a numeric dev-branch prefix on a legacy-prefix-stripped bucket name. */\nexport const BRANCH_PREFIX_REGEX = /^(\\d+)-(.+)$/;\n/** Historical `c-` prefix Storage prepends to legacy bucket names. */\nexport const LEGACY_BUCKET_PREFIX = 'c-';\n","import { z } from 'zod';\n\nimport { STORAGE_NAME } from './nameRule';\n\nexport const stageSchema = z.enum(['in', 'out']);\n\n/**\n * A bucket or table name, as the `StorageName` component publishes it.\n *\n * - The leading-underscore check runs before the pattern, which also encodes it, so the specific\n * message wins over the generic one.\n */\nexport const nameSchema = z\n .string()\n .min(STORAGE_NAME.minLength, `Invalid name segment: must not be empty`)\n .max(STORAGE_NAME.maxLength, `Invalid name segment: exceeds ${STORAGE_NAME.maxLength} characters`)\n .refine((n) => !n.startsWith('_'), `Invalid name segment: must not start with an underscore`)\n .regex(STORAGE_NAME.pattern, `Invalid name segment: contains invalid characters`);\n\nexport const tableIdSchema = z\n .string()\n .refine(\n (id) => id.split('.').length === 3,\n 'Invalid table id: must be in \"{stage}.{bucket}.{table}\" form',\n )\n .transform((id) => id.split('.') as [string, string, string])\n .pipe(z.tuple([stageSchema, nameSchema, nameSchema]));\n\nexport const bucketIdSchema = z\n .string()\n .refine(\n (id) => id.split('.').length === 2,\n 'Invalid bucket id: must be in \"{stage}.{bucket}\" form',\n )\n .transform((id) => id.split('.') as [string, string])\n .pipe(z.tuple([stageSchema, nameSchema]));\n","import type z from 'zod';\n\nimport { BRANCH_PREFIX_REGEX, LEGACY_BUCKET_PREFIX } from './constants';\nimport { nameSchema, stageSchema } from './schema';\nimport type {\n Bucket,\n BucketId,\n BucketName,\n LegacyBucket,\n ModelOptions,\n ParsedBucket,\n StorageBranchBucket,\n} from './types';\n\ntype EncodedBucket =\n | {\n kind: 'legacy';\n id: BucketId;\n /** baseName + `{branchId}-` prefix, without `c-`. User-facing. e.g. `123-main` */\n branchedName: BucketName;\n /** baseName + branch + `c-` prefix. On-disk (Storage `bucket.name`). e.g. `c-123-main` */\n prefixedName: BucketName;\n }\n | {\n kind: 'storage-branch';\n id: BucketId;\n /** baseName + `c-` prefix when hasLegacyPrefix. On-disk (Storage `bucket.name`). e.g. `c-main` */\n prefixedName: BucketName;\n };\n\nexport const createBucketCodec = ({\n useLegacyBucketPrefix,\n hasProtectedDefaultBranch,\n hasStorageBranches,\n}: ModelOptions) => {\n const decode = (name: BucketName): ParsedBucket => {\n const hasLegacyPrefix = useLegacyBucketPrefix && name.startsWith(LEGACY_BUCKET_PREFIX);\n const stripped = hasLegacyPrefix ? name.slice(LEGACY_BUCKET_PREFIX.length) : name;\n\n // Native branched storage: branch is BE-side (no `{branchId}-` decoration), but the\n // legacy `c-` prefix is still applied independently of the branch model.\n if (hasProtectedDefaultBranch || hasStorageBranches)\n return {\n kind: 'storage-branch',\n baseName: stripped,\n hasLegacyPrefix,\n } satisfies StorageBranchBucket;\n\n const branchMatch = BRANCH_PREFIX_REGEX.exec(stripped);\n\n return {\n kind: 'legacy',\n hasLegacyPrefix,\n branchId: branchMatch?.[1] ?? null,\n baseName: branchMatch?.[2] ?? stripped,\n } satisfies LegacyBucket;\n };\n\n const encode = (\n bucket: Bucket,\n ): { success: true; data: EncodedBucket } | { success: false; error: z.ZodError<string> } => {\n const stageResult = stageSchema.safeParse(bucket.stage);\n if (!stageResult.success) return { success: false, error: stageResult.error };\n\n const prefix = bucket.hasLegacyPrefix ? LEGACY_BUCKET_PREFIX : '';\n const baseNameResult = nameSchema.safeParse(bucket.baseName);\n if (!baseNameResult.success) return { success: false, error: baseNameResult.error };\n\n if (bucket.kind === 'storage-branch') {\n const prefixedName = `${prefix}${bucket.baseName}`;\n\n return {\n success: true,\n data: {\n kind: 'storage-branch',\n id: `${bucket.stage}.${prefixedName}` satisfies BucketId,\n prefixedName,\n },\n };\n }\n\n const branch = bucket.branchId ? `${bucket.branchId}-` : '';\n const branchedName = `${branch}${bucket.baseName}`;\n const prefixedName = `${prefix}${branchedName}`;\n\n return {\n success: true,\n data: {\n kind: 'legacy',\n id: `${bucket.stage}.${prefixedName}` satisfies BucketId,\n prefixedName,\n branchedName,\n },\n };\n };\n\n return { decode, encode };\n};\n","import { createBucketCodec } from './codec';\nimport { bucketIdSchema, nameSchema, tableIdSchema } from './schema';\nimport type {\n Bucket,\n BucketId,\n BucketName,\n BucketStage,\n ModelOptions,\n Table,\n TableId,\n TableName,\n} from './types';\n\nexport type CreateBucketFn = (input: {\n stage: BucketStage;\n name: BucketName;\n branchId?: string | null;\n}) => Bucket;\n\nexport type CreateTableFn = (input: {\n stage: BucketStage;\n tableName: TableName;\n bucketName: BucketName;\n branchId?: string | null;\n}) => Table;\n\nexport type TableModel = {\n parse(id: string): Table;\n parseBucket(id: string): Bucket;\n\n safeParse(id: string): Table | null;\n safeParseBucket(id: string): Bucket | null;\n\n serializeTableId(table: Table): TableId;\n serializeBucketId(bucket: Bucket): BucketId;\n serializeBucketName(bucket: Bucket): BucketName;\n serializeBucketDisplayName(bucket: Bucket): BucketName;\n\n safeSerializeTableId(table: Table): TableId | null;\n safeSerializeBucketId(bucket: Bucket): BucketId | null;\n safeSerializeBucketName(bucket: Bucket): BucketName | null;\n\n createTable: CreateTableFn;\n createBucket: CreateBucketFn;\n};\n\nexport const createTableModel = (options: ModelOptions): TableModel => {\n const codec = createBucketCodec(options);\n\n const decodeTable = (stage: BucketStage, bucketName: string, tableName: string): Table => ({\n name: tableName,\n bucket: { ...codec.decode(bucketName), stage },\n });\n\n const serializeBucketDisplayName = (bucket: Bucket) => {\n const result = codec.encode(bucket);\n if (!result.success) throw result.error;\n // Storage-branch display name is just the bare baseName (no branch decoration to apply);\n // encode is still called so the empty-name guard throws consistently.\n return result.data.kind === 'storage-branch' ? bucket.baseName : result.data.branchedName;\n };\n\n const serializeBucketName = (bucket: Bucket) => {\n const result = codec.encode(bucket);\n if (!result.success) throw result.error;\n return result.data.prefixedName;\n };\n\n const serializeBucketId = (bucket: Bucket): BucketId => {\n const result = codec.encode(bucket);\n if (!result.success) throw result.error;\n return result.data.id;\n };\n\n const serializeTableId = (table: Table): TableId =>\n `${serializeBucketId(table.bucket)}.${nameSchema.parse(table.name)}`;\n\n // Safe counterparts: return null instead of throwing when a required segment is empty.\n const safeSerializeBucketName = (bucket: Bucket): BucketName | null => {\n const result = codec.encode(bucket);\n if (!result.success) return null;\n return result.data.prefixedName;\n };\n\n const safeSerializeBucketId = (bucket: Bucket): BucketId | null => {\n const result = codec.encode(bucket);\n if (!result.success) return null;\n return result.data.id;\n };\n\n const safeSerializeTableId = (table: Table): TableId | null => {\n const bucketId = safeSerializeBucketId(table.bucket);\n const tableNameResult = nameSchema.safeParse(table.name);\n if (!bucketId || !tableNameResult.success) return null;\n return `${bucketId}.${tableNameResult.data}`;\n };\n\n const parse = (id: string) => {\n const data = tableIdSchema.parse(id);\n return decodeTable(...data);\n };\n\n const safeParse = (id: string): Table | null => {\n const parseResult = tableIdSchema.safeParse(id);\n if (!parseResult.success) return null;\n return decodeTable(...parseResult.data);\n };\n\n const parseBucket = (id: string): Bucket => {\n const [stage, bucketName] = bucketIdSchema.parse(id);\n return { ...codec.decode(bucketName), stage };\n };\n\n const safeParseBucket = (id: string): Bucket | null => {\n const parseResult = bucketIdSchema.safeParse(id);\n if (!parseResult.success) return null;\n const [stage, bucketName] = parseResult.data;\n return { ...codec.decode(bucketName), stage };\n };\n\n const createBucket: CreateBucketFn = (input) => {\n // Normalize the input the same way decoding does (strips a `c-`/`{branchId}-`\n // a caller may have passed), so `baseName` always holds the bare name.\n const decoded = codec.decode(input.name);\n // On create the prefix is decided by the project flag — not by whether the\n // input happened to start with `c-`. This applies to both bucket models.\n if (decoded.kind === 'storage-branch')\n return { ...decoded, stage: input.stage, hasLegacyPrefix: options.useLegacyBucketPrefix };\n\n return {\n ...decoded,\n stage: input.stage,\n hasLegacyPrefix: options.useLegacyBucketPrefix,\n branchId: input.branchId ?? decoded.branchId,\n };\n };\n\n const createTable: CreateTableFn = (input) => ({\n name: input.tableName,\n bucket: createBucket({ stage: input.stage, name: input.bucketName, branchId: input.branchId }),\n });\n\n return {\n parse,\n safeParse,\n parseBucket,\n safeParseBucket,\n\n createTable,\n createBucket,\n\n serializeTableId,\n serializeBucketId,\n serializeBucketName,\n serializeBucketDisplayName,\n\n safeSerializeTableId,\n safeSerializeBucketId,\n safeSerializeBucketName,\n };\n};\n","import { STORAGE_NAME } from './nameRule';\n\n/**\n * Turns arbitrary text into a name Storage accepts.\n *\n * - Lowercases; `POST /v2/storage/webalize/display-name` preserves case, so `'muj Bucket'`\n * becomes `muj-bucket` here and `muj-Bucket` there. Neither is invalid.\n * - Call the endpoint when the two have to agree — a name shown beside, or compared against,\n * a server-generated one.\n * - Throws rather than returning an unusable empty string.\n */\nexport const webalize = (str: string): string => {\n const out = str\n .normalize('NFD')\n .replace(/\\p{M}/gu, '') // strip diacritics after NFD decomposition: á→a, č→c, ý→y …\n .toLowerCase()\n .replace(/[^a-z0-9\\-_]/g, '-')\n .replace(/-+/g, '-')\n .replace(/^-+|-+$/g, '')\n .replace(/^_+/, '')\n .slice(0, STORAGE_NAME.maxLength)\n .replace(/-+$/g, '');\n\n if (out.length === 0) {\n throw new Error(`Cannot webalize \"${str}\" into a valid name segment`);\n }\n\n return out;\n};\n","import { type CreateBucketFn, type CreateTableFn, createTableModel } from './model';\nimport type {\n Bucket,\n BucketId,\n BucketName,\n BucketStage,\n ModelOptions,\n TableId,\n TableName,\n} from './types';\nimport { webalize } from './utils';\n\nexport type StorageTableInstance = {\n readonly bucket: Bucket;\n readonly name: TableName | null;\n isInBranch(branchId: string): boolean;\n addBranch(branchId: string): StorageTableInstance;\n removeBranch(branchId: string): StorageTableInstance;\n /** A new instance with the table name set (or replaced). */\n addTableName(tableName: TableName): StorageTableInstance;\n getBucketName(): BucketName;\n /** Bucket name as shown to users: dev-branch prefix kept, legacy `c-` prefix always dropped. */\n getBucketDisplayName(): BucketName;\n /** Bare bucket name: no `c-` prefix, no dev-branch prefix (legacy `baseName`, or the canonical storage-branch name). */\n getBucketBaseName(): BucketName;\n getBucketId(): BucketId;\n getSafeBucketId(): BucketId | null;\n /** @throws when there is no table name (the instance was built via `createBucket`). */\n getTableName(): TableName;\n /** @throws when there is no table name (the instance was built via `createBucket`). */\n getTableId(): TableId;\n /** Null when there is no table name (built via `createBucket`) or a segment is empty. */\n getSafeTableId(): TableId | null;\n};\n\nexport type StorageTable = {\n parse(id: string): StorageTableInstance;\n safeParse(id: string): StorageTableInstance | null;\n /** Decode a bucket id (`{stage}.{bucket}`) into a bucket-only instance. */\n parseBucket(id: string): StorageTableInstance;\n safeParseBucket(id: string): StorageTableInstance | null;\n createTable(input: Parameters<CreateTableFn>[0]): StorageTableInstance;\n createBucket(input: Parameters<CreateBucketFn>[0]): StorageTableInstance;\n\n // Business\n createDefaultBucket(input: { stage: BucketStage; name: string }): StorageTableInstance;\n /** Like `createDefaultBucket`, but returns null instead of throwing when the name sanitizes to an empty/invalid segment. */\n safeCreateDefaultBucket(input: { stage: BucketStage; name: string }): StorageTableInstance | null;\n createDefaultConfigBucket(input: {\n stage: BucketStage;\n componentId: string;\n configId: string;\n }): StorageTableInstance;\n createDefaultConfigTable(input: {\n stage: BucketStage;\n componentId: string;\n configId: string;\n tableName: string;\n }): StorageTableInstance;\n createDefaultCsvImportTable(configId: string): StorageTableInstance;\n};\n\nexport const createStorageTable = (flags: ModelOptions): StorageTable => {\n const model = createTableModel(flags);\n\n const branchIt = (bucket: Bucket, branchId: string): Bucket =>\n bucket.kind !== 'legacy' ? bucket : { ...bucket, branchId };\n\n const unbranchIt = (bucket: Bucket, branchId: string): Bucket =>\n bucket.kind !== 'legacy' || bucket.branchId !== branchId\n ? bucket\n : { ...bucket, branchId: null };\n\n const make = (bucket: Bucket, tableName: TableName | null): StorageTableInstance => {\n const self: StorageTableInstance = {\n bucket,\n name: tableName,\n isInBranch: (branchId) => bucket.kind === 'legacy' && bucket.branchId === branchId,\n addBranch: (branchId) => {\n if (branchId.length === 0) throw new Error('branchId is required');\n return make(branchIt(bucket, branchId), tableName);\n },\n removeBranch: (branchId) => {\n if (branchId.length === 0) throw new Error('branchId is required');\n return make(unbranchIt(bucket, branchId), tableName);\n },\n addTableName: (name) => {\n if (name.length === 0) throw new Error('tableName is required');\n return make(bucket, name);\n },\n\n getBucketName: () => model.serializeBucketName(bucket),\n getBucketDisplayName: () => model.serializeBucketDisplayName(bucket),\n getBucketBaseName: () => bucket.baseName,\n getTableName: () => {\n if (tableName === null)\n throw new Error(\n 'getTableName() requires a table name — instance was built via createBucket',\n );\n return tableName;\n },\n\n getBucketId: () => model.serializeBucketId(bucket),\n getTableId: () => model.serializeTableId({ bucket, name: tableName ?? '' }),\n\n getSafeBucketId: () => model.safeSerializeBucketId(bucket),\n getSafeTableId: () => model.safeSerializeTableId({ bucket, name: tableName ?? '' }),\n };\n\n return self;\n };\n\n const parse = (id: TableId) => {\n const table = model.parse(id);\n return make(table.bucket, table.name);\n };\n const safeParse = (id: TableId) => {\n const table = model.safeParse(id);\n return table ? make(table.bucket, table.name) : null;\n };\n\n const parseBucket = (id: BucketId) => make(model.parseBucket(id), null);\n\n const safeParseBucket = (id: BucketId) => {\n const bucket = model.safeParseBucket(id);\n return bucket ? make(bucket, null) : null;\n };\n\n const createTable = (input: Parameters<CreateTableFn>[0]) => {\n const { bucket, name } = model.createTable(input);\n return make(bucket, name);\n };\n\n const createBucket = (input: Parameters<CreateBucketFn>[0]): StorageTableInstance =>\n make(model.createBucket(input), null);\n\n return {\n // generic\n parse,\n safeParse,\n parseBucket,\n safeParseBucket,\n createTable,\n createBucket,\n\n // Business\n createDefaultCsvImportTable: (configId: string) => {\n const bucketName = flags.useLegacyBucketPrefix\n ? 'c-csv-import'\n : webalize(`keboola.csv-import-${configId}`);\n const tableName = flags.useLegacyBucketPrefix ? configId : 'data';\n\n return createTable({\n stage: 'in',\n tableName,\n bucketName,\n });\n },\n createDefaultBucket: ({ stage, name }) => createBucket({ stage, name: webalize(name) }),\n safeCreateDefaultBucket: ({ stage, name }) => {\n try {\n return createBucket({ stage, name: webalize(name) });\n } catch {\n // webalize() throws when the input sanitizes to an empty name segment — surface as null per the safe-* contract\n return null;\n }\n },\n createDefaultConfigBucket: ({ stage, componentId, configId }) =>\n createBucket({ stage, name: webalize(`${componentId}-${configId}`) }),\n createDefaultConfigTable: ({ stage, componentId, configId, tableName }) =>\n createTable({ stage, bucketName: webalize(`${componentId}-${configId}`), tableName }),\n };\n};\n"],"mappings":"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"}
|
package/dist/stream/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_createGenericFetchClient = require("../createGenericFetchClient-
|
|
3
|
-
const require_createOpenapiFetchClient = require("../createOpenapiFetchClient-
|
|
4
|
-
const require_auth = require("../auth-
|
|
2
|
+
const require_createGenericFetchClient = require("../createGenericFetchClient-C7Y0YVfc.cjs");
|
|
3
|
+
const require_createOpenapiFetchClient = require("../createOpenapiFetchClient-DY5s-aH6.cjs");
|
|
4
|
+
const require_auth = require("../auth-zfI04oj7.cjs");
|
|
5
5
|
//#region src/clients/stream/streamClient.ts
|
|
6
6
|
const createStreamClient = ({ baseUrl, middlewares, auth }) => {
|
|
7
7
|
const client = require_createOpenapiFetchClient.createOpenapiFetchClient({
|
package/dist/stream/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as createGenericFetchClient } from "../createGenericFetchClient-
|
|
2
|
-
import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-
|
|
3
|
-
import { t as createAuthHeaders } from "../auth-
|
|
1
|
+
import { t as createGenericFetchClient } from "../createGenericFetchClient-CX9Hn3Aq.js";
|
|
2
|
+
import { t as createOpenapiFetchClient } from "../createOpenapiFetchClient-BxcLLU_N.js";
|
|
3
|
+
import { t as createAuthHeaders } from "../auth-DUHTJTwS.js";
|
|
4
4
|
//#region src/clients/stream/streamClient.ts
|
|
5
5
|
const createStreamClient = ({ baseUrl, middlewares, auth }) => {
|
|
6
6
|
const client = createOpenapiFetchClient({
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_syncActions = require("../syncActions-
|
|
2
|
+
const require_syncActions = require("../syncActions-DyxNmbUR.cjs");
|
|
3
|
+
exports.FACEBOOK_FAMILY = require_syncActions.FACEBOOK_FAMILY;
|
|
4
|
+
exports.SyncAction = require_syncActions.SyncAction;
|
|
3
5
|
exports.createSyncActionsClient = require_syncActions.createSyncActionsClient;
|
|
6
|
+
exports.isFacebookComponentId = require_syncActions.isFacebookComponentId;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { Vt as isFacebookComponentId, zt as FACEBOOK_FAMILY } from "../types-CcYxlqtB.cjs";
|
|
2
|
+
import { i as createSyncActionsClient, n as SendSyncAction, r as SendSyncActionOptions, t as SyncAction } from "../index-DINB7vsV.cjs";
|
|
3
|
+
export { FACEBOOK_FAMILY, SendSyncAction, SendSyncActionOptions, SyncAction, createSyncActionsClient, isFacebookComponentId };
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { Vt as isFacebookComponentId, zt as FACEBOOK_FAMILY } from "../types-BaSlU0uo.js";
|
|
2
|
+
import { i as createSyncActionsClient, n as SendSyncAction, r as SendSyncActionOptions, t as SyncAction } from "../index-CGCXR_6Q.js";
|
|
3
|
+
export { FACEBOOK_FAMILY, SendSyncAction, SendSyncActionOptions, SyncAction, createSyncActionsClient, isFacebookComponentId };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as createSyncActionsClient } from "../syncActions-
|
|
2
|
-
export { createSyncActionsClient };
|
|
1
|
+
import { i as SyncAction, n as FACEBOOK_FAMILY, r as isFacebookComponentId, t as createSyncActionsClient } from "../syncActions-BQ8kMgL6.js";
|
|
2
|
+
export { FACEBOOK_FAMILY, SyncAction, createSyncActionsClient, isFacebookComponentId };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
export { type ApifyObject, type ApifyObjectsInput, type DATA_APP_FAMILY, type DataAppComponentId, type DbtActionInput, type DbtCompiled, type DbtModelTiming,
|
|
1
|
+
import { $ as GitBranch, $t as ConfigurationMigrationStatus, A as GoogleSheetsTable, At as flowMigrationPreviewResultSchema, B as GoogleAnalyticsGetProfilesPropertiesInput, Bt as FacebookComponentId, C as oneDriveSearchFilesResultSchema, Ct as genericExtractorPerformFunctionResultSchema, D as testLookerCredentialsInputSchema, Dt as FlowMigrationPreviewResult, E as lookerCredentialsResultSchema, Et as FlowMigrationInput, F as GoogleDriveCreateFileInput, Ft as FacebookGetAccountsInput, G as GoogleAnalyticsProperty, Gt as DbtActionInput, H as GoogleAnalyticsGetPropertiesMetadataInput, Ht as GetEmailAttachmentsEmailInput, I as GoogleDriveFile, It as facebookAccountsSchema, J as googleAnalyticsGetPropertiesMetadataInputSchema, Jt as dbtActionInputSchema, K as googleAnalyticsGetProfilesPropertiesInputSchema, Kt as DbtCompiled, L as GoogleDriveTable, Lt as facebookGetAccountsInputSchema, M as googleSheetsAddSheetResultSchema, Mt as flowMigrationValidationResultSchema, N as googleSheetsCreateSpreadsheetResultSchema, Nt as flowMigrationValidationResultsSchema, O as GoogleSheetsSheet, Ot as FlowMigrationValidationResult, P as googleSheetsTableActionInputSchema, Pt as FacebookAccount, Q as GitAuth, Qt as dbtRunResultsSchema, R as googleDriveCreateFileInputSchema, Rt as FACEBOOK_ACCOUNTS_ACTION, S as oneDriveSearchFilesInputSchema, Sn as syncActionContextSchema, St as genericExtractorPerformFunctionInputSchema, T as TestLookerCredentialsInput, Tt as genericExtractorTestRequestResultSchema, U as GoogleAnalyticsGetPropertiesMetadataResult, Ut as emailAttachmentsEmailSchema, V as GoogleAnalyticsGetProfilesPropertiesResult, Vt as isFacebookComponentId, W as GoogleAnalyticsProfile, Wt as getEmailAttachmentsEmailInputSchema, X as GetBranchesInput, Xt as dbtDocsSchema, Y as googleAnalyticsGetPropertiesMetadataResultSchema, Yt as dbtCompiledSchema, Z as GetEntrypointsInput, Zt as dbtModelTimingSchema, _ as oneDriveCreateWorkbookResultSchema, _n as apifyObjectsSchema, _t as GenericExtractorTestRequestResult, a as SshKeyPair, an as PreparedRow, at as gitEntrypointsSchema, b as oneDriveGetWorksheetsInputSchema, bn as SyncActionContext, bt as genericExtractorLoadFromCurlInputSchema, c as snowflakeDwhManagerUserActionInputSchema, cn as preparedRowsSchema, ct as GIT_FAMILY, d as OneDriveCreateWorksheetInput, dn as CodePatternGenerateResult, dt as GenericExtractorInferMappingInput, en as GetConfigurationMigrationStatusInput, et as GitEntrypoints, f as OneDriveFile, fn as codePatternGenerateInputSchema, ft as GenericExtractorJob, g as oneDriveCreateWorkbookInputSchema, gn as apifyObjectsInputSchema, gt as GenericExtractorTestRequestInput, h as OneDriveWorksheet, hn as ApifyObjectsInput, ht as GenericExtractorPerformFunctionInput, i as oauthCredentialsSchema, in as CommonActionInput, it as gitBranchesSchema, j as GoogleSheetsTableActionInput, jt as flowMigrationPreviewResultsSchema, k as GoogleSheetsSpreadsheet, kt as flowMigrationInputSchema, l as snowflakeDwhManagerUserActionResultSchema, ln as testConnectionResultSchema, lt as GitComponentId, m as OneDriveSearchFilesInput, mn as ApifyObject, mt as GenericExtractorMapping, n as OauthCredentials, nn as getConfigurationMigrationStatusInputSchema, nt as getEntrypointsInputSchema, o as sshKeyPairSchema, on as TestConnectionResult, ot as DATA_APP_FAMILY, p as OneDriveGetWorksheetsInput, pn as codePatternGenerateResultSchema, pt as GenericExtractorLoadFromCurlInput, q as googleAnalyticsGetProfilesPropertiesResultSchema, qt as DbtModelTiming, r as buildOauthAuthorization, rn as getConfigurationMigrationStatusResultSchema, rt as gitAuthSchema, s as SnowflakeDwhManagerUserActionInput, sn as commonActionInputSchema, st as DataAppComponentId, t as PostActionsBodyRaw, tn as configurationMigrationStatusSchema, tt as getBranchesInputSchema, u as OneDriveCreateWorkbookInput, un as CodePatternGenerateInput, ut as isDataAppFamily, v as oneDriveCreateWorksheetInputSchema, vt as genericExtractorInferMappingInputSchema, w as LookerCredentialsResult, wt as genericExtractorTestRequestInputSchema, x as oneDriveGetWorksheetsResultSchema, xn as syncActionBodySchema, xt as genericExtractorMappingSchema, y as oneDriveCreateWorksheetResultSchema, yn as SyncActionBody, yt as genericExtractorJobSchema, z as googleDriveCreateFileResultSchema, zt as FACEBOOK_FAMILY } from "../types-CcYxlqtB.cjs";
|
|
2
|
+
export { type ApifyObject, type ApifyObjectsInput, type CodePatternGenerateInput, type CodePatternGenerateResult, type CommonActionInput, type ConfigurationMigrationStatus, type DATA_APP_FAMILY, type DataAppComponentId, type DbtActionInput, type DbtCompiled, type DbtModelTiming, type FACEBOOK_ACCOUNTS_ACTION, type FACEBOOK_FAMILY, type FacebookAccount, type FacebookComponentId, type FacebookGetAccountsInput, type FlowMigrationInput, type FlowMigrationPreviewResult, type FlowMigrationValidationResult, type GIT_FAMILY, type GenericExtractorInferMappingInput, type GenericExtractorJob, type GenericExtractorLoadFromCurlInput, type GenericExtractorMapping, type GenericExtractorPerformFunctionInput, type GenericExtractorTestRequestInput, type GenericExtractorTestRequestResult, type GetBranchesInput, type GetConfigurationMigrationStatusInput, type GetEmailAttachmentsEmailInput, type GetEntrypointsInput, type GitAuth, type GitBranch, type GitComponentId, type GitEntrypoints, type GoogleAnalyticsGetProfilesPropertiesInput, type GoogleAnalyticsGetProfilesPropertiesResult, type GoogleAnalyticsGetPropertiesMetadataInput, type GoogleAnalyticsGetPropertiesMetadataResult, type GoogleAnalyticsProfile, type GoogleAnalyticsProperty, type GoogleDriveCreateFileInput, type GoogleDriveFile, type GoogleDriveTable, type GoogleSheetsSheet, type GoogleSheetsSpreadsheet, type GoogleSheetsTable, type GoogleSheetsTableActionInput, type LookerCredentialsResult, type OauthCredentials, type OneDriveCreateWorkbookInput, type OneDriveCreateWorksheetInput, type OneDriveFile, type OneDriveGetWorksheetsInput, type OneDriveSearchFilesInput, type OneDriveWorksheet, PostActionsBodyRaw, type PreparedRow, type SnowflakeDwhManagerUserActionInput, type SshKeyPair, type SyncActionBody, type SyncActionContext, type TestConnectionResult, type TestLookerCredentialsInput, type apifyObjectsInputSchema, type apifyObjectsSchema, type buildOauthAuthorization, type codePatternGenerateInputSchema, type codePatternGenerateResultSchema, type commonActionInputSchema, type configurationMigrationStatusSchema, type dbtActionInputSchema, type dbtCompiledSchema, type dbtDocsSchema, type dbtModelTimingSchema, type dbtRunResultsSchema, type emailAttachmentsEmailSchema, type facebookAccountsSchema, type facebookGetAccountsInputSchema, type flowMigrationInputSchema, type flowMigrationPreviewResultSchema, type flowMigrationPreviewResultsSchema, type flowMigrationValidationResultSchema, type flowMigrationValidationResultsSchema, type genericExtractorInferMappingInputSchema, type genericExtractorJobSchema, type genericExtractorLoadFromCurlInputSchema, type genericExtractorMappingSchema, type genericExtractorPerformFunctionInputSchema, type genericExtractorPerformFunctionResultSchema, type genericExtractorTestRequestInputSchema, type genericExtractorTestRequestResultSchema, type getBranchesInputSchema, type getConfigurationMigrationStatusInputSchema, type getConfigurationMigrationStatusResultSchema, type getEmailAttachmentsEmailInputSchema, type getEntrypointsInputSchema, type gitAuthSchema, type gitBranchesSchema, type gitEntrypointsSchema, type googleAnalyticsGetProfilesPropertiesInputSchema, type googleAnalyticsGetProfilesPropertiesResultSchema, type googleAnalyticsGetPropertiesMetadataInputSchema, type googleAnalyticsGetPropertiesMetadataResultSchema, type googleDriveCreateFileInputSchema, type googleDriveCreateFileResultSchema, type googleSheetsAddSheetResultSchema, type googleSheetsCreateSpreadsheetResultSchema, type googleSheetsTableActionInputSchema, type isDataAppFamily, type isFacebookComponentId, type lookerCredentialsResultSchema, type oauthCredentialsSchema, type oneDriveCreateWorkbookInputSchema, type oneDriveCreateWorkbookResultSchema, type oneDriveCreateWorksheetInputSchema, type oneDriveCreateWorksheetResultSchema, type oneDriveGetWorksheetsInputSchema, type oneDriveGetWorksheetsResultSchema, type oneDriveSearchFilesInputSchema, type oneDriveSearchFilesResultSchema, type preparedRowsSchema, type snowflakeDwhManagerUserActionInputSchema, type snowflakeDwhManagerUserActionResultSchema, type sshKeyPairSchema, type syncActionBodySchema, type syncActionContextSchema, type testConnectionResultSchema, type testLookerCredentialsInputSchema };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
export { type ApifyObject, type ApifyObjectsInput, type DATA_APP_FAMILY, type DataAppComponentId, type DbtActionInput, type DbtCompiled, type DbtModelTiming,
|
|
1
|
+
import { $ as GitBranch, $t as ConfigurationMigrationStatus, A as GoogleSheetsTable, At as flowMigrationPreviewResultSchema, B as GoogleAnalyticsGetProfilesPropertiesInput, Bt as FacebookComponentId, C as oneDriveSearchFilesResultSchema, Ct as genericExtractorPerformFunctionResultSchema, D as testLookerCredentialsInputSchema, Dt as FlowMigrationPreviewResult, E as lookerCredentialsResultSchema, Et as FlowMigrationInput, F as GoogleDriveCreateFileInput, Ft as FacebookGetAccountsInput, G as GoogleAnalyticsProperty, Gt as DbtActionInput, H as GoogleAnalyticsGetPropertiesMetadataInput, Ht as GetEmailAttachmentsEmailInput, I as GoogleDriveFile, It as facebookAccountsSchema, J as googleAnalyticsGetPropertiesMetadataInputSchema, Jt as dbtActionInputSchema, K as googleAnalyticsGetProfilesPropertiesInputSchema, Kt as DbtCompiled, L as GoogleDriveTable, Lt as facebookGetAccountsInputSchema, M as googleSheetsAddSheetResultSchema, Mt as flowMigrationValidationResultSchema, N as googleSheetsCreateSpreadsheetResultSchema, Nt as flowMigrationValidationResultsSchema, O as GoogleSheetsSheet, Ot as FlowMigrationValidationResult, P as googleSheetsTableActionInputSchema, Pt as FacebookAccount, Q as GitAuth, Qt as dbtRunResultsSchema, R as googleDriveCreateFileInputSchema, Rt as FACEBOOK_ACCOUNTS_ACTION, S as oneDriveSearchFilesInputSchema, Sn as syncActionContextSchema, St as genericExtractorPerformFunctionInputSchema, T as TestLookerCredentialsInput, Tt as genericExtractorTestRequestResultSchema, U as GoogleAnalyticsGetPropertiesMetadataResult, Ut as emailAttachmentsEmailSchema, V as GoogleAnalyticsGetProfilesPropertiesResult, Vt as isFacebookComponentId, W as GoogleAnalyticsProfile, Wt as getEmailAttachmentsEmailInputSchema, X as GetBranchesInput, Xt as dbtDocsSchema, Y as googleAnalyticsGetPropertiesMetadataResultSchema, Yt as dbtCompiledSchema, Z as GetEntrypointsInput, Zt as dbtModelTimingSchema, _ as oneDriveCreateWorkbookResultSchema, _n as apifyObjectsSchema, _t as GenericExtractorTestRequestResult, a as SshKeyPair, an as PreparedRow, at as gitEntrypointsSchema, b as oneDriveGetWorksheetsInputSchema, bn as SyncActionContext, bt as genericExtractorLoadFromCurlInputSchema, c as snowflakeDwhManagerUserActionInputSchema, cn as preparedRowsSchema, ct as GIT_FAMILY, d as OneDriveCreateWorksheetInput, dn as CodePatternGenerateResult, dt as GenericExtractorInferMappingInput, en as GetConfigurationMigrationStatusInput, et as GitEntrypoints, f as OneDriveFile, fn as codePatternGenerateInputSchema, ft as GenericExtractorJob, g as oneDriveCreateWorkbookInputSchema, gn as apifyObjectsInputSchema, gt as GenericExtractorTestRequestInput, h as OneDriveWorksheet, hn as ApifyObjectsInput, ht as GenericExtractorPerformFunctionInput, i as oauthCredentialsSchema, in as CommonActionInput, it as gitBranchesSchema, j as GoogleSheetsTableActionInput, jt as flowMigrationPreviewResultsSchema, k as GoogleSheetsSpreadsheet, kt as flowMigrationInputSchema, l as snowflakeDwhManagerUserActionResultSchema, ln as testConnectionResultSchema, lt as GitComponentId, m as OneDriveSearchFilesInput, mn as ApifyObject, mt as GenericExtractorMapping, n as OauthCredentials, nn as getConfigurationMigrationStatusInputSchema, nt as getEntrypointsInputSchema, o as sshKeyPairSchema, on as TestConnectionResult, ot as DATA_APP_FAMILY, p as OneDriveGetWorksheetsInput, pn as codePatternGenerateResultSchema, pt as GenericExtractorLoadFromCurlInput, q as googleAnalyticsGetProfilesPropertiesResultSchema, qt as DbtModelTiming, r as buildOauthAuthorization, rn as getConfigurationMigrationStatusResultSchema, rt as gitAuthSchema, s as SnowflakeDwhManagerUserActionInput, sn as commonActionInputSchema, st as DataAppComponentId, t as PostActionsBodyRaw, tn as configurationMigrationStatusSchema, tt as getBranchesInputSchema, u as OneDriveCreateWorkbookInput, un as CodePatternGenerateInput, ut as isDataAppFamily, v as oneDriveCreateWorksheetInputSchema, vt as genericExtractorInferMappingInputSchema, w as LookerCredentialsResult, wt as genericExtractorTestRequestInputSchema, x as oneDriveGetWorksheetsResultSchema, xn as syncActionBodySchema, xt as genericExtractorMappingSchema, y as oneDriveCreateWorksheetResultSchema, yn as SyncActionBody, yt as genericExtractorJobSchema, z as googleDriveCreateFileResultSchema, zt as FACEBOOK_FAMILY } from "../types-BaSlU0uo.js";
|
|
2
|
+
export { type ApifyObject, type ApifyObjectsInput, type CodePatternGenerateInput, type CodePatternGenerateResult, type CommonActionInput, type ConfigurationMigrationStatus, type DATA_APP_FAMILY, type DataAppComponentId, type DbtActionInput, type DbtCompiled, type DbtModelTiming, type FACEBOOK_ACCOUNTS_ACTION, type FACEBOOK_FAMILY, type FacebookAccount, type FacebookComponentId, type FacebookGetAccountsInput, type FlowMigrationInput, type FlowMigrationPreviewResult, type FlowMigrationValidationResult, type GIT_FAMILY, type GenericExtractorInferMappingInput, type GenericExtractorJob, type GenericExtractorLoadFromCurlInput, type GenericExtractorMapping, type GenericExtractorPerformFunctionInput, type GenericExtractorTestRequestInput, type GenericExtractorTestRequestResult, type GetBranchesInput, type GetConfigurationMigrationStatusInput, type GetEmailAttachmentsEmailInput, type GetEntrypointsInput, type GitAuth, type GitBranch, type GitComponentId, type GitEntrypoints, type GoogleAnalyticsGetProfilesPropertiesInput, type GoogleAnalyticsGetProfilesPropertiesResult, type GoogleAnalyticsGetPropertiesMetadataInput, type GoogleAnalyticsGetPropertiesMetadataResult, type GoogleAnalyticsProfile, type GoogleAnalyticsProperty, type GoogleDriveCreateFileInput, type GoogleDriveFile, type GoogleDriveTable, type GoogleSheetsSheet, type GoogleSheetsSpreadsheet, type GoogleSheetsTable, type GoogleSheetsTableActionInput, type LookerCredentialsResult, type OauthCredentials, type OneDriveCreateWorkbookInput, type OneDriveCreateWorksheetInput, type OneDriveFile, type OneDriveGetWorksheetsInput, type OneDriveSearchFilesInput, type OneDriveWorksheet, PostActionsBodyRaw, type PreparedRow, type SnowflakeDwhManagerUserActionInput, type SshKeyPair, type SyncActionBody, type SyncActionContext, type TestConnectionResult, type TestLookerCredentialsInput, type apifyObjectsInputSchema, type apifyObjectsSchema, type buildOauthAuthorization, type codePatternGenerateInputSchema, type codePatternGenerateResultSchema, type commonActionInputSchema, type configurationMigrationStatusSchema, type dbtActionInputSchema, type dbtCompiledSchema, type dbtDocsSchema, type dbtModelTimingSchema, type dbtRunResultsSchema, type emailAttachmentsEmailSchema, type facebookAccountsSchema, type facebookGetAccountsInputSchema, type flowMigrationInputSchema, type flowMigrationPreviewResultSchema, type flowMigrationPreviewResultsSchema, type flowMigrationValidationResultSchema, type flowMigrationValidationResultsSchema, type genericExtractorInferMappingInputSchema, type genericExtractorJobSchema, type genericExtractorLoadFromCurlInputSchema, type genericExtractorMappingSchema, type genericExtractorPerformFunctionInputSchema, type genericExtractorPerformFunctionResultSchema, type genericExtractorTestRequestInputSchema, type genericExtractorTestRequestResultSchema, type getBranchesInputSchema, type getConfigurationMigrationStatusInputSchema, type getConfigurationMigrationStatusResultSchema, type getEmailAttachmentsEmailInputSchema, type getEntrypointsInputSchema, type gitAuthSchema, type gitBranchesSchema, type gitEntrypointsSchema, type googleAnalyticsGetProfilesPropertiesInputSchema, type googleAnalyticsGetProfilesPropertiesResultSchema, type googleAnalyticsGetPropertiesMetadataInputSchema, type googleAnalyticsGetPropertiesMetadataResultSchema, type googleDriveCreateFileInputSchema, type googleDriveCreateFileResultSchema, type googleSheetsAddSheetResultSchema, type googleSheetsCreateSpreadsheetResultSchema, type googleSheetsTableActionInputSchema, type isDataAppFamily, type isFacebookComponentId, type lookerCredentialsResultSchema, type oauthCredentialsSchema, type oneDriveCreateWorkbookInputSchema, type oneDriveCreateWorkbookResultSchema, type oneDriveCreateWorksheetInputSchema, type oneDriveCreateWorksheetResultSchema, type oneDriveGetWorksheetsInputSchema, type oneDriveGetWorksheetsResultSchema, type oneDriveSearchFilesInputSchema, type oneDriveSearchFilesResultSchema, type preparedRowsSchema, type snowflakeDwhManagerUserActionInputSchema, type snowflakeDwhManagerUserActionResultSchema, type sshKeyPairSchema, type syncActionBodySchema, type syncActionContextSchema, type testConnectionResultSchema, type testLookerCredentialsInputSchema };
|