@transcend-io/cli 6.26.8 → 7.0.0-alpha.10
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 +1007 -2565
- package/dist/bin/bash-complete.js +3 -0
- package/dist/bin/cli.js +2 -0
- package/dist/bin/deprecated-command.js +6 -0
- package/dist/chunk-2FMBK7EQ.js +2830 -0
- package/dist/chunk-AHYJJKNA.js +1 -0
- package/dist/chunk-APA5PR4U.js +1 -0
- package/dist/chunk-DTKOSX7V.js +74 -0
- package/dist/chunk-DXOAW6K3.js +1 -0
- package/dist/chunk-EZCJGIOS.js +1 -0
- package/dist/chunk-F4XXBUFM.js +11 -0
- package/dist/chunk-HMF46LB7.js +1 -0
- package/dist/chunk-L2SPDKF4.js +1 -0
- package/dist/chunk-LWRD3DNX.js +3 -0
- package/dist/chunk-MKUBKUQO.js +93 -0
- package/dist/chunk-OERYFLN2.js +1 -0
- package/dist/chunk-QQRMUEM7.js +3 -0
- package/dist/chunk-R5WBISY5.js +1 -0
- package/dist/chunk-R76D6QCT.js +1 -0
- package/dist/chunk-RAHNPFEG.js +1 -0
- package/dist/chunk-RBOBI6B6.js +5 -0
- package/dist/chunk-RZ3H3AKY.js +2 -0
- package/dist/chunk-T2PLXAEM.js +1 -0
- package/dist/chunk-U66XZ2QS.js +8 -0
- package/dist/chunk-VN4S2A5A.js +1 -0
- package/dist/chunk-W6GUOMVP.js +1 -0
- package/dist/chunk-XMGVDVM2.js +1 -0
- package/dist/chunk-ZB5DNAF3.js +1 -0
- package/dist/impl-2WFCE3NQ.js +1 -0
- package/dist/impl-424N4CNI.js +1 -0
- package/dist/impl-4QGAT3EL.js +1 -0
- package/dist/impl-6EM4MWFJ.js +1 -0
- package/dist/impl-6KSDOODU.js +1 -0
- package/dist/impl-6TNYAKRE.js +1 -0
- package/dist/impl-6YQILA4G.js +5 -0
- package/dist/impl-A3A3743Y.js +5 -0
- package/dist/impl-AGGJXPJE.js +1 -0
- package/dist/impl-CVXUBWM3.js +1 -0
- package/dist/impl-DFX7WJML.js +1 -0
- package/dist/impl-DUO3FKJO.js +1 -0
- package/dist/impl-GCP4YV4V.js +1 -0
- package/dist/impl-GFKQQAIZ.js +3 -0
- package/dist/impl-GW34VD6D.js +1 -0
- package/dist/impl-HJ2TEJA4.js +1 -0
- package/dist/impl-HXSGNZWA.js +1 -0
- package/dist/impl-I36LGCWV.js +1 -0
- package/dist/impl-IWD4XEGF.js +1 -0
- package/dist/impl-K6LFUREX.js +1 -0
- package/dist/impl-LMGG6SET.js +1 -0
- package/dist/impl-M2QHMARV.js +1 -0
- package/dist/impl-MCGNBSTB.js +6 -0
- package/dist/impl-MQYUMXYT.js +8 -0
- package/dist/impl-NYB4YSNU.js +1 -0
- package/dist/impl-O57JWKDO.js +11 -0
- package/dist/impl-Q26ZNVKH.js +1 -0
- package/dist/impl-Q4AYM2LP.js +1 -0
- package/dist/impl-QW7LVCIG.js +1 -0
- package/dist/impl-REBNHNHS.js +1 -0
- package/dist/impl-RREKLU5Y.js +1 -0
- package/dist/impl-TRV73CJM.js +1 -0
- package/dist/impl-UKT74QA2.js +5 -0
- package/dist/impl-VKJ2BBOI.js +1 -0
- package/dist/impl-W5OXXCN3.js +1 -0
- package/dist/impl-WWVBI2VM.js +1 -0
- package/dist/impl-XLJ55WDX.js +1 -0
- package/dist/impl-YO4XMK67.js +1 -0
- package/dist/impl-ZIZA6YZP.js +1 -0
- package/dist/index.js +4 -0
- package/package.json +92 -70
- package/.yarn/sdks/eslint/package.json +0 -6
- package/.yarn/sdks/prettier/package.json +0 -6
- package/.yarn/sdks/typescript/package.json +0 -6
- package/CHANGELOG.md +0 -125
- package/build/ai/TranscendPromptManager.d.ts +0 -254
- package/build/ai/TranscendPromptManager.d.ts.map +0 -1
- package/build/ai/TranscendPromptManager.js +0 -472
- package/build/ai/TranscendPromptManager.js.map +0 -1
- package/build/ai/filterNullishValuesFromObject.d.ts +0 -9
- package/build/ai/filterNullishValuesFromObject.d.ts.map +0 -1
- package/build/ai/filterNullishValuesFromObject.js +0 -20
- package/build/ai/filterNullishValuesFromObject.js.map +0 -1
- package/build/ai/getGitFilesThatChanged.d.ts +0 -31
- package/build/ai/getGitFilesThatChanged.d.ts.map +0 -1
- package/build/ai/getGitFilesThatChanged.js +0 -56
- package/build/ai/getGitFilesThatChanged.js.map +0 -1
- package/build/ai/index.d.ts +0 -6
- package/build/ai/index.d.ts.map +0 -1
- package/build/ai/index.js +0 -24
- package/build/ai/index.js.map +0 -1
- package/build/ai/removeLinks.d.ts +0 -8
- package/build/ai/removeLinks.d.ts.map +0 -1
- package/build/ai/removeLinks.js +0 -15
- package/build/ai/removeLinks.js.map +0 -1
- package/build/api-keys/generateCrossAccountApiKeys.d.ts +0 -40
- package/build/api-keys/generateCrossAccountApiKeys.d.ts.map +0 -1
- package/build/api-keys/generateCrossAccountApiKeys.js +0 -96
- package/build/api-keys/generateCrossAccountApiKeys.js.map +0 -1
- package/build/api-keys/index.d.ts +0 -5
- package/build/api-keys/index.d.ts.map +0 -1
- package/build/api-keys/index.js +0 -21
- package/build/api-keys/index.js.map +0 -1
- package/build/api-keys/listDirectories.d.ts +0 -8
- package/build/api-keys/listDirectories.d.ts.map +0 -1
- package/build/api-keys/listDirectories.js +0 -16
- package/build/api-keys/listDirectories.js.map +0 -1
- package/build/api-keys/listFiles.d.ts +0 -17
- package/build/api-keys/listFiles.d.ts.map +0 -1
- package/build/api-keys/listFiles.js +0 -34
- package/build/api-keys/listFiles.js.map +0 -1
- package/build/api-keys/validateTranscendAuth.d.ts +0 -10
- package/build/api-keys/validateTranscendAuth.d.ts.map +0 -1
- package/build/api-keys/validateTranscendAuth.js +0 -58
- package/build/api-keys/validateTranscendAuth.js.map +0 -1
- package/build/cli-build-xdi-sync-endpoint.d.ts +0 -3
- package/build/cli-build-xdi-sync-endpoint.d.ts.map +0 -1
- package/build/cli-build-xdi-sync-endpoint.js +0 -48
- package/build/cli-build-xdi-sync-endpoint.js.map +0 -1
- package/build/cli-chunk-csv.d.ts +0 -14
- package/build/cli-chunk-csv.d.ts.map +0 -1
- package/build/cli-chunk-csv.js +0 -140
- package/build/cli-chunk-csv.js.map +0 -1
- package/build/cli-consent-manager-service-json-to-yml.d.ts +0 -3
- package/build/cli-consent-manager-service-json-to-yml.d.ts.map +0 -1
- package/build/cli-consent-manager-service-json-to-yml.js +0 -92
- package/build/cli-consent-manager-service-json-to-yml.js.map +0 -1
- package/build/cli-consent-managers-to-business-entities.d.ts +0 -3
- package/build/cli-consent-managers-to-business-entities.d.ts.map +0 -1
- package/build/cli-consent-managers-to-business-entities.js +0 -56
- package/build/cli-consent-managers-to-business-entities.js.map +0 -1
- package/build/cli-cron-mark-identifiers-completed.d.ts +0 -3
- package/build/cli-cron-mark-identifiers-completed.d.ts.map +0 -1
- package/build/cli-cron-mark-identifiers-completed.js +0 -45
- package/build/cli-cron-mark-identifiers-completed.js.map +0 -1
- package/build/cli-cron-pull-identifiers.d.ts +0 -3
- package/build/cli-cron-pull-identifiers.d.ts.map +0 -1
- package/build/cli-cron-pull-identifiers.js +0 -99
- package/build/cli-cron-pull-identifiers.js.map +0 -1
- package/build/cli-cron-pull-profiles.d.ts +0 -3
- package/build/cli-cron-pull-profiles.d.ts.map +0 -1
- package/build/cli-cron-pull-profiles.js +0 -152
- package/build/cli-cron-pull-profiles.js.map +0 -1
- package/build/cli-derive-data-silos-from-data-flows-cross-instance.d.ts +0 -3
- package/build/cli-derive-data-silos-from-data-flows-cross-instance.d.ts.map +0 -1
- package/build/cli-derive-data-silos-from-data-flows-cross-instance.js +0 -148
- package/build/cli-derive-data-silos-from-data-flows-cross-instance.js.map +0 -1
- package/build/cli-derive-data-silos-from-data-flows.d.ts +0 -3
- package/build/cli-derive-data-silos-from-data-flows.d.ts.map +0 -1
- package/build/cli-derive-data-silos-from-data-flows.js +0 -88
- package/build/cli-derive-data-silos-from-data-flows.js.map +0 -1
- package/build/cli-discover-silos.d.ts +0 -3
- package/build/cli-discover-silos.d.ts.map +0 -1
- package/build/cli-discover-silos.js +0 -65
- package/build/cli-discover-silos.js.map +0 -1
- package/build/cli-generate-cross-account-api-keys.d.ts +0 -3
- package/build/cli-generate-cross-account-api-keys.d.ts.map +0 -1
- package/build/cli-generate-cross-account-api-keys.js +0 -89
- package/build/cli-generate-cross-account-api-keys.js.map +0 -1
- package/build/cli-manual-enrichment-pull-identifiers.d.ts +0 -3
- package/build/cli-manual-enrichment-pull-identifiers.d.ts.map +0 -1
- package/build/cli-manual-enrichment-pull-identifiers.js +0 -56
- package/build/cli-manual-enrichment-pull-identifiers.js.map +0 -1
- package/build/cli-manual-enrichment-push-identifiers.d.ts +0 -3
- package/build/cli-manual-enrichment-push-identifiers.d.ts.map +0 -1
- package/build/cli-manual-enrichment-push-identifiers.js +0 -51
- package/build/cli-manual-enrichment-push-identifiers.js.map +0 -1
- package/build/cli-mark-request-data-silos-completed.d.ts +0 -3
- package/build/cli-mark-request-data-silos-completed.d.ts.map +0 -1
- package/build/cli-mark-request-data-silos-completed.js +0 -81
- package/build/cli-mark-request-data-silos-completed.js.map +0 -1
- package/build/cli-pull-consent-metrics.d.ts +0 -3
- package/build/cli-pull-consent-metrics.d.ts.map +0 -1
- package/build/cli-pull-consent-metrics.js +0 -161
- package/build/cli-pull-consent-metrics.js.map +0 -1
- package/build/cli-pull-consent-preferences.d.ts +0 -3
- package/build/cli-pull-consent-preferences.d.ts.map +0 -1
- package/build/cli-pull-consent-preferences.js +0 -83
- package/build/cli-pull-consent-preferences.js.map +0 -1
- package/build/cli-pull-datapoints.d.ts +0 -3
- package/build/cli-pull-datapoints.d.ts.map +0 -1
- package/build/cli-pull-datapoints.js +0 -93
- package/build/cli-pull-datapoints.js.map +0 -1
- package/build/cli-pull-unstructured-discovery-files.d.ts +0 -3
- package/build/cli-pull-unstructured-discovery-files.d.ts.map +0 -1
- package/build/cli-pull-unstructured-discovery-files.js +0 -73
- package/build/cli-pull-unstructured-discovery-files.js.map +0 -1
- package/build/cli-pull.d.ts +0 -3
- package/build/cli-pull.d.ts.map +0 -1
- package/build/cli-pull.js +0 -135
- package/build/cli-pull.js.map +0 -1
- package/build/cli-push.d.ts +0 -3
- package/build/cli-push.d.ts.map +0 -1
- package/build/cli-push.js +0 -167
- package/build/cli-push.js.map +0 -1
- package/build/cli-request-approve.d.ts +0 -3
- package/build/cli-request-approve.d.ts.map +0 -1
- package/build/cli-request-approve.js +0 -88
- package/build/cli-request-approve.js.map +0 -1
- package/build/cli-request-cancel.d.ts +0 -3
- package/build/cli-request-cancel.d.ts.map +0 -1
- package/build/cli-request-cancel.js +0 -90
- package/build/cli-request-cancel.js.map +0 -1
- package/build/cli-request-download-files.d.ts +0 -3
- package/build/cli-request-download-files.d.ts.map +0 -1
- package/build/cli-request-download-files.js +0 -77
- package/build/cli-request-download-files.js.map +0 -1
- package/build/cli-request-enricher-restart.d.ts +0 -3
- package/build/cli-request-enricher-restart.d.ts.map +0 -1
- package/build/cli-request-enricher-restart.js +0 -94
- package/build/cli-request-enricher-restart.js.map +0 -1
- package/build/cli-request-export.d.ts +0 -3
- package/build/cli-request-export.d.ts.map +0 -1
- package/build/cli-request-export.js +0 -96
- package/build/cli-request-export.js.map +0 -1
- package/build/cli-request-mark-silent.d.ts +0 -3
- package/build/cli-request-mark-silent.d.ts.map +0 -1
- package/build/cli-request-mark-silent.js +0 -84
- package/build/cli-request-mark-silent.js.map +0 -1
- package/build/cli-request-notify-additional-time.d.ts +0 -3
- package/build/cli-request-notify-additional-time.d.ts.map +0 -1
- package/build/cli-request-notify-additional-time.js +0 -88
- package/build/cli-request-notify-additional-time.js.map +0 -1
- package/build/cli-request-reject-unverified-identifiers.d.ts +0 -3
- package/build/cli-request-reject-unverified-identifiers.d.ts.map +0 -1
- package/build/cli-request-reject-unverified-identifiers.js +0 -57
- package/build/cli-request-reject-unverified-identifiers.js.map +0 -1
- package/build/cli-request-restart.d.ts +0 -3
- package/build/cli-request-restart.d.ts.map +0 -1
- package/build/cli-request-restart.js +0 -111
- package/build/cli-request-restart.js.map +0 -1
- package/build/cli-request-upload.d.ts +0 -3
- package/build/cli-request-upload.d.ts.map +0 -1
- package/build/cli-request-upload.js +0 -60
- package/build/cli-request-upload.js.map +0 -1
- package/build/cli-retry-request-data-silos.d.ts +0 -3
- package/build/cli-retry-request-data-silos.d.ts.map +0 -1
- package/build/cli-retry-request-data-silos.js +0 -57
- package/build/cli-retry-request-data-silos.js.map +0 -1
- package/build/cli-scan-packages.d.ts +0 -3
- package/build/cli-scan-packages.d.ts.map +0 -1
- package/build/cli-scan-packages.js +0 -76
- package/build/cli-scan-packages.js.map +0 -1
- package/build/cli-skip-preflight-jobs.d.ts +0 -3
- package/build/cli-skip-preflight-jobs.d.ts.map +0 -1
- package/build/cli-skip-preflight-jobs.js +0 -53
- package/build/cli-skip-preflight-jobs.js.map +0 -1
- package/build/cli-skip-request-data-silos.d.ts +0 -3
- package/build/cli-skip-request-data-silos.d.ts.map +0 -1
- package/build/cli-skip-request-data-silos.js +0 -70
- package/build/cli-skip-request-data-silos.js.map +0 -1
- package/build/cli-sync-ot.d.ts +0 -3
- package/build/cli-sync-ot.d.ts.map +0 -1
- package/build/cli-sync-ot.js +0 -58
- package/build/cli-sync-ot.js.map +0 -1
- package/build/cli-update-consent-manager-to-latest.d.ts +0 -3
- package/build/cli-update-consent-manager-to-latest.d.ts.map +0 -1
- package/build/cli-update-consent-manager-to-latest.js +0 -70
- package/build/cli-update-consent-manager-to-latest.js.map +0 -1
- package/build/cli-upload-consent-preferences.d.ts +0 -3
- package/build/cli-upload-consent-preferences.d.ts.map +0 -1
- package/build/cli-upload-consent-preferences.js +0 -73
- package/build/cli-upload-consent-preferences.js.map +0 -1
- package/build/cli-upload-cookies-from-csv.d.ts +0 -3
- package/build/cli-upload-cookies-from-csv.d.ts.map +0 -1
- package/build/cli-upload-cookies-from-csv.js +0 -59
- package/build/cli-upload-cookies-from-csv.js.map +0 -1
- package/build/cli-upload-data-flows-from-csv.d.ts +0 -3
- package/build/cli-upload-data-flows-from-csv.d.ts.map +0 -1
- package/build/cli-upload-data-flows-from-csv.js +0 -60
- package/build/cli-upload-data-flows-from-csv.js.map +0 -1
- package/build/cli-upload-preferences.d.ts +0 -3
- package/build/cli-upload-preferences.d.ts.map +0 -1
- package/build/cli-upload-preferences.js +0 -142
- package/build/cli-upload-preferences.js.map +0 -1
- package/build/code-scanning/constants.d.ts +0 -12
- package/build/code-scanning/constants.d.ts.map +0 -1
- package/build/code-scanning/constants.js +0 -28
- package/build/code-scanning/constants.js.map +0 -1
- package/build/code-scanning/findCodePackagesInFolder.d.ts +0 -16
- package/build/code-scanning/findCodePackagesInFolder.d.ts.map +0 -1
- package/build/code-scanning/findCodePackagesInFolder.js +0 -51
- package/build/code-scanning/findCodePackagesInFolder.js.map +0 -1
- package/build/code-scanning/findFilesToScan.d.ts +0 -29
- package/build/code-scanning/findFilesToScan.d.ts.map +0 -1
- package/build/code-scanning/findFilesToScan.js +0 -49
- package/build/code-scanning/findFilesToScan.js.map +0 -1
- package/build/code-scanning/index.d.ts +0 -4
- package/build/code-scanning/index.d.ts.map +0 -1
- package/build/code-scanning/index.js +0 -20
- package/build/code-scanning/index.js.map +0 -1
- package/build/code-scanning/integrations/cocoaPods.d.ts +0 -3
- package/build/code-scanning/integrations/cocoaPods.d.ts.map +0 -1
- package/build/code-scanning/integrations/cocoaPods.js +0 -44
- package/build/code-scanning/integrations/cocoaPods.js.map +0 -1
- package/build/code-scanning/integrations/composerJson.d.ts +0 -3
- package/build/code-scanning/integrations/composerJson.d.ts.map +0 -1
- package/build/code-scanning/integrations/composerJson.js +0 -34
- package/build/code-scanning/integrations/composerJson.js.map +0 -1
- package/build/code-scanning/integrations/gemfile.d.ts +0 -3
- package/build/code-scanning/integrations/gemfile.d.ts.map +0 -1
- package/build/code-scanning/integrations/gemfile.js +0 -58
- package/build/code-scanning/integrations/gemfile.js.map +0 -1
- package/build/code-scanning/integrations/gradle.d.ts +0 -13
- package/build/code-scanning/integrations/gradle.d.ts.map +0 -1
- package/build/code-scanning/integrations/gradle.js +0 -81
- package/build/code-scanning/integrations/gradle.js.map +0 -1
- package/build/code-scanning/integrations/index.d.ts +0 -9
- package/build/code-scanning/integrations/index.d.ts.map +0 -1
- package/build/code-scanning/integrations/index.js +0 -25
- package/build/code-scanning/integrations/index.js.map +0 -1
- package/build/code-scanning/integrations/javascriptPackageJson.d.ts +0 -3
- package/build/code-scanning/integrations/javascriptPackageJson.d.ts.map +0 -1
- package/build/code-scanning/integrations/javascriptPackageJson.js +0 -38
- package/build/code-scanning/integrations/javascriptPackageJson.js.map +0 -1
- package/build/code-scanning/integrations/pubspec.d.ts +0 -3
- package/build/code-scanning/integrations/pubspec.d.ts.map +0 -1
- package/build/code-scanning/integrations/pubspec.js +0 -70
- package/build/code-scanning/integrations/pubspec.js.map +0 -1
- package/build/code-scanning/integrations/pythonRequirementsTxt.d.ts +0 -3
- package/build/code-scanning/integrations/pythonRequirementsTxt.d.ts.map +0 -1
- package/build/code-scanning/integrations/pythonRequirementsTxt.js +0 -47
- package/build/code-scanning/integrations/pythonRequirementsTxt.js.map +0 -1
- package/build/code-scanning/integrations/swift.d.ts +0 -3
- package/build/code-scanning/integrations/swift.d.ts.map +0 -1
- package/build/code-scanning/integrations/swift.js +0 -62
- package/build/code-scanning/integrations/swift.js.map +0 -1
- package/build/code-scanning/types.d.ts +0 -10
- package/build/code-scanning/types.d.ts.map +0 -1
- package/build/code-scanning/types.js +0 -3
- package/build/code-scanning/types.js.map +0 -1
- package/build/codecs.d.ts +0 -89632
- package/build/codecs.d.ts.map +0 -1
- package/build/codecs.js +0 -1805
- package/build/codecs.js.map +0 -1
- package/build/consent-manager/buildXdiSyncEndpoint.d.ts +0 -43
- package/build/consent-manager/buildXdiSyncEndpoint.d.ts.map +0 -1
- package/build/consent-manager/buildXdiSyncEndpoint.js +0 -81
- package/build/consent-manager/buildXdiSyncEndpoint.js.map +0 -1
- package/build/consent-manager/consentManagersToBusinessEntities.d.ts +0 -14
- package/build/consent-manager/consentManagersToBusinessEntities.d.ts.map +0 -1
- package/build/consent-manager/consentManagersToBusinessEntities.js +0 -67
- package/build/consent-manager/consentManagersToBusinessEntities.js.map +0 -1
- package/build/consent-manager/createConsentToken.d.ts +0 -11
- package/build/consent-manager/createConsentToken.d.ts.map +0 -1
- package/build/consent-manager/createConsentToken.js +0 -67
- package/build/consent-manager/createConsentToken.js.map +0 -1
- package/build/consent-manager/dataFlowsToDataSilos.d.ts +0 -19
- package/build/consent-manager/dataFlowsToDataSilos.d.ts.map +0 -1
- package/build/consent-manager/dataFlowsToDataSilos.js +0 -95
- package/build/consent-manager/dataFlowsToDataSilos.js.map +0 -1
- package/build/consent-manager/domainToHost.d.ts +0 -8
- package/build/consent-manager/domainToHost.d.ts.map +0 -1
- package/build/consent-manager/domainToHost.js +0 -12
- package/build/consent-manager/domainToHost.js.map +0 -1
- package/build/consent-manager/fetchConsentPreferences.d.ts +0 -52
- package/build/consent-manager/fetchConsentPreferences.d.ts.map +0 -1
- package/build/consent-manager/fetchConsentPreferences.js +0 -80
- package/build/consent-manager/fetchConsentPreferences.js.map +0 -1
- package/build/consent-manager/index.d.ts +0 -11
- package/build/consent-manager/index.d.ts.map +0 -1
- package/build/consent-manager/index.js +0 -27
- package/build/consent-manager/index.js.map +0 -1
- package/build/consent-manager/pullConsentManagerMetrics.d.ts +0 -25
- package/build/consent-manager/pullConsentManagerMetrics.d.ts.map +0 -1
- package/build/consent-manager/pullConsentManagerMetrics.js +0 -72
- package/build/consent-manager/pullConsentManagerMetrics.js.map +0 -1
- package/build/consent-manager/types.d.ts +0 -94
- package/build/consent-manager/types.d.ts.map +0 -1
- package/build/consent-manager/types.js +0 -80
- package/build/consent-manager/types.js.map +0 -1
- package/build/consent-manager/updateConsentManagerVersionToLatest.d.ts +0 -17
- package/build/consent-manager/updateConsentManagerVersionToLatest.d.ts.map +0 -1
- package/build/consent-manager/updateConsentManagerVersionToLatest.js +0 -46
- package/build/consent-manager/updateConsentManagerVersionToLatest.js.map +0 -1
- package/build/consent-manager/uploadConsents.d.ts +0 -24
- package/build/consent-manager/uploadConsents.d.ts.map +0 -1
- package/build/consent-manager/uploadConsents.js +0 -136
- package/build/consent-manager/uploadConsents.js.map +0 -1
- package/build/consent-manager/uploadCookiesFromCsv.d.ts +0 -17
- package/build/consent-manager/uploadCookiesFromCsv.d.ts.map +0 -1
- package/build/consent-manager/uploadCookiesFromCsv.js +0 -73
- package/build/consent-manager/uploadCookiesFromCsv.js.map +0 -1
- package/build/consent-manager/uploadDataFlowsFromCsv.d.ts +0 -19
- package/build/consent-manager/uploadDataFlowsFromCsv.d.ts.map +0 -1
- package/build/consent-manager/uploadDataFlowsFromCsv.js +0 -71
- package/build/consent-manager/uploadDataFlowsFromCsv.js.map +0 -1
- package/build/constants.d.ts +0 -30
- package/build/constants.d.ts.map +0 -1
- package/build/constants.js +0 -149
- package/build/constants.js.map +0 -1
- package/build/cron/index.d.ts +0 -7
- package/build/cron/index.d.ts.map +0 -1
- package/build/cron/index.js +0 -23
- package/build/cron/index.js.map +0 -1
- package/build/cron/markCronIdentifierCompleted.d.ts +0 -21
- package/build/cron/markCronIdentifierCompleted.d.ts.map +0 -1
- package/build/cron/markCronIdentifierCompleted.js +0 -70
- package/build/cron/markCronIdentifierCompleted.js.map +0 -1
- package/build/cron/markRequestDataSiloIdsCompleted.d.ts +0 -22
- package/build/cron/markRequestDataSiloIdsCompleted.d.ts.map +0 -1
- package/build/cron/markRequestDataSiloIdsCompleted.js +0 -57
- package/build/cron/markRequestDataSiloIdsCompleted.js.map +0 -1
- package/build/cron/pullChunkedCustomSiloOutstandingIdentifiers.d.ts +0 -44
- package/build/cron/pullChunkedCustomSiloOutstandingIdentifiers.d.ts.map +0 -1
- package/build/cron/pullChunkedCustomSiloOutstandingIdentifiers.js +0 -108
- package/build/cron/pullChunkedCustomSiloOutstandingIdentifiers.js.map +0 -1
- package/build/cron/pullCronPageOfIdentifiers.d.ts +0 -47
- package/build/cron/pullCronPageOfIdentifiers.d.ts.map +0 -1
- package/build/cron/pullCronPageOfIdentifiers.js +0 -82
- package/build/cron/pullCronPageOfIdentifiers.js.map +0 -1
- package/build/cron/pushCronIdentifiersFromCsv.d.ts +0 -23
- package/build/cron/pushCronIdentifiersFromCsv.d.ts.map +0 -1
- package/build/cron/pushCronIdentifiersFromCsv.js +0 -85
- package/build/cron/pushCronIdentifiersFromCsv.js.map +0 -1
- package/build/cron/writeCsv.d.ts +0 -47
- package/build/cron/writeCsv.d.ts.map +0 -1
- package/build/cron/writeCsv.js +0 -147
- package/build/cron/writeCsv.js.map +0 -1
- package/build/data-inventory/index.d.ts +0 -3
- package/build/data-inventory/index.d.ts.map +0 -1
- package/build/data-inventory/index.js +0 -19
- package/build/data-inventory/index.js.map +0 -1
- package/build/data-inventory/pullAllDatapoints.d.ts +0 -78
- package/build/data-inventory/pullAllDatapoints.d.ts.map +0 -1
- package/build/data-inventory/pullAllDatapoints.js +0 -249
- package/build/data-inventory/pullAllDatapoints.js.map +0 -1
- package/build/data-inventory/pullUnstructuredSubDataPointRecommendations.d.ts +0 -58
- package/build/data-inventory/pullUnstructuredSubDataPointRecommendations.d.ts.map +0 -1
- package/build/data-inventory/pullUnstructuredSubDataPointRecommendations.js +0 -110
- package/build/data-inventory/pullUnstructuredSubDataPointRecommendations.js.map +0 -1
- package/build/enums.d.ts +0 -90
- package/build/enums.d.ts.map +0 -1
- package/build/enums.js +0 -90
- package/build/enums.js.map +0 -1
- package/build/graphql/addMessagesToPromptRun.d.ts +0 -40
- package/build/graphql/addMessagesToPromptRun.d.ts.map +0 -1
- package/build/graphql/addMessagesToPromptRun.js +0 -27
- package/build/graphql/addMessagesToPromptRun.js.map +0 -1
- package/build/graphql/buildTranscendGraphQLClient.d.ts +0 -18
- package/build/graphql/buildTranscendGraphQLClient.d.ts.map +0 -1
- package/build/graphql/buildTranscendGraphQLClient.js +0 -37
- package/build/graphql/buildTranscendGraphQLClient.js.map +0 -1
- package/build/graphql/createSombraGotInstance.d.ts +0 -12
- package/build/graphql/createSombraGotInstance.d.ts.map +0 -1
- package/build/graphql/createSombraGotInstance.js +0 -39
- package/build/graphql/createSombraGotInstance.js.map +0 -1
- package/build/graphql/createTranscendConsentGotInstance.d.ts +0 -10
- package/build/graphql/createTranscendConsentGotInstance.d.ts.map +0 -1
- package/build/graphql/createTranscendConsentGotInstance.js +0 -22
- package/build/graphql/createTranscendConsentGotInstance.js.map +0 -1
- package/build/graphql/deployConsentManager.d.ts +0 -27
- package/build/graphql/deployConsentManager.d.ts.map +0 -1
- package/build/graphql/deployConsentManager.js +0 -32
- package/build/graphql/deployConsentManager.js.map +0 -1
- package/build/graphql/fetchActiveSiloDiscoPlugin.d.ts +0 -28
- package/build/graphql/fetchActiveSiloDiscoPlugin.d.ts.map +0 -1
- package/build/graphql/fetchActiveSiloDiscoPlugin.js +0 -28
- package/build/graphql/fetchActiveSiloDiscoPlugin.js.map +0 -1
- package/build/graphql/fetchAllActionItemCollections.d.ts +0 -26
- package/build/graphql/fetchAllActionItemCollections.d.ts.map +0 -1
- package/build/graphql/fetchAllActionItemCollections.js +0 -22
- package/build/graphql/fetchAllActionItemCollections.js.map +0 -1
- package/build/graphql/fetchAllActionItems.d.ts +0 -107
- package/build/graphql/fetchAllActionItems.d.ts.map +0 -1
- package/build/graphql/fetchAllActionItems.js +0 -48
- package/build/graphql/fetchAllActionItems.js.map +0 -1
- package/build/graphql/fetchAllActions.d.ts +0 -28
- package/build/graphql/fetchAllActions.d.ts.map +0 -1
- package/build/graphql/fetchAllActions.js +0 -32
- package/build/graphql/fetchAllActions.js.map +0 -1
- package/build/graphql/fetchAllAgentFiles.d.ts +0 -35
- package/build/graphql/fetchAllAgentFiles.d.ts.map +0 -1
- package/build/graphql/fetchAllAgentFiles.js +0 -34
- package/build/graphql/fetchAllAgentFiles.js.map +0 -1
- package/build/graphql/fetchAllAgentFunctions.d.ts +0 -20
- package/build/graphql/fetchAllAgentFunctions.d.ts.map +0 -1
- package/build/graphql/fetchAllAgentFunctions.js +0 -35
- package/build/graphql/fetchAllAgentFunctions.js.map +0 -1
- package/build/graphql/fetchAllAgents.d.ts +0 -64
- package/build/graphql/fetchAllAgents.d.ts.map +0 -1
- package/build/graphql/fetchAllAgents.js +0 -34
- package/build/graphql/fetchAllAgents.js.map +0 -1
- package/build/graphql/fetchAllAssessmentTemplates.d.ts +0 -44
- package/build/graphql/fetchAllAssessmentTemplates.d.ts.map +0 -1
- package/build/graphql/fetchAllAssessmentTemplates.js +0 -31
- package/build/graphql/fetchAllAssessmentTemplates.js.map +0 -1
- package/build/graphql/fetchAllAssessments.d.ts +0 -309
- package/build/graphql/fetchAllAssessments.d.ts.map +0 -1
- package/build/graphql/fetchAllAssessments.js +0 -32
- package/build/graphql/fetchAllAssessments.js.map +0 -1
- package/build/graphql/fetchAllAttributeKeys.d.ts +0 -17
- package/build/graphql/fetchAllAttributeKeys.d.ts.map +0 -1
- package/build/graphql/fetchAllAttributeKeys.js +0 -32
- package/build/graphql/fetchAllAttributeKeys.js.map +0 -1
- package/build/graphql/fetchAllAttributes.d.ts +0 -45
- package/build/graphql/fetchAllAttributes.d.ts.map +0 -1
- package/build/graphql/fetchAllAttributes.js +0 -78
- package/build/graphql/fetchAllAttributes.js.map +0 -1
- package/build/graphql/fetchAllBusinessEntities.d.ts +0 -38
- package/build/graphql/fetchAllBusinessEntities.d.ts.map +0 -1
- package/build/graphql/fetchAllBusinessEntities.js +0 -32
- package/build/graphql/fetchAllBusinessEntities.js.map +0 -1
- package/build/graphql/fetchAllCodePackages.d.ts +0 -52
- package/build/graphql/fetchAllCodePackages.d.ts.map +0 -1
- package/build/graphql/fetchAllCodePackages.js +0 -32
- package/build/graphql/fetchAllCodePackages.js.map +0 -1
- package/build/graphql/fetchAllCookies.d.ts +0 -52
- package/build/graphql/fetchAllCookies.d.ts.map +0 -1
- package/build/graphql/fetchAllCookies.js +0 -38
- package/build/graphql/fetchAllCookies.js.map +0 -1
- package/build/graphql/fetchAllDataCategories.d.ts +0 -42
- package/build/graphql/fetchAllDataCategories.d.ts.map +0 -1
- package/build/graphql/fetchAllDataCategories.js +0 -32
- package/build/graphql/fetchAllDataCategories.js.map +0 -1
- package/build/graphql/fetchAllDataFlows.d.ts +0 -52
- package/build/graphql/fetchAllDataFlows.d.ts.map +0 -1
- package/build/graphql/fetchAllDataFlows.js +0 -41
- package/build/graphql/fetchAllDataFlows.js.map +0 -1
- package/build/graphql/fetchAllMessages.d.ts +0 -25
- package/build/graphql/fetchAllMessages.d.ts.map +0 -1
- package/build/graphql/fetchAllMessages.js +0 -17
- package/build/graphql/fetchAllMessages.js.map +0 -1
- package/build/graphql/fetchAllPolicies.d.ts +0 -29
- package/build/graphql/fetchAllPolicies.d.ts.map +0 -1
- package/build/graphql/fetchAllPolicies.js +0 -21
- package/build/graphql/fetchAllPolicies.js.map +0 -1
- package/build/graphql/fetchAllPreferenceTopics.d.ts +0 -53
- package/build/graphql/fetchAllPreferenceTopics.d.ts.map +0 -1
- package/build/graphql/fetchAllPreferenceTopics.js +0 -32
- package/build/graphql/fetchAllPreferenceTopics.js.map +0 -1
- package/build/graphql/fetchAllPrivacyCenters.d.ts +0 -53
- package/build/graphql/fetchAllPrivacyCenters.d.ts.map +0 -1
- package/build/graphql/fetchAllPrivacyCenters.js +0 -26
- package/build/graphql/fetchAllPrivacyCenters.js.map +0 -1
- package/build/graphql/fetchAllProcessingPurposes.d.ts +0 -40
- package/build/graphql/fetchAllProcessingPurposes.d.ts.map +0 -1
- package/build/graphql/fetchAllProcessingPurposes.js +0 -32
- package/build/graphql/fetchAllProcessingPurposes.js.map +0 -1
- package/build/graphql/fetchAllPurposes.d.ts +0 -47
- package/build/graphql/fetchAllPurposes.d.ts.map +0 -1
- package/build/graphql/fetchAllPurposes.js +0 -36
- package/build/graphql/fetchAllPurposes.js.map +0 -1
- package/build/graphql/fetchAllPurposesAndPreferences.d.ts +0 -15
- package/build/graphql/fetchAllPurposesAndPreferences.d.ts.map +0 -1
- package/build/graphql/fetchAllPurposesAndPreferences.js +0 -26
- package/build/graphql/fetchAllPurposesAndPreferences.js.map +0 -1
- package/build/graphql/fetchAllRepositories.d.ts +0 -33
- package/build/graphql/fetchAllRepositories.d.ts.map +0 -1
- package/build/graphql/fetchAllRepositories.js +0 -32
- package/build/graphql/fetchAllRepositories.js.map +0 -1
- package/build/graphql/fetchAllRequestEnrichers.d.ts +0 -29
- package/build/graphql/fetchAllRequestEnrichers.d.ts.map +0 -1
- package/build/graphql/fetchAllRequestEnrichers.js +0 -34
- package/build/graphql/fetchAllRequestEnrichers.js.map +0 -1
- package/build/graphql/fetchAllRequestIdentifierMetadata.d.ts +0 -21
- package/build/graphql/fetchAllRequestIdentifierMetadata.d.ts.map +0 -1
- package/build/graphql/fetchAllRequestIdentifierMetadata.js +0 -34
- package/build/graphql/fetchAllRequestIdentifierMetadata.js.map +0 -1
- package/build/graphql/fetchAllRequestIdentifiers.d.ts +0 -105
- package/build/graphql/fetchAllRequestIdentifiers.d.ts.map +0 -1
- package/build/graphql/fetchAllRequestIdentifiers.js +0 -94
- package/build/graphql/fetchAllRequestIdentifiers.js.map +0 -1
- package/build/graphql/fetchAllRequests.d.ts +0 -5577
- package/build/graphql/fetchAllRequests.d.ts.map +0 -1
- package/build/graphql/fetchAllRequests.js +0 -146
- package/build/graphql/fetchAllRequests.js.map +0 -1
- package/build/graphql/fetchAllSoftwareDevelopmentKits.d.ts +0 -38
- package/build/graphql/fetchAllSoftwareDevelopmentKits.d.ts.map +0 -1
- package/build/graphql/fetchAllSoftwareDevelopmentKits.js +0 -32
- package/build/graphql/fetchAllSoftwareDevelopmentKits.js.map +0 -1
- package/build/graphql/fetchAllTeams.d.ts +0 -42
- package/build/graphql/fetchAllTeams.d.ts.map +0 -1
- package/build/graphql/fetchAllTeams.js +0 -32
- package/build/graphql/fetchAllTeams.js.map +0 -1
- package/build/graphql/fetchAllUsers.d.ts +0 -17
- package/build/graphql/fetchAllUsers.d.ts.map +0 -1
- package/build/graphql/fetchAllUsers.js +0 -32
- package/build/graphql/fetchAllUsers.js.map +0 -1
- package/build/graphql/fetchAllVendors.d.ts +0 -57
- package/build/graphql/fetchAllVendors.d.ts.map +0 -1
- package/build/graphql/fetchAllVendors.js +0 -32
- package/build/graphql/fetchAllVendors.js.map +0 -1
- package/build/graphql/fetchApiKeys.d.ts +0 -29
- package/build/graphql/fetchApiKeys.d.ts.map +0 -1
- package/build/graphql/fetchApiKeys.js +0 -72
- package/build/graphql/fetchApiKeys.js.map +0 -1
- package/build/graphql/fetchCatalogs.d.ts +0 -37
- package/build/graphql/fetchCatalogs.d.ts.map +0 -1
- package/build/graphql/fetchCatalogs.js +0 -54
- package/build/graphql/fetchCatalogs.js.map +0 -1
- package/build/graphql/fetchConsentManagerId.d.ts +0 -166
- package/build/graphql/fetchConsentManagerId.d.ts.map +0 -1
- package/build/graphql/fetchConsentManagerId.js +0 -91
- package/build/graphql/fetchConsentManagerId.js.map +0 -1
- package/build/graphql/fetchDataSubjects.d.ts +0 -62
- package/build/graphql/fetchDataSubjects.d.ts.map +0 -1
- package/build/graphql/fetchDataSubjects.js +0 -103
- package/build/graphql/fetchDataSubjects.js.map +0 -1
- package/build/graphql/fetchIdentifiers.d.ts +0 -58
- package/build/graphql/fetchIdentifiers.d.ts.map +0 -1
- package/build/graphql/fetchIdentifiers.js +0 -89
- package/build/graphql/fetchIdentifiers.js.map +0 -1
- package/build/graphql/fetchLargeLanguageModels.d.ts +0 -20
- package/build/graphql/fetchLargeLanguageModels.d.ts.map +0 -1
- package/build/graphql/fetchLargeLanguageModels.js +0 -32
- package/build/graphql/fetchLargeLanguageModels.js.map +0 -1
- package/build/graphql/fetchPrivacyCenterId.d.ts +0 -17
- package/build/graphql/fetchPrivacyCenterId.d.ts.map +0 -1
- package/build/graphql/fetchPrivacyCenterId.js +0 -35
- package/build/graphql/fetchPrivacyCenterId.js.map +0 -1
- package/build/graphql/fetchPromptGroups.d.ts +0 -22
- package/build/graphql/fetchPromptGroups.d.ts.map +0 -1
- package/build/graphql/fetchPromptGroups.js +0 -32
- package/build/graphql/fetchPromptGroups.js.map +0 -1
- package/build/graphql/fetchPromptPartials.d.ts +0 -17
- package/build/graphql/fetchPromptPartials.d.ts.map +0 -1
- package/build/graphql/fetchPromptPartials.js +0 -32
- package/build/graphql/fetchPromptPartials.js.map +0 -1
- package/build/graphql/fetchPromptThreads.d.ts +0 -29
- package/build/graphql/fetchPromptThreads.d.ts.map +0 -1
- package/build/graphql/fetchPromptThreads.js +0 -34
- package/build/graphql/fetchPromptThreads.js.map +0 -1
- package/build/graphql/fetchPrompts.d.ts +0 -112
- package/build/graphql/fetchPrompts.d.ts.map +0 -1
- package/build/graphql/fetchPrompts.js +0 -55
- package/build/graphql/fetchPrompts.js.map +0 -1
- package/build/graphql/fetchRequestDataSilo.d.ts +0 -41
- package/build/graphql/fetchRequestDataSilo.d.ts.map +0 -1
- package/build/graphql/fetchRequestDataSilo.js +0 -79
- package/build/graphql/fetchRequestDataSilo.js.map +0 -1
- package/build/graphql/fetchRequestDataSiloActiveCount.d.ts +0 -13
- package/build/graphql/fetchRequestDataSiloActiveCount.d.ts.map +0 -1
- package/build/graphql/fetchRequestDataSiloActiveCount.js +0 -23
- package/build/graphql/fetchRequestDataSiloActiveCount.js.map +0 -1
- package/build/graphql/fetchRequestFilesForRequest.d.ts +0 -21
- package/build/graphql/fetchRequestFilesForRequest.d.ts.map +0 -1
- package/build/graphql/fetchRequestFilesForRequest.js +0 -34
- package/build/graphql/fetchRequestFilesForRequest.js.map +0 -1
- package/build/graphql/formatAttributeValues.d.ts +0 -15
- package/build/graphql/formatAttributeValues.d.ts.map +0 -1
- package/build/graphql/formatAttributeValues.js +0 -29
- package/build/graphql/formatAttributeValues.js.map +0 -1
- package/build/graphql/gqls/RequestDataSilo.d.ts +0 -5
- package/build/graphql/gqls/RequestDataSilo.d.ts.map +0 -1
- package/build/graphql/gqls/RequestDataSilo.js +0 -69
- package/build/graphql/gqls/RequestDataSilo.js.map +0 -1
- package/build/graphql/gqls/RequestEnricher.d.ts +0 -4
- package/build/graphql/gqls/RequestEnricher.d.ts.map +0 -1
- package/build/graphql/gqls/RequestEnricher.js +0 -54
- package/build/graphql/gqls/RequestEnricher.js.map +0 -1
- package/build/graphql/gqls/RequestIdentifier.d.ts +0 -3
- package/build/graphql/gqls/RequestIdentifier.d.ts.map +0 -1
- package/build/graphql/gqls/RequestIdentifier.js +0 -41
- package/build/graphql/gqls/RequestIdentifier.js.map +0 -1
- package/build/graphql/gqls/action.d.ts +0 -3
- package/build/graphql/gqls/action.d.ts.map +0 -1
- package/build/graphql/gqls/action.js +0 -36
- package/build/graphql/gqls/action.js.map +0 -1
- package/build/graphql/gqls/actionItem.d.ts +0 -4
- package/build/graphql/gqls/actionItem.d.ts.map +0 -1
- package/build/graphql/gqls/actionItem.js +0 -74
- package/build/graphql/gqls/actionItem.js.map +0 -1
- package/build/graphql/gqls/actionItemCollection.d.ts +0 -4
- package/build/graphql/gqls/actionItemCollection.d.ts.map +0 -1
- package/build/graphql/gqls/actionItemCollection.js +0 -48
- package/build/graphql/gqls/actionItemCollection.js.map +0 -1
- package/build/graphql/gqls/agent.d.ts +0 -4
- package/build/graphql/gqls/agent.d.ts.map +0 -1
- package/build/graphql/gqls/agent.js +0 -72
- package/build/graphql/gqls/agent.js.map +0 -1
- package/build/graphql/gqls/agentFile.d.ts +0 -4
- package/build/graphql/gqls/agentFile.d.ts.map +0 -1
- package/build/graphql/gqls/agentFile.js +0 -54
- package/build/graphql/gqls/agentFile.js.map +0 -1
- package/build/graphql/gqls/agentFunction.d.ts +0 -4
- package/build/graphql/gqls/agentFunction.d.ts.map +0 -1
- package/build/graphql/gqls/agentFunction.js +0 -46
- package/build/graphql/gqls/agentFunction.js.map +0 -1
- package/build/graphql/gqls/apiKey.d.ts +0 -4
- package/build/graphql/gqls/apiKey.d.ts.map +0 -1
- package/build/graphql/gqls/apiKey.js +0 -44
- package/build/graphql/gqls/apiKey.js.map +0 -1
- package/build/graphql/gqls/assessment.d.ts +0 -4
- package/build/graphql/gqls/assessment.d.ts.map +0 -1
- package/build/graphql/gqls/assessment.js +0 -299
- package/build/graphql/gqls/assessment.js.map +0 -1
- package/build/graphql/gqls/assessmentTemplate.d.ts +0 -2
- package/build/graphql/gqls/assessmentTemplate.d.ts.map +0 -1
- package/build/graphql/gqls/assessmentTemplate.js +0 -70
- package/build/graphql/gqls/assessmentTemplate.js.map +0 -1
- package/build/graphql/gqls/attribute.d.ts +0 -9
- package/build/graphql/gqls/attribute.d.ts.map +0 -1
- package/build/graphql/gqls/attribute.js +0 -122
- package/build/graphql/gqls/attribute.js.map +0 -1
- package/build/graphql/gqls/attributeKey.d.ts +0 -2
- package/build/graphql/gqls/attributeKey.d.ts.map +0 -1
- package/build/graphql/gqls/attributeKey.js +0 -24
- package/build/graphql/gqls/attributeKey.js.map +0 -1
- package/build/graphql/gqls/auth.d.ts +0 -4
- package/build/graphql/gqls/auth.d.ts.map +0 -1
- package/build/graphql/gqls/auth.js +0 -46
- package/build/graphql/gqls/auth.js.map +0 -1
- package/build/graphql/gqls/businessEntity.d.ts +0 -4
- package/build/graphql/gqls/businessEntity.d.ts.map +0 -1
- package/build/graphql/gqls/businessEntity.js +0 -70
- package/build/graphql/gqls/businessEntity.js.map +0 -1
- package/build/graphql/gqls/catalog.d.ts +0 -2
- package/build/graphql/gqls/catalog.d.ts.map +0 -1
- package/build/graphql/gqls/catalog.js +0 -19
- package/build/graphql/gqls/catalog.js.map +0 -1
- package/build/graphql/gqls/codePackage.d.ts +0 -4
- package/build/graphql/gqls/codePackage.d.ts.map +0 -1
- package/build/graphql/gqls/codePackage.js +0 -112
- package/build/graphql/gqls/codePackage.js.map +0 -1
- package/build/graphql/gqls/consentManager.d.ts +0 -26
- package/build/graphql/gqls/consentManager.d.ts.map +0 -1
- package/build/graphql/gqls/consentManager.js +0 -391
- package/build/graphql/gqls/consentManager.js.map +0 -1
- package/build/graphql/gqls/consentManagerMetrics.d.ts +0 -2
- package/build/graphql/gqls/consentManagerMetrics.d.ts.map +0 -1
- package/build/graphql/gqls/consentManagerMetrics.js +0 -18
- package/build/graphql/gqls/consentManagerMetrics.js.map +0 -1
- package/build/graphql/gqls/dataCategory.d.ts +0 -4
- package/build/graphql/gqls/dataCategory.d.ts.map +0 -1
- package/build/graphql/gqls/dataCategory.js +0 -62
- package/build/graphql/gqls/dataCategory.js.map +0 -1
- package/build/graphql/gqls/dataPoint.d.ts +0 -8
- package/build/graphql/gqls/dataPoint.d.ts.map +0 -1
- package/build/graphql/gqls/dataPoint.js +0 -222
- package/build/graphql/gqls/dataPoint.js.map +0 -1
- package/build/graphql/gqls/dataSilo.d.ts +0 -6
- package/build/graphql/gqls/dataSilo.d.ts.map +0 -1
- package/build/graphql/gqls/dataSilo.js +0 -145
- package/build/graphql/gqls/dataSilo.js.map +0 -1
- package/build/graphql/gqls/dataSubject.d.ts +0 -5
- package/build/graphql/gqls/dataSubject.d.ts.map +0 -1
- package/build/graphql/gqls/dataSubject.js +0 -45
- package/build/graphql/gqls/dataSubject.js.map +0 -1
- package/build/graphql/gqls/enricher.d.ts +0 -14
- package/build/graphql/gqls/enricher.d.ts.map +0 -1
- package/build/graphql/gqls/enricher.js +0 -68
- package/build/graphql/gqls/enricher.js.map +0 -1
- package/build/graphql/gqls/entry.d.ts +0 -2
- package/build/graphql/gqls/entry.d.ts.map +0 -1
- package/build/graphql/gqls/entry.js +0 -17
- package/build/graphql/gqls/entry.js.map +0 -1
- package/build/graphql/gqls/identifier.d.ts +0 -5
- package/build/graphql/gqls/identifier.d.ts.map +0 -1
- package/build/graphql/gqls/identifier.js +0 -65
- package/build/graphql/gqls/identifier.js.map +0 -1
- package/build/graphql/gqls/index.d.ts +0 -50
- package/build/graphql/gqls/index.d.ts.map +0 -1
- package/build/graphql/gqls/index.js +0 -66
- package/build/graphql/gqls/index.js.map +0 -1
- package/build/graphql/gqls/largeLanguageModel.d.ts +0 -2
- package/build/graphql/gqls/largeLanguageModel.d.ts.map +0 -1
- package/build/graphql/gqls/largeLanguageModel.js +0 -33
- package/build/graphql/gqls/largeLanguageModel.js.map +0 -1
- package/build/graphql/gqls/message.d.ts +0 -3
- package/build/graphql/gqls/message.d.ts.map +0 -1
- package/build/graphql/gqls/message.js +0 -25
- package/build/graphql/gqls/message.js.map +0 -1
- package/build/graphql/gqls/organization.d.ts +0 -2
- package/build/graphql/gqls/organization.d.ts.map +0 -1
- package/build/graphql/gqls/organization.js +0 -14
- package/build/graphql/gqls/organization.js.map +0 -1
- package/build/graphql/gqls/policy.d.ts +0 -3
- package/build/graphql/gqls/policy.d.ts.map +0 -1
- package/build/graphql/gqls/policy.js +0 -39
- package/build/graphql/gqls/policy.js.map +0 -1
- package/build/graphql/gqls/preferenceTopic.d.ts +0 -2
- package/build/graphql/gqls/preferenceTopic.d.ts.map +0 -1
- package/build/graphql/gqls/preferenceTopic.js +0 -47
- package/build/graphql/gqls/preferenceTopic.js.map +0 -1
- package/build/graphql/gqls/privacyCenter.d.ts +0 -5
- package/build/graphql/gqls/privacyCenter.d.ts.map +0 -1
- package/build/graphql/gqls/privacyCenter.js +0 -52
- package/build/graphql/gqls/privacyCenter.js.map +0 -1
- package/build/graphql/gqls/processingPurpose.d.ts +0 -4
- package/build/graphql/gqls/processingPurpose.d.ts.map +0 -1
- package/build/graphql/gqls/processingPurpose.js +0 -64
- package/build/graphql/gqls/processingPurpose.js.map +0 -1
- package/build/graphql/gqls/prompt.d.ts +0 -11
- package/build/graphql/gqls/prompt.d.ts.map +0 -1
- package/build/graphql/gqls/prompt.js +0 -153
- package/build/graphql/gqls/prompt.js.map +0 -1
- package/build/graphql/gqls/promptRun.d.ts +0 -3
- package/build/graphql/gqls/promptRun.d.ts.map +0 -1
- package/build/graphql/gqls/promptRun.js +0 -27
- package/build/graphql/gqls/promptRun.js.map +0 -1
- package/build/graphql/gqls/promptThread.d.ts +0 -2
- package/build/graphql/gqls/promptThread.d.ts.map +0 -1
- package/build/graphql/gqls/promptThread.js +0 -23
- package/build/graphql/gqls/promptThread.js.map +0 -1
- package/build/graphql/gqls/purpose.d.ts +0 -2
- package/build/graphql/gqls/purpose.d.ts.map +0 -1
- package/build/graphql/gqls/purpose.js +0 -45
- package/build/graphql/gqls/purpose.js.map +0 -1
- package/build/graphql/gqls/repository.d.ts +0 -4
- package/build/graphql/gqls/repository.d.ts.map +0 -1
- package/build/graphql/gqls/repository.js +0 -80
- package/build/graphql/gqls/repository.js.map +0 -1
- package/build/graphql/gqls/request.d.ts +0 -6
- package/build/graphql/gqls/request.d.ts.map +0 -1
- package/build/graphql/gqls/request.js +0 -87
- package/build/graphql/gqls/request.js.map +0 -1
- package/build/graphql/gqls/requestFile.d.ts +0 -2
- package/build/graphql/gqls/requestFile.d.ts.map +0 -1
- package/build/graphql/gqls/requestFile.js +0 -30
- package/build/graphql/gqls/requestFile.js.map +0 -1
- package/build/graphql/gqls/siloDiscovery.d.ts +0 -3
- package/build/graphql/gqls/siloDiscovery.d.ts.map +0 -1
- package/build/graphql/gqls/siloDiscovery.js +0 -30
- package/build/graphql/gqls/siloDiscovery.js.map +0 -1
- package/build/graphql/gqls/softwareDevelopmentKit.d.ts +0 -4
- package/build/graphql/gqls/softwareDevelopmentKit.d.ts.map +0 -1
- package/build/graphql/gqls/softwareDevelopmentKit.js +0 -92
- package/build/graphql/gqls/softwareDevelopmentKit.js.map +0 -1
- package/build/graphql/gqls/sombraVersion.d.ts +0 -2
- package/build/graphql/gqls/sombraVersion.d.ts.map +0 -1
- package/build/graphql/gqls/sombraVersion.js +0 -14
- package/build/graphql/gqls/sombraVersion.js.map +0 -1
- package/build/graphql/gqls/team.d.ts +0 -4
- package/build/graphql/gqls/team.d.ts.map +0 -1
- package/build/graphql/gqls/team.js +0 -64
- package/build/graphql/gqls/team.js.map +0 -1
- package/build/graphql/gqls/template.d.ts +0 -3
- package/build/graphql/gqls/template.d.ts.map +0 -1
- package/build/graphql/gqls/template.js +0 -36
- package/build/graphql/gqls/template.js.map +0 -1
- package/build/graphql/gqls/user.d.ts +0 -2
- package/build/graphql/gqls/user.d.ts.map +0 -1
- package/build/graphql/gqls/user.js +0 -31
- package/build/graphql/gqls/user.js.map +0 -1
- package/build/graphql/gqls/vendor.d.ts +0 -4
- package/build/graphql/gqls/vendor.d.ts.map +0 -1
- package/build/graphql/gqls/vendor.js +0 -65
- package/build/graphql/gqls/vendor.js.map +0 -1
- package/build/graphql/index.d.ts +0 -87
- package/build/graphql/index.d.ts.map +0 -1
- package/build/graphql/index.js +0 -103
- package/build/graphql/index.js.map +0 -1
- package/build/graphql/loginUser.d.ts +0 -48
- package/build/graphql/loginUser.d.ts.map +0 -1
- package/build/graphql/loginUser.js +0 -51
- package/build/graphql/loginUser.js.map +0 -1
- package/build/graphql/makeGraphQLRequest.d.ts +0 -13
- package/build/graphql/makeGraphQLRequest.d.ts.map +0 -1
- package/build/graphql/makeGraphQLRequest.js +0 -77
- package/build/graphql/makeGraphQLRequest.js.map +0 -1
- package/build/graphql/manageApiKeys.d.ts +0 -31
- package/build/graphql/manageApiKeys.d.ts.map +0 -1
- package/build/graphql/manageApiKeys.js +0 -28
- package/build/graphql/manageApiKeys.js.map +0 -1
- package/build/graphql/parseAssessmentDisplayLogic.d.ts +0 -56
- package/build/graphql/parseAssessmentDisplayLogic.d.ts.map +0 -1
- package/build/graphql/parseAssessmentDisplayLogic.js +0 -62
- package/build/graphql/parseAssessmentDisplayLogic.js.map +0 -1
- package/build/graphql/parseAssessmentRiskLogic.d.ts +0 -29
- package/build/graphql/parseAssessmentRiskLogic.d.ts.map +0 -1
- package/build/graphql/parseAssessmentRiskLogic.js +0 -53
- package/build/graphql/parseAssessmentRiskLogic.js.map +0 -1
- package/build/graphql/pullTranscendConfiguration.d.ts +0 -34
- package/build/graphql/pullTranscendConfiguration.d.ts.map +0 -1
- package/build/graphql/pullTranscendConfiguration.js +0 -1013
- package/build/graphql/pullTranscendConfiguration.js.map +0 -1
- package/build/graphql/reportPromptRun.d.ts +0 -70
- package/build/graphql/reportPromptRun.d.ts.map +0 -1
- package/build/graphql/reportPromptRun.js +0 -26
- package/build/graphql/reportPromptRun.js.map +0 -1
- package/build/graphql/retryRequestEnricher.d.ts +0 -9
- package/build/graphql/retryRequestEnricher.d.ts.map +0 -1
- package/build/graphql/retryRequestEnricher.js +0 -18
- package/build/graphql/retryRequestEnricher.js.map +0 -1
- package/build/graphql/setResourceAttributes.d.ts +0 -23
- package/build/graphql/setResourceAttributes.d.ts.map +0 -1
- package/build/graphql/setResourceAttributes.js +0 -18
- package/build/graphql/setResourceAttributes.js.map +0 -1
- package/build/graphql/syncAction.d.ts +0 -17
- package/build/graphql/syncAction.d.ts.map +0 -1
- package/build/graphql/syncAction.js +0 -38
- package/build/graphql/syncAction.js.map +0 -1
- package/build/graphql/syncActionItemCollections.d.ts +0 -27
- package/build/graphql/syncActionItemCollections.d.ts.map +0 -1
- package/build/graphql/syncActionItemCollections.js +0 -97
- package/build/graphql/syncActionItemCollections.js.map +0 -1
- package/build/graphql/syncActionItems.d.ts +0 -37
- package/build/graphql/syncActionItems.d.ts.map +0 -1
- package/build/graphql/syncActionItems.js +0 -197
- package/build/graphql/syncActionItems.js.map +0 -1
- package/build/graphql/syncAgentFiles.d.ts +0 -26
- package/build/graphql/syncAgentFiles.d.ts.map +0 -1
- package/build/graphql/syncAgentFiles.js +0 -100
- package/build/graphql/syncAgentFiles.js.map +0 -1
- package/build/graphql/syncAgentFunctions.d.ts +0 -26
- package/build/graphql/syncAgentFunctions.d.ts.map +0 -1
- package/build/graphql/syncAgentFunctions.js +0 -95
- package/build/graphql/syncAgentFunctions.js.map +0 -1
- package/build/graphql/syncAgents.d.ts +0 -26
- package/build/graphql/syncAgents.d.ts.map +0 -1
- package/build/graphql/syncAgents.js +0 -101
- package/build/graphql/syncAgents.js.map +0 -1
- package/build/graphql/syncAttribute.d.ts +0 -17
- package/build/graphql/syncAttribute.d.ts.map +0 -1
- package/build/graphql/syncAttribute.js +0 -90
- package/build/graphql/syncAttribute.js.map +0 -1
- package/build/graphql/syncBusinessEntities.d.ts +0 -26
- package/build/graphql/syncBusinessEntities.d.ts.map +0 -1
- package/build/graphql/syncBusinessEntities.js +0 -109
- package/build/graphql/syncBusinessEntities.js.map +0 -1
- package/build/graphql/syncCodePackages.d.ts +0 -77
- package/build/graphql/syncCodePackages.d.ts.map +0 -1
- package/build/graphql/syncCodePackages.js +0 -152
- package/build/graphql/syncCodePackages.js.map +0 -1
- package/build/graphql/syncConfigurationToTranscend.d.ts +0 -21
- package/build/graphql/syncConfigurationToTranscend.d.ts.map +0 -1
- package/build/graphql/syncConfigurationToTranscend.js +0 -357
- package/build/graphql/syncConfigurationToTranscend.js.map +0 -1
- package/build/graphql/syncConsentManager.d.ts +0 -17
- package/build/graphql/syncConsentManager.d.ts.map +0 -1
- package/build/graphql/syncConsentManager.js +0 -218
- package/build/graphql/syncConsentManager.js.map +0 -1
- package/build/graphql/syncCookies.d.ts +0 -18
- package/build/graphql/syncCookies.d.ts.map +0 -1
- package/build/graphql/syncCookies.js +0 -83
- package/build/graphql/syncCookies.js.map +0 -1
- package/build/graphql/syncDataCategories.d.ts +0 -26
- package/build/graphql/syncDataCategories.d.ts.map +0 -1
- package/build/graphql/syncDataCategories.js +0 -97
- package/build/graphql/syncDataCategories.js.map +0 -1
- package/build/graphql/syncDataFlows.d.ts +0 -28
- package/build/graphql/syncDataFlows.d.ts.map +0 -1
- package/build/graphql/syncDataFlows.js +0 -164
- package/build/graphql/syncDataFlows.js.map +0 -1
- package/build/graphql/syncDataSilos.d.ts +0 -346
- package/build/graphql/syncDataSilos.d.ts.map +0 -1
- package/build/graphql/syncDataSilos.js +0 -426
- package/build/graphql/syncDataSilos.js.map +0 -1
- package/build/graphql/syncDataSubject.d.ts +0 -17
- package/build/graphql/syncDataSubject.d.ts.map +0 -1
- package/build/graphql/syncDataSubject.js +0 -33
- package/build/graphql/syncDataSubject.js.map +0 -1
- package/build/graphql/syncEnrichers.d.ts +0 -73
- package/build/graphql/syncEnrichers.d.ts.map +0 -1
- package/build/graphql/syncEnrichers.js +0 -109
- package/build/graphql/syncEnrichers.js.map +0 -1
- package/build/graphql/syncIdentifier.d.ts +0 -22
- package/build/graphql/syncIdentifier.d.ts.map +0 -1
- package/build/graphql/syncIdentifier.js +0 -32
- package/build/graphql/syncIdentifier.js.map +0 -1
- package/build/graphql/syncIntlMessages.d.ts +0 -18
- package/build/graphql/syncIntlMessages.d.ts.map +0 -1
- package/build/graphql/syncIntlMessages.js +0 -68
- package/build/graphql/syncIntlMessages.js.map +0 -1
- package/build/graphql/syncPartitions.d.ts +0 -26
- package/build/graphql/syncPartitions.d.ts.map +0 -1
- package/build/graphql/syncPartitions.js +0 -71
- package/build/graphql/syncPartitions.js.map +0 -1
- package/build/graphql/syncPolicies.d.ts +0 -18
- package/build/graphql/syncPolicies.d.ts.map +0 -1
- package/build/graphql/syncPolicies.js +0 -87
- package/build/graphql/syncPolicies.js.map +0 -1
- package/build/graphql/syncPrivacyCenter.d.ts +0 -10
- package/build/graphql/syncPrivacyCenter.d.ts.map +0 -1
- package/build/graphql/syncPrivacyCenter.js +0 -62
- package/build/graphql/syncPrivacyCenter.js.map +0 -1
- package/build/graphql/syncProcessingPurposes.d.ts +0 -26
- package/build/graphql/syncProcessingPurposes.d.ts.map +0 -1
- package/build/graphql/syncProcessingPurposes.js +0 -97
- package/build/graphql/syncProcessingPurposes.js.map +0 -1
- package/build/graphql/syncPromptGroups.d.ts +0 -35
- package/build/graphql/syncPromptGroups.d.ts.map +0 -1
- package/build/graphql/syncPromptGroups.js +0 -126
- package/build/graphql/syncPromptGroups.js.map +0 -1
- package/build/graphql/syncPromptPartials.d.ts +0 -32
- package/build/graphql/syncPromptPartials.d.ts.map +0 -1
- package/build/graphql/syncPromptPartials.js +0 -102
- package/build/graphql/syncPromptPartials.js.map +0 -1
- package/build/graphql/syncPrompts.d.ts +0 -32
- package/build/graphql/syncPrompts.d.ts.map +0 -1
- package/build/graphql/syncPrompts.js +0 -103
- package/build/graphql/syncPrompts.js.map +0 -1
- package/build/graphql/syncRepositories.d.ts +0 -65
- package/build/graphql/syncRepositories.d.ts.map +0 -1
- package/build/graphql/syncRepositories.js +0 -113
- package/build/graphql/syncRepositories.js.map +0 -1
- package/build/graphql/syncSoftwareDevelopmentKits.d.ts +0 -84
- package/build/graphql/syncSoftwareDevelopmentKits.d.ts.map +0 -1
- package/build/graphql/syncSoftwareDevelopmentKits.js +0 -119
- package/build/graphql/syncSoftwareDevelopmentKits.js.map +0 -1
- package/build/graphql/syncTeams.d.ts +0 -27
- package/build/graphql/syncTeams.d.ts.map +0 -1
- package/build/graphql/syncTeams.js +0 -104
- package/build/graphql/syncTeams.js.map +0 -1
- package/build/graphql/syncTemplates.d.ts +0 -34
- package/build/graphql/syncTemplates.d.ts.map +0 -1
- package/build/graphql/syncTemplates.js +0 -52
- package/build/graphql/syncTemplates.js.map +0 -1
- package/build/graphql/syncVendors.d.ts +0 -26
- package/build/graphql/syncVendors.d.ts.map +0 -1
- package/build/graphql/syncVendors.js +0 -108
- package/build/graphql/syncVendors.js.map +0 -1
- package/build/graphql/uploadSiloDiscoveryResults.d.ts +0 -11
- package/build/graphql/uploadSiloDiscoveryResults.d.ts.map +0 -1
- package/build/graphql/uploadSiloDiscoveryResults.js +0 -29
- package/build/graphql/uploadSiloDiscoveryResults.js.map +0 -1
- package/build/helpers/buildAIIntegrationType.d.ts +0 -13
- package/build/helpers/buildAIIntegrationType.d.ts.map +0 -1
- package/build/helpers/buildAIIntegrationType.js +0 -38
- package/build/helpers/buildAIIntegrationType.js.map +0 -1
- package/build/helpers/buildEnabledRouteType.d.ts +0 -13
- package/build/helpers/buildEnabledRouteType.d.ts.map +0 -1
- package/build/helpers/buildEnabledRouteType.js +0 -41
- package/build/helpers/buildEnabledRouteType.js.map +0 -1
- package/build/helpers/index.d.ts +0 -5
- package/build/helpers/index.d.ts.map +0 -1
- package/build/helpers/index.js +0 -21
- package/build/helpers/index.js.map +0 -1
- package/build/helpers/inquirer.d.ts +0 -32
- package/build/helpers/inquirer.d.ts.map +0 -1
- package/build/helpers/inquirer.js +0 -64
- package/build/helpers/inquirer.js.map +0 -1
- package/build/helpers/parseVariablesFromString.d.ts +0 -10
- package/build/helpers/parseVariablesFromString.d.ts.map +0 -1
- package/build/helpers/parseVariablesFromString.js +0 -21
- package/build/helpers/parseVariablesFromString.js.map +0 -1
- package/build/index.d.ts +0 -16
- package/build/index.d.ts.map +0 -1
- package/build/index.js +0 -32
- package/build/index.js.map +0 -1
- package/build/logger.d.ts +0 -2
- package/build/logger.d.ts.map +0 -1
- package/build/logger.js +0 -22
- package/build/logger.js.map +0 -1
- package/build/manual-enrichment/enrichPrivacyRequest.d.ts +0 -19
- package/build/manual-enrichment/enrichPrivacyRequest.d.ts.map +0 -1
- package/build/manual-enrichment/enrichPrivacyRequest.js +0 -97
- package/build/manual-enrichment/enrichPrivacyRequest.js.map +0 -1
- package/build/manual-enrichment/index.d.ts +0 -4
- package/build/manual-enrichment/index.d.ts.map +0 -1
- package/build/manual-enrichment/index.js +0 -20
- package/build/manual-enrichment/index.js.map +0 -1
- package/build/manual-enrichment/pullManualEnrichmentIdentifiersToCsv.d.ts +0 -28
- package/build/manual-enrichment/pullManualEnrichmentIdentifiersToCsv.d.ts.map +0 -1
- package/build/manual-enrichment/pullManualEnrichmentIdentifiersToCsv.js +0 -74
- package/build/manual-enrichment/pullManualEnrichmentIdentifiersToCsv.js.map +0 -1
- package/build/manual-enrichment/pushManualEnrichmentIdentifiersFromCsv.d.ts +0 -23
- package/build/manual-enrichment/pushManualEnrichmentIdentifiersFromCsv.d.ts.map +0 -1
- package/build/manual-enrichment/pushManualEnrichmentIdentifiersFromCsv.js +0 -67
- package/build/manual-enrichment/pushManualEnrichmentIdentifiersFromCsv.js.map +0 -1
- package/build/mergeTranscendInputs.d.ts +0 -10
- package/build/mergeTranscendInputs.d.ts.map +0 -1
- package/build/mergeTranscendInputs.js +0 -32
- package/build/mergeTranscendInputs.js.map +0 -1
- package/build/oneTrust/createOneTrustGotInstance.d.ts +0 -14
- package/build/oneTrust/createOneTrustGotInstance.d.ts.map +0 -1
- package/build/oneTrust/createOneTrustGotInstance.js +0 -23
- package/build/oneTrust/createOneTrustGotInstance.js.map +0 -1
- package/build/oneTrust/endpoints/getListOfOneTrustAssessments.d.ts +0 -14
- package/build/oneTrust/endpoints/getListOfOneTrustAssessments.d.ts.map +0 -1
- package/build/oneTrust/endpoints/getListOfOneTrustAssessments.js +0 -36
- package/build/oneTrust/endpoints/getListOfOneTrustAssessments.js.map +0 -1
- package/build/oneTrust/endpoints/getOneTrustAssessment.d.ts +0 -16
- package/build/oneTrust/endpoints/getOneTrustAssessment.d.ts.map +0 -1
- package/build/oneTrust/endpoints/getOneTrustAssessment.js +0 -18
- package/build/oneTrust/endpoints/getOneTrustAssessment.js.map +0 -1
- package/build/oneTrust/endpoints/getOneTrustRisk.d.ts +0 -16
- package/build/oneTrust/endpoints/getOneTrustRisk.d.ts.map +0 -1
- package/build/oneTrust/endpoints/getOneTrustRisk.js +0 -18
- package/build/oneTrust/endpoints/getOneTrustRisk.js.map +0 -1
- package/build/oneTrust/endpoints/getOneTrustUser.d.ts +0 -16
- package/build/oneTrust/endpoints/getOneTrustUser.d.ts.map +0 -1
- package/build/oneTrust/endpoints/getOneTrustUser.js +0 -18
- package/build/oneTrust/endpoints/getOneTrustUser.js.map +0 -1
- package/build/oneTrust/endpoints/index.d.ts +0 -5
- package/build/oneTrust/endpoints/index.d.ts.map +0 -1
- package/build/oneTrust/endpoints/index.js +0 -21
- package/build/oneTrust/endpoints/index.js.map +0 -1
- package/build/oneTrust/helpers/convertToEmptyStrings.d.ts +0 -34
- package/build/oneTrust/helpers/convertToEmptyStrings.d.ts.map +0 -1
- package/build/oneTrust/helpers/convertToEmptyStrings.js +0 -58
- package/build/oneTrust/helpers/convertToEmptyStrings.js.map +0 -1
- package/build/oneTrust/helpers/enrichOneTrustAssessment.d.ts +0 -22
- package/build/oneTrust/helpers/enrichOneTrustAssessment.d.ts.map +0 -1
- package/build/oneTrust/helpers/enrichOneTrustAssessment.js +0 -104
- package/build/oneTrust/helpers/enrichOneTrustAssessment.js.map +0 -1
- package/build/oneTrust/helpers/index.d.ts +0 -5
- package/build/oneTrust/helpers/index.d.ts.map +0 -1
- package/build/oneTrust/helpers/index.js +0 -21
- package/build/oneTrust/helpers/index.js.map +0 -1
- package/build/oneTrust/helpers/oneTrustAssessmentToJson.d.ts +0 -18
- package/build/oneTrust/helpers/oneTrustAssessmentToJson.d.ts.map +0 -1
- package/build/oneTrust/helpers/oneTrustAssessmentToJson.js +0 -28
- package/build/oneTrust/helpers/oneTrustAssessmentToJson.js.map +0 -1
- package/build/oneTrust/helpers/parseCliSyncOtArguments.d.ts +0 -29
- package/build/oneTrust/helpers/parseCliSyncOtArguments.d.ts.map +0 -1
- package/build/oneTrust/helpers/parseCliSyncOtArguments.js +0 -110
- package/build/oneTrust/helpers/parseCliSyncOtArguments.js.map +0 -1
- package/build/oneTrust/helpers/syncOneTrustAssessmentToDisk.d.ts +0 -18
- package/build/oneTrust/helpers/syncOneTrustAssessmentToDisk.d.ts.map +0 -1
- package/build/oneTrust/helpers/syncOneTrustAssessmentToDisk.js +0 -37
- package/build/oneTrust/helpers/syncOneTrustAssessmentToDisk.js.map +0 -1
- package/build/oneTrust/helpers/syncOneTrustAssessmentToTranscend.d.ts +0 -25
- package/build/oneTrust/helpers/syncOneTrustAssessmentToTranscend.d.ts.map +0 -1
- package/build/oneTrust/helpers/syncOneTrustAssessmentToTranscend.js +0 -40
- package/build/oneTrust/helpers/syncOneTrustAssessmentToTranscend.js.map +0 -1
- package/build/oneTrust/helpers/syncOneTrustAssessmentsFromFile.d.ts +0 -13
- package/build/oneTrust/helpers/syncOneTrustAssessmentsFromFile.d.ts.map +0 -1
- package/build/oneTrust/helpers/syncOneTrustAssessmentsFromFile.js +0 -71
- package/build/oneTrust/helpers/syncOneTrustAssessmentsFromFile.js.map +0 -1
- package/build/oneTrust/helpers/syncOneTrustAssessmentsFromOneTrust.d.ts +0 -24
- package/build/oneTrust/helpers/syncOneTrustAssessmentsFromOneTrust.d.ts.map +0 -1
- package/build/oneTrust/helpers/syncOneTrustAssessmentsFromOneTrust.js +0 -150
- package/build/oneTrust/helpers/syncOneTrustAssessmentsFromOneTrust.js.map +0 -1
- package/build/oneTrust/helpers/tests/convertToEmptyStrings.test.d.ts +0 -2
- package/build/oneTrust/helpers/tests/convertToEmptyStrings.test.d.ts.map +0 -1
- package/build/oneTrust/helpers/tests/convertToEmptyStrings.test.js +0 -74
- package/build/oneTrust/helpers/tests/convertToEmptyStrings.test.js.map +0 -1
- package/build/oneTrust/index.d.ts +0 -4
- package/build/oneTrust/index.d.ts.map +0 -1
- package/build/oneTrust/index.js +0 -20
- package/build/oneTrust/index.js.map +0 -1
- package/build/preference-management/checkIfPendingPreferenceUpdatesAreNoOp.d.ts +0 -19
- package/build/preference-management/checkIfPendingPreferenceUpdatesAreNoOp.d.ts.map +0 -1
- package/build/preference-management/checkIfPendingPreferenceUpdatesAreNoOp.js +0 -56
- package/build/preference-management/checkIfPendingPreferenceUpdatesAreNoOp.js.map +0 -1
- package/build/preference-management/checkIfPendingPreferenceUpdatesCauseConflict.d.ts +0 -20
- package/build/preference-management/checkIfPendingPreferenceUpdatesCauseConflict.d.ts.map +0 -1
- package/build/preference-management/checkIfPendingPreferenceUpdatesCauseConflict.js +0 -58
- package/build/preference-management/checkIfPendingPreferenceUpdatesCauseConflict.js.map +0 -1
- package/build/preference-management/codecs.d.ts +0 -387
- package/build/preference-management/codecs.d.ts.map +0 -1
- package/build/preference-management/codecs.js +0 -122
- package/build/preference-management/codecs.js.map +0 -1
- package/build/preference-management/getPreferenceUpdatesFromRow.d.ts +0 -37
- package/build/preference-management/getPreferenceUpdatesFromRow.d.ts.map +0 -1
- package/build/preference-management/getPreferenceUpdatesFromRow.js +0 -144
- package/build/preference-management/getPreferenceUpdatesFromRow.js.map +0 -1
- package/build/preference-management/getPreferencesForIdentifiers.d.ts +0 -21
- package/build/preference-management/getPreferencesForIdentifiers.d.ts.map +0 -1
- package/build/preference-management/getPreferencesForIdentifiers.js +0 -118
- package/build/preference-management/getPreferencesForIdentifiers.js.map +0 -1
- package/build/preference-management/index.d.ts +0 -12
- package/build/preference-management/index.d.ts.map +0 -1
- package/build/preference-management/index.js +0 -28
- package/build/preference-management/index.js.map +0 -1
- package/build/preference-management/parsePreferenceAndPurposeValuesFromCsv.d.ts +0 -19
- package/build/preference-management/parsePreferenceAndPurposeValuesFromCsv.d.ts.map +0 -1
- package/build/preference-management/parsePreferenceAndPurposeValuesFromCsv.js +0 -154
- package/build/preference-management/parsePreferenceAndPurposeValuesFromCsv.js.map +0 -1
- package/build/preference-management/parsePreferenceIdentifiersFromCsv.d.ts +0 -18
- package/build/preference-management/parsePreferenceIdentifiersFromCsv.d.ts.map +0 -1
- package/build/preference-management/parsePreferenceIdentifiersFromCsv.js +0 -97
- package/build/preference-management/parsePreferenceIdentifiersFromCsv.js.map +0 -1
- package/build/preference-management/parsePreferenceManagementCsv.d.ts +0 -29
- package/build/preference-management/parsePreferenceManagementCsv.d.ts.map +0 -1
- package/build/preference-management/parsePreferenceManagementCsv.js +0 -153
- package/build/preference-management/parsePreferenceManagementCsv.js.map +0 -1
- package/build/preference-management/parsePreferenceTimestampsFromCsv.d.ts +0 -16
- package/build/preference-management/parsePreferenceTimestampsFromCsv.d.ts.map +0 -1
- package/build/preference-management/parsePreferenceTimestampsFromCsv.js +0 -65
- package/build/preference-management/parsePreferenceTimestampsFromCsv.js.map +0 -1
- package/build/preference-management/tests/checkIfPendingPreferenceUpdatesAreNoOp.test.d.ts +0 -2
- package/build/preference-management/tests/checkIfPendingPreferenceUpdatesAreNoOp.test.d.ts.map +0 -1
- package/build/preference-management/tests/checkIfPendingPreferenceUpdatesAreNoOp.test.js +0 -464
- package/build/preference-management/tests/checkIfPendingPreferenceUpdatesAreNoOp.test.js.map +0 -1
- package/build/preference-management/tests/checkIfPendingPreferenceUpdatesCauseConflict.test.d.ts +0 -2
- package/build/preference-management/tests/checkIfPendingPreferenceUpdatesCauseConflict.test.d.ts.map +0 -1
- package/build/preference-management/tests/checkIfPendingPreferenceUpdatesCauseConflict.test.js +0 -485
- package/build/preference-management/tests/checkIfPendingPreferenceUpdatesCauseConflict.test.js.map +0 -1
- package/build/preference-management/tests/getPreferenceUpdatesFromRow.test.d.ts +0 -2
- package/build/preference-management/tests/getPreferenceUpdatesFromRow.test.d.ts.map +0 -1
- package/build/preference-management/tests/getPreferenceUpdatesFromRow.test.js +0 -737
- package/build/preference-management/tests/getPreferenceUpdatesFromRow.test.js.map +0 -1
- package/build/preference-management/uploadPreferenceManagementPreferencesInteractive.d.ts +0 -37
- package/build/preference-management/uploadPreferenceManagementPreferencesInteractive.d.ts.map +0 -1
- package/build/preference-management/uploadPreferenceManagementPreferencesInteractive.js +0 -172
- package/build/preference-management/uploadPreferenceManagementPreferencesInteractive.js.map +0 -1
- package/build/readTranscendYaml.d.ts +0 -31
- package/build/readTranscendYaml.d.ts.map +0 -1
- package/build/readTranscendYaml.js +0 -67
- package/build/readTranscendYaml.js.map +0 -1
- package/build/requests/approvePrivacyRequests.d.ts +0 -26
- package/build/requests/approvePrivacyRequests.d.ts.map +0 -1
- package/build/requests/approvePrivacyRequests.js +0 -76
- package/build/requests/approvePrivacyRequests.js.map +0 -1
- package/build/requests/bulkRestartRequests.d.ts +0 -41
- package/build/requests/bulkRestartRequests.d.ts.map +0 -1
- package/build/requests/bulkRestartRequests.js +0 -167
- package/build/requests/bulkRestartRequests.js.map +0 -1
- package/build/requests/bulkRetryEnrichers.d.ts +0 -27
- package/build/requests/bulkRetryEnrichers.d.ts.map +0 -1
- package/build/requests/bulkRetryEnrichers.js +0 -69
- package/build/requests/bulkRetryEnrichers.js.map +0 -1
- package/build/requests/cancelPrivacyRequests.d.ts +0 -30
- package/build/requests/cancelPrivacyRequests.d.ts.map +0 -1
- package/build/requests/cancelPrivacyRequests.js +0 -94
- package/build/requests/cancelPrivacyRequests.js.map +0 -1
- package/build/requests/constants.d.ts +0 -5587
- package/build/requests/constants.d.ts.map +0 -1
- package/build/requests/constants.js +0 -124
- package/build/requests/constants.js.map +0 -1
- package/build/requests/downloadPrivacyRequestFiles.d.ts +0 -30
- package/build/requests/downloadPrivacyRequestFiles.d.ts.map +0 -1
- package/build/requests/downloadPrivacyRequestFiles.js +0 -96
- package/build/requests/downloadPrivacyRequestFiles.js.map +0 -1
- package/build/requests/extractClientError.d.ts +0 -8
- package/build/requests/extractClientError.d.ts.map +0 -1
- package/build/requests/extractClientError.js +0 -15
- package/build/requests/extractClientError.js.map +0 -1
- package/build/requests/filterRows.d.ts +0 -10
- package/build/requests/filterRows.d.ts.map +0 -1
- package/build/requests/filterRows.js +0 -61
- package/build/requests/filterRows.js.map +0 -1
- package/build/requests/fuzzyMatchColumns.d.ts +0 -21
- package/build/requests/fuzzyMatchColumns.d.ts.map +0 -1
- package/build/requests/fuzzyMatchColumns.js +0 -43
- package/build/requests/fuzzyMatchColumns.js.map +0 -1
- package/build/requests/getFileMetadataForPrivacyRequests.d.ts +0 -157
- package/build/requests/getFileMetadataForPrivacyRequests.d.ts.map +0 -1
- package/build/requests/getFileMetadataForPrivacyRequests.js +0 -159
- package/build/requests/getFileMetadataForPrivacyRequests.js.map +0 -1
- package/build/requests/getUniqueValuesForColumn.d.ts +0 -10
- package/build/requests/getUniqueValuesForColumn.d.ts.map +0 -1
- package/build/requests/getUniqueValuesForColumn.js +0 -19
- package/build/requests/getUniqueValuesForColumn.js.map +0 -1
- package/build/requests/index.d.ts +0 -32
- package/build/requests/index.d.ts.map +0 -1
- package/build/requests/index.js +0 -48
- package/build/requests/index.js.map +0 -1
- package/build/requests/mapColumnsToAttributes.d.ts +0 -23
- package/build/requests/mapColumnsToAttributes.d.ts.map +0 -1
- package/build/requests/mapColumnsToAttributes.js +0 -44
- package/build/requests/mapColumnsToAttributes.js.map +0 -1
- package/build/requests/mapColumnsToIdentifiers.d.ts +0 -21
- package/build/requests/mapColumnsToIdentifiers.d.ts.map +0 -1
- package/build/requests/mapColumnsToIdentifiers.js +0 -48
- package/build/requests/mapColumnsToIdentifiers.js.map +0 -1
- package/build/requests/mapCsvColumnsToApi.d.ts +0 -17
- package/build/requests/mapCsvColumnsToApi.d.ts.map +0 -1
- package/build/requests/mapCsvColumnsToApi.js +0 -41
- package/build/requests/mapCsvColumnsToApi.js.map +0 -1
- package/build/requests/mapCsvRowsToRequestInputs.d.ts +0 -5572
- package/build/requests/mapCsvRowsToRequestInputs.d.ts.map +0 -1
- package/build/requests/mapCsvRowsToRequestInputs.js +0 -230
- package/build/requests/mapCsvRowsToRequestInputs.js.map +0 -1
- package/build/requests/mapEnumValues.d.ts +0 -14
- package/build/requests/mapEnumValues.d.ts.map +0 -1
- package/build/requests/mapEnumValues.js +0 -42
- package/build/requests/mapEnumValues.js.map +0 -1
- package/build/requests/mapRequestEnumValues.d.ts +0 -19
- package/build/requests/mapRequestEnumValues.d.ts.map +0 -1
- package/build/requests/mapRequestEnumValues.js +0 -63
- package/build/requests/mapRequestEnumValues.js.map +0 -1
- package/build/requests/markSilentPrivacyRequests.d.ts +0 -26
- package/build/requests/markSilentPrivacyRequests.d.ts.map +0 -1
- package/build/requests/markSilentPrivacyRequests.js +0 -66
- package/build/requests/markSilentPrivacyRequests.js.map +0 -1
- package/build/requests/notifyPrivacyRequestsAdditionalTime.d.ts +0 -34
- package/build/requests/notifyPrivacyRequestsAdditionalTime.d.ts.map +0 -1
- package/build/requests/notifyPrivacyRequestsAdditionalTime.js +0 -69
- package/build/requests/notifyPrivacyRequestsAdditionalTime.js.map +0 -1
- package/build/requests/parseAttributesFromString.d.ts +0 -17
- package/build/requests/parseAttributesFromString.d.ts.map +0 -1
- package/build/requests/parseAttributesFromString.js +0 -63
- package/build/requests/parseAttributesFromString.js.map +0 -1
- package/build/requests/pullPrivacyRequests.d.ts +0 -41
- package/build/requests/pullPrivacyRequests.d.ts.map +0 -1
- package/build/requests/pullPrivacyRequests.js +0 -83
- package/build/requests/pullPrivacyRequests.js.map +0 -1
- package/build/requests/readCsv.d.ts +0 -12
- package/build/requests/readCsv.d.ts.map +0 -1
- package/build/requests/readCsv.js +0 -54
- package/build/requests/readCsv.js.map +0 -1
- package/build/requests/removeUnverifiedRequestIdentifiers.d.ts +0 -20
- package/build/requests/removeUnverifiedRequestIdentifiers.d.ts.map +0 -1
- package/build/requests/removeUnverifiedRequestIdentifiers.js +0 -61
- package/build/requests/removeUnverifiedRequestIdentifiers.js.map +0 -1
- package/build/requests/restartPrivacyRequest.d.ts +0 -22
- package/build/requests/restartPrivacyRequest.d.ts.map +0 -1
- package/build/requests/restartPrivacyRequest.js +0 -90
- package/build/requests/restartPrivacyRequest.js.map +0 -1
- package/build/requests/retryRequestDataSilos.d.ts +0 -20
- package/build/requests/retryRequestDataSilos.d.ts.map +0 -1
- package/build/requests/retryRequestDataSilos.js +0 -64
- package/build/requests/retryRequestDataSilos.js.map +0 -1
- package/build/requests/skipPreflightJobs.d.ts +0 -20
- package/build/requests/skipPreflightJobs.d.ts.map +0 -1
- package/build/requests/skipPreflightJobs.js +0 -73
- package/build/requests/skipPreflightJobs.js.map +0 -1
- package/build/requests/skipRequestDataSilos.d.ts +0 -22
- package/build/requests/skipRequestDataSilos.d.ts.map +0 -1
- package/build/requests/skipRequestDataSilos.js +0 -58
- package/build/requests/skipRequestDataSilos.js.map +0 -1
- package/build/requests/splitCsvToList.d.ts +0 -12
- package/build/requests/splitCsvToList.d.ts.map +0 -1
- package/build/requests/splitCsvToList.js +0 -21
- package/build/requests/splitCsvToList.js.map +0 -1
- package/build/requests/streamPrivacyRequestFiles.d.ts +0 -22
- package/build/requests/streamPrivacyRequestFiles.d.ts.map +0 -1
- package/build/requests/streamPrivacyRequestFiles.js +0 -48
- package/build/requests/streamPrivacyRequestFiles.js.map +0 -1
- package/build/requests/submitPrivacyRequest.d.ts +0 -5470
- package/build/requests/submitPrivacyRequest.d.ts.map +0 -1
- package/build/requests/submitPrivacyRequest.js +0 -126
- package/build/requests/submitPrivacyRequest.js.map +0 -1
- package/build/requests/tests/fuzzyMatchColumns.test.d.ts +0 -2
- package/build/requests/tests/fuzzyMatchColumns.test.d.ts.map +0 -1
- package/build/requests/tests/fuzzyMatchColumns.test.js +0 -26
- package/build/requests/tests/fuzzyMatchColumns.test.js.map +0 -1
- package/build/requests/tests/getUniqueValuesForColumn.test.d.ts +0 -2
- package/build/requests/tests/getUniqueValuesForColumn.test.d.ts.map +0 -1
- package/build/requests/tests/getUniqueValuesForColumn.test.js +0 -66
- package/build/requests/tests/getUniqueValuesForColumn.test.js.map +0 -1
- package/build/requests/tests/mapCsvRowsToRequestInputs.test.d.ts +0 -1
- package/build/requests/tests/mapCsvRowsToRequestInputs.test.d.ts.map +0 -1
- package/build/requests/tests/mapCsvRowsToRequestInputs.test.js +0 -3
- package/build/requests/tests/mapCsvRowsToRequestInputs.test.js.map +0 -1
- package/build/requests/tests/parseAttributesFromString.test.d.ts +0 -2
- package/build/requests/tests/parseAttributesFromString.test.d.ts.map +0 -1
- package/build/requests/tests/parseAttributesFromString.test.js +0 -25
- package/build/requests/tests/parseAttributesFromString.test.js.map +0 -1
- package/build/requests/tests/readCsv.test.d.ts +0 -2
- package/build/requests/tests/readCsv.test.d.ts.map +0 -1
- package/build/requests/tests/readCsv.test.js +0 -68
- package/build/requests/tests/readCsv.test.js.map +0 -1
- package/build/requests/tests/splitCsvToList.test.d.ts +0 -2
- package/build/requests/tests/splitCsvToList.test.d.ts.map +0 -1
- package/build/requests/tests/splitCsvToList.test.js +0 -16
- package/build/requests/tests/splitCsvToList.test.js.map +0 -1
- package/build/requests/uploadPrivacyRequestsFromCsv.d.ts +0 -41
- package/build/requests/uploadPrivacyRequestsFromCsv.d.ts.map +0 -1
- package/build/requests/uploadPrivacyRequestsFromCsv.js +0 -227
- package/build/requests/uploadPrivacyRequestsFromCsv.js.map +0 -1
- package/build/tests/TranscendPromptManager.test.d.ts +0 -2
- package/build/tests/TranscendPromptManager.test.d.ts.map +0 -1
- package/build/tests/TranscendPromptManager.test.js +0 -92
- package/build/tests/TranscendPromptManager.test.js.map +0 -1
- package/build/tests/filterNullValuesFromObject.test.d.ts +0 -2
- package/build/tests/filterNullValuesFromObject.test.d.ts.map +0 -1
- package/build/tests/filterNullValuesFromObject.test.js +0 -26
- package/build/tests/filterNullValuesFromObject.test.js.map +0 -1
- package/build/tests/findCodePackagesInFolder.test.d.ts +0 -2
- package/build/tests/findCodePackagesInFolder.test.d.ts.map +0 -1
- package/build/tests/findCodePackagesInFolder.test.js +0 -710
- package/build/tests/findCodePackagesInFolder.test.js.map +0 -1
- package/build/tests/getGitFilesThatChanged.test.d.ts +0 -2
- package/build/tests/getGitFilesThatChanged.test.d.ts.map +0 -1
- package/build/tests/getGitFilesThatChanged.test.js +0 -24
- package/build/tests/getGitFilesThatChanged.test.js.map +0 -1
- package/build/tests/mergeTranscendInputs.test.d.ts +0 -2
- package/build/tests/mergeTranscendInputs.test.d.ts.map +0 -1
- package/build/tests/mergeTranscendInputs.test.js +0 -107
- package/build/tests/mergeTranscendInputs.test.js.map +0 -1
- package/build/tests/readTranscendYaml.test.d.ts +0 -2
- package/build/tests/readTranscendYaml.test.d.ts.map +0 -1
- package/build/tests/readTranscendYaml.test.js +0 -34
- package/build/tests/readTranscendYaml.test.js.map +0 -1
- package/build/tests/removeLinks.test.d.ts +0 -2
- package/build/tests/removeLinks.test.d.ts.map +0 -1
- package/build/tests/removeLinks.test.js +0 -21
- package/build/tests/removeLinks.test.js.map +0 -1
- package/build/tsbuildinfo +0 -1
- package/examples/code-scanning/test-gradle/test-nested-package-json/package.json +0 -20
- package/examples/code-scanning/test-package-json/package.json +0 -23
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{getEntries as c}from"@transcend-io/type-utils";function o(s,...e){let n=JSON.parse(JSON.stringify(s));return e.forEach(a=>{c(a).forEach(([r,t])=>{n[r]===void 0?n[r]=t:Array.isArray(t)?n[r]=[...n[r],...t]:n[r]=t})}),n}export{o as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ScopeName as e}from"@transcend-io/privacy-types";var r="transcend",s="https://app.transcend.io",c=`${s}/infrastructure/integrations`,p=`${s}/data-map/data-inventory/data-points`,g=process.env.TRANSCEND_API_URL||"https://api.transcend.io",l=process.env.TRANSCEND_CONSENT_API_URL||"https://consent.transcend.io",m={apiKeys:[e.ViewApiKeys],templates:[e.ManageEmailTemplates],dataSilos:[e.ManageDataMap,e.ConnectDataSilos],enrichers:[e.ManageRequestIdentities],businessEntities:[e.ManageDataInventory],identifiers:[e.ManageRequestIdentities],customFields:[e.ManageGlobalAttributes],dataFlows:[e.ManageDataFlow],cookies:[e.ManageDataFlow],consentManager:[e.ManageConsentManagerDeveloperSettings],partitions:[e.ManageConsentManagerDeveloperSettings],actions:[e.ManageDataSubjectRequestSettings],dataSubjects:[e.ManageDataSubjectRequestSettings],prompts:[e.ManagePrompts],promptPartials:[e.ManagePrompts],promptGroups:[e.ManagePrompts],agents:[e.ManagePathfinder],agentFunctions:[e.ManagePathfinder],agentFiles:[e.ManagePathfinder],vendors:[e.ManageDataInventory],dataCategories:[e.ManageDataInventory],processingPurposes:[e.ManageDataInventory],actionItems:[e.ManageAllActionItems,e.ViewGlobalAttributes],actionItemCollections:[e.ManageActionItemCollections],teams:[e.ManageAccessControl],messages:[e.ManageIntlMessages],privacyCenters:[e.ManagePrivacyCenter],policies:[e.ManagePolicies],assessments:[e.ManageAssessments],assessmentTemplates:[e.ManageAssessments],purposes:[e.ManageConsentManager,e.ManagePreferenceStoreSettings]},A={apiKeys:[e.ViewApiKeys],templates:[e.ViewEmailTemplates],dataSilos:[e.ViewDataMap,e.ViewDataSubjectRequestSettings],enrichers:[e.ViewRequestIdentitySettings],businessEntities:[e.ViewDataInventory],identifiers:[e.ViewRequestIdentitySettings],customFields:[e.ViewGlobalAttributes],dataFlows:[e.ViewDataFlow],cookies:[e.ViewDataFlow],consentManager:[e.ViewConsentManager],partitions:[e.ViewConsentManager],actions:[e.ViewDataSubjectRequestSettings],dataSubjects:[e.ViewDataSubjectRequestSettings],prompts:[e.ViewPrompts],promptPartials:[e.ViewPrompts],promptGroups:[e.ViewPrompts],agents:[e.ViewPathfinder],agentFunctions:[e.ViewPathfinder],agentFiles:[e.ViewPathfinder],vendors:[e.ViewDataInventory],dataCategories:[e.ViewDataInventory],processingPurposes:[e.ViewDataInventory],actionItemCollections:[e.ViewAllActionItems],actionItems:[e.ViewAllActionItems],teams:[e.ViewScopes],messages:[e.ViewIntlMessages],privacyCenters:[e.ViewPrivacyCenter],policies:[e.ViewPolicies],assessments:[e.ViewAssessments],assessmentTemplates:[e.ViewAssessments],purposes:[e.ViewConsentManager,e.ViewPreferenceStoreSettings]},P={apiKeys:"api-keys",customFields:"attributes",dataFlows:"data-flows",cookies:"cookies",consentManager:"consent-manager",partitions:"partitions",actions:"actions",dataSubjects:"data-subjects",businessEntities:"business-entities",identifiers:"identifiers",enrichers:"enrichers",dataSilos:"data-silos",templates:"templates",prompts:"prompts",promptPartials:"prompt-partials",promptGroups:"prompt-groups",agents:"agents",agentFunctions:"agent-functions",agentFiles:"agent-files",vendors:"vendors",dataCategories:"data-categories",processingPurposes:"processing-purposes",actionItems:"action-items",actionItemCollections:"action-item-collections",teams:"teams",messages:"messages",privacyCenters:"privacy-center",policies:"policies",assessments:"assessments",assessmentTemplates:"assessment-templates",purposes:"purposes"};export{r as a,s as b,c,p as d,g as e,l as f,m as g,A as h,P as i};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import{_b as S,a as w,f as $,i as B,j as T,l as R}from"./chunk-2FMBK7EQ.js";import{a as i}from"./chunk-OERYFLN2.js";import{keyBy as O,uniq as A,chunk as U,sortBy as G}from"lodash-es";import{SubDataPointDataSubCategoryGuessStatus as _}from"@transcend-io/privacy-types";import h from"cli-progress";import{gql as L}from"graphql-request";import f from"colors";async function q(u,{dataSiloIds:e=[],includeGuessedCategories:l,includeAttributes:a,parentCategories:c=[],subCategories:t=[],pageSize:p=1e3}={}){let n=[],m=new Date().getTime(),d=new h.SingleBar({},h.Presets.shades_classic),s={...c.length>0?{category:c}:{},...t.length>0?{subCategoryIds:t}:{},...c.length+t.length>0&&!l?{status:_.Approved}:{},...e.length>0?{dataSilos:e}:{}},{subDataPoints:{totalCount:o}}=await S(u,$,{filterBy:s});i.info(f.magenta("[Step 1/3] Pulling in all subdatapoints")),d.start(o,0);let y=0,D=!1,r,b=0;do try{let{subDataPoints:{nodes:P}}=await S(u,L`
|
|
2
|
+
query TranscendCliSubDataPointCsvExport(
|
|
3
|
+
$filterBy: SubDataPointFiltersInput
|
|
4
|
+
$first: Int!
|
|
5
|
+
$offset: Int!
|
|
6
|
+
) {
|
|
7
|
+
subDataPoints(
|
|
8
|
+
filterBy: $filterBy
|
|
9
|
+
first: $first
|
|
10
|
+
offset: $offset
|
|
11
|
+
useMaster: false
|
|
12
|
+
) {
|
|
13
|
+
nodes {
|
|
14
|
+
id
|
|
15
|
+
name
|
|
16
|
+
description
|
|
17
|
+
dataPointId
|
|
18
|
+
dataSiloId
|
|
19
|
+
purposes {
|
|
20
|
+
name
|
|
21
|
+
purpose
|
|
22
|
+
}
|
|
23
|
+
categories {
|
|
24
|
+
name
|
|
25
|
+
category
|
|
26
|
+
}
|
|
27
|
+
${l?`pendingCategoryGuesses {
|
|
28
|
+
category {
|
|
29
|
+
name
|
|
30
|
+
category
|
|
31
|
+
}
|
|
32
|
+
status
|
|
33
|
+
classifierVersion
|
|
34
|
+
}`:""}
|
|
35
|
+
${a?`attributeValues {
|
|
36
|
+
attributeKey {
|
|
37
|
+
name
|
|
38
|
+
}
|
|
39
|
+
name
|
|
40
|
+
}`:""}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
`,{first:p,offset:b,filterBy:{...s}});r=P[P.length-1]?.id,n.push(...P),D=P.length===p,y+=P.length,b+=P.length,d.update(y)}catch(P){throw i.error(f.red(`An error fetching subdatapoints for cursor ${r} and offset ${b}`)),P}while(D);d.stop();let C=new Date().getTime()-m,g=G(n,"name");return i.info(f.green(`Successfully pulled in ${g.length} subdatapoints in ${C/1e3} seconds!`)),g}async function F(u,{dataPointIds:e=[],pageSize:l=100}){let a=[],c=new Date().getTime(),t=new h.SingleBar({},h.Presets.shades_classic);i.info(f.magenta(`[Step 2/3] Fetching metadata for ${e.length} datapoints`));let p=U(e,l);t.start(e.length,0);let n=0;await w(p,async s=>{try{let{dataPoints:{nodes:o}}=await S(u,B,{first:l,filterBy:{ids:s}});a.push(...o),n+=s.length,t.update(n)}catch(o){throw i.error(f.red(`An error fetching subdatapoints for IDs ${s.join(", ")}`)),o}}),t.stop();let d=new Date().getTime()-c;return i.info(f.green(`Successfully pulled in ${a.length} dataPoints in ${d/1e3} seconds!`)),a}async function Q(u,{dataSiloIds:e=[],pageSize:l=100}){let a=[],c=new Date().getTime(),t=new h.SingleBar({},h.Presets.shades_classic);i.info(f.magenta(`[Step 3/3] Fetching metadata for ${e.length} data silos`));let p=U(e,l);t.start(e.length,0);let n=0;await w(p,async s=>{try{let{dataSilos:{nodes:o}}=await S(u,R,{first:l,filterBy:{ids:s}});a.push(...o),n+=s.length,t.update(n)}catch(o){throw i.error(f.red(`An error fetching data silos for IDs ${s.join(", ")}`)),o}}),t.stop();let d=new Date().getTime()-c;return i.info(f.green(`Successfully pulled in ${a.length} data silos in ${d/1e3} seconds!`)),a}async function H(u,{dataSiloIds:e=[],includeGuessedCategories:l,includeAttributes:a,parentCategories:c=[],subCategories:t=[],pageSize:p=1e3}={}){let n=await q(u,{dataSiloIds:e,includeGuessedCategories:l,includeAttributes:a,parentCategories:c,subCategories:t,pageSize:p}),m=A(n.map(r=>r.dataPointId)),d=await F(u,{dataPointIds:m}),s=O(d,"id"),o=A(n.map(r=>r.dataSiloId)),y=await Q(u,{dataSiloIds:o}),D=O(y,"id");return n.map(r=>({...r,dataPoint:s[r.dataPointId],dataSilo:D[r.dataSiloId]}))}import x from"cli-progress";import v from"colors";import{gql as E}from"graphql-request";import{sortBy as V}from"lodash-es";async function st(u,{dataSiloIds:e=[],status:l,subCategories:a=[],includeEncryptedSnippets:c,pageSize:t=100}={}){let p=[],n=new Date().getTime(),m=new x.SingleBar({},x.Presets.shades_classic),d={...a.length>0?{subCategoryIds:a}:{},...l?{status:l}:{},...e.length>0?{dataSilos:e}:{}},{unstructuredSubDataPointRecommendations:{totalCount:s}}=await S(u,T,{filterBy:d});i.info(v.magenta("[Step 1/3] Pulling in all subdatapoints")),m.start(s,0);let o=0,y=!1,D,r=0;do try{let{unstructuredSubDataPointRecommendations:{nodes:g}}=await S(u,E`
|
|
45
|
+
query TranscendCliUnstructuredSubDataPointRecommendationCsvExport(
|
|
46
|
+
$filterBy: UnstructuredSubDataPointRecommendationsFilterInput
|
|
47
|
+
$first: Int!
|
|
48
|
+
$offset: Int!
|
|
49
|
+
) {
|
|
50
|
+
unstructuredSubDataPointRecommendations(
|
|
51
|
+
filterBy: $filterBy
|
|
52
|
+
first: $first
|
|
53
|
+
offset: $offset
|
|
54
|
+
useMaster: false
|
|
55
|
+
) {
|
|
56
|
+
nodes {
|
|
57
|
+
id
|
|
58
|
+
dataSiloId
|
|
59
|
+
scannedObjectPathId
|
|
60
|
+
scannedObjectId
|
|
61
|
+
${c?"name":""}
|
|
62
|
+
${c?"contextSnippet":""}
|
|
63
|
+
dataSubCategory {
|
|
64
|
+
name
|
|
65
|
+
category
|
|
66
|
+
}
|
|
67
|
+
status
|
|
68
|
+
confidence
|
|
69
|
+
classificationMethod
|
|
70
|
+
classifierVersion
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
`,{first:t,offset:r,filterBy:{...d}});D=g[g.length-1]?.id,p.push(...g),y=g.length===t,o+=g.length,r+=g.length,m.update(o)}catch(g){throw i.error(v.red(`An error fetching subdatapoints for cursor ${D} and offset ${r}`)),g}while(y);m.stop();let I=new Date().getTime()-n,C=V(p,"name");return i.info(v.green(`Successfully pulled in ${C.length} subdatapoints in ${I/1e3} seconds!`)),C}export{H as a,st as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as Ve,Ae as ye,Be as qe,Ca as Qe,Ce as Ye,De as We,Y as de,Z as ke,_ as oe,_b as P,a as je,b,dd as ge,ea as Me,pe as w,q as Fe,qe as W,se as Ge,ue as Ke,wa as Be,we as ze,xa as Ue,y as _e,ye as E}from"./chunk-2FMBK7EQ.js";import{a as u}from"./chunk-OERYFLN2.js";import{e as C}from"./chunk-APA5PR4U.js";import{applyEnum as Jt,valuesOf as le}from"@transcend-io/type-utils";import{LanguageKey as Zt}from"@transcend-io/internationalization";import{CompletedRequestStatus as Ht,RequestAction as Xt,IsoCountryCode as er,IsoCountrySubdivisionCode as tr}from"@transcend-io/privacy-types";import*as R from"io-ts";var A="[NONE]",ce="[APPLY VALUE TO ALL ROWS]",Ce="<blank>",Re=["email","coreIdentifier"],ie=(c=>(c.Email="email",c.CoreIdentifier="coreIdentifier",c.RequestType="requestType",c.SubjectType="subjectType",c.Locale="locale",c.Country="country",c.CountrySubDivision="countrySubDivision",c.RequestStatus="requestStatus",c.CreatedAt="createdAt",c.DataSiloIds="dataSiloIds",c))(ie||{}),Je={email:!1,coreIdentifier:!0,requestType:!0,subjectType:!0,requestStatus:!1,createdAt:!1,dataSiloIds:!1,locale:!1,country:!1,countrySubDivision:!1},Ze={requestType:!0,subjectType:!0},He=R.type({columnNames:R.partial(Jt(ie,()=>R.string)),identifierNames:R.record(R.string,R.string),attributeNames:R.record(R.string,R.string),requestTypeToRequestAction:R.record(R.string,le(Xt)),subjectTypeToSubjectName:R.record(R.string,R.string),languageToLocale:R.record(R.string,le(Zt)),regionToCountry:R.record(R.string,le({...er,[A]:A})),regionToCountrySubDivision:R.record(R.string,le({...tr,[A]:A})),statusToRequestStatus:R.record(R.string,le({...Ht,[A]:A}))}),he=R.type({id:R.string,link:R.string,rowIndex:R.number,coreIdentifier:R.string,attemptedAt:R.string}),Xe=R.type({failingRequests:R.array(R.record(R.string,R.any)),successfulRequests:R.array(he),duplicateRequests:R.array(R.type({rowIndex:R.number,coreIdentifier:R.string,attemptedAt:R.string}))});import rr from"inquirer";import et from"fuzzysearch";function Se(n,e){return et(n.toLowerCase(),e.toLowerCase())||et(e.toLowerCase(),n.toLowerCase())}function ne(n,e,s,l){let a=n.filter(o=>Se(e.toLowerCase(),o.toLowerCase()));return[...a,new rr.Separator,...s?[]:[A],...l?[ce]:[],...n.filter(o=>!a.includes(o))]}import tt from"inquirer";import sr from"inquirer-autocomplete-prompt";import{apply as or}from"@transcend-io/type-utils";async function ee(n,e,s){tt.registerPrompt("autocomplete",sr);let l=n.map(o=>o||"<blank>").filter(o=>!s[o]);if(l.length===0)return s;let a=await tt.prompt(l.map(o=>({name:o,message:`Map value of: ${o}`,type:"autocomplete",default:e.find(i=>Se(o,i)),source:(i,r)=>r?e.filter(t=>typeof t=="string"&&Se(r,t)):e})));return{...s,...or(a,o=>typeof o=="string"?o:Object.values(o)[0])}}function Ie(n){return n.split(",").map(e=>e.trim()).filter(e=>e)}import rt from"colors";import*as te from"io-ts";var st=te.type({key:te.string,values:te.array(te.string)});function ot(n){let e=n.map(s=>{let[l,a]=s.trim().split(":");if(!a)throw new Error("Expected attributes in key:value1;value2,key2:value3;value4");let o=a.split(";");return{key:l,values:o}});return u.info(rt.magenta("Attributes to apply to all requests:")),u.info(rt.magenta(JSON.stringify(e,null,2))),e}import{parse as ir}from"csv-parse/sync";import{readFileSync as nr}from"fs";import*as it from"io-ts";import{decodeCodec as ar}from"@transcend-io/type-utils";function nt(n,e,s={columns:!0}){let l=ir(nr(n,"utf-8"),s);return ar(it.array(e),l).map(i=>Object.entries(i).reduce((r,[t,y])=>Object.assign(r,{[t.replace(/[^a-z_.+\-A-Z -~]/g,"")]:y}),{}))}import{uniq as ur}from"lodash-es";function G(n,e){return ur(n.map(s=>s[e]||"").flat())}import at from"inquirer";import lr from"colors";import{uniq as cr}from"lodash-es";async function ut(n){let e=cr(n.map(a=>Object.keys(a)).flat()),s=n,l=!0;for(;l;){let{filterColumnName:a}=await at.prompt([{name:"filterColumnName",message:`If you need to filter the list of requests to import, choose the column to filter on. Currently ${s.length} rows.`,type:"list",default:e,choices:[A,...e]}]);if(l=A!==a,l){let o=G(s,a),{valuesToKeep:i}=await at.prompt([{name:"valuesToKeep",message:"Keep rows matching this value",type:"checkbox",default:e,choices:o}]);s=s.filter(r=>i.includes(r[a]))}}return u.info(lr.magenta(`Importing ${s.length} requests`)),s}import lt from"colors";import{RequestStatus as J}from"@transcend-io/privacy-types";import ct from"cli-progress";async function Ys({requestActions:n,auth:e,requestIds:s,statuses:l=[J.Compiling,J.RequestMade,J.Delayed,J.Approving,J.Secondary,J.Enriching,J.Waiting,J.SecondaryApproving],createdAtAfter:a,createdAtBefore:o,concurrency:i=100,transcendUrl:r=C}){let t=w(r,e),y=new Date().getTime(),c=new ct.SingleBar({},ct.Presets.shades_classic),g=await E(t,{actions:n,statuses:l,createdAtBefore:o,createdAtAfter:a,isSilent:!1,requestIds:s});u.info(lt.magenta(`Marking "${g.length}" as silent mode.`));let m=0;c.start(g.length,0),await b(g,async f=>{await P(t,oe,{input:{id:f.id,isSilent:!0}}),m+=1,c.update(m)},{concurrency:i}),c.stop();let p=new Date().getTime()-y;return u.info(lt.green(`Successfully marked ${m} requests as silent mode in "${p/1e3}" seconds!`)),g.length}import{getValues as mr,getEntries as pr}from"@transcend-io/type-utils";import fr from"inquirer";import{startCase as dr}from"lodash-es";async function mt(n,e){let s=mr(ie).filter(a=>!e.getValue("columnNames",a)),l=s.length===0?{}:await fr.prompt(s.map(a=>{let o=dr(a.replace("ColumnName","")),i=ne(n,o,Je[a],!!Ze[a]);return{name:a,message:`Choose the column that will be used to map in the field: ${o}`,type:"list",default:i[0],choices:i}}));return await Promise.all(pr(l).map(([a,o])=>e.setValue(o,"columnNames",a))),l}import re from"colors";import{CompletedRequestStatus as gr,RequestAction as yr,IsoCountryCode as qr,IsoCountrySubdivisionCode as Rr}from"@transcend-io/privacy-types";import{LanguageKey as hr}from"@transcend-io/internationalization";async function pt(n,e,{state:s,columnNameMap:l}){let a=f=>s.getValue("columnNames",f)||l[f],{internalSubjects:o}=await P(n,_e);u.info(re.magenta("Determining mapping of columns for request action"));let i=await ee(G(e,a("requestType")),Object.values(yr),s.getValue("requestTypeToRequestAction"));await s.setValue(i,"requestTypeToRequestAction"),u.info(re.magenta("Determining mapping of columns for subject"));let r=await ee(G(e,a("subjectType")),o.map(({type:f})=>f),s.getValue("subjectTypeToSubjectName"));await s.setValue(r,"subjectTypeToSubjectName"),u.info(re.magenta("Determining mapping of columns for locale"));let t=await ee(G(e,a("locale")),Object.values(hr),s.getValue("languageToLocale"));await s.setValue(t,"languageToLocale"),u.info(re.magenta("Determining mapping of columns for request status")),u.info(re.magenta("Determining mapping of columns for request status"));let y=a("requestStatus"),c=y===A?{}:await ee(G(e,y),[...Object.values(gr),A],s.getValue("statusToRequestStatus"));await s.setValue(c,"statusToRequestStatus"),u.info(re.magenta("Determining mapping of columns for country"));let g=a("country"),m=g===A?{}:await ee(G(e,g),[...Object.values(qr),A],s.getValue("regionToCountry"));await s.setValue(m,"regionToCountry"),u.info(re.magenta("Determining mapping of columns for country sub division"));let d=a("countrySubDivision"),p=d===A?{}:await ee(G(e,d),[...Object.values(Rr),A],s.getValue("regionToCountrySubDivision"));await s.setValue(p,"regionToCountrySubDivision")}import{LanguageKey as Sr}from"@transcend-io/internationalization";import{DateFromISOString as br}from"io-ts-types";import*as D from"io-ts";import{NORMALIZE_PHONE_NUMBER as Tr,CompletedRequestStatus as Ar,RequestAction as wr,IdentifierType as be,IsoCountryCode as Cr,IsoCountrySubdivisionCode as Ir}from"@transcend-io/privacy-types";import{valuesOf as me}from"@transcend-io/type-utils";var Pr=D.record(D.string,D.array(D.intersection([D.type({value:D.string}),D.partial({name:D.string})]))),wo=D.intersection([D.type({email:D.string,attestedExtraIdentifiers:Pr,coreIdentifier:D.string,requestType:me(wr),subjectType:D.string}),D.partial({country:me(Cr),countrySubDivision:me(Ir),attributes:D.array(st),status:me(Ar),createdAt:br,dataSiloIds:D.array(D.string),locale:me(Sr)})]);function Dr(n,e,s){if(e===be.Email)return n.toLowerCase();if(e===be.Phone){let l=n.replace(Tr,"").replace(/[()]/g,"").replace(/[–]/g,"").replace(/[:]/g,"").replace(/[]/g,"").replace(/[A-Za-z]/g,"");return l?l.startsWith("+")?l:`+${s}${l}`:""}return n}function ft(n,e,{columnNameMap:s,identifierNameMap:l,attributeNameMap:a,requestAttributeKeys:o,defaultPhoneCountryCode:i="1"}){let r=t=>e.getValue("columnNames",t)||s[t];return n.map(t=>{let y={};Object.entries(l).filter(([,d])=>d!==A).forEach(([d,p])=>{let f=Object.values(be).includes(d)?d:be.Custom,h=t[p];if(h){let S=Dr(h,f,i);S&&(y[f]||(y[f]=[]),y[f].push({value:S,name:d}))}});let c=[];Object.entries(a).filter(([,d])=>d!==A).forEach(([d,p])=>{let f=t[p];if(f){let h=o.find(S=>S.name===d)?.type==="MULTI_SELECT";c.push({values:h?Ie(f):f,key:d})}});let g=r("requestType"),m=r("subjectType");return[t,{email:t[r("email")],attestedExtraIdentifiers:y,attributes:c,coreIdentifier:t[r("coreIdentifier")],requestType:g===ce?e.getValue("requestTypeToRequestAction",Ce):e.getValue("requestTypeToRequestAction",t[g]),subjectType:m===ce?e.getValue("subjectTypeToSubjectName",Ce):e.getValue("subjectTypeToSubjectName",t[m]),...r("locale")!==A&&t[r("locale")]?{locale:e.getValue("languageToLocale",t[r("locale")])}:{},...r("country")!==A&&t[r("country")]?{country:e.getValue("regionToCountry",t[r("country")])}:{},...r("countrySubDivision")!==A&&t[r("countrySubDivision")]?{countrySubDivision:e.getValue("regionToCountrySubDivision",t[r("countrySubDivision")])}:{},...r("requestStatus")!==A&&e.getValue("statusToRequestStatus",t[r("requestStatus")])!==A&&t[r("requestStatus")]?{status:e.getValue("statusToRequestStatus",t[r("requestStatus")])}:{},...r("createdAt")!==A&&t[r("createdAt")]?{createdAt:new Date(t[r("createdAt")])}:{},...r("dataSiloIds")!==A&&t[r("dataSiloIds")]?{dataSiloIds:Ie(t[r("dataSiloIds")])}:{}}]})}import dt from"colors";import gt from"cli-progress";import*as q from"io-ts";import{decodeCodec as Er,valuesOf as vr}from"@transcend-io/type-utils";import{TableEncryptionType as Nr}from"@transcend-io/privacy-types";var yt=q.type({defaultMessage:q.string,id:q.string}),xr=q.type({downloadKey:q.string,error:q.union([q.null,q.string]),mimetype:q.string,size:q.string,fileName:q.string,dataPoint:q.type({id:q.string,title:q.union([yt,q.null]),description:q.union([yt,q.null]),name:q.string,slug:q.string,encryption:q.union([vr(Nr),q.null]),dataSilo:q.type({id:q.string,title:q.string,description:q.string,type:q.string,outerType:q.union([q.string,q.null])}),path:q.array(q.string)})}),Lr=q.type({nodes:q.array(xr),totalCount:q.number,_links:q.partial({next:q.union([q.string,q.null]),previous:q.union([q.string,q.null])})});async function qt(n,{sombra:e,concurrency:s=5,limit:l=100}){u.info(dt.magenta(`Pulling file metadata for ${n.length} requests`));let a=new Date().getTime(),o=new gt.SingleBar({},gt.Presets.shades_classic),i=0;o.start(n.length,0);let r=await b(n,async c=>{let g=[],m=!0,d=0;for(;m;){let p;try{let f=await e.get(`v1/data-subject-request/${c.id}/download-keys`,{searchParams:{limit:l,offset:d}}).json();p=Er(Lr,f),g.push(...p.nodes),d+=l,m=!!p._links.next&&p.nodes.length===l}catch(f){throw new Error(`Received an error from server: ${f?.response?.body||f?.message}`)}}return i+=1,o.update(i),[c,g]},{concurrency:s});o.stop();let y=new Date().getTime()-a;return u.info(dt.green(`Successfully downloaded file metadata ${n.length} requests in "${y/1e3}" seconds!`)),r}import $r from"colors";async function Rt(n,{requestId:e,sombra:s,onFileDownloaded:l,concurrency:a=20}){await b(n,async o=>{try{await s.get("v1/files",{searchParams:{downloadKey:o.downloadKey}}).buffer().then(i=>l(o,i))}catch(i){if(i?.response?.body?.includes("fileMetadata#verify")){u.error($r.red(`Failed to pull file for: ${o.fileName} (request:${e}) - JWT expired. This likely means that the file is no longer available. Try restarting the request from scratch in Transcend Admin Dashboard. Skipping the download of this file.`));return}throw new Error(`Received an error from server: ${i?.response?.body||i?.message}`)}},{concurrency:a})}import{existsSync as Pe,mkdirSync as De,writeFileSync as Or}from"fs";import{dirname as jr,join as ht}from"path";import St from"colors";import{RequestAction as Fr,RequestStatus as Ee}from"@transcend-io/privacy-types";import bt from"cli-progress";async function Yo({auth:n,folderPath:e,requestIds:s,createdAtBefore:l,sombraAuth:a,createdAtAfter:o,statuses:i=[Ee.Approving,Ee.Downloadable],concurrency:r=5,transcendUrl:t=C,approveAfterDownload:y=!1}){let c=w(t,n),g=await W(t,n,a);Pe(e)||De(e);let m=await E(c,{actions:[Fr.Access],createdAtBefore:l,createdAtAfter:o,statuses:i,requestIds:s}),d=await qt(m,{sombra:g,concurrency:r}),p=new Date().getTime(),f=new bt.SingleBar({},bt.Presets.shades_classic),h=0,S=0;f.start(m.length,0),await b(d,async([v,x])=>{let K=ht(e,v.id);Pe(K)||De(K),await Rt(x,{sombra:g,requestId:v.id,onFileDownloaded:($,_)=>{let z=ht(K,$.fileName),j=jr(z);Pe(j)||De(j,{recursive:!0}),Or(z,_)}}),y&&v.status===Ee.Approving&&(await P(c,de,{input:{requestId:v.id}}),S+=1),h+=1,f.update(h)},{concurrency:r}),f.stop();let T=new Date().getTime()-p;return u.info(St.green(`Successfully downloaded ${h} requests in "${T/1e3}" seconds!`)),S>0&&u.info(St.green(`Approved ${S} requests in Transcend.`)),m.length}import*as I from"io-ts";import{uniq as _r}from"lodash-es";import{valuesOf as Te,decodeCodec as kr}from"@transcend-io/type-utils";import{IsoCountryCode as Vr,IsoCountrySubdivisionCode as Mr,RequestAction as Br,RequestStatus as Ur}from"@transcend-io/privacy-types";var ve=I.type({id:I.string,link:I.string,status:Te(Ur),type:Te(Br),subjectType:I.string,email:I.union([I.null,I.string]),coreIdentifier:I.string,isSilent:I.boolean,isTest:I.boolean,country:I.union([I.null,Te(Vr)]),countrySubDivision:I.union([I.null,Te(Mr)]),attributeValues:I.array(I.type({attributeKey:I.type({name:I.string}),name:I.string}))});async function Tt(n,e,{details:s="",isTest:l=!1,emailIsVerified:a=!0,skipSendingReceipt:o=!1,isSilent:i=!0,additionalAttributes:r=[]}={}){let t=[...r];(e.attributes||[]).forEach(g=>{let m=t.find(d=>d.key===g.key);m?(m.values.push(...g.values),m.values=_r(m.values)):t.push(g)});let y;try{y=await n.post("v1/data-subject-request",{json:{type:e.requestType,subject:{coreIdentifier:e.coreIdentifier,email:e.email,emailIsVerified:a,attestedExtraIdentifiers:e.attestedExtraIdentifiers},subjectType:e.subjectType,isSilent:i,isTest:l,skipSendingReceipt:o,...e.locale?{locale:e.locale}:{},details:s,attributes:t,...e.country||e.countrySubDivision?{region:{...e.country?{country:e.country}:e.countrySubDivision?{country:e.countrySubDivision.split("-")[0]}:{},...e.countrySubDivision?{countrySubDivision:e.countrySubDivision}:{}}}:{},...e.createdAt?{createdAt:e.createdAt}:{},...e.dataSiloIds?{dataSiloIds:e.dataSiloIds}:{},...e.status?{completedRequestStatus:e.status}:{}}}).json()}catch(g){throw new Error(`Received an error from server: ${g?.response?.body||g?.message}`)}let{request:c}=kr(I.type({request:ve}),y);return c}import Ne from"colors";import{RequestStatus as Qr}from"@transcend-io/privacy-types";import At from"cli-progress";async function li({requestActions:n,requestOrigins:e,auth:s,silentModeBefore:l,createdAtAfter:a,createdAtBefore:o,concurrency:i=50,transcendUrl:r=C}){let t=w(r,s),y=new Date().getTime(),c=new At.SingleBar({},At.Presets.shades_classic),g=await E(t,{actions:n,statuses:[Qr.Approving],createdAtAfter:a,origins:e,createdAtBefore:o});u.info(Ne.magenta(`Approving "${g.length}" requests.`));let m=0,d=0;c.start(g.length,0),await b(g,async h=>{l&&new Date(l)>new Date(h.createdAt)&&await P(t,oe,{input:{id:h.id,isSilent:!0}});try{await P(t,de,{input:{requestId:h.id}})}catch(S){S.message.includes("Request must be in an approving state,")&&(d+=1)}m+=1,c.update(m)},{concurrency:i}),c.stop();let f=new Date().getTime()-y;return d>0&&u.info(Ne.yellow(`${d} requests were skipped.`)),u.info(Ne.green(`Successfully approved ${m} requests in "${f/1e3}" seconds!`)),g.length}import wt from"colors";import{RequestAction as Gr}from"@transcend-io/privacy-types";import Ct from"cli-progress";async function Ri({requestActions:n=Object.values(Gr),auth:e,requestIds:s,createdAtBefore:l,days:a=45,daysLeft:o=10,createdAtAfter:i,emailTemplate:r="Additional Time Needed",concurrency:t=100,transcendUrl:y=C}){let c=w(y,e),g=new Date().getTime(),m=new Ct.SingleBar({},Ct.Presets.shades_classic),p=(await ge(c,r)).find(T=>T.title===r);if(!p)throw new Error(`Failed to find a template with title: "${r}"`);let f=await E(c,{actions:n,createdAtBefore:l,createdAtAfter:i,isSilent:!1,isClosed:!1,requestIds:s});f=f.filter(T=>typeof T.daysRemaining=="number"&&T.daysRemaining<o),u.info(wt.magenta(`Notifying "${f.length}" that more time is needed.`));let h=0;m.start(f.length,0),await b(f,async T=>{await P(c,Ve,{input:{requestId:T.id,template:p.template.defaultMessage,subject:p.subject.defaultMessage,additionalTime:a}}),h+=1,m.update(h)},{concurrency:t}),m.stop();let N=new Date().getTime()-g;return u.info(wt.green(`Successfully marked ${h} requests as silent mode in "${N/1e3}" seconds!`)),f.length}import Kr from"inquirer";async function It(n,e,s){let{initializer:l}=await P(n,Fe),a=l.identifiers.filter(({name:i})=>!s.getValue("identifierNames",i)&&!Re.includes(i)),o=a.length===0?{}:await Kr.prompt(a.map(({name:i})=>{let r=ne(e,i,!1);return{name:i,message:`Choose the column that will be used to map in the identifier: ${i}`,type:"list",default:r[0],choices:r}}));return await Promise.all(Object.entries(o).map(([i,r])=>s.setValue(r,"identifierNames",i))),{...s.getValue("identifierNames"),...o}}import Pt from"colors";import{RequestStatus as Z}from"@transcend-io/privacy-types";import Dt from"cli-progress";async function ji({requestActions:n,cancellationTitle:e,auth:s,requestIds:l,silentModeBefore:a,createdAtBefore:o,createdAtAfter:i,statuses:r=[Z.Compiling,Z.RequestMade,Z.Delayed,Z.Approving,Z.Secondary,Z.Enriching,Z.Waiting,Z.SecondaryApproving],concurrency:t=50,transcendUrl:y=C}){let c=w(y,s),g=new Date().getTime(),m=new Dt.SingleBar({},Dt.Presets.shades_classic),d;if(e){let T=(await ge(c,e)).find(v=>v.title===e);if(!T)throw new Error(`Failed to find a template with title: "${e}"`);d=T}let p=await E(c,{actions:n,createdAtBefore:o,createdAtAfter:i,statuses:r,requestIds:l});u.info(Pt.magenta(`Canceling "${p.length}" requests${d?` Using template: ${d.title}`:""}.`));let f=0;m.start(p.length,0),await b(p,async N=>{a&&new Date(a)>new Date(N.createdAt)&&await P(c,oe,{input:{id:N.id,isSilent:!0}}),await P(c,ke,{input:{requestId:N.id,...d?{subject:`Re: ${d.subject.defaultMessage}`,template:d.template.defaultMessage}:{}}}),f+=1,m.update(f)},{concurrency:t}),m.stop();let S=new Date().getTime()-g;return u.info(Pt.green(`Successfully canceled ${f} requests in "${S/1e3}" seconds!`)),p.length}import zr from"inquirer";async function Et(n,e,s,l){let a=l.filter(({name:i})=>!s.getValue("attributeNames",i)),o=a.length===0?{}:await zr.prompt(a.map(({name:i})=>{let r=ne(e,i,!1);return{name:i,message:`Choose the column that will be used to map in the attribute: ${i}`,type:"list",default:r[0],choices:r}}));return await Promise.all(Object.entries(o).map(([i,r])=>s.setValue(r,"attributeNames",i))),{...s.getValue("attributeNames"),...o}}var vt=/{\\"message\\":\\"(.+?)\\",/;function Ae(n){return vt.test(n)?vt.exec(n)[1]:null}import F from"colors";import*as pe from"io-ts";import{uniq as Yr}from"lodash-es";import Nt from"cli-progress";import{join as Wr}from"path";import{PersistedState as xt}from"@transcend-io/persisted-state";async function ln({cacheFilepath:n,requestReceiptFolder:e,file:s,auth:l,sombraAuth:a,concurrency:o=100,defaultPhoneCountryCode:i="1",transcendUrl:r=C,attributes:t=[],emailIsVerified:y=!0,skipFilterStep:c=!1,skipSendingReceipt:g=!0,isTest:m=!1,isSilent:d=!0,debug:p=!1,dryRun:f=!1}){let h=new Date().getTime(),S=new Nt.SingleBar({},Nt.Presets.shades_classic),N=ot(t),T=new xt(n,He,{columnNames:{},requestTypeToRequestAction:{},subjectTypeToSubjectName:{},languageToLocale:{},statusToRequestStatus:{},identifierNames:{},attributeNames:{},regionToCountrySubDivision:{},regionToCountry:{}}),v=Wr(e,`tr-request-upload-${new Date().toISOString()}-${s.split("/").pop()}`.replace(".csv",".json")),x=new xt(v,Xe,{successfulRequests:[],duplicateRequests:[],failingRequests:[]}),K=await W(r,l,a),$=nt(s,pe.record(pe.string,pe.string)),_=Yr($.map(U=>Object.keys(U)).flat());if($.length===0)throw new Error("No Requests found in list! Ensure the first row of the CSV is a header and the rest are requests.");if(p){let U=$[0];u.info(F.magenta(`First request: ${JSON.stringify(U,null,2)}`))}let z=c?$:await ut($),j=w(r,l),L=await ze(j),B=await mt(_,T),Y=await It(j,_,T),k=await Et(j,_,T,L);await pt(j,z,{state:T,columnNameMap:B});let O=ft(z,T,{defaultPhoneCountryCode:i,columnNameMap:B,identifierNameMap:Y,attributeNameMap:k,requestAttributeKeys:L});p||S.start(O.length,0);let H=0;await b(O,async([U,V],Q)=>{let Oe=p?`email:${V.email} | coreIdentifier:${V.coreIdentifier}`:`row:${Q.toString()}`;if(p&&u.info(F.magenta(`[${Q+1}/${O.length}] Importing: ${JSON.stringify(V,null,2)}`)),f){u.info(F.magenta("Bailing out on dry run because dryRun is set"));return}try{let X=await Tt(K,V,{details:`Uploaded by Transcend Cli: "tr-request-upload" : ${JSON.stringify(U,null,2)}`,isTest:m,emailIsVerified:y,skipSendingReceipt:g,isSilent:d,additionalAttributes:N});p&&(u.info(F.green(`[${Q+1}/${O.length}] Successfully submitted the test data subject request: "${Oe}"`)),u.info(F.green(`[${Q+1}/${O.length}] View it at: "${X.link}"`)));let se=x.getValue("successfulRequests");se.push({id:X.id,link:X.link,rowIndex:Q,coreIdentifier:X.coreIdentifier,attemptedAt:new Date().toISOString()}),await x.setValue(se,"successfulRequests")}catch(X){let se=`${X.message} - ${JSON.stringify(X.response?.body,null,2)}`,we=Ae(se);if(we==="Client error: You have already made this request."){p&&u.info(F.yellow(`[${Q+1}/${O.length}] Skipping request as it is a duplicate`));let ue=x.getValue("duplicateRequests");ue.push({coreIdentifier:V.coreIdentifier,rowIndex:Q,attemptedAt:new Date().toISOString()}),await x.setValue(ue,"duplicateRequests")}else{let ue=x.getValue("failingRequests");ue.push({...V,rowIndex:Q,error:we||se,attemptedAt:new Date().toISOString()}),await x.setValue(ue,"failingRequests"),p&&(u.error(F.red(we||se)),u.error(F.red(`[${Q+1}/${O.length}] Failed to submit request for: "${Oe}"`)))}}H+=1,p||S.update(H)},{concurrency:o}),S.stop();let ae=new Date().getTime()-h;u.info(F.green(`Completed upload in "${ae/1e3}" seconds.`)),x.getValue("duplicateRequests").length>0&&u.info(F.yellow(`Encountered "${x.getValue("duplicateRequests").length}" duplicate requests. See "${v}" to review the core identifiers for these requests.`)),x.getValue("failingRequests").length>0&&(u.error(F.red(`Encountered "${x.getValue("failingRequests").length}" errors. See "${v}" to review the error messages and inputs.`)),process.exit(1))}import*as Lt from"io-ts";import{groupBy as Jr}from"lodash-es";import{apply as Zr,decodeCodec as Hr}from"@transcend-io/type-utils";import{IdentifierType as xe}from"@transcend-io/privacy-types";async function $t(n,e,{sendEmailReceipt:s=!1,skipWaitingPeriod:l=!1,emailIsVerified:a=!0,requestIdentifiers:o=[]}={}){let i=await n.post("v1/data-subject-request",{json:{type:e.type,subject:{coreIdentifier:e.coreIdentifier,email:e.email,emailIsVerified:a,...o.length>0?{attestedExtraIdentifiers:Zr(Jr(o.filter(t=>!(t.name==="email"&&t.value===e.email)&&!Re.includes(t.name)).map(t=>({...t,type:Object.values(xe).includes(t.name)?t.name:xe.Custom})),"type"),(t,y)=>t.map(({name:c,value:g})=>({...y===xe.Custom?{name:c}:{},value:g})))}:{}},requestId:e.id,subjectType:e.subjectType,isSilent:e.isSilent,isTest:e.isTest,locale:e.locale,skipWaitingPeriod:l,createdAt:e.createdAt,details:`Restarted by Transcend cli: "tr-request-restart" - ${e.details}`,skipSendingReceipt:!s}}).json(),{request:r}=Hr(Lt.type({request:ve}),i);return r}import{PersistedState as Xr}from"@transcend-io/persisted-state";import Ot from"cli-progress";import Le from"colors";import*as M from"io-ts";import{difference as es}from"lodash-es";import{join as ts}from"path";var rs=M.intersection([he,M.type({error:M.string})]),ss=M.type({restartedRequests:M.array(he),failingRequests:M.array(rs)});async function En({requestReceiptFolder:n,auth:e,sombraAuth:s,requestActions:l,requestStatuses:a,createdAtBefore:o,createdAtAfter:i,transcendUrl:r=C,requestIds:t=[],createdAt:y=new Date,silentModeBefore:c,sendEmailReceipt:g=!1,emailIsVerified:m=!0,copyIdentifiers:d=!1,skipWaitingPeriod:p=!1,concurrency:f=20}){let h=new Date().getTime(),S=new Ot.SingleBar({},Ot.Presets.shades_classic),N=ts(n,`tr-request-restart-${new Date().toISOString()}`),T=new Xr(N,ss,{restartedRequests:[],failingRequests:[]}),v=await W(r,e,s),x=w(r,e),$=(await E(x,{actions:l,statuses:a,createdAtBefore:o,createdAtAfter:i})).filter(L=>new Date(L.createdAt)<y);if(u.info(`Found ${$.length} requests to process`),d&&u.info("copyIdentifiers detected - All Identifiers will be copied."),g&&u.info("sendEmailReceipt detected - Email receipts will be sent."),p&&u.info("skipWaitingPeriod detected - Waiting period will be skipped."),t.length>0&&t.length!==$.length){let L=es(t,$.map(({id:B})=>B));L.length>0&&(u.error(Le.red(`Failed to find the following requests by ID: ${L.join(",")}.`)),process.exit(1))}let _=0;S.start($.length,0),await b($,async(L,B)=>{try{let Y=d?await ye(x,v,{requestId:L.id}):[],k=await $t(v,{...L,isSilent:c&&new Date(L.createdAt)<c?!0:L.isSilent},{requestIdentifiers:Y,skipWaitingPeriod:p,sendEmailReceipt:g,emailIsVerified:m}),O=T.getValue("restartedRequests");O.push({id:k.id,link:k.link,rowIndex:B,coreIdentifier:k.coreIdentifier,attemptedAt:new Date().toISOString()}),await T.setValue(O,"restartedRequests")}catch(Y){let k=`${Y.message} - ${JSON.stringify(Y.response?.body,null,2)}`,O=Ae(k),H=T.getValue("failingRequests");H.push({id:L.id,link:L.link,rowIndex:B,coreIdentifier:L.coreIdentifier,attemptedAt:new Date().toISOString(),error:O||k}),await T.setValue(H,"failingRequests")}_+=1,S.update(_)},{concurrency:f}),S.stop();let j=new Date().getTime()-h;u.info(Le.green(`Completed restarting of requests in "${j/1e3}" seconds.`)),T.getValue("failingRequests").length>0&&(u.error(Le.red(`Encountered "${T.getValue("failingRequests").length}" errors. See "${N}" to review the error messages and inputs.`)),process.exit(1))}import jt from"colors";import Ft from"cli-progress";import{RequestEnricherStatus as _t,RequestStatus as os}from"@transcend-io/privacy-types";async function _n({enricherIds:n,auth:e,concurrency:s=100,transcendUrl:l=C}){let a=w(l,e),o=new Date().getTime(),i=await E(a,{statuses:[os.Enriching]});u.info(jt.magenta(`Processing enricher: "${n.join(",")}" fetched "${i.length}" in enriching status.`));let r=new Ft.SingleBar({},Ft.Presets.shades_classic),t=0;r.start(i.length,0);let y=0;await b(i,async m=>{let p=(await qe(a,{requestId:m.id})).filter(f=>n.includes(f.enricher.id)&&![_t.Resolved,_t.Skipped].includes(f.status));p.length>0&&await je(p,async f=>{try{await P(a,Me,{requestEnricherId:f.id}),y+=1}catch(h){if(!h.message.includes("Client error: Cannot skip Request enricher because it has already completed"))throw h}}),t+=1,r.update(t)},{concurrency:s}),r.stop();let g=new Date().getTime()-o;return u.info(jt.green(`Successfully skipped "${y}" for "${i.length}" requests in "${g/1e3}" seconds!`)),i.length}import{RequestEnricherStatus as is,RequestStatus as ns}from"@transcend-io/privacy-types";import kt from"cli-progress";import $e from"colors";import{difference as as}from"lodash-es";async function Wn({auth:n,requestActions:e=[],createdAtBefore:s,createdAtAfter:l,transcendUrl:a=C,requestEnricherStatuses:o=Object.values(is),requestIds:i=[],enricherId:r,concurrency:t=20}){let y=new Date().getTime(),c=new kt.SingleBar({},kt.Presets.shades_classic),g=w(a,n);u.info($e.magenta("Fetching requests to restart..."));let m=await E(g,{actions:e,statuses:[ns.Enriching],createdAtBefore:s,createdAtAfter:l,requestIds:i}),d=0;if(i.length>0&&i.length!==m.length){let S=as(i,m.map(({id:N})=>N));S.length>0&&(u.error($e.red(`Failed to find the following requests by ID: ${S.join(",")}.`)),process.exit(1))}let p=0;c.start(m.length,0),await b(m,async S=>{let T=(await qe(g,{requestId:S.id})).filter(v=>v.enricher.id===r&&o.includes(v.status));await b(T,async v=>{await Ge(g,v.id),d+=1}),p+=1,c.update(p)},{concurrency:t}),c.stop();let h=new Date().getTime()-y;u.info($e.green(`Completed restarting of ${m.length} requests and ${d} enrichers in "${h/1e3}" seconds.`))}import Vt from"colors";import{RequestStatus as Mt}from"@transcend-io/privacy-types";import Bt from"cli-progress";async function ia({requestActions:n,dataSiloId:e,auth:s,concurrency:l=20,transcendUrl:a=C}){let o=w(a,s),i=new Date().getTime(),r=new Bt.SingleBar({},Bt.Presets.shades_classic),t=await E(o,{actions:n,statuses:[Mt.Compiling,Mt.Approving]});u.info(Vt.magenta(`Retrying requests for Data Silo: "${e}", restarting "${t.length}" requests.`));let y=0,c=0;r.start(t.length,0),await b(t,async d=>{try{let p=await We(o,{requestId:d.id,dataSiloId:e});await P(o,Ue,{requestDataSiloId:p.id})}catch(p){if(!p.message.includes("Failed to find RequestDataSilo"))throw p;c+=1}y+=1,r.update(y)},{concurrency:l}),r.stop();let m=new Date().getTime()-i;return u.info(Vt.green(`Successfully notified Transcend in "${m/1e3}" seconds for ${y} requests, ${c} requests were skipped because data silo was not attached to the request!`)),t.length}import Ut from"colors";import{groupBy as Qt}from"lodash-es";async function ga({auth:n,sombraAuth:e,actions:s=[],statuses:l=[],identifierSearch:a,pageLimit:o=100,transcendUrl:i=C,createdAtBefore:r,createdAtAfter:t,isTest:y}){let c=w(i,n),g=await W(i,n,e),m="";r&&(m+=` before ${r.toISOString()}`),t&&(m+=`${m?", and":""} after ${t.toISOString()}`),u.info(Ut.magenta(`${s.length>0?`Pulling requests of type "${s.join('" , "')}"`:"Pulling all requests"}${m}`));let d=await E(c,{actions:s,text:a,statuses:l,createdAtBefore:r,createdAtAfter:t,isTest:y}),p=await b(d,async h=>{let S=await ye(c,g,{requestId:h.id});return{...h,requestIdentifiers:S}},{concurrency:o});u.info(Ut.magenta(`Pulled ${p.length} requests`));let f=p.map(({attributeValues:h,requestIdentifiers:S,id:N,email:T,type:v,status:x,subjectType:K,details:$,createdAt:_,country:z,locale:j,origin:L,countrySubDivision:B,isSilent:Y,isTest:k,coreIdentifier:O,...H})=>({"Request ID":N,"Created At":_,Email:T,"Core Identifier":O,"Request Type":v,"Data Subject Type":K,Status:x,Country:z,"Country Sub Division":B,Details:$,Origin:L,"Silent Mode":Y,"Is Test Request":k,Language:j,...H,...Object.entries(Qt(h,"attributeKey.name")).reduce((fe,[ae,U])=>Object.assign(fe,{[ae]:U.map(({name:V})=>V).join(",")}),{}),...Object.entries(Qt(S,"name")).reduce((fe,[ae,U])=>Object.assign(fe,{[ae]:U.map(({value:V})=>V).join(",")}),{})}));return{requestsWithRequestIdentifiers:p,requestsFormattedForCsv:f}}import Gt from"colors";import Kt from"cli-progress";import{RequestStatus as zt}from"@transcend-io/privacy-types";async function wa({dataSiloId:n,auth:e,concurrency:s=100,status:l="SKIPPED",transcendUrl:a=C,requestStatuses:o=[zt.Compiling,zt.Secondary]}){let i=w(a,e),r=new Date().getTime(),t=await Ye(i,{dataSiloId:n,requestStatuses:o});u.info(Gt.magenta(`Processing data silo: "${n}" marking "${t.length}" requests as skipped.`));let y=new Kt.SingleBar({},Kt.Presets.shades_classic),c=0;y.start(t.length,0),await b(t,async d=>{try{await P(i,Be,{requestDataSiloId:d.id,status:l})}catch(p){if(!p.message.includes("Client error: Request must be active:"))throw p}c+=1,y.update(c)},{concurrency:s}),y.stop();let m=new Date().getTime()-r;return u.info(Gt.green(`Successfully skipped "${t.length}" requests in "${m/1e3}" seconds!`)),t.length}import Yt from"colors";import{RequestStatus as us}from"@transcend-io/privacy-types";import Wt from"cli-progress";async function $a({requestActions:n,identifierNames:e,auth:s,concurrency:l=20,transcendUrl:a=C}){let o=w(a,s),i=new Date().getTime(),r=new Wt.SingleBar({},Wt.Presets.shades_classic),t=await E(o,{actions:n,statuses:[us.Enriching]});u.info(Yt.magenta("Fetched requests in preflight/enriching state."));let y=0,c=0;r.start(t.length,0),await b(t,async d=>{let f=(await Ke(o,{requestId:d.id})).filter(({isVerifiedAtLeastOnce:h,name:S})=>h===!1&&e.includes(S)).map(({id:h})=>h);f.length>0&&(await P(o,Qe,{input:{requestId:d.id,requestIdentifierIds:f}}),c+=f.length),y+=1,r.update(y)},{concurrency:l}),r.stop();let m=new Date().getTime()-i;return u.info(Yt.green(`Successfully cleared out unverified identifiers "${m/1e3}" seconds for ${y} requests, ${c} identifiers were cleared out!`)),t.length}export{A as a,ce as b,Ce as c,Re as d,ie as e,Je as f,Ze as g,He as h,he as i,Xe as j,Se as k,ne as l,ee as m,Ie as n,st as o,ot as p,nt as q,G as r,ut as s,Ys as t,mt as u,pt as v,Pr as w,wo as x,Dr as y,ft as z,yt as A,xr as B,Lr as C,qt as D,Rt as E,Yo as F,ve as G,Tt as H,li as I,Ri as J,It as K,ji as L,Et as M,Ae as N,ln as O,$t as P,En as Q,_n as R,Wn as S,ia as T,ga as U,wa as V,$a as W};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{makeEnum as e}from"@transcend-io/type-utils";var a=(s=>(s.Json="json",s))(a||{}),o=(s=>(s.Assessments="assessments",s))(o||{}),p=(i=>(i.OneTrust="oneTrust",i.File="file",i))(p||{}),m=(t=>(t.ApiKeys="apiKeys",t.Attributes="customFields",t.Templates="templates",t.DataSilos="dataSilos",t.Enrichers="enrichers",t.DataFlows="dataFlows",t.BusinessEntities="businessEntities",t.Actions="actions",t.DataSubjects="dataSubjects",t.Identifiers="identifiers",t.Cookies="cookies",t.ConsentManager="consentManager",t.Partitions="partitions",t.Prompts="prompts",t.PromptPartials="promptPartials",t.PromptGroups="promptGroups",t.Agents="agents",t.AgentFunctions="agentFunctions",t.AgentFiles="agentFiles",t.Vendors="vendors",t.DataCategories="dataCategories",t.ProcessingPurposes="processingPurposes",t.ActionItems="actionItems",t.ActionItemCollections="actionItemCollections",t.Teams="teams",t.PrivacyCenters="privacyCenters",t.Policies="policies",t.Messages="messages",t.Assessments="assessments",t.AssessmentTemplates="assessmentTemplates",t.Purposes="purposes",t))(m||{}),n=e({RedactEmail:"redactEmail",Log:"log",LogToTranscend:"logToTranscend",ApplyTranscendPolicies:"applyTranscendPolicies"}),h=e({ChatCompletion:"/v1/chat/completions",Embeddings:"/v1/embeddings",Completions:"/v1/completions",Agents:"/v1/assistants",Agent:"/v1/assistants/:assistantId",Threads:"/v1/threads",Thread:"/v1/threads/:threadId",Messages:"/v1/threads/:threadId/messages",Message:"/v1/threads/:threadId/messages/:messageId",Runs:"/v1/threads/:threadId/runs",Run:"/v1/threads/:threadId/runs/:runId",Files:"/v1/files",File:"/v1/files/:fileId"});export{a,o as b,p as c,m as d,n as e,h as f};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{c as x}from"./chunk-VN4S2A5A.js";import{n as u,q as D}from"./chunk-DXOAW6K3.js";import{ga as w,ha as _}from"./chunk-HMF46LB7.js";import{Le as O,Me as U,a as R,b as P,bd as b,pc as L,pe as S,qc as M,tc as N,wc as k}from"./chunk-2FMBK7EQ.js";import{a as c}from"./chunk-OERYFLN2.js";import{e as C}from"./chunk-APA5PR4U.js";import{ConsentBundleType as H}from"@transcend-io/privacy-types";import A from"colors";async function at({auth:e,deploy:i=!1,transcendUrl:o=C,bundleTypes:t=Object.values(H)}){let r=S(o,e),n=await M(r);await R(t,async a=>{c.info(A.magenta(`Update Consent Manager bundle with ID "${n}" and type "${a}" to latest version...`)),await U(r,{id:n,bundleType:a}),c.info(A.green(`Updated Consent Manager bundle with ID "${n}" and type "${a}" to latest version!`))}),i&&await R(t,async a=>{c.info(A.magenta(`Deploying Consent Manager bundle with ID "${n}" and type "${a}"...`)),await O(r,{id:n,bundleType:a}),c.info(A.green(`Deployed Consent Manager bundle with ID "${n}" and type "${a}"!`))})}import G from"colors";var K=["ID","Activity","Encounters","Last Seen At","Has Native Do Not Sell/Share Support","IAB USP API Support","Service Description","Website URL","Categories of Recipients"];async function Ct({auth:e,trackerStatus:i,file:o,classifyService:t=!1,transcendUrl:r=C}){let n=S(r,e);c.info(G.magenta(`Reading "${o}" from disk`));let l=D(o,w).map(({Type:d,Notes:m,Service:f,Purpose:E,Status:g,Owners:I,Teams:T,"Connections Made To":v,...y})=>({value:v,type:d,description:m,trackingPurposes:u(E),status:g||i,owners:I?u(I):void 0,teams:T?u(T):void 0,attributes:Object.entries(y).filter(([h])=>!K.includes(h)).map(([h,B])=>({key:h,values:u(B)}))}));await b(n,l,t)||(c.error(G.red("Encountered error(s) syncing data flows from CSV, see logs above for more info. ")),process.exit(1))}import F from"colors";var j=["ID","Activity","Encounters","Last Seen At","Has Native Do Not Sell/Share Support","IAB USP API Support","Service Description","Website URL","Categories of Recipients"];async function vt({auth:e,trackerStatus:i,file:o,transcendUrl:t=C}){let r=S(t,e);c.info(F.magenta(`Reading "${o}" from disk`));let a=D(o,_).map(({"Is Regex?":s,Notes:d,Service:m,Purpose:f,Status:E,Owners:g,Teams:I,Name:T,...v})=>({...typeof s=="string"?{isRegex:s.toLowerCase()==="true"}:{},name:T,description:d,trackingPurposes:u(f),status:E||i,owners:g?u(g):void 0,teams:I?u(I):void 0,attributes:Object.entries(v).filter(([y])=>!j.includes(y)).map(([y,h])=>({key:y,values:u(h)}))}));await k(r,a)||(c.error(F.red("Encountered error(s) syncing cookies from CSV, see logs above for more info. ")),process.exit(1))}var Y=1e3,Q=60*Y,V=60*Q,X=24*V,z=7*X;async function Lt(e,{bin:i,start:o,end:t=new Date}){let r=await M(e),n=Math.floor(o.getTime()/1e3),a=Math.floor(t.getTime()/1e3);if(n>a)throw new Error('Received "end" date that happened before "start" date');if(i==="1h"&&t.getTime()-o.getTime()>z*2)throw new Error("When using bin=1h, start and end time can be no more than 2 weeks apart");let l=o.toISOString(),s=t.toISOString(),[d,m,f]=await Promise.all([N(e,{dataSource:"PRIVACY_SIGNAL_TIMESERIES",startDate:l,endDate:s,forceRefetch:!0,airgapBundleId:r,binInterval:i,smoothTimeseries:!1}),N(e,{dataSource:"CONSENT_CHANGES_TIMESERIES",startDate:l,endDate:s,forceRefetch:!0,airgapBundleId:r,binInterval:i,smoothTimeseries:!1}),N(e,{dataSource:"CONSENT_SESSIONS_BY_REGIME",startDate:l,endDate:s,forceRefetch:!0,airgapBundleId:r,binInterval:i,smoothTimeseries:!1})]);return{PRIVACY_SIGNAL_TIMESERIES:d,CONSENT_CHANGES_TIMESERIES:m,CONSENT_SESSIONS_BY_REGIME:f}}var $=e=>new URL(`https://${e}`).hostname.split(".").slice(-2).join(".");import W from"colors";import{difference as q}from"lodash-es";var J=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;async function Ht(e,{xdiLocation:i,transcendUrl:o=C,removeIpAddresses:t=!0,domainBlockList:r=["localhost"],xdiAllowedCommands:n="ConsentManager:Sync"}){let a=Array.isArray(e)?e:[{apiKey:e,organizationId:"",organizationName:""}],l=await P(a,async m=>{c.info(W.magenta(`Pulling consent metadata for organization - ${m.organizationName}`));let f=S(o,m.apiKey);return await L(f)},{concurrency:5}),s={};return l.forEach(m=>{let f=m.partition?.partition||m.bundleURL.split("/").reverse()[1];s[f]||(s[f]=[]);let E=q(m.configuration.domains.filter(g=>!t||!J.test(g)).map(g=>$(g)),r);s[f]=[...new Set([...s[f]||[],...E])]}),{html:`
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
<script
|
|
4
|
+
src="${i}"
|
|
5
|
+
data-sync-groups='${JSON.stringify(s,null,2)}'
|
|
6
|
+
data-xdi-commands="${n}"
|
|
7
|
+
></script>
|
|
8
|
+
`,syncGroups:s}}function Yt(e){let i=e.map(({name:o,input:t})=>({title:o.replace(".yml",""),attributes:[...t?.domains?[{key:"Transcend Domain List",values:[...new Set(t.domains)]}]:[],...t?.bundleUrls?[{key:"Airgap Production URL",values:[t.bundleUrls.PRODUCTION]},{key:"Airgap Test URL",values:[t.bundleUrls.TEST]},{key:"Airgap XDI URL",values:[t.bundleUrls.PRODUCTION.replace("airgap.js","xdi.js")]}]:[],...t?.partition?[{key:"Consent Partition Key",values:[t.partition]}]:[]]}));return c.info(`
|
|
9
|
+
|
|
10
|
+
~~~~~~~~~~~
|
|
11
|
+
Airgap scripts to host:`),i.forEach(({attributes:o,title:t},r)=>{o?.find(n=>n.key==="Airgap Production URL")?.values?.forEach(n=>{c.info(`${r}) ${t} - ${n}`)})}),i}import*as p from"io-ts";import{decodeCodec as Z}from"@transcend-io/type-utils";var tt=p.intersection([p.type({nodes:p.array(x)}),p.partial({lastKey:p.partial({userId:p.string,partition:p.string,timestamp:p.string})})]);async function zt(e,{partition:i,filterBy:o={},limit:t=50}){let r,n=[],a=!0;for(;a;){let l=await e.post("v1/consent-preferences",{json:{partition:i,...o,startKey:r||void 0,limit:t}}).json(),{nodes:s,lastKey:d}=Z(tt,l);if(!s||s.length===0)break;n.push(...s),r=d,a=!!d&&Object.keys(d).length>0}return n}export{at as a,Ct as b,vt as c,Lt as d,$ as e,J as f,Ht as g,Yt as h,tt as i,zt as j};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as l,b as m}from"./chunk-W6GUOMVP.js";import{e as g,f as p}from"./chunk-EZCJGIOS.js";import*as t from"io-ts";import{applyEnum as y,valuesOf as e}from"@transcend-io/type-utils";import{DataCategoryType as x,ConsentBundleType as R,EnricherType as S,ProcessingPurpose as b,RequestAction as i,ComparisonOperator as T,RequestActionObjectResolver as d,AssessmentSyncColumn as h,RetentionScheduleType as D,AssessmentQuestionType as E,UspapiOption as N,DataFlowScope as u,PromptAVendorEmailSendType as M,RetentionScheduleOperation as L,AssessmentsDisplayLogicAction as F,DefaultConsentOption as q,LogicOperator as V,ConsentPrecedenceOption as K,AssessmentSyncModel as j,AssessmentQuestionSubType as B,IsoCountryCode as n,BrowserTimeZone as G,IsoCountrySubdivisionCode as s,ConsentTrackerStatus as a,AttributeKeyType as U,PromptAVendorEmailCompletionLinkType as Q,RegionsOperator as z,UnknownRequestPolicy as I,TelemetryPartitionStrategy as H,SignedIabAgreementOption as W,RegionDetectionMethod as Z,PreflightRequestStatus as J,AttributeSupportedResourceType as P,SubDataPointDataSubCategoryGuessStatus as Y,LargeLanguageModelClient as X,PromptFilePurpose as _,CodePackageType as A,ActionItemPriorityOverride as $,ActionItemCode as tt,ScopeName as et,TranscendProduct as rt,PrivacyCenterComponentStyles as nt,PrivacyCenterTextStyles as st,PreferenceStoreAuthLevel as ot,ConfigurableColorPaletteColor as it,AssessmentFormTemplateStatus as at,AssessmentFormStatus as pt,AssessmentFormTemplateSource as yt,UnstructuredSubDataPointRecommendationStatus as ut,PreferenceTopicType as ct}from"@transcend-io/privacy-types";import{InitialViewState as gt,BrowserLanguage as lt,UserPrivacySignalEnum as mt,OnConsentExpiry as dt}from"@transcend-io/airgap.js-types";import{LanguageKey as o}from"@transcend-io/internationalization";var It=t.type({title:t.string}),O=t.intersection([t.type({name:t.string,value:t.string}),t.partial({isSecret:t.boolean})]),ft=t.type({title:t.string}),xt=t.intersection([t.type({name:t.string,description:t.string}),t.partial({"sso-department":t.string,"sso-group":t.string,"sso-title":t.string,users:t.array(t.string),scopes:t.array(e(et))})]),bt=t.intersection([t.type({title:t.string,"output-identifiers":t.array(t.string)}),t.partial({description:t.string,url:t.string,type:e(S),"input-identifier":t.string,testRegex:t.string,lookerQueryTitle:t.string,expirationDuration:t.number,transitionRequestStatus:e(J),phoneNumbers:t.array(t.string),regionList:t.array(e({...n,...s})),"data-subjects":t.array(t.string),headers:t.array(O),"privacy-actions":t.array(e(i))})]),Tt=t.type({purpose:e(b),name:t.string}),c=t.intersection([t.type({category:e(x)}),t.partial({name:t.string})]),Pt=t.intersection([t.type({category:c,status:e(Y),confidence:t.number}),t.partial({classifierVersion:t.number})]),Te=t.intersection([t.type({category:c,status:e(ut),confidence:t.number}),t.partial({classifierVersion:t.number})]),At=t.intersection([t.type({name:t.string}),t.partial({description:t.string,color:t.string})]),Ot=t.intersection([t.type({name:t.string,type:e(U)}),t.partial({description:t.string,resources:t.array(e(P)),values:t.array(At)})]),r=t.type({key:t.string,values:t.array(t.string)}),Ct=t.intersection([t.type({name:t.string,instructions:t.string,agentId:t.string,codeInterpreterEnabled:t.boolean,retrievalEnabled:t.boolean,"large-language-model":t.type({name:t.string,client:e(X)})}),t.partial({description:t.string,prompt:t.string,owners:t.array(t.string),teams:t.array(t.string),"agent-functions":t.array(t.string),"agent-files":t.array(t.string)})]),vt=t.type({name:t.string,description:t.string,parameters:t.string}),kt=t.intersection([t.type({name:t.string,fileId:t.string,size:t.number,purpose:e(_)}),t.partial({description:t.string})]),wt=t.intersection([t.type({title:t.string}),t.partial({description:t.string,dataProcessingAgreementLink:t.string,contactName:t.string,contactPhone:t.string,address:t.string,headquarterCountry:e(n),headquarterSubDivision:e(s),websiteUrl:t.string,businessEntity:t.string,owners:t.array(t.string),teams:t.array(t.string),attributes:t.array(r)})]),Rt=t.intersection([t.type({name:t.string,category:e(x)}),t.partial({description:t.string,regex:t.string,owners:t.array(t.string),teams:t.array(t.string),attributes:t.array(r)})]),St=t.intersection([t.type({name:t.string,purpose:e(b)}),t.partial({description:t.string,owners:t.array(t.string),teams:t.array(t.string),attributes:t.array(r)})]),ht=t.type({title:t.string,content:t.string}),Dt=t.type({title:t.string,content:t.string}),Et=t.type({title:t.string,description:t.string,prompts:t.array(t.string)}),Nt=t.intersection([t.type({key:t.string}),t.partial({title:t.string,description:t.union([t.string,t.null]),purposes:t.array(Tt),categories:t.array(c),"guessed-categories":t.array(Pt),"access-request-visibility-enabled":t.boolean,"erasure-request-redaction-enabled":t.boolean,attributes:t.array(r)})]),Mt=t.intersection([t.type({key:t.string}),t.partial({path:t.array(t.string),title:t.string,description:t.string,"data-collection-tag":t.string,"privacy-action-queries":t.partial(y(d,()=>t.string)),"privacy-actions":t.array(e(d)),fields:t.array(Nt),owners:t.array(t.string),teams:t.array(t.string)})]),Lt=t.partial({"notify-email-address":t.string,"send-frequency":t.number,"send-type":e(M),"include-identifiers-attachment":t.boolean,"completion-link-type":e(Q),"manual-work-retry-frequency":t.string}),Ft=t.intersection([t.type({title:t.string}),t.partial({description:t.string,address:t.string,headquarterCountry:e(n),headquarterSubDivision:e(s),dataProtectionOfficerName:t.string,dataProtectionOfficerEmail:t.string,attributes:t.array(r),owners:t.array(t.string),teams:t.array(t.string)})]),Pe=t.intersection([t.type({name:t.string,codePackageType:e(A)}),t.partial({description:t.string,repositoryUrl:t.string,catalogIntegrationName:t.string,documentationLinks:t.array(t.string),ownerEmails:t.array(t.string),teamNames:t.array(t.string)})]),qt=t.intersection([t.type({name:t.string}),t.partial({version:t.string,isDevDependency:t.boolean})]),Ae=t.intersection([t.type({name:t.string,type:e(A),relativePath:t.string,repositoryName:t.string}),t.partial({description:t.string,softwareDevelopmentKits:t.array(qt),teamNames:t.array(t.string),ownerEmails:t.array(t.string)})]),Oe=t.intersection([t.type({name:t.string,url:t.string}),t.partial({description:t.string,teamNames:t.array(t.string),ownerEmails:t.array(t.string)})]),Vt=t.intersection([t.type({type:t.string}),t.partial({active:t.boolean,title:t.string,adminDashboardDefaultSilentMode:t.boolean,actions:t.array(e(i))})]),Kt=t.intersection([t.type({type:e(i)}),t.partial({skipSecondaryIfNoFiles:t.boolean,skipDownloadableStep:t.boolean,requiresReview:t.boolean,waitingPeriod:t.number,regionDetectionMethod:e(Z),regionList:t.array(e({...n,...s})),regionBlockList:t.array(e({...n,...s}))})]),jt=t.intersection([t.type({name:t.string,type:t.string}),t.partial({regex:t.string,selectOptions:t.array(t.string),privacyCenterVisibility:t.array(e(i)),dataSubjects:t.array(t.string),isRequiredInForm:t.boolean,placeholder:t.string,displayTitle:t.string,displayDescription:t.string,displayOrder:t.number})]),Bt=t.intersection([t.type({value:t.string,type:e(u)}),t.partial({description:t.string,trackingPurposes:t.array(t.string),service:t.string,status:e(a),owners:t.array(t.string),teams:t.array(t.string),attributes:t.array(r)})]),Gt=t.intersection([t.type({name:t.string}),t.partial({isRegex:t.boolean,description:t.string,trackingPurposes:t.array(t.string),service:t.string,status:e(a),owners:t.array(t.string),teams:t.array(t.string),attributes:t.array(r)})]),Ut=t.intersection([t.type({name:t.string}),t.partial({displayName:t.string,regions:t.array(t.partial({countrySubDivision:e(s),country:e(n)})),onConsentExpiry:e(dt),consentExpiry:t.number,operator:e(z),displayPriority:t.number,viewState:e(gt),purposes:t.array(t.type({trackingType:t.string})),optedOutPurposes:t.array(t.type({trackingType:t.string})),browserLanguages:t.array(e(lt)),browserTimeZones:t.array(e(G))})]),Qt=t.intersection([t.type({name:t.string}),t.partial({partition:t.string})]),zt=t.partial({version:t.string,bundleUrls:t.record(e(R),t.string),domains:t.array(t.string),partition:t.string,consentPrecedence:e(K),unknownRequestPolicy:e(I),unknownCookiePolicy:e(I),syncEndpoint:t.string,telemetryPartitioning:e(H),signedIabAgreement:e(W),uspapi:e(N),experiences:t.array(Ut),theme:t.partial({primaryColor:t.string,fontColor:t.string,privacyPolicy:t.string,prompt:t.number}),syncGroups:t.string}),Ht=t.partial({isDisabled:t.boolean,showPrivacyRequestButton:t.boolean,showDataPractices:t.boolean,showPolicies:t.boolean,showTrackingTechnologies:t.boolean,showCookies:t.boolean,showDataFlows:t.boolean,showConsentManager:t.boolean,showManageYourPrivacy:t.boolean,showMarketingPreferences:t.boolean,locales:t.array(e(o)),defaultLocale:e(o),preferBrowserDefaultLocale:t.boolean,supportEmail:t.string,replyToEmail:t.string,useNoReplyEmailAddress:t.boolean,useCustomEmailDomain:t.boolean,transformAccessReportJsonToCsv:t.boolean,theme:t.partial({colors:t.partial(y(it,()=>t.string)),componentStyles:nt,textStyles:st})}),Wt=t.intersection([t.type({title:t.string}),t.partial({effectiveOn:t.string,disableEffectiveOn:t.boolean,content:t.string,disabledLocales:t.array(e(o))})]),Zt=t.intersection([t.type({id:t.string}),t.partial({targetReactIntlId:t.string,defaultMessage:t.string,translations:t.partial(y(o,()=>t.string))})]),Jt=t.intersection([t.type({title:t.string,integrationName:t.string}),t.partial({"outer-type":t.string,description:t.string,url:t.string,"api-key-title":t.string,headers:t.array(O),"data-subjects":t.array(t.string),"identity-keys":t.array(t.string),"deletion-dependencies":t.array(t.string),owners:t.array(t.string),teams:t.array(t.string),disabled:t.boolean,datapoints:t.array(Mt),"email-settings":Lt,country:e(n),countrySubDivision:e(s),attributes:t.array(r),businessEntityTitles:t.array(t.string)})]),Yt=t.intersection([t.type({title:t.string,productLine:e(rt)}),t.partial({description:t.string,hidden:t.boolean})]),Xt=t.intersection([t.type({title:t.string,type:e(tt),collections:t.array(t.string)}),t.partial({priority:e($),customerExperienceActionItemId:t.string,dueDate:t.string,resolved:t.boolean,notes:t.string,link:t.string,users:t.array(t.string),teams:t.array(t.string),attributes:t.array(r)})]),C=t.intersection([t.type({"depends-on-question-reference-id":t.string,"comparison-operator":e(T)}),t.partial({"comparison-operands":t.array(t.string)})]),_t=t.recursion("AssessmentNestedRuleInput",w=>t.intersection([t.type({"logic-operator":e(V)}),t.partial({rules:t.array(C),"nested-rules":t.array(w)})])),$t=t.intersection([t.type({action:e(F)}),t.partial({rule:C,"nested-rule":_t})]),Ce=t.partial({"risk-level":t.string,"risk-matrix-column":t.string,"risk-matrix-row":t.string}),te=t.intersection([t.type({"comparison-operands":t.array(t.string),"comparison-operator":e(T)}),t.partial({"risk-level":t.string,"risk-matrix-column":t.string,"risk-matrix-row":t.string})]),ee=t.type({value:t.string}),re=t.intersection([t.type({title:t.string,type:e(E)}),t.partial({"sub-type":e(B),placeholder:t.string,description:t.string,"is-required":t.boolean,"reference-id":t.string,"display-logic":$t,"risk-logic":t.array(te),"risk-categories":t.array(t.string),"risk-framework":t.string,"answer-options":t.array(ee),"selected-answers":t.array(t.string),"allowed-mime-types":t.array(t.string),"allow-select-other":t.boolean,"sync-model":e(j),"sync-column":e(h),"attribute-key":t.string,"require-risk-evaluation":t.boolean,"require-risk-matrix-evaluation":t.boolean})]),v=t.intersection([t.type({title:t.string,questions:t.array(re)}),t.partial({assignees:t.array(t.string),"external-assignees":t.array(t.string),status:t.string,"is-reviewed":t.boolean})]),k=t.type({type:e(D),"duration-days":t.number,operand:e(L)}),ne=t.intersection([t.type({title:t.string}),t.partial({sections:t.array(v),description:t.string,status:e(at),source:e(yt),creator:t.string,locked:t.boolean,"parent-id":t.string,archived:t.boolean,"created-at":t.string,"attribute-keys":t.array(t.string),"retention-schedule":k,templates:t.array(t.string)})]),f=t.type({title:t.string,type:e(P)}),se=t.intersection([t.type({title:t.string,group:t.string}),t.partial({sections:t.array(v),creator:t.string,description:t.string,status:e(pt),assignees:t.array(t.string),"external-assignees":t.array(t.string),reviewers:t.array(t.string),locked:t.boolean,archived:t.boolean,external:t.boolean,"title-is-internal":t.boolean,"due-date":t.string,"created-at":t.string,"assigned-at":t.string,"submitted-at":t.string,"approved-at":t.string,"rejected-at":t.string,resources:t.array(f),rows:t.array(f),"retention-schedule":k,attributes:t.array(r)})]),oe=t.type({title:t.string,slug:t.string}),ie=t.intersection([t.type({type:e(ct),title:t.string,description:t.string}),t.partial({"default-configuration":t.string,"show-in-privacy-center":t.boolean,options:t.array(oe)})]),ae=t.intersection([t.type({trackingType:t.string,title:t.string,name:t.string}),t.partial({description:t.string,"is-active":t.boolean,configurable:t.boolean,"display-order":t.number,"show-in-privacy-center":t.boolean,"show-in-consent-manager":t.boolean,"preference-topics":t.array(ie),"auth-level":e(ot),"opt-out-signals":t.array(e(mt)),"default-consent":e(q)})]),ve=t.partial({"action-items":t.array(Xt),"action-item-collections":t.array(Yt),"api-keys":t.array(ft),teams:t.array(xt),templates:t.array(It),enrichers:t.array(bt),attributes:t.array(Ot),"business-entities":t.array(Ft),vendors:t.array(wt),"data-categories":t.array(Rt),"processing-purposes":t.array(St),"data-subjects":t.array(Vt),actions:t.array(Kt),identifiers:t.array(jt),"data-silos":t.array(Jt),"data-flows":t.array(Bt),cookies:t.array(Gt),"consent-manager":zt,prompts:t.array(ht),"prompt-partials":t.array(Dt),"prompt-groups":t.array(Et),agents:t.array(Ct),"agent-functions":t.array(vt),"agent-files":t.array(kt),"privacy-center":Ht,policies:t.array(Wt),messages:t.array(Zt),partitions:t.array(Qt),"assessment-templates":t.array(ne),assessments:t.array(se),purposes:t.array(ae)}),ke=t.type({organizationName:t.string,apiKey:t.string,organizationId:t.string}),we=t.intersection([t.type({"Connections Made To":t.string,Type:e(u),Purpose:t.string}),t.partial({Service:t.string,Notes:t.string,Owners:t.string,Teams:t.string,Status:e(a)}),t.record(t.string,t.string)]),Re=t.intersection([t.type({Name:t.string,Purpose:t.string}),t.partial({Service:t.string,Notes:t.string,Owners:t.string,Teams:t.string,Status:e(a)}),t.record(t.string,t.string)]),Se=t.type({title:t.string,description:t.string,cookies:t.array(t.type({name:t.string,trackingPurposes:t.array(t.string)})),dataFlows:t.array(t.type({value:t.string,type:e(u),trackingPurposes:t.array(t.string)}))}),he=e(g),pe=l({TRouteName:e(p)}),De=e(p),ye=t.array(pe),ue=m({TEnabledRoutes:ye}),Ee=t.partial({enabledIntegrations:t.partial({openAI:ue})}),Ne=t.partial({promptRunName:t.string,promptId:t.string,promptTitle:t.string,promptGroupId:t.string,promptGroupTitle:t.string,runByEmployeeEmail:t.string,applicationId:t.string,applicationName:t.string,codePackageName:t.string,repositoryName:t.string,applicationUserCoreIdentifier:t.string,applicationUserName:t.string,slackMessageTs:t.string,slackTeamId:t.string,slackChannelId:t.string,slackChannelName:t.string}),ce=t.intersection([t.type({title:t.string}),t.partial({value:t.string})]),ge=t.type({columns:t.array(ce)}),Me=t.partial({rows:t.array(ge),json:t.string});export{It as a,O as b,ft as c,xt as d,bt as e,Tt as f,c as g,Pt as h,Te as i,At as j,Ot as k,r as l,Ct as m,vt as n,kt as o,wt as p,Rt as q,St as r,ht as s,Dt as t,Et as u,Nt as v,Mt as w,Lt as x,Ft as y,Pe as z,qt as A,Ae as B,Oe as C,Vt as D,Kt as E,jt as F,Bt as G,Gt as H,Ut as I,Qt as J,zt as K,Ht as L,Wt as M,Zt as N,Jt as O,Yt as P,Xt as Q,C as R,_t as S,$t as T,Ce as U,te as V,ee as W,re as X,v as Y,k as Z,ne as _,f as $,se as aa,oe as ba,ie as ca,ae as da,ve as ea,ke as fa,we as ga,Re as ha,Se as ia,he as ja,pe as ka,ye as la,ue as ma,Ee as na,Ne as oa,Me as pa};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{q as N}from"./chunk-DXOAW6K3.js";import{De as U,_b as F,a as v,b as q,pe as D,qe as R,ve as O,wa as G}from"./chunk-2FMBK7EQ.js";import{a as t}from"./chunk-OERYFLN2.js";import{e as T}from"./chunk-APA5PR4U.js";import*as e from"io-ts";import{decodeCodec as Y}from"@transcend-io/type-utils";var Z=e.type({identifier:e.string,type:e.string,coreIdentifier:e.string,dataSiloId:e.string,requestId:e.string,nonce:e.string,requestCreatedAt:e.string,daysUntilOverdue:e.number,attributes:e.array(e.type({key:e.string,values:e.array(e.string)}))});async function L(r,{dataSiloId:s,limit:c=100,offset:n=0,requestType:a}){try{let i=await r.get(`v1/data-silo/${s}/pending-requests/${a}`,{searchParams:{offset:n,limit:c}}).json(),{items:f}=Y(e.type({items:e.array(Z)}),i);return f}catch(i){throw new Error(`Received an error from server: ${i?.response?.body||i?.message}`)}}import*as S from"io-ts";var B=S.type({nonce:S.string,identifier:S.string});async function j(r,{nonce:s,identifier:c}){try{return await r.put("v1/data-silo",{headers:{"x-transcend-nonce":s},json:{profiles:[{profileId:c}]}}),!0}catch(n){if(n.response?.statusCode===409)return!1;throw new Error(`Received an error from server: ${n?.response?.body||n?.message}`)}}import{chunk as W}from"lodash-es";import p from"colors";import Q from"cli-progress";async function ue({file:r,dataSiloId:s,auth:c,sombraAuth:n,concurrency:a=100,transcendUrl:i=T,sleepSeconds:f=10}){let y=await R(i,c,n);t.info(p.magenta(`Reading "${r}" from disk`));let o=N(r,B);t.info(p.magenta(`Notifying Transcend for data silo "${s}" marking "${o.length}" identifiers as completed.`));let C=new Date().getTime(),w=new Q.SingleBar({},Q.Presets.shades_classic),d=0,u=0,l=0;w.start(o.length,0);let m=W(o,a),I=m.length;await v(m,async($,P)=>{t.info(p.blue(`Processing chunk ${P+1}/${I} (${W.length} items)`)),await q($,async h=>{try{await j(y,h)?d+=1:u+=1}catch(b){t.error(p.red(`Error notifying Transcend for identifier "${h.identifier}" - ${b?.message}`)),l+=1}w.update(d+u)}),f>0&&P<I-1&&(t.info(p.yellow(`Sleeping for ${f}s before next chunk...`)),await new Promise(h=>{setTimeout(h,f*1e3)}))}),w.stop();let x=new Date().getTime()-C;if(t.info(p.green(`Successfully notified Transcend for ${d} identifiers in "${x/1e3}" seconds!`)),u&&t.info(p.magenta(`There were ${u} identifiers that were not in a state to be updated.They likely have already been resolved.`)),l)throw t.error(p.red(`There were ${l} identifiers that failed to be updated. Please review the logs for more information.`)),new Error("Failed to update all identifiers");return o.length}import z from"colors";import H from"cli-progress";import{RequestDataSiloStatus as ee}from"@transcend-io/privacy-types";async function Te({requestIds:r,dataSiloId:s,auth:c,concurrency:n=100,status:a=ee.Resolved,transcendUrl:i=T}){let f=D(i,c),y=new Date().getTime(),o=new H.SingleBar({},H.Presets.shades_classic);t.info(z.magenta(`Notifying Transcend for data silo "${s}" marking "${r.length}" requests as completed.`));let C=0;o.start(r.length,0),await q(r,async u=>{let l=await U(f,{requestId:u,dataSiloId:s});try{await F(f,G,{requestDataSiloId:l.id,status:a})}catch(m){if(!m.message.includes("Client error: Request must be active:"))throw m}C+=1,o.update(C)},{concurrency:n}),o.stop();let d=new Date().getTime()-y;return t.info(z.green(`Successfully notified Transcend in "${d/1e3}" seconds!`)),r.length}import k from"colors";import J from"cli-progress";async function ke({dataSiloId:r,auth:s,sombraAuth:c,actions:n,apiPageSize:a=100,savePageSize:i=1e3,onSave:f,transcendUrl:y=T,skipRequestCount:o=!1}){if(i%a!==0)throw new Error(`savePageSize must be a multiple of apiPageSize. savePageSize: ${i}, apiPageSize: ${a}`);let C=await R(y,s,c),w=D(y,s),d=0;o||(d=await O(w,{dataSiloId:r})),t.info(k.magenta(`Pulling ${o?"all":d} outstanding request identifiers for data silo: "${r}" for requests of types "${n.join('", "')}"`));let u=new Date().getTime(),l=new J.SingleBar({},J.Presets.shades_classic),m=new Set,I=[],g=[];o||l.start(d,0),await v(n,async $=>{let P=0,h=!0;for(;h;){let b=await L(C,{dataSiloId:r,limit:a,offset:P,requestType:$}),E=b.map(A=>(m.add(A.requestId),{...A,action:$})),M=E.map(({attributes:A,...V})=>({...V,...A.reduce((X,_)=>Object.assign(X,{[_.key]:_.values.join(",")}),{})}));I.push(...E),g.push(...M),g.length>=i&&(await f(g),g=[]),h=b.length===a,P+=a,o?t.info(k.magenta(`Pulled ${b.length} outstanding identifiers for ${m.size} requests`)):l.update(m.size)}}),g.length>0&&await f(g),o||l.stop();let x=new Date().getTime()-u;return t.info(k.green(`Successfully pulled ${I.length} outstanding identifiers from ${m.size} requests in "${x/1e3}" seconds!`)),{identifiers:I}}export{Z as a,L as b,B as c,j as d,ue as e,Te as f,ke as g};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{c as u}from"./chunk-R5WBISY5.js";import{a as E}from"./chunk-OERYFLN2.js";import{readFileSync as b}from"fs";import{findAllWithRegex as F}from"@transcend-io/type-utils";import{CodePackageType as w}from"@transcend-io/privacy-types";var N=/target ('|")(.*?)('|")/,O=/pod ('|")(.*?)('|")(, ('|")~> (.+?)('|")|)/,y={supportedFiles:["Podfile"],ignoreDirs:["Pods"],scanFunction:e=>{let n=b(e,"utf-8"),o=F({value:new RegExp(N,"g"),matches:["quote1","name","quote2"]},n),c=F({value:new RegExp(O,"g"),matches:["quote1","name","quote2","extra","quote3","version","quote4"]},n);return o.map((t,p)=>({name:t.name,type:w.CocoaPods,softwareDevelopmentKits:c.filter(r=>r.matchIndex>t.matchIndex&&(!o[p+1]||r.matchIndex<o[p+1].matchIndex)).map(r=>({name:r.name,version:r.version}))}))}};import{readFileSync as T}from"fs";import{findAllWithRegex as l}from"@transcend-io/type-utils";import{dirname as h}from"path";var K=/implementation( *)('|")(.+?):(.+?):(.+?|)('|")/,M=/apply plugin: *('|")(.+?)(:(.+?)|)('|")/,j=/implementation group:( *)('|")(.+?)('|"),( *)name:( *)('|")(.+?)('|"),( *)version:( *)('|")(.+?)('|")/,L=/applicationId( *)"(.+?)"/,S={supportedFiles:["build.gradle**"],ignoreDirs:["gradle-app.setting","gradle-wrapper.jar","gradle-wrapper.properties"],scanFunction:e=>{let n=T(e,"utf-8"),o=h(e),c=l({value:new RegExp(K,"g"),matches:["space","quote1","name","path","version","quote2"]},n),a=l({value:new RegExp(M,"g"),matches:["quote1","name","group","version","quote2"]},n),t=l({value:new RegExp(j,"g"),matches:["space1","quote1","group","quote2","space2","space3","quote3","name","quote4","space4","space5","quote5","version","quote6"]},n),p=l({value:new RegExp(L,"g"),matches:["space","name"]},n);if(p.length>1)throw new Error(`Expected only one applicationId per file: ${e}`);return[{name:p[0]?.name||o.split("/").pop(),softwareDevelopmentKits:[...c,...t,...a].map(r=>({name:r.name,version:r.version||void 0}))}]}};import{readFileSync as $}from"fs";import{dirname as J}from"path";var x={supportedFiles:["package.json"],ignoreDirs:["node_modules","serverless-build","lambda-build"],scanFunction:e=>{let n=$(e,"utf-8"),o=J(e),c=JSON.parse(n),{name:a,description:t,dependencies:p={},devDependencies:r={},optionalDependencies:i={}}=c;return[{name:a||o.split("/").pop(),description:t,softwareDevelopmentKits:[...Object.entries(p).map(([s,m])=>({name:s,version:typeof m=="string"?m:void 0})),...Object.entries(r).map(([s,m])=>({name:s,version:typeof m=="string"?m:void 0,isDevDependency:!0})),...Object.entries(i).map(([s,m])=>({name:s,version:typeof m=="string"?m:void 0}))]}]}};import{readFileSync as R}from"fs";import{findAllWithRegex as X}from"@transcend-io/type-utils";import{dirname as U,join as W}from"path";import{CodePackageType as Y}from"@transcend-io/privacy-types";var V=/(.+?)(=+)(.+)/,H=/name *= *('|")(.+?)('|")/,Q=/description *= *('|")(.+?)('|")/,P={supportedFiles:["requirements.txt"],ignoreDirs:["build","lib","lib64"],scanFunction:e=>{let n=R(e,"utf-8"),o=U(e),a=u(o).find(s=>s==="setup.py"),t=a?R(W(o,a),"utf-8"):void 0,p=t?(H.exec(t)||[])[2]:void 0,r=t?(Q.exec(t)||[])[2]:void 0,i=X({value:new RegExp(V,"g"),matches:["name","equals","version"]},n);return[{name:p||o.split("/").pop(),description:r||void 0,type:Y.RequirementsTxt,softwareDevelopmentKits:i.map(s=>({name:s.name,version:s.version}))}]}};import{readFileSync as G}from"fs";import{findAllWithRegex as z}from"@transcend-io/type-utils";import{dirname as B}from"path";import{CodePackageType as Z}from"@transcend-io/privacy-types";var ee=/gem *('|")(.+?)('|")(, *('|")(.+?)('|")|)/,ne=/spec\.name *= *('|")(.+?)('|")/,oe=/spec\.description *= *('|")(.+?)('|")/,te=/spec\.summary *= *('|")(.+?)('|")/,k={supportedFiles:["Gemfile"],ignoreDirs:["bin"],scanFunction:e=>{let n=G(e,"utf-8"),o=B(e),a=u(o).find(s=>s===".gemspec"),t=a?G(a,"utf-8"):void 0,p=t?(ne.exec(t)||[])[2]:void 0,r=t?(oe.exec(t)||te.exec(t)||[])[1]:void 0,i=z({value:new RegExp(ee,"g"),matches:["quote1","name","quote2","hasVersion","quote3","version","quote4"]},n);return[{name:p||o.split("/").pop(),description:r||void 0,type:Z.RequirementsTxt,softwareDevelopmentKits:i.map(s=>({name:s.name,version:s.version}))}]}};import{readFileSync as re}from"fs";import{CodePackageType as ie}from"@transcend-io/privacy-types";import se from"js-yaml";import{dirname as ae}from"path";function pe(e){return e.split(`
|
|
2
|
+
`).map(n=>{let o=n.indexOf("#");return o>-1&&!n.substring(0,o).includes('"')&&!n.substring(0,o).includes("'")?n.substring(0,o).trim():n}).filter(n=>n.length>0).join(`
|
|
3
|
+
`)}var v={supportedFiles:["pubspec.yml"],ignoreDirs:["build"],scanFunction:e=>{let n=ae(e),o=re(e,"utf-8"),{name:c,description:a,dev_dependencies:t={},dependencies:p={}}=se.load(pe(o));return[{name:c||n.split("/").pop(),description:a,type:ie.RequirementsTxt,softwareDevelopmentKits:[...Object.entries(p).map(([r,i])=>({name:r,version:typeof i=="string"?i:typeof i=="number"?i.toString():i?.sdk})),...Object.entries(t).map(([r,i])=>({name:r,version:typeof i=="string"?i:typeof i=="number"?i.toString():i?.sdk,isDevDependency:!0}))]}]}};import{readFileSync as ce}from"fs";import{dirname as me}from"path";var I={supportedFiles:["composer.json"],ignoreDirs:["vendor","node_modules","cache","build","dist"],scanFunction:e=>{let n=ce(e,"utf-8"),o=me(e),c=JSON.parse(n),{name:a,description:t,require:p={},"require-dev":r={}}=c;return[{name:a||o.split("/").pop(),description:t,softwareDevelopmentKits:[...Object.entries(p).map(([i,s])=>({name:i,version:typeof s=="string"?s:void 0})),...Object.entries(r).map(([i,s])=>({name:i,version:typeof s=="string"?s:void 0,isDevDependency:!0}))]}]}};import{readFileSync as de}from"fs";import{CodePackageType as ge}from"@transcend-io/privacy-types";import{decodeCodec as fe}from"@transcend-io/type-utils";import*as d from"io-ts";import{dirname as ue}from"path";var le=d.type({pins:d.array(d.type({identity:d.string,kind:d.string,location:d.string,state:d.type({revision:d.string,version:d.string})})),version:d.number}),D={supportedFiles:["Package.resolved"],ignoreDirs:[],scanFunction:e=>{let n=de(e,"utf-8"),o=fe(le,n);return[{name:ue(e).split("/").pop()||"",type:ge.CocoaPods,softwareDevelopmentKits:o.pins.map(c=>({name:c.identity,version:c.state.version}))}]}};import{CodePackageType as f}from"@transcend-io/privacy-types";var gn={cocoaPods:y,gradle:S,javascriptPackageJson:x,pythonRequirementsTxt:P,gemfile:k,pubspec:v,swift:D},_={[f.CocoaPods]:y,[f.Gradle]:S,[f.PackageJson]:x,[f.RequirementsTxt]:P,[f.Gemfile]:k,[f.Pubspec]:v,[f.ComposerJson]:I,[f.Swift]:D};import Ce from"fast-glob";import A from"colors";import{getEntries as Ee}from"@transcend-io/type-utils";async function Sn({scanPath:e,ignoreDirs:n=[],repositoryName:o}){return(await Promise.all(Ee(_).map(async([a,t])=>{let{ignoreDirs:p,supportedFiles:r,scanFunction:i}=t,s=[...n,...p].filter(m=>m.length>0);try{let m=await Ce(`${e}/**/${r.join("|")}`,{ignore:s.map(g=>`${e}/**/${g}`),unique:!0,onlyFiles:!0});E.info(A.magenta(`Scanning: ${m.length} files of type ${a}`));let C=m.map(g=>i(g).map(q=>({...q,relativePath:g.replace(`${e}/`,"")}))).flat();return E.info(A.green(`Found: ${C.length} packages and ${C.map(({softwareDevelopmentKits:g=[]})=>g).flat().length} sdks`)),C.map(g=>({...g,type:a,repositoryName:o}))}catch(m){throw new Error(`Error scanning globs ${r} with error: ${m}`)}}))).flat()}export{gn as a,Sn as b};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import{a as s,b as g,c as a,d as t,e as r,f as n,g as o,j as k}from"./chunk-U66XZ2QS.js";import{a as i}from"./chunk-APA5PR4U.js";import{a as h,b}from"./chunk-R76D6QCT.js";import{b as m,c as f}from"./chunk-EZCJGIOS.js";import{buildInstallCommand as fr,buildUninstallCommand as hr}from"@stricli/auto-complete";import{buildApplication as br,buildRouteMap as gr}from"@stricli/core";import{buildRouteMap as we}from"@stricli/core";import{buildCommand as Se}from"@stricli/core";var y=Se({loader:async()=>{let{generateApiKeys:e}=await import("./impl-UKT74QA2.js");return e},parameters:{flags:{email:{kind:"parsed",parse:String,brief:"The email address that you use to log into Transcend"},password:{kind:"parsed",parse:String,brief:"The password for your account login"},apiKeyTitle:{kind:"parsed",parse:String,brief:"The title of the API key being generated or destroyed"},file:{kind:"parsed",parse:String,brief:"The file where API keys should be written to"},scopes:{kind:"parsed",parse:String,variadic:",",brief:"The list of scopes that should be given to the API key"},deleteExistingApiKey:{kind:"boolean",brief:"When true, if an API key exists with the specified apiKeyTitle, the existing API key is deleted",default:!0},createNewApiKey:{kind:"boolean",brief:"When true, new API keys will be created. Set to false if you simply want to delete all API keys with a title",default:!0},parentOrganizationId:{kind:"parsed",parse:s,brief:"Filter for only a specific organization by ID, returning all child accounts associated with that organization",optional:!0},transcendUrl:r()}},docs:{brief:"Generate API keys",fullDescription:`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.
|
|
2
|
+
|
|
3
|
+
Unlike the other commands that rely on API key authentication, this command relies upon username/password authentication. This command will spit out the API keys into a JSON file, and that JSON file can be used in subsequent CLI commands.
|
|
4
|
+
|
|
5
|
+
Authentication requires your email and password for the Transcend account. This command will only generate API keys for Transcend instances where you have the permission to "Manage API Keys".`}});var S=we({routes:{"generate-api-keys":y},docs:{brief:"Admin commands"}});import{buildRouteMap as Ye}from"@stricli/core";import{buildCommand as Ce}from"@stricli/core";import{ScopeName as ve}from"@transcend-io/privacy-types";var w=Ce({loader:async()=>{let{buildXdiSyncEndpoint:e}=await import("./impl-K6LFUREX.js");return e},parameters:{flags:{auth:t({scopes:[ve.ViewConsentManager]}),xdiLocation:{kind:"parsed",parse:String,brief:"The location of the XDI that will be loaded by the generated sync endpoint"},file:{kind:"parsed",parse:String,brief:"The HTML file path where the sync endpoint should be written",default:"./sync-endpoint.html"},removeIpAddresses:{kind:"boolean",brief:"When true, remove IP addresses from the domain list",default:!0},domainBlockList:{kind:"parsed",parse:g,brief:"The set of domains that should be excluded from the sync endpoint. Comma-separated list.",default:"localhost"},xdiAllowedCommands:{kind:"parsed",parse:String,brief:"The allowed set of XDI commands",default:"ConsentManager:Sync"},transcendUrl:r()}},docs:{brief:"Build XDI sync endpoint",fullDescription:"This command allows for building of the XDI Sync Endpoint across a set of Transcend accounts."}});import{buildCommand as Te}from"@stricli/core";import{ScopeName as qe}from"@transcend-io/privacy-types";var C=Te({loader:async()=>{let{pullConsentMetrics:e}=await import("./impl-MQYUMXYT.js");return e},parameters:{flags:{auth:t({scopes:[qe.ViewConsentManager]}),start:{kind:"parsed",parse:a,brief:"The start date to pull metrics from"},end:{kind:"parsed",parse:a,brief:"The end date to pull metrics until",optional:!0},folder:{kind:"parsed",parse:String,brief:"The folder to save metrics to",default:"./consent-metrics/"},bin:{kind:"parsed",parse:String,brief:"The bin metric when pulling data (1h or 1d)",default:"1d"},transcendUrl:r()}},docs:{brief:"Pull consent metrics",fullDescription:"This command allows for pulling consent manager metrics for a Transcend account, or a set of Transcend accounts.\n\nBy default, the consent metrics will be written to a folder named `consent-metrics` within the directory where you run the command. You can override the location that these CSVs are written to using the flag `--folder=./my-folder/`. This folder will contain a set of CSV files:\n\n- `CONSENT_CHANGES_TIMESERIES_optIn.csv` -> this is a feed containing the number of explicit opt in events that happen - these are calls to `airgap.setConsent(event, { SaleOfInfo: true });`\n- `CONSENT_CHANGES_TIMESERIES_optOut.csv` -> this is a feed containing the number of explicit opt out events that happen - these are calls to `airgap.setConsent(event, { SaleOfInfo: false });`\n- `CONSENT_SESSIONS_BY_REGIME_Default.csv` -> this contains the number of sessions detected for the bin period\n- `PRIVACY_SIGNAL_TIMESERIES_DNT.csv` -> the number of DNT signals detected.\n- `PRIVACY_SIGNAL_TIMESERIES_GPC.csv` -> the number of GPC signals detected."}});import{buildCommand as Pe,numberParser as Ae}from"@stricli/core";import{ScopeName as De}from"@transcend-io/privacy-types";var v=Pe({loader:async()=>{let{pullConsentPreferences:e}=await import("./impl-6EM4MWFJ.js");return e},parameters:{flags:{auth:t({scopes:[De.ViewManagedConsentDatabaseAdminApi]}),partition:{kind:"parsed",parse:String,brief:"The partition key to download consent preferences to"},sombraAuth:o(),file:{kind:"parsed",parse:String,brief:"Path to the CSV file to save preferences to",default:"./preferences.csv"},transcendUrl:r(),timestampBefore:{kind:"parsed",parse:a,brief:"Filter for consents updated this time",optional:!0},timestampAfter:{kind:"parsed",parse:a,brief:"Filter for consents updated after this time",optional:!0},identifiers:{kind:"parsed",parse:String,variadic:",",brief:"Filter for specific identifiers",optional:!0},concurrency:{kind:"parsed",parse:Ae,brief:"The concurrency to use when downloading consents in parallel",default:"100"}}},docs:{brief:"Pull consent preferences",fullDescription:"This command allows for pull of consent preferences from the Managed Consent Database."}});import{buildCommand as Re}from"@stricli/core";import{ConsentBundleType as Ie,ScopeName as Ue}from"@transcend-io/privacy-types";var T=Re({loader:async()=>{let{updateConsentManager:e}=await import("./impl-6KSDOODU.js");return e},parameters:{flags:{auth:t({scopes:[Ue.ManageConsentManagerDeveloperSettings]}),bundleTypes:{kind:"enum",values:Object.values(Ie),brief:"The bundle types to deploy. Defaults to PRODUCTION,TEST.",variadic:","},deploy:{kind:"boolean",brief:"When true, deploy the Consent Manager after updating the version",default:!1},transcendUrl:r()}},docs:{brief:"Update consent manager",fullDescription:"This command allows for updating Consent Manager to latest version. The Consent Manager bundle can also be deployed using this command."}});import{buildCommand as Ve,numberParser as xe}from"@stricli/core";var q=Ve({loader:async()=>{let{uploadConsentPreferences:e}=await import("./impl-M2QHMARV.js");return e},parameters:{flags:{base64EncryptionKey:{kind:"parsed",parse:String,brief:"The encryption key used to encrypt the userId"},base64SigningKey:{kind:"parsed",parse:String,brief:"The signing key used to prove authentication of consent request"},partition:{kind:"parsed",parse:String,brief:"The partition key to download consent preferences to"},file:{kind:"parsed",parse:String,brief:"The file to pull consent preferences from",default:"./preferences.csv"},consentUrl:n(),concurrency:{kind:"parsed",parse:xe,brief:"The concurrency to use when uploading requests in parallel",default:"100"}}},docs:{brief:"Upload consent preferences to the Managed Consent Database",fullDescription:"This command allows for updating of consent preferences to the Managed Consent Database."}});import{buildCommand as Me}from"@stricli/core";import{ConsentTrackerStatus as Oe,ScopeName as Ne}from"@transcend-io/privacy-types";var P=Me({loader:async()=>{let{uploadCookiesFromCsv:e}=await import("./impl-Q26ZNVKH.js");return e},parameters:{flags:{auth:t({scopes:[Ne.ManageDataFlow]}),trackerStatus:{kind:"enum",values:Object.values(Oe),brief:"The status of the cookies you will upload."},file:{kind:"parsed",parse:String,brief:"Path to the CSV file to upload",default:"./cookies.csv"},transcendUrl:r()}},docs:{brief:"Upload cookies from CSV",fullDescription:`Upload cookies from CSV. This command allows for uploading of cookies from CSV.
|
|
6
|
+
|
|
7
|
+
Step 1) Download the CSV of cookies that you want to edit from the Admin Dashboard under [Consent Management -> Cookies](https://app.transcend.io/consent-manager/cookies). You can download cookies from both the "Triage" and "Approved" tabs.
|
|
8
|
+
|
|
9
|
+
Step 2) You can edit the contents of the CSV file as needed. You may adjust the "Purpose" column, adjust the "Notes" column, add "Owners" and "Teams" or even add custom columns with additional metadata.
|
|
10
|
+
|
|
11
|
+
Step 3) Upload the modified CSV file back into the dashboard with this command.`}});import{buildCommand as je}from"@stricli/core";import{ConsentTrackerStatus as Ee,ScopeName as Fe}from"@transcend-io/privacy-types";var A=je({loader:async()=>{let{uploadDataFlowsFromCsv:e}=await import("./impl-DUO3FKJO.js");return e},parameters:{flags:{auth:t({scopes:[Fe.ManageDataFlow]}),trackerStatus:{kind:"enum",values:Object.values(Ee),brief:"The status of the data flows you will upload."},file:{kind:"parsed",parse:String,brief:"Path to the CSV file to upload",default:"./data-flows.csv"},classifyService:{kind:"boolean",brief:"When true, automatically assign the service for a data flow based on the domain that is specified",default:!1},transcendUrl:r()}},docs:{brief:"Upload data flows from CSV",fullDescription:`Upload data flows from CSV. This command allows for uploading of data flows from CSV.
|
|
12
|
+
|
|
13
|
+
Step 1) Download the CSV of data flows that you want to edit from the Admin Dashboard under [Consent Management -> Data Flows](https://app.transcend.io/consent-manager/data-flows). You can download data flows from both the "Triage" and "Approved" tabs.
|
|
14
|
+
|
|
15
|
+
Step 2) You can edit the contents of the CSV file as needed. You may adjust the "Purpose" column, adjust the "Notes" column, add "Owners" and "Teams" or even add custom columns with additional metadata.
|
|
16
|
+
|
|
17
|
+
Step 3) Upload the modified CSV file back into the dashboard with this command.`}});import{buildCommand as Be,numberParser as We}from"@stricli/core";import{ScopeName as d}from"@transcend-io/privacy-types";var D=Be({loader:async()=>{let{uploadPreferences:e}=await import("./impl-O57JWKDO.js");return e},parameters:{flags:{auth:t({scopes:[d.ManageStoredPreferences,d.ViewManagedConsentDatabaseAdminApi,d.ViewPreferenceStoreSettings]}),partition:{kind:"parsed",parse:String,brief:"The partition key to download consent preferences to"},sombraAuth:o(),consentUrl:n(),file:{kind:"parsed",parse:String,brief:"Path to the CSV file to load preferences from",optional:!0},directory:{kind:"parsed",parse:String,brief:"Path to the directory of CSV files to load preferences from",optional:!0},dryRun:{kind:"boolean",brief:"Whether to do a dry run only - will write results to receiptFilepath without updating Transcend",default:!1},skipExistingRecordCheck:{kind:"boolean",brief:"Whether to skip the check for existing records. SHOULD ONLY BE USED FOR INITIAL UPLOAD",default:!1},receiptFileDir:{kind:"parsed",parse:String,brief:"Directory path where the response receipts should be saved",default:"./receipts"},skipWorkflowTriggers:{kind:"boolean",brief:"Whether to skip workflow triggers when uploading to preference store",default:!1},forceTriggerWorkflows:{kind:"boolean",brief:"Whether to force trigger workflows for existing consent records",default:!1},skipConflictUpdates:{kind:"boolean",brief:"Whether to skip uploading of any records where the preference store and file have a hard conflict",default:!1},isSilent:{kind:"boolean",brief:"Whether to skip sending emails in workflows",default:!0},attributes:{kind:"parsed",parse:String,brief:"Attributes to add to any DSR request if created. Comma-separated list of key:value pairs.",default:"Tags:transcend-cli,Source:transcend-cli"},receiptFilepath:{kind:"parsed",parse:String,brief:"Store resulting, continuing where left off",default:"./preference-management-upload-receipts.json"},concurrency:{kind:"parsed",parse:We,brief:"The concurrency to use when uploading in parallel",default:"10"}}},docs:{brief:"Upload preference management data to your Preference Store",fullDescription:`Upload preference management data to your Preference Store.
|
|
18
|
+
|
|
19
|
+
This command prompts you to map the shape of the CSV to the shape of the Transcend API. There is no requirement for the shape of the incoming CSV, as the script will handle the mapping process.
|
|
20
|
+
|
|
21
|
+
The script will also produce a JSON cache file that allows for the mappings to be preserved between runs.`}});var R=Ye({routes:{"build-xdi-sync-endpoint":w,"pull-consent-metrics":C,"pull-consent-preferences":v,"update-consent-manager":T,"upload-consent-preferences":q,"upload-cookies-from-csv":P,"upload-data-flows-from-csv":A,"upload-preferences":D},docs:{brief:"Consent commands"}});import{buildRouteMap as st}from"@stricli/core";import{buildCommand as _e}from"@stricli/core";var I=_e({loader:async()=>{let{deriveDataSilosFromDataFlowsCrossInstance:e}=await import("./impl-DFX7WJML.js");return e},parameters:{flags:{auth:t({scopes:[]}),dataFlowsYmlFolder:{kind:"parsed",parse:String,brief:"The folder that contains data flow yml files"},output:{kind:"parsed",parse:String,brief:"The output transcend.yml file containing the data silo configurations",default:"./transcend.yml"},ignoreYmls:{kind:"parsed",parse:String,variadic:",",brief:"The set of yml files that should be skipped when uploading",optional:!0},transcendUrl:r()}},docs:{brief:"Derive data silos from data flows cross instance",fullDescription:"Given a folder of data flow transcend.yml configurations, convert those configurations to a single transcend.yml configurations of all related data silos."}});import{buildCommand as Le}from"@stricli/core";var U=Le({loader:async()=>{let{deriveDataSilosFromDataFlows:e}=await import("./impl-Q4AYM2LP.js");return e},parameters:{flags:{auth:t({scopes:[]}),dataFlowsYmlFolder:{kind:"parsed",parse:String,brief:"The folder that contains data flow yml files"},dataSilosYmlFolder:{kind:"parsed",parse:String,brief:"The folder that contains data silo yml files"},ignoreYmls:{kind:"parsed",parse:String,variadic:",",brief:"The set of yml files that should be skipped when uploading",optional:!0},transcendUrl:r()}},docs:{brief:"Derive data silos from data flows",fullDescription:"Given a folder of data flow transcend.yml configurations, convert those configurations to set of data silo transcend.yml configurations."}});import{buildCommand as Ge}from"@stricli/core";import{ScopeName as Ke}from"@transcend-io/privacy-types";var V=Ge({loader:async()=>{let{discoverSilos:e}=await import("./impl-GFKQQAIZ.js");return e},parameters:{flags:{scanPath:{kind:"parsed",parse:String,brief:"File path in the project to scan"},dataSiloId:{kind:"parsed",parse:s,brief:"The UUID of the corresponding data silo"},auth:t({scopes:[Ke.ManageAssignedDataInventory],requiresSiloScope:!0}),fileGlobs:{kind:"parsed",parse:String,brief:"You can pass a glob syntax pattern(s) to specify additional file paths to scan. Comma-separated list of globs.",default:""},ignoreDirs:{kind:"parsed",parse:String,brief:"Comma-separated list of directories to ignore.",default:""},transcendUrl:r()}},docs:{brief:"Scan dependency management files to discover new data silos.",fullDescription:`We support scanning for new data silos in JavaScript, Python, Gradle, and CocoaPods projects.
|
|
22
|
+
|
|
23
|
+
To get started, add a data silo for the corresponding project type with the "silo discovery" plugin enabled. For example, if you want to scan a JavaScript project, add a package.json data silo. Then, specify the data silo ID in the "--dataSiloId" parameter.`}});import{buildCommand as ze}from"@stricli/core";import{DataCategoryType as Je,ScopeName as $e}from"@transcend-io/privacy-types";var x=ze({loader:async()=>{let{pullDatapoints:e}=await import("./impl-6TNYAKRE.js");return e},parameters:{flags:{auth:t({scopes:[$e.ViewDataInventory]}),file:{kind:"parsed",parse:String,brief:"The file to save datapoints to",default:"./datapoints.csv"},transcendUrl:r(),dataSiloIds:{kind:"parsed",parse:String,variadic:",",brief:"List of data silo IDs to filter by",optional:!0},includeAttributes:{kind:"boolean",brief:"Whether to include attributes in the output",default:!1},includeGuessedCategories:{kind:"boolean",brief:"Whether to include guessed categories in the output",default:!1},parentCategories:{kind:"enum",values:Object.values(Je),brief:"List of parent categories to filter by",variadic:",",optional:!0},subCategories:{kind:"parsed",parse:String,brief:"List of subcategories to filter by",variadic:",",optional:!0}}},docs:{brief:"Export the datapoints from your Data Inventory into a CSV."}});import{buildCommand as Xe}from"@stricli/core";import{ScopeName as He,UnstructuredSubDataPointRecommendationStatus as Qe}from"@transcend-io/privacy-types";var M=Xe({loader:async()=>{let{pullUnstructuredDiscoveryFiles:e}=await import("./impl-424N4CNI.js");return e},parameters:{flags:{auth:t({scopes:[He.ViewDataInventory]}),file:{kind:"parsed",parse:String,brief:"The file to save datapoints to",default:"./unstructured-discovery-files.csv"},transcendUrl:r(),dataSiloIds:{kind:"parsed",parse:String,brief:"List of data silo IDs to filter by",variadic:",",optional:!0},subCategories:{kind:"parsed",parse:String,brief:"List of data categories to filter by",variadic:",",optional:!0},status:{kind:"enum",values:Object.values(Qe),brief:"List of classification statuses to filter by",variadic:",",optional:!0},includeEncryptedSnippets:{kind:"boolean",brief:"Whether to include encrypted snippets of the entries classified",default:!1}}},docs:{brief:"Pull unstructured discovery files",fullDescription:"This command allows for pulling Unstructured Discovery into a CSV."}});import{buildCommand as Ze,numberParser as et}from"@stricli/core";var O=Ze({loader:async()=>{let{push:e}=await import("./impl-6YQILA4G.js");return e},parameters:{flags:{auth:t({scopes:"Varies"}),file:{kind:"parsed",parse:String,brief:"Path to the YAML file to push from",default:"./transcend.yml"},transcendUrl:r(),pageSize:{kind:"parsed",parse:et,brief:"The page size to use when paginating over the API",default:"50"},variables:{kind:"parsed",parse:String,brief:"The variables to template into the YAML file when pushing configuration. Comma-separated list of key:value pairs.",default:""},publishToPrivacyCenter:{kind:"boolean",brief:"When true, publish the configuration to the Privacy Center",default:!1},classifyService:{kind:"boolean",brief:"When true, automatically assign the service for a data flow based on the domain that is specified",default:!1},deleteExtraAttributeValues:{kind:"boolean",brief:"When true and syncing attributes, delete any extra attributes instead of just upserting",default:!1}}},docs:{brief:"Push metadata from transcend.yml to Transcend",fullDescription:"Given a transcend.yml file, sync the contents up to your Transcend instance."}});import{buildCommand as tt}from"@stricli/core";import{ScopeName as rt}from"@transcend-io/privacy-types";var N=tt({loader:async()=>{let{scanPackages:e}=await import("./impl-XLJ55WDX.js");return e},parameters:{flags:{auth:t({scopes:[rt.ManageCodeScanning]}),scanPath:{kind:"parsed",parse:String,brief:"File path in the project to scan",default:"./"},ignoreDirs:{kind:"parsed",parse:String,variadic:",",brief:"List of directories to ignore in scan",optional:!0},repositoryName:{kind:"parsed",parse:String,brief:"Name of the git repository that the package should be tied to",optional:!0},transcendUrl:r()}},docs:{brief:"Scan dependency management files to inventory code dependencies.",fullDescription:`Transcend scans packages and dependencies for the following frameworks:
|
|
24
|
+
|
|
25
|
+
- package.json
|
|
26
|
+
- requirements.txt & setup.py
|
|
27
|
+
- Podfile
|
|
28
|
+
- Package.resolved
|
|
29
|
+
- build.gradle
|
|
30
|
+
- pubspec.yaml
|
|
31
|
+
- Gemfile & .gemspec
|
|
32
|
+
- composer.json
|
|
33
|
+
|
|
34
|
+
This command will scan the folder you point at to look for any of these files. Once found, the build file will be parsed in search of dependencies. Those code packages and dependencies will be uploaded to Transcend. The information uploaded to Transcend is:
|
|
35
|
+
|
|
36
|
+
- repository name
|
|
37
|
+
- package names
|
|
38
|
+
- dependency names and versions
|
|
39
|
+
- package descriptions`}});import{buildCommand as at}from"@stricli/core";var j=at({loader:async()=>{let{consentManagerServiceJsonToYml:e}=await import("./impl-NYB4YSNU.js");return e},parameters:{flags:{file:{kind:"parsed",parse:String,brief:"Path to the services.json file, output of await airgap.getMetadata()",default:"./services.json"},output:{kind:"parsed",parse:String,brief:"Path to the output transcend.yml to write to",default:"./transcend.yml"}}},docs:{brief:"Convert consent manager services to transcend.yml",fullDescription:`Import the services from an airgap.js file into a Transcend instance.
|
|
40
|
+
|
|
41
|
+
Step 1) Run \`await airgap.getMetadata()\` on a site with airgap
|
|
42
|
+
Step 2) Right click on the printed object, and click \`Copy object\`
|
|
43
|
+
Step 3) Place output of file in a file named \`services.json\`
|
|
44
|
+
Step 4) Run \`${i} consent consent-manager-service-json-to-yml --file=./services.json --output=./transcend.yml\`
|
|
45
|
+
Step 5) Run \`${i} inventory push --auth=$TRANSCEND_API_KEY --file=./transcend.yml --classifyService=true\``}});import{buildCommand as ot}from"@stricli/core";var E=ot({loader:async()=>{let{consentManagersToBusinessEntities:e}=await import("./impl-GW34VD6D.js");return e},parameters:{flags:{consentManagerYmlFolder:{kind:"parsed",parse:String,brief:"Path to the folder of Consent Manager transcend.yml files to combine"},output:{kind:"parsed",parse:String,brief:"Path to the output transcend.yml with business entity configuration",default:"./combined-business-entities.yml"}}},docs:{brief:"Convert consent managers to business entities",fullDescription:"This command allows for converting a folder or Consent Manager transcend.yml files into a single transcend.yml file where each consent manager configuration is a Business Entity in the data inventory."}});var F=st({routes:{pull:k,push:O,"scan-packages":N,"discover-silos":V,"pull-datapoints":x,"pull-unstructured-discovery-files":M,"derive-data-silos-from-data-flows":U,"derive-data-silos-from-data-flows-cross-instance":I,"consent-manager-service-json-to-yml":j,"consent-managers-to-business-entities":E},docs:{brief:"Inventory commands"}});import{buildRouteMap as dt}from"@stricli/core";import{buildCommand as it}from"@stricli/core";import{ScopeName as nt}from"@transcend-io/privacy-types";var B=it({loader:async()=>{let{syncOt:e}=await import("./impl-MCGNBSTB.js");return e},parameters:{flags:{hostname:{kind:"parsed",parse:String,brief:"The domain of the OneTrust environment from which to pull the resource",optional:!0},oneTrustAuth:{kind:"parsed",parse:String,brief:"The OAuth access token with the scopes necessary to access the OneTrust Public APIs",optional:!0},source:{kind:"enum",values:Object.values(f),brief:"Whether to read the assessments from OneTrust or from a file",default:"oneTrust"},transcendAuth:{...t({scopes:[nt.ManageAssessments]}),optional:!0},transcendUrl:r(),file:{kind:"parsed",parse:String,brief:"Path to the file to pull the resource into. Must be a json file!",optional:!0},resource:{kind:"enum",values:Object.values(m),brief:"The resource to pull from OneTrust. For now, only assessments is supported",default:"assessments"},dryRun:{kind:"boolean",brief:"Whether to export the resource to a file rather than sync to Transcend",default:!1},debug:{kind:"boolean",brief:"Whether to print detailed logs in case of error",default:!1}}},docs:{brief:"Sync OneTrust data",fullDescription:`Pulls resources from a OneTrust and syncs them to a Transcend instance. For now, it only supports retrieving OneTrust Assessments.
|
|
46
|
+
|
|
47
|
+
This command can be helpful if you are looking to:
|
|
48
|
+
- Pull resources from your OneTrust account.
|
|
49
|
+
- Migrate your resources from your OneTrust account to Transcend.
|
|
50
|
+
|
|
51
|
+
OneTrust authentication requires an OAuth Token with scope for accessing the assessment endpoints.
|
|
52
|
+
If syncing the resources to Transcend, you will also need to generate an API key on the Transcend Admin Dashboard.`}});var W=dt({routes:{"sync-ot":B},docs:{brief:"Migration commands"}});import{buildRouteMap as mr}from"@stricli/core";import{buildCommand as lt,numberParser as ut}from"@stricli/core";import{RequestAction as pt,RequestOrigin as ct,ScopeName as l}from"@transcend-io/privacy-types";var Y=lt({loader:async()=>{let{approve:e}=await import("./impl-QW7LVCIG.js");return e},parameters:{flags:{auth:t({scopes:[l.RequestApproval,l.ViewRequests,l.ManageRequestCompilation]}),actions:{kind:"enum",values:Object.values(pt),variadic:",",brief:"The request actions to approve"},origins:{kind:"enum",values:Object.values(ct),variadic:",",brief:"The request origins to approve",optional:!0},silentModeBefore:{kind:"parsed",parse:a,brief:"Any requests made before this date should be marked as silent mode",optional:!0},createdAtBefore:{kind:"parsed",parse:a,brief:"Approve requests that were submitted before this time",optional:!0},createdAtAfter:{kind:"parsed",parse:a,brief:"Approve requests that were submitted after this time",optional:!0},transcendUrl:r(),concurrency:{kind:"parsed",parse:ut,brief:"The concurrency to use when uploading requests in parallel",default:"50"}}},docs:{brief:"Bulk approve a set of privacy requests",fullDescription:"Bulk approve a set of privacy requests from the DSR Automation -> Incoming Requests tab."}});import{buildCommand as mt,numberParser as ft}from"@stricli/core";import{RequestAction as ht,RequestStatus as bt,ScopeName as _}from"@transcend-io/privacy-types";var L=mt({loader:async()=>{let{cancel:e}=await import("./impl-AGGJXPJE.js");return e},parameters:{flags:{auth:t({scopes:[_.ViewRequests,_.RequestApproval]}),actions:{kind:"enum",values:Object.values(ht),variadic:",",brief:"The request actions to cancel"},statuses:{kind:"enum",values:Object.values(bt),variadic:",",brief:"The request statuses to cancel. Comma-separated list.",optional:!0},requestIds:{kind:"parsed",parse:String,variadic:",",brief:"Specify the specific request IDs to cancel",optional:!0},silentModeBefore:{kind:"parsed",parse:a,brief:"Any requests made before this date should be marked as silent mode for canceling to skip email sending",optional:!0},createdAtBefore:{kind:"parsed",parse:a,brief:"Cancel requests that were submitted before this time",optional:!0},createdAtAfter:{kind:"parsed",parse:a,brief:"Cancel requests that were submitted after this time",optional:!0},cancellationTitle:{kind:"parsed",parse:String,brief:"The title of the email template that should be sent to the requests upon cancelation",default:"Request Canceled"},transcendUrl:r(),concurrency:{kind:"parsed",parse:ft,brief:"The concurrency to use when uploading requests in parallel",default:"50"}}},docs:{brief:"Bulk cancel a set of privacy requests",fullDescription:"Bulk cancel a set of privacy requests from the DSR Automation -> Incoming Requests tab."}});import{buildRouteMap as Ct}from"@stricli/core";import{buildCommand as gt}from"@stricli/core";var G=gt({loader:async()=>{let{markIdentifiersCompleted:e}=await import("./impl-HJ2TEJA4.js");return e},parameters:{flags:{auth:t({scopes:[],requiresSiloScope:!0}),dataSiloId:{kind:"parsed",parse:s,brief:"The ID of the data silo to pull in"},file:{kind:"parsed",parse:String,brief:"Path to the CSV file where identifiers will be written to",default:"./cron-identifiers.csv"},transcendUrl:r(),sombraAuth:o()}},docs:{brief:"Mark identifiers as completed after processing.",fullDescription:`This command takes the output of "${i} request cron pull-identifiers" and notifies Transcend that all of the requests in the CSV have been processed.
|
|
53
|
+
This is used in the workflow like:
|
|
54
|
+
|
|
55
|
+
1. Pull identifiers to CSV:
|
|
56
|
+
${i} request cron pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE --file=./outstanding-requests.csv
|
|
57
|
+
2. Run your process to operate on that CSV of requests.
|
|
58
|
+
3. Notify Transcend of completion
|
|
59
|
+
${i} request cron mark-identifiers-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --file=./outstanding-requests.csv
|
|
60
|
+
|
|
61
|
+
Read more at https://docs.transcend.io/docs/integrations/cron-job-integration.`}});import{buildCommand as kt,numberParser as K}from"@stricli/core";import{RequestAction as yt}from"@transcend-io/privacy-types";var z=kt({loader:async()=>{let{pullIdentifiers:e}=await import("./impl-CVXUBWM3.js");return e},parameters:{flags:{auth:t({scopes:[],requiresSiloScope:!0}),dataSiloId:{kind:"parsed",parse:s,brief:"The ID of the data silo to pull in"},actions:{kind:"enum",values:Object.values(yt),variadic:",",brief:"The request actions to restart"},file:{kind:"parsed",parse:String,brief:"Path to the CSV file where identifiers will be written to",default:"./cron-identifiers.csv"},transcendUrl:r(),sombraAuth:o(),pageLimit:{kind:"parsed",parse:K,brief:"The page limit to use when pulling in pages of identifiers",default:"100"},skipRequestCount:{kind:"boolean",brief:"Whether to skip the count of all outstanding requests. This is required to render the progress bar, but can take a long time to run if you have a large number of outstanding requests to process. In that case, we recommend setting skipRequestCount=true so that you can still proceed with fetching the identifiers",default:!1},chunkSize:{kind:"parsed",parse:K,brief:"Maximum number of rows per CSV file. For large datasets, the output will be automatically split into multiple files to avoid file system size limits. Each file will contain at most this many rows",default:"10000"}}},docs:{brief:"Pull identifiers of outstanding requests for a data silo to a CSV.",fullDescription:`If you are using the cron job integration, you can run this command to pull the outstanding identifiers for the data silo to a CSV.
|
|
62
|
+
|
|
63
|
+
For large datasets, the output will be automatically split into multiple CSV files to avoid file system size limits. Use the --chunkSize parameter to control the maximum number of rows per file.
|
|
64
|
+
|
|
65
|
+
Read more at https://docs.transcend.io/docs/integrations/cron-job-integration.`}});import{buildCommand as St,numberParser as J}from"@stricli/core";import{RequestAction as wt}from"@transcend-io/privacy-types";var $=St({loader:async()=>{let{pullProfiles:e}=await import("./impl-REBNHNHS.js");return e},parameters:{flags:{auth:t({scopes:[],requiresSiloScope:!0}),cronDataSiloId:{kind:"parsed",parse:s,brief:"The ID of the cron data silo to pull in"},targetDataSiloId:{kind:"parsed",parse:s,brief:"The ID of the target data silo to pull in"},actions:{kind:"enum",values:Object.values(wt),variadic:",",brief:"The request actions to restart"},file:{kind:"parsed",parse:String,brief:"Path to the CSV file where identifiers will be written to",default:"./cron-identifiers.csv"},fileTarget:{kind:"parsed",parse:String,brief:"Path to the CSV file where identifiers will be written to",default:"./cron-identifiers-target.csv"},transcendUrl:r(),sombraAuth:o(),pageLimit:{kind:"parsed",parse:J,brief:"The page limit to use when pulling in pages of identifiers",default:"100"},skipRequestCount:{kind:"boolean",brief:"Whether to skip the count of all outstanding requests. This is required to render the progress bar, but can take a long time to run if you have a large number of outstanding requests to process. In that case, we recommend setting skipRequestCount=true so that you can still proceed with fetching the identifiers",default:!1},chunkSize:{kind:"parsed",parse:J,brief:"Maximum number of rows per CSV file. For large datasets, the output will be automatically split into multiple files to avoid file system size limits. Each file will contain at most this many rows",default:"10000"}}},docs:{brief:"Pull profiles of outstanding requests for a data silo to a CSV.",fullDescription:`If you are using the cron job integration, you can run this command to pull the outstanding profiles for the data silo to a CSV.
|
|
66
|
+
|
|
67
|
+
For large datasets, the output will be automatically split into multiple CSV files to avoid file system size limits. Use the --chunkSize parameter to control the maximum number of rows per file.
|
|
68
|
+
|
|
69
|
+
Read more at https://docs.transcend.io/docs/integrations/cron-job-integration.`}});var X=Ct({routes:{"pull-identifiers":z,"pull-profiles":$,"mark-identifiers-completed":G},docs:{brief:"Cron commands",hideRoute:{"pull-profiles":!0}}});import{buildCommand as vt,numberParser as Tt}from"@stricli/core";import{RequestStatus as qt,ScopeName as u}from"@transcend-io/privacy-types";var H=vt({loader:async()=>{let{downloadFiles:e}=await import("./impl-WWVBI2VM.js");return e},parameters:{flags:{auth:t({scopes:[u.ViewRequestCompilation,u.ViewRequests,u.RequestApproval]}),sombraAuth:o(),concurrency:{kind:"parsed",parse:Tt,brief:"The concurrency to use when downloading requests in parallel",default:"10"},requestIds:{kind:"parsed",parse:String,variadic:",",brief:"Specify the specific request IDs to download",optional:!0},statuses:{kind:"enum",values:Object.values(qt),variadic:",",brief:"The request statuses to download. Comma-separated list. Defaults to APPROVING,DOWNLOADABLE.",optional:!0},folderPath:{kind:"parsed",parse:String,brief:"The folder to download files to",default:"./dsr-files"},createdAtBefore:{kind:"parsed",parse:a,brief:"Download requests that were submitted before this time",optional:!0},createdAtAfter:{kind:"parsed",parse:a,brief:"Download requests that were submitted after this time",optional:!0},approveAfterDownload:{kind:"boolean",brief:"If the request is in status=APPROVING, approve the request after its downloaded",default:!1},transcendUrl:r()}},docs:{brief:"Download the files associated with a Data Subject Access Request (DSAR)",fullDescription:"Download the files associated with a Data Subject Access Request (DSAR) from DSR Automation -> Incoming Requests tab."}});import{buildCommand as Pt,numberParser as At}from"@stricli/core";import{RequestAction as Dt,RequestEnricherStatus as Rt,ScopeName as It}from"@transcend-io/privacy-types";var Q=Pt({loader:async()=>{let{enricherRestart:e}=await import("./impl-LMGG6SET.js");return e},parameters:{flags:{auth:t({scopes:[It.ManageRequestCompilation]}),enricherId:{kind:"parsed",parse:String,brief:"The ID of the enricher to restart"},actions:{kind:"enum",values:Object.values(Dt),variadic:",",brief:"The request action to restart",optional:!0},requestEnricherStatuses:{kind:"enum",values:Object.values(Rt),variadic:",",brief:"The request enricher statuses to restart",optional:!0},transcendUrl:r(),concurrency:{kind:"parsed",parse:At,brief:"The concurrency to use when uploading requests in parallel",default:"15"},requestIds:{kind:"parsed",parse:String,variadic:",",brief:"Specify the specific request IDs to restart",optional:!0},createdAtBefore:{kind:"parsed",parse:a,brief:"Restart requests that were submitted before this time",optional:!0},createdAtAfter:{kind:"parsed",parse:a,brief:"Restart requests that were submitted after this time",optional:!0}}},docs:{brief:"Bulk restart a particular enricher across a series of DSRs",fullDescription:`Bulk restart a particular enricher across a series of DSRs.
|
|
70
|
+
|
|
71
|
+
The API key needs the following scopes:
|
|
72
|
+
- Manage Request Compilation`}});import{buildCommand as Ut,numberParser as Z}from"@stricli/core";import{RequestAction as Vt,RequestStatus as xt,ScopeName as ee}from"@transcend-io/privacy-types";var te=Ut({loader:async()=>{let{_export:e}=await import("./impl-YO4XMK67.js");return e},parameters:{flags:{auth:t({scopes:[ee.ViewRequests,ee.ViewRequestCompilation]}),sombraAuth:o(),actions:{kind:"enum",values:Object.values(Vt),variadic:",",brief:"The request actions to export",optional:!0},statuses:{kind:"enum",values:Object.values(xt),variadic:",",brief:"The request statuses to export",optional:!0},transcendUrl:r(),file:{kind:"parsed",parse:String,brief:"Path to the CSV file where identifiers will be written to",default:"./transcend-request-export.csv"},concurrency:{kind:"parsed",parse:Z,brief:"The concurrency to use when uploading requests in parallel",default:"100"},createdAtBefore:{kind:"parsed",parse:a,brief:"Pull requests that were submitted before this time",optional:!0},createdAtAfter:{kind:"parsed",parse:a,brief:"Pull requests that were submitted after this time",optional:!0},showTests:{kind:"boolean",brief:"Filter for test requests or production requests - when not provided, pulls both",optional:!0},pageLimit:{kind:"parsed",parse:Z,brief:"The page limit to use when pulling in pages of requests",default:"100"}}},docs:{brief:"Export privacy requests and request identifiers to a CSV file",fullDescription:"Export privacy requests and request identifiers to a CSV file."}});import{buildCommand as Mt,numberParser as Ot}from"@stricli/core";import{RequestAction as Nt,RequestStatus as jt,ScopeName as Et}from"@transcend-io/privacy-types";var re=Mt({loader:async()=>{let{markSilent:e}=await import("./impl-GCP4YV4V.js");return e},parameters:{flags:{auth:t({scopes:[Et.ManageRequestCompilation]}),actions:{kind:"enum",values:Object.values(Nt),variadic:",",brief:"The request actions to mark silent"},statuses:{kind:"enum",values:Object.values(jt),variadic:",",brief:"The request statuses to mark silent. Comma-separated list. Defaults to REQUEST_MADE,WAITING,ENRICHING,COMPILING,DELAYED,APPROVING,SECONDARY,SECONDARY_APPROVING.",optional:!0},requestIds:{kind:"parsed",parse:String,variadic:",",brief:"Specify the specific request IDs to mark silent",optional:!0},createdAtBefore:{kind:"parsed",parse:a,brief:"Mark silent requests that were submitted before this time",optional:!0},createdAtAfter:{kind:"parsed",parse:a,brief:"Mark silent requests that were submitted after this time",optional:!0},transcendUrl:r(),concurrency:{kind:"parsed",parse:Ot,brief:"The concurrency to use when uploading requests in parallel",default:"50"}}},docs:{brief:"Bulk update a set of privacy requests to be in silent mode",fullDescription:"Bulk update a set of privacy requests from the DSR Automation -> Incoming Requests tab to be in silent mode."}});import{buildCommand as Ft,numberParser as p}from"@stricli/core";import{RequestAction as Bt,ScopeName as ae}from"@transcend-io/privacy-types";var oe=Ft({loader:async()=>{let{notifyAdditionalTime:e}=await import("./impl-TRV73CJM.js");return e},parameters:{flags:{auth:t({scopes:[ae.ViewRequests,ae.RequestApproval]}),createdAtBefore:{kind:"parsed",parse:a,brief:"Notify requests that are open but submitted before this time"},createdAtAfter:{kind:"parsed",parse:a,brief:"Notify requests that are open but submitted after this time",optional:!0},actions:{kind:"enum",values:Object.values(Bt),variadic:",",brief:"The request actions to notify",optional:!0},daysLeft:{kind:"parsed",parse:p,brief:"Only notify requests that have less than this number of days until they are considered expired",default:"10"},days:{kind:"parsed",parse:p,brief:"The number of days to adjust the expiration of the request to",default:"45"},requestIds:{kind:"parsed",parse:String,variadic:",",brief:"Specify the specific request IDs to notify",optional:!0},emailTemplate:{kind:"parsed",parse:String,brief:"The title of the email template that should be sent to the requests",default:"Additional Time Needed"},transcendUrl:r(),concurrency:{kind:"parsed",parse:p,brief:"The concurrency to use when uploading requests in parallel",default:"50"}}},docs:{brief:"Bulk notify a set of privacy requests that more time is needed",fullDescription:"Bulk notify a set of privacy requests from the DSR Automation -> Incoming Requests tab that more time is needed to complete the request. Note any request in silent mode will not be emailed."}});import{buildRouteMap as Kt}from"@stricli/core";import{buildCommand as Wt,numberParser as Yt}from"@stricli/core";import{RequestAction as _t,ScopeName as se}from"@transcend-io/privacy-types";var ie=Wt({loader:async()=>{let{pullIdentifiers:e}=await import("./impl-I36LGCWV.js");return e},parameters:{flags:{auth:t({scopes:[se.ViewRequests,se.ViewRequestCompilation]}),sombraAuth:o(),transcendUrl:r(),file:{kind:"parsed",parse:String,brief:"Path to the CSV file where requests will be written to",default:"./manual-enrichment-identifiers.csv"},actions:{kind:"enum",values:Object.values(_t),variadic:",",brief:"The request actions to pull for",optional:!0},concurrency:{kind:"parsed",parse:Yt,brief:"The concurrency to use when uploading requests in parallel",default:"100"}}},docs:{brief:"Pull identifiers for manual enrichment",fullDescription:`This command pulls down the set of privacy requests that are currently pending manual enrichment.
|
|
73
|
+
|
|
74
|
+
This is useful for the following workflow:
|
|
75
|
+
|
|
76
|
+
1. Pull identifiers to CSV:
|
|
77
|
+
${i} request preflight pull-identifiers --file=./enrichment-requests.csv
|
|
78
|
+
2. Fill out the CSV with additional identifiers
|
|
79
|
+
3. Push updated back to Transcend
|
|
80
|
+
${i} request preflight push-identifiers --file=./enrichment-requests.csv`}});import{buildCommand as Lt,numberParser as Gt}from"@stricli/core";import{ScopeName as ne}from"@transcend-io/privacy-types";var de=Lt({loader:async()=>{let{pushIdentifiers:e}=await import("./impl-RREKLU5Y.js");return e},parameters:{flags:{auth:t({scopes:[ne.ManageRequestIdentities,ne.ManageRequestCompilation]}),enricherId:{kind:"parsed",parse:s,brief:"The ID of the Request Enricher to upload to"},sombraAuth:o(),transcendUrl:r(),file:{kind:"parsed",parse:String,brief:"Path to the CSV file where requests will be written to",default:"./manual-enrichment-identifiers.csv"},markSilent:{kind:"boolean",brief:"When true, set requests into silent mode before enriching",default:!1},concurrency:{kind:"parsed",parse:Gt,brief:"The concurrency to use when uploading requests in parallel",default:"100"}}},docs:{brief:"Push identifiers for manual enrichment",fullDescription:`This command push up a set of identifiers for a set of requests pending manual enrichment.
|
|
81
|
+
|
|
82
|
+
This is useful for the following workflow:
|
|
83
|
+
|
|
84
|
+
1. Pull identifiers to CSV:
|
|
85
|
+
${i} request preflight pull-identifiers --file=./enrichment-requests.csv
|
|
86
|
+
2. Fill out the CSV with additional identifiers
|
|
87
|
+
3. Push updated back to Transcend
|
|
88
|
+
${i} request preflight push-identifiers --file=./enrichment-requests.csv`}});var le=Kt({routes:{"pull-identifiers":ie,"push-identifiers":de},docs:{brief:"Preflight commands"}});import{buildCommand as zt}from"@stricli/core";import{RequestAction as Jt,ScopeName as $t}from"@transcend-io/privacy-types";var ue=zt({loader:async()=>{let{rejectUnverifiedIdentifiers:e}=await import("./impl-2WFCE3NQ.js");return e},parameters:{flags:{auth:t({scopes:[$t.ManageRequestCompilation]}),identifierNames:{kind:"parsed",parse:String,variadic:",",brief:"The names of identifiers to clear out"},actions:{kind:"enum",values:Object.values(Jt),variadic:",",brief:"The request action to restart",optional:!0},transcendUrl:r()}},docs:{brief:"Bulk clear out any request identifiers that are unverified",fullDescription:"Bulk clear out any request identifiers that are unverified."}});import{buildCommand as Xt,numberParser as Ht}from"@stricli/core";import{RequestAction as Qt,RequestStatus as Zt,ScopeName as pe}from"@transcend-io/privacy-types";var ce=Xt({loader:async()=>{let{restart:e}=await import("./impl-W5OXXCN3.js");return e},parameters:{flags:{auth:t({scopes:[pe.MakeDataSubjectRequest,pe.ViewRequestCompilation]}),actions:{kind:"enum",values:Object.values(Qt),variadic:",",brief:"The request actions to restart"},statuses:{kind:"enum",values:Object.values(Zt),variadic:",",brief:"The request statuses to restart"},transcendUrl:r(),requestReceiptFolder:{kind:"parsed",parse:String,brief:"The path to the folder where receipts of each upload are stored",default:"./privacy-request-upload-receipts"},sombraAuth:o(),concurrency:{kind:"parsed",parse:Ht,brief:"The concurrency to use when uploading requests in parallel",default:"15"},requestIds:{kind:"parsed",parse:String,variadic:",",brief:"Specify the specific request IDs to restart",optional:!0},emailIsVerified:{kind:"boolean",brief:"Indicate whether the primary email address is verified. Set to false to send a verification email",default:!0},createdAt:{kind:"parsed",parse:a,brief:"Restart requests that were submitted before a specific date",optional:!0},silentModeBefore:{kind:"parsed",parse:a,brief:"Requests older than this date should be marked as silent mode",optional:!0},createdAtBefore:{kind:"parsed",parse:a,brief:"Restart requests that were submitted before this time",optional:!0},createdAtAfter:{kind:"parsed",parse:a,brief:"Restart requests that were submitted after this time",optional:!0},sendEmailReceipt:{kind:"boolean",brief:"Send email receipts to the restarted requests",default:!1},copyIdentifiers:{kind:"boolean",brief:"Copy over all enriched identifiers from the initial request",default:!1},skipWaitingPeriod:{kind:"boolean",brief:"Skip queued state of request and go straight to compiling",default:!1}}},docs:{brief:"Bulk update a set of privacy requests based on a set of request filters",fullDescription:"Bulk update a set of privacy requests based on a set of request filters."}});import{buildCommand as er}from"@stricli/core";import{ScopeName as tr}from"@transcend-io/privacy-types";var me=er({loader:async()=>{let{skipPreflightJobs:e}=await import("./impl-4QGAT3EL.js");return e},parameters:{flags:{auth:t({scopes:[tr.ManageRequestCompilation]}),enricherIds:{kind:"parsed",parse:String,variadic:",",brief:"The ID of the enrichers to skip privacy request jobs for"},transcendUrl:r()}},docs:{brief:"Skip preflight jobs",fullDescription:"This command allows for bulk skipping preflight checks."}});import{buildRouteMap as ur}from"@stricli/core";import{buildCommand as rr}from"@stricli/core";import{ScopeName as ar}from"@transcend-io/privacy-types";var fe=rr({loader:async()=>{let{markRequestDataSilosCompleted:e}=await import("./impl-ZIZA6YZP.js");return e},parameters:{flags:{auth:t({scopes:[ar.ManageRequestCompilation]}),dataSiloId:{kind:"parsed",parse:s,brief:"The ID of the data silo to pull in"},file:{kind:"parsed",parse:String,brief:'Path to the CSV file where identifiers will be written to. The CSV is expected to have 1 column named "Request Id".',default:"./request-identifiers.csv"},transcendUrl:r()}},docs:{brief:"Mark request data silos as completed",fullDescription:`This command takes in a CSV of Request IDs as well as a Data Silo ID and marks all associated privacy request jobs as completed.
|
|
89
|
+
This command is useful with the "Bulk Response" UI. The CSV is expected to have 1 column named "Request Id".`}});import{buildCommand as or}from"@stricli/core";import{RequestAction as sr,ScopeName as ir}from"@transcend-io/privacy-types";var he=or({loader:async()=>{let{retryRequestDataSilos:e}=await import("./impl-HXSGNZWA.js");return e},parameters:{flags:{auth:t({scopes:[ir.ManageRequestCompilation]}),dataSiloId:{kind:"parsed",parse:s,brief:"The ID of the data silo to pull in"},actions:{kind:"enum",values:Object.values(sr),variadic:",",brief:"The request actions to restart"},transcendUrl:r()}},docs:{brief:"Retry request data silos",fullDescription:'This command allows for bulk restarting a set of data silos jobs for open privacy requests. This is equivalent to clicking the "Wipe and Retry" button for a particular data silo across a set of privacy requests.'}});import{buildCommand as nr}from"@stricli/core";import{RequestStatus as dr,ScopeName as lr}from"@transcend-io/privacy-types";var be=nr({loader:async()=>{let{skipRequestDataSilos:e}=await import("./impl-IWD4XEGF.js");return e},parameters:{flags:{auth:t({scopes:[lr.ManageRequestCompilation]}),dataSiloId:{kind:"parsed",parse:s,brief:"The ID of the data silo to skip privacy request jobs for"},transcendUrl:r(),statuses:{kind:"enum",values:Object.values(dr),variadic:",",brief:"The request statuses to skip"},status:{kind:"enum",values:["SKIPPED","RESOLVED"],brief:"The status to set the request data silo job to",default:"SKIPPED"}}},docs:{brief:"Skip request data silos",fullDescription:"This command allows for bulk skipping all open privacy request jobs for a particular data silo. This command is useful if you want to disable a data silo and then clear out any active privacy requests that are still queued up for that data silo."}});var ge=ur({routes:{"mark-request-data-silos-completed":fe,"retry-request-data-silos":he,"skip-request-data-silos":be},docs:{brief:"System commands"}});import{buildCommand as pr,numberParser as cr}from"@stricli/core";import{ScopeName as c}from"@transcend-io/privacy-types";var ke=pr({loader:async()=>{let{upload:e}=await import("./impl-VKJ2BBOI.js");return e},parameters:{flags:{auth:t({scopes:[c.MakeDataSubjectRequest,c.ViewRequestIdentitySettings,c.ViewGlobalAttributes]}),file:{kind:"parsed",parse:String,brief:"Path to the CSV file of requests to upload",default:"./requests.csv"},transcendUrl:r(),cacheFilepath:{kind:"parsed",parse:String,brief:"The path to the JSON file encoding the metadata used to map the CSV shape to Transcend API",default:"./transcend-privacy-requests-cache.json"},requestReceiptFolder:{kind:"parsed",parse:String,brief:"The path to the folder where receipts of each upload are stored",default:"./privacy-request-upload-receipts"},sombraAuth:o(),concurrency:{kind:"parsed",parse:cr,brief:"The concurrency to use when uploading requests in parallel",default:"50"},attributes:{kind:"parsed",parse:String,brief:"Tag all of the requests with the following attributes. Format: key1:value1;value2,key2:value3;value4",default:"Tags:transcend-cli"},isTest:{kind:"boolean",brief:"Flag whether the requests being uploaded are test requests or regular requests",default:!1},isSilent:{kind:"boolean",brief:"Flag whether the requests being uploaded should be submitted in silent mode",default:!0},skipSendingReceipt:{kind:"boolean",brief:"Flag whether to skip sending of the receipt email",default:!1},emailIsVerified:{kind:"boolean",brief:"Indicate whether the email address being uploaded is pre-verified. Set to false to send a verification email",default:!0},skipFilterStep:{kind:"boolean",brief:"When true, skip the interactive step to filter down the CSV",default:!1},dryRun:{kind:"boolean",brief:"When true, perform a dry run of the upload instead of calling the API to submit the requests",default:!1},debug:{kind:"boolean",brief:"Debug logging",default:!1},defaultPhoneCountryCode:{kind:"parsed",parse:String,brief:"When uploading phone numbers, if the phone number is missing a country code, assume this country code",default:"1"}}},docs:{brief:"Upload a set of requests from a CSV",fullDescription:`Upload a set of requests from a CSV.
|
|
90
|
+
|
|
91
|
+
This command prompts you to map the shape of the CSV to the shape of the Transcend API. There is no requirement for the shape of the incoming CSV, as the script will handle the mapping process.
|
|
92
|
+
|
|
93
|
+
The script will also produce a JSON cache file that allows for the mappings to be preserved between runs.`}});var ye=mr({routes:{approve:Y,upload:ke,"download-files":H,cancel:L,restart:ce,"notify-additional-time":oe,"mark-silent":re,"enricher-restart":Q,"reject-unverified-identifiers":ue,export:te,"skip-preflight-jobs":me,system:ge,preflight:le,cron:X},docs:{brief:"All commands related to DSR requests"}});var kr=gr({routes:{request:ye,consent:R,inventory:F,admin:S,migration:W,install:fr("@transcend-io/transcend",{bash:"__@transcend-io/cli_bash_complete"}),uninstall:hr("@transcend-io/transcend",{bash:!0})},docs:{brief:h,hideRoute:{install:!0,uninstall:!0}}}),ji=br(kr,{name:i,versionInfo:{currentVersion:b}});export{ji as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import r from"colors";import{bootstrap as t}from"global-agent";import{ProxyAgent as e,setGlobalDispatcher as s}from"undici";import p from"yargs-parser";var i=console,{httpProxy:o=process.env.http_proxy}=p(process.argv.slice(2));o&&(i.info(r.green(`Initializing proxy: ${o}`)),process.env.GLOBAL_AGENT_HTTP_PROXY=o,t(),s(new e(o)));export{i as a};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{ea as o}from"./chunk-HMF46LB7.js";import{decodeCodec as c}from"@transcend-io/type-utils";import l from"js-yaml";import{readFileSync as m,writeFileSync as d}from"fs";var s=/<<parameters\.(.+?)>>/,i="parameters";function u(e,t,a=""){let r=e;if(Object.entries(t).forEach(([n,p])=>{r=r.split(`<<${i}.${n}>>`).join(p)}),s.test(r)){let[,n]=s.exec(r)||[];throw new Error(`Found variable that was not set: ${n}.
|
|
2
|
+
Make sure you are passing all parameters through the --${i}=${n}:value-for-param flag.
|
|
3
|
+
${a}`)}return r}function b(e,t={}){let a=m(e,"utf-8"),r=u(a,t,`Also check that there are no extra variables defined in your yaml: ${e}`);return c(o,l.load(r))}function h(e,t){d(e,l.dump(c(o,t)))}export{s as a,i as b,u as c,b as d,h as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{fa as p}from"./chunk-HMF46LB7.js";import{Fe as h,Ge as z,Ie as $,Je as w,a as y,oe as u,zc as A}from"./chunk-2FMBK7EQ.js";import{a as i}from"./chunk-OERYFLN2.js";import{e as S}from"./chunk-APA5PR4U.js";import n from"colors";async function H({email:r,password:a,scopes:f,apiKeyTitle:t,parentOrganizationId:o,deleteExistingApiKey:l=!0,createNewApiKey:x=!0,transcendUrl:k=S}){let s=await u(k,{});i.info(n.magenta("Logging in using email and password."));let{roles:d,loginCookie:P}=await h(s,{email:r,password:a});i.info(n.green(`Successfully logged in and found ${d.length} role${d.length===1?"":"s"}!`));let K=o?d.filter(e=>e.organization.id===o||e.organization.parentOrganizationId===o):d;s.setHeaders({Cookie:P});let m=[],c=[];return i.info(n.magenta(`Generating API keys with title: ${t}, scopes: ${f.join(",")}.`)),await y(K,async e=>{try{await z(s,{roleId:e.id,email:r}),i.info(n.magenta(`Checking if API key already exists in organization "${e.organization.name}" with title: "${t}".`));let[g]=await A(s,[t]);if(g&&l)i.info(n.yellow(`Deleting existing API key in "${e.organization.name}" with title: "${t}".`)),await w(s,g.id),i.info(n.green(`Successfully deleted API key in "${e.organization.name}" with title: "${t}".`));else if(g)throw new Error(`API key already exists with title: "${t}"`);if(x){i.info(n.magenta(`Creating API key in "${e.organization.name}" with title: "${t}".`));let{apiKey:N}=await $(s,{title:t,scopes:f});m.push({organizationName:e.organization.name,organizationId:e.organization.id,apiKey:N}),i.info(n.green(`Successfully created API key in "${e.organization.name}" with title: "${t}".`))}else m.push({organizationName:e.organization.name,organizationId:e.organization.id,apiKey:""})}catch(g){i.error(n.red(`Failed to create API key in organization "${e.organization.name}"! - ${g.message}`)),c.push({organizationName:e.organization.name,organizationId:e.organization.id,error:g.message})}}),i.info(n.green(`Successfully created ${m.length} API key${m.length===1?"":"s"}`)),c.length>0&&i.error(n.red(`Failed to create ${c.length} API key${c.length===1?"":"s"}!`)),{errors:c,apiKeys:m}}import{decodeCodec as C}from"@transcend-io/type-utils";import E from"colors";import*as I from"io-ts";import{existsSync as G,readFileSync as D}from"fs";function T(r){return r||(i.error(E.red("A Transcend API key must be provided. You can specify using --auth=$TRANSCEND_API_KEY")),process.exit(1)),G(r)?C(I.array(p),D(r,"utf-8")):r}import{existsSync as F,readdirSync as b}from"fs";function Z(r,a,f=!1){if(!F(r))return[];let t=b(r).filter(o=>a?a.filter(l=>o.endsWith(l)).length:!0).filter(o=>o.indexOf(".")>0);return f?t.map(o=>o.replace(/\.[^/.]+$/,"")):t}import{readdirSync as R,statSync as _}from"fs";import{join as L}from"path";function te(r){return R(r).filter(a=>_(L(r,a)).isDirectory())}export{H as a,T as b,Z as c,te as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var s="A command line interface for programmatic operations across Transcend.",i="7.0.0-alpha.10";export{s as a,i as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{k as i}from"./chunk-DXOAW6K3.js";import o from"inquirer";import m from"inquirer-autocomplete-prompt";async function c({message:e}){let{response:r}=await o.prompt([{name:"response",message:e,type:"confirm"}]);return r}async function l({message:e}){let{response:r}=await o.prompt([{name:"response",message:e,type:"text",validate:t=>t.trim().length>0}]);return r}async function y({defaultValue:e,values:r,message:t}){o.registerPrompt("autocomplete",m);let{response:p}=await o.prompt([{name:"response",message:t,type:"autocomplete",default:e,source:(a,n)=>n?r.filter(s=>typeof s=="string"&&i(n,s)):r}]);return p}export{c as a,l as b,y as c};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import*as u from"fast-csv";import{createWriteStream as f,writeFileSync as j,appendFileSync as v}from"fs";function m(n){return n.includes('"')||n.includes(",")||n.includes(`
|
|
2
|
+
`)?`"${n.replace(/"/g,'""')}"`:n}function d(n,t,i){let r=[];r.push(i),r.push(...t.map(e=>Object.values(e)));let s=r.map(e=>e.map(m).join(",")).join(`
|
|
3
|
+
`);j(n,s)}function C(n,t){let r=t.map(s=>Object.values(s)).map(s=>s.map(m).join(",")).join(`
|
|
4
|
+
`);v(n,`
|
|
5
|
+
${r}`)}async function p(n,t,i=!0){let r=f(n);await new Promise((s,e)=>{try{u.write(t,{headers:i,objectMode:!0}).pipe(r).on("error",e).on("end",()=>s(!0))}catch(c){e(c)}})}function x(n){let t=n.lastIndexOf(".");return{baseName:t!==-1?n.substring(0,t):n,extension:t!==-1?n.substring(t):".csv"}}async function O(n,t,i=!0,r=1e5){if(t.length<=r)return await p(n,t,i),[n];let s=[],e=Math.ceil(t.length/r),{baseName:c,extension:b}=x(n);for(let o=0;o<e;o+=1){let a=o*r,l=Math.min(a+r,t.length),w=t.slice(a,l),y=String(o+1).padStart(String(e).length,"0"),g=`${c}_part${y}_of_${e}${b}`;await p(g,w,i),s.push(g)}return s}export{d as a,C as b,p as c,x as d,O as e};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{c as _}from"./chunk-RBOBI6B6.js";import{n as A,q as x}from"./chunk-DXOAW6K3.js";import{Ae as O,Be as D,_ as T,_b as j,b as R,pe as y,qe as E,ye as L}from"./chunk-2FMBK7EQ.js";import{a as r}from"./chunk-OERYFLN2.js";import{e as b}from"./chunk-APA5PR4U.js";import{RequestStatus as U}from"@transcend-io/privacy-types";import k from"colors";import{groupBy as G,uniq as Q}from"lodash-es";async function te({file:u,auth:s,sombraAuth:g,requestActions:f=[],concurrency:p=100,transcendUrl:n=b}){let o=y(n,s),e=await E(n,s,g);r.info(k.magenta(`Pulling manual enrichment requests, filtered for actions: ${f.join(",")}`));let d=await L(o,{actions:f,statuses:[U.Enriching]}),i=[];await R(d,async t=>{let c=await D(o,{requestId:t.id});if(c.filter(({status:m})=>m==="ACTION_REQUIRED")){let m=await O(o,e,{requestId:t.id});i.push({...t,requestIdentifiers:m,requestEnrichers:c})}},{concurrency:p});let l=i.map(({attributeValues:t,requestIdentifiers:c,requestEnrichers:I,...m})=>({...m,...Object.entries(G(c,"name")).reduce((w,[P,$])=>Object.assign(w,{[P]:$.map(({value:C})=>C).join(",")}),{}),...Object.entries(G(t,"attributeKey.name")).reduce((w,[P,$])=>Object.assign(w,{[P]:$.map(({name:C})=>C).join(",")}),{})})),a=Q(l.map(t=>Object.keys(t)).flat());return _(u,l,a),r.info(k.green(`Successfully wrote ${i.length} requests to file "${u}"`)),i}import*as q from"io-ts";import{uniq as F}from"lodash-es";import v from"colors";var S="https://app.transcend.io/privacy-requests/incoming-requests/",M=q.record(q.string,q.string);async function N(u,{id:s,...g},f,p){if(!s){let e=`Request ID must be provided to enricher request.${p?` Found error in row: ${p}`:""}`;throw r.error(v.red(e)),new Error(e)}let n=s.toLowerCase(),o=Object.entries(g).reduce((e,[d,i])=>F(A(i)).length===0?e:Object.assign(e,{[d]:F(A(i)).map(a=>({value:d==="email"?a.toLowerCase():a}))}),{});try{return await u.post("v1/enrich-identifiers",{headers:{"x-transcend-request-id":n,"x-transcend-enricher-id":f},json:{enrichedIdentifiers:o}}).json(),r.error(v.green(`Successfully enriched request: ${S}${n}`)),!0}catch(e){if(typeof e.response.body=="string"&&e.response.body.includes("Cannot update a resolved RequestEnricher"))return r.warn(v.magenta(`Skipped enrichment for request: ${S}${n}, request is no longer in the enriching phase.`)),!1;throw r.error(v.red(`Failed to enricher identifiers for request with id: ${S}${n} - ${e.message} - ${e.response.body}`)),e}}import h from"colors";async function ge({file:u,auth:s,sombraAuth:g,enricherId:f,markSilent:p,concurrency:n=100,transcendUrl:o=b}){let e=await E(o,s,g),d=y(o,s);r.info(h.magenta(`Reading "${u}" from disk`));let i=x(u,M);r.info(h.magenta(`Enriching "${i.length}" privacy requests.`));let l=0,a=0,t=0;if(await R(i,async(c,I)=>{try{p&&(await j(d,T,{input:{id:c.id,isSilent:!0}}),r.info(h.magenta(`Mark request as silent mode - ${c.id}`))),await N(e,c,f,I)?l+=1:a+=1}catch{t+=1}},{concurrency:n}),r.info(h.green(`Successfully notified Transcend!
|
|
2
|
+
Success count: ${l}.`)),a>0&&r.info(h.magenta(`Skipped count: ${a}.`)),t>0)throw r.info(h.red(`Error Count: ${t}.`)),new Error(`Failed to enrich: ${t} requests.`);return i.length}export{te as a,M as b,N as c,ge as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function o(s){let e=s.split(",").filter(r=>!!r),t={};return e.forEach(r=>{let[i,n]=r.split(":");if(!i||!n)throw new Error(`Invalid variable: ${r}. Expected format: key:value`);t[i]=n}),t}export{o as a};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{e as o,f as i}from"./chunk-APA5PR4U.js";import{d as n}from"./chunk-EZCJGIOS.js";import{buildCommand as p,numberParser as m}from"@stricli/core";import{ConsentTrackerStatus as u}from"@transcend-io/privacy-types";import{ScopeName as f,TRANSCEND_SCOPES as s}from"@transcend-io/privacy-types";function b(e){if(!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e))throw new Error(`Invalid UUID format: ${e}`);return e}function a(e){try{return new URL(e).toString().replace(/\/$/,"")}catch{throw new Error(`Invalid URL format: ${e}`)}}function g(e){return e.split(",").map(r=>r.trim()).filter(r=>r.length>0)}function S(e){let r=new Date(e);if(Number.isNaN(r.getTime()))throw new TypeError(`Invalid date: ${e}. Try using the ISO 8601 format (YYYY-MM-DDTHH:MM:SS.SSSZ)`);return r}var l=({scopes:e,requiresSiloScope:r=!1})=>{let t={kind:"parsed",parse:String,brief:"The Transcend API key."};return r&&(t.brief+=" This key must be associated with the data silo(s) being operated on."),e==="Varies"?{...t,brief:`${t.brief} The scopes required will vary depending on the operation performed. If in doubt, the ${s[f.FullAdmin].title} scope will always work.`}:e.length===0?{...t,brief:`${t.brief} No scopes are required for this command.`}:{...t,brief:`${t.brief} Requires scopes: ${e.map(c=>`"${s[c].title}"`).join(", ")}`}},d=(e=o)=>({kind:"parsed",parse:a,brief:"URL of the Transcend backend. Use https://api.us.transcend.io for US hosting",default:e}),U=(e=i)=>({kind:"parsed",parse:a,brief:"URL of the Transcend consent backend. Use https://consent.us.transcend.io for US hosting",default:e}),D=()=>({kind:"parsed",parse:String,brief:"The Sombra internal key, use for additional authentication when self-hosting Sombra",optional:!0});var h=["dataSilos","enrichers","templates","apiKeys"],v=Object.values(u),C=p({loader:async()=>{let{pull:e}=await import("./impl-A3A3743Y.js");return e},parameters:{flags:{auth:l({scopes:"Varies"}),resources:{kind:"enum",values:["all",...Object.values(n)],brief:`The different resource types to pull in. Defaults to ${h.join(",")}.`,variadic:",",optional:!0},file:{kind:"parsed",parse:String,brief:"Path to the YAML file to pull into",default:"./transcend.yml"},transcendUrl:d(),dataSiloIds:{kind:"parsed",parse:String,variadic:",",brief:"The UUIDs of the data silos that should be pulled into the YAML file",optional:!0},integrationNames:{kind:"parsed",parse:String,variadic:",",brief:"The types of integrations to pull down",optional:!0},trackerStatuses:{kind:"enum",values:Object.values(u),variadic:",",brief:"The statuses of consent manager trackers to pull down. Defaults to all statuses.",optional:!0},pageSize:{kind:"parsed",parse:m,brief:"The page size to use when paginating over the API",default:"50"},skipDatapoints:{kind:"boolean",brief:"When true, skip pulling in datapoints alongside data silo resource",default:!1},skipSubDatapoints:{kind:"boolean",brief:"When true, skip pulling in subDatapoints alongside data silo resource",default:!1},includeGuessedCategories:{kind:"boolean",brief:"When true, included guessed data categories that came from the content classifier",default:!1},debug:{kind:"boolean",brief:"Set to true to include debug logs while pulling the configuration",default:!1}}},docs:{brief:"Pull metadata from Transcend into transcend.yml",fullDescription:`Generates a transcend.yml by pulling the configuration from your Transcend instance.
|
|
2
|
+
|
|
3
|
+
The API key needs various scopes depending on the resources being pulled (see the CLI's README for more details).
|
|
4
|
+
|
|
5
|
+
This command can be helpful if you are looking to:
|
|
6
|
+
|
|
7
|
+
- Copy your data into another instance
|
|
8
|
+
- Generate a transcend.yml file as a starting point to maintain parts of your data inventory in code.`}});export{b as a,g as b,S as c,l as d,d as e,U as f,D as g,h,v as i,C as j};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ee as N,b}from"./chunk-2FMBK7EQ.js";import{a}from"./chunk-OERYFLN2.js";import{f as U}from"./chunk-APA5PR4U.js";import*as E from"crypto";import*as $ from"jsonwebtoken";function B(c,l,n){let o=Buffer.from(n,"base64"),f=Buffer.from(l,"base64"),u="id-aes256-wrap-pad",d=Buffer.from("A65959A6","hex"),s=E.createCipheriv(u,f,d),i={encryptedIdentifier:Buffer.concat([s.update(c),s.final()]).toString("base64")};return $.sign(i,o,{algorithm:"HS384"})}import*as e from"io-ts";var O=e.intersection([e.type({userId:e.string,timestamp:e.string}),e.partial({confirmed:e.union([e.literal("true"),e.literal("false")]),updated:e.union([e.literal("true"),e.literal("false")]),prompted:e.union([e.literal("true"),e.literal("false")]),metadata:e.string,usp:e.union([e.string,e.null]),gpp:e.union([e.string,e.null])})]),Y=e.intersection([O,e.partial({purposes:e.string})]),G=e.intersection([O,e.type({partition:e.string}),e.partial({tcf:e.union([e.string,e.null]),purposes:e.record(e.string,e.union([e.boolean,e.string]))})]);import P from"colors";import*as r from"io-ts";import A from"cli-progress";import{decodeCodec as I}from"@transcend-io/type-utils";var R=/^[0-9][Y|N]([Y|N])[Y|N]$/,_=r.record(r.string,r.union([r.boolean,r.literal("Auto")]));async function Z({base64EncryptionKey:c,base64SigningKey:l,preferences:n,partition:o,concurrency:f=100,transcendUrl:u=U}){let d=N(u),s=n.filter(t=>t.usp&&!R.test(t.usp));if(s.length>0)throw new Error(`Received invalid usp strings: ${JSON.stringify(s,null,2)}`);let m=n.map((t,y)=>[t,y]).filter(([t])=>{if(!t.purposes)return!1;try{return I(_,t.purposes),!1}catch{return!0}});if(m.length>0)throw new Error(`Received invalid purpose maps: ${JSON.stringify(m,null,2)}`);let i=n.filter(t=>!t.usp&&!t.purposes);if(i.length>0)throw new Error(`Received invalid inputs, expected either purposes or usp to be defined: ${JSON.stringify(i,null,2)}`);a.info(P.magenta(`Uploading ${n.length} user preferences to partition ${o}`));let w=new Date().getTime(),g=new A.SingleBar({},A.Presets.shades_classic),S=0;g.start(n.length,0),await b(n,async({userId:t,confirmed:y="true",updated:T,prompted:v,purposes:x,...p})=>{let k=B(t,c,l),[,D]=p.usp?R.exec(p.usp)||[]:[],F={token:k,partition:o,consent:{confirmed:y==="true",purposes:x?I(_,x):p.usp?{SaleOfInfo:D==="Y"}:{},...T?{updated:T==="true"}:{},...v?{prompted:v==="true"}:{},...p}};try{await d.post("sync",{json:F}).json()}catch(h){try{let C=JSON.parse(h?.response?.body||"{}");C.error&&a.error(P.red(`Error: ${C.error}`))}catch{}throw new Error(`Received an error from server: ${h?.response?.body||h?.message}`)}S+=1,g.update(S)},{concurrency:f}),g.stop();let j=new Date().getTime()-w;a.info(P.green(`Successfully uploaded ${n.length} user preferences to partition ${o} in "${j/1e3}" seconds!`))}export{B as a,Y as b,G as c,R as d,_ as e,Z as f};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as o}from"./chunk-EZCJGIOS.js";import*as e from"io-ts";import{valuesOf as a}from"@transcend-io/type-utils";var d=({TRouteName:t})=>e.type({routeName:t,enabledPolicies:e.array(a(o))});import*as r from"io-ts";var l=({TEnabledRoutes:t})=>r.type({enabledRoutes:t});export{d as a,l as b};
|