@transcend-io/cli 8.33.0 → 8.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -17
- package/dist/{api-keys-CeNcWGoF.cjs → api-keys-CDp8NUhN.cjs} +2 -2
- package/dist/{api-keys-CeNcWGoF.cjs.map → api-keys-CDp8NUhN.cjs.map} +1 -1
- package/dist/{app-DcXc-oSw.cjs → app-rVGy2Ks-.cjs} +18 -18
- package/dist/app-rVGy2Ks-.cjs.map +1 -0
- package/dist/bin/bash-complete.cjs +1 -1
- package/dist/bin/cli.cjs +1 -1
- package/dist/bin/deprecated-command.cjs +1 -1
- package/dist/{code-scanning-CkCFWUcH.cjs → code-scanning-BwfVNIHr.cjs} +2 -2
- package/dist/{code-scanning-CkCFWUcH.cjs.map → code-scanning-BwfVNIHr.cjs.map} +1 -1
- package/dist/{command-D5Fq3lQQ.cjs → command-3fhEz5PC.cjs} +2 -2
- package/dist/{command-D5Fq3lQQ.cjs.map → command-3fhEz5PC.cjs.map} +1 -1
- package/dist/{consent-manager-BX6ZnSbw.cjs → consent-manager-DXWjvCtI.cjs} +2 -2
- package/dist/{consent-manager-BX6ZnSbw.cjs.map → consent-manager-DXWjvCtI.cjs.map} +1 -1
- package/dist/{constants-BD9ZSD52.cjs → constants-B-TmLA0w.cjs} +2 -2
- package/dist/{constants-BD9ZSD52.cjs.map → constants-B-TmLA0w.cjs.map} +1 -1
- package/dist/{cron-D1F4Wo3v.cjs → cron-DQHN57v7.cjs} +2 -2
- package/dist/{cron-D1F4Wo3v.cjs.map → cron-DQHN57v7.cjs.map} +1 -1
- package/dist/{data-inventory-DWDKRQdc.cjs → data-inventory-flXV6qPl.cjs} +2 -2
- package/dist/{data-inventory-DWDKRQdc.cjs.map → data-inventory-flXV6qPl.cjs.map} +1 -1
- package/dist/{dataFlowsToDataSilos-Cgf4hNWx.cjs → dataFlowsToDataSilos-Lk7WQ39V.cjs} +2 -2
- package/dist/{dataFlowsToDataSilos-Cgf4hNWx.cjs.map → dataFlowsToDataSilos-Lk7WQ39V.cjs.map} +1 -1
- package/dist/{impl-C-7OtS7U.cjs → impl-2u3q0rji.cjs} +2 -2
- package/dist/{impl-C-7OtS7U.cjs.map → impl-2u3q0rji.cjs.map} +1 -1
- package/dist/{impl-Cin6Sm_A.cjs → impl-3ih-x09b.cjs} +2 -2
- package/dist/{impl-Cin6Sm_A.cjs.map → impl-3ih-x09b.cjs.map} +1 -1
- package/dist/{impl-BbzXYtNe.cjs → impl-80GXtjmz.cjs} +2 -2
- package/dist/{impl-BbzXYtNe.cjs.map → impl-80GXtjmz.cjs.map} +1 -1
- package/dist/{impl-DzhRBdKP.cjs → impl-8PlQ3Cvy.cjs} +2 -2
- package/dist/{impl-DzhRBdKP.cjs.map → impl-8PlQ3Cvy.cjs.map} +1 -1
- package/dist/{impl-DsxQG1dX.cjs → impl-B1p9GNrM.cjs} +2 -2
- package/dist/{impl-DsxQG1dX.cjs.map → impl-B1p9GNrM.cjs.map} +1 -1
- package/dist/{impl-yHnQQ2CQ.cjs → impl-B4iI3rcF.cjs} +2 -2
- package/dist/{impl-yHnQQ2CQ.cjs.map → impl-B4iI3rcF.cjs.map} +1 -1
- package/dist/{impl-BIKOcvus.cjs → impl-B6qG10UZ.cjs} +2 -2
- package/dist/{impl-BIKOcvus.cjs.map → impl-B6qG10UZ.cjs.map} +1 -1
- package/dist/{impl-DM1304bO.cjs → impl-BJ8i_gqQ.cjs} +2 -2
- package/dist/{impl-DM1304bO.cjs.map → impl-BJ8i_gqQ.cjs.map} +1 -1
- package/dist/{impl-CVfl7uBT.cjs → impl-BZc5cmdE.cjs} +2 -2
- package/dist/{impl-CVfl7uBT.cjs.map → impl-BZc5cmdE.cjs.map} +1 -1
- package/dist/{impl-CGyUqfRC.cjs → impl-Bc9DMV-V.cjs} +2 -2
- package/dist/{impl-CGyUqfRC.cjs.map → impl-Bc9DMV-V.cjs.map} +1 -1
- package/dist/{impl-CbgeX1jH.cjs → impl-BjsBvvGF.cjs} +2 -2
- package/dist/{impl-CbgeX1jH.cjs.map → impl-BjsBvvGF.cjs.map} +1 -1
- package/dist/{impl-B5OPMsjg.cjs → impl-BqyO4vYa.cjs} +2 -2
- package/dist/{impl-B5OPMsjg.cjs.map → impl-BqyO4vYa.cjs.map} +1 -1
- package/dist/{impl-B6BUB0mM.cjs → impl-Bsqlw8_g.cjs} +2 -2
- package/dist/{impl-B6BUB0mM.cjs.map → impl-Bsqlw8_g.cjs.map} +1 -1
- package/dist/{impl-CUv-uEcw.cjs → impl-BuJNWbOW.cjs} +2 -2
- package/dist/{impl-CUv-uEcw.cjs.map → impl-BuJNWbOW.cjs.map} +1 -1
- package/dist/{impl-BHn8Xyv1.cjs → impl-C2_oQebA.cjs} +2 -2
- package/dist/{impl-BHn8Xyv1.cjs.map → impl-C2_oQebA.cjs.map} +1 -1
- package/dist/{impl-C90tUCre.cjs → impl-CCeEUy6z.cjs} +2 -2
- package/dist/{impl-C90tUCre.cjs.map → impl-CCeEUy6z.cjs.map} +1 -1
- package/dist/impl-CUkxcZrf.cjs +2 -0
- package/dist/impl-CUkxcZrf.cjs.map +1 -0
- package/dist/{impl-BDnouOC0.cjs → impl-CZmlwib3.cjs} +2 -2
- package/dist/{impl-BDnouOC0.cjs.map → impl-CZmlwib3.cjs.map} +1 -1
- package/dist/{impl-D5hff3ap.cjs → impl-CaSO2LPb.cjs} +2 -2
- package/dist/{impl-D5hff3ap.cjs.map → impl-CaSO2LPb.cjs.map} +1 -1
- package/dist/{impl-Dp8YKwTO.cjs → impl-CaUSDPuW.cjs} +2 -2
- package/dist/{impl-Dp8YKwTO.cjs.map → impl-CaUSDPuW.cjs.map} +1 -1
- package/dist/{impl-oR9gq6xk.cjs → impl-Cc-Lfiig.cjs} +2 -2
- package/dist/{impl-oR9gq6xk.cjs.map → impl-Cc-Lfiig.cjs.map} +1 -1
- package/dist/{impl-BsGJeF__.cjs → impl-CpoSlP1o.cjs} +2 -2
- package/dist/{impl-BsGJeF__.cjs.map → impl-CpoSlP1o.cjs.map} +1 -1
- package/dist/{impl-CTL3WMFF.cjs → impl-CrsHy3BZ.cjs} +2 -2
- package/dist/{impl-CTL3WMFF.cjs.map → impl-CrsHy3BZ.cjs.map} +1 -1
- package/dist/{impl-B4qjQXOd.cjs → impl-CtMVi5m1.cjs} +2 -2
- package/dist/{impl-B4qjQXOd.cjs.map → impl-CtMVi5m1.cjs.map} +1 -1
- package/dist/{impl-DS6F9y25.cjs → impl-Cw7Jxx0V.cjs} +2 -2
- package/dist/{impl-DS6F9y25.cjs.map → impl-Cw7Jxx0V.cjs.map} +1 -1
- package/dist/{impl-CxdbiV2X.cjs → impl-CwPRkBc0.cjs} +2 -2
- package/dist/{impl-CxdbiV2X.cjs.map → impl-CwPRkBc0.cjs.map} +1 -1
- package/dist/{impl-D3zjP2ku.cjs → impl-CzO7dqsL.cjs} +2 -2
- package/dist/{impl-D3zjP2ku.cjs.map → impl-CzO7dqsL.cjs.map} +1 -1
- package/dist/{impl-iq1sVHav.cjs → impl-D0r4dSxM.cjs} +2 -2
- package/dist/{impl-iq1sVHav.cjs.map → impl-D0r4dSxM.cjs.map} +1 -1
- package/dist/{impl-BMRqCmae.cjs → impl-DBnRvkUi.cjs} +2 -2
- package/dist/{impl-BMRqCmae.cjs.map → impl-DBnRvkUi.cjs.map} +1 -1
- package/dist/{impl-kVQqDHo_.cjs → impl-DOmKR8yz.cjs} +2 -2
- package/dist/{impl-kVQqDHo_.cjs.map → impl-DOmKR8yz.cjs.map} +1 -1
- package/dist/{impl-BbW2KaPV.cjs → impl-DX7gLoTo.cjs} +2 -2
- package/dist/{impl-BbW2KaPV.cjs.map → impl-DX7gLoTo.cjs.map} +1 -1
- package/dist/{impl-rnU7yUjG.cjs → impl-DcQ_HfDZ.cjs} +2 -2
- package/dist/{impl-rnU7yUjG.cjs.map → impl-DcQ_HfDZ.cjs.map} +1 -1
- package/dist/{impl-BuWbatdy.cjs → impl-DjTjLgew.cjs} +2 -2
- package/dist/{impl-BuWbatdy.cjs.map → impl-DjTjLgew.cjs.map} +1 -1
- package/dist/{impl-YgCkAZKW.cjs → impl-DoP4FUJI.cjs} +2 -2
- package/dist/{impl-YgCkAZKW.cjs.map → impl-DoP4FUJI.cjs.map} +1 -1
- package/dist/{impl-DFFHnEfz.cjs → impl-DrNWIvMG.cjs} +2 -2
- package/dist/{impl-DFFHnEfz.cjs.map → impl-DrNWIvMG.cjs.map} +1 -1
- package/dist/{impl-DKLcpd4u.cjs → impl-DvlAq8xf.cjs} +2 -2
- package/dist/{impl-DKLcpd4u.cjs.map → impl-DvlAq8xf.cjs.map} +1 -1
- package/dist/{impl-CZhxfPM5.cjs → impl-E1vzeNmp.cjs} +2 -2
- package/dist/{impl-CZhxfPM5.cjs.map → impl-E1vzeNmp.cjs.map} +1 -1
- package/dist/{impl-kcqjjB9c.cjs → impl-EEKe6HmF.cjs} +2 -2
- package/dist/{impl-kcqjjB9c.cjs.map → impl-EEKe6HmF.cjs.map} +1 -1
- package/dist/{impl-C_OukxEb.cjs → impl-NdV_MRsm.cjs} +2 -2
- package/dist/{impl-C_OukxEb.cjs.map → impl-NdV_MRsm.cjs.map} +1 -1
- package/dist/{impl-CjYWoHKD.cjs → impl-TQVXJemY.cjs} +2 -2
- package/dist/{impl-CjYWoHKD.cjs.map → impl-TQVXJemY.cjs.map} +1 -1
- package/dist/{impl-PFoDCPAv.cjs → impl-b6KwZ74o.cjs} +2 -2
- package/dist/{impl-PFoDCPAv.cjs.map → impl-b6KwZ74o.cjs.map} +1 -1
- package/dist/{impl-C9fSANNl.cjs → impl-t_fZSUcj.cjs} +2 -2
- package/dist/{impl-C9fSANNl.cjs.map → impl-t_fZSUcj.cjs.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +62 -62
- package/dist/{manual-enrichment-CYHP0rrX.cjs → manual-enrichment-Y_BQaSZQ.cjs} +2 -2
- package/dist/{manual-enrichment-CYHP0rrX.cjs.map → manual-enrichment-Y_BQaSZQ.cjs.map} +1 -1
- package/dist/{pooling-BxR5ih0w.cjs → pooling-Ct83vfEh.cjs} +2 -2
- package/dist/{pooling-BxR5ih0w.cjs.map → pooling-Ct83vfEh.cjs.map} +1 -1
- package/dist/{preference-management-ChwQxoo8.cjs → preference-management-5uJDKuMK.cjs} +3 -3
- package/dist/{preference-management-ChwQxoo8.cjs.map → preference-management-5uJDKuMK.cjs.map} +1 -1
- package/dist/{syncConfigurationToTranscend-B9c2w6d0.cjs → syncConfigurationToTranscend-Bpge5AcC.cjs} +3 -3
- package/dist/syncConfigurationToTranscend-Bpge5AcC.cjs.map +1 -0
- package/dist/{uploadConsents-d1VkrHk6.cjs → uploadConsents-CJc_6Qwd.cjs} +2 -2
- package/dist/{uploadConsents-d1VkrHk6.cjs.map → uploadConsents-CJc_6Qwd.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/app-DcXc-oSw.cjs.map +0 -1
- package/dist/impl-D5rwOHR4.cjs +0 -2
- package/dist/impl-D5rwOHR4.cjs.map +0 -1
- package/dist/syncConfigurationToTranscend-B9c2w6d0.cjs.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -5674,8 +5674,6 @@ declare const ProcessingPurposePreviewInput: t.IntersectionC<[t.TypeC<{
|
|
|
5674
5674
|
/** The parent purpose */
|
|
5675
5675
|
purpose: t.KeyofC<{
|
|
5676
5676
|
HR: unknown;
|
|
5677
|
-
OTHER: unknown;
|
|
5678
|
-
UNSPECIFIED: unknown;
|
|
5679
5677
|
ESSENTIAL: unknown;
|
|
5680
5678
|
ADDITIONAL_FUNCTIONALITY: unknown;
|
|
5681
5679
|
ADVERTISING: unknown;
|
|
@@ -5686,6 +5684,8 @@ declare const ProcessingPurposePreviewInput: t.IntersectionC<[t.TypeC<{
|
|
|
5686
5684
|
LEGAL: unknown;
|
|
5687
5685
|
TRANSFER: unknown;
|
|
5688
5686
|
SALE: unknown;
|
|
5687
|
+
OTHER: unknown;
|
|
5688
|
+
UNSPECIFIED: unknown;
|
|
5689
5689
|
}>;
|
|
5690
5690
|
}>, t.PartialC<{
|
|
5691
5691
|
/** User-defined name for this processing purpose sub category */
|
|
@@ -5700,6 +5700,8 @@ declare const DataCategoryPreviewInput: t.IntersectionC<[t.TypeC<{
|
|
|
5700
5700
|
/** The parent category */
|
|
5701
5701
|
category: t.KeyofC<{
|
|
5702
5702
|
ID: unknown;
|
|
5703
|
+
OTHER: unknown;
|
|
5704
|
+
UNSPECIFIED: unknown;
|
|
5703
5705
|
FINANCIAL: unknown;
|
|
5704
5706
|
HEALTH: unknown;
|
|
5705
5707
|
CONTACT: unknown;
|
|
@@ -5712,8 +5714,6 @@ declare const DataCategoryPreviewInput: t.IntersectionC<[t.TypeC<{
|
|
|
5712
5714
|
TRACKING: unknown;
|
|
5713
5715
|
DEVICE: unknown;
|
|
5714
5716
|
SURVEY: unknown;
|
|
5715
|
-
OTHER: unknown;
|
|
5716
|
-
UNSPECIFIED: unknown;
|
|
5717
5717
|
NOT_PERSONAL_DATA: unknown;
|
|
5718
5718
|
INTEGRATION_IDENTIFIER: unknown;
|
|
5719
5719
|
}>;
|
|
@@ -5732,6 +5732,8 @@ declare const DataCategoryGuessInput: t.IntersectionC<[t.TypeC<{
|
|
|
5732
5732
|
/** The parent category */
|
|
5733
5733
|
category: t.KeyofC<{
|
|
5734
5734
|
ID: unknown;
|
|
5735
|
+
OTHER: unknown;
|
|
5736
|
+
UNSPECIFIED: unknown;
|
|
5735
5737
|
FINANCIAL: unknown;
|
|
5736
5738
|
HEALTH: unknown;
|
|
5737
5739
|
CONTACT: unknown;
|
|
@@ -5744,8 +5746,6 @@ declare const DataCategoryGuessInput: t.IntersectionC<[t.TypeC<{
|
|
|
5744
5746
|
TRACKING: unknown;
|
|
5745
5747
|
DEVICE: unknown;
|
|
5746
5748
|
SURVEY: unknown;
|
|
5747
|
-
OTHER: unknown;
|
|
5748
|
-
UNSPECIFIED: unknown;
|
|
5749
5749
|
NOT_PERSONAL_DATA: unknown;
|
|
5750
5750
|
INTEGRATION_IDENTIFIER: unknown;
|
|
5751
5751
|
}>;
|
|
@@ -5776,6 +5776,8 @@ declare const DataCategoryRecommendationInput: t.IntersectionC<[t.TypeC<{
|
|
|
5776
5776
|
/** The parent category */
|
|
5777
5777
|
category: t.KeyofC<{
|
|
5778
5778
|
ID: unknown;
|
|
5779
|
+
OTHER: unknown;
|
|
5780
|
+
UNSPECIFIED: unknown;
|
|
5779
5781
|
FINANCIAL: unknown;
|
|
5780
5782
|
HEALTH: unknown;
|
|
5781
5783
|
CONTACT: unknown;
|
|
@@ -5788,8 +5790,6 @@ declare const DataCategoryRecommendationInput: t.IntersectionC<[t.TypeC<{
|
|
|
5788
5790
|
TRACKING: unknown;
|
|
5789
5791
|
DEVICE: unknown;
|
|
5790
5792
|
SURVEY: unknown;
|
|
5791
|
-
OTHER: unknown;
|
|
5792
|
-
UNSPECIFIED: unknown;
|
|
5793
5793
|
NOT_PERSONAL_DATA: unknown;
|
|
5794
5794
|
INTEGRATION_IDENTIFIER: unknown;
|
|
5795
5795
|
}>;
|
|
@@ -11433,6 +11433,8 @@ declare const DataCategoryInput: t.IntersectionC<[t.TypeC<{
|
|
|
11433
11433
|
/** Type of data category */
|
|
11434
11434
|
category: t.KeyofC<{
|
|
11435
11435
|
ID: unknown;
|
|
11436
|
+
OTHER: unknown;
|
|
11437
|
+
UNSPECIFIED: unknown;
|
|
11436
11438
|
FINANCIAL: unknown;
|
|
11437
11439
|
HEALTH: unknown;
|
|
11438
11440
|
CONTACT: unknown;
|
|
@@ -11445,8 +11447,6 @@ declare const DataCategoryInput: t.IntersectionC<[t.TypeC<{
|
|
|
11445
11447
|
TRACKING: unknown;
|
|
11446
11448
|
DEVICE: unknown;
|
|
11447
11449
|
SURVEY: unknown;
|
|
11448
|
-
OTHER: unknown;
|
|
11449
|
-
UNSPECIFIED: unknown;
|
|
11450
11450
|
NOT_PERSONAL_DATA: unknown;
|
|
11451
11451
|
INTEGRATION_IDENTIFIER: unknown;
|
|
11452
11452
|
}>;
|
|
@@ -11491,8 +11491,6 @@ declare const ProcessingPurposeInput: t.IntersectionC<[t.TypeC<{
|
|
|
11491
11491
|
/** Type of processing purpose */
|
|
11492
11492
|
purpose: t.KeyofC<{
|
|
11493
11493
|
HR: unknown;
|
|
11494
|
-
OTHER: unknown;
|
|
11495
|
-
UNSPECIFIED: unknown;
|
|
11496
11494
|
ESSENTIAL: unknown;
|
|
11497
11495
|
ADDITIONAL_FUNCTIONALITY: unknown;
|
|
11498
11496
|
ADVERTISING: unknown;
|
|
@@ -11503,6 +11501,8 @@ declare const ProcessingPurposeInput: t.IntersectionC<[t.TypeC<{
|
|
|
11503
11501
|
LEGAL: unknown;
|
|
11504
11502
|
TRANSFER: unknown;
|
|
11505
11503
|
SALE: unknown;
|
|
11504
|
+
OTHER: unknown;
|
|
11505
|
+
UNSPECIFIED: unknown;
|
|
11506
11506
|
}>;
|
|
11507
11507
|
}>, t.PartialC<{
|
|
11508
11508
|
/** Description of processing purpose */
|
|
@@ -11596,8 +11596,6 @@ declare const FieldInput: t.IntersectionC<[t.TypeC<{
|
|
|
11596
11596
|
/** The parent purpose */
|
|
11597
11597
|
purpose: t.KeyofC<{
|
|
11598
11598
|
HR: unknown;
|
|
11599
|
-
OTHER: unknown;
|
|
11600
|
-
UNSPECIFIED: unknown;
|
|
11601
11599
|
ESSENTIAL: unknown;
|
|
11602
11600
|
ADDITIONAL_FUNCTIONALITY: unknown;
|
|
11603
11601
|
ADVERTISING: unknown;
|
|
@@ -11608,6 +11606,8 @@ declare const FieldInput: t.IntersectionC<[t.TypeC<{
|
|
|
11608
11606
|
LEGAL: unknown;
|
|
11609
11607
|
TRANSFER: unknown;
|
|
11610
11608
|
SALE: unknown;
|
|
11609
|
+
OTHER: unknown;
|
|
11610
|
+
UNSPECIFIED: unknown;
|
|
11611
11611
|
}>;
|
|
11612
11612
|
}>, t.PartialC<{
|
|
11613
11613
|
/** User-defined name for this processing purpose sub category */
|
|
@@ -11622,6 +11622,8 @@ declare const FieldInput: t.IntersectionC<[t.TypeC<{
|
|
|
11622
11622
|
/** The parent category */
|
|
11623
11623
|
category: t.KeyofC<{
|
|
11624
11624
|
ID: unknown;
|
|
11625
|
+
OTHER: unknown;
|
|
11626
|
+
UNSPECIFIED: unknown;
|
|
11625
11627
|
FINANCIAL: unknown;
|
|
11626
11628
|
HEALTH: unknown;
|
|
11627
11629
|
CONTACT: unknown;
|
|
@@ -11634,8 +11636,6 @@ declare const FieldInput: t.IntersectionC<[t.TypeC<{
|
|
|
11634
11636
|
TRACKING: unknown;
|
|
11635
11637
|
DEVICE: unknown;
|
|
11636
11638
|
SURVEY: unknown;
|
|
11637
|
-
OTHER: unknown;
|
|
11638
|
-
UNSPECIFIED: unknown;
|
|
11639
11639
|
NOT_PERSONAL_DATA: unknown;
|
|
11640
11640
|
INTEGRATION_IDENTIFIER: unknown;
|
|
11641
11641
|
}>;
|
|
@@ -11654,6 +11654,8 @@ declare const FieldInput: t.IntersectionC<[t.TypeC<{
|
|
|
11654
11654
|
/** The parent category */
|
|
11655
11655
|
category: t.KeyofC<{
|
|
11656
11656
|
ID: unknown;
|
|
11657
|
+
OTHER: unknown;
|
|
11658
|
+
UNSPECIFIED: unknown;
|
|
11657
11659
|
FINANCIAL: unknown;
|
|
11658
11660
|
HEALTH: unknown;
|
|
11659
11661
|
CONTACT: unknown;
|
|
@@ -11666,8 +11668,6 @@ declare const FieldInput: t.IntersectionC<[t.TypeC<{
|
|
|
11666
11668
|
TRACKING: unknown;
|
|
11667
11669
|
DEVICE: unknown;
|
|
11668
11670
|
SURVEY: unknown;
|
|
11669
|
-
OTHER: unknown;
|
|
11670
|
-
UNSPECIFIED: unknown;
|
|
11671
11671
|
NOT_PERSONAL_DATA: unknown;
|
|
11672
11672
|
INTEGRATION_IDENTIFIER: unknown;
|
|
11673
11673
|
}>;
|
|
@@ -11815,8 +11815,6 @@ declare const DatapointInput: t.IntersectionC<[t.TypeC<{
|
|
|
11815
11815
|
/** The parent purpose */
|
|
11816
11816
|
purpose: t.KeyofC<{
|
|
11817
11817
|
HR: unknown;
|
|
11818
|
-
OTHER: unknown;
|
|
11819
|
-
UNSPECIFIED: unknown;
|
|
11820
11818
|
ESSENTIAL: unknown;
|
|
11821
11819
|
ADDITIONAL_FUNCTIONALITY: unknown;
|
|
11822
11820
|
ADVERTISING: unknown;
|
|
@@ -11827,6 +11825,8 @@ declare const DatapointInput: t.IntersectionC<[t.TypeC<{
|
|
|
11827
11825
|
LEGAL: unknown;
|
|
11828
11826
|
TRANSFER: unknown;
|
|
11829
11827
|
SALE: unknown;
|
|
11828
|
+
OTHER: unknown;
|
|
11829
|
+
UNSPECIFIED: unknown;
|
|
11830
11830
|
}>;
|
|
11831
11831
|
}>, t.PartialC<{
|
|
11832
11832
|
/** User-defined name for this processing purpose sub category */
|
|
@@ -11841,6 +11841,8 @@ declare const DatapointInput: t.IntersectionC<[t.TypeC<{
|
|
|
11841
11841
|
/** The parent category */
|
|
11842
11842
|
category: t.KeyofC<{
|
|
11843
11843
|
ID: unknown;
|
|
11844
|
+
OTHER: unknown;
|
|
11845
|
+
UNSPECIFIED: unknown;
|
|
11844
11846
|
FINANCIAL: unknown;
|
|
11845
11847
|
HEALTH: unknown;
|
|
11846
11848
|
CONTACT: unknown;
|
|
@@ -11853,8 +11855,6 @@ declare const DatapointInput: t.IntersectionC<[t.TypeC<{
|
|
|
11853
11855
|
TRACKING: unknown;
|
|
11854
11856
|
DEVICE: unknown;
|
|
11855
11857
|
SURVEY: unknown;
|
|
11856
|
-
OTHER: unknown;
|
|
11857
|
-
UNSPECIFIED: unknown;
|
|
11858
11858
|
NOT_PERSONAL_DATA: unknown;
|
|
11859
11859
|
INTEGRATION_IDENTIFIER: unknown;
|
|
11860
11860
|
}>;
|
|
@@ -11873,6 +11873,8 @@ declare const DatapointInput: t.IntersectionC<[t.TypeC<{
|
|
|
11873
11873
|
/** The parent category */
|
|
11874
11874
|
category: t.KeyofC<{
|
|
11875
11875
|
ID: unknown;
|
|
11876
|
+
OTHER: unknown;
|
|
11877
|
+
UNSPECIFIED: unknown;
|
|
11876
11878
|
FINANCIAL: unknown;
|
|
11877
11879
|
HEALTH: unknown;
|
|
11878
11880
|
CONTACT: unknown;
|
|
@@ -11885,8 +11887,6 @@ declare const DatapointInput: t.IntersectionC<[t.TypeC<{
|
|
|
11885
11887
|
TRACKING: unknown;
|
|
11886
11888
|
DEVICE: unknown;
|
|
11887
11889
|
SURVEY: unknown;
|
|
11888
|
-
OTHER: unknown;
|
|
11889
|
-
UNSPECIFIED: unknown;
|
|
11890
11890
|
NOT_PERSONAL_DATA: unknown;
|
|
11891
11891
|
INTEGRATION_IDENTIFIER: unknown;
|
|
11892
11892
|
}>;
|
|
@@ -33661,8 +33661,6 @@ declare const ProcessingActivityInput: t.IntersectionC<[t.TypeC<{
|
|
|
33661
33661
|
/** The parent purpose */
|
|
33662
33662
|
purpose: t.KeyofC<{
|
|
33663
33663
|
HR: unknown;
|
|
33664
|
-
OTHER: unknown;
|
|
33665
|
-
UNSPECIFIED: unknown;
|
|
33666
33664
|
ESSENTIAL: unknown;
|
|
33667
33665
|
ADDITIONAL_FUNCTIONALITY: unknown;
|
|
33668
33666
|
ADVERTISING: unknown;
|
|
@@ -33673,6 +33671,8 @@ declare const ProcessingActivityInput: t.IntersectionC<[t.TypeC<{
|
|
|
33673
33671
|
LEGAL: unknown;
|
|
33674
33672
|
TRANSFER: unknown;
|
|
33675
33673
|
SALE: unknown;
|
|
33674
|
+
OTHER: unknown;
|
|
33675
|
+
UNSPECIFIED: unknown;
|
|
33676
33676
|
}>;
|
|
33677
33677
|
}>, t.PartialC<{
|
|
33678
33678
|
/** User-defined name for this processing purpose sub category */
|
|
@@ -33687,6 +33687,8 @@ declare const ProcessingActivityInput: t.IntersectionC<[t.TypeC<{
|
|
|
33687
33687
|
/** The parent category */
|
|
33688
33688
|
category: t.KeyofC<{
|
|
33689
33689
|
ID: unknown;
|
|
33690
|
+
OTHER: unknown;
|
|
33691
|
+
UNSPECIFIED: unknown;
|
|
33690
33692
|
FINANCIAL: unknown;
|
|
33691
33693
|
HEALTH: unknown;
|
|
33692
33694
|
CONTACT: unknown;
|
|
@@ -33699,8 +33701,6 @@ declare const ProcessingActivityInput: t.IntersectionC<[t.TypeC<{
|
|
|
33699
33701
|
TRACKING: unknown;
|
|
33700
33702
|
DEVICE: unknown;
|
|
33701
33703
|
SURVEY: unknown;
|
|
33702
|
-
OTHER: unknown;
|
|
33703
|
-
UNSPECIFIED: unknown;
|
|
33704
33704
|
NOT_PERSONAL_DATA: unknown;
|
|
33705
33705
|
INTEGRATION_IDENTIFIER: unknown;
|
|
33706
33706
|
}>;
|
|
@@ -50290,7 +50290,6 @@ declare const ConsentManageExperienceInput: t.IntersectionC<[t.TypeC<{
|
|
|
50290
50290
|
* Browser languages that define this regional experience
|
|
50291
50291
|
*/
|
|
50292
50292
|
browserLanguages: t.ArrayC<t.KeyofC<{
|
|
50293
|
-
no: unknown;
|
|
50294
50293
|
om: unknown;
|
|
50295
50294
|
ab: unknown;
|
|
50296
50295
|
aa: unknown;
|
|
@@ -50439,6 +50438,7 @@ declare const ConsentManageExperienceInput: t.IntersectionC<[t.TypeC<{
|
|
|
50439
50438
|
mn: unknown;
|
|
50440
50439
|
na: unknown;
|
|
50441
50440
|
ne: unknown;
|
|
50441
|
+
no: unknown;
|
|
50442
50442
|
nb: unknown;
|
|
50443
50443
|
nn: unknown;
|
|
50444
50444
|
"no-NO": unknown;
|
|
@@ -51016,8 +51016,8 @@ declare const ConsentManagerInput: t.PartialC<{
|
|
|
51016
51016
|
}>;
|
|
51017
51017
|
/** Whether the site owner has signed the IAB agreement */
|
|
51018
51018
|
signedIabAgreement: t.KeyofC<{
|
|
51019
|
-
yes: unknown;
|
|
51020
51019
|
no: unknown;
|
|
51020
|
+
yes: unknown;
|
|
51021
51021
|
unknown: unknown;
|
|
51022
51022
|
}>;
|
|
51023
51023
|
/** Regional experience configurations */
|
|
@@ -56469,7 +56469,6 @@ declare const ConsentManagerInput: t.PartialC<{
|
|
|
56469
56469
|
* Browser languages that define this regional experience
|
|
56470
56470
|
*/
|
|
56471
56471
|
browserLanguages: t.ArrayC<t.KeyofC<{
|
|
56472
|
-
no: unknown;
|
|
56473
56472
|
om: unknown;
|
|
56474
56473
|
ab: unknown;
|
|
56475
56474
|
aa: unknown;
|
|
@@ -56618,6 +56617,7 @@ declare const ConsentManagerInput: t.PartialC<{
|
|
|
56618
56617
|
mn: unknown;
|
|
56619
56618
|
na: unknown;
|
|
56620
56619
|
ne: unknown;
|
|
56620
|
+
no: unknown;
|
|
56621
56621
|
nb: unknown;
|
|
56622
56622
|
nn: unknown;
|
|
56623
56623
|
"no-NO": unknown;
|
|
@@ -58235,8 +58235,6 @@ declare const DataSiloInput: t.IntersectionC<[t.TypeC<{
|
|
|
58235
58235
|
/** The parent purpose */
|
|
58236
58236
|
purpose: t.KeyofC<{
|
|
58237
58237
|
HR: unknown;
|
|
58238
|
-
OTHER: unknown;
|
|
58239
|
-
UNSPECIFIED: unknown;
|
|
58240
58238
|
ESSENTIAL: unknown;
|
|
58241
58239
|
ADDITIONAL_FUNCTIONALITY: unknown;
|
|
58242
58240
|
ADVERTISING: unknown;
|
|
@@ -58247,6 +58245,8 @@ declare const DataSiloInput: t.IntersectionC<[t.TypeC<{
|
|
|
58247
58245
|
LEGAL: unknown;
|
|
58248
58246
|
TRANSFER: unknown;
|
|
58249
58247
|
SALE: unknown;
|
|
58248
|
+
OTHER: unknown;
|
|
58249
|
+
UNSPECIFIED: unknown;
|
|
58250
58250
|
}>;
|
|
58251
58251
|
}>, t.PartialC<{
|
|
58252
58252
|
/** User-defined name for this processing purpose sub category */
|
|
@@ -58261,6 +58261,8 @@ declare const DataSiloInput: t.IntersectionC<[t.TypeC<{
|
|
|
58261
58261
|
/** The parent category */
|
|
58262
58262
|
category: t.KeyofC<{
|
|
58263
58263
|
ID: unknown;
|
|
58264
|
+
OTHER: unknown;
|
|
58265
|
+
UNSPECIFIED: unknown;
|
|
58264
58266
|
FINANCIAL: unknown;
|
|
58265
58267
|
HEALTH: unknown;
|
|
58266
58268
|
CONTACT: unknown;
|
|
@@ -58273,8 +58275,6 @@ declare const DataSiloInput: t.IntersectionC<[t.TypeC<{
|
|
|
58273
58275
|
TRACKING: unknown;
|
|
58274
58276
|
DEVICE: unknown;
|
|
58275
58277
|
SURVEY: unknown;
|
|
58276
|
-
OTHER: unknown;
|
|
58277
|
-
UNSPECIFIED: unknown;
|
|
58278
58278
|
NOT_PERSONAL_DATA: unknown;
|
|
58279
58279
|
INTEGRATION_IDENTIFIER: unknown;
|
|
58280
58280
|
}>;
|
|
@@ -58293,6 +58293,8 @@ declare const DataSiloInput: t.IntersectionC<[t.TypeC<{
|
|
|
58293
58293
|
/** The parent category */
|
|
58294
58294
|
category: t.KeyofC<{
|
|
58295
58295
|
ID: unknown;
|
|
58296
|
+
OTHER: unknown;
|
|
58297
|
+
UNSPECIFIED: unknown;
|
|
58296
58298
|
FINANCIAL: unknown;
|
|
58297
58299
|
HEALTH: unknown;
|
|
58298
58300
|
CONTACT: unknown;
|
|
@@ -58305,8 +58307,6 @@ declare const DataSiloInput: t.IntersectionC<[t.TypeC<{
|
|
|
58305
58307
|
TRACKING: unknown;
|
|
58306
58308
|
DEVICE: unknown;
|
|
58307
58309
|
SURVEY: unknown;
|
|
58308
|
-
OTHER: unknown;
|
|
58309
|
-
UNSPECIFIED: unknown;
|
|
58310
58310
|
NOT_PERSONAL_DATA: unknown;
|
|
58311
58311
|
INTEGRATION_IDENTIFIER: unknown;
|
|
58312
58312
|
}>;
|
|
@@ -87360,6 +87360,8 @@ declare const TranscendInput: t.PartialC<{
|
|
|
87360
87360
|
/** Type of data category */
|
|
87361
87361
|
category: t.KeyofC<{
|
|
87362
87362
|
ID: unknown;
|
|
87363
|
+
OTHER: unknown;
|
|
87364
|
+
UNSPECIFIED: unknown;
|
|
87363
87365
|
FINANCIAL: unknown;
|
|
87364
87366
|
HEALTH: unknown;
|
|
87365
87367
|
CONTACT: unknown;
|
|
@@ -87372,8 +87374,6 @@ declare const TranscendInput: t.PartialC<{
|
|
|
87372
87374
|
TRACKING: unknown;
|
|
87373
87375
|
DEVICE: unknown;
|
|
87374
87376
|
SURVEY: unknown;
|
|
87375
|
-
OTHER: unknown;
|
|
87376
|
-
UNSPECIFIED: unknown;
|
|
87377
87377
|
NOT_PERSONAL_DATA: unknown;
|
|
87378
87378
|
INTEGRATION_IDENTIFIER: unknown;
|
|
87379
87379
|
}>;
|
|
@@ -87414,8 +87414,6 @@ declare const TranscendInput: t.PartialC<{
|
|
|
87414
87414
|
/** Type of processing purpose */
|
|
87415
87415
|
purpose: t.KeyofC<{
|
|
87416
87416
|
HR: unknown;
|
|
87417
|
-
OTHER: unknown;
|
|
87418
|
-
UNSPECIFIED: unknown;
|
|
87419
87417
|
ESSENTIAL: unknown;
|
|
87420
87418
|
ADDITIONAL_FUNCTIONALITY: unknown;
|
|
87421
87419
|
ADVERTISING: unknown;
|
|
@@ -87426,6 +87424,8 @@ declare const TranscendInput: t.PartialC<{
|
|
|
87426
87424
|
LEGAL: unknown;
|
|
87427
87425
|
TRANSFER: unknown;
|
|
87428
87426
|
SALE: unknown;
|
|
87427
|
+
OTHER: unknown;
|
|
87428
|
+
UNSPECIFIED: unknown;
|
|
87429
87429
|
}>;
|
|
87430
87430
|
}>, t.PartialC<{
|
|
87431
87431
|
/** Description of processing purpose */
|
|
@@ -98521,8 +98521,6 @@ declare const TranscendInput: t.PartialC<{
|
|
|
98521
98521
|
/** The parent purpose */
|
|
98522
98522
|
purpose: t.KeyofC<{
|
|
98523
98523
|
HR: unknown;
|
|
98524
|
-
OTHER: unknown;
|
|
98525
|
-
UNSPECIFIED: unknown;
|
|
98526
98524
|
ESSENTIAL: unknown;
|
|
98527
98525
|
ADDITIONAL_FUNCTIONALITY: unknown;
|
|
98528
98526
|
ADVERTISING: unknown;
|
|
@@ -98533,6 +98531,8 @@ declare const TranscendInput: t.PartialC<{
|
|
|
98533
98531
|
LEGAL: unknown;
|
|
98534
98532
|
TRANSFER: unknown;
|
|
98535
98533
|
SALE: unknown;
|
|
98534
|
+
OTHER: unknown;
|
|
98535
|
+
UNSPECIFIED: unknown;
|
|
98536
98536
|
}>;
|
|
98537
98537
|
}>, t.PartialC<{
|
|
98538
98538
|
/** User-defined name for this processing purpose sub category */
|
|
@@ -98547,6 +98547,8 @@ declare const TranscendInput: t.PartialC<{
|
|
|
98547
98547
|
/** The parent category */
|
|
98548
98548
|
category: t.KeyofC<{
|
|
98549
98549
|
ID: unknown;
|
|
98550
|
+
OTHER: unknown;
|
|
98551
|
+
UNSPECIFIED: unknown;
|
|
98550
98552
|
FINANCIAL: unknown;
|
|
98551
98553
|
HEALTH: unknown;
|
|
98552
98554
|
CONTACT: unknown;
|
|
@@ -98559,8 +98561,6 @@ declare const TranscendInput: t.PartialC<{
|
|
|
98559
98561
|
TRACKING: unknown;
|
|
98560
98562
|
DEVICE: unknown;
|
|
98561
98563
|
SURVEY: unknown;
|
|
98562
|
-
OTHER: unknown;
|
|
98563
|
-
UNSPECIFIED: unknown;
|
|
98564
98564
|
NOT_PERSONAL_DATA: unknown;
|
|
98565
98565
|
INTEGRATION_IDENTIFIER: unknown;
|
|
98566
98566
|
}>;
|
|
@@ -98579,6 +98579,8 @@ declare const TranscendInput: t.PartialC<{
|
|
|
98579
98579
|
/** The parent category */
|
|
98580
98580
|
category: t.KeyofC<{
|
|
98581
98581
|
ID: unknown;
|
|
98582
|
+
OTHER: unknown;
|
|
98583
|
+
UNSPECIFIED: unknown;
|
|
98582
98584
|
FINANCIAL: unknown;
|
|
98583
98585
|
HEALTH: unknown;
|
|
98584
98586
|
CONTACT: unknown;
|
|
@@ -98591,8 +98593,6 @@ declare const TranscendInput: t.PartialC<{
|
|
|
98591
98593
|
TRACKING: unknown;
|
|
98592
98594
|
DEVICE: unknown;
|
|
98593
98595
|
SURVEY: unknown;
|
|
98594
|
-
OTHER: unknown;
|
|
98595
|
-
UNSPECIFIED: unknown;
|
|
98596
98596
|
NOT_PERSONAL_DATA: unknown;
|
|
98597
98597
|
INTEGRATION_IDENTIFIER: unknown;
|
|
98598
98598
|
}>;
|
|
@@ -104228,8 +104228,8 @@ declare const TranscendInput: t.PartialC<{
|
|
|
104228
104228
|
}>;
|
|
104229
104229
|
/** Whether the site owner has signed the IAB agreement */
|
|
104230
104230
|
signedIabAgreement: t.KeyofC<{
|
|
104231
|
-
yes: unknown;
|
|
104232
104231
|
no: unknown;
|
|
104232
|
+
yes: unknown;
|
|
104233
104233
|
unknown: unknown;
|
|
104234
104234
|
}>;
|
|
104235
104235
|
/** Regional experience configurations */
|
|
@@ -109681,7 +109681,6 @@ declare const TranscendInput: t.PartialC<{
|
|
|
109681
109681
|
* Browser languages that define this regional experience
|
|
109682
109682
|
*/
|
|
109683
109683
|
browserLanguages: t.ArrayC<t.KeyofC<{
|
|
109684
|
-
no: unknown;
|
|
109685
109684
|
om: unknown;
|
|
109686
109685
|
ab: unknown;
|
|
109687
109686
|
aa: unknown;
|
|
@@ -109830,6 +109829,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
109830
109829
|
mn: unknown;
|
|
109831
109830
|
na: unknown;
|
|
109832
109831
|
ne: unknown;
|
|
109832
|
+
no: unknown;
|
|
109833
109833
|
nb: unknown;
|
|
109834
109834
|
nn: unknown;
|
|
109835
109835
|
"no-NO": unknown;
|
|
@@ -122906,8 +122906,6 @@ declare const TranscendInput: t.PartialC<{
|
|
|
122906
122906
|
/** The parent purpose */
|
|
122907
122907
|
purpose: t.KeyofC<{
|
|
122908
122908
|
HR: unknown;
|
|
122909
|
-
OTHER: unknown;
|
|
122910
|
-
UNSPECIFIED: unknown;
|
|
122911
122909
|
ESSENTIAL: unknown;
|
|
122912
122910
|
ADDITIONAL_FUNCTIONALITY: unknown;
|
|
122913
122911
|
ADVERTISING: unknown;
|
|
@@ -122918,6 +122916,8 @@ declare const TranscendInput: t.PartialC<{
|
|
|
122918
122916
|
LEGAL: unknown;
|
|
122919
122917
|
TRANSFER: unknown;
|
|
122920
122918
|
SALE: unknown;
|
|
122919
|
+
OTHER: unknown;
|
|
122920
|
+
UNSPECIFIED: unknown;
|
|
122921
122921
|
}>;
|
|
122922
122922
|
}>, t.PartialC<{
|
|
122923
122923
|
/** User-defined name for this processing purpose sub category */
|
|
@@ -122932,6 +122932,8 @@ declare const TranscendInput: t.PartialC<{
|
|
|
122932
122932
|
/** The parent category */
|
|
122933
122933
|
category: t.KeyofC<{
|
|
122934
122934
|
ID: unknown;
|
|
122935
|
+
OTHER: unknown;
|
|
122936
|
+
UNSPECIFIED: unknown;
|
|
122935
122937
|
FINANCIAL: unknown;
|
|
122936
122938
|
HEALTH: unknown;
|
|
122937
122939
|
CONTACT: unknown;
|
|
@@ -122944,8 +122946,6 @@ declare const TranscendInput: t.PartialC<{
|
|
|
122944
122946
|
TRACKING: unknown;
|
|
122945
122947
|
DEVICE: unknown;
|
|
122946
122948
|
SURVEY: unknown;
|
|
122947
|
-
OTHER: unknown;
|
|
122948
|
-
UNSPECIFIED: unknown;
|
|
122949
122949
|
NOT_PERSONAL_DATA: unknown;
|
|
122950
122950
|
INTEGRATION_IDENTIFIER: unknown;
|
|
122951
122951
|
}>;
|
|
@@ -134530,11 +134530,11 @@ declare const CachedFileState: t.TypeC<{
|
|
|
134530
134530
|
/** Mapping between request status in import to Transcend request status */
|
|
134531
134531
|
statusToRequestStatus: t.RecordC<t.StringC, t.KeyofC<{
|
|
134532
134532
|
CANCELED: unknown;
|
|
134533
|
+
"[NONE]": unknown;
|
|
134533
134534
|
FAILED_VERIFICATION: unknown;
|
|
134534
134535
|
COMPLETED: unknown;
|
|
134535
134536
|
SECONDARY_COMPLETED: unknown;
|
|
134536
134537
|
REVOKED: unknown;
|
|
134537
|
-
"[NONE]": unknown;
|
|
134538
134538
|
}>>;
|
|
134539
134539
|
}>;
|
|
134540
134540
|
/** Type override */
|
|
@@ -136975,20 +136975,20 @@ declare const PrivacyRequest: t.IntersectionC<[t.TypeC<{
|
|
|
136975
136975
|
status: t.KeyofC<{
|
|
136976
136976
|
CANCELED: unknown;
|
|
136977
136977
|
ON_HOLD: unknown;
|
|
136978
|
-
REQUEST_MADE: unknown;
|
|
136979
136978
|
FAILED_VERIFICATION: unknown;
|
|
136979
|
+
COMPLETED: unknown;
|
|
136980
|
+
SECONDARY_COMPLETED: unknown;
|
|
136981
|
+
REVOKED: unknown;
|
|
136982
|
+
REQUEST_MADE: unknown;
|
|
136980
136983
|
ENRICHING: unknown;
|
|
136981
136984
|
WAITING: unknown;
|
|
136982
136985
|
COMPILING: unknown;
|
|
136983
136986
|
APPROVING: unknown;
|
|
136984
136987
|
DELAYED: unknown;
|
|
136985
|
-
COMPLETED: unknown;
|
|
136986
136988
|
DOWNLOADABLE: unknown;
|
|
136987
136989
|
VIEW_CATEGORIES: unknown;
|
|
136988
136990
|
SECONDARY: unknown;
|
|
136989
|
-
SECONDARY_COMPLETED: unknown;
|
|
136990
136991
|
SECONDARY_APPROVING: unknown;
|
|
136991
|
-
REVOKED: unknown;
|
|
136992
136992
|
}>;
|
|
136993
136993
|
/** Type of data subject */
|
|
136994
136994
|
subjectType: t.StringC;
|
|
@@ -150532,20 +150532,20 @@ declare const PrivacyRequestResponse: t.TypeC<{
|
|
|
150532
150532
|
status: t.KeyofC<{
|
|
150533
150533
|
CANCELED: unknown;
|
|
150534
150534
|
ON_HOLD: unknown;
|
|
150535
|
-
REQUEST_MADE: unknown;
|
|
150536
150535
|
FAILED_VERIFICATION: unknown;
|
|
150536
|
+
COMPLETED: unknown;
|
|
150537
|
+
SECONDARY_COMPLETED: unknown;
|
|
150538
|
+
REVOKED: unknown;
|
|
150539
|
+
REQUEST_MADE: unknown;
|
|
150537
150540
|
ENRICHING: unknown;
|
|
150538
150541
|
WAITING: unknown;
|
|
150539
150542
|
COMPILING: unknown;
|
|
150540
150543
|
APPROVING: unknown;
|
|
150541
150544
|
DELAYED: unknown;
|
|
150542
|
-
COMPLETED: unknown;
|
|
150543
150545
|
DOWNLOADABLE: unknown;
|
|
150544
150546
|
VIEW_CATEGORIES: unknown;
|
|
150545
150547
|
SECONDARY: unknown;
|
|
150546
|
-
SECONDARY_COMPLETED: unknown;
|
|
150547
150548
|
SECONDARY_APPROVING: unknown;
|
|
150548
|
-
REVOKED: unknown;
|
|
150549
150549
|
}>;
|
|
150550
150550
|
type: t.KeyofC<{
|
|
150551
150551
|
ACCESS: unknown;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./enums-CBXlBJii.cjs`),t=require(`./constants-
|
|
2
|
-
//# sourceMappingURL=manual-enrichment-
|
|
1
|
+
const e=require(`./enums-CBXlBJii.cjs`),t=require(`./constants-B-TmLA0w.cjs`),n=require(`./syncConfigurationToTranscend-Bpge5AcC.cjs`),r=require(`./logger-BaHHbWVd.cjs`);let i=require(`@transcend-io/privacy-types`),a=require(`colors`);a=e.s(a);let o=require(`io-ts`);o=e.s(o);async function s({file:e,auth:o,sombraAuth:s,requestActions:c=[],concurrency:l=100,transcendUrl:u=t.a}){let d=n.ti(u,o),f=await n.ei(u,o,s);r.t.info(a.default.magenta(`Pulling manual enrichment requests, filtered for actions: ${c.join(`,`)}`));let p=await n.fr(d,{actions:c,statuses:[i.RequestStatus.Enriching]}),m=[];await n.Ts(p,async e=>{let t=await n.gr(d,{requestId:e.id});if(t.filter(({status:e})=>e===`ACTION_REQUIRED`)){let r=await n.mr(d,f,{requestId:e.id});m.push({...e,requestIdentifiers:r,requestEnrichers:t})}},{concurrency:l});let h=m.map(({attributeValues:e,requestIdentifiers:t,requestEnrichers:r,...i})=>({...i,...Object.entries(n.As(t,`name`)).reduce((e,[t,n])=>Object.assign(e,{[t]:n.map(({value:e})=>e).join(`,`)}),{}),...Object.entries(n.As(e,`attributeKey.name`)).reduce((e,[t,n])=>Object.assign(e,{[t]:n.map(({name:e})=>e).join(`,`)}),{})}));return await n.l(e,h,n.Ds(h.map(e=>Object.keys(e)).flat())),r.t.info(a.default.green(`Successfully wrote ${m.length} requests to file "${e}"`)),m}const c=`https://app.transcend.io/privacy-requests/incoming-requests/`,l=o.record(o.string,o.string);async function u(e,{id:t,...i},o,s){if(!t){let e=`Request ID must be provided to enricher request.${s?` Found error in row: ${s}`:``}`;throw r.t.error(a.default.red(e)),Error(e)}let l=t.toLowerCase(),u=Object.entries(i).reduce((e,[t,r])=>n.Ds(n.li(r)).length===0?e:Object.assign(e,{[t]:n.Ds(n.li(r)).map(e=>({value:t===`email`?e.toLowerCase():e}))}),{});try{return await e.post(`v1/enrich-identifiers`,{headers:{"x-transcend-request-id":l,"x-transcend-enricher-id":o},json:{enrichedIdentifiers:u}}).json(),r.t.error(a.default.green(`Successfully enriched request: ${c}${l}`)),!0}catch(e){if(typeof e.response.body==`string`&&e.response.body.includes(`Cannot update a resolved RequestEnricher`))return r.t.warn(a.default.magenta(`Skipped enrichment for request: ${c}${l}, request is no longer in the enriching phase.`)),!1;throw r.t.error(a.default.red(`Failed to enricher identifiers for request with id: ${c}${l} - ${e.message} - ${e.response.body}`)),e}}async function d({file:e,auth:i,sombraAuth:o,enricherId:s,markSilent:c,concurrency:d=100,transcendUrl:f=t.a}){let p=await n.ei(f,i,o),m=n.ti(f,i);r.t.info(a.default.magenta(`Reading "${e}" from disk`));let h=n.oi(e,l);r.t.info(a.default.magenta(`Enriching "${h.length}" privacy requests.`));let g=0,_=0,v=0;if(await n.Ts(h,async(e,t)=>{try{c&&(await n.i(m,n.Ao,{input:{id:e.id,isSilent:!0}}),r.t.info(a.default.magenta(`Mark request as silent mode - ${e.id}`))),await u(p,e,s,t)?g+=1:_+=1}catch{v+=1}},{concurrency:d}),r.t.info(a.default.green(`Successfully notified Transcend! \n Success count: ${g}.`)),_>0&&r.t.info(a.default.magenta(`Skipped count: ${_}.`)),v>0)throw r.t.info(a.default.red(`Error Count: ${v}.`)),Error(`Failed to enrich: ${v} requests.`);return h.length}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return d}});
|
|
2
|
+
//# sourceMappingURL=manual-enrichment-Y_BQaSZQ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manual-enrichment-CYHP0rrX.cjs","names":["DEFAULT_TRANSCEND_API","buildTranscendGraphQLClient","createSombraGotInstance","fetchAllRequests","RequestStatus","map","fetchAllRequestEnrichers","fetchAllRequestIdentifiers","groupBy","writeCsv","uniq","t","uniq","splitCsvToList","DEFAULT_TRANSCEND_API","createSombraGotInstance","buildTranscendGraphQLClient","readCsv","map","makeGraphQLRequest","UPDATE_PRIVACY_REQUEST"],"sources":["../src/lib/manual-enrichment/pullManualEnrichmentIdentifiersToCsv.ts","../src/lib/manual-enrichment/enrichPrivacyRequest.ts","../src/lib/manual-enrichment/pushManualEnrichmentIdentifiersFromCsv.ts"],"sourcesContent":["import { RequestAction, RequestStatus } from '@transcend-io/privacy-types';\nimport { map } from '../bluebird';\nimport colors from 'colors';\nimport { groupBy, uniq } from 'lodash-es';\nimport { DEFAULT_TRANSCEND_API } from '../../constants';\nimport { writeCsv } from '../helpers/writeCsv';\nimport {\n PrivacyRequest,\n RequestEnricher,\n RequestIdentifier,\n buildTranscendGraphQLClient,\n createSombraGotInstance,\n fetchAllRequestEnrichers,\n fetchAllRequestIdentifiers,\n fetchAllRequests,\n} from '../graphql';\nimport { logger } from '../../logger';\n\nexport interface PrivacyRequestWithIdentifiers extends PrivacyRequest {\n /** Request Enrichers */\n requestEnrichers: RequestEnricher[];\n /** Request Identifiers */\n requestIdentifiers: RequestIdentifier[];\n}\n\n/**\n * Pull the set of manual enrichment jobs to CSV\n *\n * @param options - Options\n * @returns List of requests with identifiers\n */\nexport async function pullManualEnrichmentIdentifiersToCsv({\n file,\n auth,\n sombraAuth,\n requestActions = [],\n concurrency = 100,\n transcendUrl = DEFAULT_TRANSCEND_API,\n}: {\n /** CSV file path */\n file: string;\n /** Transcend API key authentication */\n auth: string;\n /** Sombra API key */\n sombraAuth?: string;\n /** Concurrency */\n concurrency?: number;\n /** The request actions to fetch */\n requestActions?: RequestAction[];\n /** API URL for Transcend backend */\n transcendUrl?: string;\n}): Promise<PrivacyRequestWithIdentifiers[]> {\n // Find all requests made before createdAt that are in a removing data state\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n const sombra = await createSombraGotInstance(transcendUrl, auth, sombraAuth);\n\n logger.info(\n colors.magenta(\n `Pulling manual enrichment requests, filtered for actions: ${requestActions.join(\n ',',\n )}`,\n ),\n );\n\n // Pull all privacy requests\n const allRequests = await fetchAllRequests(client, {\n actions: requestActions,\n statuses: [RequestStatus.Enriching],\n });\n\n // Requests to save\n const savedRequests: PrivacyRequestWithIdentifiers[] = [];\n\n // Filter down requests to what is needed\n await map(\n allRequests,\n async (request) => {\n // Fetch enrichers\n const requestEnrichers = await fetchAllRequestEnrichers(client, {\n requestId: request.id,\n });\n\n // Check if manual enrichment exists for that request\n const hasManualEnrichment = requestEnrichers.filter(\n ({ status }) => status === 'ACTION_REQUIRED',\n );\n\n // Save request to queue\n if (hasManualEnrichment) {\n const requestIdentifiers = await fetchAllRequestIdentifiers(\n client,\n sombra,\n {\n requestId: request.id,\n },\n );\n savedRequests.push({\n ...request,\n requestIdentifiers,\n requestEnrichers,\n });\n }\n },\n {\n concurrency,\n },\n );\n\n const data = savedRequests.map(\n ({\n attributeValues,\n requestIdentifiers,\n requestEnrichers, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...request\n }) => ({\n ...request,\n // flatten identifiers\n ...Object.entries(groupBy(requestIdentifiers, 'name')).reduce(\n (acc, [key, values]) =>\n Object.assign(acc, {\n [key]: values.map(({ value }) => value).join(','),\n }),\n {},\n ),\n // flatten attributes\n ...Object.entries(groupBy(attributeValues, 'attributeKey.name')).reduce(\n (acc, [key, values]) =>\n Object.assign(acc, {\n [key]: values.map(({ name }) => name).join(','),\n }),\n {},\n ),\n }),\n );\n\n // Write out to CSV\n const headers = uniq(data.map((d) => Object.keys(d)).flat());\n await writeCsv(file, data, headers);\n\n logger.info(\n colors.green(\n `Successfully wrote ${savedRequests.length} requests to file \"${file}\"`,\n ),\n );\n\n return savedRequests;\n}\n","import type { Got } from 'got';\nimport * as t from 'io-ts';\nimport { logger } from '../../logger';\nimport { uniq } from 'lodash-es';\nimport colors from 'colors';\nimport { splitCsvToList } from '../requests/splitCsvToList';\n\nconst ADMIN_URL =\n 'https://app.transcend.io/privacy-requests/incoming-requests/';\n/**\n * Minimal set required to mark as completed\n */\nexport const EnrichPrivacyRequest = t.record(t.string, t.string);\n\n/** Type override */\nexport type EnrichPrivacyRequest = t.TypeOf<typeof EnrichPrivacyRequest>;\n\n/**\n * Upload identifiers to a privacy request or mark request as\n *\n * @param sombra - Sombra instance configured to make requests\n * @param request - Request to enricher\n * @param enricherId - The ID of the enricher being uploaded to\n * @param index - Index of request ID\n * @returns True if enriched successfully, false if skipped, throws error if failed\n */\nexport async function enrichPrivacyRequest(\n sombra: Got,\n { id: rawId, ...rest }: EnrichPrivacyRequest,\n enricherId: string,\n index?: number,\n): Promise<boolean> {\n if (!rawId) {\n // error\n const msg = `Request ID must be provided to enricher request.${\n index ? ` Found error in row: ${index}` : ''\n }`;\n logger.error(colors.red(msg));\n throw new Error(msg);\n }\n\n const id = rawId.toLowerCase();\n\n // Pull out the identifiers\n const enrichedIdentifiers = Object.entries(rest).reduce(\n (acc, [key, value]) => {\n const values = uniq(splitCsvToList(value));\n return values.length === 0\n ? acc\n : Object.assign(acc, {\n [key]: uniq(splitCsvToList(value)).map((val) => ({\n value: key === 'email' ? val.toLowerCase() : val,\n })),\n });\n },\n {} as Record<string, string[]>,\n );\n\n // Make the GraphQL request\n try {\n await sombra\n .post('v1/enrich-identifiers', {\n headers: {\n 'x-transcend-request-id': id,\n 'x-transcend-enricher-id': enricherId,\n },\n json: {\n enrichedIdentifiers,\n },\n })\n .json();\n\n logger.error(\n colors.green(`Successfully enriched request: ${ADMIN_URL}${id}`),\n );\n return true;\n } catch (err) {\n // skip if already enriched\n if (\n typeof err.response.body === 'string' &&\n err.response.body.includes('Cannot update a resolved RequestEnricher')\n ) {\n logger.warn(\n colors.magenta(\n `Skipped enrichment for request: ${ADMIN_URL}${id}, request is no longer in the enriching phase.`,\n ),\n );\n return false;\n }\n\n // error\n logger.error(\n colors.red(\n `Failed to enricher identifiers for request with id: ${ADMIN_URL}${id} - ${err.message} - ${err.response.body}`,\n ),\n );\n throw err;\n }\n}\n","import colors from 'colors';\nimport { map } from '../bluebird';\nimport { logger } from '../../logger';\nimport {\n UPDATE_PRIVACY_REQUEST,\n buildTranscendGraphQLClient,\n createSombraGotInstance,\n makeGraphQLRequest,\n} from '../graphql';\nimport {\n enrichPrivacyRequest,\n EnrichPrivacyRequest,\n} from './enrichPrivacyRequest';\nimport { readCsv } from '../requests';\nimport { DEFAULT_TRANSCEND_API } from '../../constants';\n\n/**\n * Push a CSV of enriched requests back into Transcend\n *\n * @param options - Options\n * @returns Number of items processed\n */\nexport async function pushManualEnrichmentIdentifiersFromCsv({\n file,\n auth,\n sombraAuth,\n enricherId,\n markSilent,\n concurrency = 100,\n transcendUrl = DEFAULT_TRANSCEND_API,\n}: {\n /** CSV file path */\n file: string;\n /** Transcend API key authentication */\n auth: string;\n /** ID of enricher being uploaded to */\n enricherId: string;\n /** Sombra API key authentication */\n sombraAuth?: string;\n /** Concurrency */\n concurrency?: number;\n /** API URL for Transcend backend */\n transcendUrl?: string;\n /** Mark requests in silent mode before enriching */\n markSilent?: boolean;\n}): Promise<number> {\n // Create sombra instance to communicate with\n const sombra = await createSombraGotInstance(transcendUrl, auth, sombraAuth);\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n\n // Read from CSV\n logger.info(colors.magenta(`Reading \"${file}\" from disk`));\n const activeResults = readCsv(file, EnrichPrivacyRequest);\n\n // Notify Transcend\n logger.info(\n colors.magenta(`Enriching \"${activeResults.length}\" privacy requests.`),\n );\n\n let successCount = 0;\n let skippedCount = 0;\n let errorCount = 0;\n\n await map(\n activeResults,\n async (request, index) => {\n try {\n // Mark requests in silent mode before a certain date\n if (markSilent) {\n await makeGraphQLRequest(client, UPDATE_PRIVACY_REQUEST, {\n input: {\n id: request.id,\n isSilent: true,\n },\n });\n\n logger.info(\n colors.magenta(`Mark request as silent mode - ${request.id}`),\n );\n }\n\n const result = await enrichPrivacyRequest(\n sombra,\n request,\n enricherId,\n index,\n );\n if (result) {\n successCount += 1;\n } else {\n skippedCount += 1;\n }\n } catch (err) {\n errorCount += 1;\n }\n },\n { concurrency },\n );\n\n logger.info(\n colors.green(\n `Successfully notified Transcend! \\n Success count: ${successCount}.`,\n ),\n );\n\n if (skippedCount > 0) {\n logger.info(colors.magenta(`Skipped count: ${skippedCount}.`));\n }\n\n if (errorCount > 0) {\n logger.info(colors.red(`Error Count: ${errorCount}.`));\n throw new Error(`Failed to enrich: ${errorCount} requests.`);\n }\n\n return activeResults.length;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manual-enrichment-Y_BQaSZQ.cjs","names":["DEFAULT_TRANSCEND_API","buildTranscendGraphQLClient","createSombraGotInstance","fetchAllRequests","RequestStatus","map","fetchAllRequestEnrichers","fetchAllRequestIdentifiers","groupBy","writeCsv","uniq","t","uniq","splitCsvToList","DEFAULT_TRANSCEND_API","createSombraGotInstance","buildTranscendGraphQLClient","readCsv","map","makeGraphQLRequest","UPDATE_PRIVACY_REQUEST"],"sources":["../src/lib/manual-enrichment/pullManualEnrichmentIdentifiersToCsv.ts","../src/lib/manual-enrichment/enrichPrivacyRequest.ts","../src/lib/manual-enrichment/pushManualEnrichmentIdentifiersFromCsv.ts"],"sourcesContent":["import { RequestAction, RequestStatus } from '@transcend-io/privacy-types';\nimport { map } from '../bluebird';\nimport colors from 'colors';\nimport { groupBy, uniq } from 'lodash-es';\nimport { DEFAULT_TRANSCEND_API } from '../../constants';\nimport { writeCsv } from '../helpers/writeCsv';\nimport {\n PrivacyRequest,\n RequestEnricher,\n RequestIdentifier,\n buildTranscendGraphQLClient,\n createSombraGotInstance,\n fetchAllRequestEnrichers,\n fetchAllRequestIdentifiers,\n fetchAllRequests,\n} from '../graphql';\nimport { logger } from '../../logger';\n\nexport interface PrivacyRequestWithIdentifiers extends PrivacyRequest {\n /** Request Enrichers */\n requestEnrichers: RequestEnricher[];\n /** Request Identifiers */\n requestIdentifiers: RequestIdentifier[];\n}\n\n/**\n * Pull the set of manual enrichment jobs to CSV\n *\n * @param options - Options\n * @returns List of requests with identifiers\n */\nexport async function pullManualEnrichmentIdentifiersToCsv({\n file,\n auth,\n sombraAuth,\n requestActions = [],\n concurrency = 100,\n transcendUrl = DEFAULT_TRANSCEND_API,\n}: {\n /** CSV file path */\n file: string;\n /** Transcend API key authentication */\n auth: string;\n /** Sombra API key */\n sombraAuth?: string;\n /** Concurrency */\n concurrency?: number;\n /** The request actions to fetch */\n requestActions?: RequestAction[];\n /** API URL for Transcend backend */\n transcendUrl?: string;\n}): Promise<PrivacyRequestWithIdentifiers[]> {\n // Find all requests made before createdAt that are in a removing data state\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n const sombra = await createSombraGotInstance(transcendUrl, auth, sombraAuth);\n\n logger.info(\n colors.magenta(\n `Pulling manual enrichment requests, filtered for actions: ${requestActions.join(\n ',',\n )}`,\n ),\n );\n\n // Pull all privacy requests\n const allRequests = await fetchAllRequests(client, {\n actions: requestActions,\n statuses: [RequestStatus.Enriching],\n });\n\n // Requests to save\n const savedRequests: PrivacyRequestWithIdentifiers[] = [];\n\n // Filter down requests to what is needed\n await map(\n allRequests,\n async (request) => {\n // Fetch enrichers\n const requestEnrichers = await fetchAllRequestEnrichers(client, {\n requestId: request.id,\n });\n\n // Check if manual enrichment exists for that request\n const hasManualEnrichment = requestEnrichers.filter(\n ({ status }) => status === 'ACTION_REQUIRED',\n );\n\n // Save request to queue\n if (hasManualEnrichment) {\n const requestIdentifiers = await fetchAllRequestIdentifiers(\n client,\n sombra,\n {\n requestId: request.id,\n },\n );\n savedRequests.push({\n ...request,\n requestIdentifiers,\n requestEnrichers,\n });\n }\n },\n {\n concurrency,\n },\n );\n\n const data = savedRequests.map(\n ({\n attributeValues,\n requestIdentifiers,\n requestEnrichers, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...request\n }) => ({\n ...request,\n // flatten identifiers\n ...Object.entries(groupBy(requestIdentifiers, 'name')).reduce(\n (acc, [key, values]) =>\n Object.assign(acc, {\n [key]: values.map(({ value }) => value).join(','),\n }),\n {},\n ),\n // flatten attributes\n ...Object.entries(groupBy(attributeValues, 'attributeKey.name')).reduce(\n (acc, [key, values]) =>\n Object.assign(acc, {\n [key]: values.map(({ name }) => name).join(','),\n }),\n {},\n ),\n }),\n );\n\n // Write out to CSV\n const headers = uniq(data.map((d) => Object.keys(d)).flat());\n await writeCsv(file, data, headers);\n\n logger.info(\n colors.green(\n `Successfully wrote ${savedRequests.length} requests to file \"${file}\"`,\n ),\n );\n\n return savedRequests;\n}\n","import type { Got } from 'got';\nimport * as t from 'io-ts';\nimport { logger } from '../../logger';\nimport { uniq } from 'lodash-es';\nimport colors from 'colors';\nimport { splitCsvToList } from '../requests/splitCsvToList';\n\nconst ADMIN_URL =\n 'https://app.transcend.io/privacy-requests/incoming-requests/';\n/**\n * Minimal set required to mark as completed\n */\nexport const EnrichPrivacyRequest = t.record(t.string, t.string);\n\n/** Type override */\nexport type EnrichPrivacyRequest = t.TypeOf<typeof EnrichPrivacyRequest>;\n\n/**\n * Upload identifiers to a privacy request or mark request as\n *\n * @param sombra - Sombra instance configured to make requests\n * @param request - Request to enricher\n * @param enricherId - The ID of the enricher being uploaded to\n * @param index - Index of request ID\n * @returns True if enriched successfully, false if skipped, throws error if failed\n */\nexport async function enrichPrivacyRequest(\n sombra: Got,\n { id: rawId, ...rest }: EnrichPrivacyRequest,\n enricherId: string,\n index?: number,\n): Promise<boolean> {\n if (!rawId) {\n // error\n const msg = `Request ID must be provided to enricher request.${\n index ? ` Found error in row: ${index}` : ''\n }`;\n logger.error(colors.red(msg));\n throw new Error(msg);\n }\n\n const id = rawId.toLowerCase();\n\n // Pull out the identifiers\n const enrichedIdentifiers = Object.entries(rest).reduce(\n (acc, [key, value]) => {\n const values = uniq(splitCsvToList(value));\n return values.length === 0\n ? acc\n : Object.assign(acc, {\n [key]: uniq(splitCsvToList(value)).map((val) => ({\n value: key === 'email' ? val.toLowerCase() : val,\n })),\n });\n },\n {} as Record<string, string[]>,\n );\n\n // Make the GraphQL request\n try {\n await sombra\n .post('v1/enrich-identifiers', {\n headers: {\n 'x-transcend-request-id': id,\n 'x-transcend-enricher-id': enricherId,\n },\n json: {\n enrichedIdentifiers,\n },\n })\n .json();\n\n logger.error(\n colors.green(`Successfully enriched request: ${ADMIN_URL}${id}`),\n );\n return true;\n } catch (err) {\n // skip if already enriched\n if (\n typeof err.response.body === 'string' &&\n err.response.body.includes('Cannot update a resolved RequestEnricher')\n ) {\n logger.warn(\n colors.magenta(\n `Skipped enrichment for request: ${ADMIN_URL}${id}, request is no longer in the enriching phase.`,\n ),\n );\n return false;\n }\n\n // error\n logger.error(\n colors.red(\n `Failed to enricher identifiers for request with id: ${ADMIN_URL}${id} - ${err.message} - ${err.response.body}`,\n ),\n );\n throw err;\n }\n}\n","import colors from 'colors';\nimport { map } from '../bluebird';\nimport { logger } from '../../logger';\nimport {\n UPDATE_PRIVACY_REQUEST,\n buildTranscendGraphQLClient,\n createSombraGotInstance,\n makeGraphQLRequest,\n} from '../graphql';\nimport {\n enrichPrivacyRequest,\n EnrichPrivacyRequest,\n} from './enrichPrivacyRequest';\nimport { readCsv } from '../requests';\nimport { DEFAULT_TRANSCEND_API } from '../../constants';\n\n/**\n * Push a CSV of enriched requests back into Transcend\n *\n * @param options - Options\n * @returns Number of items processed\n */\nexport async function pushManualEnrichmentIdentifiersFromCsv({\n file,\n auth,\n sombraAuth,\n enricherId,\n markSilent,\n concurrency = 100,\n transcendUrl = DEFAULT_TRANSCEND_API,\n}: {\n /** CSV file path */\n file: string;\n /** Transcend API key authentication */\n auth: string;\n /** ID of enricher being uploaded to */\n enricherId: string;\n /** Sombra API key authentication */\n sombraAuth?: string;\n /** Concurrency */\n concurrency?: number;\n /** API URL for Transcend backend */\n transcendUrl?: string;\n /** Mark requests in silent mode before enriching */\n markSilent?: boolean;\n}): Promise<number> {\n // Create sombra instance to communicate with\n const sombra = await createSombraGotInstance(transcendUrl, auth, sombraAuth);\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n\n // Read from CSV\n logger.info(colors.magenta(`Reading \"${file}\" from disk`));\n const activeResults = readCsv(file, EnrichPrivacyRequest);\n\n // Notify Transcend\n logger.info(\n colors.magenta(`Enriching \"${activeResults.length}\" privacy requests.`),\n );\n\n let successCount = 0;\n let skippedCount = 0;\n let errorCount = 0;\n\n await map(\n activeResults,\n async (request, index) => {\n try {\n // Mark requests in silent mode before a certain date\n if (markSilent) {\n await makeGraphQLRequest(client, UPDATE_PRIVACY_REQUEST, {\n input: {\n id: request.id,\n isSilent: true,\n },\n });\n\n logger.info(\n colors.magenta(`Mark request as silent mode - ${request.id}`),\n );\n }\n\n const result = await enrichPrivacyRequest(\n sombra,\n request,\n enricherId,\n index,\n );\n if (result) {\n successCount += 1;\n } else {\n skippedCount += 1;\n }\n } catch (err) {\n errorCount += 1;\n }\n },\n { concurrency },\n );\n\n logger.info(\n colors.green(\n `Successfully notified Transcend! \\n Success count: ${successCount}.`,\n ),\n );\n\n if (skippedCount > 0) {\n logger.info(colors.magenta(`Skipped count: ${skippedCount}.`));\n }\n\n if (errorCount > 0) {\n logger.info(colors.red(`Error Count: ${errorCount}.`));\n throw new Error(`Failed to enrich: ${errorCount} requests.`);\n }\n\n return activeResults.length;\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e=require(`./enums-CBXlBJii.cjs`),t=require(`./constants-
|
|
1
|
+
const e=require(`./enums-CBXlBJii.cjs`),t=require(`./constants-B-TmLA0w.cjs`),n=require(`./syncConfigurationToTranscend-Bpge5AcC.cjs`),r=require(`./logger-BaHHbWVd.cjs`);let i=require(`node:fs`),a=require(`node:os`),o=require(`node:path`),s=require(`colors`);s=e.s(s);let c=require(`node:child_process`),l=require(`node:readline`);l=e.s(l);function u(e,t){let n=Math.max(1,a.availableParallelism?.()??1);return{poolSize:typeof e==`number`&&e>0?Math.min(e,t):Math.min(n,t),cpuCount:n}}function d(e){return`'${String(e).replace(/'/g,`'\\''`)}'`}function f(e,t,n=!1){if(n)return;let i=(0,a.platform)();try{if(i===`darwin`){(0,c.spawn)(`osascript`,[`-e`,`
|
|
2
2
|
tell application "Terminal"
|
|
3
3
|
activate
|
|
4
4
|
do script "printf '\\e]0;${t}\\a'; tail -n +1 -f ${e.map(d).join(` -f `)}"
|
|
@@ -20,4 +20,4 @@ Stopping workers...
|
|
|
20
20
|
`))}process.stdin.resume()}B=k({workers:w,onAttach:U,onDetach:W,onCtrlC:H,getLogPaths:e=>N(e,w,E),replayBytes:200*1024,replayWhich:[`out`,`err`],onEnterAttachScreen:U}),e.extraKeyHandler&&(L=e.extraKeyHandler({logsBySlot:E,repaint:()=>R(),setPaused:e=>{I=e}}),process.stdin.on(`data`,L))}await new Promise(e=>{let t=setInterval(async()=>{if(A===0){if(clearInterval(t),P&&clearInterval(P),B(),L)try{process.stdin.off(`data`,L)}catch{}V();let n=Date.now();try{await l.postProcess?.({slots:T,totals:O,logDir:y,logsBySlot:E,startedAt:v,finishedAt:n,viewerMode:f,getLogPathsForSlot:e=>N(e,w,E)})}catch(e){let t=e?.stack??String(e);process.stdout.write(s.default.red(`postProcess error: ${t}\n`))}e()}},300)})}function B(e){let{logsBySlot:t,repaint:n,setPaused:r,exportMgr:i,exportStatus:a,custom:o}=e,s=e=>{process.stdout.write(`${e}\n`)},c=(e,t)=>{let r=Date.now(),i=a?.[e]??{path:t};a&&(a[e]={path:t||i.path,savedAt:r,exported:!0},n())},l=!1,u=(e,i)=>{l||(l=!0,r(!0),process.stdout.write(`\x1B[2J\x1B[H`),process.stdout.write(`Combined logs viewer (press Esc or Ctrl+] to return)
|
|
21
21
|
|
|
22
22
|
`),(async()=>{try{await w(t,e,i)}catch{l=!1,r(!1),n()}})())},d=(e,n)=>{if(i)try{let r=i.exportCombinedLogs(t,e);s(`\nWrote combined ${n} logs to: ${r}`),c(e,r)}catch{s(`\nFailed to write combined ${n} logs`)}};return e=>{let t=e.toString(`utf8`);if(t===`e`){u([`err`],`error`);return}if(t===`w`){u([`warn`,`err`],`warn`);return}if(t===`i`){u([`info`],`all`);return}if(t===`l`){u([`out`,`err`,`structured`],`all`);return}if(t===`E`){d(`error`,`error`);return}if(t===`W`){d(`warn`,`warn`);return}if(t===`I`){d(`info`,`info`);return}if(t===`A`){d(`all`,`ALL`);return}let i=o?.[t];if(i){i({noteExport:c,say:s});return}(t===`\x1B`||t===``)&&(l=!1,r(!1),n())}}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return B}});
|
|
23
|
-
//# sourceMappingURL=pooling-
|
|
23
|
+
//# sourceMappingURL=pooling-Ct83vfEh.cjs.map
|