@transcend-io/cli 10.2.7 → 10.3.2
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-C_TGD0fT.mjs → app-D_kY_Dt9.mjs} +16 -16
- package/dist/{app-C_TGD0fT.mjs.map → app-D_kY_Dt9.mjs.map} +1 -1
- package/dist/{approvePrivacyRequests-Y8AyMKaH.mjs → approvePrivacyRequests-DOemO70V.mjs} +2 -2
- package/dist/{approvePrivacyRequests-Y8AyMKaH.mjs.map → approvePrivacyRequests-DOemO70V.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-D6bsP5-Y.mjs → buildXdiSyncEndpoint-MU7iQquG.mjs} +2 -2
- package/dist/{buildXdiSyncEndpoint-D6bsP5-Y.mjs.map → buildXdiSyncEndpoint-MU7iQquG.mjs.map} +1 -1
- package/dist/{bulkRestartRequests-BB16GB3c.mjs → bulkRestartRequests-BUdrah0e.mjs} +2 -2
- package/dist/{bulkRestartRequests-BB16GB3c.mjs.map → bulkRestartRequests-BUdrah0e.mjs.map} +1 -1
- package/dist/{bulkRetryEnrichers-DFZXnDu-.mjs → bulkRetryEnrichers-B_PLayPy.mjs} +2 -2
- package/dist/{bulkRetryEnrichers-DFZXnDu-.mjs.map → bulkRetryEnrichers-B_PLayPy.mjs.map} +1 -1
- package/dist/{cancelPrivacyRequests-BWt_Kanf.mjs → cancelPrivacyRequests-CQrJE5-Y.mjs} +2 -2
- package/dist/{cancelPrivacyRequests-BWt_Kanf.mjs.map → cancelPrivacyRequests-CQrJE5-Y.mjs.map} +1 -1
- package/dist/{command-CIDyziq5.mjs → command-DMIZS1EP.mjs} +2 -2
- package/dist/{command-CIDyziq5.mjs.map → command-DMIZS1EP.mjs.map} +1 -1
- package/dist/{constants-CVqvtXBl.mjs → constants-SRIl5ZYx.mjs} +2 -2
- package/dist/{constants-CVqvtXBl.mjs.map → constants-SRIl5ZYx.mjs.map} +1 -1
- package/dist/{createExtraKeyHandler-CaL8CM1r.mjs → createExtraKeyHandler-CMzizc34.mjs} +2 -2
- package/dist/{createExtraKeyHandler-CaL8CM1r.mjs.map → createExtraKeyHandler-CMzizc34.mjs.map} +1 -1
- package/dist/{downloadPrivacyRequestFiles-D3zHr8vW.mjs → downloadPrivacyRequestFiles-Dqy1wOqH.mjs} +2 -2
- package/dist/{downloadPrivacyRequestFiles-D3zHr8vW.mjs.map → downloadPrivacyRequestFiles-Dqy1wOqH.mjs.map} +1 -1
- package/dist/{generateCrossAccountApiKeys-CnJ4SJRG.mjs → generateCrossAccountApiKeys-DDxjPucD.mjs} +2 -2
- package/dist/{generateCrossAccountApiKeys-CnJ4SJRG.mjs.map → generateCrossAccountApiKeys-DDxjPucD.mjs.map} +1 -1
- package/dist/{impl-CTJa_iQK.mjs → impl-7Rdzz0uc.mjs} +2 -2
- package/dist/{impl-CTJa_iQK.mjs.map → impl-7Rdzz0uc.mjs.map} +1 -1
- package/dist/{impl-qmeLlrqZ.mjs → impl-BLouzqzn.mjs} +2 -2
- package/dist/{impl-qmeLlrqZ.mjs.map → impl-BLouzqzn.mjs.map} +1 -1
- package/dist/{impl-D5AcImyG.mjs → impl-BRA3kW41.mjs} +2 -2
- package/dist/{impl-D5AcImyG.mjs.map → impl-BRA3kW41.mjs.map} +1 -1
- package/dist/{impl-sN-2FbkP.mjs → impl-BSNLRMgP.mjs} +2 -2
- package/dist/{impl-sN-2FbkP.mjs.map → impl-BSNLRMgP.mjs.map} +1 -1
- package/dist/{impl-qDwqtqs2.mjs → impl-BSoJGFpd.mjs} +2 -2
- package/dist/{impl-qDwqtqs2.mjs.map → impl-BSoJGFpd.mjs.map} +1 -1
- package/dist/{impl-RvRw--i1.mjs → impl-BZQSkFnY.mjs} +2 -2
- package/dist/{impl-RvRw--i1.mjs.map → impl-BZQSkFnY.mjs.map} +1 -1
- package/dist/{impl-DVbUPt56.mjs → impl-BaDyRt_7.mjs} +2 -2
- package/dist/{impl-DVbUPt56.mjs.map → impl-BaDyRt_7.mjs.map} +1 -1
- package/dist/{impl-7Len35q-.mjs → impl-BuYCBQZJ.mjs} +2 -2
- package/dist/{impl-7Len35q-.mjs.map → impl-BuYCBQZJ.mjs.map} +1 -1
- package/dist/{impl-ByMrn8AT.mjs → impl-Bx7ncdUs.mjs} +2 -2
- package/dist/{impl-ByMrn8AT.mjs.map → impl-Bx7ncdUs.mjs.map} +1 -1
- package/dist/{impl-CUAVRb_P.mjs → impl-C3vVjWwc.mjs} +2 -2
- package/dist/{impl-CUAVRb_P.mjs.map → impl-C3vVjWwc.mjs.map} +1 -1
- package/dist/{impl-BJULgWFs.mjs → impl-C6Z76kUN.mjs} +2 -2
- package/dist/{impl-BJULgWFs.mjs.map → impl-C6Z76kUN.mjs.map} +1 -1
- package/dist/{impl-CkB4b-F6.mjs → impl-C88js1U9.mjs} +2 -2
- package/dist/{impl-CkB4b-F6.mjs.map → impl-C88js1U9.mjs.map} +1 -1
- package/dist/{impl-DSO-TheZ.mjs → impl-CNM4QOyD.mjs} +2 -2
- package/dist/{impl-DSO-TheZ.mjs.map → impl-CNM4QOyD.mjs.map} +1 -1
- package/dist/{impl-Bm9abp7X.mjs → impl-Cy5uko9f.mjs} +2 -2
- package/dist/{impl-Bm9abp7X.mjs.map → impl-Cy5uko9f.mjs.map} +1 -1
- package/dist/{impl-B9rcUrNY.mjs → impl-D0PIdhyD.mjs} +2 -2
- package/dist/{impl-B9rcUrNY.mjs.map → impl-D0PIdhyD.mjs.map} +1 -1
- package/dist/{impl-COYnENoX.mjs → impl-D1xGmjYL.mjs} +2 -2
- package/dist/{impl-COYnENoX.mjs.map → impl-D1xGmjYL.mjs.map} +1 -1
- package/dist/{impl-DWBe6E9U.mjs → impl-D61xvkHR.mjs} +2 -2
- package/dist/{impl-DWBe6E9U.mjs.map → impl-D61xvkHR.mjs.map} +1 -1
- package/dist/{impl-6ICU38Q3.mjs → impl-DT9BKd41.mjs} +2 -2
- package/dist/{impl-6ICU38Q3.mjs.map → impl-DT9BKd41.mjs.map} +1 -1
- package/dist/{impl-BvFG3Slb.mjs → impl-DU8tDEv1.mjs} +2 -2
- package/dist/{impl-BvFG3Slb.mjs.map → impl-DU8tDEv1.mjs.map} +1 -1
- package/dist/{impl-3gs3aGUY.mjs → impl-DWhlIh2Z.mjs} +2 -2
- package/dist/{impl-3gs3aGUY.mjs.map → impl-DWhlIh2Z.mjs.map} +1 -1
- package/dist/{impl-WUUDjXpV.mjs → impl-DhvoC4Ki.mjs} +2 -2
- package/dist/{impl-WUUDjXpV.mjs.map → impl-DhvoC4Ki.mjs.map} +1 -1
- package/dist/{impl-CsKttPbe.mjs → impl-DmGU4Eei.mjs} +2 -2
- package/dist/{impl-CsKttPbe.mjs.map → impl-DmGU4Eei.mjs.map} +1 -1
- package/dist/{impl-CsPsMZKc.mjs → impl-DoMq9QRz.mjs} +2 -2
- package/dist/{impl-CsPsMZKc.mjs.map → impl-DoMq9QRz.mjs.map} +1 -1
- package/dist/{impl-gWWvCD6f.mjs → impl-DqoSPwns.mjs} +2 -2
- package/dist/{impl-gWWvCD6f.mjs.map → impl-DqoSPwns.mjs.map} +1 -1
- package/dist/{impl-C0iUgFLu.mjs → impl-DrFSs6jT.mjs} +2 -2
- package/dist/{impl-C0iUgFLu.mjs.map → impl-DrFSs6jT.mjs.map} +1 -1
- package/dist/{impl-D2Nudizd.mjs → impl-FAr6n86J.mjs} +2 -2
- package/dist/{impl-D2Nudizd.mjs.map → impl-FAr6n86J.mjs.map} +1 -1
- package/dist/{impl-DHYqJy7M.mjs → impl-IVBRCRjI.mjs} +2 -2
- package/dist/{impl-DHYqJy7M.mjs.map → impl-IVBRCRjI.mjs.map} +1 -1
- package/dist/{impl-BaHDWFlZ.mjs → impl-XuDD5UIt.mjs} +2 -2
- package/dist/{impl-BaHDWFlZ.mjs.map → impl-XuDD5UIt.mjs.map} +1 -1
- package/dist/{impl-B1LZvcy_.mjs → impl-d2r2vAp6.mjs} +2 -2
- package/dist/{impl-B1LZvcy_.mjs.map → impl-d2r2vAp6.mjs.map} +1 -1
- package/dist/{impl-BDT6oiHC.mjs → impl-iUKj2MvX.mjs} +2 -2
- package/dist/{impl-BDT6oiHC.mjs.map → impl-iUKj2MvX.mjs.map} +1 -1
- package/dist/{impl-BdwnhrUx.mjs → impl-lTa6ygA7.mjs} +2 -2
- package/dist/{impl-BdwnhrUx.mjs.map → impl-lTa6ygA7.mjs.map} +1 -1
- package/dist/{impl-DdkRn1CK.mjs → impl-vhQGx9Lp.mjs} +2 -2
- package/dist/{impl-DdkRn1CK.mjs.map → impl-vhQGx9Lp.mjs.map} +1 -1
- package/dist/{impl-BAcaWfJI.mjs → impl-zuZItNqS.mjs} +2 -2
- package/dist/{impl-BAcaWfJI.mjs.map → impl-zuZItNqS.mjs.map} +1 -1
- package/dist/index.d.mts +55 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{markRequestDataSiloIdsCompleted-BZU4BlFN.mjs → markRequestDataSiloIdsCompleted-CvrGzrLX.mjs} +2 -2
- package/dist/{markRequestDataSiloIdsCompleted-BZU4BlFN.mjs.map → markRequestDataSiloIdsCompleted-CvrGzrLX.mjs.map} +1 -1
- package/dist/{markSilentPrivacyRequests-Dpoo2Pv0.mjs → markSilentPrivacyRequests-Rzfm-vAF.mjs} +2 -2
- package/dist/{markSilentPrivacyRequests-Dpoo2Pv0.mjs.map → markSilentPrivacyRequests-Rzfm-vAF.mjs.map} +1 -1
- package/dist/{notifyPrivacyRequestsAdditionalTime-CLThaSe7.mjs → notifyPrivacyRequestsAdditionalTime-BJDhh0xA.mjs} +2 -2
- package/dist/{notifyPrivacyRequestsAdditionalTime-CLThaSe7.mjs.map → notifyPrivacyRequestsAdditionalTime-BJDhh0xA.mjs.map} +1 -1
- package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-xDiLruv6.mjs → pullChunkedCustomSiloOutstandingIdentifiers-BlfbIXMD.mjs} +2 -2
- package/dist/{pullChunkedCustomSiloOutstandingIdentifiers-xDiLruv6.mjs.map → pullChunkedCustomSiloOutstandingIdentifiers-BlfbIXMD.mjs.map} +1 -1
- package/dist/{pullManualEnrichmentIdentifiersToCsv-CrYcX-Qi.mjs → pullManualEnrichmentIdentifiersToCsv-CI4eNGth.mjs} +2 -2
- package/dist/{pullManualEnrichmentIdentifiersToCsv-CrYcX-Qi.mjs.map → pullManualEnrichmentIdentifiersToCsv-CI4eNGth.mjs.map} +1 -1
- package/dist/{pushCronIdentifiersFromCsv-NBTSggAJ.mjs → pushCronIdentifiersFromCsv-C1e8uPh1.mjs} +2 -2
- package/dist/{pushCronIdentifiersFromCsv-NBTSggAJ.mjs.map → pushCronIdentifiersFromCsv-C1e8uPh1.mjs.map} +1 -1
- package/dist/{pushManualEnrichmentIdentifiersFromCsv-iQHE_v8c.mjs → pushManualEnrichmentIdentifiersFromCsv-D58jBWlc.mjs} +2 -2
- package/dist/{pushManualEnrichmentIdentifiersFromCsv-iQHE_v8c.mjs.map → pushManualEnrichmentIdentifiersFromCsv-D58jBWlc.mjs.map} +1 -1
- package/dist/{removeUnverifiedRequestIdentifiers-Bsqj6aj-.mjs → removeUnverifiedRequestIdentifiers-BB36vFzF.mjs} +2 -2
- package/dist/{removeUnverifiedRequestIdentifiers-Bsqj6aj-.mjs.map → removeUnverifiedRequestIdentifiers-BB36vFzF.mjs.map} +1 -1
- package/dist/{retryRequestDataSilos-BY26UCna.mjs → retryRequestDataSilos-DJZyse5-.mjs} +2 -2
- package/dist/{retryRequestDataSilos-BY26UCna.mjs.map → retryRequestDataSilos-DJZyse5-.mjs.map} +1 -1
- package/dist/{skipPreflightJobs-6JDT2nyH.mjs → skipPreflightJobs-Cf3Wn5tk.mjs} +2 -2
- package/dist/{skipPreflightJobs-6JDT2nyH.mjs.map → skipPreflightJobs-Cf3Wn5tk.mjs.map} +1 -1
- package/dist/{skipRequestDataSilos-CV_x6O1E.mjs → skipRequestDataSilos-Q_ds1tc5.mjs} +2 -2
- package/dist/{skipRequestDataSilos-CV_x6O1E.mjs.map → skipRequestDataSilos-Q_ds1tc5.mjs.map} +1 -1
- package/dist/{streamPrivacyRequestsToCsv-Fe8gZHBE.mjs → streamPrivacyRequestsToCsv-QCx2NZs9.mjs} +2 -2
- package/dist/{streamPrivacyRequestsToCsv-Fe8gZHBE.mjs.map → streamPrivacyRequestsToCsv-QCx2NZs9.mjs.map} +1 -1
- package/dist/{updateConsentManagerVersionToLatest-BDP5NtFo.mjs → updateConsentManagerVersionToLatest-Dlxgy8HY.mjs} +2 -2
- package/dist/{updateConsentManagerVersionToLatest-BDP5NtFo.mjs.map → updateConsentManagerVersionToLatest-Dlxgy8HY.mjs.map} +1 -1
- package/dist/{uploadConsents-Yxr82QAb.mjs → uploadConsents--HmZTVyx.mjs} +2 -2
- package/dist/{uploadConsents-Yxr82QAb.mjs.map → uploadConsents--HmZTVyx.mjs.map} +1 -1
- package/dist/{uploadCookiesFromCsv-BdwEyCvw.mjs → uploadCookiesFromCsv-Cu5uQk9f.mjs} +2 -2
- package/dist/{uploadCookiesFromCsv-BdwEyCvw.mjs.map → uploadCookiesFromCsv-Cu5uQk9f.mjs.map} +1 -1
- package/dist/{uploadDataFlowsFromCsv-BWfdxYA4.mjs → uploadDataFlowsFromCsv-XAodXtsA.mjs} +2 -2
- package/dist/{uploadDataFlowsFromCsv-BWfdxYA4.mjs.map → uploadDataFlowsFromCsv-XAodXtsA.mjs.map} +1 -1
- package/dist/{uploadPrivacyRequestsFromCsv-CorpPHzB.mjs → uploadPrivacyRequestsFromCsv-Crv2kw9y.mjs} +2 -2
- package/dist/{uploadPrivacyRequestsFromCsv-CorpPHzB.mjs.map → uploadPrivacyRequestsFromCsv-Crv2kw9y.mjs.map} +1 -1
- package/package.json +5 -5
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./skipRequestDataSilos-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./skipRequestDataSilos-Q_ds1tc5.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-DqoSPwns.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-DqoSPwns.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{r as e}from"./constants-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{r as e}from"./constants-SRIl5ZYx.mjs";import{t}from"./logger-Bj782ZYD.mjs";import{r as n}from"./readTranscendYaml-DVkQL2SC.mjs";import{n as r,r as i,t as a}from"./parseVariablesFromString-BeKOGw5n.mjs";import{t as o}from"./validateTranscendAuth-Cuh2Qfdl.mjs";import{t as s}from"./listFiles-D2wMHnEr.mjs";import{t as c}from"./done-input-validation-BcNBxhEs.mjs";import{existsSync as l,lstatSync as u}from"node:fs";import{join as d}from"node:path";import f from"colors";import{buildTranscendGraphQLClient as p}from"@transcend-io/sdk";import{mapSeries as m}from"@transcend-io/utils";async function h({transcendUrl:e,auth:n,pageSize:r,publishToPrivacyCenter:a,contents:o,deleteExtraAttributeValues:s=!1,classifyService:c=!1}){let l=p(e,n);try{return!await i(o,l,{pageSize:r,publishToPrivacyCenter:a,classifyService:c,deleteExtraAttributeValues:s})}catch(e){return t.error(f.red(`An unexpected error occurred syncing the schema: ${e.message}`)),!1}}async function g({file:i=`./transcend.yml`,transcendUrl:p,auth:g,variables:_,pageSize:v,publishToPrivacyCenter:y,classifyService:b,deleteExtraAttributeValues:x}){c(this.process.exit);let S=await o(g),C=a(_),w;if(w=Array.isArray(S)&&u(i).isDirectory()?s(i).map(e=>d(i,e)):i.split(`,`),w.length<1)throw Error(`No file specified!`);let T=w.map(e=>{l(e)?t.info(f.magenta(`Reading file "${e}"...`)):(t.error(f.red(`The file path does not exist on disk: ${e}. You can specify the filepath using --file=./examples/transcend.yml`)),this.process.exit(1));try{let r=n(e,C);return t.info(f.green(`Successfully read in "${e}"`)),{content:r,name:e.split(`/`).pop().replace(`.yml`,``)}}catch(e){t.error(f.red(`The shape of your yaml file is invalid with the following errors: ${e.message}`)),this.process.exit(1)}});if(typeof S==`string`){let[n,...i]=T.map(({content:e})=>e);await h({transcendUrl:p,auth:S,contents:r(n,...i),publishToPrivacyCenter:y,deleteExtraAttributeValues:x,pageSize:v,classifyService:!!b})||(t.info(f.red(`Sync encountered errors. View output above for more information, or check out ${e}`)),this.process.exit(1))}else{if(T.length!==1&&T.length!==S.length)throw Error(`Expected list of yml files to be equal to the list of API keys.Got ${T.length} YML file${T.length===1?``:`s`} and ${S.length} API key${S.length===1?``:`s`}`);let n=[];await m(S,async(e,r)=>{let i=`[${r+1}/${S.length}][${e.organizationName}] `;t.info(f.magenta(`~~~\n\n${i}Attempting to push configuration...\n\n~~~`));let a=T.length===1?T[0].content:T.find(t=>t.name===e.organizationName)?.content;if(!a){t.error(f.red(`${i}Failed to find transcend.yml file for organization: "${e.organizationName}".`)),n.push(e.organizationName);return}await h({transcendUrl:p,auth:e.apiKey,contents:a,pageSize:v,publishToPrivacyCenter:y,deleteExtraAttributeValues:x,classifyService:b})?t.info(f.green(`${i}Successfully pushed configuration!`)):(t.error(f.red(`${i}Failed to sync configuration.`)),n.push(e.organizationName))}),n.length>0&&(t.info(f.red(`Sync encountered errors for "${n.join(`,`)}". View output above for more information, or check out ${e}`)),this.process.exit(1))}t.info(f.green(`Successfully synced yaml file to Transcend! View at ${e}`))}export{g as push};
|
|
2
|
+
//# sourceMappingURL=impl-DrFSs6jT.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-C0iUgFLu.mjs","names":[],"sources":["../src/commands/inventory/push/impl.ts"],"sourcesContent":["import { existsSync, lstatSync } from 'node:fs';\nimport { join } from 'node:path';\n\nimport { buildTranscendGraphQLClient } from '@transcend-io/sdk';\nimport { mapSeries } from '@transcend-io/utils';\nimport colors from 'colors';\n\nimport { TranscendInput } from '../../../codecs.js';\nimport { ADMIN_DASH_INTEGRATIONS } from '../../../constants.js';\nimport type { LocalContext } from '../../../context.js';\nimport { validateTranscendAuth, listFiles } from '../../../lib/api-keys/index.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { syncConfigurationToTranscend } from '../../../lib/graphql/index.js';\nimport { parseVariablesFromString } from '../../../lib/helpers/parseVariablesFromString.js';\nimport { mergeTranscendInputs } from '../../../lib/mergeTranscendInputs.js';\nimport { readTranscendYaml } from '../../../lib/readTranscendYaml.js';\nimport { logger } from '../../../logger.js';\n\n/**\n * Sync configuration to Transcend\n *\n * @param options - Options\n * @returns True if synced successfully, false if error occurs\n */\nasync function syncConfiguration({\n transcendUrl,\n auth,\n pageSize,\n publishToPrivacyCenter,\n contents,\n deleteExtraAttributeValues = false,\n classifyService = false,\n}: {\n /** Transcend YAML */\n contents: TranscendInput;\n /** Transcend URL */\n transcendUrl: string;\n /** API key */\n auth: string;\n /** Page size */\n pageSize: number;\n /** Skip privacy center publish step */\n publishToPrivacyCenter: boolean;\n /** classify data flow service if missing */\n classifyService?: boolean;\n /** Delete attributes when syncing */\n deleteExtraAttributeValues?: boolean;\n}): Promise<boolean> {\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n\n // Sync to Transcend\n try {\n const encounteredError = await syncConfigurationToTranscend(contents, client, {\n pageSize,\n publishToPrivacyCenter,\n classifyService,\n deleteExtraAttributeValues,\n });\n return !encounteredError;\n } catch (err) {\n logger.error(colors.red(`An unexpected error occurred syncing the schema: ${err.message}`));\n return false;\n }\n}\n\nexport interface PushCommandFlags {\n auth: string;\n file: string;\n transcendUrl: string;\n pageSize: number;\n variables: string;\n publishToPrivacyCenter: boolean;\n classifyService: boolean;\n deleteExtraAttributeValues: boolean;\n}\n\nexport async function push(\n this: LocalContext,\n {\n file = './transcend.yml',\n transcendUrl,\n auth,\n variables,\n pageSize,\n publishToPrivacyCenter,\n classifyService,\n deleteExtraAttributeValues,\n }: PushCommandFlags,\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 // Parse out the variables\n const vars = parseVariablesFromString(variables);\n\n // check if we are being passed a list of API keys and a list of files\n let fileList: string[];\n if (Array.isArray(apiKeyOrList) && lstatSync(file).isDirectory()) {\n fileList = listFiles(file).map((filePath) => join(file, filePath));\n } else {\n fileList = file.split(',');\n }\n\n // Ensure at least one file is parsed\n if (fileList.length < 1) {\n throw new Error('No file specified!');\n }\n\n // eslint-disable-next-line array-callback-return,consistent-return\n const transcendInputs = fileList.map((filePath) => {\n // Ensure yaml file exists on disk\n if (!existsSync(filePath)) {\n logger.error(\n colors.red(\n `The file path does not exist on disk: ${filePath}. You can specify the filepath using --file=./examples/transcend.yml`,\n ),\n );\n this.process.exit(1);\n } else {\n logger.info(colors.magenta(`Reading file \"${filePath}\"...`));\n }\n\n try {\n // Read in the yaml file and validate it's shape\n const newContents = readTranscendYaml(filePath, vars);\n logger.info(colors.green(`Successfully read in \"${filePath}\"`));\n return {\n content: newContents,\n name: filePath.split('/').pop()!.replace('.yml', ''),\n };\n } catch (err) {\n logger.error(\n colors.red(\n `The shape of your yaml file is invalid with the following errors: ${err.message}`,\n ),\n );\n this.process.exit(1);\n }\n });\n\n // process a single API key\n if (typeof apiKeyOrList === 'string') {\n // if passed multiple inputs, merge them together\n const [base, ...rest] = transcendInputs.map(({ content }) => content);\n const contents = mergeTranscendInputs(base, ...rest);\n\n // sync the configuration\n const success = await syncConfiguration({\n transcendUrl,\n auth: apiKeyOrList,\n contents,\n publishToPrivacyCenter,\n deleteExtraAttributeValues,\n pageSize,\n classifyService: !!classifyService,\n });\n\n // exist with error code\n if (!success) {\n logger.info(\n colors.red(\n `Sync encountered errors. View output above for more information, or check out ${ADMIN_DASH_INTEGRATIONS}`,\n ),\n );\n\n this.process.exit(1);\n }\n } else {\n // if passed multiple inputs, expect them to be one per instance\n if (transcendInputs.length !== 1 && transcendInputs.length !== apiKeyOrList.length) {\n throw new Error(\n 'Expected list of yml files to be equal to the list of API keys.' +\n `Got ${transcendInputs.length} YML file${\n transcendInputs.length === 1 ? '' : 's'\n } and ${apiKeyOrList.length} API key${apiKeyOrList.length === 1 ? '' : 's'}`,\n );\n }\n\n const encounteredErrors: string[] = [];\n await mapSeries(apiKeyOrList, async (apiKey, ind) => {\n const prefix = `[${ind + 1}/${apiKeyOrList.length}][${apiKey.organizationName}] `;\n logger.info(colors.magenta(`~~~\\n\\n${prefix}Attempting to push configuration...\\n\\n~~~`));\n\n // use the merged contents if 1 yml passed, else use the contents that map to that organization\n const useContents =\n transcendInputs.length === 1\n ? transcendInputs[0].content\n : transcendInputs.find((input) => input.name === apiKey.organizationName)?.content;\n\n // Throw error if cannot find a yml file matching that organization name\n if (!useContents) {\n logger.error(\n colors.red(\n `${prefix}Failed to find transcend.yml file for organization: \"${apiKey.organizationName}\".`,\n ),\n );\n encounteredErrors.push(apiKey.organizationName);\n return;\n }\n\n const success = await syncConfiguration({\n transcendUrl,\n auth: apiKey.apiKey,\n contents: useContents,\n pageSize,\n publishToPrivacyCenter,\n deleteExtraAttributeValues,\n classifyService,\n });\n\n if (success) {\n logger.info(colors.green(`${prefix}Successfully pushed configuration!`));\n } else {\n logger.error(colors.red(`${prefix}Failed to sync configuration.`));\n encounteredErrors.push(apiKey.organizationName);\n }\n });\n\n if (encounteredErrors.length > 0) {\n logger.info(\n colors.red(\n `Sync encountered errors for \"${encounteredErrors.join(\n ',',\n )}\". View output above for more information, or check out ${ADMIN_DASH_INTEGRATIONS}`,\n ),\n );\n\n this.process.exit(1);\n }\n }\n\n // Indicate success\n logger.info(\n colors.green(`Successfully synced yaml file to Transcend! View at ${ADMIN_DASH_INTEGRATIONS}`),\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"impl-DrFSs6jT.mjs","names":[],"sources":["../src/commands/inventory/push/impl.ts"],"sourcesContent":["import { existsSync, lstatSync } from 'node:fs';\nimport { join } from 'node:path';\n\nimport { buildTranscendGraphQLClient } from '@transcend-io/sdk';\nimport { mapSeries } from '@transcend-io/utils';\nimport colors from 'colors';\n\nimport { TranscendInput } from '../../../codecs.js';\nimport { ADMIN_DASH_INTEGRATIONS } from '../../../constants.js';\nimport type { LocalContext } from '../../../context.js';\nimport { validateTranscendAuth, listFiles } from '../../../lib/api-keys/index.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { syncConfigurationToTranscend } from '../../../lib/graphql/index.js';\nimport { parseVariablesFromString } from '../../../lib/helpers/parseVariablesFromString.js';\nimport { mergeTranscendInputs } from '../../../lib/mergeTranscendInputs.js';\nimport { readTranscendYaml } from '../../../lib/readTranscendYaml.js';\nimport { logger } from '../../../logger.js';\n\n/**\n * Sync configuration to Transcend\n *\n * @param options - Options\n * @returns True if synced successfully, false if error occurs\n */\nasync function syncConfiguration({\n transcendUrl,\n auth,\n pageSize,\n publishToPrivacyCenter,\n contents,\n deleteExtraAttributeValues = false,\n classifyService = false,\n}: {\n /** Transcend YAML */\n contents: TranscendInput;\n /** Transcend URL */\n transcendUrl: string;\n /** API key */\n auth: string;\n /** Page size */\n pageSize: number;\n /** Skip privacy center publish step */\n publishToPrivacyCenter: boolean;\n /** classify data flow service if missing */\n classifyService?: boolean;\n /** Delete attributes when syncing */\n deleteExtraAttributeValues?: boolean;\n}): Promise<boolean> {\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n\n // Sync to Transcend\n try {\n const encounteredError = await syncConfigurationToTranscend(contents, client, {\n pageSize,\n publishToPrivacyCenter,\n classifyService,\n deleteExtraAttributeValues,\n });\n return !encounteredError;\n } catch (err) {\n logger.error(colors.red(`An unexpected error occurred syncing the schema: ${err.message}`));\n return false;\n }\n}\n\nexport interface PushCommandFlags {\n auth: string;\n file: string;\n transcendUrl: string;\n pageSize: number;\n variables: string;\n publishToPrivacyCenter: boolean;\n classifyService: boolean;\n deleteExtraAttributeValues: boolean;\n}\n\nexport async function push(\n this: LocalContext,\n {\n file = './transcend.yml',\n transcendUrl,\n auth,\n variables,\n pageSize,\n publishToPrivacyCenter,\n classifyService,\n deleteExtraAttributeValues,\n }: PushCommandFlags,\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 // Parse out the variables\n const vars = parseVariablesFromString(variables);\n\n // check if we are being passed a list of API keys and a list of files\n let fileList: string[];\n if (Array.isArray(apiKeyOrList) && lstatSync(file).isDirectory()) {\n fileList = listFiles(file).map((filePath) => join(file, filePath));\n } else {\n fileList = file.split(',');\n }\n\n // Ensure at least one file is parsed\n if (fileList.length < 1) {\n throw new Error('No file specified!');\n }\n\n // eslint-disable-next-line array-callback-return,consistent-return\n const transcendInputs = fileList.map((filePath) => {\n // Ensure yaml file exists on disk\n if (!existsSync(filePath)) {\n logger.error(\n colors.red(\n `The file path does not exist on disk: ${filePath}. You can specify the filepath using --file=./examples/transcend.yml`,\n ),\n );\n this.process.exit(1);\n } else {\n logger.info(colors.magenta(`Reading file \"${filePath}\"...`));\n }\n\n try {\n // Read in the yaml file and validate it's shape\n const newContents = readTranscendYaml(filePath, vars);\n logger.info(colors.green(`Successfully read in \"${filePath}\"`));\n return {\n content: newContents,\n name: filePath.split('/').pop()!.replace('.yml', ''),\n };\n } catch (err) {\n logger.error(\n colors.red(\n `The shape of your yaml file is invalid with the following errors: ${err.message}`,\n ),\n );\n this.process.exit(1);\n }\n });\n\n // process a single API key\n if (typeof apiKeyOrList === 'string') {\n // if passed multiple inputs, merge them together\n const [base, ...rest] = transcendInputs.map(({ content }) => content);\n const contents = mergeTranscendInputs(base, ...rest);\n\n // sync the configuration\n const success = await syncConfiguration({\n transcendUrl,\n auth: apiKeyOrList,\n contents,\n publishToPrivacyCenter,\n deleteExtraAttributeValues,\n pageSize,\n classifyService: !!classifyService,\n });\n\n // exist with error code\n if (!success) {\n logger.info(\n colors.red(\n `Sync encountered errors. View output above for more information, or check out ${ADMIN_DASH_INTEGRATIONS}`,\n ),\n );\n\n this.process.exit(1);\n }\n } else {\n // if passed multiple inputs, expect them to be one per instance\n if (transcendInputs.length !== 1 && transcendInputs.length !== apiKeyOrList.length) {\n throw new Error(\n 'Expected list of yml files to be equal to the list of API keys.' +\n `Got ${transcendInputs.length} YML file${\n transcendInputs.length === 1 ? '' : 's'\n } and ${apiKeyOrList.length} API key${apiKeyOrList.length === 1 ? '' : 's'}`,\n );\n }\n\n const encounteredErrors: string[] = [];\n await mapSeries(apiKeyOrList, async (apiKey, ind) => {\n const prefix = `[${ind + 1}/${apiKeyOrList.length}][${apiKey.organizationName}] `;\n logger.info(colors.magenta(`~~~\\n\\n${prefix}Attempting to push configuration...\\n\\n~~~`));\n\n // use the merged contents if 1 yml passed, else use the contents that map to that organization\n const useContents =\n transcendInputs.length === 1\n ? transcendInputs[0].content\n : transcendInputs.find((input) => input.name === apiKey.organizationName)?.content;\n\n // Throw error if cannot find a yml file matching that organization name\n if (!useContents) {\n logger.error(\n colors.red(\n `${prefix}Failed to find transcend.yml file for organization: \"${apiKey.organizationName}\".`,\n ),\n );\n encounteredErrors.push(apiKey.organizationName);\n return;\n }\n\n const success = await syncConfiguration({\n transcendUrl,\n auth: apiKey.apiKey,\n contents: useContents,\n pageSize,\n publishToPrivacyCenter,\n deleteExtraAttributeValues,\n classifyService,\n });\n\n if (success) {\n logger.info(colors.green(`${prefix}Successfully pushed configuration!`));\n } else {\n logger.error(colors.red(`${prefix}Failed to sync configuration.`));\n encounteredErrors.push(apiKey.organizationName);\n }\n });\n\n if (encounteredErrors.length > 0) {\n logger.info(\n colors.red(\n `Sync encountered errors for \"${encounteredErrors.join(\n ',',\n )}\". View output above for more information, or check out ${ADMIN_DASH_INTEGRATIONS}`,\n ),\n );\n\n this.process.exit(1);\n }\n }\n\n // Indicate success\n logger.info(\n colors.green(`Successfully synced yaml file to Transcend! View at ${ADMIN_DASH_INTEGRATIONS}`),\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./logger-Bj782ZYD.mjs";import{t}from"./streamPrivacyRequestsToCsv-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./logger-Bj782ZYD.mjs";import{t}from"./streamPrivacyRequestsToCsv-QCx2NZs9.mjs";import{t as n}from"./done-input-validation-BcNBxhEs.mjs";import r from"colors";async function i({auth:i,transcendUrl:a,file:o,pageLimit:s,concurrency:c,actions:l,sombraAuth:u,skipRequestIdentifiers:d,statuses:f,createdAtBefore:p,createdAtAfter:m,updatedAtBefore:h,updatedAtAfter:g,showTests:_}){n(this.process.exit);let{filePaths:v,totalCount:y}=await t({transcendUrl:a,concurrency:c,pageLimit:s,actions:l,statuses:f,auth:i,sombraAuth:u,skipRequestIdentifiers:d,createdAtBefore:p,createdAtAfter:m,updatedAtBefore:h,updatedAtAfter:g,isTest:_,file:o});e.info(r.green(`Successfully wrote ${y} requests to ${v.length} file(s): ${v.join(`, `)}`))}export{i as _export};
|
|
2
|
+
//# sourceMappingURL=impl-FAr6n86J.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-FAr6n86J.mjs","names":[],"sources":["../src/commands/request/export/impl.ts"],"sourcesContent":["import type { RequestAction, RequestStatus } from '@transcend-io/privacy-types';\nimport colors from 'colors';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { streamPrivacyRequestsToCsv } from '../../../lib/requests/index.js';\nimport { logger } from '../../../logger.js';\n\nexport interface ExportCommandFlags {\n auth: string;\n sombraAuth?: string;\n actions?: RequestAction[];\n statuses?: RequestStatus[];\n transcendUrl: string;\n file: string;\n concurrency: number;\n createdAtBefore?: Date;\n createdAtAfter?: Date;\n updatedAtBefore?: Date;\n updatedAtAfter?: Date;\n showTests?: boolean;\n skipRequestIdentifiers?: boolean;\n pageLimit: number;\n}\n\n// `export` is a reserved keyword, so we need to prefix it with an underscore\n// eslint-disable-next-line no-underscore-dangle\nexport async function _export(\n this: LocalContext,\n {\n auth,\n transcendUrl,\n file,\n pageLimit,\n concurrency,\n actions,\n sombraAuth,\n skipRequestIdentifiers,\n statuses,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n showTests,\n }: ExportCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n const { filePaths, totalCount } = await streamPrivacyRequestsToCsv({\n transcendUrl,\n concurrency,\n pageLimit,\n actions,\n statuses,\n auth,\n sombraAuth,\n skipRequestIdentifiers,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n isTest: showTests,\n file,\n });\n\n logger.info(\n colors.green(\n `Successfully wrote ${totalCount} requests to ` +\n `${filePaths.length} file(s): ${filePaths.join(', ')}`,\n ),\n );\n}\n"],"mappings":"kLA2BA,eAAsB,EAEpB,CACE,OACA,eACA,OACA,YACA,cACA,UACA,aACA,yBACA,WACA,kBACA,iBACA,kBACA,iBACA,aAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,GAAM,CAAE,YAAW,cAAe,MAAM,EAA2B,CACjE,eACA,cACA,YACA,UACA,WACA,OACA,aACA,yBACA,kBACA,iBACA,kBACA,iBACA,OAAQ,EACR,OACD,CAAC,CAEF,EAAO,KACL,EAAO,MACL,sBAAsB,EAAW,eAC5B,EAAU,OAAO,YAAY,EAAU,KAAK,KAAK,GACvD,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./skipPreflightJobs-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./skipPreflightJobs-Cf3Wn5tk.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";async function n({auth:n,transcendUrl:r,enricherIds:i}){t(this.process.exit),await e({transcendUrl:r,auth:n,enricherIds:i})}export{n as skipPreflightJobs};
|
|
2
|
+
//# sourceMappingURL=impl-IVBRCRjI.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-IVBRCRjI.mjs","names":["skipPreflightJobsHelper"],"sources":["../src/commands/request/skip-preflight-jobs/impl.ts"],"sourcesContent":["import type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { skipPreflightJobs as skipPreflightJobsHelper } from '../../../lib/requests/index.js';\n\nexport interface SkipPreflightJobsCommandFlags {\n auth: string;\n enricherIds: string[];\n transcendUrl: string;\n}\n\nexport async function skipPreflightJobs(\n this: LocalContext,\n { auth, transcendUrl, enricherIds }: SkipPreflightJobsCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await skipPreflightJobsHelper({\n transcendUrl,\n auth,\n enricherIds,\n });\n}\n"],"mappings":"yGAUA,eAAsB,EAEpB,CAAE,OAAM,eAAc,eACP,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAMA,EAAwB,CAC5B,eACA,OACA,cACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./pullManualEnrichmentIdentifiersToCsv-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./pullManualEnrichmentIdentifiersToCsv-CI4eNGth.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-XuDD5UIt.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-XuDD5UIt.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"./downloadPrivacyRequestFiles-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./downloadPrivacyRequestFiles-Dqy1wOqH.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";import{RequestStatus as n}from"@transcend-io/privacy-types";async function r({auth:r,transcendUrl:i,folderPath:a,requestIds:o,statuses:s=[n.Approving,n.Downloadable],concurrency:c,createdAtBefore:l,createdAtAfter:u,updatedAtBefore:d,updatedAtAfter:f,approveAfterDownload:p}){t(this.process.exit),await e({transcendUrl:i,auth:r,folderPath:a,requestIds:o,statuses:s,concurrency:c,createdAtBefore:l,createdAtAfter:u,updatedAtBefore:d,updatedAtAfter:f,approveAfterDownload:p})}export{r as downloadFiles};
|
|
2
|
+
//# sourceMappingURL=impl-d2r2vAp6.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-d2r2vAp6.mjs","names":[],"sources":["../src/commands/request/download-files/impl.ts"],"sourcesContent":["import { RequestStatus } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { downloadPrivacyRequestFiles } from '../../../lib/requests/index.js';\n\nexport interface DownloadFilesCommandFlags {\n auth: string;\n sombraAuth?: string;\n concurrency: number;\n requestIds?: string[];\n statuses?: RequestStatus[];\n folderPath: string;\n createdAtBefore?: Date;\n createdAtAfter?: Date;\n updatedAtBefore?: Date;\n updatedAtAfter?: Date;\n approveAfterDownload: boolean;\n transcendUrl: string;\n}\n\nexport async function downloadFiles(\n this: LocalContext,\n {\n auth,\n transcendUrl,\n folderPath,\n requestIds,\n statuses = [RequestStatus.Approving, RequestStatus.Downloadable],\n concurrency,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n approveAfterDownload,\n }: DownloadFilesCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await downloadPrivacyRequestFiles({\n transcendUrl,\n auth,\n folderPath,\n requestIds,\n statuses,\n concurrency,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n approveAfterDownload,\n });\n}\n"],"mappings":"+KAqBA,eAAsB,EAEpB,CACE,OACA,eACA,aACA,aACA,WAAW,CAAC,EAAc,UAAW,EAAc,aAAa,CAChE,cACA,kBACA,iBACA,kBACA,iBACA,wBAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAA4B,CAChC,eACA,OACA,aACA,aACA,WACA,cACA,kBACA,iBACA,kBACA,iBACA,uBACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./logger-Bj782ZYD.mjs";import{t}from"./readCsv-C4TyEs-r.mjs";import{t as n}from"./markRequestDataSiloIdsCompleted-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./logger-Bj782ZYD.mjs";import{t}from"./readCsv-C4TyEs-r.mjs";import{t as n}from"./markRequestDataSiloIdsCompleted-CvrGzrLX.mjs";import{t as r}from"./done-input-validation-BcNBxhEs.mjs";import i from"colors";import*as a from"io-ts";const o=a.type({"Request Id":a.string});async function s({auth:a,dataSiloId:s,file:c,transcendUrl:l}){r(this.process.exit),e.info(i.magenta(`Reading "${c}" from disk`)),await n({requestIds:t(c,o).map(e=>e[`Request Id`]),transcendUrl:l,auth:a,dataSiloId:s})}export{s as markRequestDataSilosCompleted};
|
|
2
|
+
//# sourceMappingURL=impl-iUKj2MvX.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-iUKj2MvX.mjs","names":[],"sources":["../src/commands/request/system/mark-request-data-silos-completed/impl.ts"],"sourcesContent":["import colors from 'colors';\nimport * as t from 'io-ts';\n\nimport type { LocalContext } from '../../../../context.js';\nimport { doneInputValidation } from '../../../../lib/cli/done-input-validation.js';\nimport { markRequestDataSiloIdsCompleted } from '../../../../lib/cron/index.js';\nimport { readCsv } from '../../../../lib/requests/index.js';\nimport { logger } from '../../../../logger.js';\n\nconst RequestIdRow = t.type({\n 'Request Id': t.string,\n});\n\nexport interface MarkRequestDataSilosCompletedCommandFlags {\n auth: string;\n dataSiloId: string;\n file: string;\n transcendUrl: string;\n}\n\nexport async function markRequestDataSilosCompleted(\n this: LocalContext,\n { auth, dataSiloId, file, transcendUrl }: MarkRequestDataSilosCompletedCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n logger.info(colors.magenta(`Reading \"${file}\" from disk`));\n const activeResults = readCsv(file, RequestIdRow);\n\n await markRequestDataSiloIdsCompleted({\n requestIds: activeResults.map((request) => request['Request Id']),\n transcendUrl,\n auth,\n dataSiloId,\n });\n}\n"],"mappings":"0PASA,MAAM,EAAe,EAAE,KAAK,CAC1B,aAAc,EAAE,OACjB,CAAC,CASF,eAAsB,EAEpB,CAAE,OAAM,aAAY,OAAM,gBACX,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,EAAO,KAAK,EAAO,QAAQ,YAAY,EAAK,aAAa,CAAC,CAG1D,MAAM,EAAgC,CACpC,WAHoB,EAAQ,EAAM,EAAa,CAGrB,IAAK,GAAY,EAAQ,cAAc,CACjE,eACA,OACA,aACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./markSilentPrivacyRequests-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./markSilentPrivacyRequests-Rzfm-vAF.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";async function n({auth:n,transcendUrl:r,actions:i,statuses:a,requestIds:o,createdAtBefore:s,createdAtAfter:c,updatedAtBefore:l,updatedAtAfter:u,concurrency:d}){t(this.process.exit),await e({transcendUrl:r,requestActions:i,auth:n,requestIds:o,statuses:a,concurrency:d,createdAtBefore:s,createdAtAfter:c,updatedAtBefore:l,updatedAtAfter:u})}export{n as markSilent};
|
|
2
|
+
//# sourceMappingURL=impl-lTa6ygA7.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-lTa6ygA7.mjs","names":[],"sources":["../src/commands/request/mark-silent/impl.ts"],"sourcesContent":["import type { RequestAction, RequestStatus } from '@transcend-io/privacy-types';\n\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { markSilentPrivacyRequests } from '../../../lib/requests/index.js';\n\nexport interface MarkSilentCommandFlags {\n auth: string;\n actions: RequestAction[];\n statuses?: RequestStatus[];\n requestIds?: string[];\n createdAtBefore?: Date;\n createdAtAfter?: Date;\n updatedAtBefore?: Date;\n updatedAtAfter?: Date;\n transcendUrl: string;\n concurrency: number;\n}\n\nexport async function markSilent(\n this: LocalContext,\n {\n auth,\n transcendUrl,\n actions,\n statuses,\n requestIds,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n concurrency,\n }: MarkSilentCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await markSilentPrivacyRequests({\n transcendUrl,\n requestActions: actions,\n auth,\n requestIds,\n statuses,\n concurrency,\n createdAtBefore,\n createdAtAfter,\n updatedAtBefore,\n updatedAtAfter,\n });\n}\n"],"mappings":"iHAmBA,eAAsB,EAEpB,CACE,OACA,eACA,UACA,WACA,aACA,kBACA,iBACA,kBACA,iBACA,eAEa,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAM,EAA0B,CAC9B,eACA,eAAgB,EAChB,OACA,aACA,WACA,cACA,kBACA,iBACA,kBACA,iBACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./retryRequestDataSilos-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{t as e}from"./retryRequestDataSilos-DJZyse5-.mjs";import{t}from"./done-input-validation-BcNBxhEs.mjs";async function n({auth:n,dataSiloId:r,actions:i,transcendUrl:a}){t(this.process.exit),await e({requestActions:i,transcendUrl:a,auth:n,dataSiloId:r})}export{n as retryRequestDataSilos};
|
|
2
|
+
//# sourceMappingURL=impl-vhQGx9Lp.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-vhQGx9Lp.mjs","names":["retryRequestDataSilosHelper"],"sources":["../src/commands/request/system/retry-request-data-silos/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 { retryRequestDataSilos as retryRequestDataSilosHelper } from '../../../../lib/requests/index.js';\n\nexport interface RetryRequestDataSilosCommandFlags {\n auth: string;\n dataSiloId: string;\n actions: RequestAction[];\n transcendUrl: string;\n}\n\nexport async function retryRequestDataSilos(\n this: LocalContext,\n { auth, dataSiloId, actions, transcendUrl }: RetryRequestDataSilosCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await retryRequestDataSilosHelper({\n requestActions: actions,\n transcendUrl,\n auth,\n dataSiloId,\n });\n}\n"],"mappings":"6GAaA,eAAsB,EAEpB,CAAE,OAAM,aAAY,UAAS,gBACd,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,MAAMA,EAA4B,CAChC,eAAgB,EAChB,eACA,OACA,aACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./constants-
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
import{n as e}from"./constants-SRIl5ZYx.mjs";import{t}from"./logger-Bj782ZYD.mjs";import{s as n}from"./writeCsv-C4pjXGsD.mjs";import{t as r}from"./pullAllDatapoints-Bbmky50p.mjs";import{t as i}from"./done-input-validation-BcNBxhEs.mjs";import{groupBy as a,uniq as o}from"lodash-es";import s from"colors";import{buildTranscendGraphQLClient as c}from"@transcend-io/sdk";async function l({auth:l,file:u,transcendUrl:d,dataSiloIds:f,includeAttributes:p,includeGuessedCategories:m,parentCategories:h,subCategories:g=[]}){i(this.process.exit);try{let e=await r(c(d,l),{dataSiloIds:f,includeGuessedCategories:m,parentCategories:h,includeAttributes:p,subCategories:g});t.info(s.magenta(`Writing datapoints to file "${u}"...`));let i=[];await n(u,e.map(e=>{let t={"Property ID":e.id,"Data Silo":e.dataSilo.title,Object:e.dataPoint.name,"Object Path":e.dataPoint.path.join(`.`),Property:e.name,"Property Description":e.description,"Data Categories":e.categories.map(e=>`${e.category}:${e.name}`).join(`, `),"Guessed Category":e.pendingCategoryGuesses?.[0]?`${e.pendingCategoryGuesses[0].category.category}:${e.pendingCategoryGuesses[0].category.name}`:``,"Processing Purposes":e.purposes.map(e=>`${e.purpose}:${e.name}`).join(`, `),...Object.entries(a(e.attributeValues||[],({attributeKey:e})=>e.name)).reduce((e,[t,n])=>(e[t]=n.map(e=>e.name).join(`,`),e),{})};return i=o([...i,...Object.keys(t)]),t}),i)}catch(e){t.error(s.red(`An error occurred syncing the datapoints: ${e.message}`)),this.process.exit(1)}t.info(s.green(`Successfully synced datapoints to disk at ${u}! View at ${e}`))}export{l as pullDatapoints};
|
|
2
|
+
//# sourceMappingURL=impl-zuZItNqS.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-
|
|
1
|
+
{"version":3,"file":"impl-zuZItNqS.mjs","names":[],"sources":["../src/commands/inventory/pull-datapoints/impl.ts"],"sourcesContent":["import { DataCategoryType } from '@transcend-io/privacy-types';\nimport { buildTranscendGraphQLClient } from '@transcend-io/sdk';\nimport colors from 'colors';\nimport { uniq, groupBy } from 'lodash-es';\n\nimport { ADMIN_DASH_DATAPOINTS } from '../../../constants.js';\nimport type { LocalContext } from '../../../context.js';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation.js';\nimport { pullAllDatapoints } from '../../../lib/data-inventory/index.js';\nimport { writeLargeCsv } from '../../../lib/helpers/index.js';\nimport { logger } from '../../../logger.js';\n\nexport interface PullDatapointsCommandFlags {\n auth: string;\n file: string;\n transcendUrl: string;\n dataSiloIds?: string[];\n includeAttributes: boolean;\n includeGuessedCategories: boolean;\n parentCategories?: DataCategoryType[];\n subCategories?: string[];\n}\n\nexport async function pullDatapoints(\n this: LocalContext,\n {\n auth,\n file,\n transcendUrl,\n dataSiloIds,\n includeAttributes,\n includeGuessedCategories,\n parentCategories,\n subCategories = [],\n }: PullDatapointsCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n try {\n // Create a GraphQL client\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n\n const dataPoints = await pullAllDatapoints(client, {\n dataSiloIds,\n includeGuessedCategories,\n parentCategories,\n includeAttributes,\n subCategories, // TODO: https://transcend.height.app/T-40482 - do by name not ID\n });\n\n logger.info(colors.magenta(`Writing datapoints to file \"${file}\"...`));\n let headers: string[] = [];\n const inputs = dataPoints.map((point) => {\n const result = {\n 'Property ID': point.id,\n 'Data Silo': point.dataSilo.title,\n Object: point.dataPoint.name,\n 'Object Path': point.dataPoint.path.join('.'),\n Property: point.name,\n 'Property Description': point.description,\n 'Data Categories': point.categories\n .map((category) => `${category.category}:${category.name}`)\n .join(', '),\n 'Guessed Category': point.pendingCategoryGuesses?.[0]\n ? `${point.pendingCategoryGuesses![0]!.category.category}:${\n point.pendingCategoryGuesses![0]!.category.name\n }`\n : '',\n 'Processing Purposes': point.purposes\n .map((purpose) => `${purpose.purpose}:${purpose.name}`)\n .join(', '),\n ...Object.entries(\n groupBy(point.attributeValues || [], ({ attributeKey }) => attributeKey.name),\n ).reduce(\n (acc, [key, values]) => {\n acc[key] = values.map((value) => value.name).join(',');\n return acc;\n },\n {} as Record<string, string>,\n ),\n };\n headers = uniq([...headers, ...Object.keys(result)]);\n return result;\n });\n await writeLargeCsv(file, inputs, headers);\n } catch (err) {\n logger.error(colors.red(`An error occurred syncing the datapoints: ${err.message}`));\n this.process.exit(1);\n }\n\n // Indicate success\n logger.info(\n colors.green(\n `Successfully synced datapoints to disk at ${file}! View at ${ADMIN_DASH_DATAPOINTS}`,\n ),\n );\n}\n"],"mappings":"gXAuBA,eAAsB,EAEpB,CACE,OACA,OACA,eACA,cACA,oBACA,2BACA,mBACA,gBAAgB,EAAE,EAEL,CACf,EAAoB,KAAK,QAAQ,KAAK,CAEtC,GAAI,CAIF,IAAM,EAAa,MAAM,EAFV,EAA4B,EAAc,EAAK,CAEX,CACjD,cACA,2BACA,mBACA,oBACA,gBACD,CAAC,CAEF,EAAO,KAAK,EAAO,QAAQ,+BAA+B,EAAK,MAAM,CAAC,CACtE,IAAI,EAAoB,EAAE,CAiC1B,MAAM,EAAc,EAhCL,EAAW,IAAK,GAAU,CACvC,IAAM,EAAS,CACb,cAAe,EAAM,GACrB,YAAa,EAAM,SAAS,MAC5B,OAAQ,EAAM,UAAU,KACxB,cAAe,EAAM,UAAU,KAAK,KAAK,IAAI,CAC7C,SAAU,EAAM,KAChB,uBAAwB,EAAM,YAC9B,kBAAmB,EAAM,WACtB,IAAK,GAAa,GAAG,EAAS,SAAS,GAAG,EAAS,OAAO,CAC1D,KAAK,KAAK,CACb,mBAAoB,EAAM,yBAAyB,GAC/C,GAAG,EAAM,uBAAwB,GAAI,SAAS,SAAS,GACrD,EAAM,uBAAwB,GAAI,SAAS,OAE7C,GACJ,sBAAuB,EAAM,SAC1B,IAAK,GAAY,GAAG,EAAQ,QAAQ,GAAG,EAAQ,OAAO,CACtD,KAAK,KAAK,CACb,GAAG,OAAO,QACR,EAAQ,EAAM,iBAAmB,EAAE,EAAG,CAAE,kBAAmB,EAAa,KAAK,CAC9E,CAAC,QACC,EAAK,CAAC,EAAK,MACV,EAAI,GAAO,EAAO,IAAK,GAAU,EAAM,KAAK,CAAC,KAAK,IAAI,CAC/C,GAET,EAAE,CACH,CACF,CAED,MADA,GAAU,EAAK,CAAC,GAAG,EAAS,GAAG,OAAO,KAAK,EAAO,CAAC,CAAC,CAC7C,GACP,CACgC,EAAQ,OACnC,EAAK,CACZ,EAAO,MAAM,EAAO,IAAI,6CAA6C,EAAI,UAAU,CAAC,CACpF,KAAK,QAAQ,KAAK,EAAE,CAItB,EAAO,KACL,EAAO,MACL,6CAA6C,EAAK,YAAY,IAC/D,CACF"}
|
package/dist/index.d.mts
CHANGED
|
@@ -57062,6 +57062,7 @@ declare const PrivacyCenterInput: t.PartialC<{
|
|
|
57062
57062
|
"en-US": unknown;
|
|
57063
57063
|
et: unknown;
|
|
57064
57064
|
"et-EE": unknown;
|
|
57065
|
+
fa: unknown;
|
|
57065
57066
|
fi: unknown;
|
|
57066
57067
|
"fi-FI": unknown;
|
|
57067
57068
|
fr: unknown;
|
|
@@ -57081,6 +57082,7 @@ declare const PrivacyCenterInput: t.PartialC<{
|
|
|
57081
57082
|
gu: unknown;
|
|
57082
57083
|
ht: unknown;
|
|
57083
57084
|
ha: unknown;
|
|
57085
|
+
iw: unknown;
|
|
57084
57086
|
"he-IL": unknown;
|
|
57085
57087
|
he: unknown;
|
|
57086
57088
|
hi: unknown;
|
|
@@ -57108,6 +57110,8 @@ declare const PrivacyCenterInput: t.PartialC<{
|
|
|
57108
57110
|
"mt-MT": unknown;
|
|
57109
57111
|
mr: unknown;
|
|
57110
57112
|
mn: unknown;
|
|
57113
|
+
no: unknown;
|
|
57114
|
+
"no-NO": unknown;
|
|
57111
57115
|
nb: unknown;
|
|
57112
57116
|
"nb-NO": unknown;
|
|
57113
57117
|
ps: unknown;
|
|
@@ -57168,6 +57172,7 @@ declare const PrivacyCenterInput: t.PartialC<{
|
|
|
57168
57172
|
"vi-VN": unknown;
|
|
57169
57173
|
"zu-ZA": unknown;
|
|
57170
57174
|
"es-419": unknown;
|
|
57175
|
+
"iw-IL": unknown;
|
|
57171
57176
|
"sl-SL": unknown;
|
|
57172
57177
|
"fil-PH": unknown;
|
|
57173
57178
|
"sq-AL": unknown;
|
|
@@ -57254,6 +57259,7 @@ declare const PrivacyCenterInput: t.PartialC<{
|
|
|
57254
57259
|
"en-US": unknown;
|
|
57255
57260
|
et: unknown;
|
|
57256
57261
|
"et-EE": unknown;
|
|
57262
|
+
fa: unknown;
|
|
57257
57263
|
fi: unknown;
|
|
57258
57264
|
"fi-FI": unknown;
|
|
57259
57265
|
fr: unknown;
|
|
@@ -57273,6 +57279,7 @@ declare const PrivacyCenterInput: t.PartialC<{
|
|
|
57273
57279
|
gu: unknown;
|
|
57274
57280
|
ht: unknown;
|
|
57275
57281
|
ha: unknown;
|
|
57282
|
+
iw: unknown;
|
|
57276
57283
|
"he-IL": unknown;
|
|
57277
57284
|
he: unknown;
|
|
57278
57285
|
hi: unknown;
|
|
@@ -57300,6 +57307,8 @@ declare const PrivacyCenterInput: t.PartialC<{
|
|
|
57300
57307
|
"mt-MT": unknown;
|
|
57301
57308
|
mr: unknown;
|
|
57302
57309
|
mn: unknown;
|
|
57310
|
+
no: unknown;
|
|
57311
|
+
"no-NO": unknown;
|
|
57303
57312
|
nb: unknown;
|
|
57304
57313
|
"nb-NO": unknown;
|
|
57305
57314
|
ps: unknown;
|
|
@@ -57360,6 +57369,7 @@ declare const PrivacyCenterInput: t.PartialC<{
|
|
|
57360
57369
|
"vi-VN": unknown;
|
|
57361
57370
|
"zu-ZA": unknown;
|
|
57362
57371
|
"es-419": unknown;
|
|
57372
|
+
"iw-IL": unknown;
|
|
57363
57373
|
"sl-SL": unknown;
|
|
57364
57374
|
"fil-PH": unknown;
|
|
57365
57375
|
"sq-AL": unknown;
|
|
@@ -57523,6 +57533,7 @@ declare const PolicyInput: t.IntersectionC<[t.TypeC<{
|
|
|
57523
57533
|
"en-US": unknown;
|
|
57524
57534
|
et: unknown;
|
|
57525
57535
|
"et-EE": unknown;
|
|
57536
|
+
fa: unknown;
|
|
57526
57537
|
fi: unknown;
|
|
57527
57538
|
"fi-FI": unknown;
|
|
57528
57539
|
fr: unknown;
|
|
@@ -57542,6 +57553,7 @@ declare const PolicyInput: t.IntersectionC<[t.TypeC<{
|
|
|
57542
57553
|
gu: unknown;
|
|
57543
57554
|
ht: unknown;
|
|
57544
57555
|
ha: unknown;
|
|
57556
|
+
iw: unknown;
|
|
57545
57557
|
"he-IL": unknown;
|
|
57546
57558
|
he: unknown;
|
|
57547
57559
|
hi: unknown;
|
|
@@ -57569,6 +57581,8 @@ declare const PolicyInput: t.IntersectionC<[t.TypeC<{
|
|
|
57569
57581
|
"mt-MT": unknown;
|
|
57570
57582
|
mr: unknown;
|
|
57571
57583
|
mn: unknown;
|
|
57584
|
+
no: unknown;
|
|
57585
|
+
"no-NO": unknown;
|
|
57572
57586
|
nb: unknown;
|
|
57573
57587
|
"nb-NO": unknown;
|
|
57574
57588
|
ps: unknown;
|
|
@@ -57629,6 +57643,7 @@ declare const PolicyInput: t.IntersectionC<[t.TypeC<{
|
|
|
57629
57643
|
"vi-VN": unknown;
|
|
57630
57644
|
"zu-ZA": unknown;
|
|
57631
57645
|
"es-419": unknown;
|
|
57646
|
+
"iw-IL": unknown;
|
|
57632
57647
|
"sl-SL": unknown;
|
|
57633
57648
|
"fil-PH": unknown;
|
|
57634
57649
|
"sq-AL": unknown;
|
|
@@ -57727,6 +57742,7 @@ declare const IntlMessageInput: t.IntersectionC<[t.TypeC<{
|
|
|
57727
57742
|
"en-US": t.StringC;
|
|
57728
57743
|
et: t.StringC;
|
|
57729
57744
|
"et-EE": t.StringC;
|
|
57745
|
+
fa: t.StringC;
|
|
57730
57746
|
fi: t.StringC;
|
|
57731
57747
|
"fi-FI": t.StringC;
|
|
57732
57748
|
fr: t.StringC;
|
|
@@ -57746,6 +57762,7 @@ declare const IntlMessageInput: t.IntersectionC<[t.TypeC<{
|
|
|
57746
57762
|
gu: t.StringC;
|
|
57747
57763
|
ht: t.StringC;
|
|
57748
57764
|
ha: t.StringC;
|
|
57765
|
+
iw: t.StringC;
|
|
57749
57766
|
"he-IL": t.StringC;
|
|
57750
57767
|
he: t.StringC;
|
|
57751
57768
|
hi: t.StringC;
|
|
@@ -57773,6 +57790,8 @@ declare const IntlMessageInput: t.IntersectionC<[t.TypeC<{
|
|
|
57773
57790
|
"mt-MT": t.StringC;
|
|
57774
57791
|
mr: t.StringC;
|
|
57775
57792
|
mn: t.StringC;
|
|
57793
|
+
no: t.StringC;
|
|
57794
|
+
"no-NO": t.StringC;
|
|
57776
57795
|
nb: t.StringC;
|
|
57777
57796
|
"nb-NO": t.StringC;
|
|
57778
57797
|
ps: t.StringC;
|
|
@@ -57833,6 +57852,7 @@ declare const IntlMessageInput: t.IntersectionC<[t.TypeC<{
|
|
|
57833
57852
|
"vi-VN": t.StringC;
|
|
57834
57853
|
"zu-ZA": t.StringC;
|
|
57835
57854
|
"es-419": t.StringC;
|
|
57855
|
+
"iw-IL": t.StringC;
|
|
57836
57856
|
"sl-SL": t.StringC;
|
|
57837
57857
|
"fil-PH": t.StringC;
|
|
57838
57858
|
"sq-AL": t.StringC;
|
|
@@ -109950,6 +109970,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
109950
109970
|
"en-US": unknown;
|
|
109951
109971
|
et: unknown;
|
|
109952
109972
|
"et-EE": unknown;
|
|
109973
|
+
fa: unknown;
|
|
109953
109974
|
fi: unknown;
|
|
109954
109975
|
"fi-FI": unknown;
|
|
109955
109976
|
fr: unknown;
|
|
@@ -109969,6 +109990,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
109969
109990
|
gu: unknown;
|
|
109970
109991
|
ht: unknown;
|
|
109971
109992
|
ha: unknown;
|
|
109993
|
+
iw: unknown;
|
|
109972
109994
|
"he-IL": unknown;
|
|
109973
109995
|
he: unknown;
|
|
109974
109996
|
hi: unknown;
|
|
@@ -109996,6 +110018,8 @@ declare const TranscendInput: t.PartialC<{
|
|
|
109996
110018
|
"mt-MT": unknown;
|
|
109997
110019
|
mr: unknown;
|
|
109998
110020
|
mn: unknown;
|
|
110021
|
+
no: unknown;
|
|
110022
|
+
"no-NO": unknown;
|
|
109999
110023
|
nb: unknown;
|
|
110000
110024
|
"nb-NO": unknown;
|
|
110001
110025
|
ps: unknown;
|
|
@@ -110056,6 +110080,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
110056
110080
|
"vi-VN": unknown;
|
|
110057
110081
|
"zu-ZA": unknown;
|
|
110058
110082
|
"es-419": unknown;
|
|
110083
|
+
"iw-IL": unknown;
|
|
110059
110084
|
"sl-SL": unknown;
|
|
110060
110085
|
"fil-PH": unknown;
|
|
110061
110086
|
"sq-AL": unknown;
|
|
@@ -110142,6 +110167,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
110142
110167
|
"en-US": unknown;
|
|
110143
110168
|
et: unknown;
|
|
110144
110169
|
"et-EE": unknown;
|
|
110170
|
+
fa: unknown;
|
|
110145
110171
|
fi: unknown;
|
|
110146
110172
|
"fi-FI": unknown;
|
|
110147
110173
|
fr: unknown;
|
|
@@ -110161,6 +110187,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
110161
110187
|
gu: unknown;
|
|
110162
110188
|
ht: unknown;
|
|
110163
110189
|
ha: unknown;
|
|
110190
|
+
iw: unknown;
|
|
110164
110191
|
"he-IL": unknown;
|
|
110165
110192
|
he: unknown;
|
|
110166
110193
|
hi: unknown;
|
|
@@ -110188,6 +110215,8 @@ declare const TranscendInput: t.PartialC<{
|
|
|
110188
110215
|
"mt-MT": unknown;
|
|
110189
110216
|
mr: unknown;
|
|
110190
110217
|
mn: unknown;
|
|
110218
|
+
no: unknown;
|
|
110219
|
+
"no-NO": unknown;
|
|
110191
110220
|
nb: unknown;
|
|
110192
110221
|
"nb-NO": unknown;
|
|
110193
110222
|
ps: unknown;
|
|
@@ -110248,6 +110277,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
110248
110277
|
"vi-VN": unknown;
|
|
110249
110278
|
"zu-ZA": unknown;
|
|
110250
110279
|
"es-419": unknown;
|
|
110280
|
+
"iw-IL": unknown;
|
|
110251
110281
|
"sl-SL": unknown;
|
|
110252
110282
|
"fil-PH": unknown;
|
|
110253
110283
|
"sq-AL": unknown;
|
|
@@ -110409,6 +110439,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
110409
110439
|
"en-US": unknown;
|
|
110410
110440
|
et: unknown;
|
|
110411
110441
|
"et-EE": unknown;
|
|
110442
|
+
fa: unknown;
|
|
110412
110443
|
fi: unknown;
|
|
110413
110444
|
"fi-FI": unknown;
|
|
110414
110445
|
fr: unknown;
|
|
@@ -110428,6 +110459,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
110428
110459
|
gu: unknown;
|
|
110429
110460
|
ht: unknown;
|
|
110430
110461
|
ha: unknown;
|
|
110462
|
+
iw: unknown;
|
|
110431
110463
|
"he-IL": unknown;
|
|
110432
110464
|
he: unknown;
|
|
110433
110465
|
hi: unknown;
|
|
@@ -110455,6 +110487,8 @@ declare const TranscendInput: t.PartialC<{
|
|
|
110455
110487
|
"mt-MT": unknown;
|
|
110456
110488
|
mr: unknown;
|
|
110457
110489
|
mn: unknown;
|
|
110490
|
+
no: unknown;
|
|
110491
|
+
"no-NO": unknown;
|
|
110458
110492
|
nb: unknown;
|
|
110459
110493
|
"nb-NO": unknown;
|
|
110460
110494
|
ps: unknown;
|
|
@@ -110515,6 +110549,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
110515
110549
|
"vi-VN": unknown;
|
|
110516
110550
|
"zu-ZA": unknown;
|
|
110517
110551
|
"es-419": unknown;
|
|
110552
|
+
"iw-IL": unknown;
|
|
110518
110553
|
"sl-SL": unknown;
|
|
110519
110554
|
"fil-PH": unknown;
|
|
110520
110555
|
"sq-AL": unknown;
|
|
@@ -110611,6 +110646,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
110611
110646
|
"en-US": t.StringC;
|
|
110612
110647
|
et: t.StringC;
|
|
110613
110648
|
"et-EE": t.StringC;
|
|
110649
|
+
fa: t.StringC;
|
|
110614
110650
|
fi: t.StringC;
|
|
110615
110651
|
"fi-FI": t.StringC;
|
|
110616
110652
|
fr: t.StringC;
|
|
@@ -110630,6 +110666,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
110630
110666
|
gu: t.StringC;
|
|
110631
110667
|
ht: t.StringC;
|
|
110632
110668
|
ha: t.StringC;
|
|
110669
|
+
iw: t.StringC;
|
|
110633
110670
|
"he-IL": t.StringC;
|
|
110634
110671
|
he: t.StringC;
|
|
110635
110672
|
hi: t.StringC;
|
|
@@ -110657,6 +110694,8 @@ declare const TranscendInput: t.PartialC<{
|
|
|
110657
110694
|
"mt-MT": t.StringC;
|
|
110658
110695
|
mr: t.StringC;
|
|
110659
110696
|
mn: t.StringC;
|
|
110697
|
+
no: t.StringC;
|
|
110698
|
+
"no-NO": t.StringC;
|
|
110660
110699
|
nb: t.StringC;
|
|
110661
110700
|
"nb-NO": t.StringC;
|
|
110662
110701
|
ps: t.StringC;
|
|
@@ -110717,6 +110756,7 @@ declare const TranscendInput: t.PartialC<{
|
|
|
110717
110756
|
"vi-VN": t.StringC;
|
|
110718
110757
|
"zu-ZA": t.StringC;
|
|
110719
110758
|
"es-419": t.StringC;
|
|
110759
|
+
"iw-IL": t.StringC;
|
|
110720
110760
|
"sl-SL": t.StringC;
|
|
110721
110761
|
"fil-PH": t.StringC;
|
|
110722
110762
|
"sq-AL": t.StringC;
|
|
@@ -128142,6 +128182,7 @@ declare const CachedFileState: t.TypeC<{
|
|
|
128142
128182
|
"en-US": unknown;
|
|
128143
128183
|
et: unknown;
|
|
128144
128184
|
"et-EE": unknown;
|
|
128185
|
+
fa: unknown;
|
|
128145
128186
|
fi: unknown;
|
|
128146
128187
|
"fi-FI": unknown;
|
|
128147
128188
|
fr: unknown;
|
|
@@ -128161,6 +128202,7 @@ declare const CachedFileState: t.TypeC<{
|
|
|
128161
128202
|
gu: unknown;
|
|
128162
128203
|
ht: unknown;
|
|
128163
128204
|
ha: unknown;
|
|
128205
|
+
iw: unknown;
|
|
128164
128206
|
"he-IL": unknown;
|
|
128165
128207
|
he: unknown;
|
|
128166
128208
|
hi: unknown;
|
|
@@ -128188,6 +128230,8 @@ declare const CachedFileState: t.TypeC<{
|
|
|
128188
128230
|
"mt-MT": unknown;
|
|
128189
128231
|
mr: unknown;
|
|
128190
128232
|
mn: unknown;
|
|
128233
|
+
no: unknown;
|
|
128234
|
+
"no-NO": unknown;
|
|
128191
128235
|
nb: unknown;
|
|
128192
128236
|
"nb-NO": unknown;
|
|
128193
128237
|
ps: unknown;
|
|
@@ -128248,6 +128292,7 @@ declare const CachedFileState: t.TypeC<{
|
|
|
128248
128292
|
"vi-VN": unknown;
|
|
128249
128293
|
"zu-ZA": unknown;
|
|
128250
128294
|
"es-419": unknown;
|
|
128295
|
+
"iw-IL": unknown;
|
|
128251
128296
|
"sl-SL": unknown;
|
|
128252
128297
|
"fil-PH": unknown;
|
|
128253
128298
|
"sq-AL": unknown;
|
|
@@ -139361,6 +139406,7 @@ declare const PrivacyRequestInput: t.IntersectionC<[t.TypeC<{
|
|
|
139361
139406
|
"en-US": unknown;
|
|
139362
139407
|
et: unknown;
|
|
139363
139408
|
"et-EE": unknown;
|
|
139409
|
+
fa: unknown;
|
|
139364
139410
|
fi: unknown;
|
|
139365
139411
|
"fi-FI": unknown;
|
|
139366
139412
|
fr: unknown;
|
|
@@ -139380,6 +139426,7 @@ declare const PrivacyRequestInput: t.IntersectionC<[t.TypeC<{
|
|
|
139380
139426
|
gu: unknown;
|
|
139381
139427
|
ht: unknown;
|
|
139382
139428
|
ha: unknown;
|
|
139429
|
+
iw: unknown;
|
|
139383
139430
|
"he-IL": unknown;
|
|
139384
139431
|
he: unknown;
|
|
139385
139432
|
hi: unknown;
|
|
@@ -139407,6 +139454,8 @@ declare const PrivacyRequestInput: t.IntersectionC<[t.TypeC<{
|
|
|
139407
139454
|
"mt-MT": unknown;
|
|
139408
139455
|
mr: unknown;
|
|
139409
139456
|
mn: unknown;
|
|
139457
|
+
no: unknown;
|
|
139458
|
+
"no-NO": unknown;
|
|
139410
139459
|
nb: unknown;
|
|
139411
139460
|
"nb-NO": unknown;
|
|
139412
139461
|
ps: unknown;
|
|
@@ -139467,6 +139516,7 @@ declare const PrivacyRequestInput: t.IntersectionC<[t.TypeC<{
|
|
|
139467
139516
|
"vi-VN": unknown;
|
|
139468
139517
|
"zu-ZA": unknown;
|
|
139469
139518
|
"es-419": unknown;
|
|
139519
|
+
"iw-IL": unknown;
|
|
139470
139520
|
"sl-SL": unknown;
|
|
139471
139521
|
"fil-PH": unknown;
|
|
139472
139522
|
"sq-AL": unknown;
|
|
@@ -145329,6 +145379,7 @@ declare const PrivacyRequest: t.IntersectionC<[t.TypeC<{
|
|
|
145329
145379
|
"en-US": unknown;
|
|
145330
145380
|
et: unknown;
|
|
145331
145381
|
"et-EE": unknown;
|
|
145382
|
+
fa: unknown;
|
|
145332
145383
|
fi: unknown;
|
|
145333
145384
|
"fi-FI": unknown;
|
|
145334
145385
|
fr: unknown;
|
|
@@ -145348,6 +145399,7 @@ declare const PrivacyRequest: t.IntersectionC<[t.TypeC<{
|
|
|
145348
145399
|
gu: unknown;
|
|
145349
145400
|
ht: unknown;
|
|
145350
145401
|
ha: unknown;
|
|
145402
|
+
iw: unknown;
|
|
145351
145403
|
"he-IL": unknown;
|
|
145352
145404
|
he: unknown;
|
|
145353
145405
|
hi: unknown;
|
|
@@ -145375,6 +145427,8 @@ declare const PrivacyRequest: t.IntersectionC<[t.TypeC<{
|
|
|
145375
145427
|
"mt-MT": unknown;
|
|
145376
145428
|
mr: unknown;
|
|
145377
145429
|
mn: unknown;
|
|
145430
|
+
no: unknown;
|
|
145431
|
+
"no-NO": unknown;
|
|
145378
145432
|
nb: unknown;
|
|
145379
145433
|
"nb-NO": unknown;
|
|
145380
145434
|
ps: unknown;
|
|
@@ -145435,6 +145489,7 @@ declare const PrivacyRequest: t.IntersectionC<[t.TypeC<{
|
|
|
145435
145489
|
"vi-VN": unknown;
|
|
145436
145490
|
"zu-ZA": unknown;
|
|
145437
145491
|
"es-419": unknown;
|
|
145492
|
+
"iw-IL": unknown;
|
|
145438
145493
|
"sl-SL": unknown;
|
|
145439
145494
|
"fil-PH": unknown;
|
|
145440
145495
|
"sq-AL": unknown;
|