@transcend-io/cli 10.21.0 → 10.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/README.md +88 -76
  2. package/dist/{app-D29TqW_A.mjs → app-CaKX0swF.mjs} +18 -18
  3. package/dist/{app-D29TqW_A.mjs.map → app-CaKX0swF.mjs.map} +1 -1
  4. package/dist/{approvePrivacyRequests-BjjUp-hw.mjs → approvePrivacyRequests-CY6dRaiJ.mjs} +2 -2
  5. package/dist/{approvePrivacyRequests-BjjUp-hw.mjs.map → approvePrivacyRequests-CY6dRaiJ.mjs.map} +1 -1
  6. package/dist/bin/bash-complete.mjs +1 -1
  7. package/dist/bin/cli.mjs +1 -1
  8. package/dist/bin/deprecated-command.mjs +1 -1
  9. package/dist/{buildExamples-2xaj8FoK.mjs → buildExamples-Dyfixa8C.mjs} +2 -2
  10. package/dist/{buildExamples-2xaj8FoK.mjs.map → buildExamples-Dyfixa8C.mjs.map} +1 -1
  11. package/dist/{buildXdiSyncEndpoint-ozQ3T4Hj.mjs → buildXdiSyncEndpoint-Cz2LSRjW.mjs} +2 -2
  12. package/dist/{buildXdiSyncEndpoint-ozQ3T4Hj.mjs.map → buildXdiSyncEndpoint-Cz2LSRjW.mjs.map} +1 -1
  13. package/dist/{bulkRestartRequests-c29oH5GC.mjs → bulkRestartRequests-Dj3W8Smy.mjs} +2 -2
  14. package/dist/{bulkRestartRequests-c29oH5GC.mjs.map → bulkRestartRequests-Dj3W8Smy.mjs.map} +1 -1
  15. package/dist/{bulkRetryEnrichers-i3oFHWx-.mjs → bulkRetryEnrichers-D6j9Ivc0.mjs} +2 -2
  16. package/dist/{bulkRetryEnrichers-i3oFHWx-.mjs.map → bulkRetryEnrichers-D6j9Ivc0.mjs.map} +1 -1
  17. package/dist/{cancelPrivacyRequests-B4IzmRWC.mjs → cancelPrivacyRequests-HT5NvgGF.mjs} +2 -2
  18. package/dist/{cancelPrivacyRequests-B4IzmRWC.mjs.map → cancelPrivacyRequests-HT5NvgGF.mjs.map} +1 -1
  19. package/dist/codecs-_SjJhduF.mjs +2 -0
  20. package/dist/codecs-_SjJhduF.mjs.map +1 -0
  21. package/dist/{command-DOo9vOei.mjs → command-CJVah-g5.mjs} +2 -2
  22. package/dist/{command-DOo9vOei.mjs.map → command-CJVah-g5.mjs.map} +1 -1
  23. package/dist/constants-cBzX_zyl.mjs +2 -0
  24. package/dist/constants-cBzX_zyl.mjs.map +1 -0
  25. package/dist/{createExtraKeyHandler-JtWqC00U.mjs → createExtraKeyHandler-CuarjDkw.mjs} +2 -2
  26. package/dist/{createExtraKeyHandler-JtWqC00U.mjs.map → createExtraKeyHandler-CuarjDkw.mjs.map} +1 -1
  27. package/dist/{downloadPrivacyRequestFiles-CIxwRWnH.mjs → downloadPrivacyRequestFiles-Cn-cm-QI.mjs} +2 -2
  28. package/dist/{downloadPrivacyRequestFiles-CIxwRWnH.mjs.map → downloadPrivacyRequestFiles-Cn-cm-QI.mjs.map} +1 -1
  29. package/dist/{enums-D53y231X.mjs → enums-BymyVyqr.mjs} +2 -2
  30. package/dist/enums-BymyVyqr.mjs.map +1 -0
  31. package/dist/{generateCrossAccountApiKeys-qw686-vX.mjs → generateCrossAccountApiKeys-Dh8X4a3W.mjs} +2 -2
  32. package/dist/{generateCrossAccountApiKeys-qw686-vX.mjs.map → generateCrossAccountApiKeys-Dh8X4a3W.mjs.map} +1 -1
  33. package/dist/{impl-BDPtNJLp.mjs → impl-4gOELmu7.mjs} +2 -2
  34. package/dist/{impl-BDPtNJLp.mjs.map → impl-4gOELmu7.mjs.map} +1 -1
  35. package/dist/{impl-CW6TFAzt2.mjs → impl-BB8jBITw2.mjs} +2 -2
  36. package/dist/{impl-CW6TFAzt2.mjs.map → impl-BB8jBITw2.mjs.map} +1 -1
  37. package/dist/{impl-BaDKnY6X.mjs → impl-BCLxAEup.mjs} +2 -2
  38. package/dist/{impl-BaDKnY6X.mjs.map → impl-BCLxAEup.mjs.map} +1 -1
  39. package/dist/{impl-CrVGqakz2.mjs → impl-BDE-0f_J2.mjs} +2 -2
  40. package/dist/{impl-CrVGqakz2.mjs.map → impl-BDE-0f_J2.mjs.map} +1 -1
  41. package/dist/{impl-hY30kWpN.mjs → impl-BJ0wcQ7k.mjs} +2 -2
  42. package/dist/{impl-hY30kWpN.mjs.map → impl-BJ0wcQ7k.mjs.map} +1 -1
  43. package/dist/{impl-DUI3qGsC2.mjs → impl-BonZXKcP2.mjs} +2 -2
  44. package/dist/{impl-DUI3qGsC2.mjs.map → impl-BonZXKcP2.mjs.map} +1 -1
  45. package/dist/{impl-JxprJNni.mjs → impl-Bzn3FMBY.mjs} +2 -2
  46. package/dist/{impl-JxprJNni.mjs.map → impl-Bzn3FMBY.mjs.map} +1 -1
  47. package/dist/{impl-DBV_D1ii.mjs → impl-C-JpeZru.mjs} +2 -2
  48. package/dist/{impl-DBV_D1ii.mjs.map → impl-C-JpeZru.mjs.map} +1 -1
  49. package/dist/{impl-DMQEmlVb.mjs → impl-C2SPhoeN.mjs} +2 -2
  50. package/dist/{impl-DMQEmlVb.mjs.map → impl-C2SPhoeN.mjs.map} +1 -1
  51. package/dist/{impl-BCTorB3_.mjs → impl-C515J-j7.mjs} +2 -2
  52. package/dist/{impl-BCTorB3_.mjs.map → impl-C515J-j7.mjs.map} +1 -1
  53. package/dist/{impl-DFZBjY6J2.mjs → impl-CH_2Ay0I2.mjs} +2 -2
  54. package/dist/{impl-DFZBjY6J2.mjs.map → impl-CH_2Ay0I2.mjs.map} +1 -1
  55. package/dist/{impl-DI5BZJRL.mjs → impl-CYiMx1--.mjs} +2 -2
  56. package/dist/{impl-DI5BZJRL.mjs.map → impl-CYiMx1--.mjs.map} +1 -1
  57. package/dist/{impl-CWd25f8p.mjs → impl-ChIESsn-.mjs} +2 -2
  58. package/dist/{impl-CWd25f8p.mjs.map → impl-ChIESsn-.mjs.map} +1 -1
  59. package/dist/{impl-C5jWisyQ.mjs → impl-Clfzhtnt.mjs} +2 -2
  60. package/dist/{impl-C5jWisyQ.mjs.map → impl-Clfzhtnt.mjs.map} +1 -1
  61. package/dist/{impl-CiDSQd1n.mjs → impl-D5Gsgyj6.mjs} +2 -2
  62. package/dist/{impl-CiDSQd1n.mjs.map → impl-D5Gsgyj6.mjs.map} +1 -1
  63. package/dist/{impl-DNwwq1Nh.mjs → impl-D7wDuTnD.mjs} +2 -2
  64. package/dist/{impl-DNwwq1Nh.mjs.map → impl-D7wDuTnD.mjs.map} +1 -1
  65. package/dist/{impl-CZfS7Ydy.mjs → impl-DJR9yQoG.mjs} +2 -2
  66. package/dist/{impl-CZfS7Ydy.mjs.map → impl-DJR9yQoG.mjs.map} +1 -1
  67. package/dist/{impl-v1WWFSFZ.mjs → impl-DJwjZCcH.mjs} +2 -2
  68. package/dist/{impl-v1WWFSFZ.mjs.map → impl-DJwjZCcH.mjs.map} +1 -1
  69. package/dist/{impl-B4MaLZAd2.mjs → impl-DJz0q9FW2.mjs} +2 -2
  70. package/dist/{impl-B4MaLZAd2.mjs.map → impl-DJz0q9FW2.mjs.map} +1 -1
  71. package/dist/{impl-CwOPj70B.mjs → impl-DQRcwOlA.mjs} +2 -2
  72. package/dist/{impl-CwOPj70B.mjs.map → impl-DQRcwOlA.mjs.map} +1 -1
  73. package/dist/{impl-BHibMDBv.mjs → impl-DRLH1TnS.mjs} +2 -2
  74. package/dist/{impl-BHibMDBv.mjs.map → impl-DRLH1TnS.mjs.map} +1 -1
  75. package/dist/{impl-BcHxVhtN.mjs → impl-DV68fyyl.mjs} +2 -2
  76. package/dist/{impl-BcHxVhtN.mjs.map → impl-DV68fyyl.mjs.map} +1 -1
  77. package/dist/{impl-2wy1Bi1C2.mjs → impl-D_1lQVRR2.mjs} +2 -2
  78. package/dist/{impl-2wy1Bi1C2.mjs.map → impl-D_1lQVRR2.mjs.map} +1 -1
  79. package/dist/{impl-DH049g3W.mjs → impl-DctprvAs.mjs} +2 -2
  80. package/dist/{impl-DH049g3W.mjs.map → impl-DctprvAs.mjs.map} +1 -1
  81. package/dist/{impl-zECFyZrU.mjs → impl-F9isBn8P.mjs} +2 -2
  82. package/dist/{impl-zECFyZrU.mjs.map → impl-F9isBn8P.mjs.map} +1 -1
  83. package/dist/{impl-DWvfhn-62.mjs → impl-FT-AX6eL2.mjs} +2 -2
  84. package/dist/{impl-DWvfhn-62.mjs.map → impl-FT-AX6eL2.mjs.map} +1 -1
  85. package/dist/{impl-D2LX8clq2.mjs → impl-GZe4ti1_2.mjs} +2 -2
  86. package/dist/{impl-D2LX8clq2.mjs.map → impl-GZe4ti1_2.mjs.map} +1 -1
  87. package/dist/{impl-D2KU3B7g.mjs → impl-HrUgz4tG.mjs} +2 -2
  88. package/dist/{impl-D2KU3B7g.mjs.map → impl-HrUgz4tG.mjs.map} +1 -1
  89. package/dist/{impl-u1q93_tK.mjs → impl-IsvQznAE.mjs} +2 -2
  90. package/dist/{impl-u1q93_tK.mjs.map → impl-IsvQznAE.mjs.map} +1 -1
  91. package/dist/{impl-DE9OHpyc.mjs → impl-RPen9vPS.mjs} +2 -2
  92. package/dist/{impl-DE9OHpyc.mjs.map → impl-RPen9vPS.mjs.map} +1 -1
  93. package/dist/{impl-DF374hZ52.mjs → impl-UxzUmcgG2.mjs} +2 -2
  94. package/dist/{impl-DF374hZ52.mjs.map → impl-UxzUmcgG2.mjs.map} +1 -1
  95. package/dist/{impl-CK9A4BvD.mjs → impl-VZ5AFBNm.mjs} +2 -2
  96. package/dist/{impl-CK9A4BvD.mjs.map → impl-VZ5AFBNm.mjs.map} +1 -1
  97. package/dist/{impl-C6wTDCex2.mjs → impl-ZdDrknSR2.mjs} +2 -2
  98. package/dist/{impl-C6wTDCex2.mjs.map → impl-ZdDrknSR2.mjs.map} +1 -1
  99. package/dist/{impl-CrpWDfKW.mjs → impl-aZEhTcLa.mjs} +2 -2
  100. package/dist/{impl-CrpWDfKW.mjs.map → impl-aZEhTcLa.mjs.map} +1 -1
  101. package/dist/{impl-Dl7w91bL.mjs → impl-jEFmv3UE.mjs} +2 -2
  102. package/dist/{impl-Dl7w91bL.mjs.map → impl-jEFmv3UE.mjs.map} +1 -1
  103. package/dist/{impl-Bhd63d2E.mjs → impl-nePMEJkH.mjs} +2 -2
  104. package/dist/{impl-Bhd63d2E.mjs.map → impl-nePMEJkH.mjs.map} +1 -1
  105. package/dist/{impl-BV9t4j6E.mjs → impl-spb5yfh5.mjs} +2 -2
  106. package/dist/{impl-BV9t4j6E.mjs.map → impl-spb5yfh5.mjs.map} +1 -1
  107. package/dist/{impl-ChV4laNE.mjs → impl-toPEtoCY.mjs} +2 -2
  108. package/dist/{impl-ChV4laNE.mjs.map → impl-toPEtoCY.mjs.map} +1 -1
  109. package/dist/{impl-CSMzpKv5.mjs → impl-ukQtDFFF.mjs} +2 -2
  110. package/dist/{impl-CSMzpKv5.mjs.map → impl-ukQtDFFF.mjs.map} +1 -1
  111. package/dist/index.d.mts +137 -9
  112. package/dist/index.d.mts.map +1 -1
  113. package/dist/index.mjs +3 -3
  114. package/dist/index.mjs.map +1 -1
  115. package/dist/{markRequestDataSiloIdsCompleted-C7R1YENn.mjs → markRequestDataSiloIdsCompleted-Dz8BpX68.mjs} +2 -2
  116. package/dist/{markRequestDataSiloIdsCompleted-C7R1YENn.mjs.map → markRequestDataSiloIdsCompleted-Dz8BpX68.mjs.map} +1 -1
  117. package/dist/{markSilentPrivacyRequests-D9swsyuo.mjs → markSilentPrivacyRequests-CNT4eigq.mjs} +2 -2
  118. package/dist/{markSilentPrivacyRequests-D9swsyuo.mjs.map → markSilentPrivacyRequests-CNT4eigq.mjs.map} +1 -1
  119. package/dist/{notifyPrivacyRequestsAdditionalTime-CpDSAOaZ.mjs → notifyPrivacyRequestsAdditionalTime-D_MmmL_T.mjs} +2 -2
  120. package/dist/{notifyPrivacyRequestsAdditionalTime-CpDSAOaZ.mjs.map → notifyPrivacyRequestsAdditionalTime-D_MmmL_T.mjs.map} +1 -1
  121. package/dist/parseVariablesFromString-CfXnITrG.mjs +3 -0
  122. package/dist/parseVariablesFromString-CfXnITrG.mjs.map +1 -0
  123. package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-nJdP5Lhb.mjs → pullChunkedCustomSiloOutstandingIdentifiers-DbzbpVC5.mjs} +2 -2
  124. package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-nJdP5Lhb.mjs.map → pullChunkedCustomSiloOutstandingIdentifiers-DbzbpVC5.mjs.map} +1 -1
  125. package/dist/{pullManualEnrichmentIdentifiersToCsv-CvS65fmI.mjs → pullManualEnrichmentIdentifiersToCsv-DV72-Ood.mjs} +2 -2
  126. package/dist/{pullManualEnrichmentIdentifiersToCsv-CvS65fmI.mjs.map → pullManualEnrichmentIdentifiersToCsv-DV72-Ood.mjs.map} +1 -1
  127. package/dist/pullTranscendConfiguration-BPkc-b3x.mjs +58 -0
  128. package/dist/pullTranscendConfiguration-BPkc-b3x.mjs.map +1 -0
  129. package/dist/{pushCronIdentifiersFromCsv-BEPg03aD.mjs → pushCronIdentifiersFromCsv-Cc-POoSS.mjs} +2 -2
  130. package/dist/{pushCronIdentifiersFromCsv-BEPg03aD.mjs.map → pushCronIdentifiersFromCsv-Cc-POoSS.mjs.map} +1 -1
  131. package/dist/{pushManualEnrichmentIdentifiersFromCsv-B0jKrYOZ.mjs → pushManualEnrichmentIdentifiersFromCsv-C1k2t27x.mjs} +2 -2
  132. package/dist/{pushManualEnrichmentIdentifiersFromCsv-B0jKrYOZ.mjs.map → pushManualEnrichmentIdentifiersFromCsv-C1k2t27x.mjs.map} +1 -1
  133. package/dist/{readTranscendYaml-D-k8P4v1.mjs → readTranscendYaml-B1FLjET0.mjs} +2 -2
  134. package/dist/{readTranscendYaml-D-k8P4v1.mjs.map → readTranscendYaml-B1FLjET0.mjs.map} +1 -1
  135. package/dist/{removeUnverifiedRequestIdentifiers-BIchFbPB.mjs → removeUnverifiedRequestIdentifiers-CoqOTue3.mjs} +2 -2
  136. package/dist/{removeUnverifiedRequestIdentifiers-BIchFbPB.mjs.map → removeUnverifiedRequestIdentifiers-CoqOTue3.mjs.map} +1 -1
  137. package/dist/{retryRequestDataSilos-DUfHyF_U.mjs → retryRequestDataSilos-46M0IjN_.mjs} +2 -2
  138. package/dist/{retryRequestDataSilos-DUfHyF_U.mjs.map → retryRequestDataSilos-46M0IjN_.mjs.map} +1 -1
  139. package/dist/{skipPreflightJobs-DaFjvih9.mjs → skipPreflightJobs-C5CAhy9W.mjs} +2 -2
  140. package/dist/{skipPreflightJobs-DaFjvih9.mjs.map → skipPreflightJobs-C5CAhy9W.mjs.map} +1 -1
  141. package/dist/{skipRequestDataSilos-DYE2aYYS.mjs → skipRequestDataSilos-BeIEyLtB.mjs} +2 -2
  142. package/dist/{skipRequestDataSilos-DYE2aYYS.mjs.map → skipRequestDataSilos-BeIEyLtB.mjs.map} +1 -1
  143. package/dist/{streamPrivacyRequestsToCsv-DakIlTv0.mjs → streamPrivacyRequestsToCsv-GBm5edD3.mjs} +2 -2
  144. package/dist/{streamPrivacyRequestsToCsv-DakIlTv0.mjs.map → streamPrivacyRequestsToCsv-GBm5edD3.mjs.map} +1 -1
  145. package/dist/{updateConsentManagerVersionToLatest-BzAN1bBC.mjs → updateConsentManagerVersionToLatest-CUu1TzQR.mjs} +2 -2
  146. package/dist/{updateConsentManagerVersionToLatest-BzAN1bBC.mjs.map → updateConsentManagerVersionToLatest-CUu1TzQR.mjs.map} +1 -1
  147. package/dist/{uploadConsents-CAAkg4cf.mjs → uploadConsents-Bj6r4M0K.mjs} +2 -2
  148. package/dist/{uploadConsents-CAAkg4cf.mjs.map → uploadConsents-Bj6r4M0K.mjs.map} +1 -1
  149. package/dist/{uploadCookiesFromCsv-DP3LBhMG.mjs → uploadCookiesFromCsv-C50gkbUb.mjs} +2 -2
  150. package/dist/{uploadCookiesFromCsv-DP3LBhMG.mjs.map → uploadCookiesFromCsv-C50gkbUb.mjs.map} +1 -1
  151. package/dist/{uploadDataFlowsFromCsv-C--ho0_f.mjs → uploadDataFlowsFromCsv-7a3Niqzl.mjs} +2 -2
  152. package/dist/{uploadDataFlowsFromCsv-C--ho0_f.mjs.map → uploadDataFlowsFromCsv-7a3Niqzl.mjs.map} +1 -1
  153. package/dist/{uploadPrivacyRequestsFromCsv-CLklOZOl.mjs → uploadPrivacyRequestsFromCsv-C2EgMu_d.mjs} +2 -2
  154. package/dist/{uploadPrivacyRequestsFromCsv-CLklOZOl.mjs.map → uploadPrivacyRequestsFromCsv-C2EgMu_d.mjs.map} +1 -1
  155. package/dist/{validateTranscendAuth-CIPn35zS.mjs → validateTranscendAuth-D14jsB5C.mjs} +2 -2
  156. package/dist/{validateTranscendAuth-CIPn35zS.mjs.map → validateTranscendAuth-D14jsB5C.mjs.map} +1 -1
  157. package/package.json +4 -4
  158. package/dist/codecs-CbOFsh1R.mjs +0 -2
  159. package/dist/codecs-CbOFsh1R.mjs.map +0 -1
  160. package/dist/constants-BesTSxZW.mjs +0 -2
  161. package/dist/constants-BesTSxZW.mjs.map +0 -1
  162. package/dist/enums-D53y231X.mjs.map +0 -1
  163. package/dist/parseVariablesFromString-CHcigVIK.mjs +0 -3
  164. package/dist/parseVariablesFromString-CHcigVIK.mjs.map +0 -1
  165. package/dist/pullTranscendConfiguration-Cdg8JEii.mjs +0 -58
  166. package/dist/pullTranscendConfiguration-Cdg8JEii.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"impl-DF374hZ52.mjs","names":[],"sources":["../src/commands/request/mark-silent/impl.ts"],"sourcesContent":["import type { RequestAction, RequestStatus } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { markSilentPrivacyRequests } from '../../../lib/requests/index.js';\n\nexport interface MarkSilentCommandFlags {\n auth: string;\n actions: RequestAction[];\n statuses?: RequestStatus[];\n requestIds?: string[];\n createdAtBefore?: Date;\n createdAtAfter?: Date;\n updatedAtBefore?: Date;\n updatedAtAfter?: Date;\n transcendUrl: string;\n concurrency: number;\n}\n\nexport async function markSilent(\n this: LocalContext,\n {\n auth,\n transcendUrl,\n actions,\n statuses,\n requestIds,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n concurrency,\n }: MarkSilentCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await markSilentPrivacyRequests({\n transcendUrl,\n requestActions: actions,\n auth,\n requestIds,\n statuses,\n concurrency,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n });\n}\n"],"mappings":"iHAmBA,eAAsB,EAEpB,CACE,OACA,eACA,UACA,WACA,aACA,kBACA,iBACA,kBACA,iBACA,eAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAA0B,CAC9B,eACA,eAAgB,EAChB,OACA,aACA,WACA,cACA,kBACA,iBACA,kBACA,iBACD,CAAC"}
1
+ {"version":3,"file":"impl-UxzUmcgG2.mjs","names":[],"sources":["../src/commands/request/mark-silent/impl.ts"],"sourcesContent":["import type { RequestAction, RequestStatus } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { markSilentPrivacyRequests } from '../../../lib/requests/index.js';\n\nexport interface MarkSilentCommandFlags {\n auth: string;\n actions: RequestAction[];\n statuses?: RequestStatus[];\n requestIds?: string[];\n createdAtBefore?: Date;\n createdAtAfter?: Date;\n updatedAtBefore?: Date;\n updatedAtAfter?: Date;\n transcendUrl: string;\n concurrency: number;\n}\n\nexport async function markSilent(\n this: LocalContext,\n {\n auth,\n transcendUrl,\n actions,\n statuses,\n requestIds,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n concurrency,\n }: MarkSilentCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await markSilentPrivacyRequests({\n transcendUrl,\n requestActions: actions,\n auth,\n requestIds,\n statuses,\n concurrency,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n });\n}\n"],"mappings":"iHAmBA,eAAsB,EAEpB,CACE,OACA,eACA,UACA,WACA,aACA,kBACA,iBACA,kBACA,iBACA,eAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAA0B,CAC9B,eACA,eAAgB,EAChB,OACA,aACA,WACA,cACA,kBACA,iBACA,kBACA,iBACD,CAAC"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"./logger-B-LXIf3U.mjs";import{n as t}from"./buildXdiSyncEndpoint-ozQ3T4Hj.mjs";import{t as n}from"./validateTranscendAuth-CIPn35zS.mjs";import{t as r}from"./done-input-validation-CvwjeRWr.mjs";import{writeFileSync as i}from"node:fs";import a from"colors";async function o({auth:o,xdiLocation:s,file:c,removeIpAddresses:l,domainBlockList:u,xdiAllowedCommands:d,transcendUrl:f}){r(this.process.exit);let{syncGroups:p,html:m}=await t(await n(o),{xdiLocation:s,transcendUrl:f,removeIpAddresses:l,domainBlockList:u.length>0?u:void 0,xdiAllowedCommands:d});e.info(a.green(`Successfully constructed sync endpoint for sync groups: ${JSON.stringify(p,null,2)}`)),i(c,m),e.info(a.green(`Wrote configuration to file "${c}"!`))}export{o as buildXdiSyncEndpoint};
2
- //# sourceMappingURL=impl-CK9A4BvD.mjs.map
1
+ import{t as e}from"./logger-B-LXIf3U.mjs";import{n as t}from"./buildXdiSyncEndpoint-Cz2LSRjW.mjs";import{t as n}from"./validateTranscendAuth-D14jsB5C.mjs";import{t as r}from"./done-input-validation-CvwjeRWr.mjs";import{writeFileSync as i}from"node:fs";import a from"colors";async function o({auth:o,xdiLocation:s,file:c,removeIpAddresses:l,domainBlockList:u,xdiAllowedCommands:d,transcendUrl:f}){r(this.process.exit);let{syncGroups:p,html:m}=await t(await n(o),{xdiLocation:s,transcendUrl:f,removeIpAddresses:l,domainBlockList:u.length>0?u:void 0,xdiAllowedCommands:d});e.info(a.green(`Successfully constructed sync endpoint for sync groups: ${JSON.stringify(p,null,2)}`)),i(c,m),e.info(a.green(`Wrote configuration to file "${c}"!`))}export{o as buildXdiSyncEndpoint};
2
+ //# sourceMappingURL=impl-VZ5AFBNm.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl-CK9A4BvD.mjs","names":["buildXdiSyncEndpointHelper"],"sources":["../src/commands/consent/build-xdi-sync-endpoint/impl.ts"],"sourcesContent":["import { writeFileSync } from 'node:fs';\n\nimport colors from 'colors';\n\nimport type { LocalContext } from '../../../context.js';\nimport { validateTranscendAuth } from '../../../lib/api-keys/index.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { buildXdiSyncEndpoint as buildXdiSyncEndpointHelper } from '../../../lib/consent-manager/index.js';\nimport { logger } from '../../../logger.js';\n\nexport interface BuildXdiSyncEndpointCommandFlags {\n auth: string;\n xdiLocation: string;\n file: string;\n removeIpAddresses: boolean;\n domainBlockList: string[];\n xdiAllowedCommands: string;\n transcendUrl: string;\n}\n\nexport async function buildXdiSyncEndpoint(\n this: LocalContext,\n {\n auth,\n xdiLocation,\n file,\n removeIpAddresses,\n domainBlockList,\n xdiAllowedCommands,\n transcendUrl,\n }: BuildXdiSyncEndpointCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n // Parse authentication as API key or path to list of API keys\n const apiKeyOrList = await validateTranscendAuth(auth);\n\n // Build the sync endpoint\n const { syncGroups, html } = await buildXdiSyncEndpointHelper(apiKeyOrList, {\n xdiLocation,\n transcendUrl,\n removeIpAddresses,\n domainBlockList: domainBlockList.length > 0 ? domainBlockList : undefined,\n xdiAllowedCommands,\n });\n\n // Log success\n logger.info(\n colors.green(\n `Successfully constructed sync endpoint for sync groups: ${JSON.stringify(\n syncGroups,\n null,\n 2,\n )}`,\n ),\n );\n\n // Write to disk\n writeFileSync(file, html);\n logger.info(colors.green(`Wrote configuration to file \"${file}\"!`));\n}\n"],"mappings":"kRAoBA,eAAsB,EAEpB,CACE,OACA,cACA,OACA,oBACA,kBACA,qBACA,gBAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAMtC,GAAM,CAAE,aAAY,QAAS,MAAMA,EAA2B,MAHnC,EAAsB,EAAK,CAGsB,CAC1E,cACA,eACA,oBACA,gBAAiB,EAAgB,OAAS,EAAI,EAAkB,IAAA,GAChE,qBACD,CAAC,CAGF,EAAO,KACL,EAAO,MACL,2DAA2D,KAAK,UAC9D,EACA,KACA,EACD,GACF,CACF,CAGD,EAAc,EAAM,EAAK,CACzB,EAAO,KAAK,EAAO,MAAM,gCAAgC,EAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"impl-VZ5AFBNm.mjs","names":["buildXdiSyncEndpointHelper"],"sources":["../src/commands/consent/build-xdi-sync-endpoint/impl.ts"],"sourcesContent":["import { writeFileSync } from 'node:fs';\n\nimport colors from 'colors';\n\nimport type { LocalContext } from '../../../context.js';\nimport { validateTranscendAuth } from '../../../lib/api-keys/index.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { buildXdiSyncEndpoint as buildXdiSyncEndpointHelper } from '../../../lib/consent-manager/index.js';\nimport { logger } from '../../../logger.js';\n\nexport interface BuildXdiSyncEndpointCommandFlags {\n auth: string;\n xdiLocation: string;\n file: string;\n removeIpAddresses: boolean;\n domainBlockList: string[];\n xdiAllowedCommands: string;\n transcendUrl: string;\n}\n\nexport async function buildXdiSyncEndpoint(\n this: LocalContext,\n {\n auth,\n xdiLocation,\n file,\n removeIpAddresses,\n domainBlockList,\n xdiAllowedCommands,\n transcendUrl,\n }: BuildXdiSyncEndpointCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n // Parse authentication as API key or path to list of API keys\n const apiKeyOrList = await validateTranscendAuth(auth);\n\n // Build the sync endpoint\n const { syncGroups, html } = await buildXdiSyncEndpointHelper(apiKeyOrList, {\n xdiLocation,\n transcendUrl,\n removeIpAddresses,\n domainBlockList: domainBlockList.length > 0 ? domainBlockList : undefined,\n xdiAllowedCommands,\n });\n\n // Log success\n logger.info(\n colors.green(\n `Successfully constructed sync endpoint for sync groups: ${JSON.stringify(\n syncGroups,\n null,\n 2,\n )}`,\n ),\n );\n\n // Write to disk\n writeFileSync(file, html);\n logger.info(colors.green(`Wrote configuration to file \"${file}\"!`));\n}\n"],"mappings":"kRAoBA,eAAsB,EAEpB,CACE,OACA,cACA,OACA,oBACA,kBACA,qBACA,gBAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAMtC,GAAM,CAAE,aAAY,QAAS,MAAMA,EAA2B,MAHnC,EAAsB,EAAK,CAGsB,CAC1E,cACA,eACA,oBACA,gBAAiB,EAAgB,OAAS,EAAI,EAAkB,IAAA,GAChE,qBACD,CAAC,CAGF,EAAO,KACL,EAAO,MACL,2DAA2D,KAAK,UAC9D,EACA,KACA,EACD,GACF,CACF,CAGD,EAAc,EAAM,EAAK,CACzB,EAAO,KAAK,EAAO,MAAM,gCAAgC,EAAK,IAAI,CAAC"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"./pushCronIdentifiersFromCsv-BEPg03aD.mjs";import{t}from"./done-input-validation-CvwjeRWr.mjs";async function n({file:n,transcendUrl:r,auth:i,sombraAuth:a,dataSiloId:o}){t(this.process.exit),await e({file:n,transcendUrl:r,auth:i,sombraAuth:a,dataSiloId:o})}export{n as markIdentifiersCompleted};
2
- //# sourceMappingURL=impl-C6wTDCex2.mjs.map
1
+ import{t as e}from"./pushCronIdentifiersFromCsv-Cc-POoSS.mjs";import{t}from"./done-input-validation-CvwjeRWr.mjs";async function n({file:n,transcendUrl:r,auth:i,sombraAuth:a,dataSiloId:o}){t(this.process.exit),await e({file:n,transcendUrl:r,auth:i,sombraAuth:a,dataSiloId:o})}export{n as markIdentifiersCompleted};
2
+ //# sourceMappingURL=impl-ZdDrknSR2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl-C6wTDCex2.mjs","names":[],"sources":["../src/commands/request/cron/mark-identifiers-completed/impl.ts"],"sourcesContent":["import type { LocalContext } from '../../../../context.js';\nimport { doneInputValidation } from '../../../../lib/cli/done-input-validation.js';\nimport { pushCronIdentifiersFromCsv } from '../../../../lib/cron/index.js';\n\nexport interface MarkIdentifiersCompletedCommandFlags {\n file: string;\n transcendUrl: string;\n auth: string;\n sombraAuth?: string;\n dataSiloId: string;\n}\n\nexport async function markIdentifiersCompleted(\n this: LocalContext,\n { file, transcendUrl, auth, sombraAuth, dataSiloId }: MarkIdentifiersCompletedCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await pushCronIdentifiersFromCsv({\n file,\n transcendUrl,\n auth,\n sombraAuth,\n dataSiloId,\n });\n}\n"],"mappings":"kHAYA,eAAsB,EAEpB,CAAE,OAAM,eAAc,OAAM,aAAY,cACzB,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAA2B,CAC/B,OACA,eACA,OACA,aACA,aACD,CAAC"}
1
+ {"version":3,"file":"impl-ZdDrknSR2.mjs","names":[],"sources":["../src/commands/request/cron/mark-identifiers-completed/impl.ts"],"sourcesContent":["import type { LocalContext } from '../../../../context.js';\nimport { doneInputValidation } from '../../../../lib/cli/done-input-validation.js';\nimport { pushCronIdentifiersFromCsv } from '../../../../lib/cron/index.js';\n\nexport interface MarkIdentifiersCompletedCommandFlags {\n file: string;\n transcendUrl: string;\n auth: string;\n sombraAuth?: string;\n dataSiloId: string;\n}\n\nexport async function markIdentifiersCompleted(\n this: LocalContext,\n { file, transcendUrl, auth, sombraAuth, dataSiloId }: MarkIdentifiersCompletedCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await pushCronIdentifiersFromCsv({\n file,\n transcendUrl,\n auth,\n sombraAuth,\n dataSiloId,\n });\n}\n"],"mappings":"kHAYA,eAAsB,EAEpB,CAAE,OAAM,eAAc,OAAM,aAAY,cACzB,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAA2B,CAC/B,OACA,eACA,OACA,aACA,aACD,CAAC"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"./uploadDataFlowsFromCsv-C--ho0_f.mjs";import{t}from"./done-input-validation-CvwjeRWr.mjs";async function n({auth:n,trackerStatus:r,file:i,classifyService:a,transcendUrl:o}){t(this.process.exit),await e({auth:n,trackerStatus:r,file:i,classifyService:a,transcendUrl:o})}export{n as uploadDataFlowsFromCsv};
2
- //# sourceMappingURL=impl-CrpWDfKW.mjs.map
1
+ import{t as e}from"./uploadDataFlowsFromCsv-7a3Niqzl.mjs";import{t}from"./done-input-validation-CvwjeRWr.mjs";async function n({auth:n,trackerStatus:r,file:i,classifyService:a,transcendUrl:o}){t(this.process.exit),await e({auth:n,trackerStatus:r,file:i,classifyService:a,transcendUrl:o})}export{n as uploadDataFlowsFromCsv};
2
+ //# sourceMappingURL=impl-aZEhTcLa.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl-CrpWDfKW.mjs","names":["uploadDataFlowsFromCsvHelper"],"sources":["../src/commands/consent/upload-data-flows-from-csv/impl.ts"],"sourcesContent":["import { ConsentTrackerStatus } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { uploadDataFlowsFromCsv as uploadDataFlowsFromCsvHelper } from '../../../lib/consent-manager/index.js';\n\nexport interface UploadDataFlowsFromCsvCommandFlags {\n auth: string;\n trackerStatus: ConsentTrackerStatus;\n file: string;\n classifyService: boolean;\n transcendUrl: string;\n}\n\nexport async function uploadDataFlowsFromCsv(\n this: LocalContext,\n { auth, trackerStatus, file, classifyService, transcendUrl }: UploadDataFlowsFromCsvCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await uploadDataFlowsFromCsvHelper({\n auth,\n trackerStatus,\n file,\n classifyService,\n transcendUrl,\n });\n}\n"],"mappings":"8GAcA,eAAsB,EAEpB,CAAE,OAAM,gBAAe,OAAM,kBAAiB,gBAC/B,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAMA,EAA6B,CACjC,OACA,gBACA,OACA,kBACA,eACD,CAAC"}
1
+ {"version":3,"file":"impl-aZEhTcLa.mjs","names":["uploadDataFlowsFromCsvHelper"],"sources":["../src/commands/consent/upload-data-flows-from-csv/impl.ts"],"sourcesContent":["import { ConsentTrackerStatus } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { uploadDataFlowsFromCsv as uploadDataFlowsFromCsvHelper } from '../../../lib/consent-manager/index.js';\n\nexport interface UploadDataFlowsFromCsvCommandFlags {\n auth: string;\n trackerStatus: ConsentTrackerStatus;\n file: string;\n classifyService: boolean;\n transcendUrl: string;\n}\n\nexport async function uploadDataFlowsFromCsv(\n this: LocalContext,\n { auth, trackerStatus, file, classifyService, transcendUrl }: UploadDataFlowsFromCsvCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await uploadDataFlowsFromCsvHelper({\n auth,\n trackerStatus,\n file,\n classifyService,\n transcendUrl,\n });\n}\n"],"mappings":"8GAcA,eAAsB,EAEpB,CAAE,OAAM,gBAAe,OAAM,kBAAiB,gBAC/B,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAMA,EAA6B,CACjC,OACA,gBACA,OACA,kBACA,eACD,CAAC"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"./readCsv-D1e7WRTc.mjs";import{r as t}from"./uploadConsents-CAAkg4cf.mjs";import{t as n}from"./done-input-validation-CvwjeRWr.mjs";import*as r from"io-ts";const i=r.intersection([r.type({userId:r.string,timestamp:r.string}),r.partial({confirmed:r.union([r.literal(`true`),r.literal(`false`)]),updated:r.union([r.literal(`true`),r.literal(`false`)]),prompted:r.union([r.literal(`true`),r.literal(`false`)]),metadata:r.string,usp:r.union([r.string,r.null]),gpp:r.union([r.string,r.null]),purposes:r.string})]);async function a({base64EncryptionKey:r,base64SigningKey:a,partition:o,file:s,consentUrl:c,concurrency:l}){n(this.process.exit),await t({base64EncryptionKey:r,base64SigningKey:a,preferences:e(s,i),partition:o,concurrency:l,transcendUrl:c})}export{a as uploadConsentPreferences};
2
- //# sourceMappingURL=impl-Dl7w91bL.mjs.map
1
+ import{t as e}from"./readCsv-D1e7WRTc.mjs";import{r as t}from"./uploadConsents-Bj6r4M0K.mjs";import{t as n}from"./done-input-validation-CvwjeRWr.mjs";import*as r from"io-ts";const i=r.intersection([r.type({userId:r.string,timestamp:r.string}),r.partial({confirmed:r.union([r.literal(`true`),r.literal(`false`)]),updated:r.union([r.literal(`true`),r.literal(`false`)]),prompted:r.union([r.literal(`true`),r.literal(`false`)]),metadata:r.string,usp:r.union([r.string,r.null]),gpp:r.union([r.string,r.null]),purposes:r.string})]);async function a({base64EncryptionKey:r,base64SigningKey:a,partition:o,file:s,consentUrl:c,concurrency:l}){n(this.process.exit),await t({base64EncryptionKey:r,base64SigningKey:a,preferences:e(s,i),partition:o,concurrency:l,transcendUrl:c})}export{a as uploadConsentPreferences};
2
+ //# sourceMappingURL=impl-jEFmv3UE.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl-Dl7w91bL.mjs","names":[],"sources":["../src/lib/consent-manager/types.ts","../src/commands/consent/upload-consent-preferences/impl.ts"],"sourcesContent":["import * as t from 'io-ts';\n\nexport const ConsentPreferenceUpload = t.intersection([\n t.type({\n /** User ID */\n userId: t.string,\n /** Has the consent been updated (including no-change confirmation) since default resolution */\n timestamp: t.string,\n }),\n t.partial({\n /** Was tracking consent confirmed by the user? If this is false, the consent was resolved from defaults & is not yet confirmed */\n confirmed: t.union([t.literal('true'), t.literal('false')]),\n /**\n * Has the consent been updated (including no-change confirmation) since default resolution\n */\n updated: t.union([t.literal('true'), t.literal('false')]),\n /**\n * Whether or not the UI has been shown to the end-user (undefined in older versions of airgap.js)\n */\n prompted: t.union([t.literal('true'), t.literal('false')]),\n /** Consent metadata */\n metadata: t.string,\n /** US Privacy (USP) String */\n usp: t.union([t.string, t.null]),\n /** IAB GPP String */\n gpp: t.union([t.string, t.null]),\n /**\n * Purpose map\n * This is a stringified JSON object with keys as purpose names and values as booleans or 'Auto'\n */\n purposes: t.string,\n }),\n]);\n\n/** Type override */\nexport type ConsentPreferenceUpload = t.TypeOf<typeof ConsentPreferenceUpload>;\n","import type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { ConsentPreferenceUpload } from '../../../lib/consent-manager/types.js';\nimport { uploadConsents } from '../../../lib/consent-manager/uploadConsents.js';\nimport { readCsv } from '../../../lib/requests/index.js';\n\nexport interface UploadConsentPreferencesCommandFlags {\n base64EncryptionKey: string;\n base64SigningKey: string;\n partition: string;\n file: string;\n consentUrl: string;\n concurrency: number;\n}\n\nexport async function uploadConsentPreferences(\n this: LocalContext,\n {\n base64EncryptionKey,\n base64SigningKey,\n partition,\n file,\n consentUrl,\n concurrency,\n }: UploadConsentPreferencesCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n // Load in preferences from csv\n const preferences = readCsv(file, ConsentPreferenceUpload);\n\n // Upload cookies\n await uploadConsents({\n base64EncryptionKey,\n base64SigningKey,\n preferences,\n partition,\n concurrency,\n transcendUrl: consentUrl,\n });\n}\n"],"mappings":"8KAEA,MAAa,EAA0B,EAAE,aAAa,CACpD,EAAE,KAAK,CAEL,OAAQ,EAAE,OAEV,UAAW,EAAE,OACd,CAAC,CACF,EAAE,QAAQ,CAER,UAAW,EAAE,MAAM,CAAC,EAAE,QAAQ,OAAO,CAAE,EAAE,QAAQ,QAAQ,CAAC,CAAC,CAI3D,QAAS,EAAE,MAAM,CAAC,EAAE,QAAQ,OAAO,CAAE,EAAE,QAAQ,QAAQ,CAAC,CAAC,CAIzD,SAAU,EAAE,MAAM,CAAC,EAAE,QAAQ,OAAO,CAAE,EAAE,QAAQ,QAAQ,CAAC,CAAC,CAE1D,SAAU,EAAE,OAEZ,IAAK,EAAE,MAAM,CAAC,EAAE,OAAQ,EAAE,KAAK,CAAC,CAEhC,IAAK,EAAE,MAAM,CAAC,EAAE,OAAQ,EAAE,KAAK,CAAC,CAKhC,SAAU,EAAE,OACb,CAAC,CACH,CAAC,CCjBF,eAAsB,EAEpB,CACE,sBACA,mBACA,YACA,OACA,aACA,eAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAMtC,MAAM,EAAe,CACnB,sBACA,mBACA,YANkB,EAAQ,EAAM,EAMrB,CACX,YACA,cACA,aAAc,EACf,CAAC"}
1
+ {"version":3,"file":"impl-jEFmv3UE.mjs","names":[],"sources":["../src/lib/consent-manager/types.ts","../src/commands/consent/upload-consent-preferences/impl.ts"],"sourcesContent":["import * as t from 'io-ts';\n\nexport const ConsentPreferenceUpload = t.intersection([\n t.type({\n /** User ID */\n userId: t.string,\n /** Has the consent been updated (including no-change confirmation) since default resolution */\n timestamp: t.string,\n }),\n t.partial({\n /** Was tracking consent confirmed by the user? If this is false, the consent was resolved from defaults & is not yet confirmed */\n confirmed: t.union([t.literal('true'), t.literal('false')]),\n /**\n * Has the consent been updated (including no-change confirmation) since default resolution\n */\n updated: t.union([t.literal('true'), t.literal('false')]),\n /**\n * Whether or not the UI has been shown to the end-user (undefined in older versions of airgap.js)\n */\n prompted: t.union([t.literal('true'), t.literal('false')]),\n /** Consent metadata */\n metadata: t.string,\n /** US Privacy (USP) String */\n usp: t.union([t.string, t.null]),\n /** IAB GPP String */\n gpp: t.union([t.string, t.null]),\n /**\n * Purpose map\n * This is a stringified JSON object with keys as purpose names and values as booleans or 'Auto'\n */\n purposes: t.string,\n }),\n]);\n\n/** Type override */\nexport type ConsentPreferenceUpload = t.TypeOf<typeof ConsentPreferenceUpload>;\n","import type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { ConsentPreferenceUpload } from '../../../lib/consent-manager/types.js';\nimport { uploadConsents } from '../../../lib/consent-manager/uploadConsents.js';\nimport { readCsv } from '../../../lib/requests/index.js';\n\nexport interface UploadConsentPreferencesCommandFlags {\n base64EncryptionKey: string;\n base64SigningKey: string;\n partition: string;\n file: string;\n consentUrl: string;\n concurrency: number;\n}\n\nexport async function uploadConsentPreferences(\n this: LocalContext,\n {\n base64EncryptionKey,\n base64SigningKey,\n partition,\n file,\n consentUrl,\n concurrency,\n }: UploadConsentPreferencesCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n // Load in preferences from csv\n const preferences = readCsv(file, ConsentPreferenceUpload);\n\n // Upload cookies\n await uploadConsents({\n base64EncryptionKey,\n base64SigningKey,\n preferences,\n partition,\n concurrency,\n transcendUrl: consentUrl,\n });\n}\n"],"mappings":"8KAEA,MAAa,EAA0B,EAAE,aAAa,CACpD,EAAE,KAAK,CAEL,OAAQ,EAAE,OAEV,UAAW,EAAE,OACd,CAAC,CACF,EAAE,QAAQ,CAER,UAAW,EAAE,MAAM,CAAC,EAAE,QAAQ,OAAO,CAAE,EAAE,QAAQ,QAAQ,CAAC,CAAC,CAI3D,QAAS,EAAE,MAAM,CAAC,EAAE,QAAQ,OAAO,CAAE,EAAE,QAAQ,QAAQ,CAAC,CAAC,CAIzD,SAAU,EAAE,MAAM,CAAC,EAAE,QAAQ,OAAO,CAAE,EAAE,QAAQ,QAAQ,CAAC,CAAC,CAE1D,SAAU,EAAE,OAEZ,IAAK,EAAE,MAAM,CAAC,EAAE,OAAQ,EAAE,KAAK,CAAC,CAEhC,IAAK,EAAE,MAAM,CAAC,EAAE,OAAQ,EAAE,KAAK,CAAC,CAKhC,SAAU,EAAE,OACb,CAAC,CACH,CAAC,CCjBF,eAAsB,EAEpB,CACE,sBACA,mBACA,YACA,OACA,aACA,eAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAMtC,MAAM,EAAe,CACnB,sBACA,mBACA,YANkB,EAAQ,EAAM,EAMrB,CACX,YACA,cACA,aAAc,EACf,CAAC"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"./logger-B-LXIf3U.mjs";import{E as t}from"./codecs-CbOFsh1R.mjs";import{a as n}from"./readTranscendYaml-D-k8P4v1.mjs";import{t as r}from"./done-input-validation-CvwjeRWr.mjs";import{ConsentTrackerStatus as i,DataFlowScope as a}from"@transcend-io/privacy-types";import{decodeCodec as o}from"@transcend-io/type-utils";import{existsSync as s,readFileSync as c}from"node:fs";import l from"colors";import*as u from"io-ts";function d({file:d,output:f}){r(this.process.exit),s(d)||(e.error(l.red(`File does not exist: --file="${d}"`)),this.process.exit(1));let p=o(u.array(t),c(d,`utf-8`)),m=[],h=[];p.forEach(e=>{e.dataFlows.filter(({type:e})=>e!==a.CSP).forEach(e=>{m.push({value:e.value,type:e.type,status:i.Live,trackingPurposes:e.trackingPurposes})}),e.cookies.forEach(e=>{h.push({name:e.name,status:i.Live,trackingPurposes:e.trackingPurposes})})}),n(f,{"data-flows":m,cookies:h}),e.info(l.green(`Successfully wrote ${m.length} data flows and ${h.length} cookies to file "${f}"`))}export{d as consentManagerServiceJsonToYml};
2
- //# sourceMappingURL=impl-Bhd63d2E.mjs.map
1
+ import{t as e}from"./logger-B-LXIf3U.mjs";import{E as t}from"./codecs-_SjJhduF.mjs";import{a as n}from"./readTranscendYaml-B1FLjET0.mjs";import{t as r}from"./done-input-validation-CvwjeRWr.mjs";import{ConsentTrackerStatus as i,DataFlowScope as a}from"@transcend-io/privacy-types";import{decodeCodec as o}from"@transcend-io/type-utils";import{existsSync as s,readFileSync as c}from"node:fs";import l from"colors";import*as u from"io-ts";function d({file:d,output:f}){r(this.process.exit),s(d)||(e.error(l.red(`File does not exist: --file="${d}"`)),this.process.exit(1));let p=o(u.array(t),c(d,`utf-8`)),m=[],h=[];p.forEach(e=>{e.dataFlows.filter(({type:e})=>e!==a.CSP).forEach(e=>{m.push({value:e.value,type:e.type,status:i.Live,trackingPurposes:e.trackingPurposes})}),e.cookies.forEach(e=>{h.push({name:e.name,status:i.Live,trackingPurposes:e.trackingPurposes})})}),n(f,{"data-flows":m,cookies:h}),e.info(l.green(`Successfully wrote ${m.length} data flows and ${h.length} cookies to file "${f}"`))}export{d as consentManagerServiceJsonToYml};
2
+ //# sourceMappingURL=impl-nePMEJkH.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl-Bhd63d2E.mjs","names":[],"sources":["../src/commands/inventory/consent-manager-service-json-to-yml/impl.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'node:fs';\n\nimport { ConsentTrackerStatus, DataFlowScope } from '@transcend-io/privacy-types';\nimport { decodeCodec } from '@transcend-io/type-utils';\nimport colors from 'colors';\nimport * as t from 'io-ts';\n\nimport { ConsentManagerServiceMetadata, CookieInput, DataFlowInput } from '../../../codecs.js';\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { writeTranscendYaml } from '../../../lib/readTranscendYaml.js';\nimport { logger } from '../../../logger.js';\n\nexport interface ConsentManagerServiceJsonToYmlCommandFlags {\n file: string;\n output: string;\n}\n\nexport function consentManagerServiceJsonToYml(\n this: LocalContext,\n { file, output }: ConsentManagerServiceJsonToYmlCommandFlags,\n): void {\n doneInputValidation(this.process.exit);\n\n // Ensure files exist\n if (!existsSync(file)) {\n logger.error(colors.red(`File does not exist: --file=\"${file}\"`));\n this.process.exit(1);\n }\n\n // Read in each consent manager configuration\n const services = decodeCodec(t.array(ConsentManagerServiceMetadata), readFileSync(file, 'utf-8'));\n\n // Create data flows and cookie configurations\n const dataFlows: DataFlowInput[] = [];\n const cookies: CookieInput[] = [];\n services.forEach((service) => {\n service.dataFlows\n .filter(({ type }) => type !== DataFlowScope.CSP)\n .forEach((dataFlow) => {\n dataFlows.push({\n value: dataFlow.value,\n type: dataFlow.type,\n status: ConsentTrackerStatus.Live,\n trackingPurposes: dataFlow.trackingPurposes,\n });\n });\n\n service.cookies.forEach((cookie) => {\n cookies.push({\n name: cookie.name,\n status: ConsentTrackerStatus.Live,\n trackingPurposes: cookie.trackingPurposes,\n });\n });\n });\n\n // write to disk\n writeTranscendYaml(output, {\n 'data-flows': dataFlows,\n cookies,\n });\n\n logger.info(\n colors.green(\n `Successfully wrote ${dataFlows.length} data flows and ${cookies.length} cookies to file \"${output}\"`,\n ),\n );\n}\n"],"mappings":"obAkBA,SAAgB,EAEd,CAAE,OAAM,UACF,CACN,EAAoB,KAAK,QAAQ,KAAK,CAGjC,EAAW,EAAK,GACnB,EAAO,MAAM,EAAO,IAAI,gCAAgC,EAAK,GAAG,CAAC,CACjE,KAAK,QAAQ,KAAK,EAAE,EAItB,IAAM,EAAW,EAAY,EAAE,MAAM,EAA8B,CAAE,EAAa,EAAM,QAAQ,CAAC,CAG3F,EAA6B,EAAE,CAC/B,EAAyB,EAAE,CACjC,EAAS,QAAS,GAAY,CAC5B,EAAQ,UACL,QAAQ,CAAE,UAAW,IAAS,EAAc,IAAI,CAChD,QAAS,GAAa,CACrB,EAAU,KAAK,CACb,MAAO,EAAS,MAChB,KAAM,EAAS,KACf,OAAQ,EAAqB,KAC7B,iBAAkB,EAAS,iBAC5B,CAAC,EACF,CAEJ,EAAQ,QAAQ,QAAS,GAAW,CAClC,EAAQ,KAAK,CACX,KAAM,EAAO,KACb,OAAQ,EAAqB,KAC7B,iBAAkB,EAAO,iBAC1B,CAAC,EACF,EACF,CAGF,EAAmB,EAAQ,CACzB,aAAc,EACd,UACD,CAAC,CAEF,EAAO,KACL,EAAO,MACL,sBAAsB,EAAU,OAAO,kBAAkB,EAAQ,OAAO,oBAAoB,EAAO,GACpG,CACF"}
1
+ {"version":3,"file":"impl-nePMEJkH.mjs","names":[],"sources":["../src/commands/inventory/consent-manager-service-json-to-yml/impl.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'node:fs';\n\nimport { ConsentTrackerStatus, DataFlowScope } from '@transcend-io/privacy-types';\nimport { decodeCodec } from '@transcend-io/type-utils';\nimport colors from 'colors';\nimport * as t from 'io-ts';\n\nimport { ConsentManagerServiceMetadata, CookieInput, DataFlowInput } from '../../../codecs.js';\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { writeTranscendYaml } from '../../../lib/readTranscendYaml.js';\nimport { logger } from '../../../logger.js';\n\nexport interface ConsentManagerServiceJsonToYmlCommandFlags {\n file: string;\n output: string;\n}\n\nexport function consentManagerServiceJsonToYml(\n this: LocalContext,\n { file, output }: ConsentManagerServiceJsonToYmlCommandFlags,\n): void {\n doneInputValidation(this.process.exit);\n\n // Ensure files exist\n if (!existsSync(file)) {\n logger.error(colors.red(`File does not exist: --file=\"${file}\"`));\n this.process.exit(1);\n }\n\n // Read in each consent manager configuration\n const services = decodeCodec(t.array(ConsentManagerServiceMetadata), readFileSync(file, 'utf-8'));\n\n // Create data flows and cookie configurations\n const dataFlows: DataFlowInput[] = [];\n const cookies: CookieInput[] = [];\n services.forEach((service) => {\n service.dataFlows\n .filter(({ type }) => type !== DataFlowScope.CSP)\n .forEach((dataFlow) => {\n dataFlows.push({\n value: dataFlow.value,\n type: dataFlow.type,\n status: ConsentTrackerStatus.Live,\n trackingPurposes: dataFlow.trackingPurposes,\n });\n });\n\n service.cookies.forEach((cookie) => {\n cookies.push({\n name: cookie.name,\n status: ConsentTrackerStatus.Live,\n trackingPurposes: cookie.trackingPurposes,\n });\n });\n });\n\n // write to disk\n writeTranscendYaml(output, {\n 'data-flows': dataFlows,\n cookies,\n });\n\n logger.info(\n colors.green(\n `Successfully wrote ${dataFlows.length} data flows and ${cookies.length} cookies to file \"${output}\"`,\n ),\n );\n}\n"],"mappings":"obAkBA,SAAgB,EAEd,CAAE,OAAM,UACF,CACN,EAAoB,KAAK,QAAQ,KAAK,CAGjC,EAAW,EAAK,GACnB,EAAO,MAAM,EAAO,IAAI,gCAAgC,EAAK,GAAG,CAAC,CACjE,KAAK,QAAQ,KAAK,EAAE,EAItB,IAAM,EAAW,EAAY,EAAE,MAAM,EAA8B,CAAE,EAAa,EAAM,QAAQ,CAAC,CAG3F,EAA6B,EAAE,CAC/B,EAAyB,EAAE,CACjC,EAAS,QAAS,GAAY,CAC5B,EAAQ,UACL,QAAQ,CAAE,UAAW,IAAS,EAAc,IAAI,CAChD,QAAS,GAAa,CACrB,EAAU,KAAK,CACb,MAAO,EAAS,MAChB,KAAM,EAAS,KACf,OAAQ,EAAqB,KAC7B,iBAAkB,EAAS,iBAC5B,CAAC,EACF,CAEJ,EAAQ,QAAQ,QAAS,GAAW,CAClC,EAAQ,KAAK,CACX,KAAM,EAAO,KACb,OAAQ,EAAqB,KAC7B,iBAAkB,EAAO,iBAC1B,CAAC,EACF,EACF,CAGF,EAAmB,EAAQ,CACzB,aAAc,EACd,UACD,CAAC,CAEF,EAAO,KACL,EAAO,MACL,sBAAsB,EAAU,OAAO,kBAAkB,EAAQ,OAAO,oBAAoB,EAAO,GACpG,CACF"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"./logger-B-LXIf3U.mjs";import{a as t,r as n}from"./readTranscendYaml-D-k8P4v1.mjs";import{t as r}from"./listFiles-B1GqyM33.mjs";import{t as i}from"./done-input-validation-CvwjeRWr.mjs";import{t as a}from"./dataFlowsToDataSilos-Blo6-adp.mjs";import{difference as o}from"lodash-es";import{existsSync as s,lstatSync as c}from"node:fs";import{join as l}from"node:path";import u from"colors";import{buildTranscendGraphQLClient as d,fetchAndIndexCatalogs as f}from"@transcend-io/sdk";async function p({auth:p,dataFlowsYmlFolder:m,output:h,ignoreYmls:g=[],transcendUrl:_}){i(this.process.exit),(!s(m)||!c(m).isDirectory())&&(e.error(u.red(`Folder does not exist: "${m}"`)),this.process.exit(1));let v=g.map(e=>e.split(`.`)[0]),y=r(m).map(e=>{let{"data-flows":t=[]}=n(l(m,e)),{adTechDataSilos:r,siteTechDataSilos:i}=a(t,{serviceToSupportedIntegration:T,serviceToTitle:w});return{adTechDataSilos:r,siteTechDataSilos:i,organizationName:e.split(`.`)[0]}}),b={};y.forEach(({adTechDataSilos:e,siteTechDataSilos:t,organizationName:n})=>{[...e,...t].forEach(e=>{let t=e[`outer-type`]||e.integrationName;b[t]||(b[t]=[]),b[t].push(n),b[t]=[...new Set(b[t])]})});let x=[...new Set(y.map(({adTechDataSilos:e})=>e.map(e=>e[`outer-type`]||e.integrationName)).flat())],S=o([...new Set(y.map(({siteTechDataSilos:e})=>e.map(e=>e[`outer-type`]||e.integrationName)).flat())],x),C={};y.forEach(({adTechDataSilos:e,siteTechDataSilos:t})=>{[...e,...t].forEach(e=>{let t=e[`outer-type`]||e.integrationName,n=e.attributes?.find(e=>e.key===`Found On Domain`);C[t]||(C[t]=[]),C[t].push(...n?.values||[]),C[t]=[...new Set(C[t])]})});let{serviceToTitle:w,serviceToSupportedIntegration:T}=await f(d(_,p),{logger:e}),E=[...x,...S].map(e=>({title:w[e],...T[e]?{integrationName:e}:{integrationName:`promptAPerson`,"outer-type":e},attributes:[{key:`Tech Type`,values:[`Ad Tech`]},{key:`Business Units`,values:o(b[e]||[],v)},{key:`Found On Domain`,values:C[e]||[]}]}));e.log(`Total Services: ${E.length}`),e.log(`Ad Tech Services: ${x.length}`),e.log(`Site Tech Services: ${S.length}`),t(h,{"data-silos":E})}export{p as deriveDataSilosFromDataFlowsCrossInstance};
2
- //# sourceMappingURL=impl-BV9t4j6E.mjs.map
1
+ import{t as e}from"./logger-B-LXIf3U.mjs";import{a as t,r as n}from"./readTranscendYaml-B1FLjET0.mjs";import{t as r}from"./listFiles-B1GqyM33.mjs";import{t as i}from"./done-input-validation-CvwjeRWr.mjs";import{t as a}from"./dataFlowsToDataSilos-Blo6-adp.mjs";import{difference as o}from"lodash-es";import{existsSync as s,lstatSync as c}from"node:fs";import{join as l}from"node:path";import u from"colors";import{buildTranscendGraphQLClient as d,fetchAndIndexCatalogs as f}from"@transcend-io/sdk";async function p({auth:p,dataFlowsYmlFolder:m,output:h,ignoreYmls:g=[],transcendUrl:_}){i(this.process.exit),(!s(m)||!c(m).isDirectory())&&(e.error(u.red(`Folder does not exist: "${m}"`)),this.process.exit(1));let v=g.map(e=>e.split(`.`)[0]),y=r(m).map(e=>{let{"data-flows":t=[]}=n(l(m,e)),{adTechDataSilos:r,siteTechDataSilos:i}=a(t,{serviceToSupportedIntegration:T,serviceToTitle:w});return{adTechDataSilos:r,siteTechDataSilos:i,organizationName:e.split(`.`)[0]}}),b={};y.forEach(({adTechDataSilos:e,siteTechDataSilos:t,organizationName:n})=>{[...e,...t].forEach(e=>{let t=e[`outer-type`]||e.integrationName;b[t]||(b[t]=[]),b[t].push(n),b[t]=[...new Set(b[t])]})});let x=[...new Set(y.map(({adTechDataSilos:e})=>e.map(e=>e[`outer-type`]||e.integrationName)).flat())],S=o([...new Set(y.map(({siteTechDataSilos:e})=>e.map(e=>e[`outer-type`]||e.integrationName)).flat())],x),C={};y.forEach(({adTechDataSilos:e,siteTechDataSilos:t})=>{[...e,...t].forEach(e=>{let t=e[`outer-type`]||e.integrationName,n=e.attributes?.find(e=>e.key===`Found On Domain`);C[t]||(C[t]=[]),C[t].push(...n?.values||[]),C[t]=[...new Set(C[t])]})});let{serviceToTitle:w,serviceToSupportedIntegration:T}=await f(d(_,p),{logger:e}),E=[...x,...S].map(e=>({title:w[e],...T[e]?{integrationName:e}:{integrationName:`promptAPerson`,"outer-type":e},attributes:[{key:`Tech Type`,values:[`Ad Tech`]},{key:`Business Units`,values:o(b[e]||[],v)},{key:`Found On Domain`,values:C[e]||[]}]}));e.log(`Total Services: ${E.length}`),e.log(`Ad Tech Services: ${x.length}`),e.log(`Site Tech Services: ${S.length}`),t(h,{"data-silos":E})}export{p as deriveDataSilosFromDataFlowsCrossInstance};
2
+ //# sourceMappingURL=impl-spb5yfh5.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl-BV9t4j6E.mjs","names":[],"sources":["../src/commands/inventory/derive-data-silos-from-data-flows-cross-instance/impl.ts"],"sourcesContent":["import { existsSync, lstatSync } from 'node:fs';\nimport { join } from 'node:path';\n\nimport { buildTranscendGraphQLClient, fetchAndIndexCatalogs } from '@transcend-io/sdk';\nimport colors from 'colors';\nimport { difference } from 'lodash-es';\n\nimport { DataFlowInput } from '../../../codecs.js';\nimport type { LocalContext } from '../../../context.js';\nimport { listFiles } from '../../../lib/api-keys/index.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { dataFlowsToDataSilos } from '../../../lib/consent-manager/dataFlowsToDataSilos.js';\nimport { readTranscendYaml, writeTranscendYaml } from '../../../lib/readTranscendYaml.js';\nimport { logger } from '../../../logger.js';\n\nexport interface DeriveDataSilosFromDataFlowsCrossInstanceCommandFlags {\n auth: string;\n dataFlowsYmlFolder: string;\n output: string;\n ignoreYmls?: string[];\n transcendUrl: string;\n}\n\nexport async function deriveDataSilosFromDataFlowsCrossInstance(\n this: LocalContext,\n {\n auth,\n dataFlowsYmlFolder,\n output,\n ignoreYmls = [],\n transcendUrl,\n }: DeriveDataSilosFromDataFlowsCrossInstanceCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n // Ensure folder is passed\n if (!existsSync(dataFlowsYmlFolder) || !lstatSync(dataFlowsYmlFolder).isDirectory()) {\n logger.error(colors.red(`Folder does not exist: \"${dataFlowsYmlFolder}\"`));\n this.process.exit(1);\n }\n\n // Ignore the data flows in these yml files\n const instancesToIgnore = ignoreYmls.map((x) => x.split('.')[0]);\n\n // Map over each data flow yml file and convert to data silo configurations\n const dataSiloInputs = listFiles(dataFlowsYmlFolder).map((directory) => {\n // read in the data flows for a specific instance\n const { 'data-flows': dataFlows = [] } = readTranscendYaml(join(dataFlowsYmlFolder, directory));\n\n // map the data flows to data silos\n const { adTechDataSilos, siteTechDataSilos } = dataFlowsToDataSilos(\n dataFlows as DataFlowInput[],\n {\n serviceToSupportedIntegration,\n serviceToTitle,\n },\n );\n\n return {\n adTechDataSilos,\n siteTechDataSilos,\n organizationName: directory.split('.')[0],\n };\n });\n\n // Mapping from service name to instances that have that service\n const serviceToInstance: { [k in string]: string[] } = {};\n dataSiloInputs.forEach(({ adTechDataSilos, siteTechDataSilos, organizationName }) => {\n const allDataSilos = [...adTechDataSilos, ...siteTechDataSilos];\n allDataSilos.forEach((dataSilo) => {\n const service = dataSilo['outer-type'] || dataSilo.integrationName;\n // create mapping to instance\n if (!serviceToInstance[service]) {\n serviceToInstance[service] = [];\n }\n serviceToInstance[service]!.push(organizationName);\n serviceToInstance[service] = [...new Set(serviceToInstance[service])];\n });\n });\n\n // List of ad tech integrations\n const adTechIntegrations = [\n ...new Set(\n dataSiloInputs\n .map(({ adTechDataSilos }) =>\n adTechDataSilos.map((silo) => silo['outer-type'] || silo.integrationName),\n )\n .flat(),\n ),\n ];\n\n // List of site tech integrations\n const siteTechIntegrations = difference(\n [\n ...new Set(\n dataSiloInputs\n .map(({ siteTechDataSilos }) =>\n siteTechDataSilos.map((silo) => silo['outer-type'] || silo.integrationName),\n )\n .flat(),\n ),\n ],\n adTechIntegrations,\n );\n\n // Mapping from service name to list of\n const serviceToFoundOnDomain: { [k in string]: string[] } = {};\n dataSiloInputs.forEach(({ adTechDataSilos, siteTechDataSilos }) => {\n const allDataSilos = [...adTechDataSilos, ...siteTechDataSilos];\n allDataSilos.forEach((dataSilo) => {\n const service = dataSilo['outer-type'] || dataSilo.integrationName;\n const foundOnDomain = dataSilo.attributes?.find((attr) => attr.key === 'Found On Domain');\n // create mapping to instance\n if (!serviceToFoundOnDomain[service]) {\n serviceToFoundOnDomain[service] = [];\n }\n serviceToFoundOnDomain[service]!.push(...(foundOnDomain?.values || []));\n serviceToFoundOnDomain[service] = [...new Set(serviceToFoundOnDomain[service])];\n });\n });\n\n // Fetch all integrations in the catalog\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n const { serviceToTitle, serviceToSupportedIntegration } = await fetchAndIndexCatalogs(client, {\n logger,\n });\n\n // construct the aggregated data silo inputs\n const dataSilos = [...adTechIntegrations, ...siteTechIntegrations].map((service) => ({\n title: serviceToTitle[service],\n ...(serviceToSupportedIntegration[service]\n ? { integrationName: service }\n : { integrationName: 'promptAPerson', 'outer-type': service }),\n attributes: [\n {\n key: 'Tech Type',\n values: ['Ad Tech'],\n },\n {\n key: 'Business Units',\n values: difference(serviceToInstance[service] || [], instancesToIgnore),\n },\n {\n key: 'Found On Domain',\n values: serviceToFoundOnDomain[service] || [],\n },\n ],\n }));\n\n // Log output\n logger.log(`Total Services: ${dataSilos.length}`);\n logger.log(`Ad Tech Services: ${adTechIntegrations.length}`);\n logger.log(`Site Tech Services: ${siteTechIntegrations.length}`);\n\n // Write to yaml\n writeTranscendYaml(output, {\n 'data-silos': dataSilos,\n });\n}\n"],"mappings":"ifAuBA,eAAsB,EAEpB,CACE,OACA,qBACA,SACA,aAAa,EAAE,CACf,gBAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,EAGlC,CAAC,EAAW,EAAmB,EAAI,CAAC,EAAU,EAAmB,CAAC,aAAa,IACjF,EAAO,MAAM,EAAO,IAAI,2BAA2B,EAAmB,GAAG,CAAC,CAC1E,KAAK,QAAQ,KAAK,EAAE,EAItB,IAAM,EAAoB,EAAW,IAAK,GAAM,EAAE,MAAM,IAAI,CAAC,GAAG,CAG1D,EAAiB,EAAU,EAAmB,CAAC,IAAK,GAAc,CAEtE,GAAM,CAAE,aAAc,EAAY,EAAE,EAAK,EAAkB,EAAK,EAAoB,EAAU,CAAC,CAGzF,CAAE,kBAAiB,qBAAsB,EAC7C,EACA,CACE,gCACA,iBACD,CACF,CAED,MAAO,CACL,kBACA,oBACA,iBAAkB,EAAU,MAAM,IAAI,CAAC,GACxC,EACD,CAGI,EAAiD,EAAE,CACzD,EAAe,SAAS,CAAE,kBAAiB,oBAAmB,sBAAuB,CAEnF,CADsB,GAAG,EAAiB,GAAG,EACjC,CAAC,QAAS,GAAa,CACjC,IAAM,EAAU,EAAS,eAAiB,EAAS,gBAE9C,EAAkB,KACrB,EAAkB,GAAW,EAAE,EAEjC,EAAkB,GAAU,KAAK,EAAiB,CAClD,EAAkB,GAAW,CAAC,GAAG,IAAI,IAAI,EAAkB,GAAS,CAAC,EACrE,EACF,CAGF,IAAM,EAAqB,CACzB,GAAG,IAAI,IACL,EACG,KAAK,CAAE,qBACN,EAAgB,IAAK,GAAS,EAAK,eAAiB,EAAK,gBAAgB,CAC1E,CACA,MAAM,CACV,CACF,CAGK,EAAuB,EAC3B,CACE,GAAG,IAAI,IACL,EACG,KAAK,CAAE,uBACN,EAAkB,IAAK,GAAS,EAAK,eAAiB,EAAK,gBAAgB,CAC5E,CACA,MAAM,CACV,CACF,CACD,EACD,CAGK,EAAsD,EAAE,CAC9D,EAAe,SAAS,CAAE,kBAAiB,uBAAwB,CAEjE,CADsB,GAAG,EAAiB,GAAG,EACjC,CAAC,QAAS,GAAa,CACjC,IAAM,EAAU,EAAS,eAAiB,EAAS,gBAC7C,EAAgB,EAAS,YAAY,KAAM,GAAS,EAAK,MAAQ,kBAAkB,CAEpF,EAAuB,KAC1B,EAAuB,GAAW,EAAE,EAEtC,EAAuB,GAAU,KAAK,GAAI,GAAe,QAAU,EAAE,CAAE,CACvE,EAAuB,GAAW,CAAC,GAAG,IAAI,IAAI,EAAuB,GAAS,CAAC,EAC/E,EACF,CAIF,GAAM,CAAE,iBAAgB,iCAAkC,MAAM,EADjD,EAA4B,EAAc,EACmC,CAAE,CAC5F,SACD,CAAC,CAGI,EAAY,CAAC,GAAG,EAAoB,GAAG,EAAqB,CAAC,IAAK,IAAa,CACnF,MAAO,EAAe,GACtB,GAAI,EAA8B,GAC9B,CAAE,gBAAiB,EAAS,CAC5B,CAAE,gBAAiB,gBAAiB,aAAc,EAAS,CAC/D,WAAY,CACV,CACE,IAAK,YACL,OAAQ,CAAC,UAAU,CACpB,CACD,CACE,IAAK,iBACL,OAAQ,EAAW,EAAkB,IAAY,EAAE,CAAE,EAAkB,CACxE,CACD,CACE,IAAK,kBACL,OAAQ,EAAuB,IAAY,EAAE,CAC9C,CACF,CACF,EAAE,CAGH,EAAO,IAAI,mBAAmB,EAAU,SAAS,CACjD,EAAO,IAAI,qBAAqB,EAAmB,SAAS,CAC5D,EAAO,IAAI,uBAAuB,EAAqB,SAAS,CAGhE,EAAmB,EAAQ,CACzB,aAAc,EACf,CAAC"}
1
+ {"version":3,"file":"impl-spb5yfh5.mjs","names":[],"sources":["../src/commands/inventory/derive-data-silos-from-data-flows-cross-instance/impl.ts"],"sourcesContent":["import { existsSync, lstatSync } from 'node:fs';\nimport { join } from 'node:path';\n\nimport { buildTranscendGraphQLClient, fetchAndIndexCatalogs } from '@transcend-io/sdk';\nimport colors from 'colors';\nimport { difference } from 'lodash-es';\n\nimport { DataFlowInput } from '../../../codecs.js';\nimport type { LocalContext } from '../../../context.js';\nimport { listFiles } from '../../../lib/api-keys/index.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { dataFlowsToDataSilos } from '../../../lib/consent-manager/dataFlowsToDataSilos.js';\nimport { readTranscendYaml, writeTranscendYaml } from '../../../lib/readTranscendYaml.js';\nimport { logger } from '../../../logger.js';\n\nexport interface DeriveDataSilosFromDataFlowsCrossInstanceCommandFlags {\n auth: string;\n dataFlowsYmlFolder: string;\n output: string;\n ignoreYmls?: string[];\n transcendUrl: string;\n}\n\nexport async function deriveDataSilosFromDataFlowsCrossInstance(\n this: LocalContext,\n {\n auth,\n dataFlowsYmlFolder,\n output,\n ignoreYmls = [],\n transcendUrl,\n }: DeriveDataSilosFromDataFlowsCrossInstanceCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n // Ensure folder is passed\n if (!existsSync(dataFlowsYmlFolder) || !lstatSync(dataFlowsYmlFolder).isDirectory()) {\n logger.error(colors.red(`Folder does not exist: \"${dataFlowsYmlFolder}\"`));\n this.process.exit(1);\n }\n\n // Ignore the data flows in these yml files\n const instancesToIgnore = ignoreYmls.map((x) => x.split('.')[0]);\n\n // Map over each data flow yml file and convert to data silo configurations\n const dataSiloInputs = listFiles(dataFlowsYmlFolder).map((directory) => {\n // read in the data flows for a specific instance\n const { 'data-flows': dataFlows = [] } = readTranscendYaml(join(dataFlowsYmlFolder, directory));\n\n // map the data flows to data silos\n const { adTechDataSilos, siteTechDataSilos } = dataFlowsToDataSilos(\n dataFlows as DataFlowInput[],\n {\n serviceToSupportedIntegration,\n serviceToTitle,\n },\n );\n\n return {\n adTechDataSilos,\n siteTechDataSilos,\n organizationName: directory.split('.')[0],\n };\n });\n\n // Mapping from service name to instances that have that service\n const serviceToInstance: { [k in string]: string[] } = {};\n dataSiloInputs.forEach(({ adTechDataSilos, siteTechDataSilos, organizationName }) => {\n const allDataSilos = [...adTechDataSilos, ...siteTechDataSilos];\n allDataSilos.forEach((dataSilo) => {\n const service = dataSilo['outer-type'] || dataSilo.integrationName;\n // create mapping to instance\n if (!serviceToInstance[service]) {\n serviceToInstance[service] = [];\n }\n serviceToInstance[service]!.push(organizationName);\n serviceToInstance[service] = [...new Set(serviceToInstance[service])];\n });\n });\n\n // List of ad tech integrations\n const adTechIntegrations = [\n ...new Set(\n dataSiloInputs\n .map(({ adTechDataSilos }) =>\n adTechDataSilos.map((silo) => silo['outer-type'] || silo.integrationName),\n )\n .flat(),\n ),\n ];\n\n // List of site tech integrations\n const siteTechIntegrations = difference(\n [\n ...new Set(\n dataSiloInputs\n .map(({ siteTechDataSilos }) =>\n siteTechDataSilos.map((silo) => silo['outer-type'] || silo.integrationName),\n )\n .flat(),\n ),\n ],\n adTechIntegrations,\n );\n\n // Mapping from service name to list of\n const serviceToFoundOnDomain: { [k in string]: string[] } = {};\n dataSiloInputs.forEach(({ adTechDataSilos, siteTechDataSilos }) => {\n const allDataSilos = [...adTechDataSilos, ...siteTechDataSilos];\n allDataSilos.forEach((dataSilo) => {\n const service = dataSilo['outer-type'] || dataSilo.integrationName;\n const foundOnDomain = dataSilo.attributes?.find((attr) => attr.key === 'Found On Domain');\n // create mapping to instance\n if (!serviceToFoundOnDomain[service]) {\n serviceToFoundOnDomain[service] = [];\n }\n serviceToFoundOnDomain[service]!.push(...(foundOnDomain?.values || []));\n serviceToFoundOnDomain[service] = [...new Set(serviceToFoundOnDomain[service])];\n });\n });\n\n // Fetch all integrations in the catalog\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n const { serviceToTitle, serviceToSupportedIntegration } = await fetchAndIndexCatalogs(client, {\n logger,\n });\n\n // construct the aggregated data silo inputs\n const dataSilos = [...adTechIntegrations, ...siteTechIntegrations].map((service) => ({\n title: serviceToTitle[service],\n ...(serviceToSupportedIntegration[service]\n ? { integrationName: service }\n : { integrationName: 'promptAPerson', 'outer-type': service }),\n attributes: [\n {\n key: 'Tech Type',\n values: ['Ad Tech'],\n },\n {\n key: 'Business Units',\n values: difference(serviceToInstance[service] || [], instancesToIgnore),\n },\n {\n key: 'Found On Domain',\n values: serviceToFoundOnDomain[service] || [],\n },\n ],\n }));\n\n // Log output\n logger.log(`Total Services: ${dataSilos.length}`);\n logger.log(`Ad Tech Services: ${adTechIntegrations.length}`);\n logger.log(`Site Tech Services: ${siteTechIntegrations.length}`);\n\n // Write to yaml\n writeTranscendYaml(output, {\n 'data-silos': dataSilos,\n });\n}\n"],"mappings":"ifAuBA,eAAsB,EAEpB,CACE,OACA,qBACA,SACA,aAAa,EAAE,CACf,gBAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,EAGlC,CAAC,EAAW,EAAmB,EAAI,CAAC,EAAU,EAAmB,CAAC,aAAa,IACjF,EAAO,MAAM,EAAO,IAAI,2BAA2B,EAAmB,GAAG,CAAC,CAC1E,KAAK,QAAQ,KAAK,EAAE,EAItB,IAAM,EAAoB,EAAW,IAAK,GAAM,EAAE,MAAM,IAAI,CAAC,GAAG,CAG1D,EAAiB,EAAU,EAAmB,CAAC,IAAK,GAAc,CAEtE,GAAM,CAAE,aAAc,EAAY,EAAE,EAAK,EAAkB,EAAK,EAAoB,EAAU,CAAC,CAGzF,CAAE,kBAAiB,qBAAsB,EAC7C,EACA,CACE,gCACA,iBACD,CACF,CAED,MAAO,CACL,kBACA,oBACA,iBAAkB,EAAU,MAAM,IAAI,CAAC,GACxC,EACD,CAGI,EAAiD,EAAE,CACzD,EAAe,SAAS,CAAE,kBAAiB,oBAAmB,sBAAuB,CAEnF,CADsB,GAAG,EAAiB,GAAG,EACjC,CAAC,QAAS,GAAa,CACjC,IAAM,EAAU,EAAS,eAAiB,EAAS,gBAE9C,EAAkB,KACrB,EAAkB,GAAW,EAAE,EAEjC,EAAkB,GAAU,KAAK,EAAiB,CAClD,EAAkB,GAAW,CAAC,GAAG,IAAI,IAAI,EAAkB,GAAS,CAAC,EACrE,EACF,CAGF,IAAM,EAAqB,CACzB,GAAG,IAAI,IACL,EACG,KAAK,CAAE,qBACN,EAAgB,IAAK,GAAS,EAAK,eAAiB,EAAK,gBAAgB,CAC1E,CACA,MAAM,CACV,CACF,CAGK,EAAuB,EAC3B,CACE,GAAG,IAAI,IACL,EACG,KAAK,CAAE,uBACN,EAAkB,IAAK,GAAS,EAAK,eAAiB,EAAK,gBAAgB,CAC5E,CACA,MAAM,CACV,CACF,CACD,EACD,CAGK,EAAsD,EAAE,CAC9D,EAAe,SAAS,CAAE,kBAAiB,uBAAwB,CAEjE,CADsB,GAAG,EAAiB,GAAG,EACjC,CAAC,QAAS,GAAa,CACjC,IAAM,EAAU,EAAS,eAAiB,EAAS,gBAC7C,EAAgB,EAAS,YAAY,KAAM,GAAS,EAAK,MAAQ,kBAAkB,CAEpF,EAAuB,KAC1B,EAAuB,GAAW,EAAE,EAEtC,EAAuB,GAAU,KAAK,GAAI,GAAe,QAAU,EAAE,CAAE,CACvE,EAAuB,GAAW,CAAC,GAAG,IAAI,IAAI,EAAuB,GAAS,CAAC,EAC/E,EACF,CAIF,GAAM,CAAE,iBAAgB,iCAAkC,MAAM,EADjD,EAA4B,EAAc,EACmC,CAAE,CAC5F,SACD,CAAC,CAGI,EAAY,CAAC,GAAG,EAAoB,GAAG,EAAqB,CAAC,IAAK,IAAa,CACnF,MAAO,EAAe,GACtB,GAAI,EAA8B,GAC9B,CAAE,gBAAiB,EAAS,CAC5B,CAAE,gBAAiB,gBAAiB,aAAc,EAAS,CAC/D,WAAY,CACV,CACE,IAAK,YACL,OAAQ,CAAC,UAAU,CACpB,CACD,CACE,IAAK,iBACL,OAAQ,EAAW,EAAkB,IAAY,EAAE,CAAE,EAAkB,CACxE,CACD,CACE,IAAK,kBACL,OAAQ,EAAuB,IAAY,EAAE,CAC9C,CACF,CACF,EAAE,CAGH,EAAO,IAAI,mBAAmB,EAAU,SAAS,CACjD,EAAO,IAAI,qBAAqB,EAAmB,SAAS,CAC5D,EAAO,IAAI,uBAAuB,EAAqB,SAAS,CAGhE,EAAmB,EAAQ,CACzB,aAAc,EACf,CAAC"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"./skipPreflightJobs-DaFjvih9.mjs";import{t}from"./done-input-validation-CvwjeRWr.mjs";async function n({auth:n,transcendUrl:r,enricherIds:i}){t(this.process.exit),await e({transcendUrl:r,auth:n,enricherIds:i})}export{n as skipPreflightJobs};
2
- //# sourceMappingURL=impl-ChV4laNE.mjs.map
1
+ import{t as e}from"./skipPreflightJobs-C5CAhy9W.mjs";import{t}from"./done-input-validation-CvwjeRWr.mjs";async function n({auth:n,transcendUrl:r,enricherIds:i}){t(this.process.exit),await e({transcendUrl:r,auth:n,enricherIds:i})}export{n as skipPreflightJobs};
2
+ //# sourceMappingURL=impl-toPEtoCY.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl-ChV4laNE.mjs","names":["skipPreflightJobsHelper"],"sources":["../src/commands/request/skip-preflight-jobs/impl.ts"],"sourcesContent":["import type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { skipPreflightJobs as skipPreflightJobsHelper } from '../../../lib/requests/index.js';\n\nexport interface SkipPreflightJobsCommandFlags {\n auth: string;\n enricherIds: string[];\n transcendUrl: string;\n}\n\nexport async function skipPreflightJobs(\n this: LocalContext,\n { auth, transcendUrl, enricherIds }: SkipPreflightJobsCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await skipPreflightJobsHelper({\n transcendUrl,\n auth,\n enricherIds,\n });\n}\n"],"mappings":"yGAUA,eAAsB,EAEpB,CAAE,OAAM,eAAc,eACP,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAMA,EAAwB,CAC5B,eACA,OACA,cACD,CAAC"}
1
+ {"version":3,"file":"impl-toPEtoCY.mjs","names":["skipPreflightJobsHelper"],"sources":["../src/commands/request/skip-preflight-jobs/impl.ts"],"sourcesContent":["import type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { skipPreflightJobs as skipPreflightJobsHelper } from '../../../lib/requests/index.js';\n\nexport interface SkipPreflightJobsCommandFlags {\n auth: string;\n enricherIds: string[];\n transcendUrl: string;\n}\n\nexport async function skipPreflightJobs(\n this: LocalContext,\n { auth, transcendUrl, enricherIds }: SkipPreflightJobsCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await skipPreflightJobsHelper({\n transcendUrl,\n auth,\n enricherIds,\n });\n}\n"],"mappings":"yGAUA,eAAsB,EAEpB,CAAE,OAAM,eAAc,eACP,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAMA,EAAwB,CAC5B,eACA,OACA,cACD,CAAC"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"./cancelPrivacyRequests-B4IzmRWC.mjs";import{t}from"./done-input-validation-CvwjeRWr.mjs";async function n({auth:n,actions:r,statuses:i=[],requestIds:a,silentModeBefore:o,createdAtBefore:s,createdAtAfter:c,updatedAtBefore:l,updatedAtAfter:u,cancellationTitle:d,transcendUrl:f,concurrency:p}){t(this.process.exit),await e({transcendUrl:f,requestActions:r,auth:n,cancellationTitle:d,requestIds:a,statuses:i,concurrency:p,silentModeBefore:o?new Date(o):void 0,createdAtBefore:s?new Date(s):void 0,createdAtAfter:c?new Date(c):void 0,updatedAtBefore:l?new Date(l):void 0,updatedAtAfter:u?new Date(u):void 0})}export{n as cancel};
2
- //# sourceMappingURL=impl-CSMzpKv5.mjs.map
1
+ import{t as e}from"./cancelPrivacyRequests-HT5NvgGF.mjs";import{t}from"./done-input-validation-CvwjeRWr.mjs";async function n({auth:n,actions:r,statuses:i=[],requestIds:a,silentModeBefore:o,createdAtBefore:s,createdAtAfter:c,updatedAtBefore:l,updatedAtAfter:u,cancellationTitle:d,transcendUrl:f,concurrency:p}){t(this.process.exit),await e({transcendUrl:f,requestActions:r,auth:n,cancellationTitle:d,requestIds:a,statuses:i,concurrency:p,silentModeBefore:o?new Date(o):void 0,createdAtBefore:s?new Date(s):void 0,createdAtAfter:c?new Date(c):void 0,updatedAtBefore:l?new Date(l):void 0,updatedAtAfter:u?new Date(u):void 0})}export{n as cancel};
2
+ //# sourceMappingURL=impl-ukQtDFFF.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl-CSMzpKv5.mjs","names":[],"sources":["../src/commands/request/cancel/impl.ts"],"sourcesContent":["import { RequestAction, RequestStatus } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { cancelPrivacyRequests } from '../../../lib/requests/index.js';\n\nexport interface CancelCommandFlags {\n auth: string;\n actions: RequestAction[];\n statuses?: RequestStatus[];\n requestIds?: string[];\n silentModeBefore?: Date;\n createdAtBefore?: Date;\n createdAtAfter?: Date;\n updatedAtBefore?: Date;\n updatedAtAfter?: Date;\n cancellationTitle: string;\n transcendUrl: string;\n concurrency: number;\n}\n\nexport async function cancel(\n this: LocalContext,\n {\n auth,\n actions,\n statuses = [],\n requestIds,\n silentModeBefore,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n cancellationTitle,\n transcendUrl,\n concurrency,\n }: CancelCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await cancelPrivacyRequests({\n transcendUrl,\n requestActions: actions,\n auth,\n cancellationTitle,\n requestIds,\n statuses,\n concurrency,\n silentModeBefore: silentModeBefore ? new Date(silentModeBefore) : undefined,\n createdAtBefore: createdAtBefore ? new Date(createdAtBefore) : undefined,\n createdAtAfter: createdAtAfter ? new Date(createdAtAfter) : undefined,\n updatedAtBefore: updatedAtBefore ? new Date(updatedAtBefore) : undefined,\n updatedAtAfter: updatedAtAfter ? new Date(updatedAtAfter) : undefined,\n });\n}\n"],"mappings":"6GAqBA,eAAsB,EAEpB,CACE,OACA,UACA,WAAW,EAAE,CACb,aACA,mBACA,kBACA,iBACA,kBACA,iBACA,oBACA,eACA,eAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAAsB,CAC1B,eACA,eAAgB,EAChB,OACA,oBACA,aACA,WACA,cACA,iBAAkB,EAAmB,IAAI,KAAK,EAAiB,CAAG,IAAA,GAClE,gBAAiB,EAAkB,IAAI,KAAK,EAAgB,CAAG,IAAA,GAC/D,eAAgB,EAAiB,IAAI,KAAK,EAAe,CAAG,IAAA,GAC5D,gBAAiB,EAAkB,IAAI,KAAK,EAAgB,CAAG,IAAA,GAC/D,eAAgB,EAAiB,IAAI,KAAK,EAAe,CAAG,IAAA,GAC7D,CAAC"}
1
+ {"version":3,"file":"impl-ukQtDFFF.mjs","names":[],"sources":["../src/commands/request/cancel/impl.ts"],"sourcesContent":["import { RequestAction, RequestStatus } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { cancelPrivacyRequests } from '../../../lib/requests/index.js';\n\nexport interface CancelCommandFlags {\n auth: string;\n actions: RequestAction[];\n statuses?: RequestStatus[];\n requestIds?: string[];\n silentModeBefore?: Date;\n createdAtBefore?: Date;\n createdAtAfter?: Date;\n updatedAtBefore?: Date;\n updatedAtAfter?: Date;\n cancellationTitle: string;\n transcendUrl: string;\n concurrency: number;\n}\n\nexport async function cancel(\n this: LocalContext,\n {\n auth,\n actions,\n statuses = [],\n requestIds,\n silentModeBefore,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n cancellationTitle,\n transcendUrl,\n concurrency,\n }: CancelCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await cancelPrivacyRequests({\n transcendUrl,\n requestActions: actions,\n auth,\n cancellationTitle,\n requestIds,\n statuses,\n concurrency,\n silentModeBefore: silentModeBefore ? new Date(silentModeBefore) : undefined,\n createdAtBefore: createdAtBefore ? new Date(createdAtBefore) : undefined,\n createdAtAfter: createdAtAfter ? new Date(createdAtAfter) : undefined,\n updatedAtBefore: updatedAtBefore ? new Date(updatedAtBefore) : undefined,\n updatedAtAfter: updatedAtAfter ? new Date(updatedAtAfter) : undefined,\n });\n}\n"],"mappings":"6GAqBA,eAAsB,EAEpB,CACE,OACA,UACA,WAAW,EAAE,CACb,aACA,mBACA,kBACA,iBACA,kBACA,iBACA,oBACA,eACA,eAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAAsB,CAC1B,eACA,eAAgB,EAChB,OACA,oBACA,aACA,WACA,cACA,iBAAkB,EAAmB,IAAI,KAAK,EAAiB,CAAG,IAAA,GAClE,gBAAiB,EAAkB,IAAI,KAAK,EAAgB,CAAG,IAAA,GAC/D,eAAgB,EAAiB,IAAI,KAAK,EAAe,CAAG,IAAA,GAC5D,gBAAiB,EAAkB,IAAI,KAAK,EAAgB,CAAG,IAAA,GAC/D,eAAgB,EAAiB,IAAI,KAAK,EAAe,CAAG,IAAA,GAC7D,CAAC"}
package/dist/index.d.mts CHANGED
@@ -57759,7 +57759,16 @@ type PrivacyCenterInput = t.TypeOf<typeof PrivacyCenterInput>;
57759
57759
  declare const PolicyInput: t.IntersectionC<[t.TypeC<{
57760
57760
  /** The title of the policy */title: t.StringC;
57761
57761
  }>, t.PartialC<{
57762
- /** Effective date of policy */effectiveOn: t.StringC; /** Whether or not to disable the effective date */
57762
+ /**
57763
+ * Policy type. On create, defaults from title
57764
+ * (Privacy Policy / Cookie Policy / CUSTOM).
57765
+ */
57766
+ type: t.KeyofC<{
57767
+ PRIVACY_POLICY: unknown;
57768
+ COOKIE_POLICY: unknown;
57769
+ CUSTOM: unknown;
57770
+ }>; /** Effective date of policy */
57771
+ effectiveOn: t.StringC; /** Whether or not to disable the effective date */
57763
57772
  disableEffectiveOn: t.BooleanC; /** Content of the policy */
57764
57773
  content: t.StringC; /** The languages for which the policy is disabled for */
57765
57774
  disabledLocales: t.ArrayC<t.KeyofC<{
@@ -64090,8 +64099,8 @@ declare const AssessmentSectionQuestionInput: t.IntersectionC<[t.TypeC<{
64090
64099
  }>;
64091
64100
  }>, t.PartialC<{
64092
64101
  /** The sub-type of the assessment question */'sub-type': t.KeyofC<{
64093
- NONE: unknown;
64094
64102
  CUSTOM: unknown;
64103
+ NONE: unknown;
64095
64104
  USER: unknown;
64096
64105
  TEAM: unknown;
64097
64106
  DATA_SUB_CATEGORY: unknown;
@@ -64286,8 +64295,8 @@ declare const AssessmentSectionInput: t.IntersectionC<[t.TypeC<{
64286
64295
  }>;
64287
64296
  }>, t.PartialC<{
64288
64297
  /** The sub-type of the assessment question */'sub-type': t.KeyofC<{
64289
- NONE: unknown;
64290
64298
  CUSTOM: unknown;
64299
+ NONE: unknown;
64291
64300
  USER: unknown;
64292
64301
  TEAM: unknown;
64293
64302
  DATA_SUB_CATEGORY: unknown;
@@ -64505,8 +64514,8 @@ declare const AssessmentTemplateInput: t.IntersectionC<[t.TypeC<{
64505
64514
  }>;
64506
64515
  }>, t.PartialC<{
64507
64516
  /** The sub-type of the assessment question */'sub-type': t.KeyofC<{
64508
- NONE: unknown;
64509
64517
  CUSTOM: unknown;
64518
+ NONE: unknown;
64510
64519
  USER: unknown;
64511
64520
  TEAM: unknown;
64512
64521
  DATA_SUB_CATEGORY: unknown;
@@ -64775,8 +64784,8 @@ declare const AssessmentInput: t.IntersectionC<[t.TypeC<{
64775
64784
  }>;
64776
64785
  }>, t.PartialC<{
64777
64786
  /** The sub-type of the assessment question */'sub-type': t.KeyofC<{
64778
- NONE: unknown;
64779
64787
  CUSTOM: unknown;
64788
+ NONE: unknown;
64780
64789
  USER: unknown;
64781
64790
  TEAM: unknown;
64782
64791
  DATA_SUB_CATEGORY: unknown;
@@ -65140,6 +65149,69 @@ declare const ConsentPurpose: t.IntersectionC<[t.TypeC<{
65140
65149
  }>]>;
65141
65150
  /** Type override */
65142
65151
  type ConsentPurpose = t.TypeOf<typeof ConsentPurpose>;
65152
+ /**
65153
+ * Input for a purpose associated with a preference workflow config
65154
+ */
65155
+ declare const PreferenceWorkflowConfigPurposeInput: t.TypeC<{
65156
+ /** The tracking type slug of the purpose */'tracking-type': t.StringC; /** The matching consent state for the purpose */
65157
+ 'matching-state': t.BooleanC;
65158
+ }>;
65159
+ /** Type override */
65160
+ type PreferenceWorkflowConfigPurposeInput = t.TypeOf<typeof PreferenceWorkflowConfigPurposeInput>;
65161
+ /**
65162
+ * Input to define a preference workflow config.
65163
+ * Purposes are the source of truth; triggerCondition is derived on push
65164
+ * (same as Workflows → Preference Workflows in the admin dashboard).
65165
+ *
65166
+ * Exactly one mode per config:
65167
+ * - Legacy: action-type (+ optional data-silo-titles), no workflow-title
65168
+ * - V2: workflow-title (DSR workflow display title), no action-type / data-silo-titles
65169
+ */
65170
+ declare const PreferenceWorkflowConfigInput: t.IntersectionC<[t.TypeC<{
65171
+ /** The name of the preference workflow config */name: t.StringC;
65172
+ /**
65173
+ * Purposes and their matching consent states.
65174
+ * Used to derive triggerCondition as `{ And: [{ [tracking-type]: matching-state }, ...] }`.
65175
+ */
65176
+ purposes: t.ArrayC<t.TypeC<{
65177
+ /** The tracking type slug of the purpose */'tracking-type': t.StringC; /** The matching consent state for the purpose */
65178
+ 'matching-state': t.BooleanC;
65179
+ }>>;
65180
+ }>, t.PartialC<{
65181
+ /**
65182
+ * DSR workflow display title (internalName when set, else external title).
65183
+ * Workflows V2 mode — mutually exclusive with action-type / data-silo-titles.
65184
+ */
65185
+ 'workflow-title': t.StringC; /** The action type (e.g. ERASURE, ACCESS). Legacy mode; required when creating without workflow-title. */
65186
+ 'action-type': t.KeyofC<{
65187
+ AUTOMATED_DECISION_MAKING_OPT_OUT: unknown;
65188
+ USE_OF_SENSITIVE_INFORMATION_OPT_OUT: unknown;
65189
+ CONTACT_OPT_OUT: unknown;
65190
+ SALE_OPT_OUT: unknown;
65191
+ TRACKING_OPT_OUT: unknown;
65192
+ CUSTOM_OPT_OUT: unknown;
65193
+ AUTOMATED_DECISION_MAKING_OPT_IN: unknown;
65194
+ USE_OF_SENSITIVE_INFORMATION_OPT_IN: unknown;
65195
+ SALE_OPT_IN: unknown;
65196
+ TRACKING_OPT_IN: unknown;
65197
+ CONTACT_OPT_IN: unknown;
65198
+ CUSTOM_OPT_IN: unknown;
65199
+ ACCESS: unknown;
65200
+ ERASURE: unknown;
65201
+ RECTIFICATION: unknown;
65202
+ RESTRICTION: unknown;
65203
+ BUSINESS_PURPOSE: unknown;
65204
+ PLACE_ON_LEGAL_HOLD: unknown;
65205
+ REMOVE_FROM_LEGAL_HOLD: unknown;
65206
+ }>; /** The data subject type slug (e.g. customer) */
65207
+ 'data-subject-type': t.StringC; /** Whether the config runs silently */
65208
+ 'is-silent': t.BooleanC; /** Whether unauthenticated requests are allowed */
65209
+ 'allow-unauthenticated': t.BooleanC; /** Whether the config is active */
65210
+ 'is-active': t.BooleanC; /** Titles of data silos associated with this config (legacy mode only) */
65211
+ 'data-silo-titles': t.ArrayC<t.StringC>;
65212
+ }>]>;
65213
+ /** Type override */
65214
+ type PreferenceWorkflowConfigInput = t.TypeOf<typeof PreferenceWorkflowConfigInput>;
65143
65215
  /**
65144
65216
  * Input to define a workflow config. Push matches using a cascading key
65145
65217
  * (internal-name → title → action-type → data-subject-type → region-list) and
@@ -121777,7 +121849,16 @@ declare const TranscendInput: t.PartialC<{
121777
121849
  policies: t.ArrayC<t.IntersectionC<[t.TypeC<{
121778
121850
  /** The title of the policy */title: t.StringC;
121779
121851
  }>, t.PartialC<{
121780
- /** Effective date of policy */effectiveOn: t.StringC; /** Whether or not to disable the effective date */
121852
+ /**
121853
+ * Policy type. On create, defaults from title
121854
+ * (Privacy Policy / Cookie Policy / CUSTOM).
121855
+ */
121856
+ type: t.KeyofC<{
121857
+ PRIVACY_POLICY: unknown;
121858
+ COOKIE_POLICY: unknown;
121859
+ CUSTOM: unknown;
121860
+ }>; /** Effective date of policy */
121861
+ effectiveOn: t.StringC; /** Whether or not to disable the effective date */
121781
121862
  disableEffectiveOn: t.BooleanC; /** Content of the policy */
121782
121863
  content: t.StringC; /** The languages for which the policy is disabled for */
121783
121864
  disabledLocales: t.ArrayC<t.KeyofC<{
@@ -122212,8 +122293,8 @@ declare const TranscendInput: t.PartialC<{
122212
122293
  }>;
122213
122294
  }>, t.PartialC<{
122214
122295
  /** The sub-type of the assessment question */'sub-type': t.KeyofC<{
122215
- NONE: unknown;
122216
122296
  CUSTOM: unknown;
122297
+ NONE: unknown;
122217
122298
  USER: unknown;
122218
122299
  TEAM: unknown;
122219
122300
  DATA_SUB_CATEGORY: unknown;
@@ -122449,8 +122530,8 @@ declare const TranscendInput: t.PartialC<{
122449
122530
  }>;
122450
122531
  }>, t.PartialC<{
122451
122532
  /** The sub-type of the assessment question */'sub-type': t.KeyofC<{
122452
- NONE: unknown;
122453
122533
  CUSTOM: unknown;
122534
+ NONE: unknown;
122454
122535
  USER: unknown;
122455
122536
  TEAM: unknown;
122456
122537
  DATA_SUB_CATEGORY: unknown;
@@ -139072,6 +139153,52 @@ declare const TranscendInput: t.PartialC<{
139072
139153
  plaintextContext: t.StringC; /** The custom title of the data silo results */
139073
139154
  title: t.UnionC<[t.StringC, t.NullC]>;
139074
139155
  }>]>>;
139156
+ /**
139157
+ * Preference workflow config definitions (Workflows → Preference Workflows)
139158
+ */
139159
+ 'preference-workflow-configs': t.ArrayC<t.IntersectionC<[t.TypeC<{
139160
+ /** The name of the preference workflow config */name: t.StringC;
139161
+ /**
139162
+ * Purposes and their matching consent states.
139163
+ * Used to derive triggerCondition as `{ And: [{ [tracking-type]: matching-state }, ...] }`.
139164
+ */
139165
+ purposes: t.ArrayC<t.TypeC<{
139166
+ /** The tracking type slug of the purpose */'tracking-type': t.StringC; /** The matching consent state for the purpose */
139167
+ 'matching-state': t.BooleanC;
139168
+ }>>;
139169
+ }>, t.PartialC<{
139170
+ /**
139171
+ * DSR workflow display title (internalName when set, else external title).
139172
+ * Workflows V2 mode — mutually exclusive with action-type / data-silo-titles.
139173
+ */
139174
+ 'workflow-title': t.StringC; /** The action type (e.g. ERASURE, ACCESS). Legacy mode; required when creating without workflow-title. */
139175
+ 'action-type': t.KeyofC<{
139176
+ AUTOMATED_DECISION_MAKING_OPT_OUT: unknown;
139177
+ USE_OF_SENSITIVE_INFORMATION_OPT_OUT: unknown;
139178
+ CONTACT_OPT_OUT: unknown;
139179
+ SALE_OPT_OUT: unknown;
139180
+ TRACKING_OPT_OUT: unknown;
139181
+ CUSTOM_OPT_OUT: unknown;
139182
+ AUTOMATED_DECISION_MAKING_OPT_IN: unknown;
139183
+ USE_OF_SENSITIVE_INFORMATION_OPT_IN: unknown;
139184
+ SALE_OPT_IN: unknown;
139185
+ TRACKING_OPT_IN: unknown;
139186
+ CONTACT_OPT_IN: unknown;
139187
+ CUSTOM_OPT_IN: unknown;
139188
+ ACCESS: unknown;
139189
+ ERASURE: unknown;
139190
+ RECTIFICATION: unknown;
139191
+ RESTRICTION: unknown;
139192
+ BUSINESS_PURPOSE: unknown;
139193
+ PLACE_ON_LEGAL_HOLD: unknown;
139194
+ REMOVE_FROM_LEGAL_HOLD: unknown;
139195
+ }>; /** The data subject type slug (e.g. customer) */
139196
+ 'data-subject-type': t.StringC; /** Whether the config runs silently */
139197
+ 'is-silent': t.BooleanC; /** Whether unauthenticated requests are allowed */
139198
+ 'allow-unauthenticated': t.BooleanC; /** Whether the config is active */
139199
+ 'is-active': t.BooleanC; /** Titles of data silos associated with this config (legacy mode only) */
139200
+ 'data-silo-titles': t.ArrayC<t.StringC>;
139201
+ }>]>>;
139075
139202
  /**
139076
139203
  * DSR workflow config settings (create or update via cascading match key)
139077
139204
  */
@@ -150165,6 +150292,7 @@ declare enum TranscendPullResource {
150165
150292
  Purposes = "purposes",
150166
150293
  PreferenceOptions = "preferenceOptions",
150167
150294
  SystemDiscovery = "systemDiscovery",
150295
+ PreferenceWorkflowConfigs = "preferenceWorkflowConfigs",
150168
150296
  WorkflowConfigs = "workflowConfigs"
150169
150297
  }
150170
150298
  /**
@@ -175139,5 +175267,5 @@ declare function enrichPrivacyRequest(sombra: Got, {
175139
175267
  ...rest
175140
175268
  }: EnrichPrivacyRequest, enricherId: string, index?: number): Promise<boolean>;
175141
175269
  //#endregion
175142
- export { ADMIN_DASH, ADMIN_DASH_DATAPOINTS, ADMIN_DASH_INTEGRATIONS, AIIntegrationC, APPROVE_PRIVACY_REQUEST, ASSESSMENT_TEMPLATES, ActionInput, ActionItemCollectionInput, ActionItemInput, AgentFileInput, AgentFunctionInput, AgentInput, ApiKeyGenerateError, ApiKeyInput, AssessmentAnswerOptionInput, AssessmentDisplayLogicInput, AssessmentInput, AssessmentNestedRuleInput, AssessmentResourceInput, AssessmentRetentionScheduleInput, AssessmentRuleInput, AssessmentSectionInput, AssessmentSectionQuestionInput, AssessmentTemplate, AssessmentTemplateInput, AttestedExtraIdentifiers, AttributeInput, AttributeNameMap, AttributePreview, AttributeValueInput, BLANK, BULK_APPLY, BusinessEntityInput, CANCEL_PRIVACY_REQUEST, CAN_APPLY_IN_BULK, CachedFileState, CachedRequestState, ChunkedDateRange, CodePackageInput, CodePackageSdk, ColumnName, ColumnNameMap, ConsentManageExperienceInput, ConsentManagerInput, ConsentManagerServiceMetadata, ConsentPreferenceTopic, ConsentPreferenceTopicOptionValue, ConsentPurpose, CookieCsvInput, CookieInput, CronIdentifier, CronIdentifierPush, CronIdentifierWithAction, CronPartition, CsvFormattedIdentifier, CsvRow, DEBUG, DEFAULT_TRANSCEND_API, DEFAULT_TRANSCEND_API_KEY, DEFAULT_TRANSCEND_CONSENT_API, DEFAULT_TRANSCEND_PULL_RESOURCES, DataCategoryGuessInput, DataCategoryInput, DataCategoryPreviewInput, DataCategoryRecommendationInput, DataFlowCsvInput, DataFlowInput, DataPointCsvPreview, DataSiloCsvPreview, DataSiloInput, DataSubjectInput, DatapointFilterOptions, DatapointInput, ENTRY_COUNT, EnabledRouteC, EnabledRoutesC, EnrichPrivacyRequest, EnricherInput, ExportedPrivacyRequest, FieldInput, GetPromptParamType, GetPromptResponseType, IDENTIFIER_BLOCK_LIST, IP_ADDRESS_REGEX, IS_REQUIRED, IdentifierInput, IdentifierNameMap, ImportOnetrustAssessmentsInput, IntlMessage, IntlMessageInput, NONE, NOTIFY_ADDITIONAL_TIME, OneTrustFileFormat, OneTrustPullResource, OneTrustPullSource, OpenAIEnabledRoute, OpenAIEnabledRoutes, OpenAIIntegration, OpenAIRouteName, ParquetToCsvOneFileOptions, ParsedAttributeInput, PartitionInput, PathfinderPolicy, PathfinderPolicyName, PathfinderPolicyNameC, PathfinderPromptRunMetadata, PolicyInput, PrivacyCenterInput, PrivacyRequest, PrivacyRequestInput, PrivacyRequestResponse, PrivacyRequestWithIdentifiers, ProcessingActivityInput, ProcessingPurposeInput, ProcessingPurposePreviewInput, PromptAVendorEmailSettings, PromptGroupInput, PromptInput, PromptPartialInput, PromptRunResult, PurposeMap, REQUESTS, REQUESTS_COUNT, RETRYABLE_BATCH_STATUSES, RegionInput, ReportPromptRunOptions, RepositoryInput, RequestFileMetadata, RequestFileMetadataResponse, RequestPurposeTrigger, RiskAssignmentInput, RiskLogicInput, SCOPES_BY_TITLE, SCOPE_TITLES, SiloDiscoveryResultInput, SoftwareDevelopmentKitInput, StoredApiKey, SubDataPointCsvPreview, SuccessfulRequest, TR_PULL_RESOURCE_SCOPE_MAP, TR_PUSH_RESOURCE_SCOPE_MAP, TR_YML_RESOURCE_TO_FIELD_NAME, TeamInput, TemplateInput, TranscendInput, TranscendPrompt, TranscendPromptManager, TranscendPullConfigurationInput, TranscendPullResource, UPDATE_PRIVACY_REQUEST, USP_STRING_REGEX, VARIABLE_PARAMETERS_NAME, VARIABLE_PARAMETERS_REGEXP, VendorInput, WebhookHeader, WorkflowConfigInput, XdiSyncGroups, appendCsvRowsOrdered, appendCsvSync, approvePrivacyRequests, buildAIIntegrationType, buildEnabledRouteType, buildXdiSyncEndpoint, bulkRestartRequests, bulkRetryEnrichers, cancelPrivacyRequests, collectCsvFilesOrExit, collectParquetFilesOrExit, consentManagersToBusinessEntities, createCodePackage, createConsentToken, createRegexForTag, defineTranscendPrompts, description, domainToHost, downloadPrivacyRequestFiles, enrichPrivacyRequest, ensureAllDataSubjectsExist, extractClientError, fetchAllAssessmentTemplates, fetchAllRequests, fetchRequestDataSiloActiveCount, fetchRequestsTotalCount, filterNullishValuesFromObject, filterRows, formatRequestForCsv, fuzzyMatchColumns, fuzzySearch, generateCrossAccountApiKeys, getFileMetadataForPrivacyRequests, getGitFilesThatChanged, getUniqueValuesForColumn, initCsvFile, inquirerAutoComplete, inquirerConfirmBoolean, inquirerConfirmText, listDirectories, listFiles, mapColumnsToAttributes, mapColumnsToIdentifiers, mapCsvColumnsToApi, mapCsvRowsToRequestInputs, mapEnumValues, mapRequestEnumValues, markCronIdentifierCompleted, markRequestDataSiloIdsCompleted, markSilentPrivacyRequests, mergeTranscendInputs, name, normalizeIdentifierValue, notifyPrivacyRequestsAdditionalTime, parquetToCsvOneFile, parseAttributesFromString, parseFilePath, parseVariablesFromString, pullAllDatapoints, pullChunkedCustomSiloOutstandingIdentifiers, pullConsentManagerMetrics, pullCronPageOfIdentifiers, pullManualEnrichmentIdentifiersToCsv, pullPrivacyRequests, pullTranscendConfiguration, pullUnstructuredSubDataPointRecommendations, pushCronIdentifiersFromCsv, pushManualEnrichmentIdentifiersFromCsv, readCsv, readSafe, readTranscendYaml, removeLinks, removeUnverifiedRequestIdentifiers, replaceVariablesInYaml, restartPrivacyRequest, retryRequestDataSilos, skipPreflightJobs, skipRequestDataSilos, splitDateRange, streamPrivacyRequestFiles, streamPrivacyRequestsToCsv, submitPrivacyRequest, syncCodePackages, syncConfigurationToTranscend, syncCookies, syncDataSilos, updateCodePackages, updateConsentManagerVersionToLatest, updateOrCreateCookies, uploadConsents, uploadCookiesFromCsv, uploadDataFlowsFromCsv, uploadPrivacyRequestsFromCsv, validateTranscendAuth, version, writeCsv, writeCsvSync, writeLargeCsv, writeTranscendYaml };
175270
+ export { ADMIN_DASH, ADMIN_DASH_DATAPOINTS, ADMIN_DASH_INTEGRATIONS, AIIntegrationC, APPROVE_PRIVACY_REQUEST, ASSESSMENT_TEMPLATES, ActionInput, ActionItemCollectionInput, ActionItemInput, AgentFileInput, AgentFunctionInput, AgentInput, ApiKeyGenerateError, ApiKeyInput, AssessmentAnswerOptionInput, AssessmentDisplayLogicInput, AssessmentInput, AssessmentNestedRuleInput, AssessmentResourceInput, AssessmentRetentionScheduleInput, AssessmentRuleInput, AssessmentSectionInput, AssessmentSectionQuestionInput, AssessmentTemplate, AssessmentTemplateInput, AttestedExtraIdentifiers, AttributeInput, AttributeNameMap, AttributePreview, AttributeValueInput, BLANK, BULK_APPLY, BusinessEntityInput, CANCEL_PRIVACY_REQUEST, CAN_APPLY_IN_BULK, CachedFileState, CachedRequestState, ChunkedDateRange, CodePackageInput, CodePackageSdk, ColumnName, ColumnNameMap, ConsentManageExperienceInput, ConsentManagerInput, ConsentManagerServiceMetadata, ConsentPreferenceTopic, ConsentPreferenceTopicOptionValue, ConsentPurpose, CookieCsvInput, CookieInput, CronIdentifier, CronIdentifierPush, CronIdentifierWithAction, CronPartition, CsvFormattedIdentifier, CsvRow, DEBUG, DEFAULT_TRANSCEND_API, DEFAULT_TRANSCEND_API_KEY, DEFAULT_TRANSCEND_CONSENT_API, DEFAULT_TRANSCEND_PULL_RESOURCES, DataCategoryGuessInput, DataCategoryInput, DataCategoryPreviewInput, DataCategoryRecommendationInput, DataFlowCsvInput, DataFlowInput, DataPointCsvPreview, DataSiloCsvPreview, DataSiloInput, DataSubjectInput, DatapointFilterOptions, DatapointInput, ENTRY_COUNT, EnabledRouteC, EnabledRoutesC, EnrichPrivacyRequest, EnricherInput, ExportedPrivacyRequest, FieldInput, GetPromptParamType, GetPromptResponseType, IDENTIFIER_BLOCK_LIST, IP_ADDRESS_REGEX, IS_REQUIRED, IdentifierInput, IdentifierNameMap, ImportOnetrustAssessmentsInput, IntlMessage, IntlMessageInput, NONE, NOTIFY_ADDITIONAL_TIME, OneTrustFileFormat, OneTrustPullResource, OneTrustPullSource, OpenAIEnabledRoute, OpenAIEnabledRoutes, OpenAIIntegration, OpenAIRouteName, ParquetToCsvOneFileOptions, ParsedAttributeInput, PartitionInput, PathfinderPolicy, PathfinderPolicyName, PathfinderPolicyNameC, PathfinderPromptRunMetadata, PolicyInput, PreferenceWorkflowConfigInput, PreferenceWorkflowConfigPurposeInput, PrivacyCenterInput, PrivacyRequest, PrivacyRequestInput, PrivacyRequestResponse, PrivacyRequestWithIdentifiers, ProcessingActivityInput, ProcessingPurposeInput, ProcessingPurposePreviewInput, PromptAVendorEmailSettings, PromptGroupInput, PromptInput, PromptPartialInput, PromptRunResult, PurposeMap, REQUESTS, REQUESTS_COUNT, RETRYABLE_BATCH_STATUSES, RegionInput, ReportPromptRunOptions, RepositoryInput, RequestFileMetadata, RequestFileMetadataResponse, RequestPurposeTrigger, RiskAssignmentInput, RiskLogicInput, SCOPES_BY_TITLE, SCOPE_TITLES, SiloDiscoveryResultInput, SoftwareDevelopmentKitInput, StoredApiKey, SubDataPointCsvPreview, SuccessfulRequest, TR_PULL_RESOURCE_SCOPE_MAP, TR_PUSH_RESOURCE_SCOPE_MAP, TR_YML_RESOURCE_TO_FIELD_NAME, TeamInput, TemplateInput, TranscendInput, TranscendPrompt, TranscendPromptManager, TranscendPullConfigurationInput, TranscendPullResource, UPDATE_PRIVACY_REQUEST, USP_STRING_REGEX, VARIABLE_PARAMETERS_NAME, VARIABLE_PARAMETERS_REGEXP, VendorInput, WebhookHeader, WorkflowConfigInput, XdiSyncGroups, appendCsvRowsOrdered, appendCsvSync, approvePrivacyRequests, buildAIIntegrationType, buildEnabledRouteType, buildXdiSyncEndpoint, bulkRestartRequests, bulkRetryEnrichers, cancelPrivacyRequests, collectCsvFilesOrExit, collectParquetFilesOrExit, consentManagersToBusinessEntities, createCodePackage, createConsentToken, createRegexForTag, defineTranscendPrompts, description, domainToHost, downloadPrivacyRequestFiles, enrichPrivacyRequest, ensureAllDataSubjectsExist, extractClientError, fetchAllAssessmentTemplates, fetchAllRequests, fetchRequestDataSiloActiveCount, fetchRequestsTotalCount, filterNullishValuesFromObject, filterRows, formatRequestForCsv, fuzzyMatchColumns, fuzzySearch, generateCrossAccountApiKeys, getFileMetadataForPrivacyRequests, getGitFilesThatChanged, getUniqueValuesForColumn, initCsvFile, inquirerAutoComplete, inquirerConfirmBoolean, inquirerConfirmText, listDirectories, listFiles, mapColumnsToAttributes, mapColumnsToIdentifiers, mapCsvColumnsToApi, mapCsvRowsToRequestInputs, mapEnumValues, mapRequestEnumValues, markCronIdentifierCompleted, markRequestDataSiloIdsCompleted, markSilentPrivacyRequests, mergeTranscendInputs, name, normalizeIdentifierValue, notifyPrivacyRequestsAdditionalTime, parquetToCsvOneFile, parseAttributesFromString, parseFilePath, parseVariablesFromString, pullAllDatapoints, pullChunkedCustomSiloOutstandingIdentifiers, pullConsentManagerMetrics, pullCronPageOfIdentifiers, pullManualEnrichmentIdentifiersToCsv, pullPrivacyRequests, pullTranscendConfiguration, pullUnstructuredSubDataPointRecommendations, pushCronIdentifiersFromCsv, pushManualEnrichmentIdentifiersFromCsv, readCsv, readSafe, readTranscendYaml, removeLinks, removeUnverifiedRequestIdentifiers, replaceVariablesInYaml, restartPrivacyRequest, retryRequestDataSilos, skipPreflightJobs, skipRequestDataSilos, splitDateRange, streamPrivacyRequestFiles, streamPrivacyRequestsToCsv, submitPrivacyRequest, syncCodePackages, syncConfigurationToTranscend, syncCookies, syncDataSilos, updateCodePackages, updateConsentManagerVersionToLatest, updateOrCreateCookies, uploadConsents, uploadCookiesFromCsv, uploadDataFlowsFromCsv, uploadPrivacyRequestsFromCsv, validateTranscendAuth, version, writeCsv, writeCsvSync, writeLargeCsv, writeTranscendYaml };
175143
175271
  //# sourceMappingURL=index.d.mts.map