@keboola/api-client 40.0.0 → 42.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/API-SURFACE.md +47 -3
- package/CHANGELOG.md +167 -0
- package/README.md +1 -1
- package/dist/{ManagementClientAuthError-DE7lNGZQ.cjs → ManagementClientAuthError-BFZOtLgj.cjs} +2 -2
- package/dist/{ManagementClientAuthError-DE7lNGZQ.cjs.map → ManagementClientAuthError-BFZOtLgj.cjs.map} +1 -1
- package/dist/{ManagementClientAuthError-H30lti_Q.js → ManagementClientAuthError-DUbXlry2.js} +2 -2
- package/dist/{ManagementClientAuthError-H30lti_Q.js.map → ManagementClientAuthError-DUbXlry2.js.map} +1 -1
- package/dist/ai/index.cjs +2 -2
- package/dist/ai/index.js +2 -2
- package/dist/{appLogs-BBkkUOW1.js → appLogs-DfkItQCO.js} +2 -2
- package/dist/{appLogs-BBkkUOW1.js.map → appLogs-DfkItQCO.js.map} +1 -1
- package/dist/{appLogs-B9zFJIuy.cjs → appLogs-oZvt59mk.cjs} +2 -2
- package/dist/{appLogs-B9zFJIuy.cjs.map → appLogs-oZvt59mk.cjs.map} +1 -1
- package/dist/apps/index.cjs +3 -3
- package/dist/apps/index.js +3 -3
- package/dist/assets/index.cjs +1 -1
- package/dist/assets/index.js +1 -1
- package/dist/auth/index.cjs +1 -1
- package/dist/auth/index.d.cts +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.js +1 -1
- package/dist/auth/types.d.cts +2 -2
- package/dist/auth/types.d.ts +2 -2
- package/dist/{auth-DworfoPy.js → auth-DUHTJTwS.js} +2 -2
- package/dist/{auth-DworfoPy.js.map → auth-DUHTJTwS.js.map} +1 -1
- package/dist/{auth-Dm0F2rOh.cjs → auth-zfI04oj7.cjs} +2 -2
- package/dist/{auth-Dm0F2rOh.cjs.map → auth-zfI04oj7.cjs.map} +1 -1
- package/dist/{authClient-BmuUo0J4.cjs → authClient-BxqRGR5c.cjs} +39 -5
- package/dist/authClient-BxqRGR5c.cjs.map +1 -0
- package/dist/{authClient-vEt_7_uk.d.cts → authClient-CBVAT3v9.d.cts} +49 -2
- package/dist/{authClient-CHXWJ9x3.d.ts → authClient-CRumc934.d.ts} +49 -2
- package/dist/{authClient-CgcDGd30.js → authClient-CX4buUMc.js} +39 -5
- package/dist/authClient-CX4buUMc.js.map +1 -0
- package/dist/billing/index.cjs +2 -2
- package/dist/billing/index.js +2 -2
- package/dist/businessWorkspaceApi/index.cjs +1 -1
- package/dist/businessWorkspaceApi/index.js +1 -1
- package/dist/{businessWorkspaceApi-BLUdefRF.js → businessWorkspaceApi-DFky1k61.js} +3 -3
- package/dist/{businessWorkspaceApi-BLUdefRF.js.map → businessWorkspaceApi-DFky1k61.js.map} +1 -1
- package/dist/{businessWorkspaceApi-6tCDdpnY.cjs → businessWorkspaceApi-Uzqu0PJM.cjs} +3 -3
- package/dist/{businessWorkspaceApi-6tCDdpnY.cjs.map → businessWorkspaceApi-Uzqu0PJM.cjs.map} +1 -1
- package/dist/chat/index.cjs +3 -3
- package/dist/chat/index.js +3 -3
- package/dist/{componentId-57vjsa2i.cjs → componentId-D4jp6a13.cjs} +19 -1
- package/dist/componentId-D4jp6a13.cjs.map +1 -0
- package/dist/{componentId-C6WZa_R1.js → componentId-DmHwHG5V.js} +19 -1
- package/dist/componentId-DmHwHG5V.js.map +1 -0
- package/dist/{configurations-IYyOvhI3.cjs → configurations-D_Rbs0Wl.cjs} +2 -2
- package/dist/{configurations-IYyOvhI3.cjs.map → configurations-D_Rbs0Wl.cjs.map} +1 -1
- package/dist/{configurations-BPKGGy-M.js → configurations-DcpUlC8I.js} +2 -2
- package/dist/{configurations-BPKGGy-M.js.map → configurations-DcpUlC8I.js.map} +1 -1
- package/dist/constants/index.cjs +1 -1
- package/dist/constants/index.d.cts +1 -1
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/{createFetchClient-Cwp8max9.cjs → createFetchClient-BgihytBn.cjs} +2 -1
- package/dist/createFetchClient-BgihytBn.cjs.map +1 -0
- package/dist/{createFetchClient-DXHQK63w.js → createFetchClient-cgWkwgAQ.js} +2 -1
- package/dist/createFetchClient-cgWkwgAQ.js.map +1 -0
- package/dist/{createGenericFetchClient-Dl9cqTvR.cjs → createGenericFetchClient-C7Y0YVfc.cjs} +2 -2
- package/dist/{createGenericFetchClient-Dl9cqTvR.cjs.map → createGenericFetchClient-C7Y0YVfc.cjs.map} +1 -1
- package/dist/{createGenericFetchClient-Dg1rgzmG.js → createGenericFetchClient-CX9Hn3Aq.js} +2 -2
- package/dist/{createGenericFetchClient-Dg1rgzmG.js.map → createGenericFetchClient-CX9Hn3Aq.js.map} +1 -1
- package/dist/{createOpenapiFetchClient-DZUOVupy.js → createOpenapiFetchClient-BxcLLU_N.js} +2 -2
- package/dist/{createOpenapiFetchClient-DZUOVupy.js.map → createOpenapiFetchClient-BxcLLU_N.js.map} +1 -1
- package/dist/{createOpenapiFetchClient-BYqW-9tm.cjs → createOpenapiFetchClient-DY5s-aH6.cjs} +2 -2
- package/dist/{createOpenapiFetchClient-BYqW-9tm.cjs.map → createOpenapiFetchClient-DY5s-aH6.cjs.map} +1 -1
- package/dist/dataScience/index.cjs +2 -2
- package/dist/dataScience/index.js +2 -2
- package/dist/{dataScience-B5QxZnvW.cjs → dataScience-BoS8Xfvx.cjs} +5 -5
- package/dist/{dataScience-B5QxZnvW.cjs.map → dataScience-BoS8Xfvx.cjs.map} +1 -1
- package/dist/{dataScience-OXcwdk1p.js → dataScience-BxRoGfnG.js} +5 -5
- package/dist/{dataScience-OXcwdk1p.js.map → dataScience-BxRoGfnG.js.map} +1 -1
- package/dist/developerPortal/index.cjs +1 -1
- package/dist/developerPortal/index.js +1 -1
- package/dist/{developerPortalClient-B1QZ1rYi.js → developerPortalClient-C7s0kpjK.js} +3 -3
- package/dist/{developerPortalClient-B1QZ1rYi.js.map → developerPortalClient-C7s0kpjK.js.map} +1 -1
- package/dist/{developerPortalClient-CLPpBksD.cjs → developerPortalClient-DFHEsrlt.cjs} +3 -3
- package/dist/{developerPortalClient-CLPpBksD.cjs.map → developerPortalClient-DFHEsrlt.cjs.map} +1 -1
- package/dist/domain/permissions/index.d.cts +2 -2
- package/dist/domain/permissions/index.d.ts +2 -2
- package/dist/domain/storageTable/index.cjs +7 -1
- package/dist/domain/storageTable/index.d.cts +2 -2
- package/dist/domain/storageTable/index.d.ts +2 -2
- package/dist/domain/storageTable/index.js +2 -2
- package/dist/editor/index.cjs +2 -2
- package/dist/editor/index.js +2 -2
- package/dist/encryption/index.cjs +1 -1
- package/dist/encryption/index.d.cts +1 -1
- package/dist/encryption/index.d.ts +1 -1
- package/dist/encryption/index.js +1 -1
- package/dist/encryption/types.d.cts +1 -1
- package/dist/encryption/types.d.ts +1 -1
- package/dist/import/index.cjs +1 -1
- package/dist/import/index.js +1 -1
- package/dist/{import-CNk89mqy.cjs → import-BSYvG3Uy.cjs} +3 -3
- package/dist/{import-CNk89mqy.cjs.map → import-BSYvG3Uy.cjs.map} +1 -1
- package/dist/{import-DiMQCzLa.js → import-CXBcFVbk.js} +3 -3
- package/dist/{import-DiMQCzLa.js.map → import-CXBcFVbk.js.map} +1 -1
- package/dist/{index-DCRKjihs.d.ts → index-B03vhWSX.d.ts} +117 -90
- package/dist/{index-DXYASsPP.d.cts → index-B2-7WJ-E.d.cts} +599 -78
- package/dist/{index-BDZvaRud.d.ts → index-B72LTF-k.d.ts} +6 -3
- package/dist/{index-DOAZmWvh.d.cts → index-BMiZx-4_.d.cts} +6 -3
- package/dist/{index--ZpnE3YT.d.cts → index-BUsLHNOA.d.cts} +2 -2
- package/dist/{index-D7-o-oGa.d.ts → index-CBWfpd-0.d.ts} +2 -2
- package/dist/index-CGCXR_6Q.d.ts +273 -0
- package/dist/{index-Cvbjp3jx.d.cts → index-CKENwClW.d.cts} +4 -4
- package/dist/{index-BkqackZf.d.ts → index-CpE_NWuq.d.ts} +599 -78
- package/dist/{index-DnQTuc6t.d.ts → index-Cw-d6vV3.d.ts} +4 -4
- package/dist/{index-ByRpNVcs.d.cts → index-D3HFMfJJ.d.cts} +117 -90
- package/dist/index-DINB7vsV.d.cts +273 -0
- package/dist/{index-C8gRRWHL.d.cts → index-DeQDdut6.d.cts} +19 -1
- package/dist/{index-C8gRRWHL.d.ts → index-DeQDdut6.d.ts} +19 -1
- package/dist/{index-Qb7X6-ph.d.ts → index-DwM1EpnZ.d.ts} +12 -2
- package/dist/{index-CXcWpZQ2.d.ts → index-P1vR966i.d.cts} +74 -2
- package/dist/{index-CXcWpZQ2.d.cts → index-P1vR966i.d.ts} +74 -2
- package/dist/{index-DNThyEej.d.cts → index-VnJCp8IL.d.cts} +12 -2
- package/dist/index.cjs +65 -39
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +65 -40
- package/dist/index.js.map +1 -1
- package/dist/{isLoginPageRedirect-XPwAOKK3.js → isLoginPageRedirect-CsjF95_P.js} +2 -2
- package/dist/{isLoginPageRedirect-XPwAOKK3.js.map → isLoginPageRedirect-CsjF95_P.js.map} +1 -1
- package/dist/{isLoginPageRedirect-jQHiLrG7.cjs → isLoginPageRedirect-c451CoWW.cjs} +2 -2
- package/dist/{isLoginPageRedirect-jQHiLrG7.cjs.map → isLoginPageRedirect-c451CoWW.cjs.map} +1 -1
- package/dist/kaiAgent/index.cjs +1 -1
- package/dist/kaiAgent/index.d.cts +2 -2
- package/dist/kaiAgent/index.d.ts +2 -2
- package/dist/kaiAgent/index.js +1 -1
- package/dist/{kaiAgent-QNoeVKPs.cjs → kaiAgent-ph4DRKlT.cjs} +21 -5
- package/dist/kaiAgent-ph4DRKlT.cjs.map +1 -0
- package/dist/{kaiAgent-Dp20HLTh.js → kaiAgent-xBpUwLeQ.js} +21 -5
- package/dist/kaiAgent-xBpUwLeQ.js.map +1 -0
- package/dist/{kaiMemory-D0Y_16U4.js → kaiMemory-BAniZZAN.js} +2 -2
- package/dist/{kaiMemory-D0Y_16U4.js.map → kaiMemory-BAniZZAN.js.map} +1 -1
- package/dist/{kaiMemory-CClSPInt.cjs → kaiMemory-U0DG-CpY.cjs} +2 -2
- package/dist/{kaiMemory-CClSPInt.cjs.map → kaiMemory-U0DG-CpY.cjs.map} +1 -1
- package/dist/management/index.cjs +1 -1
- package/dist/management/index.d.cts +1 -1
- package/dist/management/index.d.ts +1 -1
- package/dist/management/index.js +1 -1
- package/dist/management/types.d.cts +2 -2
- package/dist/management/types.d.ts +2 -2
- package/dist/{management-CCY0IYnq.cjs → management-5597SiC7.cjs} +79 -11
- package/dist/management-5597SiC7.cjs.map +1 -0
- package/dist/{management-DvmPiG64.js → management-D46KlXts.js} +79 -11
- package/dist/management-D46KlXts.js.map +1 -0
- package/dist/metastore/index.cjs +1 -1
- package/dist/metastore/index.d.cts +1 -1
- package/dist/metastore/index.d.ts +1 -1
- package/dist/metastore/index.js +1 -1
- package/dist/metastore/types.d.cts +2 -2
- package/dist/metastore/types.d.ts +2 -2
- package/dist/{metastore-XtWciCZT.cjs → metastore-DwMFlP2d.cjs} +52 -7
- package/dist/metastore-DwMFlP2d.cjs.map +1 -0
- package/dist/{metastore-BycJxe7A.js → metastore-_OskcLGz.js} +52 -7
- package/dist/metastore-_OskcLGz.js.map +1 -0
- package/dist/microsoftGraph/index.cjs +2 -2
- package/dist/microsoftGraph/index.js +2 -2
- package/dist/{middleware-CBwrtgQd.js → middleware-Drbo_UIZ.js} +2 -2
- package/dist/{middleware-CBwrtgQd.js.map → middleware-Drbo_UIZ.js.map} +1 -1
- package/dist/{middleware-IjYx3d5u.cjs → middleware-xhg2r2fE.cjs} +2 -2
- package/dist/{middleware-IjYx3d5u.cjs.map → middleware-xhg2r2fE.cjs.map} +1 -1
- package/dist/notifications/index.cjs +3 -3
- package/dist/notifications/index.js +3 -3
- package/dist/oauth/index.cjs +1 -1
- package/dist/oauth/index.js +1 -1
- package/dist/{oauth--2p8jkJf.cjs → oauth-L0Uic3YA.cjs} +5 -5
- package/dist/{oauth--2p8jkJf.cjs.map → oauth-L0Uic3YA.cjs.map} +1 -1
- package/dist/{oauth-l5zE39cD.js → oauth-TWwAv-va.js} +5 -5
- package/dist/{oauth-l5zE39cD.js.map → oauth-TWwAv-va.js.map} +1 -1
- package/dist/omnisearch/index.cjs +2 -2
- package/dist/omnisearch/index.js +2 -2
- package/dist/{project-cHKuGvqJ.d.cts → project-B8wtlstY.d.cts} +2 -2
- package/dist/{project-B15gStbM.d.ts → project-BCc3mpAy.d.ts} +2 -2
- package/dist/queryService/index.cjs +1 -1
- package/dist/queryService/index.d.cts +1 -1
- package/dist/queryService/index.d.ts +1 -1
- package/dist/queryService/index.js +1 -1
- package/dist/{queryService-CCOYbRbw.js → queryService-CdtogGr7.js} +5 -5
- package/dist/{queryService-CCOYbRbw.js.map → queryService-CdtogGr7.js.map} +1 -1
- package/dist/{queryService-CQzclHdL.cjs → queryService-Dx6AdxOl.cjs} +5 -5
- package/dist/{queryService-CQzclHdL.cjs.map → queryService-Dx6AdxOl.cjs.map} +1 -1
- package/dist/queue/index.cjs +1 -1
- package/dist/queue/index.d.cts +1 -1
- package/dist/queue/index.d.ts +1 -1
- package/dist/queue/index.js +1 -1
- package/dist/{queue-Cowbg6bR.js → queue-f2xsjy0o.js} +4 -4
- package/dist/{queue-Cowbg6bR.js.map → queue-f2xsjy0o.js.map} +1 -1
- package/dist/{queue-UG_BWKIC.cjs → queue-wIdnMtaZ.cjs} +4 -4
- package/dist/{queue-UG_BWKIC.cjs.map → queue-wIdnMtaZ.cjs.map} +1 -1
- package/dist/scheduler/index.cjs +3 -3
- package/dist/scheduler/index.js +3 -3
- package/dist/sdk/configurations/index.cjs +1 -1
- package/dist/sdk/configurations/index.d.cts +4 -4
- package/dist/sdk/configurations/index.d.ts +4 -4
- package/dist/sdk/configurations/index.js +1 -1
- package/dist/sdk/developerPortal/index.cjs +3 -3
- package/dist/sdk/developerPortal/index.js +3 -3
- package/dist/sdk/kaiMemory/index.cjs +1 -1
- package/dist/sdk/kaiMemory/index.d.cts +1 -1
- package/dist/sdk/kaiMemory/index.d.ts +1 -1
- package/dist/sdk/kaiMemory/index.js +1 -1
- package/dist/sdk/kaiMemory/types.d.cts +1 -1
- package/dist/sdk/kaiMemory/types.d.ts +1 -1
- package/dist/sdk/queryService/index.d.cts +1 -1
- package/dist/sdk/queryService/index.d.ts +1 -1
- package/dist/sdk/semanticLayer/index.cjs +2 -1
- package/dist/sdk/semanticLayer/index.d.cts +10 -3
- package/dist/sdk/semanticLayer/index.d.ts +10 -3
- package/dist/sdk/semanticLayer/index.js +2 -2
- package/dist/sdk/semanticLayer/types.d.cts +2 -2
- package/dist/sdk/semanticLayer/types.d.ts +2 -2
- package/dist/sdk/storage/index.cjs +12 -24
- package/dist/sdk/storage/index.cjs.map +1 -1
- package/dist/sdk/storage/index.d.cts +1 -1
- package/dist/sdk/storage/index.d.ts +1 -1
- package/dist/sdk/storage/index.js +12 -24
- package/dist/sdk/storage/index.js.map +1 -1
- package/dist/sdk/tag/index.d.cts +2 -2
- package/dist/sdk/tag/index.d.ts +2 -2
- package/dist/sdk/tag/types.d.cts +1 -1
- package/dist/sdk/tag/types.d.ts +1 -1
- package/dist/sdk/vault/index.d.cts +1 -1
- package/dist/sdk/vault/index.d.ts +1 -1
- package/dist/{semanticLayer-CKDVkU56.cjs → semanticLayer-D3NDh_QH.cjs} +115 -20
- package/dist/semanticLayer-D3NDh_QH.cjs.map +1 -0
- package/dist/{semanticLayer-pYy082Ju.js → semanticLayer-Ddg0LSnt.js} +110 -21
- package/dist/semanticLayer-Ddg0LSnt.js.map +1 -0
- package/dist/status/index.cjs +1 -1
- package/dist/status/index.js +1 -1
- package/dist/storage/index.cjs +4 -4
- package/dist/storage/index.d.cts +2 -2
- package/dist/storage/index.d.ts +2 -2
- package/dist/storage/index.js +4 -4
- package/dist/storage/types.d.cts +3 -3
- package/dist/storage/types.d.ts +3 -3
- package/dist/{storage-CZQHZcXG.js → storage-BkdjgtCU.js} +272 -134
- package/dist/storage-BkdjgtCU.js.map +1 -0
- package/dist/{storage-JinL1y1s.cjs → storage-CXQTTVXl.cjs} +272 -134
- package/dist/storage-CXQTTVXl.cjs.map +1 -0
- package/dist/{storageTable-C9crh4Ef.cjs → storageTable-BNOR2FCh.cjs} +137 -5
- package/dist/storageTable-BNOR2FCh.cjs.map +1 -0
- package/dist/{storageTable-DslXtqNL.js → storageTable-BldTNyEk.js} +102 -6
- package/dist/storageTable-BldTNyEk.js.map +1 -0
- package/dist/stream/index.cjs +3 -3
- package/dist/stream/index.js +3 -3
- package/dist/syncActions/index.cjs +4 -1
- package/dist/syncActions/index.d.cts +3 -2
- package/dist/syncActions/index.d.ts +3 -2
- package/dist/syncActions/index.js +2 -2
- package/dist/syncActions/types.d.cts +2 -2
- package/dist/syncActions/types.d.ts +2 -2
- package/dist/syncActions-BQ8kMgL6.js +1191 -0
- package/dist/syncActions-BQ8kMgL6.js.map +1 -0
- package/dist/syncActions-DyxNmbUR.cjs +1216 -0
- package/dist/syncActions-DyxNmbUR.cjs.map +1 -0
- package/dist/telemetry/index.cjs +3 -3
- package/dist/telemetry/index.js +3 -3
- package/dist/{types-DWiLcrxt.d.cts → types-04GTqleJ.d.cts} +3 -3
- package/dist/{types-DRCMBt89.d.ts → types-2Do0DZ60.d.ts} +3 -3
- package/dist/{types-Dtuvhm3K.d.cts → types-BWmLo73i.d.cts} +749 -186
- package/dist/types-BaSlU0uo.d.ts +1313 -0
- package/dist/{types-DEzW1CfI.d.cts → types-BgHtMe8s.d.cts} +3 -3
- package/dist/{types-BiMahEK8.d.cts → types-BgVt8SUY.d.cts} +126 -62
- package/dist/{types-BS4jwuMi.d.ts → types-BhEx9iRx.d.ts} +3068 -621
- package/dist/{types-CMzQSHAQ.d.cts → types-BzPuxmaR.d.cts} +3 -3
- package/dist/{types-CKmTZSPG.d.ts → types-C0rVtqz2.d.ts} +126 -62
- package/dist/{types-Bl03Cg2n.d.cts → types-CAAgCRmE.d.cts} +31 -5
- package/dist/{types-BIECJYun.d.ts → types-CN6huo55.d.ts} +406 -5
- package/dist/{types-Cg14ncdV.d.ts → types-CV7jmgtX.d.ts} +3 -3
- package/dist/types-CcYxlqtB.d.cts +1313 -0
- package/dist/{types-FwRmjsNN.d.ts → types-CigD_EF5.d.ts} +18 -6
- package/dist/{types-B_iLJlp4.d.ts → types-CwZgZqrA.d.ts} +31 -5
- package/dist/{types-BTK7Bv3n.d.cts → types-DgPt4LY_.d.cts} +406 -5
- package/dist/{types-bc-4z_gc.d.cts → types-DyArI_Jq.d.cts} +18 -6
- package/dist/{types-DekYAlA-.d.ts → types-QSchmyvO.d.ts} +3 -3
- package/dist/{types-DKc1gmd9.d.ts → types-R3AFJD6r.d.ts} +749 -186
- package/dist/{types-DDOa07rU.d.cts → types-sV9OaqTI.d.cts} +3068 -621
- package/dist/{validateConnectionStatus-BEYkQpu9.cjs → validateConnectionStatus-Ca1uEizv.cjs} +3 -3
- package/dist/{validateConnectionStatus-BEYkQpu9.cjs.map → validateConnectionStatus-Ca1uEizv.cjs.map} +1 -1
- package/dist/{validateConnectionStatus-BEGu8wXT.js → validateConnectionStatus-gFsBi5FV.js} +3 -3
- package/dist/{validateConnectionStatus-BEGu8wXT.js.map → validateConnectionStatus-gFsBi5FV.js.map} +1 -1
- package/dist/vault/index.cjs +4 -4
- package/dist/vault/index.js +4 -4
- package/package.json +7 -7
- package/surface/auth.md +7 -0
- package/surface/kaiAgent.md +4 -2
- package/surface/management.md +28 -13
- package/surface/metastore.md +4 -1
- package/surface/queue.md +1 -1
- package/surface/sdk.md +13 -8
- package/surface/storage.md +27 -24
- package/surface/syncActions.md +55 -1
- package/dist/authClient-BmuUo0J4.cjs.map +0 -1
- package/dist/authClient-CgcDGd30.js.map +0 -1
- package/dist/componentId-57vjsa2i.cjs.map +0 -1
- package/dist/componentId-C6WZa_R1.js.map +0 -1
- package/dist/createFetchClient-Cwp8max9.cjs.map +0 -1
- package/dist/createFetchClient-DXHQK63w.js.map +0 -1
- package/dist/index-CPu4Nezo.d.cts +0 -90
- package/dist/index-Dazy-meb.d.ts +0 -90
- package/dist/kaiAgent-Dp20HLTh.js.map +0 -1
- package/dist/kaiAgent-QNoeVKPs.cjs.map +0 -1
- package/dist/management-CCY0IYnq.cjs.map +0 -1
- package/dist/management-DvmPiG64.js.map +0 -1
- package/dist/metastore-BycJxe7A.js.map +0 -1
- package/dist/metastore-XtWciCZT.cjs.map +0 -1
- package/dist/semanticLayer-CKDVkU56.cjs.map +0 -1
- package/dist/semanticLayer-pYy082Ju.js.map +0 -1
- package/dist/storage-CZQHZcXG.js.map +0 -1
- package/dist/storage-JinL1y1s.cjs.map +0 -1
- package/dist/storageTable-C9crh4Ef.cjs.map +0 -1
- package/dist/storageTable-DslXtqNL.js.map +0 -1
- package/dist/syncActions-BmmoqZO_.js +0 -516
- package/dist/syncActions-BmmoqZO_.js.map +0 -1
- package/dist/syncActions-CtcLGQiy.cjs +0 -523
- package/dist/syncActions-CtcLGQiy.cjs.map +0 -1
- package/dist/types-BYM9Ptz5.d.ts +0 -671
- package/dist/types-CFeZCQ9p.d.cts +0 -671
|
@@ -1,523 +0,0 @@
|
|
|
1
|
-
const require_rolldown_runtime = require("./rolldown-runtime-VH7oDXx4.cjs");
|
|
2
|
-
const require_createFetchClient = require("./createFetchClient-Cwp8max9.cjs");
|
|
3
|
-
const require_SyncActionError = require("./SyncActionError-BG0zwchi.cjs");
|
|
4
|
-
const require_ValidationError = require("./ValidationError-D65QU0uq.cjs");
|
|
5
|
-
const require_createGenericFetchClient = require("./createGenericFetchClient-Dl9cqTvR.cjs");
|
|
6
|
-
const require_createOpenapiFetchClient = require("./createOpenapiFetchClient-BYqW-9tm.cjs");
|
|
7
|
-
const require_auth = require("./auth-Dm0F2rOh.cjs");
|
|
8
|
-
const require_componentId = require("./componentId-57vjsa2i.cjs");
|
|
9
|
-
let zod = require("zod");
|
|
10
|
-
zod = require_rolldown_runtime.__toESM(zod, 1);
|
|
11
|
-
//#region src/clients/syncActions/utils/response.ts
|
|
12
|
-
const asErrorBody = (data) => typeof data === "object" && data !== null ? data : null;
|
|
13
|
-
const asString = (value) => typeof value === "string" && value ? value : void 0;
|
|
14
|
-
const asNumber = (value) => typeof value === "number" ? value : void 0;
|
|
15
|
-
/**
|
|
16
|
-
* Fails a sync action on a non-2xx, or on a 2xx whose body has `status: 'error'`.
|
|
17
|
-
*
|
|
18
|
-
* - Throws: `coreFetch` only rethrows a returned `ApiError`.
|
|
19
|
-
* - `SyncActionError` is not an `ApiError`, so retry / network-error handling skips it.
|
|
20
|
-
*/
|
|
21
|
-
const syncActionValidateStatus = (apiResponse) => {
|
|
22
|
-
const body = asErrorBody(apiResponse.data);
|
|
23
|
-
if (body?.status === "error") throw new require_SyncActionError.SyncActionError(asString(body.message) ?? asString(body.error) ?? apiResponse.response.statusText, {
|
|
24
|
-
exceptionId: asString(body.exceptionId),
|
|
25
|
-
code: asNumber(body.code),
|
|
26
|
-
data: apiResponse.data
|
|
27
|
-
});
|
|
28
|
-
return require_createFetchClient.defaultValidateStatus(apiResponse);
|
|
29
|
-
};
|
|
30
|
-
//#endregion
|
|
31
|
-
//#region src/clients/syncActions/constants.ts
|
|
32
|
-
const SyncAction = {
|
|
33
|
-
DATA_APP_GIT_REPOSITORY: "git-repository",
|
|
34
|
-
DATA_APP_ENTRYPOINTS: "data-app-entrypoints",
|
|
35
|
-
DBT_COMPILE: "dbtCompile",
|
|
36
|
-
DBT_RUN_RESULTS: "dbtRunResults",
|
|
37
|
-
GIT_REPOSITORY: "gitRepository",
|
|
38
|
-
ENROLL_MFA: "enrollMFA",
|
|
39
|
-
FLOW_MIGRATION_PREVIEW: "preview",
|
|
40
|
-
FLOW_MIGRATION_VALIDATE: "validate",
|
|
41
|
-
LIST_ACTORS: "listActors",
|
|
42
|
-
LIST_TASKS: "listTasks",
|
|
43
|
-
TEST_LOOKER_CREDENTIALS: "testLookerCredentials",
|
|
44
|
-
SSH_KEYS_GENERATE: "generate"
|
|
45
|
-
};
|
|
46
|
-
//#endregion
|
|
47
|
-
//#region src/clients/syncActions/schemas.ts
|
|
48
|
-
/** The Keboola-side context every sync action carries; namespaces extend it with their own fields. */
|
|
49
|
-
const syncActionContextSchema = zod.object({
|
|
50
|
-
/** A numeric id or `"default"`; required so requests are self-describing. */
|
|
51
|
-
branchId: zod.string().min(1, "Required"),
|
|
52
|
-
/** Leave undefined to run the published version (not Docker `latest`); set only to pin a build. */
|
|
53
|
-
tag: zod.string().optional(),
|
|
54
|
-
mode: zod.enum(["run", "debug"]).optional()
|
|
55
|
-
});
|
|
56
|
-
/** The `/actions` body; each namespace validates its own `configData` shape. */
|
|
57
|
-
const syncActionBodySchema = syncActionContextSchema.extend({
|
|
58
|
-
componentId: zod.string().min(1, "Required"),
|
|
59
|
-
action: zod.string().min(1, "Required"),
|
|
60
|
-
configData: zod.record(zod.string(), zod.unknown())
|
|
61
|
-
});
|
|
62
|
-
//#endregion
|
|
63
|
-
//#region src/clients/syncActions/apify/schemas.ts
|
|
64
|
-
const apifyObjectsInputSchema = syncActionContextSchema.extend({ "#token": zod.string().min(1, "Required") });
|
|
65
|
-
const apifyObjectsSchema = zod.array(zod.object({
|
|
66
|
-
id: zod.string(),
|
|
67
|
-
name: zod.string()
|
|
68
|
-
}));
|
|
69
|
-
//#endregion
|
|
70
|
-
//#region src/clients/syncActions/apify/utils.ts
|
|
71
|
-
/**
|
|
72
|
-
* A slow Apify account makes the component answer `{ timeout: true }` on a 200 instead of the list —
|
|
73
|
-
* a failure only this action knows how to spot, so it is checked before deferring to the shared
|
|
74
|
-
* validation.
|
|
75
|
-
*/
|
|
76
|
-
const apifyValidateStatus = (apiResponse) => {
|
|
77
|
-
const data = apiResponse.data;
|
|
78
|
-
if (typeof data === "object" && data !== null && "timeout" in data && data.timeout) throw new require_SyncActionError.SyncActionError("Timed out while loading data from Apify.", { data });
|
|
79
|
-
return syncActionValidateStatus(apiResponse);
|
|
80
|
-
};
|
|
81
|
-
//#endregion
|
|
82
|
-
//#region src/clients/syncActions/apify/apify.ts
|
|
83
|
-
const createApify = (sendSyncAction) => {
|
|
84
|
-
const _getObjects = async (action, input, signal) => {
|
|
85
|
-
const { "#token": token, ...context } = require_ValidationError.parseOrThrow(apifyObjectsInputSchema, input);
|
|
86
|
-
const data = await sendSyncAction({
|
|
87
|
-
...context,
|
|
88
|
-
action,
|
|
89
|
-
componentId: require_componentId.ComponentId.APIFY,
|
|
90
|
-
configData: { parameters: { "#token": token } }
|
|
91
|
-
}, {
|
|
92
|
-
signal,
|
|
93
|
-
validateStatus: apifyValidateStatus
|
|
94
|
-
});
|
|
95
|
-
return require_ValidationError.parseOrThrow(apifyObjectsSchema, data);
|
|
96
|
-
};
|
|
97
|
-
const getActors = (input, signal) => {
|
|
98
|
-
return _getObjects(SyncAction.LIST_ACTORS, input, signal);
|
|
99
|
-
};
|
|
100
|
-
const getTasks = (input, signal) => {
|
|
101
|
-
return _getObjects(SyncAction.LIST_TASKS, input, signal);
|
|
102
|
-
};
|
|
103
|
-
return {
|
|
104
|
-
getActors,
|
|
105
|
-
getTasks
|
|
106
|
-
};
|
|
107
|
-
};
|
|
108
|
-
//#endregion
|
|
109
|
-
//#region src/clients/syncActions/dbt/schemas.ts
|
|
110
|
-
/** `componentId` is a plain string: every dbt transformation serves the same actions, so it selects nothing. */
|
|
111
|
-
const dbtActionInputSchema = syncActionContextSchema.extend({
|
|
112
|
-
componentId: zod.string().min(1, "Required"),
|
|
113
|
-
configId: zod.string().min(1, "Required"),
|
|
114
|
-
artifacts: zod.record(zod.string(), zod.unknown()).optional()
|
|
115
|
-
});
|
|
116
|
-
/**
|
|
117
|
-
* Model file name (`orders.sql`) → compiled SQL, in the component's key order.
|
|
118
|
-
*
|
|
119
|
-
* - A never-run configuration fails with a `SyncActionError`, not an empty payload.
|
|
120
|
-
* - A missing key defaults to empty; a present key of the wrong shape still fails.
|
|
121
|
-
*/
|
|
122
|
-
const dbtCompiledSchema = zod.object({ compiled: zod.record(zod.string(), zod.string()).default({}) }).transform(({ compiled }) => compiled);
|
|
123
|
-
/** `"Thread-1"` → `1`; an unparseable value falls back to `0` rather than failing the timeline. */
|
|
124
|
-
const dbtThreadSchema = zod.string().transform((thread) => Number.parseInt(thread.replace(/^Thread-/, ""), 10)).pipe(zod.number().int().nonnegative()).catch(0);
|
|
125
|
-
/** Omits `status` and `dependsOn`. */
|
|
126
|
-
const dbtModelTimingSchema = zod.object({
|
|
127
|
-
id: zod.string(),
|
|
128
|
-
name: zod.string(),
|
|
129
|
-
thread: dbtThreadSchema,
|
|
130
|
-
/** ISO timestamps, left unparsed. */
|
|
131
|
-
timeStarted: zod.string(),
|
|
132
|
-
timeCompleted: zod.string()
|
|
133
|
-
});
|
|
134
|
-
/** A missing key defaults to empty, as in `dbtCompiledSchema`. */
|
|
135
|
-
const dbtRunResultsSchema = zod.object({ modelTiming: zod.array(dbtModelTimingSchema).default([]) }).transform(({ modelTiming }) => modelTiming);
|
|
136
|
-
//#endregion
|
|
137
|
-
//#region src/clients/syncActions/dbt/utils.ts
|
|
138
|
-
/**
|
|
139
|
-
* Both dbt artifact actions read the *stored* configuration — `configId` is what they resolve it by,
|
|
140
|
-
* so the payload carries no settings of its own. `artifacts` is the configuration's own artifacts
|
|
141
|
-
* section, passed through untouched: it selects which run's artifacts the component picks up, and
|
|
142
|
-
* omitting it leaves the component on its default (the latest run).
|
|
143
|
-
*/
|
|
144
|
-
const buildDbtActionConfigData = ({ configId, artifacts }) => ({
|
|
145
|
-
parameters: { configId },
|
|
146
|
-
...artifacts && { artifacts }
|
|
147
|
-
});
|
|
148
|
-
//#endregion
|
|
149
|
-
//#region src/clients/syncActions/dbt/dbt.ts
|
|
150
|
-
/** The dbt transformations' artifact actions — both read what the *last run* left behind. */
|
|
151
|
-
const createDbt = (sendSyncAction) => {
|
|
152
|
-
const sendDbtAction = (action, input, signal) => {
|
|
153
|
-
const { componentId, configId, artifacts, ...context } = require_ValidationError.parseOrThrow(dbtActionInputSchema, input);
|
|
154
|
-
return sendSyncAction({
|
|
155
|
-
...context,
|
|
156
|
-
componentId,
|
|
157
|
-
action,
|
|
158
|
-
configData: buildDbtActionConfigData({
|
|
159
|
-
configId,
|
|
160
|
-
artifacts
|
|
161
|
-
})
|
|
162
|
-
}, { signal });
|
|
163
|
-
};
|
|
164
|
-
/** The compiled SQL of every model in the configuration. */
|
|
165
|
-
const compile = async (input, signal) => {
|
|
166
|
-
const data = await sendDbtAction(SyncAction.DBT_COMPILE, input, signal);
|
|
167
|
-
return require_ValidationError.parseOrThrow(dbtCompiledSchema, data);
|
|
168
|
-
};
|
|
169
|
-
/** When each model of the last run started and finished, and on which worker. */
|
|
170
|
-
const runResults = async (input, signal) => {
|
|
171
|
-
const data = await sendDbtAction(SyncAction.DBT_RUN_RESULTS, input, signal);
|
|
172
|
-
return require_ValidationError.parseOrThrow(dbtRunResultsSchema, data);
|
|
173
|
-
};
|
|
174
|
-
return {
|
|
175
|
-
compile,
|
|
176
|
-
runResults
|
|
177
|
-
};
|
|
178
|
-
};
|
|
179
|
-
//#endregion
|
|
180
|
-
//#region src/clients/syncActions/flowMigration/schemas.ts
|
|
181
|
-
const flowMigrationInputSchema = syncActionContextSchema.extend({ orchestrationIds: zod.array(zod.string().min(1, "Required")) });
|
|
182
|
-
const flowMigrationValidationResultSchema = zod.object({
|
|
183
|
-
orchestrationId: zod.string(),
|
|
184
|
-
orchestrationName: zod.string(),
|
|
185
|
-
valid: zod.boolean(),
|
|
186
|
-
issues: zod.array(zod.string())
|
|
187
|
-
});
|
|
188
|
-
/** The orchestration's configuration as the flow it would become; extra keys pass through. */
|
|
189
|
-
const flowMigrationMigratedConfigurationSchema = zod.looseObject({
|
|
190
|
-
phases: zod.array(zod.unknown()).optional(),
|
|
191
|
-
tasks: zod.array(zod.unknown()).optional(),
|
|
192
|
-
parameters: zod.unknown().optional()
|
|
193
|
-
});
|
|
194
|
-
/**
|
|
195
|
-
* One orchestration's dry-run outcome.
|
|
196
|
-
*
|
|
197
|
-
* - `skipped`: it failed validation; `issues` says why.
|
|
198
|
-
* - `failed`: building the flow threw; `error` carries the message.
|
|
199
|
-
*/
|
|
200
|
-
const flowMigrationPreviewResultSchema = zod.object({
|
|
201
|
-
orchestrationId: zod.string(),
|
|
202
|
-
orchestrationName: zod.string(),
|
|
203
|
-
status: zod.enum([
|
|
204
|
-
"dry-run",
|
|
205
|
-
"skipped",
|
|
206
|
-
"failed"
|
|
207
|
-
]),
|
|
208
|
-
issues: zod.array(zod.string()),
|
|
209
|
-
changes: zod.array(zod.string()),
|
|
210
|
-
error: zod.string().optional(),
|
|
211
|
-
migratedConfiguration: flowMigrationMigratedConfigurationSchema.optional()
|
|
212
|
-
});
|
|
213
|
-
const flowMigrationValidationResultsSchema = zod.array(flowMigrationValidationResultSchema);
|
|
214
|
-
const flowMigrationPreviewResultsSchema = zod.array(flowMigrationPreviewResultSchema);
|
|
215
|
-
//#endregion
|
|
216
|
-
//#region src/clients/syncActions/flowMigration/flowMigration.ts
|
|
217
|
-
/** Orchestration → flow migration checks; one result per requested orchestration. */
|
|
218
|
-
const createFlowMigration = (sendSyncAction) => {
|
|
219
|
-
const validate = async (input, signal) => {
|
|
220
|
-
const { orchestrationIds, ...context } = require_ValidationError.parseOrThrow(flowMigrationInputSchema, input);
|
|
221
|
-
const data = await sendSyncAction({
|
|
222
|
-
...context,
|
|
223
|
-
action: SyncAction.FLOW_MIGRATION_VALIDATE,
|
|
224
|
-
componentId: require_componentId.ComponentId.FLOW_MIGRATION_TOOL,
|
|
225
|
-
configData: { parameters: { orchestrationIds } }
|
|
226
|
-
}, { signal });
|
|
227
|
-
return require_ValidationError.parseOrThrow(flowMigrationValidationResultsSchema, data);
|
|
228
|
-
};
|
|
229
|
-
/** A dry run: nothing is written, and invalid orchestrations come back `skipped`. */
|
|
230
|
-
const preview = async (input, signal) => {
|
|
231
|
-
const { orchestrationIds, ...context } = require_ValidationError.parseOrThrow(flowMigrationInputSchema, input);
|
|
232
|
-
const data = await sendSyncAction({
|
|
233
|
-
...context,
|
|
234
|
-
action: SyncAction.FLOW_MIGRATION_PREVIEW,
|
|
235
|
-
componentId: require_componentId.ComponentId.FLOW_MIGRATION_TOOL,
|
|
236
|
-
configData: { parameters: {
|
|
237
|
-
mode: "config",
|
|
238
|
-
orchestrationIds
|
|
239
|
-
} }
|
|
240
|
-
}, { signal });
|
|
241
|
-
return require_ValidationError.parseOrThrow(flowMigrationPreviewResultsSchema, data);
|
|
242
|
-
};
|
|
243
|
-
return {
|
|
244
|
-
validate,
|
|
245
|
-
preview
|
|
246
|
-
};
|
|
247
|
-
};
|
|
248
|
-
//#endregion
|
|
249
|
-
//#region src/clients/syncActions/git/constants.ts
|
|
250
|
-
/**
|
|
251
|
-
* Components whose git repository lives under `parameters.dataApp.git.repository` and that answer to
|
|
252
|
-
* the `git-repository` action. They are the only ones serving `data-app-entrypoints`, and the only
|
|
253
|
-
* ones accepting an SSH key.
|
|
254
|
-
*/
|
|
255
|
-
const DATA_APP_FAMILY = [require_componentId.ComponentId.DATA_APPS, require_componentId.ComponentId.SANDBOXES];
|
|
256
|
-
/**
|
|
257
|
-
* Components whose git repository lives under `parameters.git.repo` and that answer to the
|
|
258
|
-
* `gitRepository` action. They authenticate over HTTPS with a username and password only.
|
|
259
|
-
*
|
|
260
|
-
* Deliberately a list rather than "everything else": `listBranches` / `list_branches` /
|
|
261
|
-
* `checkBranches` also exist on unrelated third-party components (`kds-team.app-custom-python`,
|
|
262
|
-
* `keboola.app-transformation-migration`, `kds-team.app-sox-migration-checker`) under a different
|
|
263
|
-
* contract. Those stay on the generic `sendSyncAction` escape hatch.
|
|
264
|
-
*/
|
|
265
|
-
const DBT_FAMILY = [
|
|
266
|
-
require_componentId.ComponentId.DBT_TEST_CORE_KEY_PAIR,
|
|
267
|
-
require_componentId.ComponentId.DBT_TEST_REMOTE_SNOWFLAKE,
|
|
268
|
-
require_componentId.ComponentId.DBT_TRANSFORMATION,
|
|
269
|
-
require_componentId.ComponentId.DBT_TRANSFORMATION_LOCAL_BIGQUERY,
|
|
270
|
-
require_componentId.ComponentId.DBT_TRANSFORMATION_REMOTE_BIGQUERY,
|
|
271
|
-
require_componentId.ComponentId.DBT_TRANSFORMATION_REMOTE_MSSQL,
|
|
272
|
-
require_componentId.ComponentId.DBT_TRANSFORMATION_REMOTE_POSTGRESQL,
|
|
273
|
-
require_componentId.ComponentId.DBT_TRANSFORMATION_REMOTE_REDSHIFT,
|
|
274
|
-
require_componentId.ComponentId.DBT_TRANSFORMATION_REMOTE_SNOWFLAKE
|
|
275
|
-
];
|
|
276
|
-
const GIT_FAMILY = [...DATA_APP_FAMILY, ...DBT_FAMILY];
|
|
277
|
-
const dataAppIds = new Set(DATA_APP_FAMILY);
|
|
278
|
-
const isDataAppFamily = (componentId) => dataAppIds.has(componentId);
|
|
279
|
-
//#endregion
|
|
280
|
-
//#region src/clients/syncActions/git/schemas.ts
|
|
281
|
-
const gitAuthSchema = zod.discriminatedUnion("type", [
|
|
282
|
-
zod.object({ type: zod.literal("public") }),
|
|
283
|
-
zod.object({
|
|
284
|
-
type: zod.literal("password"),
|
|
285
|
-
username: zod.string().min(1, "Required"),
|
|
286
|
-
"#password": zod.string().min(1, "Required")
|
|
287
|
-
}),
|
|
288
|
-
zod.object({
|
|
289
|
-
type: zod.literal("sshKey"),
|
|
290
|
-
/** Ignored by the component: over SSH the user is always `git`. */
|
|
291
|
-
username: zod.string().min(1, "Required").optional(),
|
|
292
|
-
"#sshKey": zod.string().min(1, "Required")
|
|
293
|
-
})
|
|
294
|
-
]);
|
|
295
|
-
const gitInputSchema = syncActionContextSchema.extend({
|
|
296
|
-
repositoryUrl: zod.string().min(1, "Required"),
|
|
297
|
-
auth: gitAuthSchema.default({ type: "public" })
|
|
298
|
-
});
|
|
299
|
-
/**
|
|
300
|
-
* **Takes no `branch` — do not add one.** The component clones with `-b <branch>`, so a stale one
|
|
301
|
-
* would fail the branch listing. Zod strips it.
|
|
302
|
-
*/
|
|
303
|
-
const getBranchesInputSchema = gitInputSchema.extend({ componentId: zod.enum(GIT_FAMILY) }).check((ctx) => {
|
|
304
|
-
const { componentId, auth } = ctx.value;
|
|
305
|
-
if (auth.type !== "sshKey" || isDataAppFamily(componentId)) return;
|
|
306
|
-
ctx.issues.push({
|
|
307
|
-
code: "custom",
|
|
308
|
-
input: auth,
|
|
309
|
-
path: ["auth"],
|
|
310
|
-
message: `Component "${componentId}" authenticates with a password, not an SSH key.`
|
|
311
|
-
});
|
|
312
|
-
});
|
|
313
|
-
/** Only the data-app family serves `data-app-entrypoints`. */
|
|
314
|
-
const getEntrypointsInputSchema = gitInputSchema.extend({
|
|
315
|
-
componentId: zod.enum(DATA_APP_FAMILY),
|
|
316
|
-
/** The *git* branch (not `branchId`); omit for the repository default. `""` normalises to omitted. */
|
|
317
|
-
branch: zod.string().optional().transform((branch) => branch || void 0)
|
|
318
|
-
});
|
|
319
|
-
/** Only `branch` is load-bearing; the rest falls back to `''` so one bad field can't fail the list. */
|
|
320
|
-
const gitBranchSchema = zod.object({
|
|
321
|
-
branch: zod.string(),
|
|
322
|
-
sha: zod.string().catch(""),
|
|
323
|
-
date: zod.string().catch(""),
|
|
324
|
-
comment: zod.string().catch(""),
|
|
325
|
-
author: zod.object({
|
|
326
|
-
name: zod.string().catch(""),
|
|
327
|
-
email: zod.string().catch("")
|
|
328
|
-
}).catch({
|
|
329
|
-
name: "",
|
|
330
|
-
email: ""
|
|
331
|
-
})
|
|
332
|
-
});
|
|
333
|
-
/** An array, or an index-keyed object with gaps (a server-filtered PHP array). */
|
|
334
|
-
const gitBranchListSchema = zod.union([zod.array(gitBranchSchema), zod.record(zod.string(), gitBranchSchema)]).transform((branches) => Array.isArray(branches) ? branches : Object.values(branches));
|
|
335
|
-
/**
|
|
336
|
-
* - `repository.branches` is confirmed; the top-level position is accepted but unverified.
|
|
337
|
-
* - A response with neither list is rejected, not read as no branches.
|
|
338
|
-
*/
|
|
339
|
-
const gitBranchesSchema = zod.object({
|
|
340
|
-
repository: zod.object({ branches: gitBranchListSchema.optional() }).optional(),
|
|
341
|
-
branches: gitBranchListSchema.optional()
|
|
342
|
-
}).check((ctx) => {
|
|
343
|
-
if (ctx.value.branches ?? ctx.value.repository?.branches) return;
|
|
344
|
-
ctx.issues.push({
|
|
345
|
-
code: "custom",
|
|
346
|
-
input: ctx.value,
|
|
347
|
-
message: "The response carried no branch list."
|
|
348
|
-
});
|
|
349
|
-
}).transform(({ repository, branches }) => branches ?? repository?.branches ?? []);
|
|
350
|
-
const gitEntrypointsSchema = zod.object({ entrypoints: zod.array(zod.string()) });
|
|
351
|
-
//#endregion
|
|
352
|
-
//#region src/clients/syncActions/git/utils.ts
|
|
353
|
-
/** Every variant is already the shape the components read, minus the discriminator. */
|
|
354
|
-
const toCredentials = (auth) => {
|
|
355
|
-
const { type: _type, ...credentials } = auth;
|
|
356
|
-
return credentials;
|
|
357
|
-
};
|
|
358
|
-
const toRevision = (rev) => rev.revision === "branch" ? { branch: rev.branch } : {};
|
|
359
|
-
/** Data apps nest their repository a level deeper, and call the URL `repository`. */
|
|
360
|
-
const buildDataAppConfigData = ({ repositoryUrl, auth, ...rev }) => ({ parameters: { dataApp: { git: {
|
|
361
|
-
repository: repositoryUrl,
|
|
362
|
-
...toCredentials(auth),
|
|
363
|
-
...toRevision(rev)
|
|
364
|
-
} } } });
|
|
365
|
-
/** dbt transformations keep the same settings at the top of `parameters`, under `repo`. */
|
|
366
|
-
const buildDbtConfigData = ({ repositoryUrl, auth, ...rev }) => ({ parameters: { git: {
|
|
367
|
-
repo: repositoryUrl,
|
|
368
|
-
...toCredentials(auth),
|
|
369
|
-
...toRevision(rev)
|
|
370
|
-
} } });
|
|
371
|
-
//#endregion
|
|
372
|
-
//#region src/clients/syncActions/git/git.ts
|
|
373
|
-
/**
|
|
374
|
-
* Git repository actions, across both component families that serve them — the data apps
|
|
375
|
-
* (`git-repository`) and the dbt transformations (`gitRepository`). Which action name and which
|
|
376
|
-
* `configData` shape a call uses is resolved from `componentId`; see `./constants`.
|
|
377
|
-
*/
|
|
378
|
-
const createGit = (sendSyncAction) => {
|
|
379
|
-
const getBranches = async (input, signal) => {
|
|
380
|
-
const { componentId, repositoryUrl, auth, ...context } = require_ValidationError.parseOrThrow(getBranchesInputSchema, input);
|
|
381
|
-
const isDataApp = isDataAppFamily(componentId);
|
|
382
|
-
const action = isDataApp ? SyncAction.DATA_APP_GIT_REPOSITORY : SyncAction.GIT_REPOSITORY;
|
|
383
|
-
const buildConfigData = isDataApp ? buildDataAppConfigData : buildDbtConfigData;
|
|
384
|
-
const data = await sendSyncAction({
|
|
385
|
-
...context,
|
|
386
|
-
componentId,
|
|
387
|
-
action,
|
|
388
|
-
configData: buildConfigData({
|
|
389
|
-
repositoryUrl,
|
|
390
|
-
auth,
|
|
391
|
-
revision: "default"
|
|
392
|
-
})
|
|
393
|
-
}, { signal });
|
|
394
|
-
return require_ValidationError.parseOrThrow(gitBranchesSchema, data);
|
|
395
|
-
};
|
|
396
|
-
const getEntrypoints = async (input, signal) => {
|
|
397
|
-
const { componentId, repositoryUrl, auth, branch, ...context } = require_ValidationError.parseOrThrow(getEntrypointsInputSchema, input);
|
|
398
|
-
const data = await sendSyncAction({
|
|
399
|
-
...context,
|
|
400
|
-
componentId,
|
|
401
|
-
action: SyncAction.DATA_APP_ENTRYPOINTS,
|
|
402
|
-
configData: buildDataAppConfigData({
|
|
403
|
-
repositoryUrl,
|
|
404
|
-
auth,
|
|
405
|
-
...branch ? {
|
|
406
|
-
revision: "branch",
|
|
407
|
-
branch
|
|
408
|
-
} : { revision: "default" }
|
|
409
|
-
})
|
|
410
|
-
}, { signal });
|
|
411
|
-
return require_ValidationError.parseOrThrow(gitEntrypointsSchema, data);
|
|
412
|
-
};
|
|
413
|
-
return {
|
|
414
|
-
getBranches,
|
|
415
|
-
getEntrypoints
|
|
416
|
-
};
|
|
417
|
-
};
|
|
418
|
-
//#endregion
|
|
419
|
-
//#region src/clients/syncActions/looker/schemas.ts
|
|
420
|
-
const testLookerCredentialsInputSchema = syncActionContextSchema.extend({
|
|
421
|
-
credentialsId: zod.string().min(1, "Required"),
|
|
422
|
-
"#token": zod.string().min(1, "Required"),
|
|
423
|
-
host: zod.string().min(1, "Required")
|
|
424
|
-
});
|
|
425
|
-
/** The component answers with a status envelope only — there is no payload to model. */
|
|
426
|
-
const lookerCredentialsResultSchema = zod.object({
|
|
427
|
-
status: zod.string().optional(),
|
|
428
|
-
message: zod.string().optional()
|
|
429
|
-
});
|
|
430
|
-
//#endregion
|
|
431
|
-
//#region src/clients/syncActions/looker/looker.ts
|
|
432
|
-
const createLooker = (sendSyncAction) => {
|
|
433
|
-
/** Registers the project's Looker credentials; throws `SyncActionError` when Looker rejects them. */
|
|
434
|
-
const testCredentials = async (input, signal) => {
|
|
435
|
-
const { credentialsId, "#token": token, host, ...context } = require_ValidationError.parseOrThrow(testLookerCredentialsInputSchema, input);
|
|
436
|
-
const data = await sendSyncAction({
|
|
437
|
-
...context,
|
|
438
|
-
action: SyncAction.TEST_LOOKER_CREDENTIALS,
|
|
439
|
-
componentId: require_componentId.ComponentId.WR_LOOKER_V2,
|
|
440
|
-
configData: { parameters: { looker: {
|
|
441
|
-
credentialsId,
|
|
442
|
-
"#token": token,
|
|
443
|
-
host
|
|
444
|
-
} } }
|
|
445
|
-
}, { signal });
|
|
446
|
-
return require_ValidationError.parseOrThrow(lookerCredentialsResultSchema, data);
|
|
447
|
-
};
|
|
448
|
-
return { testCredentials };
|
|
449
|
-
};
|
|
450
|
-
//#endregion
|
|
451
|
-
//#region src/clients/syncActions/sshKeys/schemas.ts
|
|
452
|
-
const sshKeyPairSchema = zod.object({
|
|
453
|
-
status: zod.literal("success"),
|
|
454
|
-
public: zod.string(),
|
|
455
|
-
private: zod.string()
|
|
456
|
-
});
|
|
457
|
-
//#endregion
|
|
458
|
-
//#region src/clients/syncActions/sshKeys/sshKeys.ts
|
|
459
|
-
const createSshKeys = (sendSyncAction) => {
|
|
460
|
-
/** Generates a new 4096-bit RSA key pair; the component keeps no copy. */
|
|
461
|
-
const generate = async (input, signal) => {
|
|
462
|
-
const data = await sendSyncAction({
|
|
463
|
-
...require_ValidationError.parseOrThrow(syncActionContextSchema, input),
|
|
464
|
-
action: SyncAction.SSH_KEYS_GENERATE,
|
|
465
|
-
componentId: require_componentId.ComponentId.SSH_KEYGEN_V2,
|
|
466
|
-
configData: {}
|
|
467
|
-
}, { signal });
|
|
468
|
-
return require_ValidationError.parseOrThrow(sshKeyPairSchema, data);
|
|
469
|
-
};
|
|
470
|
-
return { generate };
|
|
471
|
-
};
|
|
472
|
-
//#endregion
|
|
473
|
-
//#region src/clients/syncActions/syncActionsClient.ts
|
|
474
|
-
const createSendSyncAction = (client) => {
|
|
475
|
-
return async (body, options = {}) => {
|
|
476
|
-
const { data } = await client.post("/actions", { body: require_ValidationError.parseOrThrow(syncActionBodySchema, body) }, options);
|
|
477
|
-
return data;
|
|
478
|
-
};
|
|
479
|
-
};
|
|
480
|
-
const createSyncActionsClient = ({ baseUrl, middlewares, auth }) => {
|
|
481
|
-
const client = require_createOpenapiFetchClient.createOpenapiFetchClient({
|
|
482
|
-
baseUrl,
|
|
483
|
-
middlewares,
|
|
484
|
-
headers: require_auth.createAuthHeaders(auth),
|
|
485
|
-
validateStatus: syncActionValidateStatus
|
|
486
|
-
});
|
|
487
|
-
const genericClient = require_createGenericFetchClient.createGenericFetchClient({
|
|
488
|
-
baseUrl,
|
|
489
|
-
middlewares
|
|
490
|
-
});
|
|
491
|
-
const sendSyncAction = createSendSyncAction(client);
|
|
492
|
-
const enrollMFA = ({ email, ...rest }, signal) => {
|
|
493
|
-
return sendSyncAction({
|
|
494
|
-
...rest,
|
|
495
|
-
action: SyncAction.ENROLL_MFA,
|
|
496
|
-
configData: { parameters: { user: { email } } }
|
|
497
|
-
}, { signal });
|
|
498
|
-
};
|
|
499
|
-
const healthCheck = async (signal) => {
|
|
500
|
-
const { data } = await genericClient.get("/health-check", {}, { signal });
|
|
501
|
-
return data;
|
|
502
|
-
};
|
|
503
|
-
return {
|
|
504
|
-
healthCheck,
|
|
505
|
-
sendSyncAction,
|
|
506
|
-
enrollMFA,
|
|
507
|
-
apify: createApify(sendSyncAction),
|
|
508
|
-
dbt: createDbt(sendSyncAction),
|
|
509
|
-
flowMigration: createFlowMigration(sendSyncAction),
|
|
510
|
-
git: createGit(sendSyncAction),
|
|
511
|
-
looker: createLooker(sendSyncAction),
|
|
512
|
-
sshKeys: createSshKeys(sendSyncAction)
|
|
513
|
-
};
|
|
514
|
-
};
|
|
515
|
-
//#endregion
|
|
516
|
-
Object.defineProperty(exports, "createSyncActionsClient", {
|
|
517
|
-
enumerable: true,
|
|
518
|
-
get: function() {
|
|
519
|
-
return createSyncActionsClient;
|
|
520
|
-
}
|
|
521
|
-
});
|
|
522
|
-
|
|
523
|
-
//# sourceMappingURL=syncActions-CtcLGQiy.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"syncActions-CtcLGQiy.cjs","names":["SyncActionError","defaultValidateStatus","z","z","SyncActionError","parseOrThrow","ComponentId","z","parseOrThrow","z","parseOrThrow","ComponentId","ComponentId","z","parseOrThrow","z","parseOrThrow","ComponentId","z","parseOrThrow","ComponentId","parseOrThrow","createOpenapiFetchClient","createAuthHeaders","createGenericFetchClient"],"sources":["../src/clients/syncActions/utils/response.ts","../src/clients/syncActions/constants.ts","../src/clients/syncActions/schemas.ts","../src/clients/syncActions/apify/schemas.ts","../src/clients/syncActions/apify/utils.ts","../src/clients/syncActions/apify/apify.ts","../src/clients/syncActions/dbt/schemas.ts","../src/clients/syncActions/dbt/utils.ts","../src/clients/syncActions/dbt/dbt.ts","../src/clients/syncActions/flowMigration/schemas.ts","../src/clients/syncActions/flowMigration/flowMigration.ts","../src/clients/syncActions/git/constants.ts","../src/clients/syncActions/git/schemas.ts","../src/clients/syncActions/git/utils.ts","../src/clients/syncActions/git/git.ts","../src/clients/syncActions/looker/schemas.ts","../src/clients/syncActions/looker/looker.ts","../src/clients/syncActions/sshKeys/schemas.ts","../src/clients/syncActions/sshKeys/sshKeys.ts","../src/clients/syncActions/syncActionsClient.ts"],"sourcesContent":["import { SyncActionError } from '../../../errors';\nimport type { ValidateStatusFn } from '../../../fetchClient';\nimport { defaultValidateStatus } from '../../../fetchClient';\n\ntype SyncActionErrorBody = {\n status?: unknown;\n message?: unknown;\n error?: unknown;\n exceptionId?: unknown;\n code?: unknown;\n};\n\nconst asErrorBody = (data: unknown): SyncActionErrorBody | null =>\n typeof data === 'object' && data !== null ? (data as SyncActionErrorBody) : null;\n\nconst asString = (value: unknown) => (typeof value === 'string' && value ? value : undefined);\nconst asNumber = (value: unknown) => (typeof value === 'number' ? value : undefined);\n\n/**\n * Fails a sync action on a non-2xx, or on a 2xx whose body has `status: 'error'`.\n *\n * - Throws: `coreFetch` only rethrows a returned `ApiError`.\n * - `SyncActionError` is not an `ApiError`, so retry / network-error handling skips it.\n */\nexport const syncActionValidateStatus: ValidateStatusFn = (apiResponse) => {\n const body = asErrorBody(apiResponse.data);\n\n if (body?.status === 'error') {\n throw new SyncActionError(\n asString(body.message) ?? asString(body.error) ?? apiResponse.response.statusText,\n {\n exceptionId: asString(body.exceptionId),\n code: asNumber(body.code),\n data: apiResponse.data,\n },\n );\n }\n\n return defaultValidateStatus(apiResponse);\n};\n","export const SyncAction = {\n DATA_APP_GIT_REPOSITORY: 'git-repository',\n DATA_APP_ENTRYPOINTS: 'data-app-entrypoints',\n DBT_COMPILE: 'dbtCompile',\n DBT_RUN_RESULTS: 'dbtRunResults',\n GIT_REPOSITORY: 'gitRepository',\n ENROLL_MFA: 'enrollMFA',\n FLOW_MIGRATION_PREVIEW: 'preview',\n FLOW_MIGRATION_VALIDATE: 'validate',\n LIST_ACTORS: 'listActors',\n LIST_TASKS: 'listTasks',\n TEST_LOOKER_CREDENTIALS: 'testLookerCredentials',\n SSH_KEYS_GENERATE: 'generate',\n};\n","import * as z from 'zod';\n\n/** The Keboola-side context every sync action carries; namespaces extend it with their own fields. */\nexport const syncActionContextSchema = z.object({\n /** A numeric id or `\"default\"`; required so requests are self-describing. */\n branchId: z.string().min(1, 'Required'),\n /** Leave undefined to run the published version (not Docker `latest`); set only to pin a build. */\n tag: z.string().optional(),\n mode: z.enum(['run', 'debug']).optional(),\n});\n\n/** The `/actions` body; each namespace validates its own `configData` shape. */\nexport const syncActionBodySchema = syncActionContextSchema.extend({\n componentId: z.string().min(1, 'Required'),\n action: z.string().min(1, 'Required'),\n configData: z.record(z.string(), z.unknown()),\n});\n\nexport type SyncActionContext = z.infer<typeof syncActionContextSchema>;\nexport type SyncActionBody = z.infer<typeof syncActionBodySchema>;\n","import * as z from 'zod';\n\nimport { syncActionContextSchema } from '../schemas';\n\nexport const apifyObjectsInputSchema = syncActionContextSchema.extend({\n '#token': z.string().min(1, 'Required'),\n});\n\nexport const apifyObjectsSchema = z.array(\n z.object({\n id: z.string(),\n name: z.string(),\n }),\n);\n\nexport type ApifyObjectsInput = z.infer<typeof apifyObjectsInputSchema>;\n\nexport type ApifyObject = z.infer<typeof apifyObjectsSchema>[number];\n","import { SyncActionError } from '../../../errors';\nimport type { ValidateStatusFn } from '../../../fetchClient';\nimport { syncActionValidateStatus } from '../utils/response';\n\n/**\n * A slow Apify account makes the component answer `{ timeout: true }` on a 200 instead of the list —\n * a failure only this action knows how to spot, so it is checked before deferring to the shared\n * validation.\n */\nexport const apifyValidateStatus: ValidateStatusFn = (apiResponse) => {\n const data = apiResponse.data;\n\n if (typeof data === 'object' && data !== null && 'timeout' in data && data.timeout)\n throw new SyncActionError('Timed out while loading data from Apify.', { data });\n\n return syncActionValidateStatus(apiResponse);\n};\n","import { ComponentId } from '../../../constants';\nimport { parseOrThrow } from '../../../errors';\nimport { SyncAction } from '../constants';\nimport type { SendSyncAction } from '../syncActionsClient';\n\nimport { type ApifyObjectsInput, apifyObjectsInputSchema, apifyObjectsSchema } from './schemas';\nimport { apifyValidateStatus } from './utils';\n\nexport const createApify = (sendSyncAction: SendSyncAction) => {\n const _getObjects = async (action: string, input: ApifyObjectsInput, signal?: AbortSignal) => {\n const { '#token': token, ...context } = parseOrThrow(apifyObjectsInputSchema, input);\n\n const data = await sendSyncAction(\n {\n ...context,\n action,\n componentId: ComponentId.APIFY,\n configData: { parameters: { '#token': token } },\n },\n { signal, validateStatus: apifyValidateStatus },\n );\n\n return parseOrThrow(apifyObjectsSchema, data);\n };\n\n const getActors = (input: ApifyObjectsInput, signal?: AbortSignal) => {\n return _getObjects(SyncAction.LIST_ACTORS, input, signal);\n };\n\n const getTasks = (input: ApifyObjectsInput, signal?: AbortSignal) => {\n return _getObjects(SyncAction.LIST_TASKS, input, signal);\n };\n\n return { getActors, getTasks };\n};\n","import * as z from 'zod';\n\nimport { syncActionContextSchema } from '../schemas';\n\n/** `componentId` is a plain string: every dbt transformation serves the same actions, so it selects nothing. */\nexport const dbtActionInputSchema = syncActionContextSchema.extend({\n componentId: z.string().min(1, 'Required'),\n configId: z.string().min(1, 'Required'),\n artifacts: z.record(z.string(), z.unknown()).optional(),\n});\n\n/**\n * Model file name (`orders.sql`) → compiled SQL, in the component's key order.\n *\n * - A never-run configuration fails with a `SyncActionError`, not an empty payload.\n * - A missing key defaults to empty; a present key of the wrong shape still fails.\n */\nexport const dbtCompiledSchema = z\n .object({ compiled: z.record(z.string(), z.string()).default({}) })\n .transform(({ compiled }) => compiled);\n\n/** `\"Thread-1\"` → `1`; an unparseable value falls back to `0` rather than failing the timeline. */\nconst dbtThreadSchema = z\n .string()\n .transform((thread) => Number.parseInt(thread.replace(/^Thread-/, ''), 10))\n .pipe(z.number().int().nonnegative())\n .catch(0);\n\n/** Omits `status` and `dependsOn`. */\nexport const dbtModelTimingSchema = z.object({\n id: z.string(),\n name: z.string(),\n thread: dbtThreadSchema,\n /** ISO timestamps, left unparsed. */\n timeStarted: z.string(),\n timeCompleted: z.string(),\n});\n\n/** A missing key defaults to empty, as in `dbtCompiledSchema`. */\nexport const dbtRunResultsSchema = z\n .object({ modelTiming: z.array(dbtModelTimingSchema).default([]) })\n .transform(({ modelTiming }) => modelTiming);\n\nexport type DbtActionInput = z.infer<typeof dbtActionInputSchema>;\nexport type DbtCompiled = z.infer<typeof dbtCompiledSchema>;\nexport type DbtModelTiming = z.infer<typeof dbtModelTimingSchema>;\n","export type DbtActionConfigDataInput = {\n configId: string;\n artifacts?: Record<string, unknown>;\n};\n\n/**\n * Both dbt artifact actions read the *stored* configuration — `configId` is what they resolve it by,\n * so the payload carries no settings of its own. `artifacts` is the configuration's own artifacts\n * section, passed through untouched: it selects which run's artifacts the component picks up, and\n * omitting it leaves the component on its default (the latest run).\n */\nexport const buildDbtActionConfigData = ({ configId, artifacts }: DbtActionConfigDataInput) => ({\n parameters: { configId },\n ...(artifacts && { artifacts }),\n});\n","import { parseOrThrow } from '../../../errors';\nimport { SyncAction } from '../constants';\nimport type { SendSyncAction } from '../syncActionsClient';\n\nimport {\n type DbtActionInput,\n dbtActionInputSchema,\n dbtCompiledSchema,\n dbtRunResultsSchema,\n} from './schemas';\nimport { buildDbtActionConfigData } from './utils';\n\n/** The dbt transformations' artifact actions — both read what the *last run* left behind. */\nexport const createDbt = (sendSyncAction: SendSyncAction) => {\n const sendDbtAction = (action: string, input: DbtActionInput, signal?: AbortSignal) => {\n const { componentId, configId, artifacts, ...context } = parseOrThrow(\n dbtActionInputSchema,\n input,\n );\n\n return sendSyncAction(\n {\n ...context,\n componentId,\n action,\n configData: buildDbtActionConfigData({ configId, artifacts }),\n },\n { signal },\n );\n };\n\n /** The compiled SQL of every model in the configuration. */\n const compile = async (input: DbtActionInput, signal?: AbortSignal) => {\n const data = await sendDbtAction(SyncAction.DBT_COMPILE, input, signal);\n\n return parseOrThrow(dbtCompiledSchema, data);\n };\n\n /** When each model of the last run started and finished, and on which worker. */\n const runResults = async (input: DbtActionInput, signal?: AbortSignal) => {\n const data = await sendDbtAction(SyncAction.DBT_RUN_RESULTS, input, signal);\n\n return parseOrThrow(dbtRunResultsSchema, data);\n };\n\n return { compile, runResults };\n};\n","import * as z from 'zod';\n\nimport { syncActionContextSchema } from '../schemas';\n\nexport const flowMigrationInputSchema = syncActionContextSchema.extend({\n orchestrationIds: z.array(z.string().min(1, 'Required')),\n});\n\nexport const flowMigrationValidationResultSchema = z.object({\n orchestrationId: z.string(),\n orchestrationName: z.string(),\n valid: z.boolean(),\n issues: z.array(z.string()),\n});\n\n/** The orchestration's configuration as the flow it would become; extra keys pass through. */\nconst flowMigrationMigratedConfigurationSchema = z.looseObject({\n phases: z.array(z.unknown()).optional(),\n tasks: z.array(z.unknown()).optional(),\n parameters: z.unknown().optional(),\n});\n\n/**\n * One orchestration's dry-run outcome.\n *\n * - `skipped`: it failed validation; `issues` says why.\n * - `failed`: building the flow threw; `error` carries the message.\n */\nexport const flowMigrationPreviewResultSchema = z.object({\n orchestrationId: z.string(),\n orchestrationName: z.string(),\n status: z.enum(['dry-run', 'skipped', 'failed']),\n issues: z.array(z.string()),\n changes: z.array(z.string()),\n error: z.string().optional(),\n migratedConfiguration: flowMigrationMigratedConfigurationSchema.optional(),\n});\n\nexport const flowMigrationValidationResultsSchema = z.array(flowMigrationValidationResultSchema);\nexport const flowMigrationPreviewResultsSchema = z.array(flowMigrationPreviewResultSchema);\n\nexport type FlowMigrationInput = z.infer<typeof flowMigrationInputSchema>;\nexport type FlowMigrationValidationResult = z.infer<typeof flowMigrationValidationResultSchema>;\nexport type FlowMigrationPreviewResult = z.infer<typeof flowMigrationPreviewResultSchema>;\n","import { ComponentId } from '../../../constants';\nimport { parseOrThrow } from '../../../errors';\nimport { SyncAction } from '../constants';\nimport type { SendSyncAction } from '../syncActionsClient';\n\nimport {\n type FlowMigrationInput,\n flowMigrationInputSchema,\n flowMigrationPreviewResultsSchema,\n flowMigrationValidationResultsSchema,\n} from './schemas';\n\n/** Orchestration → flow migration checks; one result per requested orchestration. */\nexport const createFlowMigration = (sendSyncAction: SendSyncAction) => {\n const validate = async (input: FlowMigrationInput, signal?: AbortSignal) => {\n const { orchestrationIds, ...context } = parseOrThrow(flowMigrationInputSchema, input);\n\n const data = await sendSyncAction(\n {\n ...context,\n action: SyncAction.FLOW_MIGRATION_VALIDATE,\n componentId: ComponentId.FLOW_MIGRATION_TOOL,\n configData: { parameters: { orchestrationIds } },\n },\n { signal },\n );\n\n return parseOrThrow(flowMigrationValidationResultsSchema, data);\n };\n\n /** A dry run: nothing is written, and invalid orchestrations come back `skipped`. */\n const preview = async (input: FlowMigrationInput, signal?: AbortSignal) => {\n const { orchestrationIds, ...context } = parseOrThrow(flowMigrationInputSchema, input);\n\n const data = await sendSyncAction(\n {\n ...context,\n action: SyncAction.FLOW_MIGRATION_PREVIEW,\n componentId: ComponentId.FLOW_MIGRATION_TOOL,\n configData: { parameters: { mode: 'config', orchestrationIds } },\n },\n { signal },\n );\n\n return parseOrThrow(flowMigrationPreviewResultsSchema, data);\n };\n\n return { validate, preview };\n};\n","import { ComponentId } from '../../../constants';\n\n/**\n * Components whose git repository lives under `parameters.dataApp.git.repository` and that answer to\n * the `git-repository` action. They are the only ones serving `data-app-entrypoints`, and the only\n * ones accepting an SSH key.\n */\nexport const DATA_APP_FAMILY = [ComponentId.DATA_APPS, ComponentId.SANDBOXES] as const;\n\n/**\n * Components whose git repository lives under `parameters.git.repo` and that answer to the\n * `gitRepository` action. They authenticate over HTTPS with a username and password only.\n *\n * Deliberately a list rather than \"everything else\": `listBranches` / `list_branches` /\n * `checkBranches` also exist on unrelated third-party components (`kds-team.app-custom-python`,\n * `keboola.app-transformation-migration`, `kds-team.app-sox-migration-checker`) under a different\n * contract. Those stay on the generic `sendSyncAction` escape hatch.\n */\nconst DBT_FAMILY = [\n ComponentId.DBT_TEST_CORE_KEY_PAIR,\n ComponentId.DBT_TEST_REMOTE_SNOWFLAKE,\n ComponentId.DBT_TRANSFORMATION,\n ComponentId.DBT_TRANSFORMATION_LOCAL_BIGQUERY,\n ComponentId.DBT_TRANSFORMATION_REMOTE_BIGQUERY,\n ComponentId.DBT_TRANSFORMATION_REMOTE_MSSQL,\n ComponentId.DBT_TRANSFORMATION_REMOTE_POSTGRESQL,\n ComponentId.DBT_TRANSFORMATION_REMOTE_REDSHIFT,\n ComponentId.DBT_TRANSFORMATION_REMOTE_SNOWFLAKE,\n] as const;\n\nexport const GIT_FAMILY = [...DATA_APP_FAMILY, ...DBT_FAMILY] as const;\n\n/** The ids the git actions accept — anything else has no action name or payload path to resolve. */\nexport type GitComponentId = (typeof GIT_FAMILY)[number];\nexport type DataAppComponentId = (typeof DATA_APP_FAMILY)[number];\n\nconst dataAppIds: ReadonlySet<string> = new Set(DATA_APP_FAMILY);\n\nexport const isDataAppFamily = (componentId: string): componentId is DataAppComponentId =>\n dataAppIds.has(componentId);\n","import * as z from 'zod';\n\nimport { syncActionContextSchema } from '../schemas';\n\nimport { DATA_APP_FAMILY, GIT_FAMILY, isDataAppFamily } from './constants';\n\nexport const gitAuthSchema = z.discriminatedUnion('type', [\n z.object({ type: z.literal('public') }),\n z.object({\n type: z.literal('password'),\n username: z.string().min(1, 'Required'),\n '#password': z.string().min(1, 'Required'),\n }),\n z.object({\n type: z.literal('sshKey'),\n /** Ignored by the component: over SSH the user is always `git`. */\n username: z.string().min(1, 'Required').optional(),\n '#sshKey': z.string().min(1, 'Required'),\n }),\n]);\n\nconst gitInputSchema = syncActionContextSchema.extend({\n repositoryUrl: z.string().min(1, 'Required'),\n auth: gitAuthSchema.default({ type: 'public' }),\n});\n\n/**\n * **Takes no `branch` — do not add one.** The component clones with `-b <branch>`, so a stale one\n * would fail the branch listing. Zod strips it.\n */\nexport const getBranchesInputSchema = gitInputSchema\n .extend({ componentId: z.enum(GIT_FAMILY) })\n .check((ctx) => {\n const { componentId, auth } = ctx.value;\n\n // The types can't vary auth by family: dbt clones over HTTPS with a password, no SSH key.\n if (auth.type !== 'sshKey' || isDataAppFamily(componentId)) return;\n\n ctx.issues.push({\n code: 'custom',\n input: auth,\n path: ['auth'],\n message: `Component \"${componentId}\" authenticates with a password, not an SSH key.`,\n });\n });\n\n/** Only the data-app family serves `data-app-entrypoints`. */\nexport const getEntrypointsInputSchema = gitInputSchema.extend({\n componentId: z.enum(DATA_APP_FAMILY),\n /** The *git* branch (not `branchId`); omit for the repository default. `\"\"` normalises to omitted. */\n branch: z\n .string()\n .optional()\n .transform((branch) => branch || undefined),\n});\n\n/** Only `branch` is load-bearing; the rest falls back to `''` so one bad field can't fail the list. */\nconst gitBranchSchema = z.object({\n branch: z.string(),\n sha: z.string().catch(''),\n date: z.string().catch(''),\n comment: z.string().catch(''),\n author: z\n .object({\n name: z.string().catch(''),\n email: z.string().catch(''),\n })\n .catch({ name: '', email: '' }),\n});\n\n/** An array, or an index-keyed object with gaps (a server-filtered PHP array). */\nconst gitBranchListSchema = z\n .union([z.array(gitBranchSchema), z.record(z.string(), gitBranchSchema)])\n .transform((branches) => (Array.isArray(branches) ? branches : Object.values(branches)));\n\n/**\n * - `repository.branches` is confirmed; the top-level position is accepted but unverified.\n * - A response with neither list is rejected, not read as no branches.\n */\nexport const gitBranchesSchema = z\n .object({\n repository: z.object({ branches: gitBranchListSchema.optional() }).optional(),\n branches: gitBranchListSchema.optional(),\n })\n .check((ctx) => {\n if (ctx.value.branches ?? ctx.value.repository?.branches) return;\n\n ctx.issues.push({\n code: 'custom',\n input: ctx.value,\n message: 'The response carried no branch list.',\n });\n })\n .transform(({ repository, branches }) => branches ?? repository?.branches ?? []);\n\nexport const gitEntrypointsSchema = z.object({\n entrypoints: z.array(z.string()),\n});\n\nexport type GitAuth = z.infer<typeof gitAuthSchema>;\nexport type GetBranchesInput = z.input<typeof getBranchesInputSchema>;\nexport type GetEntrypointsInput = z.input<typeof getEntrypointsInputSchema>;\nexport type GitBranch = z.infer<typeof gitBranchSchema>;\nexport type GitEntrypoints = z.infer<typeof gitEntrypointsSchema>;\n","import type { GitAuth } from './schemas';\n\n/** Every variant is already the shape the components read, minus the discriminator. */\nconst toCredentials = (auth: GitAuth) => {\n const { type: _type, ...credentials } = auth;\n\n return credentials;\n};\n\n/**\n * Which revision the component clones.\n *\n * - `default` — no `-b`; branch listing must use it, as a stale pinned branch fails the listing.\n * - `branch` — `git clone -b <branch>`.\n */\ntype GitRevision = { revision: 'default' } | { revision: 'branch'; branch: string };\n\nconst toRevision = (rev: GitRevision) => (rev.revision === 'branch' ? { branch: rev.branch } : {});\n\nexport type GitConfigDataInput = {\n repositoryUrl: string;\n auth: GitAuth;\n} & GitRevision;\n\n/** Data apps nest their repository a level deeper, and call the URL `repository`. */\nexport const buildDataAppConfigData = ({ repositoryUrl, auth, ...rev }: GitConfigDataInput) => ({\n parameters: {\n dataApp: {\n git: {\n repository: repositoryUrl,\n ...toCredentials(auth),\n ...toRevision(rev),\n },\n },\n },\n});\n\n/** dbt transformations keep the same settings at the top of `parameters`, under `repo`. */\nexport const buildDbtConfigData = ({ repositoryUrl, auth, ...rev }: GitConfigDataInput) => ({\n parameters: {\n git: {\n repo: repositoryUrl,\n ...toCredentials(auth),\n ...toRevision(rev),\n },\n },\n});\n","import { parseOrThrow } from '../../../errors';\nimport { SyncAction } from '../constants';\nimport type { SendSyncAction } from '../syncActionsClient';\n\nimport { isDataAppFamily } from './constants';\nimport {\n type GetBranchesInput,\n getBranchesInputSchema,\n type GetEntrypointsInput,\n getEntrypointsInputSchema,\n gitBranchesSchema,\n gitEntrypointsSchema,\n} from './schemas';\nimport { buildDataAppConfigData, buildDbtConfigData } from './utils';\n\n/**\n * Git repository actions, across both component families that serve them — the data apps\n * (`git-repository`) and the dbt transformations (`gitRepository`). Which action name and which\n * `configData` shape a call uses is resolved from `componentId`; see `./constants`.\n */\nexport const createGit = (sendSyncAction: SendSyncAction) => {\n const getBranches = async (input: GetBranchesInput, signal?: AbortSignal) => {\n const { componentId, repositoryUrl, auth, ...context } = parseOrThrow(\n getBranchesInputSchema,\n input,\n );\n const isDataApp = isDataAppFamily(componentId);\n const action = isDataApp ? SyncAction.DATA_APP_GIT_REPOSITORY : SyncAction.GIT_REPOSITORY;\n const buildConfigData = isDataApp ? buildDataAppConfigData : buildDbtConfigData;\n\n const data = await sendSyncAction(\n {\n ...context,\n componentId,\n action,\n configData: buildConfigData({ repositoryUrl, auth, revision: 'default' }),\n },\n { signal },\n );\n\n return parseOrThrow(gitBranchesSchema, data);\n };\n\n const getEntrypoints = async (input: GetEntrypointsInput, signal?: AbortSignal) => {\n const { componentId, repositoryUrl, auth, branch, ...context } = parseOrThrow(\n getEntrypointsInputSchema,\n input,\n );\n\n const data = await sendSyncAction(\n {\n ...context,\n componentId,\n action: SyncAction.DATA_APP_ENTRYPOINTS,\n // Data-app only — the input schema rejects every other component, so no family branch here.\n configData: buildDataAppConfigData({\n repositoryUrl,\n auth,\n ...(branch ? { revision: 'branch', branch } : { revision: 'default' }),\n }),\n },\n { signal },\n );\n\n return parseOrThrow(gitEntrypointsSchema, data);\n };\n\n return { getBranches, getEntrypoints };\n};\n","import * as z from 'zod';\n\nimport { syncActionContextSchema } from '../schemas';\n\nexport const testLookerCredentialsInputSchema = syncActionContextSchema.extend({\n credentialsId: z.string().min(1, 'Required'),\n '#token': z.string().min(1, 'Required'),\n host: z.string().min(1, 'Required'),\n});\n\n/** The component answers with a status envelope only — there is no payload to model. */\nexport const lookerCredentialsResultSchema = z.object({\n status: z.string().optional(),\n message: z.string().optional(),\n});\n\nexport type TestLookerCredentialsInput = z.infer<typeof testLookerCredentialsInputSchema>;\nexport type LookerCredentialsResult = z.infer<typeof lookerCredentialsResultSchema>;\n","import { ComponentId } from '../../../constants';\nimport { parseOrThrow } from '../../../errors';\nimport { SyncAction } from '../constants';\nimport type { SendSyncAction } from '../syncActionsClient';\n\nimport {\n lookerCredentialsResultSchema,\n type TestLookerCredentialsInput,\n testLookerCredentialsInputSchema,\n} from './schemas';\n\nexport const createLooker = (sendSyncAction: SendSyncAction) => {\n /** Registers the project's Looker credentials; throws `SyncActionError` when Looker rejects them. */\n const testCredentials = async (input: TestLookerCredentialsInput, signal?: AbortSignal) => {\n const {\n credentialsId,\n '#token': token,\n host,\n ...context\n } = parseOrThrow(testLookerCredentialsInputSchema, input);\n\n const data = await sendSyncAction(\n {\n ...context,\n action: SyncAction.TEST_LOOKER_CREDENTIALS,\n componentId: ComponentId.WR_LOOKER_V2,\n configData: { parameters: { looker: { credentialsId, '#token': token, host } } },\n },\n { signal },\n );\n\n return parseOrThrow(lookerCredentialsResultSchema, data);\n };\n\n return { testCredentials };\n};\n","import * as z from 'zod';\n\nexport const sshKeyPairSchema = z.object({\n status: z.literal('success'),\n public: z.string(),\n private: z.string(),\n});\n\nexport type SshKeyPair = z.infer<typeof sshKeyPairSchema>;\n","import { ComponentId } from '../../../constants';\nimport { parseOrThrow } from '../../../errors';\nimport { SyncAction } from '../constants';\nimport { type SyncActionContext, syncActionContextSchema } from '../schemas';\nimport type { SendSyncAction } from '../syncActionsClient';\n\nimport { sshKeyPairSchema } from './schemas';\n\nexport const createSshKeys = (sendSyncAction: SendSyncAction) => {\n /** Generates a new 4096-bit RSA key pair; the component keeps no copy. */\n const generate = async (input: SyncActionContext, signal?: AbortSignal) => {\n const context = parseOrThrow(syncActionContextSchema, input);\n\n const data = await sendSyncAction(\n {\n ...context,\n action: SyncAction.SSH_KEYS_GENERATE,\n componentId: ComponentId.SSH_KEYGEN_V2,\n configData: {},\n },\n { signal },\n );\n\n return parseOrThrow(sshKeyPairSchema, data);\n };\n\n return { generate };\n};\n","import { parseOrThrow } from '../../errors';\nimport type { ValidateStatusFn } from '../../fetchClient';\nimport { createGenericFetchClient, createOpenapiFetchClient } from '../../fetchClient';\nimport { createAuthHeaders } from '../auth';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { syncActionValidateStatus } from './utils/response';\nimport { createApify } from './apify';\nimport { SyncAction } from './constants';\nimport { createDbt } from './dbt';\nimport { createFlowMigration } from './flowMigration';\nimport { createGit } from './git';\nimport { createLooker } from './looker';\nimport { type SyncActionBody, syncActionBodySchema } from './schemas';\nimport { createSshKeys } from './sshKeys';\nimport type { EnrollMFAInput, PostActionsBodyRaw } from './types';\n\nexport type SendSyncActionOptions = {\n signal?: AbortSignal;\n /** Replaces `syncActionValidateStatus` for this request; delegate to it for anything else. */\n validateStatus?: ValidateStatusFn;\n};\n\nconst createSendSyncAction = (client: SyncActionClient) => {\n return async (body: SyncActionBody, options: SendSyncActionOptions = {}) => {\n const { data } = await client.post(\n '/actions',\n // Generated `configData: Record<string, never>` is unsatisfiable; the schema is the contract.\n { body: parseOrThrow(syncActionBodySchema, body) as unknown as PostActionsBodyRaw },\n options,\n );\n\n return data;\n };\n};\n\nexport type SendSyncAction = ReturnType<typeof createSendSyncAction>;\ntype SyncActionClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createSyncActionsClient = ({ baseUrl, middlewares, auth }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl,\n middlewares,\n headers: createAuthHeaders(auth),\n validateStatus: syncActionValidateStatus,\n });\n const genericClient = createGenericFetchClient({ baseUrl, middlewares });\n\n const sendSyncAction = createSendSyncAction(client);\n\n const enrollMFA = ({ email, ...rest }: EnrollMFAInput, signal?: AbortSignal) => {\n return sendSyncAction(\n {\n ...rest,\n action: SyncAction.ENROLL_MFA,\n configData: {\n parameters: {\n user: {\n email,\n },\n },\n },\n },\n { signal },\n );\n };\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await genericClient.get('/health-check', {}, { signal });\n\n return data;\n };\n\n return {\n healthCheck,\n sendSyncAction,\n enrollMFA,\n apify: createApify(sendSyncAction),\n dbt: createDbt(sendSyncAction),\n flowMigration: createFlowMigration(sendSyncAction),\n git: createGit(sendSyncAction),\n looker: createLooker(sendSyncAction),\n sshKeys: createSshKeys(sendSyncAction),\n };\n};\n"],"mappings":"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"}
|