@transcend-io/cli 13.0.6 → 13.0.8
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 +2 -2
- package/dist/{app-CgHCDGve.mjs → app-C30CjSkC.mjs} +16 -16
- package/dist/{app-CgHCDGve.mjs.map → app-C30CjSkC.mjs.map} +1 -1
- package/dist/{approvePrivacyRequests-BrnJ-CVF.mjs → approvePrivacyRequests-BWwO-VkZ.mjs} +2 -2
- package/dist/{approvePrivacyRequests-BrnJ-CVF.mjs.map → approvePrivacyRequests-BWwO-VkZ.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/{buildExamples-CnR3Kr1g.mjs → buildExamples-CNJja2-q.mjs} +2 -2
- package/dist/{buildExamples-CnR3Kr1g.mjs.map → buildExamples-CNJja2-q.mjs.map} +1 -1
- package/dist/{buildXdiSyncEndpoint-C5d116vB.mjs → buildXdiSyncEndpoint-CB10Y5Zh.mjs} +2 -2
- package/dist/{buildXdiSyncEndpoint-C5d116vB.mjs.map → buildXdiSyncEndpoint-CB10Y5Zh.mjs.map} +1 -1
- package/dist/{bulkRestartRequests-C3cbvO42.mjs → bulkRestartRequests-CQ3xJ0_a.mjs} +2 -2
- package/dist/{bulkRestartRequests-C3cbvO42.mjs.map → bulkRestartRequests-CQ3xJ0_a.mjs.map} +1 -1
- package/dist/{bulkRetryEnrichers-C0Z-5oAG.mjs → bulkRetryEnrichers-C6EC7hDi.mjs} +2 -2
- package/dist/{bulkRetryEnrichers-C0Z-5oAG.mjs.map → bulkRetryEnrichers-C6EC7hDi.mjs.map} +1 -1
- package/dist/{cancelPrivacyRequests-i7HTC4_n.mjs → cancelPrivacyRequests-RYf84Ife.mjs} +2 -2
- package/dist/{cancelPrivacyRequests-i7HTC4_n.mjs.map → cancelPrivacyRequests-RYf84Ife.mjs.map} +1 -1
- package/dist/{command-hkvdh57O.mjs → command-2mycAA8T.mjs} +2 -2
- package/dist/{command-hkvdh57O.mjs.map → command-2mycAA8T.mjs.map} +1 -1
- package/dist/{constants-CusZYsjT.mjs → constants-B0oaHpig.mjs} +2 -2
- package/dist/{constants-CusZYsjT.mjs.map → constants-B0oaHpig.mjs.map} +1 -1
- package/dist/{createPoolingCommandUi-C6uf3bzG.mjs → createPoolingCommandUi-CDtlHb8_.mjs} +2 -2
- package/dist/{createPoolingCommandUi-C6uf3bzG.mjs.map → createPoolingCommandUi-CDtlHb8_.mjs.map} +1 -1
- package/dist/{downloadPrivacyRequestFiles-Do8cKTNC.mjs → downloadPrivacyRequestFiles-CgVZOWgS.mjs} +2 -2
- package/dist/{downloadPrivacyRequestFiles-Do8cKTNC.mjs.map → downloadPrivacyRequestFiles-CgVZOWgS.mjs.map} +1 -1
- package/dist/{generateCrossAccountApiKeys-D3EzSJV7.mjs → generateCrossAccountApiKeys-BG3A4CKS.mjs} +2 -2
- package/dist/{generateCrossAccountApiKeys-D3EzSJV7.mjs.map → generateCrossAccountApiKeys-BG3A4CKS.mjs.map} +1 -1
- package/dist/{impl-C9JlWA7i.mjs → impl-9sk_xUm1.mjs} +2 -2
- package/dist/{impl-C9JlWA7i.mjs.map → impl-9sk_xUm1.mjs.map} +1 -1
- package/dist/{impl-D-1QAfLV.mjs → impl-Ap1oZlzF.mjs} +2 -2
- package/dist/{impl-D-1QAfLV.mjs.map → impl-Ap1oZlzF.mjs.map} +1 -1
- package/dist/{impl-B964vhTe.mjs → impl-B4PSQtDD.mjs} +2 -2
- package/dist/{impl-B964vhTe.mjs.map → impl-B4PSQtDD.mjs.map} +1 -1
- package/dist/{impl-DHTAxvp8.mjs → impl-B6PDRnqA.mjs} +2 -2
- package/dist/{impl-DHTAxvp8.mjs.map → impl-B6PDRnqA.mjs.map} +1 -1
- package/dist/{impl-D_03KeBQ.mjs → impl-B7Rfw4nS.mjs} +2 -2
- package/dist/{impl-D_03KeBQ.mjs.map → impl-B7Rfw4nS.mjs.map} +1 -1
- package/dist/{impl-L-TZRGF5.mjs → impl-BAzZNoIY.mjs} +2 -2
- package/dist/{impl-L-TZRGF5.mjs.map → impl-BAzZNoIY.mjs.map} +1 -1
- package/dist/{impl-COpuW67i.mjs → impl-BSZmuX3n.mjs} +2 -2
- package/dist/{impl-COpuW67i.mjs.map → impl-BSZmuX3n.mjs.map} +1 -1
- package/dist/{impl-Cm_hCZ5h.mjs → impl-BaC1mNZ_.mjs} +2 -2
- package/dist/{impl-Cm_hCZ5h.mjs.map → impl-BaC1mNZ_.mjs.map} +1 -1
- package/dist/{impl-DWmQ_15Y.mjs → impl-BlzJ6Ych.mjs} +2 -2
- package/dist/{impl-DWmQ_15Y.mjs.map → impl-BlzJ6Ych.mjs.map} +1 -1
- package/dist/{impl-DLaSUiZ7.mjs → impl-Bs5fBEjH.mjs} +2 -2
- package/dist/{impl-DLaSUiZ7.mjs.map → impl-Bs5fBEjH.mjs.map} +1 -1
- package/dist/{impl-DbTZmp_W2.mjs → impl-BvyB3epw2.mjs} +2 -2
- package/dist/{impl-DbTZmp_W2.mjs.map → impl-BvyB3epw2.mjs.map} +1 -1
- package/dist/{impl-CVjaQ_-Y2.mjs → impl-C3zfU0Jt2.mjs} +2 -2
- package/dist/{impl-CVjaQ_-Y2.mjs.map → impl-C3zfU0Jt2.mjs.map} +1 -1
- package/dist/{impl-UlLFb3UK2.mjs → impl-C4CrzZFK2.mjs} +2 -2
- package/dist/{impl-UlLFb3UK2.mjs.map → impl-C4CrzZFK2.mjs.map} +1 -1
- package/dist/{impl-DQbP4dBX.mjs → impl-C5A6boYU.mjs} +2 -2
- package/dist/{impl-DQbP4dBX.mjs.map → impl-C5A6boYU.mjs.map} +1 -1
- package/dist/{impl-COD03bOu.mjs → impl-C5o7iqlK.mjs} +2 -2
- package/dist/{impl-COD03bOu.mjs.map → impl-C5o7iqlK.mjs.map} +1 -1
- package/dist/{impl-DvLO4Qn3.mjs → impl-C8oTRXHj.mjs} +2 -2
- package/dist/{impl-DvLO4Qn3.mjs.map → impl-C8oTRXHj.mjs.map} +1 -1
- package/dist/{impl-F0lRLx7N.mjs → impl-CB1QyjSs.mjs} +2 -2
- package/dist/{impl-F0lRLx7N.mjs.map → impl-CB1QyjSs.mjs.map} +1 -1
- package/dist/{impl-DnPaAp-d.mjs → impl-CRUywZ24.mjs} +2 -2
- package/dist/{impl-DnPaAp-d.mjs.map → impl-CRUywZ24.mjs.map} +1 -1
- package/dist/{impl-S3znb469.mjs → impl-CY-fXikv.mjs} +2 -2
- package/dist/{impl-S3znb469.mjs.map → impl-CY-fXikv.mjs.map} +1 -1
- package/dist/{impl-CBLQwa8E.mjs → impl-CfYLIyNs.mjs} +2 -2
- package/dist/{impl-CBLQwa8E.mjs.map → impl-CfYLIyNs.mjs.map} +1 -1
- package/dist/{impl-CALzjhEc.mjs → impl-CrCGRoa3.mjs} +2 -2
- package/dist/{impl-CALzjhEc.mjs.map → impl-CrCGRoa3.mjs.map} +1 -1
- package/dist/{impl-DwBrrrR3.mjs → impl-CyPfmNE5.mjs} +2 -2
- package/dist/{impl-DwBrrrR3.mjs.map → impl-CyPfmNE5.mjs.map} +1 -1
- package/dist/{impl-8kZN8w0q.mjs → impl-D5MKgDo-.mjs} +2 -2
- package/dist/{impl-8kZN8w0q.mjs.map → impl-D5MKgDo-.mjs.map} +1 -1
- package/dist/{impl-CuII9KiJ.mjs → impl-DBMDFKIK.mjs} +2 -2
- package/dist/{impl-CuII9KiJ.mjs.map → impl-DBMDFKIK.mjs.map} +1 -1
- package/dist/{impl-CFPN8z3c.mjs → impl-DJbykleN.mjs} +2 -2
- package/dist/{impl-CFPN8z3c.mjs.map → impl-DJbykleN.mjs.map} +1 -1
- package/dist/{impl-wymd_Y3k.mjs → impl-DbDqwIOm.mjs} +2 -2
- package/dist/{impl-wymd_Y3k.mjs.map → impl-DbDqwIOm.mjs.map} +1 -1
- package/dist/{impl-De1JItpM2.mjs → impl-DgMvt8lw2.mjs} +2 -2
- package/dist/{impl-De1JItpM2.mjs.map → impl-DgMvt8lw2.mjs.map} +1 -1
- package/dist/{impl-Dd60oodD2.mjs → impl-Dgzu4S-l2.mjs} +2 -2
- package/dist/{impl-Dd60oodD2.mjs.map → impl-Dgzu4S-l2.mjs.map} +1 -1
- package/dist/{impl-Dw-MR5nR.mjs → impl-DibupTqM.mjs} +2 -2
- package/dist/{impl-Dw-MR5nR.mjs.map → impl-DibupTqM.mjs.map} +1 -1
- package/dist/{impl-BiQ9lDze.mjs → impl-DjbKuC16.mjs} +2 -2
- package/dist/{impl-BiQ9lDze.mjs.map → impl-DjbKuC16.mjs.map} +1 -1
- package/dist/{impl-C7iC7S5D.mjs → impl-DsMlD5qQ.mjs} +2 -2
- package/dist/{impl-C7iC7S5D.mjs.map → impl-DsMlD5qQ.mjs.map} +1 -1
- package/dist/{impl-zH16n-0l.mjs → impl-DyCOfEyz.mjs} +2 -2
- package/dist/{impl-zH16n-0l.mjs.map → impl-DyCOfEyz.mjs.map} +1 -1
- package/dist/{impl-Q8a16IkZ.mjs → impl-DyRlE2dG.mjs} +2 -2
- package/dist/{impl-Q8a16IkZ.mjs.map → impl-DyRlE2dG.mjs.map} +1 -1
- package/dist/{impl-DwGZvFYI.mjs → impl-IsLLLZ8_.mjs} +2 -2
- package/dist/{impl-DwGZvFYI.mjs.map → impl-IsLLLZ8_.mjs.map} +1 -1
- package/dist/{impl-BY1HzPeX.mjs → impl-XurXwXBn.mjs} +2 -2
- package/dist/{impl-BY1HzPeX.mjs.map → impl-XurXwXBn.mjs.map} +1 -1
- package/dist/{impl-DAlYoIsj.mjs → impl-lhik35ZQ.mjs} +2 -2
- package/dist/{impl-DAlYoIsj.mjs.map → impl-lhik35ZQ.mjs.map} +1 -1
- package/dist/{impl-D8KUHOU8.mjs → impl-m3xHPKGn.mjs} +2 -2
- package/dist/{impl-D8KUHOU8.mjs.map → impl-m3xHPKGn.mjs.map} +1 -1
- package/dist/{impl-B5CqfbCN.mjs → impl-wsqV83LN.mjs} +2 -2
- package/dist/{impl-B5CqfbCN.mjs.map → impl-wsqV83LN.mjs.map} +1 -1
- package/dist/{impl-BUbwefXr.mjs → impl-xfle7PY2.mjs} +2 -2
- package/dist/{impl-BUbwefXr.mjs.map → impl-xfle7PY2.mjs.map} +1 -1
- package/dist/index.d.mts +4 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{markRequestDataSiloIdsCompleted-CJdC2ta9.mjs → markRequestDataSiloIdsCompleted-hJUkApfy.mjs} +2 -2
- package/dist/{markRequestDataSiloIdsCompleted-CJdC2ta9.mjs.map → markRequestDataSiloIdsCompleted-hJUkApfy.mjs.map} +1 -1
- package/dist/{markSilentPrivacyRequests-CIjtVoXr.mjs → markSilentPrivacyRequests-CHZW_BF1.mjs} +2 -2
- package/dist/{markSilentPrivacyRequests-CIjtVoXr.mjs.map → markSilentPrivacyRequests-CHZW_BF1.mjs.map} +1 -1
- package/dist/{notifyPrivacyRequestsAdditionalTime-DsjlAlh8.mjs → notifyPrivacyRequestsAdditionalTime-Bbf8jD3v.mjs} +2 -2
- package/dist/{notifyPrivacyRequestsAdditionalTime-DsjlAlh8.mjs.map → notifyPrivacyRequestsAdditionalTime-Bbf8jD3v.mjs.map} +1 -1
- package/dist/{policy-bundle-manifest-xaiuhXv5.mjs → policy-bundle-manifest-C72R7B1B.mjs} +2 -2
- package/dist/{policy-bundle-manifest-xaiuhXv5.mjs.map → policy-bundle-manifest-C72R7B1B.mjs.map} +1 -1
- package/dist/{policy-project-discovery-Dxikd8NT.mjs → policy-project-discovery-B3x2Rsb4.mjs} +2 -2
- package/dist/{policy-project-discovery-Dxikd8NT.mjs.map → policy-project-discovery-B3x2Rsb4.mjs.map} +1 -1
- package/dist/{policy-scaffold-config-DRWTaw0k.mjs → policy-scaffold-config-CX_yfLIH.mjs} +2 -2
- package/dist/{policy-scaffold-config-DRWTaw0k.mjs.map → policy-scaffold-config-CX_yfLIH.mjs.map} +1 -1
- package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-DbNvJJrP.mjs → pullChunkedCustomSiloOutstandingIdentifiers-DbN50nXD.mjs} +2 -2
- package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-DbNvJJrP.mjs.map → pullChunkedCustomSiloOutstandingIdentifiers-DbN50nXD.mjs.map} +1 -1
- package/dist/{pullManualEnrichmentIdentifiersToCsv-3hX7b2sn.mjs → pullManualEnrichmentIdentifiersToCsv-CVdPCVBt.mjs} +2 -2
- package/dist/{pullManualEnrichmentIdentifiersToCsv-3hX7b2sn.mjs.map → pullManualEnrichmentIdentifiersToCsv-CVdPCVBt.mjs.map} +1 -1
- package/dist/{pushCronIdentifiersFromCsv-DSsDe8er.mjs → pushCronIdentifiersFromCsv-BOxNiYeL.mjs} +2 -2
- package/dist/{pushCronIdentifiersFromCsv-DSsDe8er.mjs.map → pushCronIdentifiersFromCsv-BOxNiYeL.mjs.map} +1 -1
- package/dist/{pushManualEnrichmentIdentifiersFromCsv-B4NWrYLP.mjs → pushManualEnrichmentIdentifiersFromCsv-CMtEFHNu.mjs} +2 -2
- package/dist/{pushManualEnrichmentIdentifiersFromCsv-B4NWrYLP.mjs.map → pushManualEnrichmentIdentifiersFromCsv-CMtEFHNu.mjs.map} +1 -1
- package/dist/{removeUnverifiedRequestIdentifiers-eub1buew.mjs → removeUnverifiedRequestIdentifiers-uy507BaB.mjs} +2 -2
- package/dist/{removeUnverifiedRequestIdentifiers-eub1buew.mjs.map → removeUnverifiedRequestIdentifiers-uy507BaB.mjs.map} +1 -1
- package/dist/{retryRequestDataSilos-Bz2krPpO.mjs → retryRequestDataSilos-CawyTtni.mjs} +2 -2
- package/dist/{retryRequestDataSilos-Bz2krPpO.mjs.map → retryRequestDataSilos-CawyTtni.mjs.map} +1 -1
- package/dist/{skipPreflightJobs-DnMtLNHR.mjs → skipPreflightJobs-Dc9C6XLJ.mjs} +2 -2
- package/dist/{skipPreflightJobs-DnMtLNHR.mjs.map → skipPreflightJobs-Dc9C6XLJ.mjs.map} +1 -1
- package/dist/{skipRequestDataSilos-hFvX-tmq.mjs → skipRequestDataSilos-CTTxm3mv.mjs} +2 -2
- package/dist/{skipRequestDataSilos-hFvX-tmq.mjs.map → skipRequestDataSilos-CTTxm3mv.mjs.map} +1 -1
- package/dist/{streamPrivacyRequestsToCsv-1D5tgLIt.mjs → streamPrivacyRequestsToCsv-BPL16Yrs.mjs} +2 -2
- package/dist/{streamPrivacyRequestsToCsv-1D5tgLIt.mjs.map → streamPrivacyRequestsToCsv-BPL16Yrs.mjs.map} +1 -1
- package/dist/{updateConsentManagerVersionToLatest-DYvkq9Lr.mjs → updateConsentManagerVersionToLatest-1XbAWmkS.mjs} +2 -2
- package/dist/{updateConsentManagerVersionToLatest-DYvkq9Lr.mjs.map → updateConsentManagerVersionToLatest-1XbAWmkS.mjs.map} +1 -1
- package/dist/{uploadConsents-BIt4fC8B.mjs → uploadConsents-BugquZ_E.mjs} +2 -2
- package/dist/{uploadConsents-BIt4fC8B.mjs.map → uploadConsents-BugquZ_E.mjs.map} +1 -1
- package/dist/{uploadPrivacyRequestsFromCsv-Df79Xp4b.mjs → uploadPrivacyRequestsFromCsv-DQLyRjWA.mjs} +2 -2
- package/dist/{uploadPrivacyRequestsFromCsv-Df79Xp4b.mjs.map → uploadPrivacyRequestsFromCsv-DQLyRjWA.mjs.map} +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-lhik35ZQ.mjs","names":[],"sources":["../src/commands/admin/generate-api-keys/impl.ts"],"sourcesContent":["import { 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);\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 this.fs.writeFileSync(file, `${JSON.stringify(apiKeys, null, 2)}\\n`);\n if (errors.length > 0) {\n this.process.exit(1);\n }\n}\n"],"mappings":"gKAqBA,eAAsB,EAEpB,CACE,QACA,WACA,cACA,OACA,SACA,uBACA,kBACA,uBACA,gBAEa,CACf,EAAoB,KAAK,QAAQ,CAKjC,GAAM,CAAE,SAAQ,WAAY,MAAM,EAA4B,CAC5D,eACA,WACA,QACA,uBACA,uBACA,kBACA,cACA,OAXiB,EAAO,IAAK,GAAe,EAAgB,GAAY,KAWtD,CACnB,CAAC,CAGF,KAAK,GAAG,cAAc,EAAM,GAAG,KAAK,UAAU,EAAS,KAAM,EAAE,CAAC,IAAI,CAChE,EAAO,OAAS,GAClB,KAAK,QAAQ,KAAK,EAAE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./buildXdiSyncEndpoint-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{n as e}from"./buildXdiSyncEndpoint-CB10Y5Zh.mjs";import{t}from"./validateTranscendAuth-BrVGfq6X.mjs";import{t as n}from"./done-input-validation-LiTaCEzF.mjs";import r from"colors";async function i({auth:i,xdiLocation:a,file:o,removeIpAddresses:s,domainBlockList:c,xdiAllowedCommands:l,transcendUrl:u}){n(this.process);let{syncGroups:d,html:f}=await e(await t(i,this),{xdiLocation:a,transcendUrl:u,removeIpAddresses:s,domainBlockList:c.length>0?c:void 0,xdiAllowedCommands:l});this.logger.info(r.green(`Successfully constructed sync endpoint for sync groups: ${JSON.stringify(d,null,2)}`)),this.fs.writeFileSync(o,f),this.logger.info(r.green(`Wrote configuration to file "${o}"!`))}export{i as buildXdiSyncEndpoint};
|
|
2
|
+
//# sourceMappingURL=impl-m3xHPKGn.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-m3xHPKGn.mjs","names":["buildXdiSyncEndpointHelper"],"sources":["../src/commands/consent/build-xdi-sync-endpoint/impl.ts"],"sourcesContent":["import 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';\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);\n\n // Parse authentication as API key or path to list of API keys\n const apiKeyOrList = await validateTranscendAuth(auth, this);\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 this.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 this.fs.writeFileSync(file, html);\n this.logger.info(colors.green(`Wrote configuration to file \"${file}\"!`));\n}\n"],"mappings":"2LAiBA,eAAsB,EAEpB,CACE,OACA,cACA,OACA,oBACA,kBACA,qBACA,gBAEa,CACf,EAAoB,KAAK,QAAQ,CAMjC,GAAM,CAAE,aAAY,QAAS,MAAMA,EAA2B,MAHnC,EAAsB,EAAM,KAAK,CAGgB,CAC1E,cACA,eACA,oBACA,gBAAiB,EAAgB,OAAS,EAAI,EAAkB,IAAA,GAChE,qBACD,CAAC,CAGF,KAAK,OAAO,KACV,EAAO,MACL,2DAA2D,KAAK,UAC9D,EACA,KACA,EACD,GACF,CACF,CAGD,KAAK,GAAG,cAAc,EAAM,EAAK,CACjC,KAAK,OAAO,KAAK,EAAO,MAAM,gCAAgC,EAAK,IAAI,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e,n as t,t as n}from"./policy-project-discovery-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{i as e,n as t,t as n}from"./policy-project-discovery-B3x2Rsb4.mjs";import{n as r,r as i}from"./runOpa-ojIqU1tO.mjs";import{t as a}from"./done-input-validation-LiTaCEzF.mjs";import o from"node:path";import s from"colors";async function c({format:c,verbose:l,run:u,coverage:d,threshold:f,timeout:p,"var-values":m,explain:h,schema:g,"exit-zero-on-skipped":_},v=n){a(this.process),i();let y=e(this.process.cwd(),v);if(!this.fs.existsSync(y)||!this.fs.statSync(y).isDirectory())throw Error(`Policy directory does not exist or is not a directory: ${y}`);if(f!==void 0&&!d)throw Error(`--threshold requires --coverage.`);if(f!==void 0){let e=Number(f);if(!Number.isFinite(e)||e<0||e>100)throw Error(`--threshold must be a number between 0 and 100, got: ${f}`)}let b=g?o.resolve(this.process.cwd(),g):void 0;if(b&&!this.fs.existsSync(b))throw Error(`Schema path not found: ${b}`);let x=t(this,y);if(x.length===0)throw Error("No publishable policy bundles found. Add one with `transcend policy new`, or pass a directory that contains a `.manifest`.");for(let e of x){this.logger.info(s.green(`Running policy tests in ${e}...`));let t=await r([`test`,`--fail-on-empty`,`-b`,e,`--format`,c,...l?[`--verbose`]:[],...u?[`--run`,u]:[],...d?[`--coverage`]:[],...f===void 0?[]:[`--threshold`,f],...p?[`--timeout`,p]:[],...m?[`--var-values`]:[],...h?[`--explain`,h]:[],...b?[`--schema`,b]:[],..._?[`--exit-zero-on-skipped`]:[]]);t!==0&&this.process.exit(t)}this.logger.info(s.green(`Policy tests passed.`))}export{c as test};
|
|
2
|
+
//# sourceMappingURL=impl-wsqV83LN.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-wsqV83LN.mjs","names":[],"sources":["../src/commands/policy/test/impl.ts"],"sourcesContent":["import path from 'node:path';\n\nimport colors from 'colors';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport {\n DEFAULT_POLICY_PROJECT_DIRECTORY,\n discoverPolicyBundleDirectories,\n resolvePolicyProjectDirectory,\n} from '../../../lib/policy/policy-project-discovery.js';\nimport { assertOpaInstalled, runOpa } from '../helpers/index.js';\nimport type { PolicyTestExplainMode, PolicyTestFormat } from './command.js';\n\n/** CLI flags for `transcend policy test`. */\nexport interface TestCommandFlags {\n /** `opa test --format` value. */\n format: PolicyTestFormat;\n /** `opa test --verbose`. */\n verbose: boolean;\n /** Optional `opa test --run` regex. */\n run?: string;\n /** `opa test --coverage`. */\n coverage: boolean;\n /** Optional `opa test --threshold` coverage percent. */\n threshold?: string;\n /** Optional `opa test --timeout` duration. */\n timeout?: string;\n /** `opa test --var-values`. */\n 'var-values': boolean;\n /** Optional `opa test --explain` mode. */\n explain?: PolicyTestExplainMode;\n /** Optional `opa test --schema` path. */\n schema?: string;\n /** `opa test --exit-zero-on-skipped`. */\n 'exit-zero-on-skipped': boolean;\n}\n\n/**\n * Run OPA tests against local policy bundles.\n *\n * With no directory (or the default workspace path), discovers every immediate\n * child that contains a `.manifest` and tests each. Pass one bundle path to\n * test a single publishable unit.\n *\n * @param this - CLI context\n * @param flags - Command flags\n * @param directory - Policy workspace or bundle directory\n */\nexport async function test(\n this: LocalContext,\n {\n format,\n verbose,\n run,\n coverage,\n threshold,\n timeout,\n 'var-values': varValues,\n explain,\n schema,\n 'exit-zero-on-skipped': exitZeroOnSkipped,\n }: TestCommandFlags,\n directory: string = DEFAULT_POLICY_PROJECT_DIRECTORY,\n): Promise<void> {\n doneInputValidation(this.process);\n\n assertOpaInstalled();\n const resolvedDir = resolvePolicyProjectDirectory(this.process.cwd(), directory);\n if (!this.fs.existsSync(resolvedDir) || !this.fs.statSync(resolvedDir).isDirectory()) {\n throw new Error(`Policy directory does not exist or is not a directory: ${resolvedDir}`);\n }\n\n if (threshold !== undefined && !coverage) {\n throw new Error('--threshold requires --coverage.');\n }\n if (threshold !== undefined) {\n const parsed = Number(threshold);\n if (!Number.isFinite(parsed) || parsed < 0 || parsed > 100) {\n throw new Error(`--threshold must be a number between 0 and 100, got: ${threshold}`);\n }\n }\n\n const schemaPath = schema ? path.resolve(this.process.cwd(), schema) : undefined;\n if (schemaPath && !this.fs.existsSync(schemaPath)) {\n throw new Error(`Schema path not found: ${schemaPath}`);\n }\n\n const bundleDirectories = discoverPolicyBundleDirectories(this, resolvedDir);\n if (bundleDirectories.length === 0) {\n throw new Error(\n 'No publishable policy bundles found. Add one with `transcend policy new`, ' +\n 'or pass a directory that contains a `.manifest`.',\n );\n }\n\n for (const bundleDirectory of bundleDirectories) {\n this.logger.info(colors.green(`Running policy tests in ${bundleDirectory}...`));\n const exitCode = await runOpa([\n 'test',\n '--fail-on-empty',\n '-b',\n bundleDirectory,\n '--format',\n format,\n ...(verbose ? ['--verbose'] : []),\n ...(run ? ['--run', run] : []),\n ...(coverage ? ['--coverage'] : []),\n ...(threshold !== undefined ? ['--threshold', threshold] : []),\n ...(timeout ? ['--timeout', timeout] : []),\n ...(varValues ? ['--var-values'] : []),\n ...(explain ? ['--explain', explain] : []),\n ...(schemaPath ? ['--schema', schemaPath] : []),\n ...(exitZeroOnSkipped ? ['--exit-zero-on-skipped'] : []),\n ]);\n if (exitCode !== 0) {\n this.process.exit(exitCode);\n }\n }\n\n this.logger.info(colors.green('Policy tests passed.'));\n}\n"],"mappings":"mOAiDA,eAAsB,EAEpB,CACE,SACA,UACA,MACA,WACA,YACA,UACA,aAAc,EACd,UACA,SACA,uBAAwB,GAE1B,EAAoB,EACL,CACf,EAAoB,KAAK,QAAQ,CAEjC,GAAoB,CACpB,IAAM,EAAc,EAA8B,KAAK,QAAQ,KAAK,CAAE,EAAU,CAChF,GAAI,CAAC,KAAK,GAAG,WAAW,EAAY,EAAI,CAAC,KAAK,GAAG,SAAS,EAAY,CAAC,aAAa,CAClF,MAAU,MAAM,0DAA0D,IAAc,CAG1F,GAAI,IAAc,IAAA,IAAa,CAAC,EAC9B,MAAU,MAAM,mCAAmC,CAErD,GAAI,IAAc,IAAA,GAAW,CAC3B,IAAM,EAAS,OAAO,EAAU,CAChC,GAAI,CAAC,OAAO,SAAS,EAAO,EAAI,EAAS,GAAK,EAAS,IACrD,MAAU,MAAM,wDAAwD,IAAY,CAIxF,IAAM,EAAa,EAAS,EAAK,QAAQ,KAAK,QAAQ,KAAK,CAAE,EAAO,CAAG,IAAA,GACvE,GAAI,GAAc,CAAC,KAAK,GAAG,WAAW,EAAW,CAC/C,MAAU,MAAM,0BAA0B,IAAa,CAGzD,IAAM,EAAoB,EAAgC,KAAM,EAAY,CAC5E,GAAI,EAAkB,SAAW,EAC/B,MAAU,MACR,6HAED,CAGH,IAAK,IAAM,KAAmB,EAAmB,CAC/C,KAAK,OAAO,KAAK,EAAO,MAAM,2BAA2B,EAAgB,KAAK,CAAC,CAC/E,IAAM,EAAW,MAAM,EAAO,CAC5B,OACA,kBACA,KACA,EACA,WACA,EACA,GAAI,EAAU,CAAC,YAAY,CAAG,EAAE,CAChC,GAAI,EAAM,CAAC,QAAS,EAAI,CAAG,EAAE,CAC7B,GAAI,EAAW,CAAC,aAAa,CAAG,EAAE,CAClC,GAAI,IAAc,IAAA,GAAyC,EAAE,CAA/B,CAAC,cAAe,EAAU,CACxD,GAAI,EAAU,CAAC,YAAa,EAAQ,CAAG,EAAE,CACzC,GAAI,EAAY,CAAC,eAAe,CAAG,EAAE,CACrC,GAAI,EAAU,CAAC,YAAa,EAAQ,CAAG,EAAE,CACzC,GAAI,EAAa,CAAC,WAAY,EAAW,CAAG,EAAE,CAC9C,GAAI,EAAoB,CAAC,yBAAyB,CAAG,EAAE,CACxD,CAAC,CACE,IAAa,GACf,KAAK,QAAQ,KAAK,EAAS,CAI/B,KAAK,OAAO,KAAK,EAAO,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./readCsv-DNcJ_UfU.mjs";import{r as t}from"./uploadConsents-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./readCsv-DNcJ_UfU.mjs";import{r as t}from"./uploadConsents-BugquZ_E.mjs";import{t as n}from"./done-input-validation-LiTaCEzF.mjs";import*as r from"io-ts";const i=r.intersection([r.type({userId:r.string,timestamp:r.string}),r.partial({confirmed:r.union([r.literal(`true`),r.literal(`false`)]),updated:r.union([r.literal(`true`),r.literal(`false`)]),prompted:r.union([r.literal(`true`),r.literal(`false`)]),metadata:r.string,usp:r.union([r.string,r.null]),gpp:r.union([r.string,r.null]),purposes:r.string})]);async function a({base64EncryptionKey:r,base64SigningKey:a,partition:o,file:s,consentUrl:c,concurrency:l}){n(this.process),await t({base64EncryptionKey:r,base64SigningKey:a,preferences:e(this.fs.readFileSync(s,`utf8`),i),partition:o,concurrency:l,transcendUrl:c})}export{a as uploadConsentPreferences};
|
|
2
|
+
//# sourceMappingURL=impl-xfle7PY2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-xfle7PY2.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 { parseCsv } from '../../../lib/requests/readCsv.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);\n\n // Load in preferences from csv\n const preferences = parseCsv(this.fs.readFileSync(file, 'utf8'), 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,CAMjC,MAAM,EAAe,CACnB,sBACA,mBACA,YANkB,EAAS,KAAK,GAAG,aAAa,EAAM,OAAO,CAAE,EAMpD,CACX,YACA,cACA,aAAc,EACf,CAAC"}
|
package/dist/index.d.mts
CHANGED
|
@@ -165,6 +165,7 @@ declare const TeamInput: t.IntersectionC<[t.TypeC<{
|
|
|
165
165
|
viewCustomFunction: unknown;
|
|
166
166
|
manageCustomFunction: unknown;
|
|
167
167
|
viewUsage: unknown;
|
|
168
|
+
executeLLMClassification: unknown;
|
|
168
169
|
}>>;
|
|
169
170
|
}>]>;
|
|
170
171
|
/** Type override */
|
|
@@ -69431,6 +69432,7 @@ declare const ActionItemInput: t.IntersectionC<[t.TypeC<{
|
|
|
69431
69432
|
USER_NEEDS_CONFIGURATION: unknown;
|
|
69432
69433
|
SOMBRA_VERSION_UPGRADE: unknown;
|
|
69433
69434
|
SOMBRA_NEEDS_KEY_ROTATION: unknown;
|
|
69435
|
+
SERVER_WEBHOOK_AWAITING_CALLBACK: unknown;
|
|
69434
69436
|
DATA_FLOW_NEEDS_REVIEW: unknown;
|
|
69435
69437
|
DATA_FLOW_ASSIGNED_FOR_REVIEW: unknown;
|
|
69436
69438
|
COOKIE_NEEDS_REVIEW: unknown;
|
|
@@ -86956,6 +86958,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
86956
86958
|
USER_NEEDS_CONFIGURATION: unknown;
|
|
86957
86959
|
SOMBRA_VERSION_UPGRADE: unknown;
|
|
86958
86960
|
SOMBRA_NEEDS_KEY_ROTATION: unknown;
|
|
86961
|
+
SERVER_WEBHOOK_AWAITING_CALLBACK: unknown;
|
|
86959
86962
|
DATA_FLOW_NEEDS_REVIEW: unknown;
|
|
86960
86963
|
DATA_FLOW_ASSIGNED_FOR_REVIEW: unknown;
|
|
86961
86964
|
COOKIE_NEEDS_REVIEW: unknown;
|
|
@@ -87147,6 +87150,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
87147
87150
|
viewCustomFunction: unknown;
|
|
87148
87151
|
manageCustomFunction: unknown;
|
|
87149
87152
|
viewUsage: unknown;
|
|
87153
|
+
executeLLMClassification: unknown;
|
|
87150
87154
|
}>>;
|
|
87151
87155
|
}>]>>;
|
|
87152
87156
|
/**
|