@transcend-io/cli 10.25.5 → 10.26.1
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/README.md +266 -3
- package/dist/{app-DYoi_kYl.mjs → app-B9liG9mC.mjs} +38 -21
- package/dist/app-B9liG9mC.mjs.map +1 -0
- package/dist/{approvePrivacyRequests-D4ZfEesR.mjs → approvePrivacyRequests-Ccc_3C8v.mjs} +2 -2
- package/dist/{approvePrivacyRequests-D4ZfEesR.mjs.map → approvePrivacyRequests-Ccc_3C8v.mjs.map} +1 -1
- package/dist/bin/bash-complete.mjs +1 -1
- package/dist/bin/cli.mjs +1 -1
- package/dist/bin/deprecated-command.mjs +1 -1
- package/dist/{buildExamples-Cr6HGX4h.mjs → buildExamples-Bd0uvJye.mjs} +2 -2
- package/dist/{buildExamples-Cr6HGX4h.mjs.map → buildExamples-Bd0uvJye.mjs.map} +1 -1
- package/dist/{buildXdiSyncEndpoint-CXAYh3vF.mjs → buildXdiSyncEndpoint-Cfsq16IY.mjs} +2 -2
- package/dist/{buildXdiSyncEndpoint-CXAYh3vF.mjs.map → buildXdiSyncEndpoint-Cfsq16IY.mjs.map} +1 -1
- package/dist/{bulkRestartRequests-CSBPINdi.mjs → bulkRestartRequests-CddZT7XC.mjs} +2 -2
- package/dist/{bulkRestartRequests-CSBPINdi.mjs.map → bulkRestartRequests-CddZT7XC.mjs.map} +1 -1
- package/dist/{bulkRetryEnrichers-BPWSWNuC.mjs → bulkRetryEnrichers-BYheZwIr.mjs} +2 -2
- package/dist/{bulkRetryEnrichers-BPWSWNuC.mjs.map → bulkRetryEnrichers-BYheZwIr.mjs.map} +1 -1
- package/dist/{cancelPrivacyRequests-CyT7z4fs.mjs → cancelPrivacyRequests-edkg0NB0.mjs} +2 -2
- package/dist/{cancelPrivacyRequests-CyT7z4fs.mjs.map → cancelPrivacyRequests-edkg0NB0.mjs.map} +1 -1
- package/dist/codecs-DJFlZLGT.mjs +2 -0
- package/dist/codecs-DJFlZLGT.mjs.map +1 -0
- package/dist/{collectCsvFilesOrExit-C8-Pr9Hr.mjs → collectCsvFilesOrExit-BPo8Mjy7.mjs} +1 -1
- package/dist/{collectCsvFilesOrExit-C8-Pr9Hr.mjs.map → collectCsvFilesOrExit-BPo8Mjy7.mjs.map} +1 -1
- package/dist/{collectParquetFilesOrExit-DyZISY9X.mjs → collectParquetFilesOrExit-DVS9_OSv.mjs} +1 -1
- package/dist/{collectParquetFilesOrExit-DyZISY9X.mjs.map → collectParquetFilesOrExit-DVS9_OSv.mjs.map} +1 -1
- package/dist/{command-Cqlyn4cR.mjs → command-B52YWqdY.mjs} +2 -2
- package/dist/{command-Cqlyn4cR.mjs.map → command-B52YWqdY.mjs.map} +1 -1
- package/dist/commands/admin/parquet-to-csv/worker.mjs +1 -1
- package/dist/{consentManagersToBusinessEntities-DGzryQ3W.mjs → consentManagersToBusinessEntities-rf8_xu71.mjs} +1 -1
- package/dist/{consentManagersToBusinessEntities-DGzryQ3W.mjs.map → consentManagersToBusinessEntities-rf8_xu71.mjs.map} +1 -1
- package/dist/{constants-DNF09zFX.mjs → constants-BgCEW975.mjs} +2 -2
- package/dist/{constants-DNF09zFX.mjs.map → constants-BgCEW975.mjs.map} +1 -1
- package/dist/{constants-Ch1Lt8Wa.mjs → constants-CXN-RdUM.mjs} +2 -2
- package/dist/{constants-Ch1Lt8Wa.mjs.map → constants-CXN-RdUM.mjs.map} +1 -1
- package/dist/{createExtraKeyHandler-BbM9bElu.mjs → createExtraKeyHandler-MXCneIvy.mjs} +2 -2
- package/dist/{createExtraKeyHandler-BbM9bElu.mjs.map → createExtraKeyHandler-MXCneIvy.mjs.map} +1 -1
- package/dist/{dataFlowsToDataSilos-DRGrUosf.mjs → dataFlowsToDataSilos-DRuAfwIn.mjs} +1 -1
- package/dist/{dataFlowsToDataSilos-DRGrUosf.mjs.map → dataFlowsToDataSilos-DRuAfwIn.mjs.map} +1 -1
- package/dist/{done-input-validation-uqIgnJcw.mjs → done-input-validation-DL31vk7g.mjs} +1 -1
- package/dist/{done-input-validation-uqIgnJcw.mjs.map → done-input-validation-DL31vk7g.mjs.map} +1 -1
- package/dist/{downloadPrivacyRequestFiles-CaOdAuGW.mjs → downloadPrivacyRequestFiles-BQiPh0al.mjs} +2 -2
- package/dist/{downloadPrivacyRequestFiles-CaOdAuGW.mjs.map → downloadPrivacyRequestFiles-BQiPh0al.mjs.map} +1 -1
- package/dist/{generateCrossAccountApiKeys-JCZ444Xx.mjs → generateCrossAccountApiKeys-BddQwvq5.mjs} +2 -2
- package/dist/{generateCrossAccountApiKeys-JCZ444Xx.mjs.map → generateCrossAccountApiKeys-BddQwvq5.mjs.map} +1 -1
- package/dist/{impl-m1WDTmQO.mjs → impl-7JlYzUYe.mjs} +2 -2
- package/dist/{impl-m1WDTmQO.mjs.map → impl-7JlYzUYe.mjs.map} +1 -1
- package/dist/{impl-Ce4Ua3nx.mjs → impl-7pxeoDZg.mjs} +2 -2
- package/dist/{impl-Ce4Ua3nx.mjs.map → impl-7pxeoDZg.mjs.map} +1 -1
- package/dist/{impl-BXjWAiAl2.mjs → impl-ATN49LhV2.mjs} +2 -2
- package/dist/{impl-BXjWAiAl2.mjs.map → impl-ATN49LhV2.mjs.map} +1 -1
- package/dist/{impl-DUxqEjMF.mjs → impl-B1IGYR_V.mjs} +2 -2
- package/dist/{impl-DUxqEjMF.mjs.map → impl-B1IGYR_V.mjs.map} +1 -1
- package/dist/{impl-DdjTOXMv.mjs → impl-B2eZGemA.mjs} +2 -2
- package/dist/{impl-DdjTOXMv.mjs.map → impl-B2eZGemA.mjs.map} +1 -1
- package/dist/{impl-DgyNLnJo2.mjs → impl-BDZNvvup2.mjs} +2 -2
- package/dist/{impl-DgyNLnJo2.mjs.map → impl-BDZNvvup2.mjs.map} +1 -1
- package/dist/{impl-C9Br_VrZ.mjs → impl-BQ6CEC4S.mjs} +2 -2
- package/dist/{impl-C9Br_VrZ.mjs.map → impl-BQ6CEC4S.mjs.map} +1 -1
- package/dist/{impl-iGEtfSgW2.mjs → impl-BU4p0r4b2.mjs} +2 -2
- package/dist/{impl-iGEtfSgW2.mjs.map → impl-BU4p0r4b2.mjs.map} +1 -1
- package/dist/{impl-CRH0V2nJ.mjs → impl-Ba84jyic.mjs} +2 -2
- package/dist/{impl-CRH0V2nJ.mjs.map → impl-Ba84jyic.mjs.map} +1 -1
- package/dist/impl-Bdjx2QKs.mjs +2 -0
- package/dist/{impl-Bk6lPywf.mjs.map → impl-Bdjx2QKs.mjs.map} +1 -1
- package/dist/{impl-DUS_D3PU2.mjs → impl-BfHyYFlO2.mjs} +2 -2
- package/dist/{impl-DUS_D3PU2.mjs.map → impl-BfHyYFlO2.mjs.map} +1 -1
- package/dist/{impl-C7Xp0Txd.mjs → impl-BmQR1Pae.mjs} +2 -2
- package/dist/{impl-C7Xp0Txd.mjs.map → impl-BmQR1Pae.mjs.map} +1 -1
- package/dist/{impl-BX76WSDL.mjs → impl-BnzPrDmM.mjs} +2 -2
- package/dist/{impl-BX76WSDL.mjs.map → impl-BnzPrDmM.mjs.map} +1 -1
- package/dist/{impl-Dp8o3Xpr.mjs → impl-BohgbWOH.mjs} +2 -2
- package/dist/{impl-Dp8o3Xpr.mjs.map → impl-BohgbWOH.mjs.map} +1 -1
- package/dist/{impl-BvLjryD7.mjs → impl-Bur_bNXN.mjs} +2 -2
- package/dist/{impl-BvLjryD7.mjs.map → impl-Bur_bNXN.mjs.map} +1 -1
- package/dist/{impl-NUMkBg7d.mjs → impl-BwuWn3TM.mjs} +2 -2
- package/dist/{impl-NUMkBg7d.mjs.map → impl-BwuWn3TM.mjs.map} +1 -1
- package/dist/{impl-B0AKcSoy.mjs → impl-BxQE7dL92.mjs} +2 -2
- package/dist/impl-BxQE7dL92.mjs.map +1 -0
- package/dist/{impl-BMaeLKTr.mjs → impl-C-Cn5Ngw.mjs} +2 -2
- package/dist/{impl-BMaeLKTr.mjs.map → impl-C-Cn5Ngw.mjs.map} +1 -1
- package/dist/{impl-CBIcjbfD.mjs → impl-C-KfgFsR.mjs} +2 -2
- package/dist/{impl-CBIcjbfD.mjs.map → impl-C-KfgFsR.mjs.map} +1 -1
- package/dist/{impl-BF9Ekyjn.mjs → impl-C3f_H_77.mjs} +2 -2
- package/dist/{impl-BF9Ekyjn.mjs.map → impl-C3f_H_77.mjs.map} +1 -1
- package/dist/{impl-Bbd2DHE82.mjs → impl-CAIi2Iei2.mjs} +2 -2
- package/dist/{impl-Bbd2DHE82.mjs.map → impl-CAIi2Iei2.mjs.map} +1 -1
- package/dist/{impl-iBottQJe.mjs → impl-CC--p8hz.mjs} +2 -2
- package/dist/{impl-iBottQJe.mjs.map → impl-CC--p8hz.mjs.map} +1 -1
- package/dist/{impl-CMqjJCoY2.mjs → impl-CEuchKDD2.mjs} +2 -2
- package/dist/{impl-CMqjJCoY2.mjs.map → impl-CEuchKDD2.mjs.map} +1 -1
- package/dist/{impl-Dv2AsuuH2.mjs → impl-CLHN4nhK2.mjs} +2 -2
- package/dist/{impl-Dv2AsuuH2.mjs.map → impl-CLHN4nhK2.mjs.map} +1 -1
- package/dist/{impl-BLCkTzS02.mjs → impl-CLNmmYJ_2.mjs} +2 -2
- package/dist/{impl-BLCkTzS02.mjs.map → impl-CLNmmYJ_2.mjs.map} +1 -1
- package/dist/{impl-CCMVpNez.mjs → impl-CLz1VLFS.mjs} +2 -2
- package/dist/{impl-CCMVpNez.mjs.map → impl-CLz1VLFS.mjs.map} +1 -1
- package/dist/{impl-C5QTz-js2.mjs → impl-CMeeJCDH2.mjs} +2 -2
- package/dist/{impl-C5QTz-js2.mjs.map → impl-CMeeJCDH2.mjs.map} +1 -1
- package/dist/impl-CWNUfcdj2.mjs +2 -0
- package/dist/{impl-o0RdOoiZ2.mjs.map → impl-CWNUfcdj2.mjs.map} +1 -1
- package/dist/{impl-BCEw1fsj.mjs → impl-CZG9gzzR.mjs} +2 -2
- package/dist/{impl-BCEw1fsj.mjs.map → impl-CZG9gzzR.mjs.map} +1 -1
- package/dist/{impl-5db-Jqms.mjs → impl-CZLYI9Eh.mjs} +2 -2
- package/dist/{impl-5db-Jqms.mjs.map → impl-CZLYI9Eh.mjs.map} +1 -1
- package/dist/{impl-CZWMK-kA2.mjs → impl-C_tLoG0h2.mjs} +2 -2
- package/dist/{impl-CZWMK-kA2.mjs.map → impl-C_tLoG0h2.mjs.map} +1 -1
- package/dist/{impl-CiaTPxwK.mjs → impl-Ca064LmU.mjs} +2 -2
- package/dist/{impl-CiaTPxwK.mjs.map → impl-Ca064LmU.mjs.map} +1 -1
- package/dist/{impl-D2WYmqZ0.mjs → impl-CeKxAc_j.mjs} +2 -2
- package/dist/{impl-D2WYmqZ0.mjs.map → impl-CeKxAc_j.mjs.map} +1 -1
- package/dist/{impl-D-0Z4tn72.mjs → impl-CgepDtLJ2.mjs} +2 -2
- package/dist/{impl-D-0Z4tn72.mjs.map → impl-CgepDtLJ2.mjs.map} +1 -1
- package/dist/{impl-B_4_7a-i.mjs → impl-Chska4J8.mjs} +2 -2
- package/dist/{impl-B_4_7a-i.mjs.map → impl-Chska4J8.mjs.map} +1 -1
- package/dist/{impl-DjOWgFlT.mjs → impl-Cj5NeBI22.mjs} +2 -2
- package/dist/impl-Cj5NeBI22.mjs.map +1 -0
- package/dist/{impl-Bgg6AZQS.mjs → impl-CkoQHhc8.mjs} +2 -2
- package/dist/{impl-Bgg6AZQS.mjs.map → impl-CkoQHhc8.mjs.map} +1 -1
- package/dist/impl-Cl3hf0Pd.mjs +2 -0
- package/dist/impl-Cl3hf0Pd.mjs.map +1 -0
- package/dist/{impl-rTqHhQ7X2.mjs → impl-CmlkjIP72.mjs} +2 -2
- package/dist/{impl-rTqHhQ7X2.mjs.map → impl-CmlkjIP72.mjs.map} +1 -1
- package/dist/{impl-D6rMK5Us.mjs → impl-CnrK11Gr2.mjs} +2 -2
- package/dist/impl-CnrK11Gr2.mjs.map +1 -0
- package/dist/{impl-Zjvt9J28.mjs → impl-D0-ioxpZ.mjs} +2 -2
- package/dist/{impl-Zjvt9J28.mjs.map → impl-D0-ioxpZ.mjs.map} +1 -1
- package/dist/{impl-BZbjA9x3.mjs → impl-D0fkfLxw.mjs} +2 -2
- package/dist/{impl-BZbjA9x3.mjs.map → impl-D0fkfLxw.mjs.map} +1 -1
- package/dist/{impl-X50_5E1x.mjs → impl-D1Jj-4Zn.mjs} +2 -2
- package/dist/{impl-X50_5E1x.mjs.map → impl-D1Jj-4Zn.mjs.map} +1 -1
- package/dist/{impl-2M02W7-p2.mjs → impl-D3ytHcs42.mjs} +2 -2
- package/dist/{impl-2M02W7-p2.mjs.map → impl-D3ytHcs42.mjs.map} +1 -1
- package/dist/impl-DBK5c6d0.mjs +2 -0
- package/dist/impl-DBK5c6d0.mjs.map +1 -0
- package/dist/{impl-DGQW5mVR.mjs → impl-DLWhxaMi.mjs} +2 -2
- package/dist/{impl-DGQW5mVR.mjs.map → impl-DLWhxaMi.mjs.map} +1 -1
- package/dist/{impl-BgkjL6_C.mjs → impl-DVUNwxIx.mjs} +2 -2
- package/dist/{impl-BgkjL6_C.mjs.map → impl-DVUNwxIx.mjs.map} +1 -1
- package/dist/impl-DZy7vEEM.mjs +2 -0
- package/dist/{impl-CxjrhJ-X.mjs.map → impl-DZy7vEEM.mjs.map} +1 -1
- package/dist/{impl-fiK_rZ7c.mjs → impl-DmODS2cY.mjs} +2 -2
- package/dist/{impl-fiK_rZ7c.mjs.map → impl-DmODS2cY.mjs.map} +1 -1
- package/dist/{impl-D-JYZ74k.mjs → impl-DvSnW_IA.mjs} +2 -2
- package/dist/{impl-D-JYZ74k.mjs.map → impl-DvSnW_IA.mjs.map} +1 -1
- package/dist/{impl-Be2M3iuo.mjs → impl-DxVB8-h3.mjs} +2 -2
- package/dist/{impl-Be2M3iuo.mjs.map → impl-DxVB8-h3.mjs.map} +1 -1
- package/dist/impl-FrbAsKvf2.mjs +2 -0
- package/dist/{impl-tNN3yVw72.mjs.map → impl-FrbAsKvf2.mjs.map} +1 -1
- package/dist/{impl-xNSHqJyt2.mjs → impl-GDBOa4jq2.mjs} +2 -2
- package/dist/{impl-xNSHqJyt2.mjs.map → impl-GDBOa4jq2.mjs.map} +1 -1
- package/dist/{impl-D3qD4wsS.mjs → impl-xIb20rTt.mjs} +2 -2
- package/dist/{impl-D3qD4wsS.mjs.map → impl-xIb20rTt.mjs.map} +1 -1
- package/dist/{impl-CPN-_vdL2.mjs → impl-yLtpv9IB2.mjs} +2 -2
- package/dist/{impl-CPN-_vdL2.mjs.map → impl-yLtpv9IB2.mjs.map} +1 -1
- package/dist/index.d.mts +133 -3
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/index.mjs.map +1 -1
- package/dist/{listFiles-BPx3iDV6.mjs → listFiles-C5kubvdN.mjs} +1 -1
- package/dist/{listFiles-BPx3iDV6.mjs.map → listFiles-C5kubvdN.mjs.map} +1 -1
- package/dist/{markRequestDataSiloIdsCompleted-C7HAJehS.mjs → markRequestDataSiloIdsCompleted-C-yZAoq6.mjs} +2 -2
- package/dist/{markRequestDataSiloIdsCompleted-C7HAJehS.mjs.map → markRequestDataSiloIdsCompleted-C-yZAoq6.mjs.map} +1 -1
- package/dist/{markSilentPrivacyRequests-Ctu7drQy.mjs → markSilentPrivacyRequests-Ir4ZB_lK.mjs} +2 -2
- package/dist/{markSilentPrivacyRequests-Ctu7drQy.mjs.map → markSilentPrivacyRequests-Ir4ZB_lK.mjs.map} +1 -1
- package/dist/mergeTranscendInputs-DjPe49yR.mjs +3 -0
- package/dist/mergeTranscendInputs-DjPe49yR.mjs.map +1 -0
- package/dist/{notifyPrivacyRequestsAdditionalTime-Du7706Lb.mjs → notifyPrivacyRequestsAdditionalTime-aOusRVCh.mjs} +2 -2
- package/dist/{notifyPrivacyRequestsAdditionalTime-Du7706Lb.mjs.map → notifyPrivacyRequestsAdditionalTime-aOusRVCh.mjs.map} +1 -1
- package/dist/{parquetToCsvOneFile-13GirFzy.mjs → parquetToCsvOneFile-0O4iLz0t.mjs} +1 -1
- package/dist/{parquetToCsvOneFile-13GirFzy.mjs.map → parquetToCsvOneFile-0O4iLz0t.mjs.map} +1 -1
- package/dist/parseVariablesFromString-B4TUkJRF.mjs +2 -0
- package/dist/parseVariablesFromString-B4TUkJRF.mjs.map +1 -0
- package/dist/{pullAllDatapoints-Bvv9KRR5.mjs → pullAllDatapoints-DJno8LkB.mjs} +1 -1
- package/dist/{pullAllDatapoints-Bvv9KRR5.mjs.map → pullAllDatapoints-DJno8LkB.mjs.map} +1 -1
- package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-D_TkvoKK.mjs → pullChunkedCustomSiloOutstandingIdentifiers-CZARvaM3.mjs} +2 -2
- package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-D_TkvoKK.mjs.map → pullChunkedCustomSiloOutstandingIdentifiers-CZARvaM3.mjs.map} +1 -1
- package/dist/{pullConsentManagerMetrics-CR4WwUt6.mjs → pullConsentManagerMetrics-C41UhU8u.mjs} +1 -1
- package/dist/{pullConsentManagerMetrics-CR4WwUt6.mjs.map → pullConsentManagerMetrics-C41UhU8u.mjs.map} +1 -1
- package/dist/{pullManualEnrichmentIdentifiersToCsv-C_XrnqTo.mjs → pullManualEnrichmentIdentifiersToCsv-dseAHwSI.mjs} +2 -2
- package/dist/{pullManualEnrichmentIdentifiersToCsv-C_XrnqTo.mjs.map → pullManualEnrichmentIdentifiersToCsv-dseAHwSI.mjs.map} +1 -1
- package/dist/{pushCronIdentifiersFromCsv-hcTHlWyf.mjs → pushCronIdentifiersFromCsv-CowCvbH0.mjs} +2 -2
- package/dist/{pushCronIdentifiersFromCsv-hcTHlWyf.mjs.map → pushCronIdentifiersFromCsv-CowCvbH0.mjs.map} +1 -1
- package/dist/{pushManualEnrichmentIdentifiersFromCsv-5Dulzugh.mjs → pushManualEnrichmentIdentifiersFromCsv-DkQjQ5b9.mjs} +2 -2
- package/dist/{pushManualEnrichmentIdentifiersFromCsv-5Dulzugh.mjs.map → pushManualEnrichmentIdentifiersFromCsv-DkQjQ5b9.mjs.map} +1 -1
- package/dist/{readTranscendYaml-ceJQNB1O.mjs → readTranscendYaml-bL1qFPqv.mjs} +2 -2
- package/dist/{readTranscendYaml-ceJQNB1O.mjs.map → readTranscendYaml-bL1qFPqv.mjs.map} +1 -1
- package/dist/{removeUnverifiedRequestIdentifiers-D2tdogVl.mjs → removeUnverifiedRequestIdentifiers-D9soOpMX.mjs} +2 -2
- package/dist/{removeUnverifiedRequestIdentifiers-D2tdogVl.mjs.map → removeUnverifiedRequestIdentifiers-D9soOpMX.mjs.map} +1 -1
- package/dist/{retryRequestDataSilos-pQ4DekAX.mjs → retryRequestDataSilos-g20l2uj6.mjs} +2 -2
- package/dist/{retryRequestDataSilos-pQ4DekAX.mjs.map → retryRequestDataSilos-g20l2uj6.mjs.map} +1 -1
- package/dist/{skipPreflightJobs-BrBvyKxG.mjs → skipPreflightJobs-G1tfj4Nw.mjs} +2 -2
- package/dist/{skipPreflightJobs-BrBvyKxG.mjs.map → skipPreflightJobs-G1tfj4Nw.mjs.map} +1 -1
- package/dist/{skipRequestDataSilos-DrTtHtF5.mjs → skipRequestDataSilos-Dtk8sCNd.mjs} +2 -2
- package/dist/{skipRequestDataSilos-DrTtHtF5.mjs.map → skipRequestDataSilos-Dtk8sCNd.mjs.map} +1 -1
- package/dist/{streamPrivacyRequestsToCsv-zGxmk-9Z.mjs → streamPrivacyRequestsToCsv-WHnlMy96.mjs} +2 -2
- package/dist/{streamPrivacyRequestsToCsv-zGxmk-9Z.mjs.map → streamPrivacyRequestsToCsv-WHnlMy96.mjs.map} +1 -1
- package/dist/{updateConsentManagerVersionToLatest-Dg-j1SQt.mjs → updateConsentManagerVersionToLatest-BJ2psQvP.mjs} +2 -2
- package/dist/{updateConsentManagerVersionToLatest-Dg-j1SQt.mjs.map → updateConsentManagerVersionToLatest-BJ2psQvP.mjs.map} +1 -1
- package/dist/{uploadConsents-B3lvS6hQ.mjs → uploadConsents-BsH0XF3-.mjs} +2 -2
- package/dist/{uploadConsents-B3lvS6hQ.mjs.map → uploadConsents-BsH0XF3-.mjs.map} +1 -1
- package/dist/{uploadCookiesFromCsv-DmU8R-_E.mjs → uploadCookiesFromCsv-CqRfU5k-.mjs} +2 -2
- package/dist/{uploadCookiesFromCsv-DmU8R-_E.mjs.map → uploadCookiesFromCsv-CqRfU5k-.mjs.map} +1 -1
- package/dist/{uploadDataFlowsFromCsv-Ct0rye94.mjs → uploadDataFlowsFromCsv-CgTkrlhJ.mjs} +2 -2
- package/dist/{uploadDataFlowsFromCsv-Ct0rye94.mjs.map → uploadDataFlowsFromCsv-CgTkrlhJ.mjs.map} +1 -1
- package/dist/{uploadPrivacyRequestsFromCsv-BVi19fS8.mjs → uploadPrivacyRequestsFromCsv-CaYuvzXw.mjs} +2 -2
- package/dist/{uploadPrivacyRequestsFromCsv-BVi19fS8.mjs.map → uploadPrivacyRequestsFromCsv-CaYuvzXw.mjs.map} +1 -1
- package/dist/{validateTranscendAuth-Dl8UUCAQ.mjs → validateTranscendAuth-CAO5ktnu.mjs} +2 -2
- package/dist/{validateTranscendAuth-Dl8UUCAQ.mjs.map → validateTranscendAuth-CAO5ktnu.mjs.map} +1 -1
- package/dist/{writeCsv-BMVkiMHM.mjs → writeCsv-DMw5OmWp.mjs} +1 -1
- package/dist/{writeCsv-BMVkiMHM.mjs.map → writeCsv-DMw5OmWp.mjs.map} +1 -1
- package/package.json +5 -4
- package/dist/app-DYoi_kYl.mjs.map +0 -1
- package/dist/codecs-DRBjmo_R.mjs +0 -2
- package/dist/codecs-DRBjmo_R.mjs.map +0 -1
- package/dist/impl-B0AKcSoy.mjs.map +0 -1
- package/dist/impl-Bk6lPywf.mjs +0 -2
- package/dist/impl-CxjrhJ-X.mjs +0 -2
- package/dist/impl-D6rMK5Us.mjs.map +0 -1
- package/dist/impl-DjOWgFlT.mjs.map +0 -1
- package/dist/impl-o0RdOoiZ2.mjs +0 -2
- package/dist/impl-tNN3yVw72.mjs +0 -2
- package/dist/parseVariablesFromString-B2TB86Fo.mjs +0 -3
- package/dist/parseVariablesFromString-B2TB86Fo.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -10,6 +10,7 @@ A command line interface that allows you to programatically interact with the Tr
|
|
|
10
10
|
- [Changelog](#changelog)
|
|
11
11
|
- [Installation](#installation)
|
|
12
12
|
- [transcend.yml](#transcendyml)
|
|
13
|
+
- [Deletion dependencies](#deletion-dependencies)
|
|
13
14
|
- [Usage](#usage)
|
|
14
15
|
- [`transcend request approve`](#transcend-request-approve)
|
|
15
16
|
- [`transcend request upload`](#transcend-request-upload)
|
|
@@ -39,6 +40,8 @@ A command line interface that allows you to programatically interact with the Tr
|
|
|
39
40
|
- [`transcend consent upload-data-flows-from-csv`](#transcend-consent-upload-data-flows-from-csv)
|
|
40
41
|
- [`transcend consent upload-preferences`](#transcend-consent-upload-preferences)
|
|
41
42
|
- [`transcend consent delete-preference-records`](#transcend-consent-delete-preference-records)
|
|
43
|
+
- [`transcend custom-functions push`](#transcend-custom-functions-push)
|
|
44
|
+
- [`transcend custom-functions list`](#transcend-custom-functions-list)
|
|
42
45
|
- [`transcend inventory pull`](#transcend-inventory-pull)
|
|
43
46
|
- [`transcend inventory push`](#transcend-inventory-push)
|
|
44
47
|
- [`transcend inventory scan-packages`](#transcend-inventory-scan-packages)
|
|
@@ -168,7 +171,12 @@ data-silos:
|
|
|
168
171
|
- email
|
|
169
172
|
- userId
|
|
170
173
|
deletion-dependencies:
|
|
171
|
-
-
|
|
174
|
+
- titles:
|
|
175
|
+
- Identity Service
|
|
176
|
+
- workflow: GDPR Erasure
|
|
177
|
+
titles:
|
|
178
|
+
- Identity Service
|
|
179
|
+
- CRM Warehouse
|
|
172
180
|
owners:
|
|
173
181
|
- alice@transcend.io
|
|
174
182
|
datapoints:
|
|
@@ -192,6 +200,50 @@ data-silos:
|
|
|
192
200
|
description: The email address of the user
|
|
193
201
|
```
|
|
194
202
|
|
|
203
|
+
### Deletion dependencies
|
|
204
|
+
|
|
205
|
+
When an erasure request runs, `deletion-dependencies` holds off deleting from a data silo until the data silos it lists have finished deleting.
|
|
206
|
+
|
|
207
|
+
Use a list of objects: `{ titles }` for the global configuration, and `{ workflow, titles }` or `{ workflow, reset-to-global: true }` for each per-workflow override. Mixing titles and objects in the same list is not allowed:
|
|
208
|
+
|
|
209
|
+
```yaml
|
|
210
|
+
data-silos:
|
|
211
|
+
- title: Salesforce
|
|
212
|
+
integrationName: server
|
|
213
|
+
deletion-dependencies:
|
|
214
|
+
# Global configuration
|
|
215
|
+
- titles:
|
|
216
|
+
- Identity Service
|
|
217
|
+
# Overrides the global configuration for the "GDPR Erasure" workflow only
|
|
218
|
+
- workflow: GDPR Erasure
|
|
219
|
+
titles:
|
|
220
|
+
- Identity Service
|
|
221
|
+
- CRM Warehouse
|
|
222
|
+
# Runs with no dependencies at all in the "CCPA Delete" workflow
|
|
223
|
+
- workflow: CCPA Delete
|
|
224
|
+
titles: []
|
|
225
|
+
# Removes a previously configured override so the workflow uses the global configuration again
|
|
226
|
+
- workflow: Legacy Erasure
|
|
227
|
+
reset-to-global: true
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Legacy:** a bare list of titles is still accepted for global-only configuration:
|
|
231
|
+
|
|
232
|
+
```yaml
|
|
233
|
+
data-silos:
|
|
234
|
+
- title: Salesforce
|
|
235
|
+
integrationName: server
|
|
236
|
+
deletion-dependencies:
|
|
237
|
+
- Identity Service
|
|
238
|
+
- CRM Warehouse
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
`workflow` is the internal name of an erasure workflow, which you can find under [DSR Automation -> Workflows](https://app.transcend.io/privacy-requests/workflows). Overrides are only supported on erasure workflows, and the data silo and everything it depends on must already be part of that workflow.
|
|
242
|
+
|
|
243
|
+
A workflow that is not listed keeps whatever configuration it already has, so pushing a config that only lists global dependencies never removes existing overrides. Use `reset-to-global: true` to remove one.
|
|
244
|
+
|
|
245
|
+
Omitting `deletion-dependencies` entirely clears the global configuration, matching how the rest of `transcend.yml` treats omitted fields.
|
|
246
|
+
|
|
195
247
|
## Usage
|
|
196
248
|
|
|
197
249
|
<!-- COMMANDS_START -->
|
|
@@ -2427,6 +2479,217 @@ transcend consent delete-preference-records \
|
|
|
2427
2479
|
--timestamp=2025-08-26T00:00:00.000Z
|
|
2428
2480
|
```
|
|
2429
2481
|
|
|
2482
|
+
### `transcend custom-functions push`
|
|
2483
|
+
|
|
2484
|
+
```txt
|
|
2485
|
+
USAGE
|
|
2486
|
+
transcend custom-functions push (--auth value) [--sombraAuth value] [--transcendUrl value] [--file value] [--variables value] [--dryRun] [--promote] [--force] [--skipTests] [--updateManifest] [--sombraId value]
|
|
2487
|
+
transcend custom-functions push --help
|
|
2488
|
+
|
|
2489
|
+
Sync custom function source code from your repository to Transcend.
|
|
2490
|
+
|
|
2491
|
+
Given a manifest file mapping custom function names to TypeScript source files (plus execution context like allowed hosts, timeout, and environment variables), this command:
|
|
2492
|
+
|
|
2493
|
+
1. Signs each function's code and context against your Sombra gateway's customer ingress (pass --sombraAuth when self-hosting Sombra)
|
|
2494
|
+
2. Creates the DSR integration (data silo) for any new DSR function that does not specify a data-silo-id
|
|
2495
|
+
3. Test-runs the freshly signed code with each of the entry's test payloads, when defined (unless --skipTests) — DSR functions can cover both their default (DATA_POINT) and enricher (REQUEST_ENRICHER) exports. Any failing payload rolls back any integration created in step 2
|
|
2496
|
+
4. Creates any custom functions that do not exist yet (linking new DSR functions to their integration)
|
|
2497
|
+
5. Pushes a new code revision for any function whose code or context changed
|
|
2498
|
+
6. Promotes new revisions to active (unless --promote=false)
|
|
2499
|
+
|
|
2500
|
+
Metadata-only changes (description, or name for entries pinned by id) are updated in place without signing, testing, or pushing a new code revision. Environment variable values are encrypted at sign time and cannot be diffed — pass --force to re-push when only env values changed.
|
|
2501
|
+
|
|
2502
|
+
Functions with any failing test run are rejected — every failing payload's reason and execution logs are printed, nothing is pushed for that function, and the command exits 1. Functions without test payloads push as before, with a warning. Test runs require backend support for pre-signed code JWTs on the runCustomFunction mutation.
|
|
2503
|
+
|
|
2504
|
+
Functions whose code and context are unchanged are skipped, so this command is safe to run on every CI push.
|
|
2505
|
+
|
|
2506
|
+
Function code is invoked with a single argument of shape { payload, environment } — payload is the invocation JSON (free-form for GENERAL functions, the webhook notification shape for DSR functions) and environment is the manifest entry's env block. DSR functions may also export an enricher entry point.
|
|
2507
|
+
|
|
2508
|
+
FLAGS
|
|
2509
|
+
--auth The Transcend API key. Defaults to the TRANSCEND_API_KEY environment variable when set, so --auth may be omitted if it is exported. Requires scopes: "Manage Data Map"
|
|
2510
|
+
[--sombraAuth] The Sombra internal key, use for additional authentication when self-hosting Sombra
|
|
2511
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. Defaults to the TRANSCEND_API_URL environment variable when set, so --transcendUrl may be omitted if it is exported. [default = https://api.transcend.io]
|
|
2512
|
+
[--file] Path to the custom functions manifest YAML file [default = ./transcend-functions.yml]
|
|
2513
|
+
[--variables] The variables to template into the manifest file (e.g. secret env values). Comma-separated list of key:value pairs. [default = ""]
|
|
2514
|
+
[--dryRun] When true, report what would change without pushing anything [default = false]
|
|
2515
|
+
[--promote/--noPromote] When true, promote new revisions to active. Set to false to leave new revisions as drafts for review in the dashboard. [default = true]
|
|
2516
|
+
[--force] Push a new revision even when no changes are detected. Useful when only environment variable values changed, which cannot be diffed. [default = false]
|
|
2517
|
+
[--skipTests] Skip test runs entirely, pushing functions without executing their test-payload files. Tests also do not run on --dryRun (nothing is signed on dry runs). [default = false]
|
|
2518
|
+
[--updateManifest] After pushing, write the assigned custom function IDs back into the manifest file so future pushes match by ID instead of by name. Comments and <<parameters.x>> placeholders are preserved. [default = false]
|
|
2519
|
+
[--sombraId] Default Sombra gateway for functions whose manifest entry (or existing function) does not pin one. Each function is signed against the gateway it belongs to. Defaults to the primary Sombra of the organization.
|
|
2520
|
+
-h --help Print help information and exit
|
|
2521
|
+
```
|
|
2522
|
+
|
|
2523
|
+
#### Manifest file
|
|
2524
|
+
|
|
2525
|
+
The manifest maps custom function names to source files in your repository:
|
|
2526
|
+
|
|
2527
|
+
```yaml
|
|
2528
|
+
# transcend-functions.yml
|
|
2529
|
+
functions:
|
|
2530
|
+
- name: Score Lead
|
|
2531
|
+
code: ./functions/score-lead.ts
|
|
2532
|
+
description: Scores an inbound lead against the CRM
|
|
2533
|
+
test-payload: ./test-payloads/score-lead.json
|
|
2534
|
+
allowed-hosts:
|
|
2535
|
+
- api.example.com
|
|
2536
|
+
timeout-ms: 30000
|
|
2537
|
+
env:
|
|
2538
|
+
CRM_API_KEY: <<parameters.crmApiKey>>
|
|
2539
|
+
- name: DSR Lookup
|
|
2540
|
+
code: ./functions/dsr-lookup.ts
|
|
2541
|
+
type: DSR
|
|
2542
|
+
data-silo-id: 5a4b0f9c-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
|
2543
|
+
# DSR functions have two entry points — test both on every push
|
|
2544
|
+
test-payloads:
|
|
2545
|
+
- payload: ./test-payloads/dsr-lookup-access.json
|
|
2546
|
+
payload-type: DATA_POINT
|
|
2547
|
+
- payload: ./test-payloads/dsr-lookup-enricher.json
|
|
2548
|
+
payload-type: REQUEST_ENRICHER
|
|
2549
|
+
```
|
|
2550
|
+
|
|
2551
|
+
| Field | Required | Description |
|
|
2552
|
+
| --------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
2553
|
+
| `name` | Yes | Display name of the function. Used as the sync key when no `id` is set — renaming an id-less entry creates a new function. |
|
|
2554
|
+
| `code` | Yes | Path to the TypeScript source file, relative to the manifest. |
|
|
2555
|
+
| `id` | No | Custom function ID. When set, it becomes the sync key (allowing renames and disambiguating non-unique names). Find IDs via `transcend custom-functions list`, or let `--updateManifest` fill them in after a push. |
|
|
2556
|
+
| `description` | No | Description shown in the Transcend dashboard. |
|
|
2557
|
+
| `type` | No | `GENERAL` (default) or `DSR`. |
|
|
2558
|
+
| `data-silo-id` | DSR only | The data silo (DSR integration) the DSR function is attached to. When omitted for a **new** DSR function, the integration is created automatically (see below) and `--updateManifest` writes the assigned ID back. |
|
|
2559
|
+
| `sombra-id` | No | The Sombra gateway the function belongs to. Each function's code is signed against its own gateway; when omitted, the existing function's gateway (or `--sombraId`, or the primary Sombra) is used. An entry cannot move an existing function to a different gateway. |
|
|
2560
|
+
| `sombra-auth-env` | No | Name of the environment variable holding the internal key of the function's Sombra gateway (e.g. `SOMBRA_EU_INTERNAL_KEY`). The key itself never lives in the manifest — it is read from the environment at push time. Overrides `--sombraAuth` for this entry. |
|
|
2561
|
+
| `test-payloads` | No | List of test payloads to run the function with before pushing. Each item has a `payload` (path to a JSON file, relative to the manifest) and an optional `payload-type`. Every payload runs and all must pass, or the push is rejected. DSR functions should list one payload per export they implement: `DATA_POINT` (default) invokes the default export, `REQUEST_ENRICHER` invokes the `enricher` export. |
|
|
2562
|
+
| `test-payload` | No | Shorthand for a single-item `test-payloads` list: path to one JSON payload file. Pair with `test-payload-type` for DSR functions. Mutually exclusive with `test-payloads`. |
|
|
2563
|
+
| `allowed-hosts` | No | Hosts the function may make network requests to. |
|
|
2564
|
+
| `timeout-ms` | No | Execution timeout in milliseconds. |
|
|
2565
|
+
| `allow-third-party-imports` | No | Whether the function may import third party modules. |
|
|
2566
|
+
| `env` | No | Environment variables exposed to the function. Use `<<parameters.name>>` placeholders with the `--variables` flag to avoid committing secrets. |
|
|
2567
|
+
|
|
2568
|
+
Note: environment variable values are encrypted by Sombra and cannot be diffed. When only an env value changes, use `--force` to push a new revision.
|
|
2569
|
+
|
|
2570
|
+
Functions may belong to different Sombra gateways within one manifest; the command connects to each distinct gateway as needed. `--sombraAuth` provides the default internal key; when self-hosted gateways use _different_ internal keys, set `sombra-auth-env` per entry to the name of the environment variable holding that gateway's key:
|
|
2571
|
+
|
|
2572
|
+
```yaml
|
|
2573
|
+
functions:
|
|
2574
|
+
- name: US Function
|
|
2575
|
+
code: ./functions/us.ts
|
|
2576
|
+
# primary gateway, authenticated by --sombraAuth (if self-hosted)
|
|
2577
|
+
- name: EU Function
|
|
2578
|
+
code: ./functions/eu.ts
|
|
2579
|
+
sombra-id: 8c0b1f2a-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
|
2580
|
+
sombra-auth-env: SOMBRA_EU_INTERNAL_KEY
|
|
2581
|
+
```
|
|
2582
|
+
|
|
2583
|
+
#### How manifest entries are matched to existing functions
|
|
2584
|
+
|
|
2585
|
+
Each entry is resolved against the custom functions in your organization in this order:
|
|
2586
|
+
|
|
2587
|
+
1. **By `id`, when set.** The ID is the sync key: the matched function is updated, and `name` may be changed freely (it just renames the function). If no function with that ID exists, the push **fails** for that entry — a stale or mistyped ID never silently creates a duplicate. Remove the `id` to create a new function instead.
|
|
2588
|
+
2. **By exact `name`, when no `id` is set.**
|
|
2589
|
+
- Exactly one function with that name → it is updated.
|
|
2590
|
+
- No function with that name → a new one is created.
|
|
2591
|
+
- **More than one** function with that name → the push fails with an error listing the candidate IDs. Add the right `id` to the entry to disambiguate, or grab IDs from `transcend custom-functions list`.
|
|
2592
|
+
|
|
2593
|
+
Within the manifest itself, duplicate `id`s are always rejected, and duplicate `name`s are only allowed when every entry sharing the name has an `id`.
|
|
2594
|
+
|
|
2595
|
+
Because ID matching is strictly safer, prefer pinning IDs once functions exist: run `transcend custom-functions push --updateManifest` after the first push and the assigned IDs are written back into the manifest automatically (comments and `<<parameters.x>>` placeholders are preserved). For DSR functions, the assigned `data-silo-id` is written back the same way.
|
|
2596
|
+
|
|
2597
|
+
#### New DSR functions: the integration is created automatically
|
|
2598
|
+
|
|
2599
|
+
A **new** DSR entry (no `id`, no matching function by name) that omits `data-silo-id` gets its DSR integration created as part of the push:
|
|
2600
|
+
|
|
2601
|
+
1. A `customFunction`-catalog data silo is created, titled after the function, on the entry's Sombra gateway (`sombra-id`, else `--sombraId`, else the organization's primary Sombra). It starts `NOT_CONFIGURED` with nothing attached.
|
|
2602
|
+
2. The signed code is test-run against that silo (when test payloads are set) — DSR test payloads always get `extras.dataSilo` injected from the resolved silo, so payload files never need to hardcode silo IDs.
|
|
2603
|
+
3. On a passing test the custom function is created and linked to the silo (which becomes `Connected`). On a failing test the silo is **rolled back** (deleted) and the function is rejected.
|
|
2604
|
+
4. With `--updateManifest`, both the custom function `id` and the `data-silo-id` are written back into the manifest.
|
|
2605
|
+
|
|
2606
|
+
DSR entries that already pin a `data-silo-id` behave as before — the integration must exist and the function is attached to it.
|
|
2607
|
+
|
|
2608
|
+
#### Test-before-promote
|
|
2609
|
+
|
|
2610
|
+
Entries with test payloads (`test-payloads`, or the single-payload `test-payload` shorthand) are tested before anything is pushed:
|
|
2611
|
+
|
|
2612
|
+
1. The code and context are signed against the function's Sombra gateway.
|
|
2613
|
+
2. The signed code is executed as a test run with each payload JSON (via the `runCustomFunction` mutation — nothing is persisted). GENERAL functions run on the function's gateway; DSR functions run on the gateway of the function's data silo — `extras.dataSilo` is injected into every payload automatically from the entry's resolved silo, so payload files never need to hardcode silo IDs.
|
|
2614
|
+
3. **All payloads pass** (no error, exit code ≤ 0): the revision is pushed and promoted as usual.
|
|
2615
|
+
4. **Any payload fails**: the function is rejected — every failing payload's reason and logs are printed (all payloads run, so one push reports every failing case), nothing is pushed for that function, and the command exits 1.
|
|
2616
|
+
|
|
2617
|
+
DSR functions have two entry points — the default export (`DATA_POINT`) and the `enricher` export (`REQUEST_ENRICHER`) — so list one payload per export the function implements; a warning is printed when a DSR entry only covers one. Entries without test payloads push as before, with a warning. `--skipTests` bypasses testing entirely, and `--dryRun` never tests (nothing is signed on dry runs). Test runs require backend support for pre-signed code JWTs on the `runCustomFunction` mutation; on older backends the push fails with an upgrade hint — use `--skipTests` to bypass.
|
|
2618
|
+
|
|
2619
|
+
#### Examples
|
|
2620
|
+
|
|
2621
|
+
**Push all custom functions defined in ./transcend-functions.yml**
|
|
2622
|
+
|
|
2623
|
+
```sh
|
|
2624
|
+
transcend custom-functions push --auth="$TRANSCEND_API_KEY"
|
|
2625
|
+
```
|
|
2626
|
+
|
|
2627
|
+
**Preview changes without pushing anything**
|
|
2628
|
+
|
|
2629
|
+
```sh
|
|
2630
|
+
transcend custom-functions push --auth="$TRANSCEND_API_KEY" --dryRun
|
|
2631
|
+
```
|
|
2632
|
+
|
|
2633
|
+
**Use a manifest at a custom path with templated secrets**
|
|
2634
|
+
|
|
2635
|
+
```sh
|
|
2636
|
+
transcend custom-functions push \
|
|
2637
|
+
--auth="$TRANSCEND_API_KEY" \
|
|
2638
|
+
--file=./transcend/functions.yml \
|
|
2639
|
+
--variables=crmApiKey:example-secret-value
|
|
2640
|
+
```
|
|
2641
|
+
|
|
2642
|
+
**Push new revisions as drafts for review instead of promoting them**
|
|
2643
|
+
|
|
2644
|
+
```sh
|
|
2645
|
+
transcend custom-functions push --auth="$TRANSCEND_API_KEY" --promote=false
|
|
2646
|
+
```
|
|
2647
|
+
|
|
2648
|
+
**Record the assigned custom function IDs in the manifest so future pushes match by ID**
|
|
2649
|
+
|
|
2650
|
+
```sh
|
|
2651
|
+
transcend custom-functions push --auth="$TRANSCEND_API_KEY" --updateManifest
|
|
2652
|
+
```
|
|
2653
|
+
|
|
2654
|
+
**Force a new revision even when no code changes are detected (e.g. env value rotation)**
|
|
2655
|
+
|
|
2656
|
+
```sh
|
|
2657
|
+
transcend custom-functions push --auth="$TRANSCEND_API_KEY" --force
|
|
2658
|
+
```
|
|
2659
|
+
|
|
2660
|
+
**Push without running test payloads**
|
|
2661
|
+
|
|
2662
|
+
```sh
|
|
2663
|
+
transcend custom-functions push --auth="$TRANSCEND_API_KEY" --skipTests
|
|
2664
|
+
```
|
|
2665
|
+
|
|
2666
|
+
**With Sombra authentication, needed when self-hosting Sombra**
|
|
2667
|
+
|
|
2668
|
+
```sh
|
|
2669
|
+
transcend custom-functions push --auth="$TRANSCEND_API_KEY" --sombraAuth="$SOMBRA_INTERNAL_KEY"
|
|
2670
|
+
```
|
|
2671
|
+
|
|
2672
|
+
**Specifying the backend URL, needed for US hosted backend infrastructure**
|
|
2673
|
+
|
|
2674
|
+
```sh
|
|
2675
|
+
transcend custom-functions push --auth="$TRANSCEND_API_KEY" --transcendUrl=https://api.us.transcend.io
|
|
2676
|
+
```
|
|
2677
|
+
|
|
2678
|
+
### `transcend custom-functions list`
|
|
2679
|
+
|
|
2680
|
+
```txt
|
|
2681
|
+
USAGE
|
|
2682
|
+
transcend custom-functions list (--auth value) [--transcendUrl value]
|
|
2683
|
+
transcend custom-functions list --help
|
|
2684
|
+
|
|
2685
|
+
List all custom functions in the organization along with their lifecycle state, active version, and any pending draft version.
|
|
2686
|
+
|
|
2687
|
+
FLAGS
|
|
2688
|
+
--auth The Transcend API key. Defaults to the TRANSCEND_API_KEY environment variable when set, so --auth may be omitted if it is exported. Requires scopes: "View Data Map"
|
|
2689
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. Defaults to the TRANSCEND_API_URL environment variable when set, so --transcendUrl may be omitted if it is exported. [default = https://api.transcend.io]
|
|
2690
|
+
-h --help Print help information and exit
|
|
2691
|
+
```
|
|
2692
|
+
|
|
2430
2693
|
### `transcend inventory pull`
|
|
2431
2694
|
|
|
2432
2695
|
```txt
|
|
@@ -3342,7 +3605,7 @@ transcend inventory consent-managers-to-business-entities \
|
|
|
3342
3605
|
|
|
3343
3606
|
```txt
|
|
3344
3607
|
USAGE
|
|
3345
|
-
transcend admin generate-api-keys (--email value) (--password value) (--apiKeyTitle value) (--file value) (--scopes View Only|Full Admin|Rotate Hosted Sombra keys|Manage Global Attributes|Manage Access Controls|Manage Billing|Manage SSO|Manage API Keys|Manage Organization Information|Manage Email Domains|Manage Data Sub Categories|View Customer Data in Privacy Requests|View Customer Data in Data Mapping|View API Keys|View Audit Events|View SSO|View Scopes|View All Action Items|Manage All Action Items|View Employees|View Email Domains|View Global Attributes|View Legal Hold|Manage Legal Holds|Manage Request Security|Manage Request Compilation|Manage Assigned Privacy Requests|Manage Assigned Bulk Respond|Submit New Data Subject Request|Manage Data Subject Request Settings|Manage Email Templates|Manage Request Identity Verification|Publish Privacy Center|Manage Data Map|Manage Privacy Center Layout|Manage Privacy Center Policies|View Privacy Center Policies|View Policy|Manage Policy|Activate Policy|Manage Internationalization Messages|View Internationalization Messages|Request Approval and Communication|View Data Subject Request Settings|View the Request Compilation|View Identity Verification Settings|View Incoming Requests|View Assigned Privacy Requests|View Privacy Center Layout|View Email Templates|Connect Data Silos|Manage Data Inventory|Manage Assigned Data Inventory|Manage Assigned Integrations|View Data Map|View Assigned Integrations|View Assigned Data Inventory|View Data Inventory|Manage Consent Manager|Manage Consent Manager Developer Settings|Manage Consent Manager Display Settings|Deploy Test Consent Manager|Deploy Consent Manager|Manage Assigned Consent Manager|Manage Data Flows|View Data Flows|View Assigned Consent Manager|View Consent Manager|View Assessments|Manage Assessments|View Assigned Assessments|Manage Assigned Assessments|View Prompts|Manage Prompts|View Prompt Runs|Manage Prompt Runs|View Code Scanning|Manage Code Scanning|Execute Prompt|View Auditor Runs|Manage Auditor Runs and Schedules|Execute Auditor|Approve Prompts|Manage Action Item Collections|View Managed Consent Database Admin API|Modify User Stored Preferences|Manage Preference Store Settings|View Preference Store Settings|LLM Log Transfer|View Workflows|Manage Workflows|View Data Sub Categories|Generate Preference Access Tokens|View Rules|Manage Rules|View Assigned Rules|Manage Assigned Rules|Execute Rules) [--deleteExistingApiKey] [--createNewApiKey] [--parentOrganizationId value] [--transcendUrl value]
|
|
3608
|
+
transcend admin generate-api-keys (--email value) (--password value) (--apiKeyTitle value) (--file value) (--scopes View Only|Full Admin|Rotate Hosted Sombra keys|Manage Global Attributes|Manage Access Controls|Manage Billing|Manage SSO|Manage API Keys|Manage Organization Information|Manage Email Domains|Manage Data Sub Categories|View Customer Data in Privacy Requests|View Customer Data in Data Mapping|View API Keys|View Audit Events|View SSO|View Scopes|View All Action Items|Manage All Action Items|View Employees|View Email Domains|View Global Attributes|View Legal Hold|Manage Legal Holds|Manage Request Security|Manage Request Compilation|Manage Assigned Privacy Requests|Manage Assigned Bulk Respond|Submit New Data Subject Request|Manage Data Subject Request Settings|Manage Email Templates|Manage Request Identity Verification|Publish Privacy Center|Manage Data Map|Manage Privacy Center Layout|Manage Privacy Center Policies|View Privacy Center Policies|View Policy|Manage Policy|Activate Policy|Manage Internationalization Messages|View Internationalization Messages|Request Approval and Communication|View Data Subject Request Settings|View the Request Compilation|View Identity Verification Settings|View Incoming Requests|View Assigned Privacy Requests|View Privacy Center Layout|View Email Templates|Connect Data Silos|Manage Data Inventory|Manage Assigned Data Inventory|Manage Assigned Integrations|View Data Map|View Assigned Integrations|View Assigned Data Inventory|View Data Inventory|Manage Consent Manager|Manage Consent Manager Developer Settings|Manage Consent Manager Display Settings|Deploy Test Consent Manager|Deploy Consent Manager|Manage Assigned Consent Manager|Manage Data Flows|View Data Flows|View Assigned Consent Manager|View Consent Manager|View Assessments|Manage Assessments|View Assigned Assessments|Manage Assigned Assessments|View Prompts|Manage Prompts|View Prompt Runs|Manage Prompt Runs|View Code Scanning|Manage Code Scanning|Execute Prompt|View Auditor Runs|Manage Auditor Runs and Schedules|Execute Auditor|Approve Prompts|Manage Action Item Collections|View Managed Consent Database Admin API|Modify User Stored Preferences|Manage Preference Store Settings|View Preference Store Settings|LLM Log Transfer|View Workflows|Manage Workflows|View Data Sub Categories|Generate Preference Access Tokens|View Rules|Manage Rules|View Assigned Rules|Manage Assigned Rules|Execute Rules|View Custom Functions|Manage Custom Functions) [--deleteExistingApiKey] [--createNewApiKey] [--parentOrganizationId value] [--transcendUrl value]
|
|
3346
3609
|
transcend admin generate-api-keys --help
|
|
3347
3610
|
|
|
3348
3611
|
This command allows for creating API keys across multiple Transcend instances. This is useful for customers that are managing many Transcend instances and need to regularly create, cycle or delete API keys across all of their instances.
|
|
@@ -3356,7 +3619,7 @@ FLAGS
|
|
|
3356
3619
|
--password The password for your account login
|
|
3357
3620
|
--apiKeyTitle The title of the API key being generated or destroyed
|
|
3358
3621
|
--file The file where API keys should be written to
|
|
3359
|
-
--scopes The list of scopes that should be given to the API key [View Only|Full Admin|Rotate Hosted Sombra keys|Manage Global Attributes|Manage Access Controls|Manage Billing|Manage SSO|Manage API Keys|Manage Organization Information|Manage Email Domains|Manage Data Sub Categories|View Customer Data in Privacy Requests|View Customer Data in Data Mapping|View API Keys|View Audit Events|View SSO|View Scopes|View All Action Items|Manage All Action Items|View Employees|View Email Domains|View Global Attributes|View Legal Hold|Manage Legal Holds|Manage Request Security|Manage Request Compilation|Manage Assigned Privacy Requests|Manage Assigned Bulk Respond|Submit New Data Subject Request|Manage Data Subject Request Settings|Manage Email Templates|Manage Request Identity Verification|Publish Privacy Center|Manage Data Map|Manage Privacy Center Layout|Manage Privacy Center Policies|View Privacy Center Policies|View Policy|Manage Policy|Activate Policy|Manage Internationalization Messages|View Internationalization Messages|Request Approval and Communication|View Data Subject Request Settings|View the Request Compilation|View Identity Verification Settings|View Incoming Requests|View Assigned Privacy Requests|View Privacy Center Layout|View Email Templates|Connect Data Silos|Manage Data Inventory|Manage Assigned Data Inventory|Manage Assigned Integrations|View Data Map|View Assigned Integrations|View Assigned Data Inventory|View Data Inventory|Manage Consent Manager|Manage Consent Manager Developer Settings|Manage Consent Manager Display Settings|Deploy Test Consent Manager|Deploy Consent Manager|Manage Assigned Consent Manager|Manage Data Flows|View Data Flows|View Assigned Consent Manager|View Consent Manager|View Assessments|Manage Assessments|View Assigned Assessments|Manage Assigned Assessments|View Prompts|Manage Prompts|View Prompt Runs|Manage Prompt Runs|View Code Scanning|Manage Code Scanning|Execute Prompt|View Auditor Runs|Manage Auditor Runs and Schedules|Execute Auditor|Approve Prompts|Manage Action Item Collections|View Managed Consent Database Admin API|Modify User Stored Preferences|Manage Preference Store Settings|View Preference Store Settings|LLM Log Transfer|View Workflows|Manage Workflows|View Data Sub Categories|Generate Preference Access Tokens|View Rules|Manage Rules|View Assigned Rules|Manage Assigned Rules|Execute Rules, separator = ,]
|
|
3622
|
+
--scopes The list of scopes that should be given to the API key [View Only|Full Admin|Rotate Hosted Sombra keys|Manage Global Attributes|Manage Access Controls|Manage Billing|Manage SSO|Manage API Keys|Manage Organization Information|Manage Email Domains|Manage Data Sub Categories|View Customer Data in Privacy Requests|View Customer Data in Data Mapping|View API Keys|View Audit Events|View SSO|View Scopes|View All Action Items|Manage All Action Items|View Employees|View Email Domains|View Global Attributes|View Legal Hold|Manage Legal Holds|Manage Request Security|Manage Request Compilation|Manage Assigned Privacy Requests|Manage Assigned Bulk Respond|Submit New Data Subject Request|Manage Data Subject Request Settings|Manage Email Templates|Manage Request Identity Verification|Publish Privacy Center|Manage Data Map|Manage Privacy Center Layout|Manage Privacy Center Policies|View Privacy Center Policies|View Policy|Manage Policy|Activate Policy|Manage Internationalization Messages|View Internationalization Messages|Request Approval and Communication|View Data Subject Request Settings|View the Request Compilation|View Identity Verification Settings|View Incoming Requests|View Assigned Privacy Requests|View Privacy Center Layout|View Email Templates|Connect Data Silos|Manage Data Inventory|Manage Assigned Data Inventory|Manage Assigned Integrations|View Data Map|View Assigned Integrations|View Assigned Data Inventory|View Data Inventory|Manage Consent Manager|Manage Consent Manager Developer Settings|Manage Consent Manager Display Settings|Deploy Test Consent Manager|Deploy Consent Manager|Manage Assigned Consent Manager|Manage Data Flows|View Data Flows|View Assigned Consent Manager|View Consent Manager|View Assessments|Manage Assessments|View Assigned Assessments|Manage Assigned Assessments|View Prompts|Manage Prompts|View Prompt Runs|Manage Prompt Runs|View Code Scanning|Manage Code Scanning|Execute Prompt|View Auditor Runs|Manage Auditor Runs and Schedules|Execute Auditor|Approve Prompts|Manage Action Item Collections|View Managed Consent Database Admin API|Modify User Stored Preferences|Manage Preference Store Settings|View Preference Store Settings|LLM Log Transfer|View Workflows|Manage Workflows|View Data Sub Categories|Generate Preference Access Tokens|View Rules|Manage Rules|View Assigned Rules|Manage Assigned Rules|Execute Rules|View Custom Functions|Manage Custom Functions, separator = ,]
|
|
3360
3623
|
[--deleteExistingApiKey/--noDeleteExistingApiKey] When true, if an API key exists with the specified apiKeyTitle, the existing API key is deleted [default = true]
|
|
3361
3624
|
[--createNewApiKey/--noCreateNewApiKey] When true, new API keys will be created. Set to false if you simply want to delete all API keys with a title [default = true]
|
|
3362
3625
|
[--parentOrganizationId] Filter for only a specific organization by ID, returning all child accounts associated with that organization
|