@transcend-io/cli 10.21.0 → 10.22.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/README.md +88 -76
- package/dist/{app-D29TqW_A.mjs → app-k7HdVTDP.mjs} +18 -18
- package/dist/{app-D29TqW_A.mjs.map → app-k7HdVTDP.mjs.map} +1 -1
- package/dist/{approvePrivacyRequests-BjjUp-hw.mjs → approvePrivacyRequests-ChRsPJuq.mjs} +2 -2
- package/dist/{approvePrivacyRequests-BjjUp-hw.mjs.map → approvePrivacyRequests-ChRsPJuq.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-2xaj8FoK.mjs → buildExamples-DVJjTfkL.mjs} +2 -2
- package/dist/{buildExamples-2xaj8FoK.mjs.map → buildExamples-DVJjTfkL.mjs.map} +1 -1
- package/dist/{buildXdiSyncEndpoint-ozQ3T4Hj.mjs → buildXdiSyncEndpoint-CsT_eIC0.mjs} +2 -2
- package/dist/{buildXdiSyncEndpoint-ozQ3T4Hj.mjs.map → buildXdiSyncEndpoint-CsT_eIC0.mjs.map} +1 -1
- package/dist/{bulkRestartRequests-c29oH5GC.mjs → bulkRestartRequests-D_rkhYHP.mjs} +2 -2
- package/dist/{bulkRestartRequests-c29oH5GC.mjs.map → bulkRestartRequests-D_rkhYHP.mjs.map} +1 -1
- package/dist/{bulkRetryEnrichers-i3oFHWx-.mjs → bulkRetryEnrichers-B7Y2L-9j.mjs} +2 -2
- package/dist/{bulkRetryEnrichers-i3oFHWx-.mjs.map → bulkRetryEnrichers-B7Y2L-9j.mjs.map} +1 -1
- package/dist/{cancelPrivacyRequests-B4IzmRWC.mjs → cancelPrivacyRequests-DQ0FGpFC.mjs} +2 -2
- package/dist/{cancelPrivacyRequests-B4IzmRWC.mjs.map → cancelPrivacyRequests-DQ0FGpFC.mjs.map} +1 -1
- package/dist/codecs-_SjJhduF.mjs +2 -0
- package/dist/codecs-_SjJhduF.mjs.map +1 -0
- package/dist/{command-DOo9vOei.mjs → command-Br4qaCbe.mjs} +2 -2
- package/dist/{command-DOo9vOei.mjs.map → command-Br4qaCbe.mjs.map} +1 -1
- package/dist/constants-CL4uZK_i.mjs +2 -0
- package/dist/constants-CL4uZK_i.mjs.map +1 -0
- package/dist/{createExtraKeyHandler-JtWqC00U.mjs → createExtraKeyHandler-Dmf3seLV.mjs} +2 -2
- package/dist/{createExtraKeyHandler-JtWqC00U.mjs.map → createExtraKeyHandler-Dmf3seLV.mjs.map} +1 -1
- package/dist/{downloadPrivacyRequestFiles-CIxwRWnH.mjs → downloadPrivacyRequestFiles-DZWJnqvZ.mjs} +2 -2
- package/dist/{downloadPrivacyRequestFiles-CIxwRWnH.mjs.map → downloadPrivacyRequestFiles-DZWJnqvZ.mjs.map} +1 -1
- package/dist/{enums-D53y231X.mjs → enums-BymyVyqr.mjs} +2 -2
- package/dist/enums-BymyVyqr.mjs.map +1 -0
- package/dist/{generateCrossAccountApiKeys-qw686-vX.mjs → generateCrossAccountApiKeys-BB_mGI0h.mjs} +2 -2
- package/dist/{generateCrossAccountApiKeys-qw686-vX.mjs.map → generateCrossAccountApiKeys-BB_mGI0h.mjs.map} +1 -1
- package/dist/{impl-C5jWisyQ.mjs → impl-B1-zg8Ki.mjs} +2 -2
- package/dist/{impl-C5jWisyQ.mjs.map → impl-B1-zg8Ki.mjs.map} +1 -1
- package/dist/{impl-ChV4laNE.mjs → impl-BFxef_1i.mjs} +2 -2
- package/dist/{impl-ChV4laNE.mjs.map → impl-BFxef_1i.mjs.map} +1 -1
- package/dist/{impl-C6wTDCex2.mjs → impl-Bf0GGQao2.mjs} +2 -2
- package/dist/{impl-C6wTDCex2.mjs.map → impl-Bf0GGQao2.mjs.map} +1 -1
- package/dist/{impl-CrpWDfKW.mjs → impl-BvoC7ufZ.mjs} +2 -2
- package/dist/{impl-CrpWDfKW.mjs.map → impl-BvoC7ufZ.mjs.map} +1 -1
- package/dist/{impl-u1q93_tK.mjs → impl-By84G6p2.mjs} +2 -2
- package/dist/{impl-u1q93_tK.mjs.map → impl-By84G6p2.mjs.map} +1 -1
- package/dist/{impl-BCTorB3_.mjs → impl-C515J-j7.mjs} +2 -2
- package/dist/{impl-BCTorB3_.mjs.map → impl-C515J-j7.mjs.map} +1 -1
- package/dist/{impl-DNwwq1Nh.mjs → impl-C66R8UJ9.mjs} +2 -2
- package/dist/{impl-DNwwq1Nh.mjs.map → impl-C66R8UJ9.mjs.map} +1 -1
- package/dist/{impl-CW6TFAzt2.mjs → impl-CDF30pp32.mjs} +2 -2
- package/dist/{impl-CW6TFAzt2.mjs.map → impl-CDF30pp32.mjs.map} +1 -1
- package/dist/{impl-CZfS7Ydy.mjs → impl-CF8ThZ09.mjs} +2 -2
- package/dist/{impl-CZfS7Ydy.mjs.map → impl-CF8ThZ09.mjs.map} +1 -1
- package/dist/{impl-BDPtNJLp.mjs → impl-CHhCpncv.mjs} +2 -2
- package/dist/{impl-BDPtNJLp.mjs.map → impl-CHhCpncv.mjs.map} +1 -1
- package/dist/{impl-BcHxVhtN.mjs → impl-CKFy8off.mjs} +2 -2
- package/dist/{impl-BcHxVhtN.mjs.map → impl-CKFy8off.mjs.map} +1 -1
- package/dist/{impl-Dl7w91bL.mjs → impl-CNqAOFaW.mjs} +2 -2
- package/dist/{impl-Dl7w91bL.mjs.map → impl-CNqAOFaW.mjs.map} +1 -1
- package/dist/{impl-DE9OHpyc.mjs → impl-CWx3bY5-.mjs} +2 -2
- package/dist/{impl-DE9OHpyc.mjs.map → impl-CWx3bY5-.mjs.map} +1 -1
- package/dist/{impl-DMQEmlVb.mjs → impl-CaLW2sGU.mjs} +2 -2
- package/dist/{impl-DMQEmlVb.mjs.map → impl-CaLW2sGU.mjs.map} +1 -1
- package/dist/{impl-BHibMDBv.mjs → impl-CbqDzZgA.mjs} +2 -2
- package/dist/{impl-BHibMDBv.mjs.map → impl-CbqDzZgA.mjs.map} +1 -1
- package/dist/{impl-CWd25f8p.mjs → impl-ChIESsn-.mjs} +2 -2
- package/dist/{impl-CWd25f8p.mjs.map → impl-ChIESsn-.mjs.map} +1 -1
- package/dist/{impl-DBV_D1ii.mjs → impl-CiEmNCR6.mjs} +2 -2
- package/dist/{impl-DBV_D1ii.mjs.map → impl-CiEmNCR6.mjs.map} +1 -1
- package/dist/{impl-DWvfhn-62.mjs → impl-CkcUmrRl2.mjs} +2 -2
- package/dist/{impl-DWvfhn-62.mjs.map → impl-CkcUmrRl2.mjs.map} +1 -1
- package/dist/{impl-v1WWFSFZ.mjs → impl-D18E8wLJ.mjs} +2 -2
- package/dist/{impl-v1WWFSFZ.mjs.map → impl-D18E8wLJ.mjs.map} +1 -1
- package/dist/{impl-DUI3qGsC2.mjs → impl-D1L6r4sY2.mjs} +2 -2
- package/dist/{impl-DUI3qGsC2.mjs.map → impl-D1L6r4sY2.mjs.map} +1 -1
- package/dist/{impl-CK9A4BvD.mjs → impl-D4DM4YMs.mjs} +2 -2
- package/dist/{impl-CK9A4BvD.mjs.map → impl-D4DM4YMs.mjs.map} +1 -1
- package/dist/{impl-zECFyZrU.mjs → impl-DLQT5on0.mjs} +2 -2
- package/dist/{impl-zECFyZrU.mjs.map → impl-DLQT5on0.mjs.map} +1 -1
- package/dist/{impl-DF374hZ52.mjs → impl-DW8CteEk2.mjs} +2 -2
- package/dist/{impl-DF374hZ52.mjs.map → impl-DW8CteEk2.mjs.map} +1 -1
- package/dist/{impl-D2LX8clq2.mjs → impl-DaABRwZH2.mjs} +2 -2
- package/dist/{impl-D2LX8clq2.mjs.map → impl-DaABRwZH2.mjs.map} +1 -1
- package/dist/{impl-CwOPj70B.mjs → impl-DczWZLXU.mjs} +2 -2
- package/dist/{impl-CwOPj70B.mjs.map → impl-DczWZLXU.mjs.map} +1 -1
- package/dist/{impl-CiDSQd1n.mjs → impl-Dlq4QBj3.mjs} +2 -2
- package/dist/{impl-CiDSQd1n.mjs.map → impl-Dlq4QBj3.mjs.map} +1 -1
- package/dist/{impl-JxprJNni.mjs → impl-DopV2WpH.mjs} +2 -2
- package/dist/{impl-JxprJNni.mjs.map → impl-DopV2WpH.mjs.map} +1 -1
- package/dist/{impl-BaDKnY6X.mjs → impl-DwotW3m_.mjs} +2 -2
- package/dist/{impl-BaDKnY6X.mjs.map → impl-DwotW3m_.mjs.map} +1 -1
- package/dist/{impl-hY30kWpN.mjs → impl-DysGumGV.mjs} +2 -2
- package/dist/{impl-hY30kWpN.mjs.map → impl-DysGumGV.mjs.map} +1 -1
- package/dist/{impl-D2KU3B7g.mjs → impl-HrUgz4tG.mjs} +2 -2
- package/dist/{impl-D2KU3B7g.mjs.map → impl-HrUgz4tG.mjs.map} +1 -1
- package/dist/{impl-CrVGqakz2.mjs → impl-L9xPwNwz2.mjs} +2 -2
- package/dist/{impl-CrVGqakz2.mjs.map → impl-L9xPwNwz2.mjs.map} +1 -1
- package/dist/{impl-DI5BZJRL.mjs → impl-c0YrAaxs.mjs} +2 -2
- package/dist/{impl-DI5BZJRL.mjs.map → impl-c0YrAaxs.mjs.map} +1 -1
- package/dist/{impl-DH049g3W.mjs → impl-h_KDIeo4.mjs} +2 -2
- package/dist/{impl-DH049g3W.mjs.map → impl-h_KDIeo4.mjs.map} +1 -1
- package/dist/{impl-CSMzpKv5.mjs → impl-jNQ05KT3.mjs} +2 -2
- package/dist/{impl-CSMzpKv5.mjs.map → impl-jNQ05KT3.mjs.map} +1 -1
- package/dist/{impl-DFZBjY6J2.mjs → impl-lJzO6Szh2.mjs} +2 -2
- package/dist/{impl-DFZBjY6J2.mjs.map → impl-lJzO6Szh2.mjs.map} +1 -1
- package/dist/{impl-Bhd63d2E.mjs → impl-nePMEJkH.mjs} +2 -2
- package/dist/{impl-Bhd63d2E.mjs.map → impl-nePMEJkH.mjs.map} +1 -1
- package/dist/{impl-2wy1Bi1C2.mjs → impl-rbZRyuXb2.mjs} +2 -2
- package/dist/{impl-2wy1Bi1C2.mjs.map → impl-rbZRyuXb2.mjs.map} +1 -1
- package/dist/{impl-BV9t4j6E.mjs → impl-spb5yfh5.mjs} +2 -2
- package/dist/{impl-BV9t4j6E.mjs.map → impl-spb5yfh5.mjs.map} +1 -1
- package/dist/{impl-B4MaLZAd2.mjs → impl-vUFXZXCy2.mjs} +2 -2
- package/dist/{impl-B4MaLZAd2.mjs.map → impl-vUFXZXCy2.mjs.map} +1 -1
- package/dist/index.d.mts +137 -9
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/index.mjs.map +1 -1
- package/dist/{markRequestDataSiloIdsCompleted-C7R1YENn.mjs → markRequestDataSiloIdsCompleted-rPtNCOCl.mjs} +2 -2
- package/dist/{markRequestDataSiloIdsCompleted-C7R1YENn.mjs.map → markRequestDataSiloIdsCompleted-rPtNCOCl.mjs.map} +1 -1
- package/dist/{markSilentPrivacyRequests-D9swsyuo.mjs → markSilentPrivacyRequests-L6fxUodG.mjs} +2 -2
- package/dist/{markSilentPrivacyRequests-D9swsyuo.mjs.map → markSilentPrivacyRequests-L6fxUodG.mjs.map} +1 -1
- package/dist/{notifyPrivacyRequestsAdditionalTime-CpDSAOaZ.mjs → notifyPrivacyRequestsAdditionalTime-DjzVbnND.mjs} +2 -2
- package/dist/{notifyPrivacyRequestsAdditionalTime-CpDSAOaZ.mjs.map → notifyPrivacyRequestsAdditionalTime-DjzVbnND.mjs.map} +1 -1
- package/dist/parseVariablesFromString-CfXnITrG.mjs +3 -0
- package/dist/parseVariablesFromString-CfXnITrG.mjs.map +1 -0
- package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-nJdP5Lhb.mjs → pullChunkedCustomSiloOutstandingIdentifiers-qZCnzDXQ.mjs} +2 -2
- package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-nJdP5Lhb.mjs.map → pullChunkedCustomSiloOutstandingIdentifiers-qZCnzDXQ.mjs.map} +1 -1
- package/dist/{pullManualEnrichmentIdentifiersToCsv-CvS65fmI.mjs → pullManualEnrichmentIdentifiersToCsv-Bg1P8r4K.mjs} +2 -2
- package/dist/{pullManualEnrichmentIdentifiersToCsv-CvS65fmI.mjs.map → pullManualEnrichmentIdentifiersToCsv-Bg1P8r4K.mjs.map} +1 -1
- package/dist/pullTranscendConfiguration-BPkc-b3x.mjs +58 -0
- package/dist/pullTranscendConfiguration-BPkc-b3x.mjs.map +1 -0
- package/dist/{pushCronIdentifiersFromCsv-BEPg03aD.mjs → pushCronIdentifiersFromCsv-BJ_6eT7L.mjs} +2 -2
- package/dist/{pushCronIdentifiersFromCsv-BEPg03aD.mjs.map → pushCronIdentifiersFromCsv-BJ_6eT7L.mjs.map} +1 -1
- package/dist/{pushManualEnrichmentIdentifiersFromCsv-B0jKrYOZ.mjs → pushManualEnrichmentIdentifiersFromCsv-raZJbDoH.mjs} +2 -2
- package/dist/{pushManualEnrichmentIdentifiersFromCsv-B0jKrYOZ.mjs.map → pushManualEnrichmentIdentifiersFromCsv-raZJbDoH.mjs.map} +1 -1
- package/dist/{readTranscendYaml-D-k8P4v1.mjs → readTranscendYaml-B1FLjET0.mjs} +2 -2
- package/dist/{readTranscendYaml-D-k8P4v1.mjs.map → readTranscendYaml-B1FLjET0.mjs.map} +1 -1
- package/dist/{removeUnverifiedRequestIdentifiers-BIchFbPB.mjs → removeUnverifiedRequestIdentifiers-D4BS0YLI.mjs} +2 -2
- package/dist/{removeUnverifiedRequestIdentifiers-BIchFbPB.mjs.map → removeUnverifiedRequestIdentifiers-D4BS0YLI.mjs.map} +1 -1
- package/dist/{retryRequestDataSilos-DUfHyF_U.mjs → retryRequestDataSilos-CBxZHU59.mjs} +2 -2
- package/dist/{retryRequestDataSilos-DUfHyF_U.mjs.map → retryRequestDataSilos-CBxZHU59.mjs.map} +1 -1
- package/dist/{skipPreflightJobs-DaFjvih9.mjs → skipPreflightJobs-mqhLTi0f.mjs} +2 -2
- package/dist/{skipPreflightJobs-DaFjvih9.mjs.map → skipPreflightJobs-mqhLTi0f.mjs.map} +1 -1
- package/dist/{skipRequestDataSilos-DYE2aYYS.mjs → skipRequestDataSilos-8cK7x9K9.mjs} +2 -2
- package/dist/{skipRequestDataSilos-DYE2aYYS.mjs.map → skipRequestDataSilos-8cK7x9K9.mjs.map} +1 -1
- package/dist/{streamPrivacyRequestsToCsv-DakIlTv0.mjs → streamPrivacyRequestsToCsv-CaueBxWE.mjs} +2 -2
- package/dist/{streamPrivacyRequestsToCsv-DakIlTv0.mjs.map → streamPrivacyRequestsToCsv-CaueBxWE.mjs.map} +1 -1
- package/dist/{updateConsentManagerVersionToLatest-BzAN1bBC.mjs → updateConsentManagerVersionToLatest-59LfKBYK.mjs} +2 -2
- package/dist/{updateConsentManagerVersionToLatest-BzAN1bBC.mjs.map → updateConsentManagerVersionToLatest-59LfKBYK.mjs.map} +1 -1
- package/dist/{uploadConsents-CAAkg4cf.mjs → uploadConsents-CbPsjJ6G.mjs} +2 -2
- package/dist/{uploadConsents-CAAkg4cf.mjs.map → uploadConsents-CbPsjJ6G.mjs.map} +1 -1
- package/dist/{uploadCookiesFromCsv-DP3LBhMG.mjs → uploadCookiesFromCsv-DhDzLqvx.mjs} +2 -2
- package/dist/{uploadCookiesFromCsv-DP3LBhMG.mjs.map → uploadCookiesFromCsv-DhDzLqvx.mjs.map} +1 -1
- package/dist/{uploadDataFlowsFromCsv-C--ho0_f.mjs → uploadDataFlowsFromCsv-Ca4JrvEd.mjs} +2 -2
- package/dist/{uploadDataFlowsFromCsv-C--ho0_f.mjs.map → uploadDataFlowsFromCsv-Ca4JrvEd.mjs.map} +1 -1
- package/dist/{uploadPrivacyRequestsFromCsv-CLklOZOl.mjs → uploadPrivacyRequestsFromCsv-CprxpH-W.mjs} +2 -2
- package/dist/{uploadPrivacyRequestsFromCsv-CLklOZOl.mjs.map → uploadPrivacyRequestsFromCsv-CprxpH-W.mjs.map} +1 -1
- package/dist/{validateTranscendAuth-CIPn35zS.mjs → validateTranscendAuth-D14jsB5C.mjs} +2 -2
- package/dist/{validateTranscendAuth-CIPn35zS.mjs.map → validateTranscendAuth-D14jsB5C.mjs.map} +1 -1
- package/package.json +4 -4
- package/dist/codecs-CbOFsh1R.mjs +0 -2
- package/dist/codecs-CbOFsh1R.mjs.map +0 -1
- package/dist/constants-BesTSxZW.mjs +0 -2
- package/dist/constants-BesTSxZW.mjs.map +0 -1
- package/dist/enums-D53y231X.mjs.map +0 -1
- package/dist/parseVariablesFromString-CHcigVIK.mjs +0 -3
- package/dist/parseVariablesFromString-CHcigVIK.mjs.map +0 -1
- package/dist/pullTranscendConfiguration-Cdg8JEii.mjs +0 -58
- package/dist/pullTranscendConfiguration-Cdg8JEii.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-c0YrAaxs.mjs","names":[],"sources":["../src/commands/request/preflight/pull-identifiers/impl.ts"],"sourcesContent":["import type { RequestAction } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../../context.js';\nimport { doneInputValidation } from '../../../../lib/cli/done-input-validation.js';\nimport { pullManualEnrichmentIdentifiersToCsv } from '../../../../lib/manual-enrichment/index.js';\n\nexport interface PullIdentifiersCommandFlags {\n auth: string;\n sombraAuth?: string;\n transcendUrl: string;\n file: string;\n actions?: RequestAction[];\n concurrency: number;\n}\n\nexport async function pullIdentifiers(\n this: LocalContext,\n { auth, transcendUrl, file, concurrency, actions, sombraAuth }: PullIdentifiersCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await pullManualEnrichmentIdentifiersToCsv({\n file,\n transcendUrl,\n concurrency,\n requestActions: actions,\n auth,\n sombraAuth,\n });\n}\n"],"mappings":"4HAeA,eAAsB,EAEpB,CAAE,OAAM,eAAc,OAAM,cAAa,UAAS,cACnC,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAAqC,CACzC,OACA,eACA,cACA,eAAgB,EAChB,OACA,aACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{l as e}from"./constants-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{l as e}from"./constants-CL4uZK_i.mjs";import{t}from"./generateCrossAccountApiKeys-BB_mGI0h.mjs";import{t as n}from"./done-input-validation-CvwjeRWr.mjs";import{writeFileSync as r}from"node:fs";async function i({email:i,password:a,apiKeyTitle:o,file:s,scopes:c,deleteExistingApiKey:l,createNewApiKey:u,parentOrganizationId:d,transcendUrl:f}){n(this.process.exit);let{errors:p,apiKeys:m}=await t({transcendUrl:f,password:a,email:i,parentOrganizationId:d,deleteExistingApiKey:l,createNewApiKey:u,apiKeyTitle:o,scopes:c.map(t=>e[t].name)});r(s,`${JSON.stringify(m,null,2)}\n`),p.length>0&&this.process.exit(1)}export{i as generateApiKeys};
|
|
2
|
+
//# sourceMappingURL=impl-h_KDIeo4.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-h_KDIeo4.mjs","names":[],"sources":["../src/commands/admin/generate-api-keys/impl.ts"],"sourcesContent":["import { writeFileSync } from 'node:fs';\n\nimport { ScopeName } from '@transcend-io/privacy-types';\n\nimport { SCOPES_BY_TITLE } from '../../../constants.js';\nimport type { LocalContext } from '../../../context.js';\nimport { generateCrossAccountApiKeys } from '../../../lib/api-keys/index.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\n\n// Command flag interface\nexport interface GenerateApiKeysCommandFlags {\n email: string;\n password: string;\n apiKeyTitle: string;\n file: string;\n scopes: string[];\n deleteExistingApiKey: boolean;\n createNewApiKey: boolean;\n parentOrganizationId?: string;\n transcendUrl: string;\n}\n\n// Command implementation\nexport async function generateApiKeys(\n this: LocalContext,\n {\n email,\n password,\n apiKeyTitle,\n file,\n scopes,\n deleteExistingApiKey,\n createNewApiKey,\n parentOrganizationId,\n transcendUrl,\n }: GenerateApiKeysCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n const scopeNames = scopes.map((scopeTitle) => SCOPES_BY_TITLE[scopeTitle].name as ScopeName);\n\n // Upload privacy requests\n const { errors, apiKeys } = await generateCrossAccountApiKeys({\n transcendUrl,\n password,\n email,\n parentOrganizationId,\n deleteExistingApiKey,\n createNewApiKey,\n apiKeyTitle,\n scopes: scopeNames,\n });\n\n // Write to disk\n writeFileSync(file, `${JSON.stringify(apiKeys, null, 2)}\\n`);\n if (errors.length > 0) {\n this.process.exit(1);\n }\n}\n"],"mappings":"wMAuBA,eAAsB,EAEpB,CACE,QACA,WACA,cACA,OACA,SACA,uBACA,kBACA,uBACA,gBAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAKtC,GAAM,CAAE,SAAQ,WAAY,MAAM,EAA4B,CAC5D,eACA,WACA,QACA,uBACA,uBACA,kBACA,cACA,OAXiB,EAAO,IAAK,GAAe,EAAgB,GAAY,KAWtD,CACnB,CAAC,CAGF,EAAc,EAAM,GAAG,KAAK,UAAU,EAAS,KAAM,EAAE,CAAC,IAAI,CACxD,EAAO,OAAS,GAClB,KAAK,QAAQ,KAAK,EAAE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./cancelPrivacyRequests-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./cancelPrivacyRequests-DQ0FGpFC.mjs";import{t}from"./done-input-validation-CvwjeRWr.mjs";async function n({auth:n,actions:r,statuses:i=[],requestIds:a,silentModeBefore:o,createdAtBefore:s,createdAtAfter:c,updatedAtBefore:l,updatedAtAfter:u,cancellationTitle:d,transcendUrl:f,concurrency:p}){t(this.process.exit),await e({transcendUrl:f,requestActions:r,auth:n,cancellationTitle:d,requestIds:a,statuses:i,concurrency:p,silentModeBefore:o?new Date(o):void 0,createdAtBefore:s?new Date(s):void 0,createdAtAfter:c?new Date(c):void 0,updatedAtBefore:l?new Date(l):void 0,updatedAtAfter:u?new Date(u):void 0})}export{n as cancel};
|
|
2
|
+
//# sourceMappingURL=impl-jNQ05KT3.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-jNQ05KT3.mjs","names":[],"sources":["../src/commands/request/cancel/impl.ts"],"sourcesContent":["import { RequestAction, RequestStatus } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { cancelPrivacyRequests } from '../../../lib/requests/index.js';\n\nexport interface CancelCommandFlags {\n auth: string;\n actions: RequestAction[];\n statuses?: RequestStatus[];\n requestIds?: string[];\n silentModeBefore?: Date;\n createdAtBefore?: Date;\n createdAtAfter?: Date;\n updatedAtBefore?: Date;\n updatedAtAfter?: Date;\n cancellationTitle: string;\n transcendUrl: string;\n concurrency: number;\n}\n\nexport async function cancel(\n this: LocalContext,\n {\n auth,\n actions,\n statuses = [],\n requestIds,\n silentModeBefore,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n cancellationTitle,\n transcendUrl,\n concurrency,\n }: CancelCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await cancelPrivacyRequests({\n transcendUrl,\n requestActions: actions,\n auth,\n cancellationTitle,\n requestIds,\n statuses,\n concurrency,\n silentModeBefore: silentModeBefore ? new Date(silentModeBefore) : undefined,\n createdAtBefore: createdAtBefore ? new Date(createdAtBefore) : undefined,\n createdAtAfter: createdAtAfter ? new Date(createdAtAfter) : undefined,\n updatedAtBefore: updatedAtBefore ? new Date(updatedAtBefore) : undefined,\n updatedAtAfter: updatedAtAfter ? new Date(updatedAtAfter) : undefined,\n });\n}\n"],"mappings":"6GAqBA,eAAsB,EAEpB,CACE,OACA,UACA,WAAW,EAAE,CACb,aACA,mBACA,kBACA,iBACA,kBACA,iBACA,oBACA,eACA,eAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAAsB,CAC1B,eACA,eAAgB,EAChB,OACA,oBACA,aACA,WACA,cACA,iBAAkB,EAAmB,IAAI,KAAK,EAAiB,CAAG,IAAA,GAClE,gBAAiB,EAAkB,IAAI,KAAK,EAAgB,CAAG,IAAA,GAC/D,eAAgB,EAAiB,IAAI,KAAK,EAAe,CAAG,IAAA,GAC5D,gBAAiB,EAAkB,IAAI,KAAK,EAAgB,CAAG,IAAA,GAC/D,eAAgB,EAAiB,IAAI,KAAK,EAAe,CAAG,IAAA,GAC7D,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./uploadPrivacyRequestsFromCsv-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./uploadPrivacyRequestsFromCsv-CprxpH-W.mjs";import{t}from"./done-input-validation-CvwjeRWr.mjs";import{splitCsvToList as n}from"@transcend-io/utils";async function r({auth:r,file:i,transcendUrl:a,cacheFilepath:o,requestReceiptFolder:s,sombraAuth:c,concurrency:l,attributes:u,isTest:d,isSilent:f,skipSendingReceipt:p,emailIsVerified:m,skipFilterStep:h,dryRun:g,debug:_,defaultPhoneCountryCode:v}){t(this.process.exit),await e({cacheFilepath:o,requestReceiptFolder:s,file:i,auth:r,sombraAuth:c,concurrency:l,transcendUrl:a,defaultPhoneCountryCode:v,attributes:n(u),debug:_,skipFilterStep:h,isSilent:f,skipSendingReceipt:p,emailIsVerified:m,isTest:d,dryRun:g})}export{r as upload};
|
|
2
|
+
//# sourceMappingURL=impl-lJzO6Szh2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-lJzO6Szh2.mjs","names":[],"sources":["../src/commands/request/upload/impl.ts"],"sourcesContent":["import { splitCsvToList } from '@transcend-io/utils';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { uploadPrivacyRequestsFromCsv } from '../../../lib/requests/index.js';\n\nexport interface UploadCommandFlags {\n auth: string;\n file: string;\n transcendUrl: string;\n cacheFilepath: string;\n requestReceiptFolder: string;\n sombraAuth?: string;\n concurrency: number;\n attributes: string;\n isTest: boolean;\n isSilent: boolean;\n skipSendingReceipt: boolean;\n emailIsVerified: boolean;\n skipFilterStep: boolean;\n dryRun: boolean;\n debug: boolean;\n defaultPhoneCountryCode: string;\n}\n\nexport async function upload(\n this: LocalContext,\n {\n auth,\n file,\n transcendUrl,\n cacheFilepath,\n requestReceiptFolder,\n sombraAuth,\n concurrency,\n attributes,\n isTest,\n isSilent,\n skipSendingReceipt,\n emailIsVerified,\n skipFilterStep,\n dryRun,\n debug,\n defaultPhoneCountryCode,\n }: UploadCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await uploadPrivacyRequestsFromCsv({\n cacheFilepath,\n requestReceiptFolder,\n file,\n auth,\n sombraAuth,\n concurrency,\n transcendUrl,\n defaultPhoneCountryCode,\n attributes: splitCsvToList(attributes),\n debug,\n skipFilterStep,\n isSilent,\n skipSendingReceipt,\n emailIsVerified,\n isTest,\n dryRun,\n });\n}\n"],"mappings":"yKAyBA,eAAsB,EAEpB,CACE,OACA,OACA,eACA,gBACA,uBACA,aACA,cACA,aACA,SACA,WACA,qBACA,kBACA,iBACA,SACA,QACA,2BAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAA6B,CACjC,gBACA,uBACA,OACA,OACA,aACA,cACA,eACA,0BACA,WAAY,EAAe,EAAW,CACtC,QACA,iBACA,WACA,qBACA,kBACA,SACA,SACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./logger-B-LXIf3U.mjs";import{E as t}from"./codecs-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./logger-B-LXIf3U.mjs";import{E as t}from"./codecs-_SjJhduF.mjs";import{a as n}from"./readTranscendYaml-B1FLjET0.mjs";import{t as r}from"./done-input-validation-CvwjeRWr.mjs";import{ConsentTrackerStatus as i,DataFlowScope as a}from"@transcend-io/privacy-types";import{decodeCodec as o}from"@transcend-io/type-utils";import{existsSync as s,readFileSync as c}from"node:fs";import l from"colors";import*as u from"io-ts";function d({file:d,output:f}){r(this.process.exit),s(d)||(e.error(l.red(`File does not exist: --file="${d}"`)),this.process.exit(1));let p=o(u.array(t),c(d,`utf-8`)),m=[],h=[];p.forEach(e=>{e.dataFlows.filter(({type:e})=>e!==a.CSP).forEach(e=>{m.push({value:e.value,type:e.type,status:i.Live,trackingPurposes:e.trackingPurposes})}),e.cookies.forEach(e=>{h.push({name:e.name,status:i.Live,trackingPurposes:e.trackingPurposes})})}),n(f,{"data-flows":m,cookies:h}),e.info(l.green(`Successfully wrote ${m.length} data flows and ${h.length} cookies to file "${f}"`))}export{d as consentManagerServiceJsonToYml};
|
|
2
|
+
//# sourceMappingURL=impl-nePMEJkH.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-nePMEJkH.mjs","names":[],"sources":["../src/commands/inventory/consent-manager-service-json-to-yml/impl.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'node:fs';\n\nimport { ConsentTrackerStatus, DataFlowScope } from '@transcend-io/privacy-types';\nimport { decodeCodec } from '@transcend-io/type-utils';\nimport colors from 'colors';\nimport * as t from 'io-ts';\n\nimport { ConsentManagerServiceMetadata, CookieInput, DataFlowInput } from '../../../codecs.js';\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { writeTranscendYaml } from '../../../lib/readTranscendYaml.js';\nimport { logger } from '../../../logger.js';\n\nexport interface ConsentManagerServiceJsonToYmlCommandFlags {\n file: string;\n output: string;\n}\n\nexport function consentManagerServiceJsonToYml(\n this: LocalContext,\n { file, output }: ConsentManagerServiceJsonToYmlCommandFlags,\n): void {\n doneInputValidation(this.process.exit);\n\n // Ensure files exist\n if (!existsSync(file)) {\n logger.error(colors.red(`File does not exist: --file=\"${file}\"`));\n this.process.exit(1);\n }\n\n // Read in each consent manager configuration\n const services = decodeCodec(t.array(ConsentManagerServiceMetadata), readFileSync(file, 'utf-8'));\n\n // Create data flows and cookie configurations\n const dataFlows: DataFlowInput[] = [];\n const cookies: CookieInput[] = [];\n services.forEach((service) => {\n service.dataFlows\n .filter(({ type }) => type !== DataFlowScope.CSP)\n .forEach((dataFlow) => {\n dataFlows.push({\n value: dataFlow.value,\n type: dataFlow.type,\n status: ConsentTrackerStatus.Live,\n trackingPurposes: dataFlow.trackingPurposes,\n });\n });\n\n service.cookies.forEach((cookie) => {\n cookies.push({\n name: cookie.name,\n status: ConsentTrackerStatus.Live,\n trackingPurposes: cookie.trackingPurposes,\n });\n });\n });\n\n // write to disk\n writeTranscendYaml(output, {\n 'data-flows': dataFlows,\n cookies,\n });\n\n logger.info(\n colors.green(\n `Successfully wrote ${dataFlows.length} data flows and ${cookies.length} cookies to file \"${output}\"`,\n ),\n );\n}\n"],"mappings":"obAkBA,SAAgB,EAEd,CAAE,OAAM,UACF,CACN,EAAoB,KAAK,QAAQ,KAAK,CAGjC,EAAW,EAAK,GACnB,EAAO,MAAM,EAAO,IAAI,gCAAgC,EAAK,GAAG,CAAC,CACjE,KAAK,QAAQ,KAAK,EAAE,EAItB,IAAM,EAAW,EAAY,EAAE,MAAM,EAA8B,CAAE,EAAa,EAAM,QAAQ,CAAC,CAG3F,EAA6B,EAAE,CAC/B,EAAyB,EAAE,CACjC,EAAS,QAAS,GAAY,CAC5B,EAAQ,UACL,QAAQ,CAAE,UAAW,IAAS,EAAc,IAAI,CAChD,QAAS,GAAa,CACrB,EAAU,KAAK,CACb,MAAO,EAAS,MAChB,KAAM,EAAS,KACf,OAAQ,EAAqB,KAC7B,iBAAkB,EAAS,iBAC5B,CAAC,EACF,CAEJ,EAAQ,QAAQ,QAAS,GAAW,CAClC,EAAQ,KAAK,CACX,KAAM,EAAO,KACb,OAAQ,EAAqB,KAC7B,iBAAkB,EAAO,iBAC1B,CAAC,EACF,EACF,CAGF,EAAmB,EAAQ,CACzB,aAAc,EACd,UACD,CAAC,CAEF,EAAO,KACL,EAAO,MACL,sBAAsB,EAAU,OAAO,kBAAkB,EAAQ,OAAO,oBAAoB,EAAO,GACpG,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./logger-B-LXIf3U.mjs";import{t}from"./pullChunkedCustomSiloOutstandingIdentifiers-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./logger-B-LXIf3U.mjs";import{t}from"./pullChunkedCustomSiloOutstandingIdentifiers-qZCnzDXQ.mjs";import{i as n,s as r}from"./writeCsv-DDKM_rAU.mjs";import{t as i}from"./done-input-validation-CvwjeRWr.mjs";import{chunk as a,uniq as o}from"lodash-es";import s from"colors";import{buildTranscendGraphQLClient as c,fetchRequestFilesForRequest as l}from"@transcend-io/sdk";import{map as u}from"@transcend-io/utils";async function d({file:d,fileTarget:f,transcendUrl:p,auth:m,sombraAuth:h,cronDataSiloId:g,targetDataSiloId:_,actions:v,skipRequestCount:y,pageLimit:b,chunkSize:x}){y&&e.info(s.yellow(`Skipping request count as requested. This may help speed up the call.`)),(Number.isNaN(x)||x<=0||x%b!==0)&&(e.error(s.red(`Invalid chunk size: "${x}". Must be a positive integer that is a multiple of ${b}.`)),this.process.exit(1)),i(this.process.exit);let S=c(p,m),{baseName:C,extension:w}=n(d),{baseName:T,extension:E}=n(f),D=0,O=0,k=0;await t({dataSiloId:g,auth:m,sombraAuth:h,actions:v,apiPageSize:b,savePageSize:x,onSave:async t=>{D+=t.length;let n=await u(a(o(t.map(e=>e.requestId)),b),async t=>(e.info(s.magenta(`Fetching target identifiers for ${t.length} requests`)),(await l(S,{logger:e,pageSize:b*2,filterBy:{requestIds:t,dataSiloIds:[_]}})).map(({fileName:e,remoteId:t})=>{if(!t)throw Error(`Failed to find remoteId for ${e}`);return{RecordId:t,Object:e.replace(`.json`,``).split(`/`).pop()?.replace(` Information`,``),Comment:`Customer data deletion request submitted via transcend.io`}})),{concurrency:1});O+=n.flat().length;let i=o(t.map(e=>Object.keys(e)).flat()),c=`${C}-${k}${w}`,p=`${T}-${k}${E}`;await r(c,t,i),e.info(s.green(`Successfully wrote ${t.length} identifiers to file "${d}"`));let m=n.flat();await r(p,m,o(m.map(e=>Object.keys(e)).flat())),e.info(s.green(`Successfully wrote ${m.length} identifiers to file "${f}"`)),e.info(s.blue(`Processed chunk of ${a.length} identifiers, found ${m.length} target identifiers`)),k+=1},transcendUrl:p,skipRequestCount:y}),e.info(s.green(`Successfully wrote ${D} identifiers to file "${d}"`)),e.info(s.green(`Successfully wrote ${O} identifiers to file "${f}"`))}export{d as pullProfiles};
|
|
2
|
+
//# sourceMappingURL=impl-rbZRyuXb2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-rbZRyuXb2.mjs","names":[],"sources":["../src/commands/request/cron/pull-profiles/impl.ts"],"sourcesContent":["import type { RequestAction } from '@transcend-io/privacy-types';\nimport { buildTranscendGraphQLClient, fetchRequestFilesForRequest } from '@transcend-io/sdk';\nimport { map } from '@transcend-io/utils';\nimport colors from 'colors';\nimport { uniq, chunk } from 'lodash-es';\n\nimport type { LocalContext } from '../../../../context.js';\nimport { doneInputValidation } from '../../../../lib/cli/done-input-validation.js';\nimport {\n pullChunkedCustomSiloOutstandingIdentifiers,\n type CsvFormattedIdentifier,\n} from '../../../../lib/cron/index.js';\nimport { parseFilePath, writeLargeCsv } from '../../../../lib/helpers/index.js';\nimport { logger } from '../../../../logger.js';\n\nexport interface PullProfilesCommandFlags {\n file: string;\n fileTarget: string;\n transcendUrl: string;\n auth: string;\n sombraAuth?: string;\n cronDataSiloId: string;\n targetDataSiloId: string;\n actions: RequestAction[];\n skipRequestCount: boolean;\n pageLimit: number;\n chunkSize: number;\n}\n\nexport async function pullProfiles(\n this: LocalContext,\n {\n file,\n fileTarget,\n transcendUrl,\n auth,\n sombraAuth,\n cronDataSiloId,\n targetDataSiloId,\n actions,\n skipRequestCount,\n pageLimit,\n chunkSize,\n }: PullProfilesCommandFlags,\n): Promise<void> {\n if (skipRequestCount) {\n logger.info(\n colors.yellow('Skipping request count as requested. This may help speed up the call.'),\n );\n }\n\n if (Number.isNaN(chunkSize) || chunkSize <= 0 || chunkSize % pageLimit !== 0) {\n logger.error(\n colors.red(\n `Invalid chunk size: \"${chunkSize}\". Must be a positive integer that is a multiple of ${pageLimit}.`,\n ),\n );\n this.process.exit(1);\n }\n\n doneInputValidation(this.process.exit);\n\n // Create GraphQL client to connect to Transcend backend\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n const { baseName, extension } = parseFilePath(file);\n const { baseName: baseNameTarget, extension: extensionTarget } = parseFilePath(fileTarget);\n\n let allIdentifiersCount = 0;\n let allTargetIdentifiersCount = 0;\n let fileCount = 0;\n // Create onSave callback to handle chunked processing\n const onSave = async (chunkToSave: CsvFormattedIdentifier[]): Promise<void> => {\n // Add to all identifiers\n allIdentifiersCount += chunkToSave.length;\n\n // Get unique request IDs from this chunk\n const requestIds = chunkToSave.map((d) => d.requestId as string);\n const uniqueRequestIds = uniq(requestIds);\n\n // Pull down target identifiers for this chunk\n const chunkedRequestIds = chunk(uniqueRequestIds, pageLimit);\n const results = await map(\n chunkedRequestIds,\n async (requestIds) => {\n logger.info(\n colors.magenta(`Fetching target identifiers for ${requestIds.length} requests`),\n );\n const results = await fetchRequestFilesForRequest(client, {\n logger,\n pageSize: pageLimit * 2,\n filterBy: {\n requestIds,\n dataSiloIds: [targetDataSiloId],\n },\n });\n return results.map(({ fileName, remoteId }) => {\n if (!remoteId) {\n throw new Error(`Failed to find remoteId for ${fileName}`);\n }\n return {\n RecordId: remoteId,\n Object: fileName.replace('.json', '').split('/').pop()?.replace(' Information', ''),\n Comment: 'Customer data deletion request submitted via transcend.io',\n };\n });\n },\n // We are grabbing all the request files for the 'pageLimit' # of requests at a time\n {\n concurrency: 1,\n },\n );\n\n allTargetIdentifiersCount += results.flat().length;\n\n // Write the identifiers and target identifiers to CSV\n const headers = uniq(chunkToSave.map((d) => Object.keys(d)).flat());\n const numberedFileName = `${baseName}-${fileCount}${extension}`;\n const numberedFileNameTarget = `${baseNameTarget}-${fileCount}${extensionTarget}`;\n await writeLargeCsv(numberedFileName, chunkToSave, headers);\n logger.info(\n colors.green(`Successfully wrote ${chunkToSave.length} identifiers to file \"${file}\"`),\n );\n\n const targetIdentifiers = results.flat();\n const headers2 = uniq(targetIdentifiers.map((d) => Object.keys(d)).flat());\n await writeLargeCsv(numberedFileNameTarget, targetIdentifiers, headers2);\n logger.info(\n colors.green(\n `Successfully wrote ${targetIdentifiers.length} identifiers to file \"${fileTarget}\"`,\n ),\n );\n\n logger.info(\n colors.blue(\n `Processed chunk of ${chunk.length} identifiers, found ${targetIdentifiers.length} target identifiers`,\n ),\n );\n fileCount += 1;\n };\n\n // Pull down outstanding identifiers using the new chunked function\n await pullChunkedCustomSiloOutstandingIdentifiers({\n dataSiloId: cronDataSiloId,\n auth,\n sombraAuth,\n actions,\n apiPageSize: pageLimit,\n savePageSize: chunkSize,\n onSave,\n transcendUrl,\n skipRequestCount,\n });\n\n logger.info(\n colors.green(`Successfully wrote ${allIdentifiersCount} identifiers to file \"${file}\"`),\n );\n logger.info(\n colors.green(\n `Successfully wrote ${allTargetIdentifiersCount} identifiers to file \"${fileTarget}\"`,\n ),\n );\n}\n"],"mappings":"6aA6BA,eAAsB,EAEpB,CACE,OACA,aACA,eACA,OACA,aACA,iBACA,mBACA,UACA,mBACA,YACA,aAEa,CACX,GACF,EAAO,KACL,EAAO,OAAO,wEAAwE,CACvF,EAGC,OAAO,MAAM,EAAU,EAAI,GAAa,GAAK,EAAY,IAAc,KACzE,EAAO,MACL,EAAO,IACL,wBAAwB,EAAU,sDAAsD,EAAU,GACnG,CACF,CACD,KAAK,QAAQ,KAAK,EAAE,EAGtB,EAAoB,KAAK,QAAQ,KAAK,CAGtC,IAAM,EAAS,EAA4B,EAAc,EAAK,CACxD,CAAE,WAAU,aAAc,EAAc,EAAK,CAC7C,CAAE,SAAU,EAAgB,UAAW,GAAoB,EAAc,EAAW,CAEtF,EAAsB,EACtB,EAA4B,EAC5B,EAAY,EAwEhB,MAAM,EAA4C,CAChD,WAAY,EACZ,OACA,aACA,UACA,YAAa,EACb,aAAc,EACd,YA7EoB,IAAyD,CAE7E,GAAuB,EAAY,OAQnC,IAAM,EAAU,MAAM,EADI,EAHD,EADN,EAAY,IAAK,GAAM,EAAE,UACJ,CAGQ,CAAE,EAE/B,CACjB,KAAO,KACL,EAAO,KACL,EAAO,QAAQ,mCAAmC,EAAW,OAAO,WAAW,CAChF,EASM,MARe,EAA4B,EAAQ,CACxD,SACA,SAAU,EAAY,EACtB,SAAU,CACR,aACA,YAAa,CAAC,EAAiB,CAChC,CACF,CAAC,EACa,KAAK,CAAE,WAAU,cAAe,CAC7C,GAAI,CAAC,EACH,MAAU,MAAM,+BAA+B,IAAW,CAE5D,MAAO,CACL,SAAU,EACV,OAAQ,EAAS,QAAQ,QAAS,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,QAAQ,eAAgB,GAAG,CACnF,QAAS,4DACV,EACD,EAGJ,CACE,YAAa,EACd,CACF,CAED,GAA6B,EAAQ,MAAM,CAAC,OAG5C,IAAM,EAAU,EAAK,EAAY,IAAK,GAAM,OAAO,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAC7D,EAAmB,GAAG,EAAS,GAAG,IAAY,IAC9C,EAAyB,GAAG,EAAe,GAAG,IAAY,IAChE,MAAM,EAAc,EAAkB,EAAa,EAAQ,CAC3D,EAAO,KACL,EAAO,MAAM,sBAAsB,EAAY,OAAO,wBAAwB,EAAK,GAAG,CACvF,CAED,IAAM,EAAoB,EAAQ,MAAM,CAExC,MAAM,EAAc,EAAwB,EAD3B,EAAK,EAAkB,IAAK,GAAM,OAAO,KAAK,EAAE,CAAC,CAAC,MAAM,CACF,CAAC,CACxE,EAAO,KACL,EAAO,MACL,sBAAsB,EAAkB,OAAO,wBAAwB,EAAW,GACnF,CACF,CAED,EAAO,KACL,EAAO,KACL,sBAAsB,EAAM,OAAO,sBAAsB,EAAkB,OAAO,qBACnF,CACF,CACD,GAAa,GAYb,eACA,mBACD,CAAC,CAEF,EAAO,KACL,EAAO,MAAM,sBAAsB,EAAoB,wBAAwB,EAAK,GAAG,CACxF,CACD,EAAO,KACL,EAAO,MACL,sBAAsB,EAA0B,wBAAwB,EAAW,GACpF,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./logger-B-LXIf3U.mjs";import{a as t,r as n}from"./readTranscendYaml-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./logger-B-LXIf3U.mjs";import{a as t,r as n}from"./readTranscendYaml-B1FLjET0.mjs";import{t as r}from"./listFiles-B1GqyM33.mjs";import{t as i}from"./done-input-validation-CvwjeRWr.mjs";import{t as a}from"./dataFlowsToDataSilos-Blo6-adp.mjs";import{difference as o}from"lodash-es";import{existsSync as s,lstatSync as c}from"node:fs";import{join as l}from"node:path";import u from"colors";import{buildTranscendGraphQLClient as d,fetchAndIndexCatalogs as f}from"@transcend-io/sdk";async function p({auth:p,dataFlowsYmlFolder:m,output:h,ignoreYmls:g=[],transcendUrl:_}){i(this.process.exit),(!s(m)||!c(m).isDirectory())&&(e.error(u.red(`Folder does not exist: "${m}"`)),this.process.exit(1));let v=g.map(e=>e.split(`.`)[0]),y=r(m).map(e=>{let{"data-flows":t=[]}=n(l(m,e)),{adTechDataSilos:r,siteTechDataSilos:i}=a(t,{serviceToSupportedIntegration:T,serviceToTitle:w});return{adTechDataSilos:r,siteTechDataSilos:i,organizationName:e.split(`.`)[0]}}),b={};y.forEach(({adTechDataSilos:e,siteTechDataSilos:t,organizationName:n})=>{[...e,...t].forEach(e=>{let t=e[`outer-type`]||e.integrationName;b[t]||(b[t]=[]),b[t].push(n),b[t]=[...new Set(b[t])]})});let x=[...new Set(y.map(({adTechDataSilos:e})=>e.map(e=>e[`outer-type`]||e.integrationName)).flat())],S=o([...new Set(y.map(({siteTechDataSilos:e})=>e.map(e=>e[`outer-type`]||e.integrationName)).flat())],x),C={};y.forEach(({adTechDataSilos:e,siteTechDataSilos:t})=>{[...e,...t].forEach(e=>{let t=e[`outer-type`]||e.integrationName,n=e.attributes?.find(e=>e.key===`Found On Domain`);C[t]||(C[t]=[]),C[t].push(...n?.values||[]),C[t]=[...new Set(C[t])]})});let{serviceToTitle:w,serviceToSupportedIntegration:T}=await f(d(_,p),{logger:e}),E=[...x,...S].map(e=>({title:w[e],...T[e]?{integrationName:e}:{integrationName:`promptAPerson`,"outer-type":e},attributes:[{key:`Tech Type`,values:[`Ad Tech`]},{key:`Business Units`,values:o(b[e]||[],v)},{key:`Found On Domain`,values:C[e]||[]}]}));e.log(`Total Services: ${E.length}`),e.log(`Ad Tech Services: ${x.length}`),e.log(`Site Tech Services: ${S.length}`),t(h,{"data-silos":E})}export{p as deriveDataSilosFromDataFlowsCrossInstance};
|
|
2
|
+
//# sourceMappingURL=impl-spb5yfh5.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-spb5yfh5.mjs","names":[],"sources":["../src/commands/inventory/derive-data-silos-from-data-flows-cross-instance/impl.ts"],"sourcesContent":["import { existsSync, lstatSync } from 'node:fs';\nimport { join } from 'node:path';\n\nimport { buildTranscendGraphQLClient, fetchAndIndexCatalogs } from '@transcend-io/sdk';\nimport colors from 'colors';\nimport { difference } from 'lodash-es';\n\nimport { DataFlowInput } from '../../../codecs.js';\nimport type { LocalContext } from '../../../context.js';\nimport { listFiles } from '../../../lib/api-keys/index.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { dataFlowsToDataSilos } from '../../../lib/consent-manager/dataFlowsToDataSilos.js';\nimport { readTranscendYaml, writeTranscendYaml } from '../../../lib/readTranscendYaml.js';\nimport { logger } from '../../../logger.js';\n\nexport interface DeriveDataSilosFromDataFlowsCrossInstanceCommandFlags {\n auth: string;\n dataFlowsYmlFolder: string;\n output: string;\n ignoreYmls?: string[];\n transcendUrl: string;\n}\n\nexport async function deriveDataSilosFromDataFlowsCrossInstance(\n this: LocalContext,\n {\n auth,\n dataFlowsYmlFolder,\n output,\n ignoreYmls = [],\n transcendUrl,\n }: DeriveDataSilosFromDataFlowsCrossInstanceCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n // Ensure folder is passed\n if (!existsSync(dataFlowsYmlFolder) || !lstatSync(dataFlowsYmlFolder).isDirectory()) {\n logger.error(colors.red(`Folder does not exist: \"${dataFlowsYmlFolder}\"`));\n this.process.exit(1);\n }\n\n // Ignore the data flows in these yml files\n const instancesToIgnore = ignoreYmls.map((x) => x.split('.')[0]);\n\n // Map over each data flow yml file and convert to data silo configurations\n const dataSiloInputs = listFiles(dataFlowsYmlFolder).map((directory) => {\n // read in the data flows for a specific instance\n const { 'data-flows': dataFlows = [] } = readTranscendYaml(join(dataFlowsYmlFolder, directory));\n\n // map the data flows to data silos\n const { adTechDataSilos, siteTechDataSilos } = dataFlowsToDataSilos(\n dataFlows as DataFlowInput[],\n {\n serviceToSupportedIntegration,\n serviceToTitle,\n },\n );\n\n return {\n adTechDataSilos,\n siteTechDataSilos,\n organizationName: directory.split('.')[0],\n };\n });\n\n // Mapping from service name to instances that have that service\n const serviceToInstance: { [k in string]: string[] } = {};\n dataSiloInputs.forEach(({ adTechDataSilos, siteTechDataSilos, organizationName }) => {\n const allDataSilos = [...adTechDataSilos, ...siteTechDataSilos];\n allDataSilos.forEach((dataSilo) => {\n const service = dataSilo['outer-type'] || dataSilo.integrationName;\n // create mapping to instance\n if (!serviceToInstance[service]) {\n serviceToInstance[service] = [];\n }\n serviceToInstance[service]!.push(organizationName);\n serviceToInstance[service] = [...new Set(serviceToInstance[service])];\n });\n });\n\n // List of ad tech integrations\n const adTechIntegrations = [\n ...new Set(\n dataSiloInputs\n .map(({ adTechDataSilos }) =>\n adTechDataSilos.map((silo) => silo['outer-type'] || silo.integrationName),\n )\n .flat(),\n ),\n ];\n\n // List of site tech integrations\n const siteTechIntegrations = difference(\n [\n ...new Set(\n dataSiloInputs\n .map(({ siteTechDataSilos }) =>\n siteTechDataSilos.map((silo) => silo['outer-type'] || silo.integrationName),\n )\n .flat(),\n ),\n ],\n adTechIntegrations,\n );\n\n // Mapping from service name to list of\n const serviceToFoundOnDomain: { [k in string]: string[] } = {};\n dataSiloInputs.forEach(({ adTechDataSilos, siteTechDataSilos }) => {\n const allDataSilos = [...adTechDataSilos, ...siteTechDataSilos];\n allDataSilos.forEach((dataSilo) => {\n const service = dataSilo['outer-type'] || dataSilo.integrationName;\n const foundOnDomain = dataSilo.attributes?.find((attr) => attr.key === 'Found On Domain');\n // create mapping to instance\n if (!serviceToFoundOnDomain[service]) {\n serviceToFoundOnDomain[service] = [];\n }\n serviceToFoundOnDomain[service]!.push(...(foundOnDomain?.values || []));\n serviceToFoundOnDomain[service] = [...new Set(serviceToFoundOnDomain[service])];\n });\n });\n\n // Fetch all integrations in the catalog\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n const { serviceToTitle, serviceToSupportedIntegration } = await fetchAndIndexCatalogs(client, {\n logger,\n });\n\n // construct the aggregated data silo inputs\n const dataSilos = [...adTechIntegrations, ...siteTechIntegrations].map((service) => ({\n title: serviceToTitle[service],\n ...(serviceToSupportedIntegration[service]\n ? { integrationName: service }\n : { integrationName: 'promptAPerson', 'outer-type': service }),\n attributes: [\n {\n key: 'Tech Type',\n values: ['Ad Tech'],\n },\n {\n key: 'Business Units',\n values: difference(serviceToInstance[service] || [], instancesToIgnore),\n },\n {\n key: 'Found On Domain',\n values: serviceToFoundOnDomain[service] || [],\n },\n ],\n }));\n\n // Log output\n logger.log(`Total Services: ${dataSilos.length}`);\n logger.log(`Ad Tech Services: ${adTechIntegrations.length}`);\n logger.log(`Site Tech Services: ${siteTechIntegrations.length}`);\n\n // Write to yaml\n writeTranscendYaml(output, {\n 'data-silos': dataSilos,\n });\n}\n"],"mappings":"ifAuBA,eAAsB,EAEpB,CACE,OACA,qBACA,SACA,aAAa,EAAE,CACf,gBAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,EAGlC,CAAC,EAAW,EAAmB,EAAI,CAAC,EAAU,EAAmB,CAAC,aAAa,IACjF,EAAO,MAAM,EAAO,IAAI,2BAA2B,EAAmB,GAAG,CAAC,CAC1E,KAAK,QAAQ,KAAK,EAAE,EAItB,IAAM,EAAoB,EAAW,IAAK,GAAM,EAAE,MAAM,IAAI,CAAC,GAAG,CAG1D,EAAiB,EAAU,EAAmB,CAAC,IAAK,GAAc,CAEtE,GAAM,CAAE,aAAc,EAAY,EAAE,EAAK,EAAkB,EAAK,EAAoB,EAAU,CAAC,CAGzF,CAAE,kBAAiB,qBAAsB,EAC7C,EACA,CACE,gCACA,iBACD,CACF,CAED,MAAO,CACL,kBACA,oBACA,iBAAkB,EAAU,MAAM,IAAI,CAAC,GACxC,EACD,CAGI,EAAiD,EAAE,CACzD,EAAe,SAAS,CAAE,kBAAiB,oBAAmB,sBAAuB,CAEnF,CADsB,GAAG,EAAiB,GAAG,EACjC,CAAC,QAAS,GAAa,CACjC,IAAM,EAAU,EAAS,eAAiB,EAAS,gBAE9C,EAAkB,KACrB,EAAkB,GAAW,EAAE,EAEjC,EAAkB,GAAU,KAAK,EAAiB,CAClD,EAAkB,GAAW,CAAC,GAAG,IAAI,IAAI,EAAkB,GAAS,CAAC,EACrE,EACF,CAGF,IAAM,EAAqB,CACzB,GAAG,IAAI,IACL,EACG,KAAK,CAAE,qBACN,EAAgB,IAAK,GAAS,EAAK,eAAiB,EAAK,gBAAgB,CAC1E,CACA,MAAM,CACV,CACF,CAGK,EAAuB,EAC3B,CACE,GAAG,IAAI,IACL,EACG,KAAK,CAAE,uBACN,EAAkB,IAAK,GAAS,EAAK,eAAiB,EAAK,gBAAgB,CAC5E,CACA,MAAM,CACV,CACF,CACD,EACD,CAGK,EAAsD,EAAE,CAC9D,EAAe,SAAS,CAAE,kBAAiB,uBAAwB,CAEjE,CADsB,GAAG,EAAiB,GAAG,EACjC,CAAC,QAAS,GAAa,CACjC,IAAM,EAAU,EAAS,eAAiB,EAAS,gBAC7C,EAAgB,EAAS,YAAY,KAAM,GAAS,EAAK,MAAQ,kBAAkB,CAEpF,EAAuB,KAC1B,EAAuB,GAAW,EAAE,EAEtC,EAAuB,GAAU,KAAK,GAAI,GAAe,QAAU,EAAE,CAAE,CACvE,EAAuB,GAAW,CAAC,GAAG,IAAI,IAAI,EAAuB,GAAS,CAAC,EAC/E,EACF,CAIF,GAAM,CAAE,iBAAgB,iCAAkC,MAAM,EADjD,EAA4B,EAAc,EACmC,CAAE,CAC5F,SACD,CAAC,CAGI,EAAY,CAAC,GAAG,EAAoB,GAAG,EAAqB,CAAC,IAAK,IAAa,CACnF,MAAO,EAAe,GACtB,GAAI,EAA8B,GAC9B,CAAE,gBAAiB,EAAS,CAC5B,CAAE,gBAAiB,gBAAiB,aAAc,EAAS,CAC/D,WAAY,CACV,CACE,IAAK,YACL,OAAQ,CAAC,UAAU,CACpB,CACD,CACE,IAAK,iBACL,OAAQ,EAAW,EAAkB,IAAY,EAAE,CAAE,EAAkB,CACxE,CACD,CACE,IAAK,kBACL,OAAQ,EAAuB,IAAY,EAAE,CAC9C,CACF,CACF,EAAE,CAGH,EAAO,IAAI,mBAAmB,EAAU,SAAS,CACjD,EAAO,IAAI,qBAAqB,EAAmB,SAAS,CAC5D,EAAO,IAAI,uBAAuB,EAAqB,SAAS,CAGhE,EAAmB,EAAQ,CACzB,aAAc,EACf,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./logger-B-LXIf3U.mjs";import{t}from"./pullChunkedCustomSiloOutstandingIdentifiers-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./logger-B-LXIf3U.mjs";import{t}from"./pullChunkedCustomSiloOutstandingIdentifiers-qZCnzDXQ.mjs";import{i as n,s as r}from"./writeCsv-DDKM_rAU.mjs";import{t as i}from"./done-input-validation-CvwjeRWr.mjs";import{uniq as a}from"lodash-es";import o from"colors";async function s({file:s,transcendUrl:c,auth:l,sombraAuth:u,dataSiloId:d,actions:f,pageLimit:p,skipRequestCount:m,chunkSize:h}){m&&e.info(o.yellow(`Skipping request count as requested. This may help speed up the call.`)),(Number.isNaN(h)||h<=0||h%p!==0)&&(e.error(o.red(`Invalid chunk size: "${h}". Must be a positive integer that is a multiple of ${p}.`)),this.process.exit(1)),i(this.process.exit);let{baseName:g,extension:_}=n(s),v=0;await t({transcendUrl:c,apiPageSize:p,savePageSize:h,onSave:async t=>{let n=`${g}-${v}${_}`;return e.info(o.blue(`Saving ${t.length} identifiers to file "${n}"`)),await r(n,t,a(t.map(e=>Object.keys(e)).flat())),e.info(o.green(`Successfully wrote ${t.length} identifiers to file "${n}"`)),v+=1,Promise.resolve()},actions:f,auth:l,sombraAuth:u,dataSiloId:d,skipRequestCount:m})}export{s as pullIdentifiers};
|
|
2
|
+
//# sourceMappingURL=impl-vUFXZXCy2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-vUFXZXCy2.mjs","names":[],"sources":["../src/commands/request/cron/pull-identifiers/impl.ts"],"sourcesContent":["import { RequestAction } from '@transcend-io/privacy-types';\nimport colors from 'colors';\nimport { uniq } from 'lodash-es';\n\nimport type { LocalContext } from '../../../../context.js';\nimport { doneInputValidation } from '../../../../lib/cli/done-input-validation.js';\nimport {\n CsvFormattedIdentifier,\n pullChunkedCustomSiloOutstandingIdentifiers,\n} from '../../../../lib/cron/index.js';\nimport { parseFilePath, writeLargeCsv } from '../../../../lib/helpers/index.js';\nimport { logger } from '../../../../logger.js';\n\nexport interface PullIdentifiersCommandFlags {\n file: string;\n transcendUrl: string;\n auth: string;\n sombraAuth?: string;\n dataSiloId: string;\n actions: RequestAction[];\n pageLimit: number;\n skipRequestCount: boolean;\n chunkSize: number;\n}\n\nexport async function pullIdentifiers(\n this: LocalContext,\n {\n file,\n transcendUrl,\n auth,\n sombraAuth,\n dataSiloId,\n actions,\n pageLimit,\n skipRequestCount,\n chunkSize,\n }: PullIdentifiersCommandFlags,\n): Promise<void> {\n if (skipRequestCount) {\n logger.info(\n colors.yellow('Skipping request count as requested. This may help speed up the call.'),\n );\n }\n\n if (Number.isNaN(chunkSize) || chunkSize <= 0 || chunkSize % pageLimit !== 0) {\n logger.error(\n colors.red(\n `Invalid chunk size: \"${chunkSize}\". Must be a positive integer that is a multiple of ${pageLimit}.`,\n ),\n );\n this.process.exit(1);\n }\n\n doneInputValidation(this.process.exit);\n\n const { baseName, extension } = parseFilePath(file);\n let fileCount = 0;\n\n const onSave = async (chunk: CsvFormattedIdentifier[]): Promise<void> => {\n const numberedFileName = `${baseName}-${fileCount}${extension}`;\n logger.info(colors.blue(`Saving ${chunk.length} identifiers to file \"${numberedFileName}\"`));\n\n const headers = uniq(chunk.map((d) => Object.keys(d)).flat());\n await writeLargeCsv(numberedFileName, chunk, headers);\n logger.info(\n colors.green(`Successfully wrote ${chunk.length} identifiers to file \"${numberedFileName}\"`),\n );\n fileCount += 1;\n return Promise.resolve();\n };\n\n // Pull down outstanding identifiers\n await pullChunkedCustomSiloOutstandingIdentifiers({\n transcendUrl,\n apiPageSize: pageLimit,\n savePageSize: chunkSize,\n onSave,\n actions,\n auth,\n sombraAuth,\n dataSiloId,\n skipRequestCount,\n });\n}\n"],"mappings":"uRAyBA,eAAsB,EAEpB,CACE,OACA,eACA,OACA,aACA,aACA,UACA,YACA,mBACA,aAEa,CACX,GACF,EAAO,KACL,EAAO,OAAO,wEAAwE,CACvF,EAGC,OAAO,MAAM,EAAU,EAAI,GAAa,GAAK,EAAY,IAAc,KACzE,EAAO,MACL,EAAO,IACL,wBAAwB,EAAU,sDAAsD,EAAU,GACnG,CACF,CACD,KAAK,QAAQ,KAAK,EAAE,EAGtB,EAAoB,KAAK,QAAQ,KAAK,CAEtC,GAAM,CAAE,WAAU,aAAc,EAAc,EAAK,CAC/C,EAAY,EAgBhB,MAAM,EAA4C,CAChD,eACA,YAAa,EACb,aAAc,EACd,YAlBoB,IAAmD,CACvE,IAAM,EAAmB,GAAG,EAAS,GAAG,IAAY,IASpD,OARA,EAAO,KAAK,EAAO,KAAK,UAAU,EAAM,OAAO,wBAAwB,EAAiB,GAAG,CAAC,CAG5F,MAAM,EAAc,EAAkB,EADtB,EAAK,EAAM,IAAK,GAAM,OAAO,KAAK,EAAE,CAAC,CAAC,MAAM,CACR,CAAC,CACrD,EAAO,KACL,EAAO,MAAM,sBAAsB,EAAM,OAAO,wBAAwB,EAAiB,GAAG,CAC7F,CACD,GAAa,EACN,QAAQ,SAAS,EASxB,UACA,OACA,aACA,aACA,mBACD,CAAC"}
|
package/dist/index.d.mts
CHANGED
|
@@ -57759,7 +57759,16 @@ type PrivacyCenterInput = t.TypeOf<typeof PrivacyCenterInput>;
|
|
|
57759
57759
|
declare const PolicyInput: t.IntersectionC<[t.TypeC<{
|
|
57760
57760
|
/** The title of the policy */title: t.StringC;
|
|
57761
57761
|
}>, t.PartialC<{
|
|
57762
|
-
/**
|
|
57762
|
+
/**
|
|
57763
|
+
* Policy type. On create, defaults from title
|
|
57764
|
+
* (Privacy Policy / Cookie Policy / CUSTOM).
|
|
57765
|
+
*/
|
|
57766
|
+
type: t.KeyofC<{
|
|
57767
|
+
PRIVACY_POLICY: unknown;
|
|
57768
|
+
COOKIE_POLICY: unknown;
|
|
57769
|
+
CUSTOM: unknown;
|
|
57770
|
+
}>; /** Effective date of policy */
|
|
57771
|
+
effectiveOn: t.StringC; /** Whether or not to disable the effective date */
|
|
57763
57772
|
disableEffectiveOn: t.BooleanC; /** Content of the policy */
|
|
57764
57773
|
content: t.StringC; /** The languages for which the policy is disabled for */
|
|
57765
57774
|
disabledLocales: t.ArrayC<t.KeyofC<{
|
|
@@ -64090,8 +64099,8 @@ declare const AssessmentSectionQuestionInput: t.IntersectionC<[t.TypeC<{
|
|
|
64090
64099
|
}>;
|
|
64091
64100
|
}>, t.PartialC<{
|
|
64092
64101
|
/** The sub-type of the assessment question */'sub-type': t.KeyofC<{
|
|
64093
|
-
NONE: unknown;
|
|
64094
64102
|
CUSTOM: unknown;
|
|
64103
|
+
NONE: unknown;
|
|
64095
64104
|
USER: unknown;
|
|
64096
64105
|
TEAM: unknown;
|
|
64097
64106
|
DATA_SUB_CATEGORY: unknown;
|
|
@@ -64286,8 +64295,8 @@ declare const AssessmentSectionInput: t.IntersectionC<[t.TypeC<{
|
|
|
64286
64295
|
}>;
|
|
64287
64296
|
}>, t.PartialC<{
|
|
64288
64297
|
/** The sub-type of the assessment question */'sub-type': t.KeyofC<{
|
|
64289
|
-
NONE: unknown;
|
|
64290
64298
|
CUSTOM: unknown;
|
|
64299
|
+
NONE: unknown;
|
|
64291
64300
|
USER: unknown;
|
|
64292
64301
|
TEAM: unknown;
|
|
64293
64302
|
DATA_SUB_CATEGORY: unknown;
|
|
@@ -64505,8 +64514,8 @@ declare const AssessmentTemplateInput: t.IntersectionC<[t.TypeC<{
|
|
|
64505
64514
|
}>;
|
|
64506
64515
|
}>, t.PartialC<{
|
|
64507
64516
|
/** The sub-type of the assessment question */'sub-type': t.KeyofC<{
|
|
64508
|
-
NONE: unknown;
|
|
64509
64517
|
CUSTOM: unknown;
|
|
64518
|
+
NONE: unknown;
|
|
64510
64519
|
USER: unknown;
|
|
64511
64520
|
TEAM: unknown;
|
|
64512
64521
|
DATA_SUB_CATEGORY: unknown;
|
|
@@ -64775,8 +64784,8 @@ declare const AssessmentInput: t.IntersectionC<[t.TypeC<{
|
|
|
64775
64784
|
}>;
|
|
64776
64785
|
}>, t.PartialC<{
|
|
64777
64786
|
/** The sub-type of the assessment question */'sub-type': t.KeyofC<{
|
|
64778
|
-
NONE: unknown;
|
|
64779
64787
|
CUSTOM: unknown;
|
|
64788
|
+
NONE: unknown;
|
|
64780
64789
|
USER: unknown;
|
|
64781
64790
|
TEAM: unknown;
|
|
64782
64791
|
DATA_SUB_CATEGORY: unknown;
|
|
@@ -65140,6 +65149,69 @@ declare const ConsentPurpose: t.IntersectionC<[t.TypeC<{
|
|
|
65140
65149
|
}>]>;
|
|
65141
65150
|
/** Type override */
|
|
65142
65151
|
type ConsentPurpose = t.TypeOf<typeof ConsentPurpose>;
|
|
65152
|
+
/**
|
|
65153
|
+
* Input for a purpose associated with a preference workflow config
|
|
65154
|
+
*/
|
|
65155
|
+
declare const PreferenceWorkflowConfigPurposeInput: t.TypeC<{
|
|
65156
|
+
/** The tracking type slug of the purpose */'tracking-type': t.StringC; /** The matching consent state for the purpose */
|
|
65157
|
+
'matching-state': t.BooleanC;
|
|
65158
|
+
}>;
|
|
65159
|
+
/** Type override */
|
|
65160
|
+
type PreferenceWorkflowConfigPurposeInput = t.TypeOf<typeof PreferenceWorkflowConfigPurposeInput>;
|
|
65161
|
+
/**
|
|
65162
|
+
* Input to define a preference workflow config.
|
|
65163
|
+
* Purposes are the source of truth; triggerCondition is derived on push
|
|
65164
|
+
* (same as Workflows → Preference Workflows in the admin dashboard).
|
|
65165
|
+
*
|
|
65166
|
+
* Exactly one mode per config:
|
|
65167
|
+
* - Legacy: action-type (+ optional data-silo-titles), no workflow-title
|
|
65168
|
+
* - V2: workflow-title (DSR workflow display title), no action-type / data-silo-titles
|
|
65169
|
+
*/
|
|
65170
|
+
declare const PreferenceWorkflowConfigInput: t.IntersectionC<[t.TypeC<{
|
|
65171
|
+
/** The name of the preference workflow config */name: t.StringC;
|
|
65172
|
+
/**
|
|
65173
|
+
* Purposes and their matching consent states.
|
|
65174
|
+
* Used to derive triggerCondition as `{ And: [{ [tracking-type]: matching-state }, ...] }`.
|
|
65175
|
+
*/
|
|
65176
|
+
purposes: t.ArrayC<t.TypeC<{
|
|
65177
|
+
/** The tracking type slug of the purpose */'tracking-type': t.StringC; /** The matching consent state for the purpose */
|
|
65178
|
+
'matching-state': t.BooleanC;
|
|
65179
|
+
}>>;
|
|
65180
|
+
}>, t.PartialC<{
|
|
65181
|
+
/**
|
|
65182
|
+
* DSR workflow display title (internalName when set, else external title).
|
|
65183
|
+
* Workflows V2 mode — mutually exclusive with action-type / data-silo-titles.
|
|
65184
|
+
*/
|
|
65185
|
+
'workflow-title': t.StringC; /** The action type (e.g. ERASURE, ACCESS). Legacy mode; required when creating without workflow-title. */
|
|
65186
|
+
'action-type': t.KeyofC<{
|
|
65187
|
+
AUTOMATED_DECISION_MAKING_OPT_OUT: unknown;
|
|
65188
|
+
USE_OF_SENSITIVE_INFORMATION_OPT_OUT: unknown;
|
|
65189
|
+
CONTACT_OPT_OUT: unknown;
|
|
65190
|
+
SALE_OPT_OUT: unknown;
|
|
65191
|
+
TRACKING_OPT_OUT: unknown;
|
|
65192
|
+
CUSTOM_OPT_OUT: unknown;
|
|
65193
|
+
AUTOMATED_DECISION_MAKING_OPT_IN: unknown;
|
|
65194
|
+
USE_OF_SENSITIVE_INFORMATION_OPT_IN: unknown;
|
|
65195
|
+
SALE_OPT_IN: unknown;
|
|
65196
|
+
TRACKING_OPT_IN: unknown;
|
|
65197
|
+
CONTACT_OPT_IN: unknown;
|
|
65198
|
+
CUSTOM_OPT_IN: unknown;
|
|
65199
|
+
ACCESS: unknown;
|
|
65200
|
+
ERASURE: unknown;
|
|
65201
|
+
RECTIFICATION: unknown;
|
|
65202
|
+
RESTRICTION: unknown;
|
|
65203
|
+
BUSINESS_PURPOSE: unknown;
|
|
65204
|
+
PLACE_ON_LEGAL_HOLD: unknown;
|
|
65205
|
+
REMOVE_FROM_LEGAL_HOLD: unknown;
|
|
65206
|
+
}>; /** The data subject type slug (e.g. customer) */
|
|
65207
|
+
'data-subject-type': t.StringC; /** Whether the config runs silently */
|
|
65208
|
+
'is-silent': t.BooleanC; /** Whether unauthenticated requests are allowed */
|
|
65209
|
+
'allow-unauthenticated': t.BooleanC; /** Whether the config is active */
|
|
65210
|
+
'is-active': t.BooleanC; /** Titles of data silos associated with this config (legacy mode only) */
|
|
65211
|
+
'data-silo-titles': t.ArrayC<t.StringC>;
|
|
65212
|
+
}>]>;
|
|
65213
|
+
/** Type override */
|
|
65214
|
+
type PreferenceWorkflowConfigInput = t.TypeOf<typeof PreferenceWorkflowConfigInput>;
|
|
65143
65215
|
/**
|
|
65144
65216
|
* Input to define a workflow config. Push matches using a cascading key
|
|
65145
65217
|
* (internal-name → title → action-type → data-subject-type → region-list) and
|
|
@@ -121777,7 +121849,16 @@ declare const TranscendInput: t.PartialC<{
|
|
|
121777
121849
|
policies: t.ArrayC<t.IntersectionC<[t.TypeC<{
|
|
121778
121850
|
/** The title of the policy */title: t.StringC;
|
|
121779
121851
|
}>, t.PartialC<{
|
|
121780
|
-
/**
|
|
121852
|
+
/**
|
|
121853
|
+
* Policy type. On create, defaults from title
|
|
121854
|
+
* (Privacy Policy / Cookie Policy / CUSTOM).
|
|
121855
|
+
*/
|
|
121856
|
+
type: t.KeyofC<{
|
|
121857
|
+
PRIVACY_POLICY: unknown;
|
|
121858
|
+
COOKIE_POLICY: unknown;
|
|
121859
|
+
CUSTOM: unknown;
|
|
121860
|
+
}>; /** Effective date of policy */
|
|
121861
|
+
effectiveOn: t.StringC; /** Whether or not to disable the effective date */
|
|
121781
121862
|
disableEffectiveOn: t.BooleanC; /** Content of the policy */
|
|
121782
121863
|
content: t.StringC; /** The languages for which the policy is disabled for */
|
|
121783
121864
|
disabledLocales: t.ArrayC<t.KeyofC<{
|
|
@@ -122212,8 +122293,8 @@ declare const TranscendInput: t.PartialC<{
|
|
|
122212
122293
|
}>;
|
|
122213
122294
|
}>, t.PartialC<{
|
|
122214
122295
|
/** The sub-type of the assessment question */'sub-type': t.KeyofC<{
|
|
122215
|
-
NONE: unknown;
|
|
122216
122296
|
CUSTOM: unknown;
|
|
122297
|
+
NONE: unknown;
|
|
122217
122298
|
USER: unknown;
|
|
122218
122299
|
TEAM: unknown;
|
|
122219
122300
|
DATA_SUB_CATEGORY: unknown;
|
|
@@ -122449,8 +122530,8 @@ declare const TranscendInput: t.PartialC<{
|
|
|
122449
122530
|
}>;
|
|
122450
122531
|
}>, t.PartialC<{
|
|
122451
122532
|
/** The sub-type of the assessment question */'sub-type': t.KeyofC<{
|
|
122452
|
-
NONE: unknown;
|
|
122453
122533
|
CUSTOM: unknown;
|
|
122534
|
+
NONE: unknown;
|
|
122454
122535
|
USER: unknown;
|
|
122455
122536
|
TEAM: unknown;
|
|
122456
122537
|
DATA_SUB_CATEGORY: unknown;
|
|
@@ -139072,6 +139153,52 @@ declare const TranscendInput: t.PartialC<{
|
|
|
139072
139153
|
plaintextContext: t.StringC; /** The custom title of the data silo results */
|
|
139073
139154
|
title: t.UnionC<[t.StringC, t.NullC]>;
|
|
139074
139155
|
}>]>>;
|
|
139156
|
+
/**
|
|
139157
|
+
* Preference workflow config definitions (Workflows → Preference Workflows)
|
|
139158
|
+
*/
|
|
139159
|
+
'preference-workflow-configs': t.ArrayC<t.IntersectionC<[t.TypeC<{
|
|
139160
|
+
/** The name of the preference workflow config */name: t.StringC;
|
|
139161
|
+
/**
|
|
139162
|
+
* Purposes and their matching consent states.
|
|
139163
|
+
* Used to derive triggerCondition as `{ And: [{ [tracking-type]: matching-state }, ...] }`.
|
|
139164
|
+
*/
|
|
139165
|
+
purposes: t.ArrayC<t.TypeC<{
|
|
139166
|
+
/** The tracking type slug of the purpose */'tracking-type': t.StringC; /** The matching consent state for the purpose */
|
|
139167
|
+
'matching-state': t.BooleanC;
|
|
139168
|
+
}>>;
|
|
139169
|
+
}>, t.PartialC<{
|
|
139170
|
+
/**
|
|
139171
|
+
* DSR workflow display title (internalName when set, else external title).
|
|
139172
|
+
* Workflows V2 mode — mutually exclusive with action-type / data-silo-titles.
|
|
139173
|
+
*/
|
|
139174
|
+
'workflow-title': t.StringC; /** The action type (e.g. ERASURE, ACCESS). Legacy mode; required when creating without workflow-title. */
|
|
139175
|
+
'action-type': t.KeyofC<{
|
|
139176
|
+
AUTOMATED_DECISION_MAKING_OPT_OUT: unknown;
|
|
139177
|
+
USE_OF_SENSITIVE_INFORMATION_OPT_OUT: unknown;
|
|
139178
|
+
CONTACT_OPT_OUT: unknown;
|
|
139179
|
+
SALE_OPT_OUT: unknown;
|
|
139180
|
+
TRACKING_OPT_OUT: unknown;
|
|
139181
|
+
CUSTOM_OPT_OUT: unknown;
|
|
139182
|
+
AUTOMATED_DECISION_MAKING_OPT_IN: unknown;
|
|
139183
|
+
USE_OF_SENSITIVE_INFORMATION_OPT_IN: unknown;
|
|
139184
|
+
SALE_OPT_IN: unknown;
|
|
139185
|
+
TRACKING_OPT_IN: unknown;
|
|
139186
|
+
CONTACT_OPT_IN: unknown;
|
|
139187
|
+
CUSTOM_OPT_IN: unknown;
|
|
139188
|
+
ACCESS: unknown;
|
|
139189
|
+
ERASURE: unknown;
|
|
139190
|
+
RECTIFICATION: unknown;
|
|
139191
|
+
RESTRICTION: unknown;
|
|
139192
|
+
BUSINESS_PURPOSE: unknown;
|
|
139193
|
+
PLACE_ON_LEGAL_HOLD: unknown;
|
|
139194
|
+
REMOVE_FROM_LEGAL_HOLD: unknown;
|
|
139195
|
+
}>; /** The data subject type slug (e.g. customer) */
|
|
139196
|
+
'data-subject-type': t.StringC; /** Whether the config runs silently */
|
|
139197
|
+
'is-silent': t.BooleanC; /** Whether unauthenticated requests are allowed */
|
|
139198
|
+
'allow-unauthenticated': t.BooleanC; /** Whether the config is active */
|
|
139199
|
+
'is-active': t.BooleanC; /** Titles of data silos associated with this config (legacy mode only) */
|
|
139200
|
+
'data-silo-titles': t.ArrayC<t.StringC>;
|
|
139201
|
+
}>]>>;
|
|
139075
139202
|
/**
|
|
139076
139203
|
* DSR workflow config settings (create or update via cascading match key)
|
|
139077
139204
|
*/
|
|
@@ -150165,6 +150292,7 @@ declare enum TranscendPullResource {
|
|
|
150165
150292
|
Purposes = "purposes",
|
|
150166
150293
|
PreferenceOptions = "preferenceOptions",
|
|
150167
150294
|
SystemDiscovery = "systemDiscovery",
|
|
150295
|
+
PreferenceWorkflowConfigs = "preferenceWorkflowConfigs",
|
|
150168
150296
|
WorkflowConfigs = "workflowConfigs"
|
|
150169
150297
|
}
|
|
150170
150298
|
/**
|
|
@@ -175139,5 +175267,5 @@ declare function enrichPrivacyRequest(sombra: Got, {
|
|
|
175139
175267
|
...rest
|
|
175140
175268
|
}: EnrichPrivacyRequest, enricherId: string, index?: number): Promise<boolean>;
|
|
175141
175269
|
//#endregion
|
|
175142
|
-
export { ADMIN_DASH, ADMIN_DASH_DATAPOINTS, ADMIN_DASH_INTEGRATIONS, AIIntegrationC, APPROVE_PRIVACY_REQUEST, ASSESSMENT_TEMPLATES, ActionInput, ActionItemCollectionInput, ActionItemInput, AgentFileInput, AgentFunctionInput, AgentInput, ApiKeyGenerateError, ApiKeyInput, AssessmentAnswerOptionInput, AssessmentDisplayLogicInput, AssessmentInput, AssessmentNestedRuleInput, AssessmentResourceInput, AssessmentRetentionScheduleInput, AssessmentRuleInput, AssessmentSectionInput, AssessmentSectionQuestionInput, AssessmentTemplate, AssessmentTemplateInput, AttestedExtraIdentifiers, AttributeInput, AttributeNameMap, AttributePreview, AttributeValueInput, BLANK, BULK_APPLY, BusinessEntityInput, CANCEL_PRIVACY_REQUEST, CAN_APPLY_IN_BULK, CachedFileState, CachedRequestState, ChunkedDateRange, CodePackageInput, CodePackageSdk, ColumnName, ColumnNameMap, ConsentManageExperienceInput, ConsentManagerInput, ConsentManagerServiceMetadata, ConsentPreferenceTopic, ConsentPreferenceTopicOptionValue, ConsentPurpose, CookieCsvInput, CookieInput, CronIdentifier, CronIdentifierPush, CronIdentifierWithAction, CronPartition, CsvFormattedIdentifier, CsvRow, DEBUG, DEFAULT_TRANSCEND_API, DEFAULT_TRANSCEND_API_KEY, DEFAULT_TRANSCEND_CONSENT_API, DEFAULT_TRANSCEND_PULL_RESOURCES, DataCategoryGuessInput, DataCategoryInput, DataCategoryPreviewInput, DataCategoryRecommendationInput, DataFlowCsvInput, DataFlowInput, DataPointCsvPreview, DataSiloCsvPreview, DataSiloInput, DataSubjectInput, DatapointFilterOptions, DatapointInput, ENTRY_COUNT, EnabledRouteC, EnabledRoutesC, EnrichPrivacyRequest, EnricherInput, ExportedPrivacyRequest, FieldInput, GetPromptParamType, GetPromptResponseType, IDENTIFIER_BLOCK_LIST, IP_ADDRESS_REGEX, IS_REQUIRED, IdentifierInput, IdentifierNameMap, ImportOnetrustAssessmentsInput, IntlMessage, IntlMessageInput, NONE, NOTIFY_ADDITIONAL_TIME, OneTrustFileFormat, OneTrustPullResource, OneTrustPullSource, OpenAIEnabledRoute, OpenAIEnabledRoutes, OpenAIIntegration, OpenAIRouteName, ParquetToCsvOneFileOptions, ParsedAttributeInput, PartitionInput, PathfinderPolicy, PathfinderPolicyName, PathfinderPolicyNameC, PathfinderPromptRunMetadata, PolicyInput, PrivacyCenterInput, PrivacyRequest, PrivacyRequestInput, PrivacyRequestResponse, PrivacyRequestWithIdentifiers, ProcessingActivityInput, ProcessingPurposeInput, ProcessingPurposePreviewInput, PromptAVendorEmailSettings, PromptGroupInput, PromptInput, PromptPartialInput, PromptRunResult, PurposeMap, REQUESTS, REQUESTS_COUNT, RETRYABLE_BATCH_STATUSES, RegionInput, ReportPromptRunOptions, RepositoryInput, RequestFileMetadata, RequestFileMetadataResponse, RequestPurposeTrigger, RiskAssignmentInput, RiskLogicInput, SCOPES_BY_TITLE, SCOPE_TITLES, SiloDiscoveryResultInput, SoftwareDevelopmentKitInput, StoredApiKey, SubDataPointCsvPreview, SuccessfulRequest, TR_PULL_RESOURCE_SCOPE_MAP, TR_PUSH_RESOURCE_SCOPE_MAP, TR_YML_RESOURCE_TO_FIELD_NAME, TeamInput, TemplateInput, TranscendInput, TranscendPrompt, TranscendPromptManager, TranscendPullConfigurationInput, TranscendPullResource, UPDATE_PRIVACY_REQUEST, USP_STRING_REGEX, VARIABLE_PARAMETERS_NAME, VARIABLE_PARAMETERS_REGEXP, VendorInput, WebhookHeader, WorkflowConfigInput, XdiSyncGroups, appendCsvRowsOrdered, appendCsvSync, approvePrivacyRequests, buildAIIntegrationType, buildEnabledRouteType, buildXdiSyncEndpoint, bulkRestartRequests, bulkRetryEnrichers, cancelPrivacyRequests, collectCsvFilesOrExit, collectParquetFilesOrExit, consentManagersToBusinessEntities, createCodePackage, createConsentToken, createRegexForTag, defineTranscendPrompts, description, domainToHost, downloadPrivacyRequestFiles, enrichPrivacyRequest, ensureAllDataSubjectsExist, extractClientError, fetchAllAssessmentTemplates, fetchAllRequests, fetchRequestDataSiloActiveCount, fetchRequestsTotalCount, filterNullishValuesFromObject, filterRows, formatRequestForCsv, fuzzyMatchColumns, fuzzySearch, generateCrossAccountApiKeys, getFileMetadataForPrivacyRequests, getGitFilesThatChanged, getUniqueValuesForColumn, initCsvFile, inquirerAutoComplete, inquirerConfirmBoolean, inquirerConfirmText, listDirectories, listFiles, mapColumnsToAttributes, mapColumnsToIdentifiers, mapCsvColumnsToApi, mapCsvRowsToRequestInputs, mapEnumValues, mapRequestEnumValues, markCronIdentifierCompleted, markRequestDataSiloIdsCompleted, markSilentPrivacyRequests, mergeTranscendInputs, name, normalizeIdentifierValue, notifyPrivacyRequestsAdditionalTime, parquetToCsvOneFile, parseAttributesFromString, parseFilePath, parseVariablesFromString, pullAllDatapoints, pullChunkedCustomSiloOutstandingIdentifiers, pullConsentManagerMetrics, pullCronPageOfIdentifiers, pullManualEnrichmentIdentifiersToCsv, pullPrivacyRequests, pullTranscendConfiguration, pullUnstructuredSubDataPointRecommendations, pushCronIdentifiersFromCsv, pushManualEnrichmentIdentifiersFromCsv, readCsv, readSafe, readTranscendYaml, removeLinks, removeUnverifiedRequestIdentifiers, replaceVariablesInYaml, restartPrivacyRequest, retryRequestDataSilos, skipPreflightJobs, skipRequestDataSilos, splitDateRange, streamPrivacyRequestFiles, streamPrivacyRequestsToCsv, submitPrivacyRequest, syncCodePackages, syncConfigurationToTranscend, syncCookies, syncDataSilos, updateCodePackages, updateConsentManagerVersionToLatest, updateOrCreateCookies, uploadConsents, uploadCookiesFromCsv, uploadDataFlowsFromCsv, uploadPrivacyRequestsFromCsv, validateTranscendAuth, version, writeCsv, writeCsvSync, writeLargeCsv, writeTranscendYaml };
|
|
175270
|
+
export { ADMIN_DASH, ADMIN_DASH_DATAPOINTS, ADMIN_DASH_INTEGRATIONS, AIIntegrationC, APPROVE_PRIVACY_REQUEST, ASSESSMENT_TEMPLATES, ActionInput, ActionItemCollectionInput, ActionItemInput, AgentFileInput, AgentFunctionInput, AgentInput, ApiKeyGenerateError, ApiKeyInput, AssessmentAnswerOptionInput, AssessmentDisplayLogicInput, AssessmentInput, AssessmentNestedRuleInput, AssessmentResourceInput, AssessmentRetentionScheduleInput, AssessmentRuleInput, AssessmentSectionInput, AssessmentSectionQuestionInput, AssessmentTemplate, AssessmentTemplateInput, AttestedExtraIdentifiers, AttributeInput, AttributeNameMap, AttributePreview, AttributeValueInput, BLANK, BULK_APPLY, BusinessEntityInput, CANCEL_PRIVACY_REQUEST, CAN_APPLY_IN_BULK, CachedFileState, CachedRequestState, ChunkedDateRange, CodePackageInput, CodePackageSdk, ColumnName, ColumnNameMap, ConsentManageExperienceInput, ConsentManagerInput, ConsentManagerServiceMetadata, ConsentPreferenceTopic, ConsentPreferenceTopicOptionValue, ConsentPurpose, CookieCsvInput, CookieInput, CronIdentifier, CronIdentifierPush, CronIdentifierWithAction, CronPartition, CsvFormattedIdentifier, CsvRow, DEBUG, DEFAULT_TRANSCEND_API, DEFAULT_TRANSCEND_API_KEY, DEFAULT_TRANSCEND_CONSENT_API, DEFAULT_TRANSCEND_PULL_RESOURCES, DataCategoryGuessInput, DataCategoryInput, DataCategoryPreviewInput, DataCategoryRecommendationInput, DataFlowCsvInput, DataFlowInput, DataPointCsvPreview, DataSiloCsvPreview, DataSiloInput, DataSubjectInput, DatapointFilterOptions, DatapointInput, ENTRY_COUNT, EnabledRouteC, EnabledRoutesC, EnrichPrivacyRequest, EnricherInput, ExportedPrivacyRequest, FieldInput, GetPromptParamType, GetPromptResponseType, IDENTIFIER_BLOCK_LIST, IP_ADDRESS_REGEX, IS_REQUIRED, IdentifierInput, IdentifierNameMap, ImportOnetrustAssessmentsInput, IntlMessage, IntlMessageInput, NONE, NOTIFY_ADDITIONAL_TIME, OneTrustFileFormat, OneTrustPullResource, OneTrustPullSource, OpenAIEnabledRoute, OpenAIEnabledRoutes, OpenAIIntegration, OpenAIRouteName, ParquetToCsvOneFileOptions, ParsedAttributeInput, PartitionInput, PathfinderPolicy, PathfinderPolicyName, PathfinderPolicyNameC, PathfinderPromptRunMetadata, PolicyInput, PreferenceWorkflowConfigInput, PreferenceWorkflowConfigPurposeInput, PrivacyCenterInput, PrivacyRequest, PrivacyRequestInput, PrivacyRequestResponse, PrivacyRequestWithIdentifiers, ProcessingActivityInput, ProcessingPurposeInput, ProcessingPurposePreviewInput, PromptAVendorEmailSettings, PromptGroupInput, PromptInput, PromptPartialInput, PromptRunResult, PurposeMap, REQUESTS, REQUESTS_COUNT, RETRYABLE_BATCH_STATUSES, RegionInput, ReportPromptRunOptions, RepositoryInput, RequestFileMetadata, RequestFileMetadataResponse, RequestPurposeTrigger, RiskAssignmentInput, RiskLogicInput, SCOPES_BY_TITLE, SCOPE_TITLES, SiloDiscoveryResultInput, SoftwareDevelopmentKitInput, StoredApiKey, SubDataPointCsvPreview, SuccessfulRequest, TR_PULL_RESOURCE_SCOPE_MAP, TR_PUSH_RESOURCE_SCOPE_MAP, TR_YML_RESOURCE_TO_FIELD_NAME, TeamInput, TemplateInput, TranscendInput, TranscendPrompt, TranscendPromptManager, TranscendPullConfigurationInput, TranscendPullResource, UPDATE_PRIVACY_REQUEST, USP_STRING_REGEX, VARIABLE_PARAMETERS_NAME, VARIABLE_PARAMETERS_REGEXP, VendorInput, WebhookHeader, WorkflowConfigInput, XdiSyncGroups, appendCsvRowsOrdered, appendCsvSync, approvePrivacyRequests, buildAIIntegrationType, buildEnabledRouteType, buildXdiSyncEndpoint, bulkRestartRequests, bulkRetryEnrichers, cancelPrivacyRequests, collectCsvFilesOrExit, collectParquetFilesOrExit, consentManagersToBusinessEntities, createCodePackage, createConsentToken, createRegexForTag, defineTranscendPrompts, description, domainToHost, downloadPrivacyRequestFiles, enrichPrivacyRequest, ensureAllDataSubjectsExist, extractClientError, fetchAllAssessmentTemplates, fetchAllRequests, fetchRequestDataSiloActiveCount, fetchRequestsTotalCount, filterNullishValuesFromObject, filterRows, formatRequestForCsv, fuzzyMatchColumns, fuzzySearch, generateCrossAccountApiKeys, getFileMetadataForPrivacyRequests, getGitFilesThatChanged, getUniqueValuesForColumn, initCsvFile, inquirerAutoComplete, inquirerConfirmBoolean, inquirerConfirmText, listDirectories, listFiles, mapColumnsToAttributes, mapColumnsToIdentifiers, mapCsvColumnsToApi, mapCsvRowsToRequestInputs, mapEnumValues, mapRequestEnumValues, markCronIdentifierCompleted, markRequestDataSiloIdsCompleted, markSilentPrivacyRequests, mergeTranscendInputs, name, normalizeIdentifierValue, notifyPrivacyRequestsAdditionalTime, parquetToCsvOneFile, parseAttributesFromString, parseFilePath, parseVariablesFromString, pullAllDatapoints, pullChunkedCustomSiloOutstandingIdentifiers, pullConsentManagerMetrics, pullCronPageOfIdentifiers, pullManualEnrichmentIdentifiersToCsv, pullPrivacyRequests, pullTranscendConfiguration, pullUnstructuredSubDataPointRecommendations, pushCronIdentifiersFromCsv, pushManualEnrichmentIdentifiersFromCsv, readCsv, readSafe, readTranscendYaml, removeLinks, removeUnverifiedRequestIdentifiers, replaceVariablesInYaml, restartPrivacyRequest, retryRequestDataSilos, skipPreflightJobs, skipRequestDataSilos, splitDateRange, streamPrivacyRequestFiles, streamPrivacyRequestsToCsv, submitPrivacyRequest, syncCodePackages, syncConfigurationToTranscend, syncCookies, syncDataSilos, updateCodePackages, updateConsentManagerVersionToLatest, updateOrCreateCookies, uploadConsents, uploadCookiesFromCsv, uploadDataFlowsFromCsv, uploadPrivacyRequestsFromCsv, validateTranscendAuth, version, writeCsv, writeCsvSync, writeLargeCsv, writeTranscendYaml };
|
|
175143
175271
|
//# sourceMappingURL=index.d.mts.map
|