@transcend-io/cli 10.3.4 → 10.3.6
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/dist/{app-BYbA2URP.mjs → app-WNf_mTyn.mjs} +16 -16
- package/dist/{app-BYbA2URP.mjs.map → app-WNf_mTyn.mjs.map} +1 -1
- package/dist/{approvePrivacyRequests-ieUx2AhT.mjs → approvePrivacyRequests-BbWx0au4.mjs} +2 -2
- package/dist/{approvePrivacyRequests-ieUx2AhT.mjs.map → approvePrivacyRequests-BbWx0au4.mjs.map} +1 -1
- package/dist/bin/bash-complete.mjs +1 -1
- package/dist/bin/cli.mjs +1 -1
- package/dist/bin/deprecated-command.mjs +1 -1
- package/dist/{buildXdiSyncEndpoint-BQ6NSTqL.mjs → buildXdiSyncEndpoint-E8Q0U1bC.mjs} +2 -2
- package/dist/{buildXdiSyncEndpoint-BQ6NSTqL.mjs.map → buildXdiSyncEndpoint-E8Q0U1bC.mjs.map} +1 -1
- package/dist/{bulkRestartRequests-BrSUL95S.mjs → bulkRestartRequests-DwLx27gx.mjs} +2 -2
- package/dist/{bulkRestartRequests-BrSUL95S.mjs.map → bulkRestartRequests-DwLx27gx.mjs.map} +1 -1
- package/dist/{bulkRetryEnrichers-BS7h7dqE.mjs → bulkRetryEnrichers-CJRhNV8M.mjs} +2 -2
- package/dist/{bulkRetryEnrichers-BS7h7dqE.mjs.map → bulkRetryEnrichers-CJRhNV8M.mjs.map} +1 -1
- package/dist/{cancelPrivacyRequests-CAs6CJwk.mjs → cancelPrivacyRequests-BQyfGe_g.mjs} +2 -2
- package/dist/{cancelPrivacyRequests-CAs6CJwk.mjs.map → cancelPrivacyRequests-BQyfGe_g.mjs.map} +1 -1
- package/dist/{command-Cu9VtU27.mjs → command-D2vuuffb.mjs} +2 -2
- package/dist/{command-Cu9VtU27.mjs.map → command-D2vuuffb.mjs.map} +1 -1
- package/dist/{constants-BxW9KO1a.mjs → constants-CvFOBUqC.mjs} +2 -2
- package/dist/{constants-BxW9KO1a.mjs.map → constants-CvFOBUqC.mjs.map} +1 -1
- package/dist/{createExtraKeyHandler-CPEfVYMQ.mjs → createExtraKeyHandler-C9l59RII.mjs} +2 -2
- package/dist/{createExtraKeyHandler-CPEfVYMQ.mjs.map → createExtraKeyHandler-C9l59RII.mjs.map} +1 -1
- package/dist/{downloadPrivacyRequestFiles-CXpr-thK.mjs → downloadPrivacyRequestFiles-Bji8hnh3.mjs} +2 -2
- package/dist/downloadPrivacyRequestFiles-Bji8hnh3.mjs.map +1 -0
- package/dist/{generateCrossAccountApiKeys-BPQeE7bE.mjs → generateCrossAccountApiKeys-Ye06oxq3.mjs} +2 -2
- package/dist/{generateCrossAccountApiKeys-BPQeE7bE.mjs.map → generateCrossAccountApiKeys-Ye06oxq3.mjs.map} +1 -1
- package/dist/{impl-K-q2xDPr.mjs → impl-416Ln2_E.mjs} +2 -2
- package/dist/{impl-K-q2xDPr.mjs.map → impl-416Ln2_E.mjs.map} +1 -1
- package/dist/{impl-BUzlCF3o.mjs → impl-BYXrhd1m.mjs} +2 -2
- package/dist/{impl-BUzlCF3o.mjs.map → impl-BYXrhd1m.mjs.map} +1 -1
- package/dist/{impl-CBlDfHRq.mjs → impl-BmH90BcM.mjs} +2 -2
- package/dist/{impl-CBlDfHRq.mjs.map → impl-BmH90BcM.mjs.map} +1 -1
- package/dist/{impl-p8LhIaF1.mjs → impl-Bqa273_3.mjs} +2 -2
- package/dist/{impl-p8LhIaF1.mjs.map → impl-Bqa273_3.mjs.map} +1 -1
- package/dist/{impl-6QDc9lV3.mjs → impl-BwF4NhEj.mjs} +2 -2
- package/dist/{impl-6QDc9lV3.mjs.map → impl-BwF4NhEj.mjs.map} +1 -1
- package/dist/{impl-CV0YUtb0.mjs → impl-BxBRn_d3.mjs} +2 -2
- package/dist/{impl-CV0YUtb0.mjs.map → impl-BxBRn_d3.mjs.map} +1 -1
- package/dist/{impl-CEJnOmRW.mjs → impl-BySUDdo-.mjs} +2 -2
- package/dist/{impl-CEJnOmRW.mjs.map → impl-BySUDdo-.mjs.map} +1 -1
- package/dist/{impl-trpdYM83.mjs → impl-C1aQJx0z.mjs} +2 -2
- package/dist/{impl-trpdYM83.mjs.map → impl-C1aQJx0z.mjs.map} +1 -1
- package/dist/{impl-D7XM19kv.mjs → impl-C6zfjgSM.mjs} +2 -2
- package/dist/{impl-D7XM19kv.mjs.map → impl-C6zfjgSM.mjs.map} +1 -1
- package/dist/{impl-BxKHIJKT.mjs → impl-C9YHKFlI.mjs} +2 -2
- package/dist/{impl-BxKHIJKT.mjs.map → impl-C9YHKFlI.mjs.map} +1 -1
- package/dist/{impl-jskoPGRf.mjs → impl-CLM0PQ2z.mjs} +2 -2
- package/dist/{impl-jskoPGRf.mjs.map → impl-CLM0PQ2z.mjs.map} +1 -1
- package/dist/{impl-rIyAUM7M.mjs → impl-C_n_dCAC.mjs} +2 -2
- package/dist/{impl-rIyAUM7M.mjs.map → impl-C_n_dCAC.mjs.map} +1 -1
- package/dist/{impl-DRoIKgwp.mjs → impl-CaY64Hd6.mjs} +2 -2
- package/dist/{impl-DRoIKgwp.mjs.map → impl-CaY64Hd6.mjs.map} +1 -1
- package/dist/{impl-SL4arxhB.mjs → impl-Cr1Z9w_R.mjs} +2 -2
- package/dist/{impl-SL4arxhB.mjs.map → impl-Cr1Z9w_R.mjs.map} +1 -1
- package/dist/{impl-CpgLGxnD.mjs → impl-D2B6hS6M.mjs} +2 -2
- package/dist/{impl-CpgLGxnD.mjs.map → impl-D2B6hS6M.mjs.map} +1 -1
- package/dist/{impl-DE8sMo-u.mjs → impl-DABpOahF.mjs} +2 -2
- package/dist/{impl-DE8sMo-u.mjs.map → impl-DABpOahF.mjs.map} +1 -1
- package/dist/{impl-DPZN9-Zx.mjs → impl-DHopWUlX.mjs} +2 -2
- package/dist/{impl-DPZN9-Zx.mjs.map → impl-DHopWUlX.mjs.map} +1 -1
- package/dist/{impl-BCDExKzg.mjs → impl-DP_0Mlf5.mjs} +2 -2
- package/dist/{impl-BCDExKzg.mjs.map → impl-DP_0Mlf5.mjs.map} +1 -1
- package/dist/{impl-BoqMb8Zu.mjs → impl-DSuMNnJk.mjs} +2 -2
- package/dist/{impl-BoqMb8Zu.mjs.map → impl-DSuMNnJk.mjs.map} +1 -1
- package/dist/{impl-D7qw0TwN.mjs → impl-DZcl1xTC.mjs} +2 -2
- package/dist/{impl-D7qw0TwN.mjs.map → impl-DZcl1xTC.mjs.map} +1 -1
- package/dist/{impl-C6KTJN58.mjs → impl-DbvR5bso.mjs} +2 -2
- package/dist/{impl-C6KTJN58.mjs.map → impl-DbvR5bso.mjs.map} +1 -1
- package/dist/{impl-Ba2oQQQs.mjs → impl-DiCBP4F7.mjs} +2 -2
- package/dist/{impl-Ba2oQQQs.mjs.map → impl-DiCBP4F7.mjs.map} +1 -1
- package/dist/{impl-B2QW8wls.mjs → impl-DuFwG2qs.mjs} +2 -2
- package/dist/{impl-B2QW8wls.mjs.map → impl-DuFwG2qs.mjs.map} +1 -1
- package/dist/{impl-CGimCeDz.mjs → impl-DvFgTrEP.mjs} +2 -2
- package/dist/{impl-CGimCeDz.mjs.map → impl-DvFgTrEP.mjs.map} +1 -1
- package/dist/{impl-DZvrA-mS.mjs → impl-ENcuhthJ.mjs} +2 -2
- package/dist/{impl-DZvrA-mS.mjs.map → impl-ENcuhthJ.mjs.map} +1 -1
- package/dist/{impl-C4CRzTY8.mjs → impl-P1fUapAT.mjs} +2 -2
- package/dist/{impl-C4CRzTY8.mjs.map → impl-P1fUapAT.mjs.map} +1 -1
- package/dist/{impl-BBOcWijS.mjs → impl-R_J1GWvi.mjs} +2 -2
- package/dist/{impl-BBOcWijS.mjs.map → impl-R_J1GWvi.mjs.map} +1 -1
- package/dist/{impl-BCyYivPb.mjs → impl-WgFL98zF.mjs} +2 -2
- package/dist/{impl-BCyYivPb.mjs.map → impl-WgFL98zF.mjs.map} +1 -1
- package/dist/{impl-CxzEbiDy.mjs → impl-YxkAjKlb.mjs} +2 -2
- package/dist/{impl-CxzEbiDy.mjs.map → impl-YxkAjKlb.mjs.map} +1 -1
- package/dist/{impl-B6M56gfn.mjs → impl-Z8VqxZk6.mjs} +2 -2
- package/dist/{impl-B6M56gfn.mjs.map → impl-Z8VqxZk6.mjs.map} +1 -1
- package/dist/{impl-Dxwjfn7p.mjs → impl-otE-_tT6.mjs} +2 -2
- package/dist/{impl-Dxwjfn7p.mjs.map → impl-otE-_tT6.mjs.map} +1 -1
- package/dist/{impl-DVUMaRpH.mjs → impl-rQozOYcZ.mjs} +2 -2
- package/dist/{impl-DVUMaRpH.mjs.map → impl-rQozOYcZ.mjs.map} +1 -1
- package/dist/{impl-DsFm0FyU.mjs → impl-tax_V7HF.mjs} +2 -2
- package/dist/{impl-DsFm0FyU.mjs.map → impl-tax_V7HF.mjs.map} +1 -1
- package/dist/index.d.mts +10 -10
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{markRequestDataSiloIdsCompleted-D1Qd1IxD.mjs → markRequestDataSiloIdsCompleted-3MJIGBrn.mjs} +2 -2
- package/dist/{markRequestDataSiloIdsCompleted-D1Qd1IxD.mjs.map → markRequestDataSiloIdsCompleted-3MJIGBrn.mjs.map} +1 -1
- package/dist/{markSilentPrivacyRequests-8ZUKzx9_.mjs → markSilentPrivacyRequests-D2NzIWFH.mjs} +2 -2
- package/dist/{markSilentPrivacyRequests-8ZUKzx9_.mjs.map → markSilentPrivacyRequests-D2NzIWFH.mjs.map} +1 -1
- package/dist/{notifyPrivacyRequestsAdditionalTime-fcTb3AQr.mjs → notifyPrivacyRequestsAdditionalTime-DwTCyv3_.mjs} +2 -2
- package/dist/{notifyPrivacyRequestsAdditionalTime-fcTb3AQr.mjs.map → notifyPrivacyRequestsAdditionalTime-DwTCyv3_.mjs.map} +1 -1
- package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-_b8QBDwQ.mjs → pullChunkedCustomSiloOutstandingIdentifiers-BpRYPaed.mjs} +2 -2
- package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-_b8QBDwQ.mjs.map → pullChunkedCustomSiloOutstandingIdentifiers-BpRYPaed.mjs.map} +1 -1
- package/dist/{pullManualEnrichmentIdentifiersToCsv-TdwLutYt.mjs → pullManualEnrichmentIdentifiersToCsv-DtUaXuun.mjs} +2 -2
- package/dist/{pullManualEnrichmentIdentifiersToCsv-TdwLutYt.mjs.map → pullManualEnrichmentIdentifiersToCsv-DtUaXuun.mjs.map} +1 -1
- package/dist/{pushCronIdentifiersFromCsv-DI5NGy7E.mjs → pushCronIdentifiersFromCsv-bdS2sat2.mjs} +2 -2
- package/dist/{pushCronIdentifiersFromCsv-DI5NGy7E.mjs.map → pushCronIdentifiersFromCsv-bdS2sat2.mjs.map} +1 -1
- package/dist/{pushManualEnrichmentIdentifiersFromCsv-RVxR_ue6.mjs → pushManualEnrichmentIdentifiersFromCsv-FbzXaMeT.mjs} +2 -2
- package/dist/{pushManualEnrichmentIdentifiersFromCsv-RVxR_ue6.mjs.map → pushManualEnrichmentIdentifiersFromCsv-FbzXaMeT.mjs.map} +1 -1
- package/dist/{removeUnverifiedRequestIdentifiers-CoFkwNlm.mjs → removeUnverifiedRequestIdentifiers-BdpMeOrL.mjs} +2 -2
- package/dist/{removeUnverifiedRequestIdentifiers-CoFkwNlm.mjs.map → removeUnverifiedRequestIdentifiers-BdpMeOrL.mjs.map} +1 -1
- package/dist/{retryRequestDataSilos-Cn0Rj3Am.mjs → retryRequestDataSilos-BQez0IfF.mjs} +2 -2
- package/dist/{retryRequestDataSilos-Cn0Rj3Am.mjs.map → retryRequestDataSilos-BQez0IfF.mjs.map} +1 -1
- package/dist/{skipPreflightJobs-DEl_PfMs.mjs → skipPreflightJobs-BQhv_vho.mjs} +2 -2
- package/dist/{skipPreflightJobs-DEl_PfMs.mjs.map → skipPreflightJobs-BQhv_vho.mjs.map} +1 -1
- package/dist/{skipRequestDataSilos-Dibl9-GJ.mjs → skipRequestDataSilos-Cx738sjs.mjs} +2 -2
- package/dist/{skipRequestDataSilos-Dibl9-GJ.mjs.map → skipRequestDataSilos-Cx738sjs.mjs.map} +1 -1
- package/dist/{streamPrivacyRequestsToCsv-CfC0aOqT.mjs → streamPrivacyRequestsToCsv-Cftue8ns.mjs} +2 -2
- package/dist/{streamPrivacyRequestsToCsv-CfC0aOqT.mjs.map → streamPrivacyRequestsToCsv-Cftue8ns.mjs.map} +1 -1
- package/dist/{updateConsentManagerVersionToLatest-DYyjLtpa.mjs → updateConsentManagerVersionToLatest-CSJRELZG.mjs} +2 -2
- package/dist/{updateConsentManagerVersionToLatest-DYyjLtpa.mjs.map → updateConsentManagerVersionToLatest-CSJRELZG.mjs.map} +1 -1
- package/dist/{uploadConsents-KMhuUPuA.mjs → uploadConsents-D8RvuOjI.mjs} +2 -2
- package/dist/{uploadConsents-KMhuUPuA.mjs.map → uploadConsents-D8RvuOjI.mjs.map} +1 -1
- package/dist/{uploadCookiesFromCsv-vMtpUGkv.mjs → uploadCookiesFromCsv-LJ9YEcFQ.mjs} +2 -2
- package/dist/{uploadCookiesFromCsv-vMtpUGkv.mjs.map → uploadCookiesFromCsv-LJ9YEcFQ.mjs.map} +1 -1
- package/dist/{uploadDataFlowsFromCsv-Dsszs33R.mjs → uploadDataFlowsFromCsv-CkO0Kmgs.mjs} +2 -2
- package/dist/{uploadDataFlowsFromCsv-Dsszs33R.mjs.map → uploadDataFlowsFromCsv-CkO0Kmgs.mjs.map} +1 -1
- package/dist/{uploadPrivacyRequestsFromCsv-i82Z-v5h.mjs → uploadPrivacyRequestsFromCsv-Dn1JdlzU.mjs} +2 -2
- package/dist/{uploadPrivacyRequestsFromCsv-i82Z-v5h.mjs.map → uploadPrivacyRequestsFromCsv-Dn1JdlzU.mjs.map} +1 -1
- package/package.json +6 -6
- package/dist/downloadPrivacyRequestFiles-CXpr-thK.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-DvFgTrEP.mjs","names":[],"sources":["../src/lib/consent-manager/types.ts","../src/commands/consent/upload-consent-preferences/impl.ts"],"sourcesContent":["import * as t from 'io-ts';\n\nexport const ConsentPreferenceUpload = t.intersection([\n t.type({\n /** User ID */\n userId: t.string,\n /** Has the consent been updated (including no-change confirmation) since default resolution */\n timestamp: t.string,\n }),\n t.partial({\n /** Was tracking consent confirmed by the user? If this is false, the consent was resolved from defaults & is not yet confirmed */\n confirmed: t.union([t.literal('true'), t.literal('false')]),\n /**\n * Has the consent been updated (including no-change confirmation) since default resolution\n */\n updated: t.union([t.literal('true'), t.literal('false')]),\n /**\n * Whether or not the UI has been shown to the end-user (undefined in older versions of airgap.js)\n */\n prompted: t.union([t.literal('true'), t.literal('false')]),\n /** Consent metadata */\n metadata: t.string,\n /** US Privacy (USP) String */\n usp: t.union([t.string, t.null]),\n /** IAB GPP String */\n gpp: t.union([t.string, t.null]),\n /**\n * Purpose map\n * This is a stringified JSON object with keys as purpose names and values as booleans or 'Auto'\n */\n purposes: t.string,\n }),\n]);\n\n/** Type override */\nexport type ConsentPreferenceUpload = t.TypeOf<typeof ConsentPreferenceUpload>;\n","import type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { ConsentPreferenceUpload } from '../../../lib/consent-manager/types.js';\nimport { uploadConsents } from '../../../lib/consent-manager/uploadConsents.js';\nimport { readCsv } from '../../../lib/requests/index.js';\n\nexport interface UploadConsentPreferencesCommandFlags {\n base64EncryptionKey: string;\n base64SigningKey: string;\n partition: string;\n file: string;\n consentUrl: string;\n concurrency: number;\n}\n\nexport async function uploadConsentPreferences(\n this: LocalContext,\n {\n base64EncryptionKey,\n base64SigningKey,\n partition,\n file,\n consentUrl,\n concurrency,\n }: UploadConsentPreferencesCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n // Load in preferences from csv\n const preferences = readCsv(file, ConsentPreferenceUpload);\n\n // Upload cookies\n await uploadConsents({\n base64EncryptionKey,\n base64SigningKey,\n preferences,\n partition,\n concurrency,\n transcendUrl: consentUrl,\n });\n}\n"],"mappings":"8KAEA,MAAa,EAA0B,EAAE,aAAa,CACpD,EAAE,KAAK,CAEL,OAAQ,EAAE,OAEV,UAAW,EAAE,OACd,CAAC,CACF,EAAE,QAAQ,CAER,UAAW,EAAE,MAAM,CAAC,EAAE,QAAQ,OAAO,CAAE,EAAE,QAAQ,QAAQ,CAAC,CAAC,CAI3D,QAAS,EAAE,MAAM,CAAC,EAAE,QAAQ,OAAO,CAAE,EAAE,QAAQ,QAAQ,CAAC,CAAC,CAIzD,SAAU,EAAE,MAAM,CAAC,EAAE,QAAQ,OAAO,CAAE,EAAE,QAAQ,QAAQ,CAAC,CAAC,CAE1D,SAAU,EAAE,OAEZ,IAAK,EAAE,MAAM,CAAC,EAAE,OAAQ,EAAE,KAAK,CAAC,CAEhC,IAAK,EAAE,MAAM,CAAC,EAAE,OAAQ,EAAE,KAAK,CAAC,CAKhC,SAAU,EAAE,OACb,CAAC,CACH,CAAC,CCjBF,eAAsB,EAEpB,CACE,sBACA,mBACA,YACA,OACA,aACA,eAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAMtC,MAAM,EAAe,CACnB,sBACA,mBACA,YANkB,EAAQ,EAAM,EAAwB,CAOxD,YACA,cACA,aAAc,EACf,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./cancelPrivacyRequests-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./cancelPrivacyRequests-BQyfGe_g.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";async function n({auth:n,actions:r,statuses:i=[],requestIds:a,silentModeBefore:o,createdAtBefore:s,createdAtAfter:c,updatedAtBefore:l,updatedAtAfter:u,cancellationTitle:d,transcendUrl:f,concurrency:p}){t(this.process.exit),await e({transcendUrl:f,requestActions:r,auth:n,cancellationTitle:d,requestIds:a,statuses:i,concurrency:p,silentModeBefore:o?new Date(o):void 0,createdAtBefore:s?new Date(s):void 0,createdAtAfter:c?new Date(c):void 0,updatedAtBefore:l?new Date(l):void 0,updatedAtAfter:u?new Date(u):void 0})}export{n as cancel};
|
|
2
|
+
//# sourceMappingURL=impl-ENcuhthJ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-ENcuhthJ.mjs","names":[],"sources":["../src/commands/request/cancel/impl.ts"],"sourcesContent":["import { RequestAction, RequestStatus } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { cancelPrivacyRequests } from '../../../lib/requests/index.js';\n\nexport interface CancelCommandFlags {\n auth: string;\n actions: RequestAction[];\n statuses?: RequestStatus[];\n requestIds?: string[];\n silentModeBefore?: Date;\n createdAtBefore?: Date;\n createdAtAfter?: Date;\n updatedAtBefore?: Date;\n updatedAtAfter?: Date;\n cancellationTitle: string;\n transcendUrl: string;\n concurrency: number;\n}\n\nexport async function cancel(\n this: LocalContext,\n {\n auth,\n actions,\n statuses = [],\n requestIds,\n silentModeBefore,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n cancellationTitle,\n transcendUrl,\n concurrency,\n }: CancelCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await cancelPrivacyRequests({\n transcendUrl,\n requestActions: actions,\n auth,\n cancellationTitle,\n requestIds,\n statuses,\n concurrency,\n silentModeBefore: silentModeBefore ? new Date(silentModeBefore) : undefined,\n createdAtBefore: createdAtBefore ? new Date(createdAtBefore) : undefined,\n createdAtAfter: createdAtAfter ? new Date(createdAtAfter) : undefined,\n updatedAtBefore: updatedAtBefore ? new Date(updatedAtBefore) : undefined,\n updatedAtAfter: updatedAtAfter ? new Date(updatedAtAfter) : undefined,\n });\n}\n"],"mappings":"6GAqBA,eAAsB,EAEpB,CACE,OACA,UACA,WAAW,EAAE,CACb,aACA,mBACA,kBACA,iBACA,kBACA,iBACA,oBACA,eACA,eAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAAsB,CAC1B,eACA,eAAgB,EAChB,OACA,oBACA,aACA,WACA,cACA,iBAAkB,EAAmB,IAAI,KAAK,EAAiB,CAAG,IAAA,GAClE,gBAAiB,EAAkB,IAAI,KAAK,EAAgB,CAAG,IAAA,GAC/D,eAAgB,EAAiB,IAAI,KAAK,EAAe,CAAG,IAAA,GAC5D,gBAAiB,EAAkB,IAAI,KAAK,EAAgB,CAAG,IAAA,GAC/D,eAAgB,EAAiB,IAAI,KAAK,EAAe,CAAG,IAAA,GAC7D,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./logger-Bj782ZYD.mjs";import{n as t}from"./buildXdiSyncEndpoint-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./logger-Bj782ZYD.mjs";import{n as t}from"./buildXdiSyncEndpoint-E8Q0U1bC.mjs";import{t as n}from"./validateTranscendAuth-Cuh2Qfdl.mjs";import{t as r}from"./done-input-validation-BcNBxhEs.mjs";import{writeFileSync as i}from"node:fs";import a from"colors";async function o({auth:o,xdiLocation:s,file:c,removeIpAddresses:l,domainBlockList:u,xdiAllowedCommands:d,transcendUrl:f}){r(this.process.exit);let{syncGroups:p,html:m}=await t(await n(o),{xdiLocation:s,transcendUrl:f,removeIpAddresses:l,domainBlockList:u.length>0?u:void 0,xdiAllowedCommands:d});e.info(a.green(`Successfully constructed sync endpoint for sync groups: ${JSON.stringify(p,null,2)}`)),i(c,m),e.info(a.green(`Wrote configuration to file "${c}"!`))}export{o as buildXdiSyncEndpoint};
|
|
2
|
+
//# sourceMappingURL=impl-P1fUapAT.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-P1fUapAT.mjs","names":["buildXdiSyncEndpointHelper"],"sources":["../src/commands/consent/build-xdi-sync-endpoint/impl.ts"],"sourcesContent":["import { writeFileSync } from 'node:fs';\n\nimport colors from 'colors';\n\nimport type { LocalContext } from '../../../context.js';\nimport { validateTranscendAuth } from '../../../lib/api-keys/index.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { buildXdiSyncEndpoint as buildXdiSyncEndpointHelper } from '../../../lib/consent-manager/index.js';\nimport { logger } from '../../../logger.js';\n\nexport interface BuildXdiSyncEndpointCommandFlags {\n auth: string;\n xdiLocation: string;\n file: string;\n removeIpAddresses: boolean;\n domainBlockList: string[];\n xdiAllowedCommands: string;\n transcendUrl: string;\n}\n\nexport async function buildXdiSyncEndpoint(\n this: LocalContext,\n {\n auth,\n xdiLocation,\n file,\n removeIpAddresses,\n domainBlockList,\n xdiAllowedCommands,\n transcendUrl,\n }: BuildXdiSyncEndpointCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n // Parse authentication as API key or path to list of API keys\n const apiKeyOrList = await validateTranscendAuth(auth);\n\n // Build the sync endpoint\n const { syncGroups, html } = await buildXdiSyncEndpointHelper(apiKeyOrList, {\n xdiLocation,\n transcendUrl,\n removeIpAddresses,\n domainBlockList: domainBlockList.length > 0 ? domainBlockList : undefined,\n xdiAllowedCommands,\n });\n\n // Log success\n logger.info(\n colors.green(\n `Successfully constructed sync endpoint for sync groups: ${JSON.stringify(\n syncGroups,\n null,\n 2,\n )}`,\n ),\n );\n\n // Write to disk\n writeFileSync(file, html);\n logger.info(colors.green(`Wrote configuration to file \"${file}\"!`));\n}\n"],"mappings":"kRAoBA,eAAsB,EAEpB,CACE,OACA,cACA,OACA,oBACA,kBACA,qBACA,gBAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAMtC,GAAM,CAAE,aAAY,QAAS,MAAMA,EAHd,MAAM,EAAsB,EAAK,CAGsB,CAC1E,cACA,eACA,oBACA,gBAAiB,EAAgB,OAAS,EAAI,EAAkB,IAAA,GAChE,qBACD,CAAC,CAGF,EAAO,KACL,EAAO,MACL,2DAA2D,KAAK,UAC9D,EACA,KACA,EACD,GACF,CACF,CAGD,EAAc,EAAM,EAAK,CACzB,EAAO,KAAK,EAAO,MAAM,gCAAgC,EAAK,IAAI,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./uploadPrivacyRequestsFromCsv-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./uploadPrivacyRequestsFromCsv-Dn1JdlzU.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";import{splitCsvToList as n}from"@transcend-io/utils";async function r({auth:r,file:i,transcendUrl:a,cacheFilepath:o,requestReceiptFolder:s,sombraAuth:c,concurrency:l,attributes:u,isTest:d,isSilent:f,skipSendingReceipt:p,emailIsVerified:m,skipFilterStep:h,dryRun:g,debug:_,defaultPhoneCountryCode:v}){t(this.process.exit),await e({cacheFilepath:o,requestReceiptFolder:s,file:i,auth:r,sombraAuth:c,concurrency:l,transcendUrl:a,defaultPhoneCountryCode:v,attributes:n(u),debug:_,skipFilterStep:h,isSilent:f,skipSendingReceipt:p,emailIsVerified:m,isTest:d,dryRun:g})}export{r as upload};
|
|
2
|
+
//# sourceMappingURL=impl-R_J1GWvi.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-R_J1GWvi.mjs","names":[],"sources":["../src/commands/request/upload/impl.ts"],"sourcesContent":["import { splitCsvToList } from '@transcend-io/utils';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { uploadPrivacyRequestsFromCsv } from '../../../lib/requests/index.js';\n\nexport interface UploadCommandFlags {\n auth: string;\n file: string;\n transcendUrl: string;\n cacheFilepath: string;\n requestReceiptFolder: string;\n sombraAuth?: string;\n concurrency: number;\n attributes: string;\n isTest: boolean;\n isSilent: boolean;\n skipSendingReceipt: boolean;\n emailIsVerified: boolean;\n skipFilterStep: boolean;\n dryRun: boolean;\n debug: boolean;\n defaultPhoneCountryCode: string;\n}\n\nexport async function upload(\n this: LocalContext,\n {\n auth,\n file,\n transcendUrl,\n cacheFilepath,\n requestReceiptFolder,\n sombraAuth,\n concurrency,\n attributes,\n isTest,\n isSilent,\n skipSendingReceipt,\n emailIsVerified,\n skipFilterStep,\n dryRun,\n debug,\n defaultPhoneCountryCode,\n }: UploadCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await uploadPrivacyRequestsFromCsv({\n cacheFilepath,\n requestReceiptFolder,\n file,\n auth,\n sombraAuth,\n concurrency,\n transcendUrl,\n defaultPhoneCountryCode,\n attributes: splitCsvToList(attributes),\n debug,\n skipFilterStep,\n isSilent,\n skipSendingReceipt,\n emailIsVerified,\n isTest,\n dryRun,\n });\n}\n"],"mappings":"yKAyBA,eAAsB,EAEpB,CACE,OACA,OACA,eACA,gBACA,uBACA,aACA,cACA,aACA,SACA,WACA,qBACA,kBACA,iBACA,SACA,QACA,2BAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAA6B,CACjC,gBACA,uBACA,OACA,OACA,aACA,cACA,eACA,0BACA,WAAY,EAAe,EAAW,CACtC,QACA,iBACA,WACA,qBACA,kBACA,SACA,SACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./skipRequestDataSilos-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./skipRequestDataSilos-Cx738sjs.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";async function n({auth:n,dataSiloId:r,status:i,statuses:a,transcendUrl:o,actionTypes:s}){t(this.process.exit),await e({transcendUrl:o,auth:n,status:i,dataSiloId:r,requestStatuses:a,actionTypes:s})}export{n as skipRequestDataSilos};
|
|
2
|
+
//# sourceMappingURL=impl-WgFL98zF.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-WgFL98zF.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 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./pullManualEnrichmentIdentifiersToCsv-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./pullManualEnrichmentIdentifiersToCsv-DtUaXuun.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";async function n({auth:n,transcendUrl:r,file:i,concurrency:a,actions:o,sombraAuth:s}){t(this.process.exit),await e({file:i,transcendUrl:r,concurrency:a,requestActions:o,auth:n,sombraAuth:s})}export{n as pullIdentifiers};
|
|
2
|
+
//# sourceMappingURL=impl-YxkAjKlb.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-YxkAjKlb.mjs","names":[],"sources":["../src/commands/request/preflight/pull-identifiers/impl.ts"],"sourcesContent":["import type { RequestAction } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../../context.js';\nimport { doneInputValidation } from '../../../../lib/cli/done-input-validation.js';\nimport { pullManualEnrichmentIdentifiersToCsv } from '../../../../lib/manual-enrichment/index.js';\n\nexport interface PullIdentifiersCommandFlags {\n auth: string;\n sombraAuth?: string;\n transcendUrl: string;\n file: string;\n actions?: RequestAction[];\n concurrency: number;\n}\n\nexport async function pullIdentifiers(\n this: LocalContext,\n { auth, transcendUrl, file, concurrency, actions, sombraAuth }: PullIdentifiersCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await pullManualEnrichmentIdentifiersToCsv({\n file,\n transcendUrl,\n concurrency,\n requestActions: actions,\n auth,\n sombraAuth,\n });\n}\n"],"mappings":"4HAeA,eAAsB,EAEpB,CAAE,OAAM,eAAc,OAAM,cAAa,UAAS,cACnC,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAAqC,CACzC,OACA,eACA,cACA,eAAgB,EAChB,OACA,aACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./pushCronIdentifiersFromCsv-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./pushCronIdentifiersFromCsv-bdS2sat2.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";async function n({file:n,transcendUrl:r,auth:i,sombraAuth:a,dataSiloId:o}){t(this.process.exit),await e({file:n,transcendUrl:r,auth:i,sombraAuth:a,dataSiloId:o})}export{n as markIdentifiersCompleted};
|
|
2
|
+
//# sourceMappingURL=impl-Z8VqxZk6.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-Z8VqxZk6.mjs","names":[],"sources":["../src/commands/request/cron/mark-identifiers-completed/impl.ts"],"sourcesContent":["import type { LocalContext } from '../../../../context.js';\nimport { doneInputValidation } from '../../../../lib/cli/done-input-validation.js';\nimport { pushCronIdentifiersFromCsv } from '../../../../lib/cron/index.js';\n\nexport interface MarkIdentifiersCompletedCommandFlags {\n file: string;\n transcendUrl: string;\n auth: string;\n sombraAuth?: string;\n dataSiloId: string;\n}\n\nexport async function markIdentifiersCompleted(\n this: LocalContext,\n { file, transcendUrl, auth, sombraAuth, dataSiloId }: MarkIdentifiersCompletedCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await pushCronIdentifiersFromCsv({\n file,\n transcendUrl,\n auth,\n sombraAuth,\n dataSiloId,\n });\n}\n"],"mappings":"kHAYA,eAAsB,EAEpB,CAAE,OAAM,eAAc,OAAM,aAAY,cACzB,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAA2B,CAC/B,OACA,eACA,OACA,aACA,aACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./uploadCookiesFromCsv-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./uploadCookiesFromCsv-LJ9YEcFQ.mjs";import{t}from"./done-input-validation-BcNBxhEs.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-otE-_tT6.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-otE-_tT6.mjs","names":["uploadCookiesFromCsvHelper"],"sources":["../src/commands/consent/upload-cookies-from-csv/impl.ts"],"sourcesContent":["import { ConsentTrackerStatus } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { uploadCookiesFromCsv as uploadCookiesFromCsvHelper } from '../../../lib/consent-manager/index.js';\n\nexport interface UploadCookiesFromCsvCommandFlags {\n auth: string;\n trackerStatus: ConsentTrackerStatus;\n file: string;\n transcendUrl: string;\n}\n\nexport async function uploadCookiesFromCsv(\n this: LocalContext,\n { auth, trackerStatus, file, transcendUrl }: UploadCookiesFromCsvCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n // Upload cookies\n await uploadCookiesFromCsvHelper({\n auth,\n trackerStatus,\n file,\n transcendUrl,\n });\n}\n"],"mappings":"4GAaA,eAAsB,EAEpB,CAAE,OAAM,gBAAe,OAAM,gBACd,CACf,EAAoB,KAAK,QAAQ,KAAK,CAGtC,MAAMA,EAA2B,CAC/B,OACA,gBACA,OACA,eACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./constants-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./constants-CvFOBUqC.mjs";import{t}from"./logger-Bj782ZYD.mjs";import{n}from"./syncCodePackages-CAk_Hjyl.mjs";import{t as r}from"./done-input-validation-BcNBxhEs.mjs";import{t as i}from"./constants-BmwXDQu9.mjs";import{getEntries as a}from"@transcend-io/type-utils";import o from"colors";import{buildTranscendGraphQLClient as s}from"@transcend-io/sdk";import{execSync as c}from"child_process";import l from"fast-glob";async function u({scanPath:e,ignoreDirs:n=[],repositoryName:r}){return(await Promise.all(a(i).map(async([i,a])=>{let{ignoreDirs:s,supportedFiles:c,scanFunction:u}=a,d=[...n,...s].filter(e=>e.length>0);try{let n=await l(`${e}/**/${c.join(`|`)}`,{ignore:d.map(t=>`${e}/**/${t}`),unique:!0,onlyFiles:!0});t.info(o.magenta(`Scanning: ${n.length} files of type ${i}`));let a=n.map(t=>u(t).map(n=>({...n,relativePath:t.replace(`${e}/`,``)}))).flat();return t.info(o.green(`Found: ${a.length} packages and ${a.map(({softwareDevelopmentKits:e=[]})=>e).flat().length} sdks`)),a.map(e=>({...e,type:i,repositoryName:r}))}catch(e){throw Error(`Error scanning globs ${c} with error: ${e}`)}}))).flat()}const d=`A repository name must be provided. You can specify using --repositoryName=$REPO_NAME or by ensuring the command "git config --get remote.origin.url" returns the name of the repository`;async function f({auth:i,scanPath:a,ignoreDirs:l,repositoryName:f,transcendUrl:p}){r(this.process.exit);let m=f;if(!m)try{let e=c(`cd ${a} && git config --get remote.origin.url`).toString(`utf-8`).trim();[m]=e.includes(`https:`)?e.split(`/`).slice(3).join(`/`).split(`.`):(e.split(`:`).pop()||``).split(`.`),m||(t.error(o.red(d)),this.process.exit(1))}catch(e){t.error(o.red(`${d} - Got error: ${e.message}`)),this.process.exit(1)}let h=s(p,i),g=await u({scanPath:a,ignoreDirs:l,repositoryName:m});await n(h,g);let _=new URL(e);_.pathname=`/code-scanning/code-packages`,t.info(o.green(`Scan found ${g.length} packages at ${a}! View results at '${_.href}'`))}export{f as scanPackages};
|
|
2
|
+
//# sourceMappingURL=impl-rQozOYcZ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-rQozOYcZ.mjs","names":[],"sources":["../src/lib/code-scanning/findCodePackagesInFolder.ts","../src/commands/inventory/scan-packages/impl.ts"],"sourcesContent":["import { getEntries } from '@transcend-io/type-utils';\nimport colors from 'colors';\nimport fastGlob from 'fast-glob';\n\nimport { CodePackageInput } from '../../codecs.js';\nimport { logger } from '../../logger.js';\nimport { CODE_SCANNING_CONFIGS } from './constants.js';\n\n/**\n * Helper to scan and discovery all of the code packages within a folder\n *\n * @param options - Options\n * @returns the list of integrations\n */\nexport async function findCodePackagesInFolder({\n scanPath,\n ignoreDirs = [],\n repositoryName,\n}: {\n /** The name of the github repository reporting packages for */\n repositoryName: string;\n /** Where to look for package.json files */\n scanPath: string;\n /** The directories to ignore (excludes node_modules and serverless-build) */\n ignoreDirs?: string[];\n}): Promise<CodePackageInput[]> {\n const allCodePackages = await Promise.all(\n getEntries(CODE_SCANNING_CONFIGS).map(async ([codePackageType, config]) => {\n const { ignoreDirs: configIgnoreDirs, supportedFiles, scanFunction } = config;\n const dirsToIgnore = [...ignoreDirs, ...configIgnoreDirs].filter((dir) => dir.length > 0);\n try {\n const filesToScan: string[] = await fastGlob(`${scanPath}/**/${supportedFiles.join('|')}`, {\n ignore: dirsToIgnore.map((dir: string) => `${scanPath}/**/${dir}`),\n unique: true,\n onlyFiles: true,\n });\n logger.info(\n colors.magenta(`Scanning: ${filesToScan.length} files of type ${codePackageType}`),\n );\n const allPackages = filesToScan\n .map((filePath) =>\n scanFunction(filePath).map((result) => ({\n ...result,\n relativePath: filePath.replace(`${scanPath}/`, ''),\n })),\n )\n .flat();\n logger.info(\n colors.green(\n `Found: ${allPackages.length} packages and ${\n allPackages.map(({ softwareDevelopmentKits = [] }) => softwareDevelopmentKits).flat()\n .length\n } sdks`,\n ),\n );\n\n return allPackages.map(\n (pkg): CodePackageInput => ({\n ...pkg,\n type: codePackageType,\n repositoryName,\n }),\n );\n } catch (error) {\n throw new Error(`Error scanning globs ${supportedFiles} with error: ${error}`);\n }\n }),\n );\n\n return allCodePackages.flat();\n}\n","import { execSync } from 'child_process';\n\nimport { buildTranscendGraphQLClient } from '@transcend-io/sdk';\nimport colors from 'colors';\n\nimport { ADMIN_DASH } from '../../../constants.js';\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { findCodePackagesInFolder } from '../../../lib/code-scanning/index.js';\nimport { syncCodePackages } from '../../../lib/graphql/index.js';\nimport { logger } from '../../../logger.js';\n\nconst REPO_ERROR =\n 'A repository name must be provided. ' +\n 'You can specify using --repositoryName=$REPO_NAME or by ensuring the ' +\n 'command \"git config --get remote.origin.url\" returns the name of the repository';\n\nexport interface ScanPackagesCommandFlags {\n auth: string;\n scanPath: string;\n ignoreDirs?: string[];\n repositoryName?: string;\n transcendUrl: string;\n}\n\nexport async function scanPackages(\n this: LocalContext,\n { auth, scanPath, ignoreDirs, repositoryName, transcendUrl }: ScanPackagesCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n // Ensure repository name is specified\n let gitRepositoryName = repositoryName;\n if (!gitRepositoryName) {\n try {\n const name = execSync(`cd ${scanPath} && git config --get remote.origin.url`);\n // Trim and parse the URL\n const url = name.toString('utf-8').trim();\n [gitRepositoryName] = !url.includes('https:')\n ? (url.split(':').pop() || '').split('.')\n : url.split('/').slice(3).join('/').split('.');\n if (!gitRepositoryName) {\n logger.error(colors.red(REPO_ERROR));\n this.process.exit(1);\n }\n } catch (err) {\n logger.error(colors.red(`${REPO_ERROR} - Got error: ${err.message}`));\n this.process.exit(1);\n }\n }\n\n // Create a GraphQL client\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n\n // Scan the codebase to discovery packages\n const results = await findCodePackagesInFolder({\n scanPath,\n ignoreDirs,\n repositoryName: gitRepositoryName,\n });\n\n // Report scan to Transcend\n await syncCodePackages(client, results);\n\n const newUrl = new URL(ADMIN_DASH);\n newUrl.pathname = '/code-scanning/code-packages';\n\n // Indicate success\n logger.info(\n colors.green(\n `Scan found ${results.length} packages at ${scanPath}! ` + `View results at '${newUrl.href}'`,\n ),\n );\n}\n"],"mappings":"qbAcA,eAAsB,EAAyB,CAC7C,WACA,aAAa,EAAE,CACf,kBAQ8B,CA4C9B,OA3CwB,MAAM,QAAQ,IACpC,EAAW,EAAsB,CAAC,IAAI,MAAO,CAAC,EAAiB,KAAY,CACzE,GAAM,CAAE,WAAY,EAAkB,iBAAgB,gBAAiB,EACjE,EAAe,CAAC,GAAG,EAAY,GAAG,EAAiB,CAAC,OAAQ,GAAQ,EAAI,OAAS,EAAE,CACzF,GAAI,CACF,IAAM,EAAwB,MAAM,EAAS,GAAG,EAAS,MAAM,EAAe,KAAK,IAAI,GAAI,CACzF,OAAQ,EAAa,IAAK,GAAgB,GAAG,EAAS,MAAM,IAAM,CAClE,OAAQ,GACR,UAAW,GACZ,CAAC,CACF,EAAO,KACL,EAAO,QAAQ,aAAa,EAAY,OAAO,iBAAiB,IAAkB,CACnF,CACD,IAAM,EAAc,EACjB,IAAK,GACJ,EAAa,EAAS,CAAC,IAAK,IAAY,CACtC,GAAG,EACH,aAAc,EAAS,QAAQ,GAAG,EAAS,GAAI,GAAG,CACnD,EAAE,CACJ,CACA,MAAM,CAUT,OATA,EAAO,KACL,EAAO,MACL,UAAU,EAAY,OAAO,gBAC3B,EAAY,KAAK,CAAE,0BAA0B,EAAE,IAAO,EAAwB,CAAC,MAAM,CAClF,OACJ,OACF,CACF,CAEM,EAAY,IAChB,IAA2B,CAC1B,GAAG,EACH,KAAM,EACN,iBACD,EACF,OACM,EAAO,CACd,MAAU,MAAM,wBAAwB,EAAe,eAAe,IAAQ,GAEhF,CACH,EAEsB,MAAM,CCzD/B,MAAM,EACJ,2LAYF,eAAsB,EAEpB,CAAE,OAAM,WAAU,aAAY,iBAAgB,gBAC/B,CACf,EAAoB,KAAK,QAAQ,KAAK,CAGtC,IAAI,EAAoB,EACxB,GAAI,CAAC,EACH,GAAI,CAGF,IAAM,EAFO,EAAS,MAAM,EAAS,wCAAwC,CAE5D,SAAS,QAAQ,CAAC,MAAM,CACzC,CAAC,GAAsB,EAAI,SAAS,SAAS,CAEzC,EAAI,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,EAD3C,EAAI,MAAM,IAAI,CAAC,KAAK,EAAI,IAAI,MAAM,IAAI,CAEtC,IACH,EAAO,MAAM,EAAO,IAAI,EAAW,CAAC,CACpC,KAAK,QAAQ,KAAK,EAAE,QAEf,EAAK,CACZ,EAAO,MAAM,EAAO,IAAI,GAAG,EAAW,gBAAgB,EAAI,UAAU,CAAC,CACrE,KAAK,QAAQ,KAAK,EAAE,CAKxB,IAAM,EAAS,EAA4B,EAAc,EAAK,CAGxD,EAAU,MAAM,EAAyB,CAC7C,WACA,aACA,eAAgB,EACjB,CAAC,CAGF,MAAM,EAAiB,EAAQ,EAAQ,CAEvC,IAAM,EAAS,IAAI,IAAI,EAAW,CAClC,EAAO,SAAW,+BAGlB,EAAO,KACL,EAAO,MACL,cAAc,EAAQ,OAAO,eAAe,EAAS,qBAA0B,EAAO,KAAK,GAC5F,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as e}from"./constants-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{c as e}from"./constants-CvFOBUqC.mjs";import{t}from"./generateCrossAccountApiKeys-Ye06oxq3.mjs";import{t as n}from"./done-input-validation-BcNBxhEs.mjs";import{writeFileSync as r}from"node:fs";async function i({email:i,password:a,apiKeyTitle:o,file:s,scopes:c,deleteExistingApiKey:l,createNewApiKey:u,parentOrganizationId:d,transcendUrl:f}){n(this.process.exit);let{errors:p,apiKeys:m}=await t({transcendUrl:f,password:a,email:i,parentOrganizationId:d,deleteExistingApiKey:l,createNewApiKey:u,apiKeyTitle:o,scopes:c.map(t=>e[t].name)});r(s,`${JSON.stringify(m,null,2)}\n`),p.length>0&&this.process.exit(1)}export{i as generateApiKeys};
|
|
2
|
+
//# sourceMappingURL=impl-tax_V7HF.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-tax_V7HF.mjs","names":[],"sources":["../src/commands/admin/generate-api-keys/impl.ts"],"sourcesContent":["import { writeFileSync } from 'node:fs';\n\nimport { ScopeName } from '@transcend-io/privacy-types';\n\nimport { SCOPES_BY_TITLE } from '../../../constants.js';\nimport type { LocalContext } from '../../../context.js';\nimport { generateCrossAccountApiKeys } from '../../../lib/api-keys/index.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\n\n// Command flag interface\nexport interface GenerateApiKeysCommandFlags {\n email: string;\n password: string;\n apiKeyTitle: string;\n file: string;\n scopes: string[];\n deleteExistingApiKey: boolean;\n createNewApiKey: boolean;\n parentOrganizationId?: string;\n transcendUrl: string;\n}\n\n// Command implementation\nexport async function generateApiKeys(\n this: LocalContext,\n {\n email,\n password,\n apiKeyTitle,\n file,\n scopes,\n deleteExistingApiKey,\n createNewApiKey,\n parentOrganizationId,\n transcendUrl,\n }: GenerateApiKeysCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n const scopeNames = scopes.map((scopeTitle) => SCOPES_BY_TITLE[scopeTitle].name as ScopeName);\n\n // Upload privacy requests\n const { errors, apiKeys } = await generateCrossAccountApiKeys({\n transcendUrl,\n password,\n email,\n parentOrganizationId,\n deleteExistingApiKey,\n createNewApiKey,\n apiKeyTitle,\n scopes: scopeNames,\n });\n\n // Write to disk\n writeFileSync(file, `${JSON.stringify(apiKeys, null, 2)}\\n`);\n if (errors.length > 0) {\n this.process.exit(1);\n }\n}\n"],"mappings":"wMAuBA,eAAsB,EAEpB,CACE,QACA,WACA,cACA,OACA,SACA,uBACA,kBACA,uBACA,gBAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAKtC,GAAM,CAAE,SAAQ,WAAY,MAAM,EAA4B,CAC5D,eACA,WACA,QACA,uBACA,uBACA,kBACA,cACA,OAXiB,EAAO,IAAK,GAAe,EAAgB,GAAY,KAAkB,CAY3F,CAAC,CAGF,EAAc,EAAM,GAAG,KAAK,UAAU,EAAS,KAAM,EAAE,CAAC,IAAI,CACxD,EAAO,OAAS,GAClB,KAAK,QAAQ,KAAK,EAAE"}
|
package/dist/index.d.mts
CHANGED
|
@@ -133733,11 +133733,11 @@ declare const CachedFileState: t.TypeC<{
|
|
|
133733
133733
|
}>>; /** Mapping between request status in import to Transcend request status */
|
|
133734
133734
|
statusToRequestStatus: t.RecordC<t.StringC, t.KeyofC<{
|
|
133735
133735
|
CANCELED: unknown;
|
|
133736
|
-
"[NONE]": unknown;
|
|
133737
133736
|
FAILED_VERIFICATION: unknown;
|
|
133738
133737
|
COMPLETED: unknown;
|
|
133739
133738
|
SECONDARY_COMPLETED: unknown;
|
|
133740
133739
|
REVOKED: unknown;
|
|
133740
|
+
"[NONE]": unknown;
|
|
133741
133741
|
}>>;
|
|
133742
133742
|
}>;
|
|
133743
133743
|
/** Type override */
|
|
@@ -139644,20 +139644,20 @@ declare const PrivacyRequestResponse: t.TypeC<{
|
|
|
139644
139644
|
status: t.KeyofC<{
|
|
139645
139645
|
CANCELED: unknown;
|
|
139646
139646
|
ON_HOLD: unknown;
|
|
139647
|
-
FAILED_VERIFICATION: unknown;
|
|
139648
|
-
COMPLETED: unknown;
|
|
139649
|
-
SECONDARY_COMPLETED: unknown;
|
|
139650
|
-
REVOKED: unknown;
|
|
139651
139647
|
REQUEST_MADE: unknown;
|
|
139648
|
+
FAILED_VERIFICATION: unknown;
|
|
139652
139649
|
ENRICHING: unknown;
|
|
139653
139650
|
WAITING: unknown;
|
|
139654
139651
|
COMPILING: unknown;
|
|
139655
139652
|
APPROVING: unknown;
|
|
139656
139653
|
DELAYED: unknown;
|
|
139654
|
+
COMPLETED: unknown;
|
|
139657
139655
|
DOWNLOADABLE: unknown;
|
|
139658
139656
|
VIEW_CATEGORIES: unknown;
|
|
139659
139657
|
SECONDARY: unknown;
|
|
139658
|
+
SECONDARY_COMPLETED: unknown;
|
|
139660
139659
|
SECONDARY_APPROVING: unknown;
|
|
139660
|
+
REVOKED: unknown;
|
|
139661
139661
|
}>;
|
|
139662
139662
|
type: t.KeyofC<{
|
|
139663
139663
|
AUTOMATED_DECISION_MAKING_OPT_OUT: unknown;
|
|
@@ -145542,20 +145542,20 @@ declare const PrivacyRequest: t.IntersectionC<[t.TypeC<{
|
|
|
145542
145542
|
status: t.KeyofC<{
|
|
145543
145543
|
CANCELED: unknown;
|
|
145544
145544
|
ON_HOLD: unknown;
|
|
145545
|
-
FAILED_VERIFICATION: unknown;
|
|
145546
|
-
COMPLETED: unknown;
|
|
145547
|
-
SECONDARY_COMPLETED: unknown;
|
|
145548
|
-
REVOKED: unknown;
|
|
145549
145545
|
REQUEST_MADE: unknown;
|
|
145546
|
+
FAILED_VERIFICATION: unknown;
|
|
145550
145547
|
ENRICHING: unknown;
|
|
145551
145548
|
WAITING: unknown;
|
|
145552
145549
|
COMPILING: unknown;
|
|
145553
145550
|
APPROVING: unknown;
|
|
145554
145551
|
DELAYED: unknown;
|
|
145552
|
+
COMPLETED: unknown;
|
|
145555
145553
|
DOWNLOADABLE: unknown;
|
|
145556
145554
|
VIEW_CATEGORIES: unknown;
|
|
145557
145555
|
SECONDARY: unknown;
|
|
145556
|
+
SECONDARY_COMPLETED: unknown;
|
|
145558
145557
|
SECONDARY_APPROVING: unknown;
|
|
145558
|
+
REVOKED: unknown;
|
|
145559
145559
|
}>; /** Type of data subject */
|
|
145560
145560
|
subjectType: t.StringC; /** Country of request */
|
|
145561
145561
|
country: t.UnionC<[t.NullC, t.KeyofC<{
|
|
@@ -151327,7 +151327,7 @@ declare function streamPrivacyRequestFiles(fileMetadata: RequestFileMetadata[],
|
|
|
151327
151327
|
}: {
|
|
151328
151328
|
/** Request ID for logging */requestId: string; /** Sombra got instance */
|
|
151329
151329
|
sombra: Got; /** Handler on each file */
|
|
151330
|
-
onFileDownloaded: (metadata: RequestFileMetadata, stream:
|
|
151330
|
+
onFileDownloaded: (metadata: RequestFileMetadata, stream: Uint8Array) => void; /** Concurrent downloads at once */
|
|
151331
151331
|
concurrency?: number;
|
|
151332
151332
|
}): Promise<void>;
|
|
151333
151333
|
//#endregion
|