@transcend-io/cli 10.23.7 → 10.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/README.md +4 -149
  2. package/dist/{app-BV8ug_1A.mjs → app-1gLg-ah3.mjs} +19 -19
  3. package/dist/{app-BV8ug_1A.mjs.map → app-1gLg-ah3.mjs.map} +1 -1
  4. package/dist/{approvePrivacyRequests-BQpI-RdX.mjs → approvePrivacyRequests-qaoxGH11.mjs} +2 -2
  5. package/dist/{approvePrivacyRequests-BQpI-RdX.mjs.map → approvePrivacyRequests-qaoxGH11.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-BUaHx4F1.mjs → buildExamples-CDlFYuEg.mjs} +2 -2
  10. package/dist/{buildExamples-BUaHx4F1.mjs.map → buildExamples-CDlFYuEg.mjs.map} +1 -1
  11. package/dist/{buildXdiSyncEndpoint-CI91Blyp.mjs → buildXdiSyncEndpoint-Bmr-hWLk.mjs} +2 -2
  12. package/dist/{buildXdiSyncEndpoint-CI91Blyp.mjs.map → buildXdiSyncEndpoint-Bmr-hWLk.mjs.map} +1 -1
  13. package/dist/{bulkRestartRequests-0VBrEHER.mjs → bulkRestartRequests-n2_EwVEM.mjs} +2 -2
  14. package/dist/{bulkRestartRequests-0VBrEHER.mjs.map → bulkRestartRequests-n2_EwVEM.mjs.map} +1 -1
  15. package/dist/{bulkRetryEnrichers-D7t7iYbi.mjs → bulkRetryEnrichers-DDftLRtp.mjs} +2 -2
  16. package/dist/{bulkRetryEnrichers-D7t7iYbi.mjs.map → bulkRetryEnrichers-DDftLRtp.mjs.map} +1 -1
  17. package/dist/{cancelPrivacyRequests-DvQL3z2K.mjs → cancelPrivacyRequests-CunKdVs6.mjs} +2 -2
  18. package/dist/{cancelPrivacyRequests-DvQL3z2K.mjs.map → cancelPrivacyRequests-CunKdVs6.mjs.map} +1 -1
  19. package/dist/codecs-HQHBtqht.mjs +2 -0
  20. package/dist/codecs-HQHBtqht.mjs.map +1 -0
  21. package/dist/{command-Bq17gJPJ.mjs → command-DO9AWMvB.mjs} +2 -2
  22. package/dist/{command-Bq17gJPJ.mjs.map → command-DO9AWMvB.mjs.map} +1 -1
  23. package/dist/{constants-ykNINvFg.mjs → constants-C9xZJ9YW.mjs} +2 -2
  24. package/dist/{constants-ykNINvFg.mjs.map → constants-C9xZJ9YW.mjs.map} +1 -1
  25. package/dist/{constants-B44yUGaB.mjs → constants-DNF09zFX.mjs} +3 -3
  26. package/dist/{constants-B44yUGaB.mjs.map → constants-DNF09zFX.mjs.map} +1 -1
  27. package/dist/constants-DR-hU9Xj.mjs +2 -0
  28. package/dist/constants-DR-hU9Xj.mjs.map +1 -0
  29. package/dist/{createExtraKeyHandler-DHhGPEWE.mjs → createExtraKeyHandler-DTbSbhrp.mjs} +2 -2
  30. package/dist/{createExtraKeyHandler-DHhGPEWE.mjs.map → createExtraKeyHandler-DTbSbhrp.mjs.map} +1 -1
  31. package/dist/{downloadPrivacyRequestFiles-Dtnhb3v2.mjs → downloadPrivacyRequestFiles-AArYL4OL.mjs} +2 -2
  32. package/dist/{downloadPrivacyRequestFiles-Dtnhb3v2.mjs.map → downloadPrivacyRequestFiles-AArYL4OL.mjs.map} +1 -1
  33. package/dist/enums-UlIe_AeF.mjs +2 -0
  34. package/dist/enums-UlIe_AeF.mjs.map +1 -0
  35. package/dist/{fetchAllRequests-Bya6iwzL.mjs → fetchAllRequests-DP24WqrP.mjs} +2 -2
  36. package/dist/{fetchAllRequests-Bya6iwzL.mjs.map → fetchAllRequests-DP24WqrP.mjs.map} +1 -1
  37. package/dist/{fuzzyMatchColumns-Ds0TqtJ5.mjs → fuzzyMatchColumns-C1STZ_T1.mjs} +2 -2
  38. package/dist/{fuzzyMatchColumns-Ds0TqtJ5.mjs.map → fuzzyMatchColumns-C1STZ_T1.mjs.map} +1 -1
  39. package/dist/{generateCrossAccountApiKeys-CTVfbS9-.mjs → generateCrossAccountApiKeys-DfGJ8Svq.mjs} +2 -2
  40. package/dist/{generateCrossAccountApiKeys-CTVfbS9-.mjs.map → generateCrossAccountApiKeys-DfGJ8Svq.mjs.map} +1 -1
  41. package/dist/{impl-D1X9qygD2.mjs → impl-4heSgrC92.mjs} +2 -2
  42. package/dist/{impl-D1X9qygD2.mjs.map → impl-4heSgrC92.mjs.map} +1 -1
  43. package/dist/{impl-Wyz88FnA2.mjs → impl-4oiDSr3J2.mjs} +2 -2
  44. package/dist/{impl-Wyz88FnA2.mjs.map → impl-4oiDSr3J2.mjs.map} +1 -1
  45. package/dist/{impl-Bug3axux.mjs → impl-8gLOHK9a.mjs} +2 -2
  46. package/dist/{impl-Bug3axux.mjs.map → impl-8gLOHK9a.mjs.map} +1 -1
  47. package/dist/{impl-BPlwQGJw.mjs → impl-B6kpEx0X.mjs} +2 -2
  48. package/dist/{impl-BPlwQGJw.mjs.map → impl-B6kpEx0X.mjs.map} +1 -1
  49. package/dist/{impl-C5RWQxAV.mjs → impl-BF9Ekyjn.mjs} +2 -2
  50. package/dist/{impl-C5RWQxAV.mjs.map → impl-BF9Ekyjn.mjs.map} +1 -1
  51. package/dist/{impl-BfEBQCDY2.mjs → impl-BVh3JHAk2.mjs} +2 -2
  52. package/dist/{impl-BfEBQCDY2.mjs.map → impl-BVh3JHAk2.mjs.map} +1 -1
  53. package/dist/{impl-DJ37yGAw2.mjs → impl-BYtnm2cU2.mjs} +2 -2
  54. package/dist/{impl-DJ37yGAw2.mjs.map → impl-BYtnm2cU2.mjs.map} +1 -1
  55. package/dist/{impl-Ctagwhzp.mjs → impl-BZ-EmLtv.mjs} +2 -2
  56. package/dist/{impl-Ctagwhzp.mjs.map → impl-BZ-EmLtv.mjs.map} +1 -1
  57. package/dist/{impl-BjlpBG3U.mjs → impl-BZ4pxOP_.mjs} +2 -2
  58. package/dist/{impl-BjlpBG3U.mjs.map → impl-BZ4pxOP_.mjs.map} +1 -1
  59. package/dist/{impl-CdZ-nr1b.mjs → impl-Bgg6AZQS.mjs} +4 -4
  60. package/dist/{impl-CdZ-nr1b.mjs.map → impl-Bgg6AZQS.mjs.map} +1 -1
  61. package/dist/{impl-rOo6vhkj.mjs → impl-Bu7iHn-Z.mjs} +2 -2
  62. package/dist/{impl-rOo6vhkj.mjs.map → impl-Bu7iHn-Z.mjs.map} +1 -1
  63. package/dist/{impl-BbIP694E.mjs → impl-BvLjryD7.mjs} +2 -2
  64. package/dist/{impl-BbIP694E.mjs.map → impl-BvLjryD7.mjs.map} +1 -1
  65. package/dist/{impl-BBtHggqa2.mjs → impl-C3-twUUE2.mjs} +2 -2
  66. package/dist/{impl-BBtHggqa2.mjs.map → impl-C3-twUUE2.mjs.map} +1 -1
  67. package/dist/{impl-BXgq2IRf2.mjs → impl-C6eLQ_5o2.mjs} +2 -2
  68. package/dist/{impl-BXgq2IRf2.mjs.map → impl-C6eLQ_5o2.mjs.map} +1 -1
  69. package/dist/{impl-9b_P5Q4s.mjs → impl-C7-Z-9EZ.mjs} +2 -2
  70. package/dist/{impl-9b_P5Q4s.mjs.map → impl-C7-Z-9EZ.mjs.map} +1 -1
  71. package/dist/{impl-CiA-v1ol.mjs → impl-C8azdMaD.mjs} +2 -2
  72. package/dist/{impl-CiA-v1ol.mjs.map → impl-C8azdMaD.mjs.map} +1 -1
  73. package/dist/{impl-D-RKBMCp.mjs → impl-CIJjwRW4.mjs} +2 -2
  74. package/dist/{impl-D-RKBMCp.mjs.map → impl-CIJjwRW4.mjs.map} +1 -1
  75. package/dist/{impl-DqtLjqiN.mjs → impl-Cqruzptc.mjs} +2 -2
  76. package/dist/{impl-DqtLjqiN.mjs.map → impl-Cqruzptc.mjs.map} +1 -1
  77. package/dist/{impl-z5dBnPm5.mjs → impl-CtbuXbCF.mjs} +3 -3
  78. package/dist/{impl-z5dBnPm5.mjs.map → impl-CtbuXbCF.mjs.map} +1 -1
  79. package/dist/{impl-D1c3dsHI.mjs → impl-CymJoQ9l.mjs} +2 -2
  80. package/dist/{impl-D1c3dsHI.mjs.map → impl-CymJoQ9l.mjs.map} +1 -1
  81. package/dist/{impl-BWenu3QG.mjs → impl-D-JYZ74k.mjs} +6 -6
  82. package/dist/{impl-BWenu3QG.mjs.map → impl-D-JYZ74k.mjs.map} +1 -1
  83. package/dist/impl-D53J7hI_.mjs +2 -0
  84. package/dist/{impl-CyhHVprA.mjs.map → impl-D53J7hI_.mjs.map} +1 -1
  85. package/dist/{impl-C69Nh_YS.mjs → impl-D9VysVCe.mjs} +2 -2
  86. package/dist/{impl-C69Nh_YS.mjs.map → impl-D9VysVCe.mjs.map} +1 -1
  87. package/dist/{impl-DMtn2boK.mjs → impl-DUHcGmOB.mjs} +2 -2
  88. package/dist/{impl-DMtn2boK.mjs.map → impl-DUHcGmOB.mjs.map} +1 -1
  89. package/dist/impl-DgkExXp2.mjs +2 -0
  90. package/dist/{impl-DQ-kymSs.mjs.map → impl-DgkExXp2.mjs.map} +1 -1
  91. package/dist/{impl-B5-BwYN92.mjs → impl-DjgE9MBH2.mjs} +2 -2
  92. package/dist/{impl-B5-BwYN92.mjs.map → impl-DjgE9MBH2.mjs.map} +1 -1
  93. package/dist/{impl-veZF32mx2.mjs → impl-Dniv3dkB2.mjs} +2 -2
  94. package/dist/{impl-veZF32mx2.mjs.map → impl-Dniv3dkB2.mjs.map} +1 -1
  95. package/dist/{impl-B0bOfWq32.mjs → impl-DtJCihfL2.mjs} +2 -2
  96. package/dist/{impl-B0bOfWq32.mjs.map → impl-DtJCihfL2.mjs.map} +1 -1
  97. package/dist/{impl-DREUe83K2.mjs → impl-E2edQft02.mjs} +2 -2
  98. package/dist/{impl-DREUe83K2.mjs.map → impl-E2edQft02.mjs.map} +1 -1
  99. package/dist/{impl--vtVpVpr2.mjs → impl-GnoT1LmK2.mjs} +2 -2
  100. package/dist/{impl--vtVpVpr2.mjs.map → impl-GnoT1LmK2.mjs.map} +1 -1
  101. package/dist/{impl-B2LrNhxI2.mjs → impl-HaxoPgWV2.mjs} +2 -2
  102. package/dist/{impl-B2LrNhxI2.mjs.map → impl-HaxoPgWV2.mjs.map} +1 -1
  103. package/dist/{impl-CwQ9tdkG.mjs → impl-N_erRf2y.mjs} +2 -2
  104. package/dist/{impl-CwQ9tdkG.mjs.map → impl-N_erRf2y.mjs.map} +1 -1
  105. package/dist/{impl-DUn7OYtx.mjs → impl-SESkv0Uk.mjs} +2 -2
  106. package/dist/{impl-DUn7OYtx.mjs.map → impl-SESkv0Uk.mjs.map} +1 -1
  107. package/dist/{impl-C5cGjdOA2.mjs → impl-SauDltth2.mjs} +2 -2
  108. package/dist/{impl-C5cGjdOA2.mjs.map → impl-SauDltth2.mjs.map} +1 -1
  109. package/dist/{impl-Be7F4ZrH2.mjs → impl-T66dFrc42.mjs} +2 -2
  110. package/dist/{impl-Be7F4ZrH2.mjs.map → impl-T66dFrc42.mjs.map} +1 -1
  111. package/dist/{impl-Bvk9QYS0.mjs → impl-U_CtHEj5.mjs} +2 -2
  112. package/dist/{impl-Bvk9QYS0.mjs.map → impl-U_CtHEj5.mjs.map} +1 -1
  113. package/dist/{impl-BBx1Kx8M.mjs → impl-Y2Gge5Bd.mjs} +2 -2
  114. package/dist/{impl-BBx1Kx8M.mjs.map → impl-Y2Gge5Bd.mjs.map} +1 -1
  115. package/dist/{impl-BfVQRJEl2.mjs → impl-dcRplDpN2.mjs} +2 -2
  116. package/dist/{impl-BfVQRJEl2.mjs.map → impl-dcRplDpN2.mjs.map} +1 -1
  117. package/dist/{impl-BmoyPAJJ.mjs → impl-gfNcn8cd.mjs} +2 -2
  118. package/dist/{impl-BmoyPAJJ.mjs.map → impl-gfNcn8cd.mjs.map} +1 -1
  119. package/dist/{impl-C7ULQEpk2.mjs → impl-nikMH0CU2.mjs} +2 -2
  120. package/dist/{impl-C7ULQEpk2.mjs.map → impl-nikMH0CU2.mjs.map} +1 -1
  121. package/dist/{impl-Bj7Sb_7k2.mjs → impl-qSB65eS52.mjs} +2 -2
  122. package/dist/{impl-Bj7Sb_7k2.mjs.map → impl-qSB65eS52.mjs.map} +1 -1
  123. package/dist/{impl-BKMx2xOY.mjs → impl-vQQfP_hX.mjs} +2 -2
  124. package/dist/{impl-BKMx2xOY.mjs.map → impl-vQQfP_hX.mjs.map} +1 -1
  125. package/dist/{impl-DtlyH0Ku.mjs → impl-y9YssNt_.mjs} +2 -2
  126. package/dist/{impl-DtlyH0Ku.mjs.map → impl-y9YssNt_.mjs.map} +1 -1
  127. package/dist/index.d.mts +4 -562
  128. package/dist/index.d.mts.map +1 -1
  129. package/dist/index.mjs +4 -4
  130. package/dist/index.mjs.map +1 -1
  131. package/dist/{inquirer-AEchly0b.mjs → inquirer-B0OF_nRe.mjs} +2 -2
  132. package/dist/{inquirer-AEchly0b.mjs.map → inquirer-B0OF_nRe.mjs.map} +1 -1
  133. package/dist/{markRequestDataSiloIdsCompleted-gl4RNpl7.mjs → markRequestDataSiloIdsCompleted-CklEg1h9.mjs} +2 -2
  134. package/dist/{markRequestDataSiloIdsCompleted-gl4RNpl7.mjs.map → markRequestDataSiloIdsCompleted-CklEg1h9.mjs.map} +1 -1
  135. package/dist/{markSilentPrivacyRequests-Bvcdqy0L.mjs → markSilentPrivacyRequests-C_Fc81_k.mjs} +2 -2
  136. package/dist/{markSilentPrivacyRequests-Bvcdqy0L.mjs.map → markSilentPrivacyRequests-C_Fc81_k.mjs.map} +1 -1
  137. package/dist/{notifyPrivacyRequestsAdditionalTime-D8YT0K-a.mjs → notifyPrivacyRequestsAdditionalTime-DEb7lcKx.mjs} +2 -2
  138. package/dist/{notifyPrivacyRequestsAdditionalTime-D8YT0K-a.mjs.map → notifyPrivacyRequestsAdditionalTime-DEb7lcKx.mjs.map} +1 -1
  139. package/dist/parseVariablesFromString-6ZwJyWSu.mjs +3 -0
  140. package/dist/parseVariablesFromString-6ZwJyWSu.mjs.map +1 -0
  141. package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-MuvYnFIK.mjs → pullChunkedCustomSiloOutstandingIdentifiers-DcSSx712.mjs} +2 -2
  142. package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-MuvYnFIK.mjs.map → pullChunkedCustomSiloOutstandingIdentifiers-DcSSx712.mjs.map} +1 -1
  143. package/dist/{pullManualEnrichmentIdentifiersToCsv-HQSnLyVf.mjs → pullManualEnrichmentIdentifiersToCsv-CEtJleqX.mjs} +2 -2
  144. package/dist/{pullManualEnrichmentIdentifiersToCsv-HQSnLyVf.mjs.map → pullManualEnrichmentIdentifiersToCsv-CEtJleqX.mjs.map} +1 -1
  145. package/dist/pullTranscendConfiguration-C21Yq51h.mjs +58 -0
  146. package/dist/pullTranscendConfiguration-C21Yq51h.mjs.map +1 -0
  147. package/dist/{pushCronIdentifiersFromCsv-C4QfGxME.mjs → pushCronIdentifiersFromCsv-dCDnCM6Y.mjs} +2 -2
  148. package/dist/{pushCronIdentifiersFromCsv-C4QfGxME.mjs.map → pushCronIdentifiersFromCsv-dCDnCM6Y.mjs.map} +1 -1
  149. package/dist/{pushManualEnrichmentIdentifiersFromCsv-NqWFouaI.mjs → pushManualEnrichmentIdentifiersFromCsv-D6tsUf6k.mjs} +2 -2
  150. package/dist/{pushManualEnrichmentIdentifiersFromCsv-NqWFouaI.mjs.map → pushManualEnrichmentIdentifiersFromCsv-D6tsUf6k.mjs.map} +1 -1
  151. package/dist/readCsv--FfP8n-H.mjs +2 -0
  152. package/dist/{readCsv-C84Jhrzx.mjs.map → readCsv--FfP8n-H.mjs.map} +1 -1
  153. package/dist/{readTranscendYaml-dI3G3Og9.mjs → readTranscendYaml-CWIS9ki1.mjs} +3 -3
  154. package/dist/{readTranscendYaml-dI3G3Og9.mjs.map → readTranscendYaml-CWIS9ki1.mjs.map} +1 -1
  155. package/dist/{removeUnverifiedRequestIdentifiers-C4G6EUc9.mjs → removeUnverifiedRequestIdentifiers-kGR-7H8G.mjs} +2 -2
  156. package/dist/{removeUnverifiedRequestIdentifiers-C4G6EUc9.mjs.map → removeUnverifiedRequestIdentifiers-kGR-7H8G.mjs.map} +1 -1
  157. package/dist/{retryRequestDataSilos-B4h0Efcq.mjs → retryRequestDataSilos-d8gzmd-2.mjs} +2 -2
  158. package/dist/{retryRequestDataSilos-B4h0Efcq.mjs.map → retryRequestDataSilos-d8gzmd-2.mjs.map} +1 -1
  159. package/dist/{skipPreflightJobs-D9eKsCzH.mjs → skipPreflightJobs-B7C-mjSV.mjs} +2 -2
  160. package/dist/{skipPreflightJobs-D9eKsCzH.mjs.map → skipPreflightJobs-B7C-mjSV.mjs.map} +1 -1
  161. package/dist/{skipRequestDataSilos-4shablHf.mjs → skipRequestDataSilos-B5m8luWz.mjs} +2 -2
  162. package/dist/{skipRequestDataSilos-4shablHf.mjs.map → skipRequestDataSilos-B5m8luWz.mjs.map} +1 -1
  163. package/dist/{streamPrivacyRequestsToCsv-5Lv4Vchx.mjs → streamPrivacyRequestsToCsv-HwUKG1kF.mjs} +2 -2
  164. package/dist/{streamPrivacyRequestsToCsv-5Lv4Vchx.mjs.map → streamPrivacyRequestsToCsv-HwUKG1kF.mjs.map} +1 -1
  165. package/dist/{updateConsentManagerVersionToLatest-CeEs3OJT.mjs → updateConsentManagerVersionToLatest-B9RIn1o-.mjs} +2 -2
  166. package/dist/{updateConsentManagerVersionToLatest-CeEs3OJT.mjs.map → updateConsentManagerVersionToLatest-B9RIn1o-.mjs.map} +1 -1
  167. package/dist/{uploadConsents-Z0N-ULVA.mjs → uploadConsents-Cbn0O4fM.mjs} +2 -2
  168. package/dist/{uploadConsents-Z0N-ULVA.mjs.map → uploadConsents-Cbn0O4fM.mjs.map} +1 -1
  169. package/dist/{uploadCookiesFromCsv-DZSP7M-u.mjs → uploadCookiesFromCsv-r8mTeMe9.mjs} +2 -2
  170. package/dist/{uploadCookiesFromCsv-DZSP7M-u.mjs.map → uploadCookiesFromCsv-r8mTeMe9.mjs.map} +1 -1
  171. package/dist/{uploadDataFlowsFromCsv-vaN5DwL4.mjs → uploadDataFlowsFromCsv-BsBay5Vi.mjs} +2 -2
  172. package/dist/{uploadDataFlowsFromCsv-vaN5DwL4.mjs.map → uploadDataFlowsFromCsv-BsBay5Vi.mjs.map} +1 -1
  173. package/dist/{uploadPrivacyRequestsFromCsv-ByRf-2jO.mjs → uploadPrivacyRequestsFromCsv-B0hRYldF.mjs} +2 -2
  174. package/dist/{uploadPrivacyRequestsFromCsv-ByRf-2jO.mjs.map → uploadPrivacyRequestsFromCsv-B0hRYldF.mjs.map} +1 -1
  175. package/dist/validateTranscendAuth-CbYKgCP5.mjs +2 -0
  176. package/dist/{validateTranscendAuth-DhzCBA3F.mjs.map → validateTranscendAuth-CbYKgCP5.mjs.map} +1 -1
  177. package/package.json +5 -7
  178. package/dist/codecs-Dch3sv5m.mjs +0 -2
  179. package/dist/codecs-Dch3sv5m.mjs.map +0 -1
  180. package/dist/constants-Btn1yJ8a.mjs +0 -2
  181. package/dist/constants-Btn1yJ8a.mjs.map +0 -1
  182. package/dist/enums-BymyVyqr.mjs +0 -2
  183. package/dist/enums-BymyVyqr.mjs.map +0 -1
  184. package/dist/impl-CyhHVprA.mjs +0 -2
  185. package/dist/impl-DQ-kymSs.mjs +0 -2
  186. package/dist/parseVariablesFromString-RM3zV9Av.mjs +0 -3
  187. package/dist/parseVariablesFromString-RM3zV9Av.mjs.map +0 -1
  188. package/dist/pullTranscendConfiguration-C2LAOKG4.mjs +0 -58
  189. package/dist/pullTranscendConfiguration-C2LAOKG4.mjs.map +0 -1
  190. package/dist/readCsv-C84Jhrzx.mjs +0 -2
  191. package/dist/validateTranscendAuth-DhzCBA3F.mjs +0 -2
@@ -1,2 +1,2 @@
1
- import{t as e}from"./skipPreflightJobs-D9eKsCzH.mjs";import{t}from"./done-input-validation-uqIgnJcw.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-Bj7Sb_7k2.mjs.map
1
+ import{t as e}from"./skipPreflightJobs-B7C-mjSV.mjs";import{t}from"./done-input-validation-uqIgnJcw.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-qSB65eS52.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl-Bj7Sb_7k2.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-qSB65eS52.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"./uploadDataFlowsFromCsv-vaN5DwL4.mjs";import{t}from"./done-input-validation-uqIgnJcw.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-BKMx2xOY.mjs.map
1
+ import{t as e}from"./uploadDataFlowsFromCsv-BsBay5Vi.mjs";import{t}from"./done-input-validation-uqIgnJcw.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-vQQfP_hX.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl-BKMx2xOY.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-vQQfP_hX.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,3 +1,3 @@
1
- import{r as e}from"./constants-Btn1yJ8a.mjs";import{t}from"./logger-Ckep4QXn.mjs";import{a as n}from"./writeCsv-BMVkiMHM.mjs";import{t as r}from"./pullConsentManagerMetrics-CR4WwUt6.mjs";import{t as i}from"./validateTranscendAuth-DhzCBA3F.mjs";import{t as a}from"./done-input-validation-uqIgnJcw.mjs";import{ConsentManagerMetricBin as o}from"@transcend-io/privacy-types";import s,{existsSync as c,mkdirSync as l}from"node:fs";import{join as u}from"node:path";import d from"colors";import{buildTranscendGraphQLClient as f}from"@transcend-io/sdk";import{map as p,mapSeries as m}from"@transcend-io/utils";async function h({auth:h,start:g,end:_,folder:v,bin:y,transcendUrl:b}){let x=y;Object.values(o).includes(x)||(t.error(d.red(`Failed to parse argument "bin" with value "${y}"\nExpected one of: \n${Object.values(o).join(`
1
+ import{r as e}from"./constants-DR-hU9Xj.mjs";import{t}from"./logger-Ckep4QXn.mjs";import{a as n}from"./writeCsv-BMVkiMHM.mjs";import{t as r}from"./pullConsentManagerMetrics-CR4WwUt6.mjs";import{t as i}from"./validateTranscendAuth-CbYKgCP5.mjs";import{t as a}from"./done-input-validation-uqIgnJcw.mjs";import{ConsentManagerMetricBin as o}from"@transcend-io/privacy-types";import s,{existsSync as c,mkdirSync as l}from"node:fs";import{join as u}from"node:path";import d from"colors";import{buildTranscendGraphQLClient as f}from"@transcend-io/sdk";import{map as p,mapSeries as m}from"@transcend-io/utils";async function h({auth:h,start:g,end:_,folder:v,bin:y,transcendUrl:b}){let x=y;Object.values(o).includes(x)||(t.error(d.red(`Failed to parse argument "bin" with value "${y}"\nExpected one of: \n${Object.values(o).join(`
2
2
  `)}`)),this.process.exit(1));let S=new Date(g),C=_?new Date(_):new Date;Number.isNaN(S.getTime())&&(t.error(d.red(`Start date provided is invalid date. Got --start="${g}" expected --start="01/01/2023"`)),this.process.exit(1)),Number.isNaN(C.getTime())&&(t.error(d.red(`End date provided is invalid date. Got --end="${_}" expected --end="01/01/2023"`)),this.process.exit(1)),S>C&&(t.error(d.red(`Got a start date "${S.toISOString()}" that was larger than the end date "${C.toISOString()}". Start date must be before end date.`)),this.process.exit(1)),a(this.process.exit);let w=await i(h);if(s.existsSync(v)&&!s.lstatSync(v).isDirectory()&&(t.error(d.red(`The provided argument "folder" was passed a file. expected: folder="./consent-metrics/"`)),this.process.exit(1)),c(v)||l(v),t.info(d.magenta(`Pulling consent metrics from start=${S.toString()} to end=${C.toISOString()} with bin size "${y}"`)),typeof w==`string`){try{let e=await r(f(b,w),{bin:x,start:S,end:C});await p(Object.entries(e),async([e,r])=>{await p(r,async({points:r,name:i})=>{let a=u(v,`${e}_${i}.csv`);t.info(d.magenta(`Writing configuration to file "${a}"...`)),await n(a,r.map(({key:e,value:t})=>({timestamp:e,value:t})))},{concurrency:5})},{concurrency:5})}catch(e){t.error(d.red(`An error occurred syncing the schema: ${e.message}`)),this.process.exit(1)}t.info(d.green(`Successfully synced consent metrics to disk in folder "${v}"! View at ${e}`))}else{let i=[];await m(w,async(e,a)=>{let o=`[${a+1}/${w.length}][${e.organizationName}] `;t.info(d.magenta(`~~~\n\n${o}Attempting to pull consent metrics...\n\n~~~`));let s=f(b,e.apiKey);try{let i=await r(s,{bin:x,start:S,end:C}),a=u(v,e.organizationName);c(a)||l(a),Object.entries(i).forEach(([e,r])=>{r.forEach(({points:r,name:i})=>{let o=u(a,`${e}_${i}.csv`);t.info(d.magenta(`Writing configuration to file "${o}"...`)),n(o,r.map(({key:e,value:t})=>({timestamp:e,value:t})))})}),t.info(d.green(`${o}Successfully pulled configuration!`))}catch(n){t.error(d.red(`${o}Failed to sync configuration.`),n),i.push(e.organizationName)}}),i.length>0&&(t.info(d.red(`Sync encountered errors for "${i.join(`,`)}". View output above for more information, or check out ${e}`)),this.process.exit(1))}}export{h as pullConsentMetrics};
3
- //# sourceMappingURL=impl-DtlyH0Ku.mjs.map
3
+ //# sourceMappingURL=impl-y9YssNt_.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl-DtlyH0Ku.mjs","names":[],"sources":["../src/commands/consent/pull-consent-metrics/impl.ts"],"sourcesContent":["import fs, { existsSync, mkdirSync } from 'node:fs';\nimport { join } from 'node:path';\n\nimport { ConsentManagerMetricBin } from '@transcend-io/privacy-types';\nimport { buildTranscendGraphQLClient } from '@transcend-io/sdk';\nimport { map, mapSeries } from '@transcend-io/utils';\nimport colors from 'colors';\n\nimport { ADMIN_DASH_INTEGRATIONS } from '../../../constants.js';\nimport type { LocalContext } from '../../../context.js';\nimport { validateTranscendAuth } from '../../../lib/api-keys/index.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { pullConsentManagerMetrics } from '../../../lib/consent-manager/index.js';\nimport { writeCsv } from '../../../lib/helpers/index.js';\nimport { logger } from '../../../logger.js';\n\nexport interface PullConsentMetricsCommandFlags {\n auth: string;\n start: Date;\n end?: Date;\n folder: string;\n bin: string;\n transcendUrl: string;\n}\n\nexport async function pullConsentMetrics(\n this: LocalContext,\n { auth, start, end, folder, bin, transcendUrl }: PullConsentMetricsCommandFlags,\n): Promise<void> {\n // Validate bin\n const parsedBin = bin as ConsentManagerMetricBin;\n if (!Object.values(ConsentManagerMetricBin).includes(parsedBin)) {\n logger.error(\n colors.red(\n `Failed to parse argument \"bin\" with value \"${bin}\"\\n` +\n `Expected one of: \\n${Object.values(ConsentManagerMetricBin).join('\\n')}`,\n ),\n );\n this.process.exit(1);\n }\n\n // Parse the dates\n const startDate = new Date(start);\n const endDate = end ? new Date(end) : new Date();\n if (Number.isNaN(startDate.getTime())) {\n logger.error(\n colors.red(\n `Start date provided is invalid date. Got --start=\"${start}\" expected --start=\"01/01/2023\"`,\n ),\n );\n this.process.exit(1);\n }\n if (Number.isNaN(endDate.getTime())) {\n logger.error(\n colors.red(\n `End date provided is invalid date. Got --end=\"${end}\" expected --end=\"01/01/2023\"`,\n ),\n );\n this.process.exit(1);\n }\n if (startDate > endDate) {\n logger.error(\n colors.red(\n `Got a start date \"${startDate.toISOString()}\" that was larger than the end date \"${endDate.toISOString()}\". ` +\n 'Start date must be before end date.',\n ),\n );\n this.process.exit(1);\n }\n\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 // Ensure folder either does not exist or is not a file\n if (fs.existsSync(folder) && !fs.lstatSync(folder).isDirectory()) {\n logger.error(\n colors.red(\n 'The provided argument \"folder\" was passed a file. expected: folder=\"./consent-metrics/\"',\n ),\n );\n this.process.exit(1);\n }\n\n // Create the folder if it does not exist\n if (!existsSync(folder)) {\n mkdirSync(folder);\n }\n\n logger.info(\n colors.magenta(\n `Pulling consent metrics from start=${startDate.toString()} to end=${endDate.toISOString()} with bin size \"${bin}\"`,\n ),\n );\n\n // Sync to Disk\n if (typeof apiKeyOrList === 'string') {\n try {\n // Create a GraphQL client\n const client = buildTranscendGraphQLClient(transcendUrl, apiKeyOrList);\n\n // Pull the metrics\n const configuration = await pullConsentManagerMetrics(client, {\n bin: parsedBin,\n start: startDate,\n end: endDate,\n });\n\n // Write to file\n await map(\n Object.entries(configuration),\n async ([metricName, metrics]) => {\n await map(\n metrics,\n async ({ points, name }) => {\n const file = join(folder, `${metricName}_${name}.csv`);\n logger.info(colors.magenta(`Writing configuration to file \"${file}\"...`));\n await writeCsv(\n file,\n points.map(({ key, value }: { key: string; value: string }) => ({\n timestamp: key,\n value,\n })),\n );\n },\n {\n concurrency: 5,\n },\n );\n },\n { concurrency: 5 },\n );\n } catch (err) {\n logger.error(colors.red(`An error occurred syncing the schema: ${err.message}`));\n this.process.exit(1);\n }\n\n // Indicate success\n logger.info(\n colors.green(\n `Successfully synced consent metrics to disk in folder \"${folder}\"! View at ${ADMIN_DASH_INTEGRATIONS}`,\n ),\n );\n } else {\n const encounteredErrors: string[] = [];\n await mapSeries(apiKeyOrList, async (apiKey, ind) => {\n const prefix = `[${ind + 1}/${apiKeyOrList.length}][${apiKey.organizationName}] `;\n logger.info(colors.magenta(`~~~\\n\\n${prefix}Attempting to pull consent metrics...\\n\\n~~~`));\n\n // Create a GraphQL client\n const client = buildTranscendGraphQLClient(transcendUrl, apiKey.apiKey);\n\n try {\n const configuration = await pullConsentManagerMetrics(client, {\n bin: parsedBin,\n start: startDate,\n end: endDate,\n });\n\n // ensure folder exists for that organization\n const subFolder = join(folder, apiKey.organizationName);\n if (!existsSync(subFolder)) {\n mkdirSync(subFolder);\n }\n\n // Write to file\n Object.entries(configuration).forEach(([metricName, metrics]) => {\n metrics.forEach(({ points, name }) => {\n const file = join(subFolder, `${metricName}_${name}.csv`);\n logger.info(colors.magenta(`Writing configuration to file \"${file}\"...`));\n writeCsv(\n file,\n points.map(({ key, value }: { key: string; value: string }) => ({\n timestamp: key,\n value,\n })),\n );\n });\n });\n\n logger.info(colors.green(`${prefix}Successfully pulled configuration!`));\n } catch (err) {\n logger.error(colors.red(`${prefix}Failed to sync configuration.`), err);\n encounteredErrors.push(apiKey.organizationName);\n }\n });\n\n if (encounteredErrors.length > 0) {\n logger.info(\n colors.red(\n `Sync encountered errors for \"${encounteredErrors.join(\n ',',\n )}\". View output above for more information, or check out ${ADMIN_DASH_INTEGRATIONS}`,\n ),\n );\n\n this.process.exit(1);\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"impl-y9YssNt_.mjs","names":[],"sources":["../src/commands/consent/pull-consent-metrics/impl.ts"],"sourcesContent":["import fs, { existsSync, mkdirSync } from 'node:fs';\nimport { join } from 'node:path';\n\nimport { ConsentManagerMetricBin } from '@transcend-io/privacy-types';\nimport { buildTranscendGraphQLClient } from '@transcend-io/sdk';\nimport { map, mapSeries } from '@transcend-io/utils';\nimport colors from 'colors';\n\nimport { ADMIN_DASH_INTEGRATIONS } from '../../../constants.js';\nimport type { LocalContext } from '../../../context.js';\nimport { validateTranscendAuth } from '../../../lib/api-keys/index.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { pullConsentManagerMetrics } from '../../../lib/consent-manager/index.js';\nimport { writeCsv } from '../../../lib/helpers/index.js';\nimport { logger } from '../../../logger.js';\n\nexport interface PullConsentMetricsCommandFlags {\n auth: string;\n start: Date;\n end?: Date;\n folder: string;\n bin: string;\n transcendUrl: string;\n}\n\nexport async function pullConsentMetrics(\n this: LocalContext,\n { auth, start, end, folder, bin, transcendUrl }: PullConsentMetricsCommandFlags,\n): Promise<void> {\n // Validate bin\n const parsedBin = bin as ConsentManagerMetricBin;\n if (!Object.values(ConsentManagerMetricBin).includes(parsedBin)) {\n logger.error(\n colors.red(\n `Failed to parse argument \"bin\" with value \"${bin}\"\\n` +\n `Expected one of: \\n${Object.values(ConsentManagerMetricBin).join('\\n')}`,\n ),\n );\n this.process.exit(1);\n }\n\n // Parse the dates\n const startDate = new Date(start);\n const endDate = end ? new Date(end) : new Date();\n if (Number.isNaN(startDate.getTime())) {\n logger.error(\n colors.red(\n `Start date provided is invalid date. Got --start=\"${start}\" expected --start=\"01/01/2023\"`,\n ),\n );\n this.process.exit(1);\n }\n if (Number.isNaN(endDate.getTime())) {\n logger.error(\n colors.red(\n `End date provided is invalid date. Got --end=\"${end}\" expected --end=\"01/01/2023\"`,\n ),\n );\n this.process.exit(1);\n }\n if (startDate > endDate) {\n logger.error(\n colors.red(\n `Got a start date \"${startDate.toISOString()}\" that was larger than the end date \"${endDate.toISOString()}\". ` +\n 'Start date must be before end date.',\n ),\n );\n this.process.exit(1);\n }\n\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 // Ensure folder either does not exist or is not a file\n if (fs.existsSync(folder) && !fs.lstatSync(folder).isDirectory()) {\n logger.error(\n colors.red(\n 'The provided argument \"folder\" was passed a file. expected: folder=\"./consent-metrics/\"',\n ),\n );\n this.process.exit(1);\n }\n\n // Create the folder if it does not exist\n if (!existsSync(folder)) {\n mkdirSync(folder);\n }\n\n logger.info(\n colors.magenta(\n `Pulling consent metrics from start=${startDate.toString()} to end=${endDate.toISOString()} with bin size \"${bin}\"`,\n ),\n );\n\n // Sync to Disk\n if (typeof apiKeyOrList === 'string') {\n try {\n // Create a GraphQL client\n const client = buildTranscendGraphQLClient(transcendUrl, apiKeyOrList);\n\n // Pull the metrics\n const configuration = await pullConsentManagerMetrics(client, {\n bin: parsedBin,\n start: startDate,\n end: endDate,\n });\n\n // Write to file\n await map(\n Object.entries(configuration),\n async ([metricName, metrics]) => {\n await map(\n metrics,\n async ({ points, name }) => {\n const file = join(folder, `${metricName}_${name}.csv`);\n logger.info(colors.magenta(`Writing configuration to file \"${file}\"...`));\n await writeCsv(\n file,\n points.map(({ key, value }: { key: string; value: string }) => ({\n timestamp: key,\n value,\n })),\n );\n },\n {\n concurrency: 5,\n },\n );\n },\n { concurrency: 5 },\n );\n } catch (err) {\n logger.error(colors.red(`An error occurred syncing the schema: ${err.message}`));\n this.process.exit(1);\n }\n\n // Indicate success\n logger.info(\n colors.green(\n `Successfully synced consent metrics to disk in folder \"${folder}\"! View at ${ADMIN_DASH_INTEGRATIONS}`,\n ),\n );\n } else {\n const encounteredErrors: string[] = [];\n await mapSeries(apiKeyOrList, async (apiKey, ind) => {\n const prefix = `[${ind + 1}/${apiKeyOrList.length}][${apiKey.organizationName}] `;\n logger.info(colors.magenta(`~~~\\n\\n${prefix}Attempting to pull consent metrics...\\n\\n~~~`));\n\n // Create a GraphQL client\n const client = buildTranscendGraphQLClient(transcendUrl, apiKey.apiKey);\n\n try {\n const configuration = await pullConsentManagerMetrics(client, {\n bin: parsedBin,\n start: startDate,\n end: endDate,\n });\n\n // ensure folder exists for that organization\n const subFolder = join(folder, apiKey.organizationName);\n if (!existsSync(subFolder)) {\n mkdirSync(subFolder);\n }\n\n // Write to file\n Object.entries(configuration).forEach(([metricName, metrics]) => {\n metrics.forEach(({ points, name }) => {\n const file = join(subFolder, `${metricName}_${name}.csv`);\n logger.info(colors.magenta(`Writing configuration to file \"${file}\"...`));\n writeCsv(\n file,\n points.map(({ key, value }: { key: string; value: string }) => ({\n timestamp: key,\n value,\n })),\n );\n });\n });\n\n logger.info(colors.green(`${prefix}Successfully pulled configuration!`));\n } catch (err) {\n logger.error(colors.red(`${prefix}Failed to sync configuration.`), err);\n encounteredErrors.push(apiKey.organizationName);\n }\n });\n\n if (encounteredErrors.length > 0) {\n logger.info(\n colors.red(\n `Sync encountered errors for \"${encounteredErrors.join(\n ',',\n )}\". View output above for more information, or check out ${ADMIN_DASH_INTEGRATIONS}`,\n ),\n );\n\n this.process.exit(1);\n }\n }\n}\n"],"mappings":"0lBAyBA,eAAsB,EAEpB,CAAE,OAAM,QAAO,MAAK,SAAQ,MAAK,gBAClB,CAEf,IAAM,EAAY,EACb,OAAO,OAAO,EAAwB,CAAC,SAAS,EAAU,GAC7D,EAAO,MACL,EAAO,IACL,8CAA8C,EAAI,wBAC1B,OAAO,OAAO,EAAwB,CAAC,KAAK;EAAK,GAC1E,CACF,CACD,KAAK,QAAQ,KAAK,EAAE,EAItB,IAAM,EAAY,IAAI,KAAK,EAAM,CAC3B,EAAU,EAAM,IAAI,KAAK,EAAI,CAAG,IAAI,KACtC,OAAO,MAAM,EAAU,SAAS,CAAC,GACnC,EAAO,MACL,EAAO,IACL,qDAAqD,EAAM,iCAC5D,CACF,CACD,KAAK,QAAQ,KAAK,EAAE,EAElB,OAAO,MAAM,EAAQ,SAAS,CAAC,GACjC,EAAO,MACL,EAAO,IACL,iDAAiD,EAAI,+BACtD,CACF,CACD,KAAK,QAAQ,KAAK,EAAE,EAElB,EAAY,IACd,EAAO,MACL,EAAO,IACL,qBAAqB,EAAU,aAAa,CAAC,uCAAuC,EAAQ,aAAa,CAAC,wCAE3G,CACF,CACD,KAAK,QAAQ,KAAK,EAAE,EAGtB,EAAoB,KAAK,QAAQ,KAAK,CAGtC,IAAM,EAAe,MAAM,EAAsB,EAAK,CAwBtD,GArBI,EAAG,WAAW,EAAO,EAAI,CAAC,EAAG,UAAU,EAAO,CAAC,aAAa,GAC9D,EAAO,MACL,EAAO,IACL,0FACD,CACF,CACD,KAAK,QAAQ,KAAK,EAAE,EAIjB,EAAW,EAAO,EACrB,EAAU,EAAO,CAGnB,EAAO,KACL,EAAO,QACL,sCAAsC,EAAU,UAAU,CAAC,UAAU,EAAQ,aAAa,CAAC,kBAAkB,EAAI,GAClH,CACF,CAGG,OAAO,GAAiB,SAAU,CACpC,GAAI,CAKF,IAAM,EAAgB,MAAM,EAHb,EAA4B,EAAc,EAGG,CAAE,CAC5D,IAAK,EACL,MAAO,EACP,IAAK,EACN,CAAC,CAGF,MAAM,EACJ,OAAO,QAAQ,EAAc,CAC7B,MAAO,CAAC,EAAY,KAAa,CAC/B,MAAM,EACJ,EACA,MAAO,CAAE,SAAQ,UAAW,CAC1B,IAAM,EAAO,EAAK,EAAQ,GAAG,EAAW,GAAG,EAAK,MAAM,CACtD,EAAO,KAAK,EAAO,QAAQ,kCAAkC,EAAK,MAAM,CAAC,CACzE,MAAM,EACJ,EACA,EAAO,KAAK,CAAE,MAAK,YAA6C,CAC9D,UAAW,EACX,QACD,EAAE,CACJ,EAEH,CACE,YAAa,EACd,CACF,EAEH,CAAE,YAAa,EAAG,CACnB,OACM,EAAK,CACZ,EAAO,MAAM,EAAO,IAAI,yCAAyC,EAAI,UAAU,CAAC,CAChF,KAAK,QAAQ,KAAK,EAAE,CAItB,EAAO,KACL,EAAO,MACL,0DAA0D,EAAO,aAAa,IAC/E,CACF,KACI,CACL,IAAM,EAA8B,EAAE,CACtC,MAAM,EAAU,EAAc,MAAO,EAAQ,IAAQ,CACnD,IAAM,EAAS,IAAI,EAAM,EAAE,GAAG,EAAa,OAAO,IAAI,EAAO,iBAAiB,IAC9E,EAAO,KAAK,EAAO,QAAQ,UAAU,EAAO,8CAA8C,CAAC,CAG3F,IAAM,EAAS,EAA4B,EAAc,EAAO,OAAO,CAEvE,GAAI,CACF,IAAM,EAAgB,MAAM,EAA0B,EAAQ,CAC5D,IAAK,EACL,MAAO,EACP,IAAK,EACN,CAAC,CAGI,EAAY,EAAK,EAAQ,EAAO,iBAAiB,CAClD,EAAW,EAAU,EACxB,EAAU,EAAU,CAItB,OAAO,QAAQ,EAAc,CAAC,SAAS,CAAC,EAAY,KAAa,CAC/D,EAAQ,SAAS,CAAE,SAAQ,UAAW,CACpC,IAAM,EAAO,EAAK,EAAW,GAAG,EAAW,GAAG,EAAK,MAAM,CACzD,EAAO,KAAK,EAAO,QAAQ,kCAAkC,EAAK,MAAM,CAAC,CACzE,EACE,EACA,EAAO,KAAK,CAAE,MAAK,YAA6C,CAC9D,UAAW,EACX,QACD,EAAE,CACJ,EACD,EACF,CAEF,EAAO,KAAK,EAAO,MAAM,GAAG,EAAO,oCAAoC,CAAC,OACjE,EAAK,CACZ,EAAO,MAAM,EAAO,IAAI,GAAG,EAAO,+BAA+B,CAAE,EAAI,CACvE,EAAkB,KAAK,EAAO,iBAAiB,GAEjD,CAEE,EAAkB,OAAS,IAC7B,EAAO,KACL,EAAO,IACL,gCAAgC,EAAkB,KAChD,IACD,CAAC,0DAA0D,IAC7D,CACF,CAED,KAAK,QAAQ,KAAK,EAAE"}