@transcend-io/cli 10.1.0 → 10.2.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 (262) hide show
  1. package/dist/{app-Cx8-4u8K.mjs → app-C1m4rExX.mjs} +20 -20
  2. package/dist/{app-Cx8-4u8K.mjs.map → app-C1m4rExX.mjs.map} +1 -1
  3. package/dist/{approvePrivacyRequests-Bjq5cPSI.mjs → approvePrivacyRequests-BIHcACAj.mjs} +2 -2
  4. package/dist/{approvePrivacyRequests-Bjq5cPSI.mjs.map → approvePrivacyRequests-BIHcACAj.mjs.map} +1 -1
  5. package/dist/bin/bash-complete.mjs +1 -1
  6. package/dist/bin/cli.mjs +1 -1
  7. package/dist/bin/deprecated-command.mjs +1 -1
  8. package/dist/{buildXdiSyncEndpoint-DWs9ImOw.mjs → buildXdiSyncEndpoint-CBbcir-p.mjs} +2 -2
  9. package/dist/{buildXdiSyncEndpoint-DWs9ImOw.mjs.map → buildXdiSyncEndpoint-CBbcir-p.mjs.map} +1 -1
  10. package/dist/bulkRestartRequests-ByH7TjH2.mjs +2 -0
  11. package/dist/bulkRestartRequests-ByH7TjH2.mjs.map +1 -0
  12. package/dist/bulkRetryEnrichers-DuYXD-64.mjs +2 -0
  13. package/dist/bulkRetryEnrichers-DuYXD-64.mjs.map +1 -0
  14. package/dist/cancelPrivacyRequests-DMgQOffA.mjs +2 -0
  15. package/dist/cancelPrivacyRequests-DMgQOffA.mjs.map +1 -0
  16. package/dist/{collectCsvFilesOrExit-D-csvd13.mjs → collectCsvFilesOrExit-CbtyKAzu.mjs} +1 -1
  17. package/dist/{collectCsvFilesOrExit-D-csvd13.mjs.map → collectCsvFilesOrExit-CbtyKAzu.mjs.map} +1 -1
  18. package/dist/{collectParquetFilesOrExit-C8qT5_57.mjs → collectParquetFilesOrExit-BJiAyaQ5.mjs} +1 -1
  19. package/dist/{collectParquetFilesOrExit-C8qT5_57.mjs.map → collectParquetFilesOrExit-BJiAyaQ5.mjs.map} +1 -1
  20. package/dist/{command-rzZKmlky.mjs → command-DnoHX-eW.mjs} +2 -2
  21. package/dist/{command-rzZKmlky.mjs.map → command-DnoHX-eW.mjs.map} +1 -1
  22. package/dist/commands/admin/parquet-to-csv/worker.mjs +1 -1
  23. package/dist/{consentManagersToBusinessEntities-D1bdBgnA.mjs → consentManagersToBusinessEntities-BdKDganK.mjs} +1 -1
  24. package/dist/{consentManagersToBusinessEntities-D1bdBgnA.mjs.map → consentManagersToBusinessEntities-BdKDganK.mjs.map} +1 -1
  25. package/dist/{constants-mjLYTIJm.mjs → constants-BmwXDQu9.mjs} +2 -2
  26. package/dist/{constants-mjLYTIJm.mjs.map → constants-BmwXDQu9.mjs.map} +1 -1
  27. package/dist/{constants-DYbzl8QH.mjs → constants-ClkQQhJs.mjs} +1 -1
  28. package/dist/{constants-DYbzl8QH.mjs.map → constants-ClkQQhJs.mjs.map} +1 -1
  29. package/dist/{constants-XOsAW1__.mjs → constants-muOBBQA_.mjs} +2 -2
  30. package/dist/{constants-XOsAW1__.mjs.map → constants-muOBBQA_.mjs.map} +1 -1
  31. package/dist/{createExtraKeyHandler-Jp5XpTJi.mjs → createExtraKeyHandler-srtG2U7q.mjs} +2 -2
  32. package/dist/{createExtraKeyHandler-Jp5XpTJi.mjs.map → createExtraKeyHandler-srtG2U7q.mjs.map} +1 -1
  33. package/dist/{dataFlowsToDataSilos-DUj1NhOt.mjs → dataFlowsToDataSilos-Ca2DtTsd.mjs} +1 -1
  34. package/dist/{dataFlowsToDataSilos-DUj1NhOt.mjs.map → dataFlowsToDataSilos-Ca2DtTsd.mjs.map} +1 -1
  35. package/dist/{done-input-validation-C5rgR0Wr.mjs → done-input-validation-BcNBxhEs.mjs} +1 -1
  36. package/dist/{done-input-validation-C5rgR0Wr.mjs.map → done-input-validation-BcNBxhEs.mjs.map} +1 -1
  37. package/dist/{downloadPrivacyRequestFiles-GUbd_PRc.mjs → downloadPrivacyRequestFiles-kKhGnFmx.mjs} +2 -2
  38. package/dist/{downloadPrivacyRequestFiles-GUbd_PRc.mjs.map → downloadPrivacyRequestFiles-kKhGnFmx.mjs.map} +1 -1
  39. package/dist/{extractClientError-X9wJVqGq.mjs → extractClientError-i-Tw_az7.mjs} +1 -1
  40. package/dist/{extractClientError-X9wJVqGq.mjs.map → extractClientError-i-Tw_az7.mjs.map} +1 -1
  41. package/dist/{fetchAllRequests-xGgt_STo.mjs → fetchAllRequests-CHHdyb4Q.mjs} +2 -2
  42. package/dist/{fetchAllRequests-xGgt_STo.mjs.map → fetchAllRequests-CHHdyb4Q.mjs.map} +1 -1
  43. package/dist/generateCrossAccountApiKeys-C7yH3Rbi.mjs +2 -0
  44. package/dist/generateCrossAccountApiKeys-C7yH3Rbi.mjs.map +1 -0
  45. package/dist/{impl-B-PzeHxN.mjs → impl-3VLH9aat.mjs} +2 -2
  46. package/dist/{impl-B-PzeHxN.mjs.map → impl-3VLH9aat.mjs.map} +1 -1
  47. package/dist/{impl-iGMjSniP.mjs → impl-3sDUDXru.mjs} +2 -2
  48. package/dist/{impl-iGMjSniP.mjs.map → impl-3sDUDXru.mjs.map} +1 -1
  49. package/dist/{impl-DfVep2mE.mjs → impl-6mCOBlSD.mjs} +2 -2
  50. package/dist/{impl-DfVep2mE.mjs.map → impl-6mCOBlSD.mjs.map} +1 -1
  51. package/dist/impl-84ylH4aO.mjs +2 -0
  52. package/dist/{impl-BVHfSIVG.mjs.map → impl-84ylH4aO.mjs.map} +1 -1
  53. package/dist/impl-B62XN4tV.mjs +2 -0
  54. package/dist/impl-B62XN4tV.mjs.map +1 -0
  55. package/dist/{impl-BMnXA_Vd.mjs → impl-B9BsXBxS.mjs} +2 -2
  56. package/dist/{impl-BMnXA_Vd.mjs.map → impl-B9BsXBxS.mjs.map} +1 -1
  57. package/dist/{impl-C3DXXn8M.mjs → impl-BNqmxytJ.mjs} +2 -2
  58. package/dist/{impl-C3DXXn8M.mjs.map → impl-BNqmxytJ.mjs.map} +1 -1
  59. package/dist/{impl-Dw9uW5zy2.mjs → impl-BYf4MpWP.mjs} +2 -2
  60. package/dist/impl-BYf4MpWP.mjs.map +1 -0
  61. package/dist/{impl-BBKJIP0Q.mjs → impl-BaC9iEO_.mjs} +2 -2
  62. package/dist/{impl-BBKJIP0Q.mjs.map → impl-BaC9iEO_.mjs.map} +1 -1
  63. package/dist/{impl-CpJljZV2.mjs → impl-BhDS0QIt.mjs} +2 -2
  64. package/dist/{impl-CpJljZV2.mjs.map → impl-BhDS0QIt.mjs.map} +1 -1
  65. package/dist/{impl-CqH3YYuv.mjs → impl-BjCQSRLu.mjs} +2 -2
  66. package/dist/{impl-CqH3YYuv.mjs.map → impl-BjCQSRLu.mjs.map} +1 -1
  67. package/dist/{impl-Cpndlxar.mjs → impl-BjIylEKQ.mjs} +2 -2
  68. package/dist/{impl-Cpndlxar.mjs.map → impl-BjIylEKQ.mjs.map} +1 -1
  69. package/dist/{impl-BBnnC5xq.mjs → impl-BwrEi3s7.mjs} +2 -2
  70. package/dist/{impl-BBnnC5xq.mjs.map → impl-BwrEi3s7.mjs.map} +1 -1
  71. package/dist/{impl-DKAV-8XC.mjs → impl-C4AI1Fsj.mjs} +2 -2
  72. package/dist/{impl-DKAV-8XC.mjs.map → impl-C4AI1Fsj.mjs.map} +1 -1
  73. package/dist/{impl-BKrNGF2F.mjs → impl-CCAeEeMR.mjs} +2 -2
  74. package/dist/{impl-BKrNGF2F.mjs.map → impl-CCAeEeMR.mjs.map} +1 -1
  75. package/dist/{impl-BRiRfzgu.mjs → impl-CFI5y5U-.mjs} +2 -2
  76. package/dist/{impl-BRiRfzgu.mjs.map → impl-CFI5y5U-.mjs.map} +1 -1
  77. package/dist/{impl-CC0rkA9s.mjs → impl-CIfRN0ux.mjs} +2 -2
  78. package/dist/{impl-CC0rkA9s.mjs.map → impl-CIfRN0ux.mjs.map} +1 -1
  79. package/dist/{impl-DhXQb3bm.mjs → impl-CLznNZ5F.mjs} +2 -2
  80. package/dist/{impl-DhXQb3bm.mjs.map → impl-CLznNZ5F.mjs.map} +1 -1
  81. package/dist/{impl-DpwyYsfg.mjs → impl-CUdo0Jyh.mjs} +2 -2
  82. package/dist/{impl-DpwyYsfg.mjs.map → impl-CUdo0Jyh.mjs.map} +1 -1
  83. package/dist/{impl-CvJtt8H2.mjs → impl-Cmj1Vi5Q.mjs} +2 -2
  84. package/dist/{impl-CvJtt8H2.mjs.map → impl-Cmj1Vi5Q.mjs.map} +1 -1
  85. package/dist/{impl-BVnfUDUm.mjs → impl-Cw3_0zqC.mjs} +2 -2
  86. package/dist/{impl-BVnfUDUm.mjs.map → impl-Cw3_0zqC.mjs.map} +1 -1
  87. package/dist/{impl-DaK9UOwL.mjs → impl-CzvCA0Ev.mjs} +2 -2
  88. package/dist/{impl-DaK9UOwL.mjs.map → impl-CzvCA0Ev.mjs.map} +1 -1
  89. package/dist/{impl-BffzTHKU.mjs → impl-D1DmW5-P.mjs} +2 -2
  90. package/dist/{impl-BffzTHKU.mjs.map → impl-D1DmW5-P.mjs.map} +1 -1
  91. package/dist/{impl-Cy8-6_Oo2.mjs → impl-D41c_KGj.mjs} +2 -2
  92. package/dist/impl-D41c_KGj.mjs.map +1 -0
  93. package/dist/impl-DEpCg7UP.mjs +2 -0
  94. package/dist/impl-DEpCg7UP.mjs.map +1 -0
  95. package/dist/{impl-BSKl6rC6.mjs → impl-DHOh4ypd.mjs} +2 -2
  96. package/dist/{impl-BSKl6rC6.mjs.map → impl-DHOh4ypd.mjs.map} +1 -1
  97. package/dist/{impl-StdJMCiM.mjs → impl-DJg0Ibxs.mjs} +2 -2
  98. package/dist/{impl-StdJMCiM.mjs.map → impl-DJg0Ibxs.mjs.map} +1 -1
  99. package/dist/{impl-ogUHfunr.mjs → impl-DUdbbIpf.mjs} +2 -2
  100. package/dist/{impl-ogUHfunr.mjs.map → impl-DUdbbIpf.mjs.map} +1 -1
  101. package/dist/{impl-CODwodEc.mjs → impl-DXHqqWJb.mjs} +2 -2
  102. package/dist/{impl-CODwodEc.mjs.map → impl-DXHqqWJb.mjs.map} +1 -1
  103. package/dist/{impl-CnHiD4zU.mjs → impl-DXaA3sMt.mjs} +2 -2
  104. package/dist/{impl-CnHiD4zU.mjs.map → impl-DXaA3sMt.mjs.map} +1 -1
  105. package/dist/{impl-CPIMsZg-.mjs → impl-Dl4RcPKp.mjs} +2 -2
  106. package/dist/{impl-CPIMsZg-.mjs.map → impl-Dl4RcPKp.mjs.map} +1 -1
  107. package/dist/{impl-CZsYoSZQ.mjs → impl-DvAwxl6Z.mjs} +2 -2
  108. package/dist/{impl-CZsYoSZQ.mjs.map → impl-DvAwxl6Z.mjs.map} +1 -1
  109. package/dist/{impl-D_AxguFh2.mjs → impl-GRdcDZQ4.mjs} +2 -2
  110. package/dist/impl-GRdcDZQ4.mjs.map +1 -0
  111. package/dist/{impl-DJ4VCAcc.mjs → impl-UMb9wjra.mjs} +2 -2
  112. package/dist/{impl-DJ4VCAcc.mjs.map → impl-UMb9wjra.mjs.map} +1 -1
  113. package/dist/{impl-BxOydpyJ.mjs → impl-Yq33AV90.mjs} +2 -2
  114. package/dist/{impl-BxOydpyJ.mjs.map → impl-Yq33AV90.mjs.map} +1 -1
  115. package/dist/{impl-BGGm947r2.mjs → impl-aGDJJgGc.mjs} +2 -2
  116. package/dist/impl-aGDJJgGc.mjs.map +1 -0
  117. package/dist/{impl-DvrSuAJv.mjs → impl-fZQxhZRu.mjs} +2 -2
  118. package/dist/{impl-DvrSuAJv.mjs.map → impl-fZQxhZRu.mjs.map} +1 -1
  119. package/dist/{impl-C-u5h8We.mjs → impl-gitQPEo3.mjs} +2 -2
  120. package/dist/{impl-C-u5h8We.mjs.map → impl-gitQPEo3.mjs.map} +1 -1
  121. package/dist/impl-i-vquwbD.mjs +2 -0
  122. package/dist/impl-i-vquwbD.mjs.map +1 -0
  123. package/dist/{impl-B6TXE2oE.mjs → impl-iteb85IZ.mjs} +2 -2
  124. package/dist/{impl-B6TXE2oE.mjs.map → impl-iteb85IZ.mjs.map} +1 -1
  125. package/dist/{impl-uwkj-RbF.mjs → impl-tYtVXUz2.mjs} +2 -2
  126. package/dist/{impl-uwkj-RbF.mjs.map → impl-tYtVXUz2.mjs.map} +1 -1
  127. package/dist/{impl-yvc0y1uO.mjs → impl-wcRtA0L3.mjs} +2 -2
  128. package/dist/{impl-yvc0y1uO.mjs.map → impl-wcRtA0L3.mjs.map} +1 -1
  129. package/dist/{impl-DpGVNllB.mjs → impl-xtlx25UP.mjs} +2 -2
  130. package/dist/{impl-DpGVNllB.mjs.map → impl-xtlx25UP.mjs.map} +1 -1
  131. package/dist/{impl-Cw10WeUv.mjs → impl-yMumZUUX.mjs} +2 -2
  132. package/dist/{impl-Cw10WeUv.mjs.map → impl-yMumZUUX.mjs.map} +1 -1
  133. package/dist/index.d.mts +842 -1645
  134. package/dist/index.d.mts.map +1 -1
  135. package/dist/index.mjs +4 -4
  136. package/dist/index.mjs.map +1 -1
  137. package/dist/{inquirer-DyRwhvoh.mjs → inquirer-BqZXFEt1.mjs} +2 -2
  138. package/dist/{inquirer-DyRwhvoh.mjs.map → inquirer-BqZXFEt1.mjs.map} +1 -1
  139. package/dist/{listFiles-Odj7j2E1.mjs → listFiles-D2wMHnEr.mjs} +1 -1
  140. package/dist/{listFiles-Odj7j2E1.mjs.map → listFiles-D2wMHnEr.mjs.map} +1 -1
  141. package/dist/markRequestDataSiloIdsCompleted-BaVxVfDe.mjs +2 -0
  142. package/dist/markRequestDataSiloIdsCompleted-BaVxVfDe.mjs.map +1 -0
  143. package/dist/{markSilentPrivacyRequests-ytCzpUkY.mjs → markSilentPrivacyRequests-miaumnaC.mjs} +2 -2
  144. package/dist/{markSilentPrivacyRequests-ytCzpUkY.mjs.map → markSilentPrivacyRequests-miaumnaC.mjs.map} +1 -1
  145. package/dist/notifyPrivacyRequestsAdditionalTime-BUdhSCNL.mjs +2 -0
  146. package/dist/notifyPrivacyRequestsAdditionalTime-BUdhSCNL.mjs.map +1 -0
  147. package/dist/{parquetToCsvOneFile-bgEgRoAi.mjs → parquetToCsvOneFile-B84XXInh.mjs} +1 -1
  148. package/dist/{parquetToCsvOneFile-bgEgRoAi.mjs.map → parquetToCsvOneFile-B84XXInh.mjs.map} +1 -1
  149. package/dist/{parseAttributesFromString-B8h4DudO.mjs → parseAttributesFromString-D1Yl0xwT.mjs} +2 -2
  150. package/dist/{parseAttributesFromString-B8h4DudO.mjs.map → parseAttributesFromString-D1Yl0xwT.mjs.map} +1 -1
  151. package/dist/parseVariablesFromString-BeKOGw5n.mjs +3 -0
  152. package/dist/parseVariablesFromString-BeKOGw5n.mjs.map +1 -0
  153. package/dist/pullAllDatapoints-Bbmky50p.mjs +45 -0
  154. package/dist/pullAllDatapoints-Bbmky50p.mjs.map +1 -0
  155. package/dist/pullChunkedCustomSiloOutstandingIdentifiers-BW5Vws25.mjs +2 -0
  156. package/dist/pullChunkedCustomSiloOutstandingIdentifiers-BW5Vws25.mjs.map +1 -0
  157. package/dist/{pullConsentManagerMetrics-BO0hYPDG.mjs → pullConsentManagerMetrics-zKgjc3Ap.mjs} +1 -1
  158. package/dist/{pullConsentManagerMetrics-BO0hYPDG.mjs.map → pullConsentManagerMetrics-zKgjc3Ap.mjs.map} +1 -1
  159. package/dist/pullManualEnrichmentIdentifiersToCsv-kpGy9H7T.mjs +2 -0
  160. package/dist/pullManualEnrichmentIdentifiersToCsv-kpGy9H7T.mjs.map +1 -0
  161. package/dist/pullTranscendConfiguration-DjOELnPo.mjs +58 -0
  162. package/dist/pullTranscendConfiguration-DjOELnPo.mjs.map +1 -0
  163. package/dist/{pullUnstructuredSubDataPointRecommendations-jE-tdoVK.mjs → pullUnstructuredSubDataPointRecommendations-D0z-vPgq.mjs} +3 -3
  164. package/dist/{pullUnstructuredSubDataPointRecommendations-jE-tdoVK.mjs.map → pullUnstructuredSubDataPointRecommendations-D0z-vPgq.mjs.map} +1 -1
  165. package/dist/{pushCronIdentifiersFromCsv-D9Hzna0W.mjs → pushCronIdentifiersFromCsv-BZRA1n_8.mjs} +2 -2
  166. package/dist/{pushCronIdentifiersFromCsv-D9Hzna0W.mjs.map → pushCronIdentifiersFromCsv-BZRA1n_8.mjs.map} +1 -1
  167. package/dist/{pushManualEnrichmentIdentifiersFromCsv-BiR7PS_d.mjs → pushManualEnrichmentIdentifiersFromCsv-DXqf8WWy.mjs} +2 -2
  168. package/dist/{pushManualEnrichmentIdentifiersFromCsv-BiR7PS_d.mjs.map → pushManualEnrichmentIdentifiersFromCsv-DXqf8WWy.mjs.map} +1 -1
  169. package/dist/{readCsv-0PIlJQCN.mjs → readCsv-C4TyEs-r.mjs} +1 -1
  170. package/dist/{readCsv-0PIlJQCN.mjs.map → readCsv-C4TyEs-r.mjs.map} +1 -1
  171. package/dist/removeUnverifiedRequestIdentifiers-BxWSsJit.mjs +2 -0
  172. package/dist/removeUnverifiedRequestIdentifiers-BxWSsJit.mjs.map +1 -0
  173. package/dist/{request-SLqRySNU.mjs → request-DfkRPQFr.mjs} +1 -1
  174. package/dist/{request-SLqRySNU.mjs.map → request-DfkRPQFr.mjs.map} +1 -1
  175. package/dist/retryRequestDataSilos-BVrJz_GC.mjs +2 -0
  176. package/dist/retryRequestDataSilos-BVrJz_GC.mjs.map +1 -0
  177. package/dist/skipPreflightJobs-CYuoMG3z.mjs +2 -0
  178. package/dist/skipPreflightJobs-CYuoMG3z.mjs.map +1 -0
  179. package/dist/skipRequestDataSilos-BNspAsjR.mjs +2 -0
  180. package/dist/skipRequestDataSilos-BNspAsjR.mjs.map +1 -0
  181. package/dist/streamPrivacyRequestsToCsv-PoyTmQd6.mjs +2 -0
  182. package/dist/streamPrivacyRequestsToCsv-PoyTmQd6.mjs.map +1 -0
  183. package/dist/{syncCodePackages-BOS5foh6.mjs → syncCodePackages-CAk_Hjyl.mjs} +1 -1
  184. package/dist/{syncCodePackages-BOS5foh6.mjs.map → syncCodePackages-CAk_Hjyl.mjs.map} +1 -1
  185. package/dist/updateConsentManagerVersionToLatest-lAw3E1wm.mjs +2 -0
  186. package/dist/updateConsentManagerVersionToLatest-lAw3E1wm.mjs.map +1 -0
  187. package/dist/{uploadConsents-BP5XILuw.mjs → uploadConsents-BzmWrNc1.mjs} +2 -2
  188. package/dist/{uploadConsents-BP5XILuw.mjs.map → uploadConsents-BzmWrNc1.mjs.map} +1 -1
  189. package/dist/{uploadCookiesFromCsv-B42cZgYW.mjs → uploadCookiesFromCsv-TH10UBgw.mjs} +2 -2
  190. package/dist/{uploadCookiesFromCsv-B42cZgYW.mjs.map → uploadCookiesFromCsv-TH10UBgw.mjs.map} +1 -1
  191. package/dist/{uploadDataFlowsFromCsv-D2V567pP.mjs → uploadDataFlowsFromCsv-DUSFCae9.mjs} +2 -2
  192. package/dist/{uploadDataFlowsFromCsv-D2V567pP.mjs.map → uploadDataFlowsFromCsv-DUSFCae9.mjs.map} +1 -1
  193. package/dist/uploadPrivacyRequestsFromCsv-sKSFfE6q.mjs +2 -0
  194. package/dist/uploadPrivacyRequestsFromCsv-sKSFfE6q.mjs.map +1 -0
  195. package/dist/{validateTranscendAuth-DCwAtgvh.mjs → validateTranscendAuth-Cuh2Qfdl.mjs} +1 -1
  196. package/dist/{validateTranscendAuth-DCwAtgvh.mjs.map → validateTranscendAuth-Cuh2Qfdl.mjs.map} +1 -1
  197. package/dist/{writeCsv-Da8NUe1V.mjs → writeCsv-C4pjXGsD.mjs} +1 -1
  198. package/dist/{writeCsv-Da8NUe1V.mjs.map → writeCsv-C4pjXGsD.mjs.map} +1 -1
  199. package/package.json +6 -6
  200. package/dist/RequestDataSilo-Rrc2dL9g.mjs +0 -54
  201. package/dist/RequestDataSilo-Rrc2dL9g.mjs.map +0 -1
  202. package/dist/bulkRestartRequests-sie3tM3W.mjs +0 -2
  203. package/dist/bulkRestartRequests-sie3tM3W.mjs.map +0 -1
  204. package/dist/bulkRetryEnrichers-C1RrxiTR.mjs +0 -2
  205. package/dist/bulkRetryEnrichers-C1RrxiTR.mjs.map +0 -1
  206. package/dist/cancelPrivacyRequests-DmvFijq_.mjs +0 -2
  207. package/dist/cancelPrivacyRequests-DmvFijq_.mjs.map +0 -1
  208. package/dist/dataSilo-Dvi8-PkH.mjs +0 -302
  209. package/dist/dataSilo-Dvi8-PkH.mjs.map +0 -1
  210. package/dist/dataSubject-CF784Ug0.mjs +0 -92
  211. package/dist/dataSubject-CF784Ug0.mjs.map +0 -1
  212. package/dist/fetchAllRequestEnrichers-Bt97Bb7F.mjs +0 -42
  213. package/dist/fetchAllRequestEnrichers-Bt97Bb7F.mjs.map +0 -1
  214. package/dist/fetchAllRequestIdentifiers-BXx3rSee.mjs +0 -10
  215. package/dist/fetchAllRequestIdentifiers-BXx3rSee.mjs.map +0 -1
  216. package/dist/fetchRequestDataSilo-0UvyeL60.mjs +0 -2
  217. package/dist/fetchRequestDataSilo-0UvyeL60.mjs.map +0 -1
  218. package/dist/fetchRequestFilesForRequest-CJH2iB-P.mjs +0 -33
  219. package/dist/fetchRequestFilesForRequest-CJH2iB-P.mjs.map +0 -1
  220. package/dist/generateCrossAccountApiKeys-DztJoLQS.mjs +0 -2
  221. package/dist/generateCrossAccountApiKeys-DztJoLQS.mjs.map +0 -1
  222. package/dist/impl-BGGm947r2.mjs.map +0 -1
  223. package/dist/impl-BVHfSIVG.mjs +0 -2
  224. package/dist/impl-BfeWet_F2.mjs +0 -2
  225. package/dist/impl-BfeWet_F2.mjs.map +0 -1
  226. package/dist/impl-Cy8-6_Oo2.mjs.map +0 -1
  227. package/dist/impl-D_AxguFh2.mjs.map +0 -1
  228. package/dist/impl-Dw9uW5zy2.mjs.map +0 -1
  229. package/dist/impl-PdIU1pLr2.mjs +0 -2
  230. package/dist/impl-PdIU1pLr2.mjs.map +0 -1
  231. package/dist/impl-daUiLV3c.mjs +0 -2
  232. package/dist/impl-daUiLV3c.mjs.map +0 -1
  233. package/dist/markRequestDataSiloIdsCompleted-DJSICILv.mjs +0 -2
  234. package/dist/markRequestDataSiloIdsCompleted-DJSICILv.mjs.map +0 -1
  235. package/dist/notifyPrivacyRequestsAdditionalTime-D8v68eAg.mjs +0 -2
  236. package/dist/notifyPrivacyRequestsAdditionalTime-D8v68eAg.mjs.map +0 -1
  237. package/dist/parseVariablesFromString-CvoeZZ75.mjs +0 -23
  238. package/dist/parseVariablesFromString-CvoeZZ75.mjs.map +0 -1
  239. package/dist/pullAllDatapoints-CqgqXRbp.mjs +0 -45
  240. package/dist/pullAllDatapoints-CqgqXRbp.mjs.map +0 -1
  241. package/dist/pullChunkedCustomSiloOutstandingIdentifiers-DaYEDZ66.mjs +0 -2
  242. package/dist/pullChunkedCustomSiloOutstandingIdentifiers-DaYEDZ66.mjs.map +0 -1
  243. package/dist/pullManualEnrichmentIdentifiersToCsv-BNuhsG20.mjs +0 -2
  244. package/dist/pullManualEnrichmentIdentifiersToCsv-BNuhsG20.mjs.map +0 -1
  245. package/dist/pullTranscendConfiguration-DSyMRyPe.mjs +0 -58
  246. package/dist/pullTranscendConfiguration-DSyMRyPe.mjs.map +0 -1
  247. package/dist/removeUnverifiedRequestIdentifiers-B0Gx09XN.mjs +0 -35
  248. package/dist/removeUnverifiedRequestIdentifiers-B0Gx09XN.mjs.map +0 -1
  249. package/dist/retryRequestDataSilos-DFjFhhC0.mjs +0 -2
  250. package/dist/retryRequestDataSilos-DFjFhhC0.mjs.map +0 -1
  251. package/dist/skipPreflightJobs-Bm8lZZk-.mjs +0 -2
  252. package/dist/skipPreflightJobs-Bm8lZZk-.mjs.map +0 -1
  253. package/dist/skipRequestDataSilos-B5FByYTj.mjs +0 -2
  254. package/dist/skipRequestDataSilos-B5FByYTj.mjs.map +0 -1
  255. package/dist/streamPrivacyRequestsToCsv-CBzh80oQ.mjs +0 -2
  256. package/dist/streamPrivacyRequestsToCsv-CBzh80oQ.mjs.map +0 -1
  257. package/dist/syncEnrichers-C9HcWCrs.mjs +0 -3
  258. package/dist/syncEnrichers-C9HcWCrs.mjs.map +0 -1
  259. package/dist/updateConsentManagerVersionToLatest-X1HAM_IX.mjs +0 -2
  260. package/dist/updateConsentManagerVersionToLatest-X1HAM_IX.mjs.map +0 -1
  261. package/dist/uploadPrivacyRequestsFromCsv-Czc3vGfJ.mjs +0 -2
  262. package/dist/uploadPrivacyRequestsFromCsv-Czc3vGfJ.mjs.map +0 -1
@@ -1,2 +0,0 @@
1
- import{a as e}from"./constants-XOsAW1__.mjs";import{t}from"./logger-Bj782ZYD.mjs";import{r as n,t as r}from"./fetchAllRequestEnrichers-Bt97Bb7F.mjs";import{r as i}from"./fetchAllRequests-xGgt_STo.mjs";import{RequestEnricherStatus as a,RequestStatus as o}from"@transcend-io/privacy-types";import{difference as s}from"lodash-es";import c from"colors";import{buildTranscendGraphQLClient as l,makeGraphQLRequest as u}from"@transcend-io/sdk";import{map as d}from"@transcend-io/utils";import f from"cli-progress";async function p(e,r){await u(e,n,{variables:{requestEnricherId:r},logger:t})}async function m({auth:n,requestActions:u=[],createdAtBefore:m,createdAtAfter:h,updatedAtBefore:g,updatedAtAfter:_,transcendUrl:v=e,requestEnricherStatuses:y=Object.values(a),requestIds:b=[],enricherId:x,concurrency:S=20}){let C=new Date().getTime(),w=new f.SingleBar({},f.Presets.shades_classic),T=l(v,n);t.info(c.magenta(`Fetching requests to restart...`));let E=await i(T,{actions:u,statuses:[o.Enriching],createdAtBefore:m,createdAtAfter:h,updatedAtBefore:g,updatedAtAfter:_,requestIds:b}),D=0;if(b.length>0&&b.length!==E.length){let e=s(b,E.map(({id:e})=>e));e.length>0&&(t.error(c.red(`Failed to find the following requests by ID: ${e.join(`,`)}.`)),process.exit(1))}let O=0;w.start(E.length,0),await d(E,async e=>{await d((await r(T,{requestId:e.id})).filter(e=>e.enricher.id===x&&y.includes(e.status)),async e=>{await p(T,e.id),D+=1}),O+=1,w.update(O)},{concurrency:S}),w.stop();let k=new Date().getTime()-C;t.info(c.green(`Completed restarting of ${E.length} requests and ${D} enrichers in "${k/1e3}" seconds.`))}export{p as n,m as t};
2
- //# sourceMappingURL=bulkRetryEnrichers-C1RrxiTR.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bulkRetryEnrichers-C1RrxiTR.mjs","names":[],"sources":["../src/lib/graphql/retryRequestEnricher.ts","../src/lib/requests/bulkRetryEnrichers.ts"],"sourcesContent":["import { makeGraphQLRequest } from '@transcend-io/sdk';\nimport { GraphQLClient } from 'graphql-request';\n\nimport { logger } from '../../logger.js';\nimport { RETRY_REQUEST_ENRICHER } from './gqls/index.js';\n\n/**\n * Retry a request enricher\n *\n * @param client - GraphQL client\n * @param id - The ID of the request enricher to restart\n */\nexport async function retryRequestEnricher(client: GraphQLClient, id: string): Promise<void> {\n await makeGraphQLRequest(client, RETRY_REQUEST_ENRICHER, {\n variables: { requestEnricherId: id },\n logger,\n });\n}\n","import { RequestAction, RequestEnricherStatus, RequestStatus } from '@transcend-io/privacy-types';\nimport { buildTranscendGraphQLClient } from '@transcend-io/sdk';\nimport { map } from '@transcend-io/utils';\nimport cliProgress from 'cli-progress';\nimport colors from 'colors';\nimport { difference } from 'lodash-es';\n\nimport { DEFAULT_TRANSCEND_API } from '../../constants.js';\nimport { logger } from '../../logger.js';\nimport {\n fetchAllRequestEnrichers,\n fetchAllRequests,\n retryRequestEnricher,\n} from '../graphql/index.js';\n\n/**\n * Restart a bunch of request enrichers\n *\n * @param options - Options\n */\nexport async function bulkRetryEnrichers({\n auth,\n requestActions = [],\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n transcendUrl = DEFAULT_TRANSCEND_API,\n requestEnricherStatuses = Object.values(RequestEnricherStatus),\n requestIds = [],\n enricherId,\n concurrency = 20,\n}: {\n /** Actions to filter for */\n requestActions?: RequestAction[];\n /** Request enricher statuses to restart - defaults to all statuses */\n requestEnricherStatuses?: RequestEnricherStatus[];\n /** Transcend API key authentication */\n auth: string;\n /** The ID of the enricher to restart */\n enricherId: string;\n /** API URL for Transcend backend */\n transcendUrl?: string;\n /** Request IDs to filter for */\n requestIds?: string[];\n /** Filter for requests created before this date */\n createdAtBefore?: Date;\n /** Filter for requests created after this date */\n createdAtAfter?: Date;\n /** Filter for requests updated before this date */\n updatedAtBefore?: Date;\n /** Filter for requests updated after this date */\n updatedAtAfter?: Date;\n /** Concurrency to upload requests at */\n concurrency?: number;\n}): Promise<void> {\n // Time duration\n const t0 = new Date().getTime();\n // create a new progress bar instance and use shades_classic theme\n const progressBar = new cliProgress.SingleBar({}, cliProgress.Presets.shades_classic);\n\n // Find all requests made before createdAt that are in a removing data state\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n\n logger.info(colors.magenta('Fetching requests to restart...'));\n\n const requests = await fetchAllRequests(client, {\n actions: requestActions,\n statuses: [RequestStatus.Enriching],\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n requestIds,\n });\n\n let totalRestarted = 0;\n\n // Validate request IDs\n if (requestIds.length > 0 && requestIds.length !== requests.length) {\n const missingRequests = difference(\n requestIds,\n requests.map(({ id }) => id),\n );\n if (missingRequests.length > 0) {\n logger.error(\n colors.red(`Failed to find the following requests by ID: ${missingRequests.join(',')}.`),\n );\n process.exit(1);\n }\n }\n\n // Map over the requests\n let total = 0;\n progressBar.start(requests.length, 0);\n await map(\n requests,\n async (request) => {\n // Pull the request identifiers\n const requestEnrichers = await fetchAllRequestEnrichers(client, {\n requestId: request.id,\n });\n const requestEnrichersToRestart = requestEnrichers.filter(\n (requestEnricher) =>\n requestEnricher.enricher.id === enricherId &&\n requestEnricherStatuses.includes(requestEnricher.status),\n );\n await map(requestEnrichersToRestart, async (requestEnricher) => {\n await retryRequestEnricher(client, requestEnricher.id);\n totalRestarted += 1;\n });\n\n // Cache successful upload\n total += 1;\n progressBar.update(total);\n },\n { concurrency },\n );\n\n progressBar.stop();\n const t1 = new Date().getTime();\n const totalTime = t1 - t0;\n\n // Log completion time\n logger.info(\n colors.green(\n `Completed restarting of ${requests.length} requests and ${totalRestarted} enrichers in \"${\n totalTime / 1000\n }\" seconds.`,\n ),\n );\n}\n"],"mappings":"2fAYA,eAAsB,EAAqB,EAAuB,EAA2B,CAC3F,MAAM,EAAmB,EAAQ,EAAwB,CACvD,UAAW,CAAE,kBAAmB,EAAI,CACpC,SACD,CAAC,CCIJ,eAAsB,EAAmB,CACvC,OACA,iBAAiB,EAAE,CACnB,kBACA,iBACA,kBACA,iBACA,eAAe,EACf,0BAA0B,OAAO,OAAO,EAAsB,CAC9D,aAAa,EAAE,CACf,aACA,cAAc,IAwBE,CAEhB,IAAM,EAAK,IAAI,MAAM,CAAC,SAAS,CAEzB,EAAc,IAAI,EAAY,UAAU,EAAE,CAAE,EAAY,QAAQ,eAAe,CAG/E,EAAS,EAA4B,EAAc,EAAK,CAE9D,EAAO,KAAK,EAAO,QAAQ,kCAAkC,CAAC,CAE9D,IAAM,EAAW,MAAM,EAAiB,EAAQ,CAC9C,QAAS,EACT,SAAU,CAAC,EAAc,UAAU,CACnC,kBACA,iBACA,kBACA,iBACA,aACD,CAAC,CAEE,EAAiB,EAGrB,GAAI,EAAW,OAAS,GAAK,EAAW,SAAW,EAAS,OAAQ,CAClE,IAAM,EAAkB,EACtB,EACA,EAAS,KAAK,CAAE,QAAS,EAAG,CAC7B,CACG,EAAgB,OAAS,IAC3B,EAAO,MACL,EAAO,IAAI,gDAAgD,EAAgB,KAAK,IAAI,CAAC,GAAG,CACzF,CACD,QAAQ,KAAK,EAAE,EAKnB,IAAI,EAAQ,EACZ,EAAY,MAAM,EAAS,OAAQ,EAAE,CACrC,MAAM,EACJ,EACA,KAAO,IAAY,CAUjB,MAAM,GARmB,MAAM,EAAyB,EAAQ,CAC9D,UAAW,EAAQ,GACpB,CAAC,EACiD,OAChD,GACC,EAAgB,SAAS,KAAO,GAChC,EAAwB,SAAS,EAAgB,OAAO,CAC3D,CACoC,KAAO,IAAoB,CAC9D,MAAM,EAAqB,EAAQ,EAAgB,GAAG,CACtD,GAAkB,GAClB,CAGF,GAAS,EACT,EAAY,OAAO,EAAM,EAE3B,CAAE,cAAa,CAChB,CAED,EAAY,MAAM,CAElB,IAAM,EADK,IAAI,MAAM,CAAC,SAAS,CACR,EAGvB,EAAO,KACL,EAAO,MACL,2BAA2B,EAAS,OAAO,gBAAgB,EAAe,iBACxE,EAAY,IACb,YACF,CACF"}
@@ -1,2 +0,0 @@
1
- import{a as e}from"./constants-XOsAW1__.mjs";import{t}from"./logger-Bj782ZYD.mjs";import{n,o as r}from"./request-SLqRySNU.mjs";import{r as i}from"./fetchAllRequests-xGgt_STo.mjs";import{RequestStatus as a}from"@transcend-io/privacy-types";import o from"colors";import{buildTranscendGraphQLClient as s,fetchAllTemplates as c,makeGraphQLRequest as l}from"@transcend-io/sdk";import{map as u}from"@transcend-io/utils";import d from"cli-progress";async function f({requestActions:f,cancellationTitle:p,auth:m,requestIds:h,silentModeBefore:g,createdAtBefore:_,createdAtAfter:v,updatedAtBefore:y,updatedAtAfter:b,statuses:x=[a.Compiling,a.RequestMade,a.Delayed,a.Approving,a.Secondary,a.Enriching,a.Waiting,a.SecondaryApproving],concurrency:S=50,transcendUrl:C=e}){let w=s(C,m),T=new Date().getTime(),E=new d.SingleBar({},d.Presets.shades_classic),D;if(p){let e=(await c(w,{title:p,logger:t})).find(e=>e.title===p);if(!e)throw Error(`Failed to find a template with title: "${p}"`);D=e}let O=await i(w,{actions:f,createdAtBefore:_,createdAtAfter:v,updatedAtBefore:y,updatedAtAfter:b,statuses:x,requestIds:h});t.info(o.magenta(`Canceling "${O.length}" requests${D?` Using template: ${D.title}`:``}.`));let k=0;E.start(O.length,0),await u(O,async e=>{g&&new Date(g)>new Date(e.createdAt)&&await l(w,r,{variables:{input:{id:e.id,isSilent:!0}},logger:t}),await l(w,n,{variables:{input:{requestId:e.id,...D?{subject:`Re: ${D.subject.defaultMessage}`,template:D.template.defaultMessage}:{}}},logger:t}),k+=1,E.update(k)},{concurrency:S}),E.stop();let A=new Date().getTime()-T;return t.info(o.green(`Successfully canceled ${k} requests in "${A/1e3}" seconds!`)),O.length}export{f as t};
2
- //# sourceMappingURL=cancelPrivacyRequests-DmvFijq_.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cancelPrivacyRequests-DmvFijq_.mjs","names":[],"sources":["../src/lib/requests/cancelPrivacyRequests.ts"],"sourcesContent":["import { RequestAction, RequestStatus } from '@transcend-io/privacy-types';\nimport {\n buildTranscendGraphQLClient,\n fetchAllTemplates,\n makeGraphQLRequest,\n type Template,\n} from '@transcend-io/sdk';\nimport { map } from '@transcend-io/utils';\nimport cliProgress from 'cli-progress';\nimport colors from 'colors';\n\nimport { DEFAULT_TRANSCEND_API } from '../../constants.js';\nimport { logger } from '../../logger.js';\nimport {\n UPDATE_PRIVACY_REQUEST,\n fetchAllRequests,\n CANCEL_PRIVACY_REQUEST,\n} from '../graphql/index.js';\n\n/**\n * Cancel a set of privacy requests\n *\n * @param options - Options\n * @returns The number of requests canceled\n */\nexport async function cancelPrivacyRequests({\n requestActions,\n cancellationTitle,\n auth,\n requestIds,\n silentModeBefore,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n statuses = [\n RequestStatus.Compiling,\n RequestStatus.RequestMade,\n RequestStatus.Delayed,\n RequestStatus.Approving,\n RequestStatus.Secondary,\n RequestStatus.Enriching,\n RequestStatus.Waiting,\n RequestStatus.SecondaryApproving,\n ],\n concurrency = 50,\n transcendUrl = DEFAULT_TRANSCEND_API,\n}: {\n /** The request actions that should be restarted */\n requestActions: RequestAction[];\n /** Transcend API key authentication */\n auth: string;\n /** Concurrency limit for approving */\n concurrency?: number;\n /** The request statuses to cancel */\n statuses?: RequestStatus[];\n /** The set of privacy requests to cancel */\n requestIds?: string[];\n /** Mark these requests as silent mode if they were created before this date */\n silentModeBefore?: Date;\n /** Filter for requests created before this date */\n createdAtBefore?: Date;\n /** Filter for requests created after this date */\n createdAtAfter?: Date;\n /** Filter for requests updated before this date */\n updatedAtBefore?: Date;\n /** Filter for requests updated after this date */\n updatedAtAfter?: Date;\n /** API URL for Transcend backend */\n transcendUrl?: string;\n /** The email template to use when canceling the requests */\n cancellationTitle?: string;\n}): Promise<number> {\n // Find all requests made before createdAt that are in a removing data state\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n\n // Time duration\n const t0 = new Date().getTime();\n // create a new progress bar instance and use shades_classic theme\n const progressBar = new cliProgress.SingleBar({}, cliProgress.Presets.shades_classic);\n\n // Grab the template with that title\n let cancelationTemplate: Template | undefined;\n if (cancellationTitle) {\n const matchingTemplates = await fetchAllTemplates(client, {\n title: cancellationTitle,\n logger,\n });\n const exactTitleMatch = matchingTemplates.find(\n (template) => template.title === cancellationTitle,\n );\n if (!exactTitleMatch) {\n throw new Error(`Failed to find a template with title: \"${cancellationTitle}\"`);\n }\n cancelationTemplate = exactTitleMatch;\n }\n\n // Pull in the requests\n const allRequests = await fetchAllRequests(client, {\n actions: requestActions,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n statuses,\n requestIds,\n });\n\n // Notify Transcend\n logger.info(\n colors.magenta(\n `Canceling \"${allRequests.length}\" requests${\n cancelationTemplate ? ` Using template: ${cancelationTemplate.title}` : ''\n }.`,\n ),\n );\n\n let total = 0;\n progressBar.start(allRequests.length, 0);\n await map(\n allRequests,\n async (requestToCancel) => {\n // update request to silent mode if silentModeBefore is defined\n // and the request was created before silentModeBefore\n if (silentModeBefore && new Date(silentModeBefore) > new Date(requestToCancel.createdAt)) {\n await makeGraphQLRequest(client, UPDATE_PRIVACY_REQUEST, {\n variables: {\n input: {\n id: requestToCancel.id,\n isSilent: true,\n },\n },\n logger,\n });\n }\n\n // cancel the request\n await makeGraphQLRequest(client, CANCEL_PRIVACY_REQUEST, {\n variables: {\n input: {\n requestId: requestToCancel.id,\n ...(cancelationTemplate\n ? {\n subject: `Re: ${cancelationTemplate.subject.defaultMessage}`,\n template: cancelationTemplate.template.defaultMessage,\n }\n : {}),\n },\n },\n logger,\n });\n\n total += 1;\n progressBar.update(total);\n },\n { concurrency },\n );\n\n progressBar.stop();\n const t1 = new Date().getTime();\n const totalTime = t1 - t0;\n\n logger.info(\n colors.green(`Successfully canceled ${total} requests in \"${totalTime / 1000}\" seconds!`),\n );\n return allRequests.length;\n}\n"],"mappings":"0bAyBA,eAAsB,EAAsB,CAC1C,iBACA,oBACA,OACA,aACA,mBACA,kBACA,iBACA,kBACA,iBACA,WAAW,CACT,EAAc,UACd,EAAc,YACd,EAAc,QACd,EAAc,UACd,EAAc,UACd,EAAc,UACd,EAAc,QACd,EAAc,mBACf,CACD,cAAc,GACd,eAAe,GA0BG,CAElB,IAAM,EAAS,EAA4B,EAAc,EAAK,CAGxD,EAAK,IAAI,MAAM,CAAC,SAAS,CAEzB,EAAc,IAAI,EAAY,UAAU,EAAE,CAAE,EAAY,QAAQ,eAAe,CAGjF,EACJ,GAAI,EAAmB,CAKrB,IAAM,GAJoB,MAAM,EAAkB,EAAQ,CACxD,MAAO,EACP,SACD,CAAC,EACwC,KACvC,GAAa,EAAS,QAAU,EAClC,CACD,GAAI,CAAC,EACH,MAAU,MAAM,0CAA0C,EAAkB,GAAG,CAEjF,EAAsB,EAIxB,IAAM,EAAc,MAAM,EAAiB,EAAQ,CACjD,QAAS,EACT,kBACA,iBACA,kBACA,iBACA,WACA,aACD,CAAC,CAGF,EAAO,KACL,EAAO,QACL,cAAc,EAAY,OAAO,YAC/B,EAAsB,oBAAoB,EAAoB,QAAU,GACzE,GACF,CACF,CAED,IAAI,EAAQ,EACZ,EAAY,MAAM,EAAY,OAAQ,EAAE,CACxC,MAAM,EACJ,EACA,KAAO,IAAoB,CAGrB,GAAoB,IAAI,KAAK,EAAiB,CAAG,IAAI,KAAK,EAAgB,UAAU,EACtF,MAAM,EAAmB,EAAQ,EAAwB,CACvD,UAAW,CACT,MAAO,CACL,GAAI,EAAgB,GACpB,SAAU,GACX,CACF,CACD,SACD,CAAC,CAIJ,MAAM,EAAmB,EAAQ,EAAwB,CACvD,UAAW,CACT,MAAO,CACL,UAAW,EAAgB,GAC3B,GAAI,EACA,CACE,QAAS,OAAO,EAAoB,QAAQ,iBAC5C,SAAU,EAAoB,SAAS,eACxC,CACD,EAAE,CACP,CACF,CACD,SACD,CAAC,CAEF,GAAS,EACT,EAAY,OAAO,EAAM,EAE3B,CAAE,cAAa,CAChB,CAED,EAAY,MAAM,CAElB,IAAM,EADK,IAAI,MAAM,CAAC,SAAS,CACR,EAKvB,OAHA,EAAO,KACL,EAAO,MAAM,yBAAyB,EAAM,gBAAgB,EAAY,IAAK,YAAY,CAC1F,CACM,EAAY"}
@@ -1,302 +0,0 @@
1
- import{gql as e}from"graphql-request";const t=e`
2
- query TranscendCliDataPoints($filterBy: DataPointFiltersInput, $first: Int!, $offset: Int!) {
3
- dataPoints(
4
- filterBy: $filterBy
5
- first: $first
6
- offset: $offset
7
- useMaster: false
8
- orderBy: [{ field: createdAt, direction: ASC }, { field: name, direction: ASC }]
9
- ) {
10
- nodes {
11
- id
12
- title {
13
- defaultMessage
14
- }
15
- description {
16
- defaultMessage
17
- }
18
- owners {
19
- email
20
- }
21
- teams {
22
- name
23
- }
24
- name
25
- path
26
- actionSettings {
27
- type
28
- active
29
- }
30
- dataCollection {
31
- title {
32
- defaultMessage
33
- }
34
- }
35
- dbIntegrationQueries {
36
- query
37
- suggestedQuery
38
- requestType
39
- }
40
- }
41
- }
42
- }
43
- `,n=e`
44
- query TranscendCliDataPointCount($filterBy: DataPointFiltersInput) {
45
- dataPoints(filterBy: $filterBy, useMaster: false) {
46
- totalCount
47
- }
48
- }
49
- `,r=e`
50
- query TranscendCliSubDataPoints(
51
- $filterBy: SubDataPointFiltersInput
52
- $first: Int!
53
- $offset: Int!
54
- ) {
55
- subDataPoints(filterBy: $filterBy, first: $first, offset: $offset, useMaster: false) {
56
- nodes {
57
- id
58
- name
59
- description
60
- purposes {
61
- name
62
- purpose
63
- }
64
- categories {
65
- name
66
- category
67
- }
68
- accessRequestVisibilityEnabled
69
- erasureRequestRedactionEnabled
70
- attributeValues {
71
- attributeKey {
72
- name
73
- }
74
- name
75
- }
76
- }
77
- }
78
- }
79
- `,i=e`
80
- query TranscendCliSubDataPointsCount($filterBy: SubDataPointFiltersInput) {
81
- subDataPoints(filterBy: $filterBy, useMaster: false) {
82
- totalCount
83
- }
84
- }
85
- `,a=e`
86
- query TranscendCliSubDataPointGuesses(
87
- $filterBy: SubDataPointFiltersInput
88
- $first: Int!
89
- $offset: Int!
90
- ) {
91
- subDataPoints(filterBy: $filterBy, first: $first, offset: $offset, useMaster: false) {
92
- nodes {
93
- id
94
- name
95
- description
96
- purposes {
97
- name
98
- purpose
99
- }
100
- categories {
101
- name
102
- category
103
- }
104
- pendingCategoryGuesses {
105
- category {
106
- name
107
- category
108
- }
109
- status
110
- confidence
111
- classifierVersion
112
- }
113
- accessRequestVisibilityEnabled
114
- erasureRequestRedactionEnabled
115
- attributeValues {
116
- attributeKey {
117
- name
118
- }
119
- name
120
- }
121
- }
122
- }
123
- }
124
- `,o=e`
125
- mutation TranscendCliUpdateOrCreateDataPoint(
126
- $dataSiloId: ID!
127
- $name: String!
128
- $path: [String!]
129
- $title: String
130
- $description: String
131
- $ownerIds: [ID!]
132
- $ownerEmails: [String!]
133
- $teamNames: [String!]
134
- $teamIds: [ID!]
135
- $dataCollectionTag: String
136
- $querySuggestions: [DbIntegrationQuerySuggestionInput!]
137
- $enabledActions: [RequestActionObjectResolver!]
138
- $subDataPoints: [DataPointSubDataPointInput!]
139
- ) {
140
- updateOrCreateDataPoint(
141
- input: {
142
- dataSiloId: $dataSiloId
143
- name: $name
144
- path: $path
145
- title: $title
146
- teamNames: $teamNames
147
- ownerEmails: $ownerEmails
148
- dataCollectionTag: $dataCollectionTag
149
- description: $description
150
- ownerIds: $ownerIds
151
- teamIds: $teamIds
152
- querySuggestions: $querySuggestions
153
- enabledActions: $enabledActions
154
- subDataPoints: $subDataPoints
155
- }
156
- ) {
157
- dataPoint {
158
- id
159
- name
160
- }
161
- }
162
- }
163
- `,s=e`
164
- query TranscendCliDataPointCsvExport($filterBy: DataPointFiltersInput, $first: Int!) {
165
- dataPoints(filterBy: $filterBy, first: $first, useMaster: false) {
166
- nodes {
167
- id
168
- title {
169
- defaultMessage
170
- }
171
- description {
172
- defaultMessage
173
- }
174
- owners {
175
- email
176
- }
177
- teams {
178
- name
179
- }
180
- name
181
- path
182
- }
183
- }
184
- }
185
- `,c=e`
186
- query TranscendCliDataSilos($filterBy: DataSiloFiltersInput!, $first: Int!, $offset: Int!) {
187
- dataSilos(
188
- filterBy: $filterBy
189
- first: $first
190
- offset: $offset
191
- orderBy: [{ field: createdAt, direction: ASC }, { field: title, direction: ASC }]
192
- useMaster: false
193
- ) {
194
- nodes {
195
- id
196
- title
197
- link
198
- type
199
- catalog {
200
- hasAvcFunctionality
201
- }
202
- }
203
- }
204
- }
205
- `,l=e`
206
- query TranscendCliDataSiloExport($filterBy: DataSiloFiltersInput!, $first: Int!) {
207
- dataSilos(filterBy: $filterBy, first: $first, useMaster: false) {
208
- nodes {
209
- id
210
- title
211
- }
212
- }
213
- }
214
- `,u=e`
215
- query TranscendCliDataSilosEnriched(
216
- $filterBy: DataSiloFiltersInput!
217
- $first: Int!
218
- $offset: Int!
219
- ) {
220
- dataSilos(
221
- filterBy: $filterBy
222
- first: $first
223
- offset: $offset
224
- orderBy: [{ field: createdAt, direction: ASC }, { field: title, direction: ASC }]
225
- useMaster: false
226
- ) {
227
- nodes {
228
- id
229
- title
230
- description
231
- type
232
- outerType
233
- link
234
- country
235
- countrySubDivision
236
- url
237
- notifyEmailAddress
238
- attributeValues {
239
- attributeKey {
240
- name
241
- }
242
- name
243
- }
244
- apiKeys {
245
- title
246
- }
247
- subjectBlocklist {
248
- type
249
- }
250
- identifiers {
251
- name
252
- isConnected
253
- }
254
- dependentDataSilos {
255
- title
256
- }
257
- owners {
258
- email
259
- }
260
- teams {
261
- id
262
- name
263
- }
264
- catalog {
265
- hasAvcFunctionality
266
- }
267
- isLive
268
- promptAVendorEmailSendFrequency
269
- promptAVendorEmailSendType
270
- promptAVendorEmailIncludeIdentifiersAttachment
271
- promptAVendorEmailCompletionLinkType
272
- manualWorkRetryFrequency
273
- discoveredBy {
274
- title
275
- }
276
- businessEntities {
277
- title
278
- }
279
- }
280
- }
281
- }
282
- `,d=e`
283
- mutation TranscendCliUpdateDataSilo($input: UpdateDataSilosInput!) {
284
- updateDataSilos(input: $input) {
285
- clientMutationId
286
- dataSilos {
287
- id
288
- title
289
- }
290
- }
291
- }
292
- `,f=e`
293
- mutation TranscendCliCreateDataSilo($input: [CreateDataSilosInput!]!) {
294
- createDataSilos(input: $input) {
295
- dataSilos {
296
- id
297
- title
298
- }
299
- }
300
- }
301
- `;export{d as a,n as c,a as d,o as f,l as i,r as l,c as n,s as o,u as r,t as s,f as t,i as u};
302
- //# sourceMappingURL=dataSilo-Dvi8-PkH.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataSilo-Dvi8-PkH.mjs","names":[],"sources":["../src/lib/graphql/gqls/dataPoint.ts","../src/lib/graphql/gqls/dataSilo.ts"],"sourcesContent":["import { gql } from 'graphql-request';\n\n// TODO: https://transcend.height.app/T-27909 - enable optimizations\n// isExportCsv: true\nexport const DATA_POINTS = gql`\n query TranscendCliDataPoints($filterBy: DataPointFiltersInput, $first: Int!, $offset: Int!) {\n dataPoints(\n filterBy: $filterBy\n first: $first\n offset: $offset\n useMaster: false\n orderBy: [{ field: createdAt, direction: ASC }, { field: name, direction: ASC }]\n ) {\n nodes {\n id\n title {\n defaultMessage\n }\n description {\n defaultMessage\n }\n owners {\n email\n }\n teams {\n name\n }\n name\n path\n actionSettings {\n type\n active\n }\n dataCollection {\n title {\n defaultMessage\n }\n }\n dbIntegrationQueries {\n query\n suggestedQuery\n requestType\n }\n }\n }\n }\n`;\n\n// TODO: https://transcend.height.app/T-27909 - enable optimizations\n// isExportCsv: true\nexport const DATA_POINT_COUNT = gql`\n query TranscendCliDataPointCount($filterBy: DataPointFiltersInput) {\n dataPoints(filterBy: $filterBy, useMaster: false) {\n totalCount\n }\n }\n`;\n\n// TODO: https://transcend.height.app/T-27909 - add orderBy\n// isExportCsv: true\nexport const SUB_DATA_POINTS = gql`\n query TranscendCliSubDataPoints(\n $filterBy: SubDataPointFiltersInput\n $first: Int!\n $offset: Int!\n ) {\n subDataPoints(filterBy: $filterBy, first: $first, offset: $offset, useMaster: false) {\n nodes {\n id\n name\n description\n purposes {\n name\n purpose\n }\n categories {\n name\n category\n }\n accessRequestVisibilityEnabled\n erasureRequestRedactionEnabled\n attributeValues {\n attributeKey {\n name\n }\n name\n }\n }\n }\n }\n`;\n\nexport const SUB_DATA_POINTS_COUNT = gql`\n query TranscendCliSubDataPointsCount($filterBy: SubDataPointFiltersInput) {\n subDataPoints(filterBy: $filterBy, useMaster: false) {\n totalCount\n }\n }\n`;\n\nexport const SUB_DATA_POINTS_WITH_GUESSES = gql`\n query TranscendCliSubDataPointGuesses(\n $filterBy: SubDataPointFiltersInput\n $first: Int!\n $offset: Int!\n ) {\n subDataPoints(filterBy: $filterBy, first: $first, offset: $offset, useMaster: false) {\n nodes {\n id\n name\n description\n purposes {\n name\n purpose\n }\n categories {\n name\n category\n }\n pendingCategoryGuesses {\n category {\n name\n category\n }\n status\n confidence\n classifierVersion\n }\n accessRequestVisibilityEnabled\n erasureRequestRedactionEnabled\n attributeValues {\n attributeKey {\n name\n }\n name\n }\n }\n }\n }\n`;\n\nexport const UPDATE_OR_CREATE_DATA_POINT = gql`\n mutation TranscendCliUpdateOrCreateDataPoint(\n $dataSiloId: ID!\n $name: String!\n $path: [String!]\n $title: String\n $description: String\n $ownerIds: [ID!]\n $ownerEmails: [String!]\n $teamNames: [String!]\n $teamIds: [ID!]\n $dataCollectionTag: String\n $querySuggestions: [DbIntegrationQuerySuggestionInput!]\n $enabledActions: [RequestActionObjectResolver!]\n $subDataPoints: [DataPointSubDataPointInput!]\n ) {\n updateOrCreateDataPoint(\n input: {\n dataSiloId: $dataSiloId\n name: $name\n path: $path\n title: $title\n teamNames: $teamNames\n ownerEmails: $ownerEmails\n dataCollectionTag: $dataCollectionTag\n description: $description\n ownerIds: $ownerIds\n teamIds: $teamIds\n querySuggestions: $querySuggestions\n enabledActions: $enabledActions\n subDataPoints: $subDataPoints\n }\n ) {\n dataPoint {\n id\n name\n }\n }\n }\n`;\n\nexport const DATAPOINT_EXPORT = gql`\n query TranscendCliDataPointCsvExport($filterBy: DataPointFiltersInput, $first: Int!) {\n dataPoints(filterBy: $filterBy, first: $first, useMaster: false) {\n nodes {\n id\n title {\n defaultMessage\n }\n description {\n defaultMessage\n }\n owners {\n email\n }\n teams {\n name\n }\n name\n path\n }\n }\n }\n`;\n","import { gql } from 'graphql-request';\n\n// TODO: https://transcend.height.app/T-27909 - enable optimizations\n// isExportCsv: true\nexport const DATA_SILOS = gql`\n query TranscendCliDataSilos($filterBy: DataSiloFiltersInput!, $first: Int!, $offset: Int!) {\n dataSilos(\n filterBy: $filterBy\n first: $first\n offset: $offset\n orderBy: [{ field: createdAt, direction: ASC }, { field: title, direction: ASC }]\n useMaster: false\n ) {\n nodes {\n id\n title\n link\n type\n catalog {\n hasAvcFunctionality\n }\n }\n }\n }\n`;\n\n// TODO: https://transcend.height.app/T-27909 - enable optimizations\n// isExportCsv: true\nexport const DATA_SILO_EXPORT = gql`\n query TranscendCliDataSiloExport($filterBy: DataSiloFiltersInput!, $first: Int!) {\n dataSilos(filterBy: $filterBy, first: $first, useMaster: false) {\n nodes {\n id\n title\n }\n }\n }\n`;\n\n// TODO: https://transcend.height.app/T-27909 - enable optimizations\n// isExportCsv: true\nexport const DATA_SILOS_ENRICHED = gql`\n query TranscendCliDataSilosEnriched(\n $filterBy: DataSiloFiltersInput!\n $first: Int!\n $offset: Int!\n ) {\n dataSilos(\n filterBy: $filterBy\n first: $first\n offset: $offset\n orderBy: [{ field: createdAt, direction: ASC }, { field: title, direction: ASC }]\n useMaster: false\n ) {\n nodes {\n id\n title\n description\n type\n outerType\n link\n country\n countrySubDivision\n url\n notifyEmailAddress\n attributeValues {\n attributeKey {\n name\n }\n name\n }\n apiKeys {\n title\n }\n subjectBlocklist {\n type\n }\n identifiers {\n name\n isConnected\n }\n dependentDataSilos {\n title\n }\n owners {\n email\n }\n teams {\n id\n name\n }\n catalog {\n hasAvcFunctionality\n }\n isLive\n promptAVendorEmailSendFrequency\n promptAVendorEmailSendType\n promptAVendorEmailIncludeIdentifiersAttachment\n promptAVendorEmailCompletionLinkType\n manualWorkRetryFrequency\n discoveredBy {\n title\n }\n businessEntities {\n title\n }\n }\n }\n }\n`;\n\nexport const UPDATE_DATA_SILOS = gql`\n mutation TranscendCliUpdateDataSilo($input: UpdateDataSilosInput!) {\n updateDataSilos(input: $input) {\n clientMutationId\n dataSilos {\n id\n title\n }\n }\n }\n`;\n\nexport const CREATE_DATA_SILOS = gql`\n mutation TranscendCliCreateDataSilo($input: [CreateDataSilosInput!]!) {\n createDataSilos(input: $input) {\n dataSilos {\n id\n title\n }\n }\n }\n`;\n"],"mappings":"sCAIA,MAAa,EAAc,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CjB,EAAmB,CAAG;;;;;;EAUtB,EAAkB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCrB,EAAwB,CAAG;;;;;;EAQ3B,EAA+B,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyClC,EAA8B,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCjC,EAAmB,CAAG;;;;;;;;;;;;;;;;;;;;;;EClLtB,EAAa,CAAG;;;;;;;;;;;;;;;;;;;;EAwBhB,EAAmB,CAAG;;;;;;;;;EAatB,EAAsB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsEzB,EAAoB,CAAG;;;;;;;;;;EAYvB,EAAoB,CAAG"}
@@ -1,92 +0,0 @@
1
- import{gql as e}from"graphql-request";const t=e`
2
- query TranscendCliEnrichers($title: String, $first: Int!, $offset: Int!) {
3
- enrichers(
4
- filterBy: { text: $title }
5
- first: $first
6
- offset: $offset
7
- useMaster: false
8
- orderBy: [{ field: createdAt, direction: ASC }, { field: title, direction: ASC }]
9
- ) {
10
- nodes {
11
- id
12
- title
13
- url
14
- type
15
- expirationDuration
16
- lookerQueryTitle
17
- testRegex
18
- transitionRequestStatus
19
- phoneNumbers
20
- regionList
21
- inputIdentifier {
22
- name
23
- }
24
- identifiers {
25
- name
26
- }
27
- dataSubjects {
28
- type
29
- }
30
- actions
31
- }
32
- }
33
- }
34
- `,n=e`
35
- query TranscendCliInitializer {
36
- initializer {
37
- id
38
- identifiers {
39
- name
40
- }
41
- }
42
- }
43
- `,r=e`
44
- mutation TranscendCliCreateEnricher($input: EnricherInput!) {
45
- createEnricher(input: $input) {
46
- clientMutationId
47
- }
48
- }
49
- `,i=e`
50
- mutation TranscendCliUpdateEnricher($input: UpdateEnricherInput!) {
51
- updateEnricher(input: $input) {
52
- clientMutationId
53
- }
54
- }
55
- `,a=e`
56
- query TranscendCliDataSubjects {
57
- internalSubjects {
58
- id
59
- title {
60
- defaultMessage
61
- }
62
- active
63
- type
64
- adminDashboardDefaultSilentMode
65
- actions {
66
- type
67
- }
68
- }
69
- }
70
- `,o=e`
71
- mutation TranscendCliCreateDataSubject($type: String!) {
72
- createSubject(input: { type: $type, title: $type, subjectClass: OTHER }) {
73
- subject {
74
- id
75
- type
76
- }
77
- }
78
- }
79
- `,s=e`
80
- mutation TranscendCliUpdateDataSubject($input: UpdateSubjectInput!) {
81
- updateSubject(input: $input) {
82
- clientMutationId
83
- }
84
- }
85
- `,c=e`
86
- mutation TranscendCliToggleDataSubject($input: ToggleSubjectInput!) {
87
- toggleSubject(input: $input) {
88
- clientMutationId
89
- }
90
- }
91
- `;export{r as a,i as c,s as i,a as n,t as o,c as r,n as s,o as t};
92
- //# sourceMappingURL=dataSubject-CF784Ug0.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataSubject-CF784Ug0.mjs","names":[],"sources":["../src/lib/graphql/gqls/enricher.ts","../src/lib/graphql/gqls/dataSubject.ts"],"sourcesContent":["import { gql } from 'graphql-request';\n\n// TODO: https://transcend.height.app/T-27909 - enable optimizations\n// isExportCsv: true\nexport const ENRICHERS = gql`\n query TranscendCliEnrichers($title: String, $first: Int!, $offset: Int!) {\n enrichers(\n filterBy: { text: $title }\n first: $first\n offset: $offset\n useMaster: false\n orderBy: [{ field: createdAt, direction: ASC }, { field: title, direction: ASC }]\n ) {\n nodes {\n id\n title\n url\n type\n expirationDuration\n lookerQueryTitle\n testRegex\n transitionRequestStatus\n phoneNumbers\n regionList\n inputIdentifier {\n name\n }\n identifiers {\n name\n }\n dataSubjects {\n type\n }\n actions\n }\n }\n }\n`;\n\nexport interface Initializer {\n /** ID of enricher */\n id: string;\n /** Identifiers */\n identifiers: {\n /** Name of identifier */\n name: string;\n }[];\n}\n\nexport const INITIALIZER = gql`\n query TranscendCliInitializer {\n initializer {\n id\n identifiers {\n name\n }\n }\n }\n`;\n\nexport const CREATE_ENRICHER = gql`\n mutation TranscendCliCreateEnricher($input: EnricherInput!) {\n createEnricher(input: $input) {\n clientMutationId\n }\n }\n`;\n\nexport const UPDATE_ENRICHER = gql`\n mutation TranscendCliUpdateEnricher($input: UpdateEnricherInput!) {\n updateEnricher(input: $input) {\n clientMutationId\n }\n }\n`;\n","import { gql } from 'graphql-request';\n\nexport const DATA_SUBJECTS = gql`\n query TranscendCliDataSubjects {\n internalSubjects {\n id\n title {\n defaultMessage\n }\n active\n type\n adminDashboardDefaultSilentMode\n actions {\n type\n }\n }\n }\n`;\n\nexport const CREATE_DATA_SUBJECT = gql`\n mutation TranscendCliCreateDataSubject($type: String!) {\n createSubject(input: { type: $type, title: $type, subjectClass: OTHER }) {\n subject {\n id\n type\n }\n }\n }\n`;\n\nexport const UPDATE_DATA_SUBJECT = gql`\n mutation TranscendCliUpdateDataSubject($input: UpdateSubjectInput!) {\n updateSubject(input: $input) {\n clientMutationId\n }\n }\n`;\n\nexport const TOGGLE_DATA_SUBJECT = gql`\n mutation TranscendCliToggleDataSubject($input: ToggleSubjectInput!) {\n toggleSubject(input: $input) {\n clientMutationId\n }\n }\n`;\n"],"mappings":"sCAIA,MAAa,EAAY,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6Cf,EAAc,CAAG;;;;;;;;;EAWjB,EAAkB,CAAG;;;;;;EAQrB,EAAkB,CAAG;;;;;;EClErB,EAAgB,CAAG;;;;;;;;;;;;;;;EAiBnB,EAAsB,CAAG;;;;;;;;;EAWzB,EAAsB,CAAG;;;;;;EAQzB,EAAsB,CAAG"}
@@ -1,42 +0,0 @@
1
- import{t as e}from"./logger-Bj782ZYD.mjs";import{makeGraphQLRequest as t}from"@transcend-io/sdk";import{gql as n}from"graphql-request";const r=n`
2
- query TranscendCliRequestEnrichers($first: Int!, $offset: Int!, $requestId: ID!) {
3
- requestEnrichers(
4
- input: { requestId: $requestId }
5
- first: $first
6
- offset: $offset
7
- useMaster: false
8
- orderBy: [
9
- { field: createdAt, direction: ASC }
10
- { field: title, direction: ASC, model: enricher }
11
- ]
12
- ) {
13
- nodes {
14
- id
15
- status
16
- enricher {
17
- id
18
- type
19
- title
20
- }
21
- }
22
- totalCount
23
- }
24
- }
25
- `,i=n`
26
- mutation TranscendCliRetryRequestEnricher($requestEnricherId: ID!) {
27
- retryRequestEnricher(id: $requestEnricherId) {
28
- requestEnricher {
29
- id
30
- }
31
- }
32
- }
33
- `,a=n`
34
- mutation TranscendCliSkipRequestEnricher($requestEnricherId: ID!) {
35
- skipRequestEnricher(id: $requestEnricherId) {
36
- requestEnricher {
37
- id
38
- }
39
- }
40
- }
41
- `;async function o(n,{requestId:i}){let a=[],o=0,s=!1;do{let{requestEnrichers:{nodes:c}}=await t(n,r,{variables:{first:50,offset:o,requestId:i},logger:e});a.push(...c),o+=50,s=c.length===50}while(s);return a}export{a as i,r as n,i as r,o as t};
42
- //# sourceMappingURL=fetchAllRequestEnrichers-Bt97Bb7F.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchAllRequestEnrichers-Bt97Bb7F.mjs","names":[],"sources":["../src/lib/graphql/gqls/RequestEnricher.ts","../src/lib/graphql/fetchAllRequestEnrichers.ts"],"sourcesContent":["import { gql } from 'graphql-request';\n\n// TODO: https://transcend.height.app/T-27909 - enable optimizations\n// isExportCsv: true\nexport const REQUEST_ENRICHERS = gql`\n query TranscendCliRequestEnrichers($first: Int!, $offset: Int!, $requestId: ID!) {\n requestEnrichers(\n input: { requestId: $requestId }\n first: $first\n offset: $offset\n useMaster: false\n orderBy: [\n { field: createdAt, direction: ASC }\n { field: title, direction: ASC, model: enricher }\n ]\n ) {\n nodes {\n id\n status\n enricher {\n id\n type\n title\n }\n }\n totalCount\n }\n }\n`;\n\nexport const RETRY_REQUEST_ENRICHER = gql`\n mutation TranscendCliRetryRequestEnricher($requestEnricherId: ID!) {\n retryRequestEnricher(id: $requestEnricherId) {\n requestEnricher {\n id\n }\n }\n }\n`;\n\nexport const SKIP_REQUEST_ENRICHER = gql`\n mutation TranscendCliSkipRequestEnricher($requestEnricherId: ID!) {\n skipRequestEnricher(id: $requestEnricherId) {\n requestEnricher {\n id\n }\n }\n }\n`;\n","import { RequestEnricherStatus } from '@transcend-io/privacy-types';\nimport { makeGraphQLRequest } from '@transcend-io/sdk';\nimport { GraphQLClient } from 'graphql-request';\n\nimport { logger } from '../../logger.js';\nimport { REQUEST_ENRICHERS } from './gqls/index.js';\n\nexport interface RequestEnricher {\n /** ID of request enricher */\n id: string;\n /** Name of identifier */\n enricher: {\n /** ID of enricher */\n id: string;\n /** Title of enricher */\n title: string;\n /** Typeof of enricher */\n type: string;\n };\n /** The status of the enricher */\n status: RequestEnricherStatus;\n}\n\nconst PAGE_SIZE = 50;\n\n/**\n * Fetch all request enrichers for a particular request\n *\n * @param client - GraphQL client\n * @param options - Filter options\n * @returns List of request enrichers\n */\nexport async function fetchAllRequestEnrichers(\n client: GraphQLClient,\n {\n requestId,\n }: {\n /** ID of request to filter on */\n requestId: string;\n },\n): Promise<RequestEnricher[]> {\n const requestEnrichers: RequestEnricher[] = [];\n let offset = 0;\n\n // Paginate\n let shouldContinue = false;\n do {\n const {\n requestEnrichers: { nodes },\n } = await makeGraphQLRequest<{\n /** Request Enrichers */\n requestEnrichers: {\n /** List */\n nodes: RequestEnricher[];\n };\n }>(client, REQUEST_ENRICHERS, {\n variables: { first: PAGE_SIZE, offset, requestId },\n logger,\n });\n requestEnrichers.push(...nodes);\n offset += PAGE_SIZE;\n shouldContinue = nodes.length === PAGE_SIZE;\n } while (shouldContinue);\n\n return requestEnrichers;\n}\n"],"mappings":"uIAIA,MAAa,EAAoB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;EA0BvB,EAAyB,CAAG;;;;;;;;EAU5B,EAAwB,CAAG;;;;;;;;ECRxC,eAAsB,EACpB,EACA,CACE,aAK0B,CAC5B,IAAM,EAAsC,EAAE,CAC1C,EAAS,EAGT,EAAiB,GACrB,EAAG,CACD,GAAM,CACJ,iBAAkB,CAAE,UAClB,MAAM,EAMP,EAAQ,EAAmB,CAC5B,UAAW,CAAE,MAAO,GAAW,SAAQ,YAAW,CAClD,SACD,CAAC,CACF,EAAiB,KAAK,GAAG,EAAM,CAC/B,GAAU,GACV,EAAiB,EAAM,SAAW,SAC3B,GAET,OAAO"}
@@ -1,10 +0,0 @@
1
- import{t as e}from"./logger-Bj782ZYD.mjs";import{IdentifierType as t}from"@transcend-io/privacy-types";import{decodeCodec as n,valuesOf as r}from"@transcend-io/type-utils";import*as i from"io-ts";import{makeGraphQLRequest as a}from"@transcend-io/sdk";import{gql as o}from"graphql-request";import s from"semver";const c=o`
2
- query TranscendSombraVersion {
3
- organization {
4
- sombra {
5
- version
6
- }
7
- }
8
- }
9
- `,l=`7.180.0`,u=i.type({id:i.string,name:i.string,value:i.string,type:r(t)}),d=i.type({identifiers:i.array(u)});async function f(t){let{organization:{sombra:{version:n}}}=await a(t,c,{logger:e});if(n&&s.lt(n,l))throw Error(`Please upgrade Sombra to ${l} or greater to use this command.`)}async function p(e,t,{requestId:r,skipSombraCheck:i=!1}){let a=[],o=0,s=!1;i||await f(e);do{let e;try{e=await t.post(`v1/request-identifiers`,{json:{first:50,offset:o,requestId:r}}).json()}catch(e){throw Error(`Failed to fetch request identifiers: ${e?.response?.body||e?.message}`)}let{identifiers:i}=n(d,e);a.push(...i),o+=50,s=i.length===50}while(s);return a}export{c as i,p as n,f as r,d as t};
10
- //# sourceMappingURL=fetchAllRequestIdentifiers-BXx3rSee.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchAllRequestIdentifiers-BXx3rSee.mjs","names":[],"sources":["../src/lib/graphql/gqls/sombraVersion.ts","../src/lib/graphql/fetchAllRequestIdentifiers.ts"],"sourcesContent":["import { gql } from 'graphql-request';\n\nexport const SOMBRA_VERSION = gql`\n query TranscendSombraVersion {\n organization {\n sombra {\n version\n }\n }\n }\n`;\n","import { IdentifierType } from '@transcend-io/privacy-types';\nimport { makeGraphQLRequest } from '@transcend-io/sdk';\nimport { decodeCodec, valuesOf } from '@transcend-io/type-utils';\nimport type { Got } from 'got';\nimport { GraphQLClient } from 'graphql-request';\nimport * as t from 'io-ts';\nimport semver from 'semver';\n\nimport { logger } from '../../logger.js';\nimport { SOMBRA_VERSION } from './gqls/index.js';\n\nconst MIN_SOMBRA_VERSION_TO_DECRYPT = '7.180.0';\n\nconst RequestIdentifier = t.type({\n /** ID of request */\n id: t.string,\n /** Name of identifier */\n name: t.string,\n /** The underlying identifier value */\n value: t.string,\n /** Type of identifier */\n type: valuesOf(IdentifierType),\n});\n\n/** Type override */\nexport type RequestIdentifier = t.TypeOf<typeof RequestIdentifier>;\n\nconst PAGE_SIZE = 50;\n\nexport const RequestIdentifiersResponse = t.type({\n identifiers: t.array(RequestIdentifier),\n});\n\n/**\n * Validate that the Sombra version meets the minimum requirement for\n * decrypting request identifiers. Call once before bulk-fetching identifiers\n * to avoid repeating this check on every request.\n *\n * @param client - GraphQL client\n */\nexport async function validateSombraVersion(client: GraphQLClient): Promise<void> {\n const {\n organization: {\n sombra: { version },\n },\n } = await makeGraphQLRequest<{\n /** The organization */\n organization: {\n /** Sombra */\n sombra: {\n /** Version string */\n version: string;\n };\n };\n }>(client, SOMBRA_VERSION, { logger });\n\n if (version && semver.lt(version, MIN_SOMBRA_VERSION_TO_DECRYPT)) {\n throw new Error(\n `Please upgrade Sombra to ${MIN_SOMBRA_VERSION_TO_DECRYPT} or greater to use this command.`,\n );\n }\n}\n\n/**\n * Fetch all request identifiers for a particular request\n *\n * @param client - GraphQL client\n * @param sombra - Sombra client\n * @param options - Options\n * @returns List of request identifiers\n */\nexport async function fetchAllRequestIdentifiers(\n client: GraphQLClient,\n sombra: Got,\n {\n requestId,\n skipSombraCheck = false,\n }: {\n /** ID of request to filter on */\n requestId: string;\n /** Skip the Sombra version check (caller already validated) */\n skipSombraCheck?: boolean;\n },\n): Promise<RequestIdentifier[]> {\n const requestIdentifiers: RequestIdentifier[] = [];\n let offset = 0;\n let shouldContinue = false;\n\n if (!skipSombraCheck) {\n await validateSombraVersion(client);\n }\n\n do {\n let response: unknown;\n try {\n response = await sombra!\n .post<{\n /** Decrypted identifiers */\n identifiers: RequestIdentifier[];\n }>('v1/request-identifiers', {\n json: {\n first: PAGE_SIZE,\n offset,\n requestId,\n },\n })\n .json();\n } catch (err) {\n throw new Error(\n `Failed to fetch request identifiers: ${err?.response?.body || err?.message}`,\n );\n }\n\n const { identifiers: nodes } = decodeCodec(RequestIdentifiersResponse, response);\n\n requestIdentifiers.push(...nodes);\n\n offset += PAGE_SIZE;\n shouldContinue = nodes.length === PAGE_SIZE;\n } while (shouldContinue);\n\n return requestIdentifiers;\n}\n"],"mappings":"uTAEA,MAAa,EAAiB,CAAG;;;;;;;;ECS3B,EAAgC,UAEhC,EAAoB,EAAE,KAAK,CAE/B,GAAI,EAAE,OAEN,KAAM,EAAE,OAER,MAAO,EAAE,OAET,KAAM,EAAS,EAAe,CAC/B,CAAC,CAOW,EAA6B,EAAE,KAAK,CAC/C,YAAa,EAAE,MAAM,EAAkB,CACxC,CAAC,CASF,eAAsB,EAAsB,EAAsC,CAChF,GAAM,CACJ,aAAc,CACZ,OAAQ,CAAE,aAEV,MAAM,EASP,EAAQ,EAAgB,CAAE,SAAQ,CAAC,CAEtC,GAAI,GAAW,EAAO,GAAG,EAAS,EAA8B,CAC9D,MAAU,MACR,4BAA4B,EAA8B,kCAC3D,CAYL,eAAsB,EACpB,EACA,EACA,CACE,YACA,kBAAkB,IAOU,CAC9B,IAAM,EAA0C,EAAE,CAC9C,EAAS,EACT,EAAiB,GAEhB,GACH,MAAM,EAAsB,EAAO,CAGrC,EAAG,CACD,IAAI,EACJ,GAAI,CACF,EAAW,MAAM,EACd,KAGE,yBAA0B,CAC3B,KAAM,CACJ,MAAO,GACP,SACA,YACD,CACF,CAAC,CACD,MAAM,OACF,EAAK,CACZ,MAAU,MACR,wCAAwC,GAAK,UAAU,MAAQ,GAAK,UACrE,CAGH,GAAM,CAAE,YAAa,GAAU,EAAY,EAA4B,EAAS,CAEhF,EAAmB,KAAK,GAAG,EAAM,CAEjC,GAAU,GACV,EAAiB,EAAM,SAAW,SAC3B,GAET,OAAO"}
@@ -1,2 +0,0 @@
1
- import{t as e}from"./logger-Bj782ZYD.mjs";import{r as t}from"./RequestDataSilo-Rrc2dL9g.mjs";import{makeGraphQLRequest as n}from"@transcend-io/sdk";async function r(r,{requestId:i,dataSiloId:a,requestStatuses:o,statuses:s}){let{requestDataSilos:{totalCount:c}}=await n(r,t,{variables:{first:1,offset:0,filterBy:{dataSiloId:a,requestId:i,status:s,requestStatus:o}},logger:e});return c}async function i(r,{requestId:i,dataSiloId:a,requestStatuses:o,statuses:s,limit:c,onProgress:l}){let u=[],d=0,f=!1;do{let{requestDataSilos:{nodes:c}}=await n(r,t,{variables:{first:100,offset:d,filterBy:{dataSiloId:a,requestId:i,status:s,requestStatus:o}},logger:e});u.push(...c),d+=100,f=c.length===100,l?.(c.length)}while(f&&(!c||d<c));return u}async function a(e,{requestId:t,dataSiloId:n}){let r=await i(e,{requestId:t,dataSiloId:n});if(r.length!==1)throw Error(`Failed to find RequestDataSilo with requestId:${t},dataSiloId:${n}`);return r[0]}export{i as n,r,a as t};
2
- //# sourceMappingURL=fetchRequestDataSilo-0UvyeL60.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchRequestDataSilo-0UvyeL60.mjs","names":[],"sources":["../src/lib/graphql/fetchRequestDataSilo.ts"],"sourcesContent":["import { RequestAction, RequestDataSiloStatus, RequestStatus } from '@transcend-io/privacy-types';\nimport { makeGraphQLRequest } from '@transcend-io/sdk';\nimport { GraphQLClient } from 'graphql-request';\n\nimport { logger } from '../../logger.js';\nimport { REQUEST_DATA_SILOS } from './gqls/index.js';\n\nexport interface RequestDataSilo {\n /** ID of RequestDataSilo */\n id: string;\n /** Request */\n request: {\n /** Type of request */\n type: RequestAction;\n };\n}\n\nexport interface RequestDataSiloFilters {\n /** ID of request to filter on */\n requestId?: string;\n /** Data silo ID */\n dataSiloId?: string;\n /**\n * The statuses to filter on\n */\n statuses?: RequestDataSiloStatus[];\n /** The request statuses to filter on */\n requestStatuses?: RequestStatus[];\n}\n\n/**\n * Fetch a count of request data silos\n *\n * @param client - GraphQL client\n * @param options - Filter options\n * @returns List of request identifiers\n */\nexport async function fetchRequestDataSilosCount(\n client: GraphQLClient,\n { requestId, dataSiloId, requestStatuses, statuses }: RequestDataSiloFilters,\n): Promise<number> {\n const {\n requestDataSilos: { totalCount },\n } = await makeGraphQLRequest<{\n /** Request Data Silos */\n requestDataSilos: {\n /** List */\n nodes: RequestDataSilo[];\n /** Total count */\n totalCount: number;\n };\n }>(client, REQUEST_DATA_SILOS, {\n variables: {\n first: 1,\n offset: 0,\n filterBy: {\n dataSiloId,\n requestId,\n status: statuses,\n requestStatus: requestStatuses,\n },\n },\n logger,\n });\n\n return totalCount;\n}\n\nconst PAGE_SIZE = 100;\n\n/**\n * Fetch all request data silos by some filter criteria\n *\n * @param client - GraphQL client\n * @param options - Filter options\n * @returns List of request identifiers\n */\nexport async function fetchRequestDataSilos(\n client: GraphQLClient,\n {\n requestId,\n dataSiloId,\n requestStatuses,\n statuses,\n limit,\n onProgress,\n }: {\n /** ID of request to filter on */\n requestId?: string;\n /** Data silo ID */\n dataSiloId?: string;\n /**\n * The statuses to filter on\n */\n statuses?: RequestDataSiloStatus[];\n /** The request statuses to filter on */\n requestStatuses?: RequestStatus[];\n /** Limit on number of requests */\n limit?: number;\n /** Handle progress updates */\n onProgress?: (numUpdated: number) => void;\n },\n): Promise<RequestDataSilo[]> {\n const requestDataSilos: RequestDataSilo[] = [];\n let offset = 0;\n\n // Try to fetch an DataFlow with the same title\n let shouldContinue = false;\n do {\n const {\n requestDataSilos: { nodes },\n } = await makeGraphQLRequest<{\n /** Request Data Silos */\n requestDataSilos: {\n /** List */\n nodes: RequestDataSilo[];\n /** Total count */\n totalCount: number;\n };\n }>(client, REQUEST_DATA_SILOS, {\n variables: {\n first: PAGE_SIZE,\n offset,\n filterBy: {\n dataSiloId,\n requestId,\n status: statuses,\n requestStatus: requestStatuses,\n },\n },\n logger,\n });\n requestDataSilos.push(...nodes);\n\n offset += PAGE_SIZE;\n shouldContinue = nodes.length === PAGE_SIZE;\n onProgress?.(nodes.length);\n } while (shouldContinue && (!limit || offset < limit));\n\n return requestDataSilos;\n}\n\n/**\n * Fetch all request identifiers for a particular request\n *\n * @param client - GraphQL client\n * @param options - Filter options\n * @returns List of request identifiers\n */\nexport async function fetchRequestDataSilo(\n client: GraphQLClient,\n {\n requestId,\n dataSiloId,\n }: {\n /** ID of request to filter on */\n requestId: string;\n /** Data silo ID */\n dataSiloId: string;\n },\n): Promise<RequestDataSilo> {\n const nodes = await fetchRequestDataSilos(client, {\n requestId,\n dataSiloId,\n });\n if (nodes.length !== 1) {\n throw new Error(\n `Failed to find RequestDataSilo with requestId:${requestId},dataSiloId:${dataSiloId}`,\n );\n }\n\n return nodes[0];\n}\n"],"mappings":"oJAqCA,eAAsB,EACpB,EACA,CAAE,YAAW,aAAY,kBAAiB,YACzB,CACjB,GAAM,CACJ,iBAAkB,CAAE,eAClB,MAAM,EAQP,EAAQ,EAAoB,CAC7B,UAAW,CACT,MAAO,EACP,OAAQ,EACR,SAAU,CACR,aACA,YACA,OAAQ,EACR,cAAe,EAChB,CACF,CACD,SACD,CAAC,CAEF,OAAO,EAYT,eAAsB,EACpB,EACA,CACE,YACA,aACA,kBACA,WACA,QACA,cAiB0B,CAC5B,IAAM,EAAsC,EAAE,CAC1C,EAAS,EAGT,EAAiB,GACrB,EAAG,CACD,GAAM,CACJ,iBAAkB,CAAE,UAClB,MAAM,EAQP,EAAQ,EAAoB,CAC7B,UAAW,CACT,MAAO,IACP,SACA,SAAU,CACR,aACA,YACA,OAAQ,EACR,cAAe,EAChB,CACF,CACD,SACD,CAAC,CACF,EAAiB,KAAK,GAAG,EAAM,CAE/B,GAAU,IACV,EAAiB,EAAM,SAAW,IAClC,IAAa,EAAM,OAAO,OACnB,IAAmB,CAAC,GAAS,EAAS,IAE/C,OAAO,EAUT,eAAsB,EACpB,EACA,CACE,YACA,cAOwB,CAC1B,IAAM,EAAQ,MAAM,EAAsB,EAAQ,CAChD,YACA,aACD,CAAC,CACF,GAAI,EAAM,SAAW,EACnB,MAAU,MACR,iDAAiD,EAAU,cAAc,IAC1E,CAGH,OAAO,EAAM"}
@@ -1,33 +0,0 @@
1
- import{t as e}from"./logger-Bj782ZYD.mjs";import{makeGraphQLRequest as t}from"@transcend-io/sdk";import{gql as n}from"graphql-request";const r=n`
2
- query TranscendCliRequestFiles($first: Int!, $offset: Int!, $filterBy: RequestFileFiltersInput!) {
3
- requestFiles(
4
- filterBy: $filterBy
5
- first: $first
6
- offset: $offset
7
- orderBy: [{ field: createdAt, direction: ASC }, { field: id, direction: ASC }]
8
- ) {
9
- nodes {
10
- remoteId
11
- fileName
12
- }
13
- }
14
- }
15
- `,i=n`
16
- query TranscendCliBulkRequestFiles(
17
- $filterBy: BulkRequestFilesFiltersInput!
18
- $first: Int!
19
- $after: String
20
- ) {
21
- bulkRequestFiles(filterBy: $filterBy, first: $first, after: $after) {
22
- nodes {
23
- remoteId
24
- fileName
25
- }
26
- pageInfo {
27
- hasNextPage
28
- endCursor
29
- }
30
- }
31
- }
32
- `;async function a(n,r,a){let o=[],s=null,c=!1;do{let{bulkRequestFiles:{nodes:l,pageInfo:u}}=await t(n,i,{variables:{filterBy:{...a},first:r,after:s??void 0},logger:e});o.push(...l),c=u.hasNextPage,s=u.endCursor}while(c);return o.sort((e,t)=>e.remoteId.localeCompare(t.remoteId))}export{i as n,r,a as t};
33
- //# sourceMappingURL=fetchRequestFilesForRequest-CJH2iB-P.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchRequestFilesForRequest-CJH2iB-P.mjs","names":[],"sources":["../src/lib/graphql/gqls/requestFile.ts","../src/lib/graphql/fetchRequestFilesForRequest.ts"],"sourcesContent":["import { gql } from 'graphql-request';\n\n// TODO: https://transcend.height.app/T-27909 - enable optimizations\n// isExportCsv: true\n// useMaster: false\nexport const REQUEST_FILES = gql`\n query TranscendCliRequestFiles($first: Int!, $offset: Int!, $filterBy: RequestFileFiltersInput!) {\n requestFiles(\n filterBy: $filterBy\n first: $first\n offset: $offset\n orderBy: [{ field: createdAt, direction: ASC }, { field: id, direction: ASC }]\n ) {\n nodes {\n remoteId\n fileName\n }\n }\n }\n`;\n\nexport const BULK_REQUEST_FILES = gql`\n query TranscendCliBulkRequestFiles(\n $filterBy: BulkRequestFilesFiltersInput!\n $first: Int!\n $after: String\n ) {\n bulkRequestFiles(filterBy: $filterBy, first: $first, after: $after) {\n nodes {\n remoteId\n fileName\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n`;\n","import { makeGraphQLRequest } from '@transcend-io/sdk';\nimport { GraphQLClient } from 'graphql-request';\n\nimport { logger } from '../../logger.js';\nimport { BULK_REQUEST_FILES } from './gqls/index.js';\n\nexport interface RequestFileCursor {\n /** The ID of the request file */\n id: string;\n /** The created at timestamp */\n createdAt: string;\n}\n\nexport interface RequestFile {\n /** The remote ID */\n remoteId: string;\n /** The file name */\n fileName: string;\n}\n\nexport interface RequestFileResponse {\n /** RequestFiles */\n bulkRequestFiles: {\n /** List */\n nodes: RequestFile[];\n /** The page info */\n pageInfo: {\n /** Whether there is a next page */\n hasNextPage: boolean;\n /** The end cursor */\n endCursor: string;\n };\n };\n}\n\n/**\n * Fetch all RequestFiles for a single request\n *\n * @param client - GraphQL client\n * @param pageSize - How many request files to fetch per API call\n * @param filterBy - Filter by\n * @returns All RequestFiles in the organization\n */\nexport async function fetchRequestFilesForRequest(\n client: GraphQLClient,\n /** How many request files to fetch per API call */\n pageSize: number,\n filterBy: {\n /** Filter by request IDs */\n requestIds: string[];\n /** Filter by data silo ID */\n dataSiloIds: string[];\n },\n): Promise<RequestFile[]> {\n const requestFiles: RequestFile[] = [];\n let cursor: string | null = null;\n\n // Whether to continue looping\n let shouldContinue = false;\n do {\n const response: RequestFileResponse = await makeGraphQLRequest<RequestFileResponse>(\n client,\n BULK_REQUEST_FILES,\n {\n variables: {\n filterBy: {\n ...filterBy,\n },\n first: pageSize,\n after: cursor ?? undefined,\n },\n logger,\n },\n );\n const {\n bulkRequestFiles: { nodes, pageInfo },\n } = response;\n requestFiles.push(...nodes);\n shouldContinue = pageInfo.hasNextPage;\n cursor = pageInfo.endCursor;\n } while (shouldContinue);\n\n return requestFiles.sort((a, b) => a.remoteId.localeCompare(b.remoteId));\n}\n"],"mappings":"uIAKA,MAAa,EAAgB,CAAG;;;;;;;;;;;;;;EAgBnB,EAAqB,CAAG;;;;;;;;;;;;;;;;;ECsBrC,eAAsB,EACpB,EAEA,EACA,EAMwB,CACxB,IAAM,EAA8B,EAAE,CAClC,EAAwB,KAGxB,EAAiB,GACrB,EAAG,CAeD,GAAM,CACJ,iBAAkB,CAAE,QAAO,aAfS,MAAM,EAC1C,EACA,EACA,CACE,UAAW,CACT,SAAU,CACR,GAAG,EACJ,CACD,MAAO,EACP,MAAO,GAAU,IAAA,GAClB,CACD,SACD,CACF,CAID,EAAa,KAAK,GAAG,EAAM,CAC3B,EAAiB,EAAS,YAC1B,EAAS,EAAS,gBACX,GAET,OAAO,EAAa,MAAM,EAAG,IAAM,EAAE,SAAS,cAAc,EAAE,SAAS,CAAC"}
@@ -1,2 +0,0 @@
1
- import{a as e}from"./constants-XOsAW1__.mjs";import{t}from"./logger-Bj782ZYD.mjs";import n from"colors";import{assumeRole as r,buildTranscendGraphQLClientGeneric as i,createApiKey as a,deleteApiKey as o,fetchAllApiKeys as s,loginUser as c}from"@transcend-io/sdk";import{mapSeries as l}from"@transcend-io/utils";async function u({email:u,password:d,scopes:f,apiKeyTitle:p,parentOrganizationId:m,deleteExistingApiKey:h=!0,createNewApiKey:g=!0,transcendUrl:_=e}){let v=await i(_,{});t.info(n.magenta(`Logging in using email and password.`));let{roles:y,loginCookie:b}=await c(v,{email:u,password:d,logger:t});t.info(n.green(`Successfully logged in and found ${y.length} role${y.length===1?``:`s`}!`));let x=m?y.filter(e=>e.organization.id===m||e.organization.parentOrganizationId===m):y;v.setHeaders({Cookie:b});let S=[],C=[];return t.info(n.magenta(`Generating API keys with title: ${p}, scopes: ${f.join(`,`)}.`)),await l(x,async e=>{try{await r(v,{roleId:e.id,email:u,logger:t}),t.info(n.magenta(`Checking if API key already exists in organization "${e.organization.name}" with title: "${p}".`));let[i]=await s(v,{titles:[p],logger:t});if(i&&h)t.info(n.yellow(`Deleting existing API key in "${e.organization.name}" with title: "${p}".`)),await o(v,i.id,{logger:t}),t.info(n.green(`Successfully deleted API key in "${e.organization.name}" with title: "${p}".`));else if(i)throw Error(`API key already exists with title: "${p}"`);if(g){t.info(n.magenta(`Creating API key in "${e.organization.name}" with title: "${p}".`));let{apiKey:r}=await a(v,{title:p,scopes:f},{logger:t});S.push({organizationName:e.organization.name,organizationId:e.organization.id,apiKey:r}),t.info(n.green(`Successfully created API key in "${e.organization.name}" with title: "${p}".`))}else S.push({organizationName:e.organization.name,organizationId:e.organization.id,apiKey:``})}catch(r){t.error(n.red(`Failed to create API key in organization "${e.organization.name}"! - ${r.message}`)),C.push({organizationName:e.organization.name,organizationId:e.organization.id,error:r.message})}}),t.info(n.green(`Successfully created ${S.length} API key${S.length===1?``:`s`}`)),C.length>0&&t.error(n.red(`Failed to create ${C.length} API key${C.length===1?``:`s`}!`)),{errors:C,apiKeys:S}}export{u as t};
2
- //# sourceMappingURL=generateCrossAccountApiKeys-DztJoLQS.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateCrossAccountApiKeys-DztJoLQS.mjs","names":[],"sources":["../src/lib/api-keys/generateCrossAccountApiKeys.ts"],"sourcesContent":["import { ScopeName } from '@transcend-io/privacy-types';\nimport {\n buildTranscendGraphQLClientGeneric,\n loginUser,\n createApiKey,\n fetchAllApiKeys,\n deleteApiKey,\n assumeRole,\n} from '@transcend-io/sdk';\nimport { mapSeries } from '@transcend-io/utils';\nimport colors from 'colors';\n\nimport { StoredApiKey } from '../../codecs.js';\nimport { DEFAULT_TRANSCEND_API } from '../../constants.js';\nimport { logger } from '../../logger.js';\n\nexport interface ApiKeyGenerateError {\n /** Name of instance */\n organizationName: string;\n /** Error */\n error: string;\n /** Organization ID API key is for */\n organizationId: string;\n}\n\n/**\n * Generate API keys across multiple transcend accounts\n *\n * @param options - Options\n * @returns Number of API keys created\n */\nexport async function generateCrossAccountApiKeys({\n email,\n password,\n scopes,\n apiKeyTitle,\n parentOrganizationId,\n deleteExistingApiKey = true,\n createNewApiKey = true,\n transcendUrl = DEFAULT_TRANSCEND_API,\n}: {\n /** Email address of user generating API keys */\n email: string;\n /** Password of user generating API keys */\n password: string;\n /** Filter for organizations that match this parent organization ID */\n parentOrganizationId?: string;\n /** Title of the API create to create */\n apiKeyTitle: string;\n /** Title of the API create to create */\n scopes: ScopeName[];\n /** API URL for Transcend backend */\n transcendUrl?: string;\n /** When true delete existing API keys with that title, if set to false an API key exists with that title, an error is thrown */\n deleteExistingApiKey?: boolean;\n /** When true, generate new API keys, otherwise only will delete past API keys */\n createNewApiKey?: boolean;\n}): Promise<{\n /** Successfully generated */\n apiKeys: StoredApiKey[];\n /** Error results */\n errors: ApiKeyGenerateError[];\n}> {\n // Create GraphQL client\n const client = await buildTranscendGraphQLClientGeneric(transcendUrl, {});\n\n // Login the user\n logger.info(colors.magenta('Logging in using email and password.'));\n const { roles, loginCookie } = await loginUser(client, { email, password, logger });\n logger.info(\n colors.green(\n `Successfully logged in and found ${roles.length} role${roles.length === 1 ? '' : 's'}!`,\n ),\n );\n\n // Filter down by parentOrganizationId\n const filteredRoles = parentOrganizationId\n ? roles.filter(\n (role) =>\n role.organization.id === parentOrganizationId ||\n role.organization.parentOrganizationId === parentOrganizationId,\n )\n : roles;\n\n // Save cookie to call route subsequent times\n client.setHeaders({\n Cookie: loginCookie,\n });\n\n // Save the resulting API keys\n const results: StoredApiKey[] = [];\n const errors: ApiKeyGenerateError[] = [];\n\n // Generate API keys\n logger.info(\n colors.magenta(`Generating API keys with title: ${apiKeyTitle}, scopes: ${scopes.join(',')}.`),\n );\n\n // Map over each role\n await mapSeries(filteredRoles, async (role) => {\n try {\n // Log into the other instance\n await assumeRole(client, { roleId: role.id, email, logger });\n\n // Grab API keys with that title\n logger.info(\n colors.magenta(\n `Checking if API key already exists in organization \"${role.organization.name}\" with title: \"${apiKeyTitle}\".`,\n ),\n );\n\n // Delete existing API key\n const [apiKeyWithTitle] = await fetchAllApiKeys(client, { titles: [apiKeyTitle], logger });\n if (apiKeyWithTitle && deleteExistingApiKey) {\n logger.info(\n colors.yellow(\n `Deleting existing API key in \"${role.organization.name}\" with title: \"${apiKeyTitle}\".`,\n ),\n );\n await deleteApiKey(client, apiKeyWithTitle.id, { logger });\n logger.info(\n colors.green(\n `Successfully deleted API key in \"${role.organization.name}\" with title: \"${apiKeyTitle}\".`,\n ),\n );\n } else if (apiKeyWithTitle) {\n // throw error if one exists but not configured to delete\n throw new Error(`API key already exists with title: \"${apiKeyTitle}\"`);\n }\n\n // Create the API key\n if (createNewApiKey) {\n logger.info(\n colors.magenta(\n `Creating API key in \"${role.organization.name}\" with title: \"${apiKeyTitle}\".`,\n ),\n );\n const { apiKey } = await createApiKey(client, { title: apiKeyTitle, scopes }, { logger });\n results.push({\n organizationName: role.organization.name,\n organizationId: role.organization.id,\n apiKey,\n });\n logger.info(\n colors.green(\n `Successfully created API key in \"${role.organization.name}\" with title: \"${apiKeyTitle}\".`,\n ),\n );\n } else {\n // Delete only\n results.push({\n organizationName: role.organization.name,\n organizationId: role.organization.id,\n apiKey: '',\n });\n }\n } catch (err) {\n logger.error(\n colors.red(\n `Failed to create API key in organization \"${role.organization.name}\"! - ${err.message}`,\n ),\n );\n errors.push({\n organizationName: role.organization.name,\n organizationId: role.organization.id,\n error: err.message,\n });\n }\n });\n logger.info(\n colors.green(\n `Successfully created ${results.length} API key${results.length === 1 ? '' : 's'}`,\n ),\n );\n\n if (errors.length > 0) {\n logger.error(\n colors.red(`Failed to create ${errors.length} API key${errors.length === 1 ? '' : 's'}!`),\n );\n }\n\n return { errors, apiKeys: results };\n}\n"],"mappings":"uTA+BA,eAAsB,EAA4B,CAChD,QACA,WACA,SACA,cACA,uBACA,uBAAuB,GACvB,kBAAkB,GAClB,eAAe,GAuBd,CAED,IAAM,EAAS,MAAM,EAAmC,EAAc,EAAE,CAAC,CAGzE,EAAO,KAAK,EAAO,QAAQ,uCAAuC,CAAC,CACnE,GAAM,CAAE,QAAO,eAAgB,MAAM,EAAU,EAAQ,CAAE,QAAO,WAAU,SAAQ,CAAC,CACnF,EAAO,KACL,EAAO,MACL,oCAAoC,EAAM,OAAO,OAAO,EAAM,SAAW,EAAI,GAAK,IAAI,GACvF,CACF,CAGD,IAAM,EAAgB,EAClB,EAAM,OACH,GACC,EAAK,aAAa,KAAO,GACzB,EAAK,aAAa,uBAAyB,EAC9C,CACD,EAGJ,EAAO,WAAW,CAChB,OAAQ,EACT,CAAC,CAGF,IAAM,EAA0B,EAAE,CAC5B,EAAgC,EAAE,CA0FxC,OAvFA,EAAO,KACL,EAAO,QAAQ,mCAAmC,EAAY,YAAY,EAAO,KAAK,IAAI,CAAC,GAAG,CAC/F,CAGD,MAAM,EAAU,EAAe,KAAO,IAAS,CAC7C,GAAI,CAEF,MAAM,EAAW,EAAQ,CAAE,OAAQ,EAAK,GAAI,QAAO,SAAQ,CAAC,CAG5D,EAAO,KACL,EAAO,QACL,uDAAuD,EAAK,aAAa,KAAK,iBAAiB,EAAY,IAC5G,CACF,CAGD,GAAM,CAAC,GAAmB,MAAM,EAAgB,EAAQ,CAAE,OAAQ,CAAC,EAAY,CAAE,SAAQ,CAAC,CAC1F,GAAI,GAAmB,EACrB,EAAO,KACL,EAAO,OACL,iCAAiC,EAAK,aAAa,KAAK,iBAAiB,EAAY,IACtF,CACF,CACD,MAAM,EAAa,EAAQ,EAAgB,GAAI,CAAE,SAAQ,CAAC,CAC1D,EAAO,KACL,EAAO,MACL,oCAAoC,EAAK,aAAa,KAAK,iBAAiB,EAAY,IACzF,CACF,SACQ,EAET,MAAU,MAAM,uCAAuC,EAAY,GAAG,CAIxE,GAAI,EAAiB,CACnB,EAAO,KACL,EAAO,QACL,wBAAwB,EAAK,aAAa,KAAK,iBAAiB,EAAY,IAC7E,CACF,CACD,GAAM,CAAE,UAAW,MAAM,EAAa,EAAQ,CAAE,MAAO,EAAa,SAAQ,CAAE,CAAE,SAAQ,CAAC,CACzF,EAAQ,KAAK,CACX,iBAAkB,EAAK,aAAa,KACpC,eAAgB,EAAK,aAAa,GAClC,SACD,CAAC,CACF,EAAO,KACL,EAAO,MACL,oCAAoC,EAAK,aAAa,KAAK,iBAAiB,EAAY,IACzF,CACF,MAGD,EAAQ,KAAK,CACX,iBAAkB,EAAK,aAAa,KACpC,eAAgB,EAAK,aAAa,GAClC,OAAQ,GACT,CAAC,OAEG,EAAK,CACZ,EAAO,MACL,EAAO,IACL,6CAA6C,EAAK,aAAa,KAAK,OAAO,EAAI,UAChF,CACF,CACD,EAAO,KAAK,CACV,iBAAkB,EAAK,aAAa,KACpC,eAAgB,EAAK,aAAa,GAClC,MAAO,EAAI,QACZ,CAAC,GAEJ,CACF,EAAO,KACL,EAAO,MACL,wBAAwB,EAAQ,OAAO,UAAU,EAAQ,SAAW,EAAI,GAAK,MAC9E,CACF,CAEG,EAAO,OAAS,GAClB,EAAO,MACL,EAAO,IAAI,oBAAoB,EAAO,OAAO,UAAU,EAAO,SAAW,EAAI,GAAK,IAAI,GAAG,CAC1F,CAGI,CAAE,SAAQ,QAAS,EAAS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"impl-BGGm947r2.mjs","names":["skipRequestDataSilosHelper"],"sources":["../src/commands/request/system/skip-request-data-silos/impl.ts"],"sourcesContent":["import type {\n RequestAction,\n RequestDataSiloStatus,\n RequestStatus,\n} from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../../context.js';\nimport { doneInputValidation } from '../../../../lib/cli/done-input-validation.js';\nimport { skipRequestDataSilos as skipRequestDataSilosHelper } from '../../../../lib/requests/index.js';\n\nexport interface SkipRequestDataSilosCommandFlags {\n auth: string;\n dataSiloId: string;\n transcendUrl: string;\n statuses: RequestStatus[];\n status: (typeof RequestDataSiloStatus)['Skipped'] | (typeof RequestDataSiloStatus)['Resolved'];\n actionTypes?: RequestAction[];\n}\n\nexport async function skipRequestDataSilos(\n this: LocalContext,\n {\n auth,\n dataSiloId,\n status,\n statuses,\n transcendUrl,\n actionTypes,\n }: SkipRequestDataSilosCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await skipRequestDataSilosHelper({\n transcendUrl,\n auth,\n status,\n dataSiloId,\n requestStatuses: statuses,\n actionTypes,\n });\n}\n"],"mappings":"4GAmBA,eAAsB,EAEpB,CACE,OACA,aACA,SACA,WACA,eACA,eAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAMA,EAA2B,CAC/B,eACA,OACA,SACA,aACA,gBAAiB,EACjB,cACD,CAAC"}
@@ -1,2 +0,0 @@
1
- import{t as e}from"./uploadCookiesFromCsv-B42cZgYW.mjs";import{t}from"./done-input-validation-C5rgR0Wr.mjs";async function n({auth:n,trackerStatus:r,file:i,transcendUrl:a}){t(this.process.exit),await e({auth:n,trackerStatus:r,file:i,transcendUrl:a})}export{n as uploadCookiesFromCsv};
2
- //# sourceMappingURL=impl-BVHfSIVG.mjs.map