@transcend-io/cli 4.94.0 → 4.96.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +49 -0
  2. package/build/ai/TranscendAiPrompt.d.ts +54 -0
  3. package/build/ai/TranscendAiPrompt.d.ts.map +1 -0
  4. package/build/ai/TranscendAiPrompt.js +97 -0
  5. package/build/ai/TranscendAiPrompt.js.map +1 -0
  6. package/build/ai/createHandlebarsWithHelpers.d.ts +25 -0
  7. package/build/ai/createHandlebarsWithHelpers.d.ts.map +1 -0
  8. package/build/ai/createHandlebarsWithHelpers.js +125 -0
  9. package/build/ai/createHandlebarsWithHelpers.js.map +1 -0
  10. package/build/ai/index.d.ts +3 -0
  11. package/build/ai/index.d.ts.map +1 -0
  12. package/build/ai/index.js +19 -0
  13. package/build/ai/index.js.map +1 -0
  14. package/build/cli-create-assessment.d.ts +3 -0
  15. package/build/cli-create-assessment.d.ts.map +1 -0
  16. package/build/cli-create-assessment.js +163 -0
  17. package/build/cli-create-assessment.js.map +1 -0
  18. package/build/cli-push.js +9 -9
  19. package/build/cli-push.js.map +1 -1
  20. package/build/cli-test.d.ts +3 -0
  21. package/build/cli-test.d.ts.map +1 -0
  22. package/build/cli-test.js +72 -0
  23. package/build/cli-test.js.map +1 -0
  24. package/build/codecs.d.ts +18 -11
  25. package/build/codecs.d.ts.map +1 -1
  26. package/build/codecs.js +12 -8
  27. package/build/codecs.js.map +1 -1
  28. package/build/cron/pullCronIdentifiersToCsv.d.ts +24 -0
  29. package/build/cron/pullCronIdentifiersToCsv.d.ts.map +1 -0
  30. package/build/cron/pullCronIdentifiersToCsv.js +53 -0
  31. package/build/cron/pullCronIdentifiersToCsv.js.map +1 -0
  32. package/build/graphql/fetchAllRequests.d.ts +4 -4
  33. package/build/graphql/fetchAssessments.d.ts +8 -2
  34. package/build/graphql/fetchAssessments.d.ts.map +1 -1
  35. package/build/graphql/fetchAssessments.js +3 -1
  36. package/build/graphql/fetchAssessments.js.map +1 -1
  37. package/build/graphql/gqls/assessment.d.ts.map +1 -1
  38. package/build/graphql/gqls/assessment.js +10 -1
  39. package/build/graphql/gqls/assessment.js.map +1 -1
  40. package/build/graphql/syncAssessmentTemplates.d.ts +7 -2
  41. package/build/graphql/syncAssessmentTemplates.d.ts.map +1 -1
  42. package/build/graphql/syncAssessmentTemplates.js +3 -2
  43. package/build/graphql/syncAssessmentTemplates.js.map +1 -1
  44. package/build/graphql/syncAssessments.d.ts +27 -0
  45. package/build/graphql/syncAssessments.d.ts.map +1 -1
  46. package/build/graphql/syncAssessments.js +40 -15
  47. package/build/graphql/syncAssessments.js.map +1 -1
  48. package/build/graphql/syncConfigurationToTranscend.d.ts +3 -1
  49. package/build/graphql/syncConfigurationToTranscend.d.ts.map +1 -1
  50. package/build/graphql/syncConfigurationToTranscend.js +2 -2
  51. package/build/graphql/syncConfigurationToTranscend.js.map +1 -1
  52. package/build/graphql/tests/fetchApiKeys.test.d.ts +1 -0
  53. package/build/graphql/tests/fetchApiKeys.test.d.ts.map +1 -0
  54. package/build/graphql/tests/fetchApiKeys.test.js +3 -0
  55. package/build/graphql/tests/fetchApiKeys.test.js.map +1 -0
  56. package/build/graphql/tests/fetchDataSubjects.test.d.ts +1 -0
  57. package/build/graphql/tests/fetchDataSubjects.test.d.ts.map +1 -0
  58. package/build/graphql/tests/fetchDataSubjects.test.js +3 -0
  59. package/build/graphql/tests/fetchDataSubjects.test.js.map +1 -0
  60. package/build/graphql/tests/fetchIdentifiers.test.d.ts +1 -0
  61. package/build/graphql/tests/fetchIdentifiers.test.d.ts.map +1 -0
  62. package/build/graphql/tests/fetchIdentifiers.test.js +3 -0
  63. package/build/graphql/tests/fetchIdentifiers.test.js.map +1 -0
  64. package/build/graphql/tests/syncDataSilos.test.d.ts +1 -0
  65. package/build/graphql/tests/syncDataSilos.test.d.ts.map +1 -0
  66. package/build/graphql/tests/syncDataSilos.test.js +3 -0
  67. package/build/graphql/tests/syncDataSilos.test.js.map +1 -0
  68. package/build/graphql/tests/syncEnrichers.test.d.ts +1 -0
  69. package/build/graphql/tests/syncEnrichers.test.d.ts.map +1 -0
  70. package/build/graphql/tests/syncEnrichers.test.js +3 -0
  71. package/build/graphql/tests/syncEnrichers.test.js.map +1 -0
  72. package/build/helpers/compile.d.ts +22 -0
  73. package/build/helpers/compile.d.ts.map +1 -0
  74. package/build/helpers/compile.js +37 -0
  75. package/build/helpers/compile.js.map +1 -0
  76. package/build/helpers/getHandlebarsVariablesFromTemplate.d.ts +12 -0
  77. package/build/helpers/getHandlebarsVariablesFromTemplate.d.ts.map +1 -0
  78. package/build/helpers/getHandlebarsVariablesFromTemplate.js +54 -0
  79. package/build/helpers/getHandlebarsVariablesFromTemplate.js.map +1 -0
  80. package/build/helpers/getVariablesFromHandlebarsTemplate.d.ts +10 -0
  81. package/build/helpers/getVariablesFromHandlebarsTemplate.d.ts.map +1 -0
  82. package/build/helpers/getVariablesFromHandlebarsTemplate.js +96 -0
  83. package/build/helpers/getVariablesFromHandlebarsTemplate.js.map +1 -0
  84. package/build/helpers/inquirer.d.ts +32 -0
  85. package/build/helpers/inquirer.d.ts.map +1 -0
  86. package/build/helpers/inquirer.js +64 -0
  87. package/build/helpers/inquirer.js.map +1 -0
  88. package/build/helpers/parseVariablesFromString.d.ts +10 -0
  89. package/build/helpers/parseVariablesFromString.d.ts.map +1 -0
  90. package/build/helpers/parseVariablesFromString.js +21 -0
  91. package/build/helpers/parseVariablesFromString.js.map +1 -0
  92. package/build/index.d.ts +1 -0
  93. package/build/index.d.ts.map +1 -1
  94. package/build/index.js +1 -0
  95. package/build/index.js.map +1 -1
  96. package/build/logger.js +0 -1
  97. package/build/logger.js.map +1 -1
  98. package/build/requests/constants.d.ts +1 -1
  99. package/build/requests/pullRequestsToCsv.d.ts +32 -0
  100. package/build/requests/pullRequestsToCsv.d.ts.map +1 -0
  101. package/build/requests/pullRequestsToCsv.js +86 -0
  102. package/build/requests/pullRequestsToCsv.js.map +1 -0
  103. package/build/requests/submitPrivacyRequest.d.ts +4 -4
  104. package/build/tests/getVariablesFromHandlebars.test.d.ts +2 -0
  105. package/build/tests/getVariablesFromHandlebars.test.d.ts.map +1 -0
  106. package/build/tests/getVariablesFromHandlebars.test.js +44 -0
  107. package/build/tests/getVariablesFromHandlebars.test.js.map +1 -0
  108. package/build/tsbuildinfo +1 -1
  109. package/package.json +7 -2
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Get variables from handlebars template
3
+ *
4
+ * @param template - Template
5
+ * @returns Variables
6
+ */
7
+ export declare function getVariablesFromHandlebarsTemplate(template: string): {
8
+ [k in string]: unknown;
9
+ };
10
+ //# sourceMappingURL=getVariablesFromHandlebarsTemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVariablesFromHandlebarsTemplate.d.ts","sourceRoot":"","sources":["../../src/helpers/getVariablesFromHandlebarsTemplate.ts"],"names":[],"mappings":"AAyDA;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,MAAM,GAAG;KACnE,CAAC,IAAI,MAAM,GAAG,OAAO;CACvB,CAkCA"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getVariablesFromHandlebarsTemplate = void 0;
7
+ const handlebars_1 = __importDefault(require("handlebars"));
8
+ /**
9
+ * Parse AST for variables
10
+ *
11
+ * @param statement - Statement to parse
12
+ * @returns Variables
13
+ */
14
+ function parseHandlebarsAst(statement) {
15
+ // No variables
16
+ if (statement.type === 'ContentStatement') {
17
+ return {};
18
+ }
19
+ // Parse variables from {{ var }}
20
+ if (statement.type === 'MustacheStatement') {
21
+ const moustacheStatement = statement;
22
+ const paramsExpressionList = moustacheStatement.params;
23
+ const pathExpression = moustacheStatement.path;
24
+ const vars = [
25
+ ...paramsExpressionList.map(({ original }) => original),
26
+ pathExpression.original,
27
+ ].filter((x) => !!x);
28
+ return vars.reduce((acc, x) => Object.assign(acc, { [x]: null }), {});
29
+ }
30
+ // Parse from {{#each}} or {{#with}}
31
+ if (statement.type === 'BlockStatement' && statement) {
32
+ const moustacheStatement = statement;
33
+ const paramsExpressionList = moustacheStatement.params;
34
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
+ const program = moustacheStatement.program;
36
+ const param = paramsExpressionList[0];
37
+ const pathExpression = moustacheStatement.path;
38
+ if (pathExpression.original === 'each') {
39
+ return {
40
+ [param.original]: [
41
+ program.body
42
+ .map(parseHandlebarsAst)
43
+ .reduce((acc, obj) => Object.assign(acc, obj), {}),
44
+ ],
45
+ };
46
+ }
47
+ return {
48
+ [param.original]: program.body
49
+ .map(parseHandlebarsAst)
50
+ .reduce((acc, obj) => Object.assign(acc, obj), {}),
51
+ };
52
+ }
53
+ throw new Error(`Unknown statement: ${statement.type}`);
54
+ }
55
+ /**
56
+ * Get variables from handlebars template
57
+ *
58
+ * @param template - Template
59
+ * @returns Variables
60
+ */
61
+ function getVariablesFromHandlebarsTemplate(template) {
62
+ const ast = handlebars_1.default.parseWithoutProcessing(template);
63
+ const results = ast.body.map(parseHandlebarsAst);
64
+ return results.reduce((acc, data) => {
65
+ Object.entries(data).forEach(([k, v]) => {
66
+ const existing = acc[k];
67
+ if (!existing) {
68
+ return Object.assign(acc, { [k]: v });
69
+ }
70
+ if (Array.isArray(existing) && Array.isArray(v)) {
71
+ return Object.assign(acc, {
72
+ [k]: [
73
+ {
74
+ ...existing[0],
75
+ ...v[0],
76
+ },
77
+ ],
78
+ });
79
+ }
80
+ if (typeof existing === 'object' && typeof v === 'object') {
81
+ return Object.assign(acc, {
82
+ [k]: {
83
+ ...existing,
84
+ ...v,
85
+ },
86
+ });
87
+ }
88
+ return Object.assign(acc, {
89
+ [k]: v,
90
+ });
91
+ });
92
+ return acc;
93
+ }, {});
94
+ }
95
+ exports.getVariablesFromHandlebarsTemplate = getVariablesFromHandlebarsTemplate;
96
+ //# sourceMappingURL=getVariablesFromHandlebarsTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVariablesFromHandlebarsTemplate.js","sourceRoot":"","sources":["../../src/helpers/getVariablesFromHandlebarsTemplate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Inquirer confirm text
3
+ *
4
+ * @param options - Options
5
+ */
6
+ export declare function inquirerConfirmBoolean({ message, }: {
7
+ /** Message */
8
+ message: string;
9
+ }): Promise<boolean>;
10
+ /**
11
+ * Inquirer confirm text
12
+ *
13
+ * @param options - Options
14
+ */
15
+ export declare function inquirerConfirmText({ message, }: {
16
+ /** Message */
17
+ message: string;
18
+ }): Promise<string>;
19
+ /**
20
+ * Inquirer auto complete
21
+ *
22
+ * @param options - Options
23
+ */
24
+ export declare function inquirerAutoComplete({ defaultValue, values, message, }: {
25
+ /** Default value */
26
+ defaultValue?: string;
27
+ /** Message */
28
+ message: string;
29
+ /** Values to select */
30
+ values: string[];
31
+ }): Promise<string>;
32
+ //# sourceMappingURL=inquirer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inquirer.d.ts","sourceRoot":"","sources":["../../src/helpers/inquirer.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,EAC3C,OAAO,GACR,EAAE;IACD,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,OAAO,CAAC,CAYnB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,OAAO,GACR,EAAE;IACD,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,CAalB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE;IACD,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBlB"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.inquirerAutoComplete = exports.inquirerConfirmText = exports.inquirerConfirmBoolean = void 0;
7
+ const inquirer_1 = __importDefault(require("inquirer"));
8
+ const inquirer_autocomplete_prompt_1 = __importDefault(require("inquirer-autocomplete-prompt"));
9
+ const requests_1 = require("../requests");
10
+ /**
11
+ * Inquirer confirm text
12
+ *
13
+ * @param options - Options
14
+ */
15
+ async function inquirerConfirmBoolean({ message, }) {
16
+ const { response } = await inquirer_1.default.prompt([
17
+ {
18
+ name: 'response',
19
+ message,
20
+ type: 'confirm',
21
+ },
22
+ ]);
23
+ return response;
24
+ }
25
+ exports.inquirerConfirmBoolean = inquirerConfirmBoolean;
26
+ /**
27
+ * Inquirer confirm text
28
+ *
29
+ * @param options - Options
30
+ */
31
+ async function inquirerConfirmText({ message, }) {
32
+ const { response } = await inquirer_1.default.prompt([
33
+ {
34
+ name: 'response',
35
+ message,
36
+ type: 'text',
37
+ validate: (x) => x.trim().length > 0,
38
+ },
39
+ ]);
40
+ return response;
41
+ }
42
+ exports.inquirerConfirmText = inquirerConfirmText;
43
+ /**
44
+ * Inquirer auto complete
45
+ *
46
+ * @param options - Options
47
+ */
48
+ async function inquirerAutoComplete({ defaultValue, values, message, }) {
49
+ inquirer_1.default.registerPrompt('autocomplete', inquirer_autocomplete_prompt_1.default);
50
+ const { response } = await inquirer_1.default.prompt([
51
+ {
52
+ name: 'response',
53
+ message,
54
+ type: 'autocomplete',
55
+ default: defaultValue,
56
+ source: (answersSoFar, input) => !input
57
+ ? values
58
+ : values.filter((x) => typeof x === 'string' && (0, requests_1.fuzzySearch)(input, x)),
59
+ },
60
+ ]);
61
+ return response;
62
+ }
63
+ exports.inquirerAutoComplete = inquirerAutoComplete;
64
+ //# sourceMappingURL=inquirer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inquirer.js","sourceRoot":"","sources":["../../src/helpers/inquirer.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAChC,gGAA8D;AAC9D,0CAA0C;AAG1C;;;;GAIG;AACI,KAAK,UAAU,sBAAsB,CAAC,EAC3C,OAAO,GAIR;IACC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAGvC;QACD;YACE,IAAI,EAAE,UAAU;YAChB,OAAO;YACP,IAAI,EAAE,SAAS;SAChB;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAjBD,wDAiBC;AAED;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CAAC,EACxC,OAAO,GAIR;IACC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAGvC;QACD;YACE,IAAI,EAAE,UAAU;YAChB,OAAO;YACP,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;SACrC;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAlBD,kDAkBC;AAED;;;;GAIG;AACI,KAAK,UAAU,oBAAoB,CAAC,EACzC,YAAY,EACZ,MAAM,EACN,OAAO,GAQR;IACC,kBAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,sCAAkB,CAAC,CAAC;IAC5D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAGvC;QACD;YACE,IAAI,EAAE,UAAU;YAChB,OAAO;YACP,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,CAAC,YAAyB,EAAE,KAAa,EAAE,EAAE,CACnD,CAAC,KAAK;gBACJ,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC,MAAM,CACX,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,IAAA,sBAAW,EAAC,KAAK,EAAE,CAAC,CAAC,CACtD;SACR;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AA/BD,oDA+BC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Parse variables from string
3
+ *
4
+ * @param variables - Variables as string
5
+ * @returns Variables as object
6
+ */
7
+ export declare function parseVariablesFromString(variables: string): {
8
+ [k in string]: string;
9
+ };
10
+ //# sourceMappingURL=parseVariablesFromString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseVariablesFromString.d.ts","sourceRoot":"","sources":["../../src/helpers/parseVariablesFromString.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG;KAC1D,CAAC,IAAI,MAAM,GAAG,MAAM;CACtB,CASA"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseVariablesFromString = void 0;
4
+ /**
5
+ * Parse variables from string
6
+ *
7
+ * @param variables - Variables as string
8
+ * @returns Variables as object
9
+ */
10
+ function parseVariablesFromString(variables) {
11
+ // Parse out the variables
12
+ const splitVars = variables.split(',').filter((x) => !!x);
13
+ const vars = {};
14
+ splitVars.forEach((variable) => {
15
+ const [k, v] = variable.split(':');
16
+ vars[k] = v;
17
+ });
18
+ return vars;
19
+ }
20
+ exports.parseVariablesFromString = parseVariablesFromString;
21
+ //# sourceMappingURL=parseVariablesFromString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseVariablesFromString.js","sourceRoot":"","sources":["../../src/helpers/parseVariablesFromString.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,SAAiB;IAGxD,0BAA0B;IAC1B,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,IAAI,GAA8B,EAAE,CAAC;IAC3C,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC7B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAXD,4DAWC"}
package/build/index.d.ts CHANGED
@@ -8,4 +8,5 @@ export * from './constants';
8
8
  export * from './graphql';
9
9
  export * from './cron';
10
10
  export * from './api-keys';
11
+ export * from './ai';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,wCAAwC,CAAC;AACvD,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,wCAAwC,CAAC;AACvD,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,MAAM,CAAC"}
package/build/index.js CHANGED
@@ -24,4 +24,5 @@ __exportStar(require("./constants"), exports);
24
24
  __exportStar(require("./graphql"), exports);
25
25
  __exportStar(require("./cron"), exports);
26
26
  __exportStar(require("./api-keys"), exports);
27
+ __exportStar(require("./ai"), exports);
27
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,sDAAoC;AACpC,yEAAuD;AACvD,yDAAuC;AACvC,6CAA2B;AAC3B,8CAA4B;AAC5B,4CAA0B;AAC1B,yCAAuB;AACvB,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,sDAAoC;AACpC,yEAAuD;AACvD,yDAAuC;AACvC,6CAA2B;AAC3B,8CAA4B;AAC5B,4CAA0B;AAC1B,yCAAuB;AACvB,6CAA2B;AAC3B,uCAAqB"}
package/build/logger.js CHANGED
@@ -11,7 +11,6 @@ const yargs_parser_1 = __importDefault(require("yargs-parser"));
11
11
  exports.logger = console;
12
12
  // When the proxy env var of flag is specified, initiate the proxy
13
13
  const { httpProxy = process.env.http_proxy } = (0, yargs_parser_1.default)(process.argv.slice(2));
14
- exports.logger.info(colors_1.default.magenta(`Got httpProxy parameter of '${httpProxy}'`));
15
14
  if (httpProxy) {
16
15
  exports.logger.info(colors_1.default.green(`Initializing proxy: ${httpProxy}`));
17
16
  // Use global-agent, which overrides `request` based requests
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,+CAAyC;AACzC,mCAAyD;AACzD,gEAAiC;AAEpB,QAAA,MAAM,GAAG,OAAO,CAAC;AAE9B,kEAAkE;AAClE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,IAAA,sBAAK,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,cAAM,CAAC,IAAI,CAAC,gBAAM,CAAC,OAAO,CAAC,+BAA+B,SAAS,GAAG,CAAC,CAAC,CAAC;AACzE,IAAI,SAAS,EAAE;IACb,cAAM,CAAC,IAAI,CAAC,gBAAM,CAAC,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC,CAAC;IAE9D,6DAA6D;IAC7D,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAChD,IAAA,wBAAS,GAAE,CAAC;IAEZ,qDAAqD;IACrD,IAAA,4BAAmB,EAAC,IAAI,mBAAU,CAAC,SAAS,CAAC,CAAC,CAAC;CAChD"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,+CAAyC;AACzC,mCAAyD;AACzD,gEAAiC;AAEpB,QAAA,MAAM,GAAG,OAAO,CAAC;AAE9B,kEAAkE;AAClE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,IAAA,sBAAK,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,IAAI,SAAS,EAAE;IACb,cAAM,CAAC,IAAI,CAAC,gBAAM,CAAC,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC,CAAC;IAE9D,6DAA6D;IAC7D,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAChD,IAAA,wBAAS,GAAE,CAAC;IAEZ,qDAAqD;IACrD,IAAA,4BAAmB,EAAC,IAAI,mBAAU,CAAC,SAAS,CAAC,CAAC,CAAC;CAChD"}
@@ -5542,9 +5542,9 @@ export declare const CachedFileState: t.TypeC<{
5542
5542
  }>>;
5543
5543
  /** Mapping between request status in import to Transcend request status */
5544
5544
  statusToRequestStatus: t.RecordC<t.StringC, t.KeyofC<{
5545
- CANCELED: unknown;
5546
5545
  FAILED_VERIFICATION: unknown;
5547
5546
  COMPLETED: unknown;
5547
+ CANCELED: unknown;
5548
5548
  SECONDARY_COMPLETED: unknown;
5549
5549
  REVOKED: unknown;
5550
5550
  "[NONE]": unknown;
@@ -0,0 +1,32 @@
1
+ import { RequestIdentifier, PrivacyRequest } from '../graphql';
2
+ import { RequestAction, RequestStatus } from '@transcend-io/privacy-types';
3
+ export interface ExportedPrivacyRequest extends PrivacyRequest {
4
+ /** Request identifiers */
5
+ requestIdentifiers: RequestIdentifier[];
6
+ }
7
+ /**
8
+ * Pull the set of cron job requests to CSV
9
+ *
10
+ * @param options - Options
11
+ */
12
+ export declare function pullRequestsToCsv({ file, auth, actions, statuses, pageLimit, transcendUrl, createdAtBefore, createdAtAfter, showTests, }: {
13
+ /** CSV file path */
14
+ file: string;
15
+ /** Transcend API key authentication */
16
+ auth: string;
17
+ /** API URL for Transcend backend */
18
+ transcendUrl?: string;
19
+ /** Statuses to filter on */
20
+ statuses?: RequestStatus[];
21
+ /** The request action to fetch */
22
+ actions?: RequestAction[];
23
+ /** Page limit when fetching requests */
24
+ pageLimit?: number;
25
+ /** Filter for requests created before this date */
26
+ createdAtBefore?: Date;
27
+ /** Filter for requests created after this date */
28
+ createdAtAfter?: Date;
29
+ /** Return test requests */
30
+ showTests?: boolean;
31
+ }): Promise<ExportedPrivacyRequest[]>;
32
+ //# sourceMappingURL=pullRequestsToCsv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pullRequestsToCsv.d.ts","sourceRoot":"","sources":["../../src/requests/pullRequestsToCsv.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EACjB,cAAc,EAEf,MAAM,YAAY,CAAC;AAKpB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK3E,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,0BAA0B;IAC1B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACzC;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,IAAI,EACJ,IAAI,EACJ,OAAY,EACZ,QAAa,EACb,SAAe,EACf,YAAoC,EACpC,eAAe,EACf,cAAc,EACd,SAAS,GACV,EAAE;IACD,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,kCAAkC;IAClC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,kDAAkD;IAClD,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAsHpC"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.pullRequestsToCsv = void 0;
7
+ const graphql_1 = require("../graphql");
8
+ const colors_1 = __importDefault(require("colors"));
9
+ const bluebird_1 = require("bluebird");
10
+ const uniq_1 = __importDefault(require("lodash/uniq"));
11
+ const groupBy_1 = __importDefault(require("lodash/groupBy"));
12
+ const writeCsv_1 = require("../cron/writeCsv");
13
+ const logger_1 = require("../logger");
14
+ const constants_1 = require("../constants");
15
+ /**
16
+ * Pull the set of cron job requests to CSV
17
+ *
18
+ * @param options - Options
19
+ */
20
+ async function pullRequestsToCsv({ file, auth, actions = [], statuses = [], pageLimit = 100, transcendUrl = constants_1.DEFAULT_TRANSCEND_API, createdAtBefore, createdAtAfter, showTests, }) {
21
+ // Find all requests made before createdAt that are in a removing data state
22
+ const client = (0, graphql_1.buildTranscendGraphQLClient)(transcendUrl, auth);
23
+ // Log date range
24
+ let dateRange = '';
25
+ if (createdAtBefore) {
26
+ dateRange += ` before ${createdAtBefore.toISOString()}`;
27
+ }
28
+ if (createdAtAfter) {
29
+ dateRange += `${dateRange ? ', and' : ''} after ${createdAtAfter.toISOString()}`;
30
+ }
31
+ // Log out
32
+ logger_1.logger.info(colors_1.default.magenta(`${actions.length > 0
33
+ ? `Pulling requests of type "${actions.join(',')}"`
34
+ : 'Pulling all requests'}${dateRange}`));
35
+ // fetch the requests
36
+ const requests = await (0, graphql_1.fetchAllRequests)(client, {
37
+ actions,
38
+ statuses,
39
+ createdAtBefore,
40
+ createdAtAfter,
41
+ showTests,
42
+ });
43
+ // Fetch the request identifiers for those requests
44
+ const requestsWithRequestIdentifiers = await (0, bluebird_1.map)(requests, async (request) => {
45
+ const requestIdentifiers = await (0, graphql_1.fetchAllRequestIdentifiers)(client, {
46
+ requestId: request.id,
47
+ });
48
+ return {
49
+ ...request,
50
+ requestIdentifiers,
51
+ };
52
+ }, {
53
+ concurrency: pageLimit,
54
+ });
55
+ logger_1.logger.info(colors_1.default.magenta(`Pulled ${requestsWithRequestIdentifiers.length} requests`));
56
+ // Write out to CSV
57
+ const data = requestsWithRequestIdentifiers.map(({ attributeValues, requestIdentifiers, id, email, type, status, subjectType, details, createdAt, country, locale, origin, countrySubDivision, isSilent, isTest, coreIdentifier, ...request }) => ({
58
+ 'Request ID': id,
59
+ 'Created At': createdAt,
60
+ Email: email,
61
+ 'Core Identifier': coreIdentifier,
62
+ 'Request Type': type,
63
+ 'Data Subject Type': subjectType,
64
+ Status: status,
65
+ Country: country,
66
+ 'Country Sub Division': countrySubDivision,
67
+ Details: details,
68
+ Origin: origin,
69
+ 'Silent Mode': isSilent,
70
+ 'Is Test Request': isTest,
71
+ Language: locale,
72
+ ...request,
73
+ ...Object.entries((0, groupBy_1.default)(attributeValues, 'attributeKey.name')).reduce((acc, [name, values]) => Object.assign(acc, {
74
+ [name]: values.map(({ name }) => name).join(','),
75
+ }), {}),
76
+ ...Object.entries((0, groupBy_1.default)(requestIdentifiers, 'name')).reduce((acc, [name, values]) => Object.assign(acc, {
77
+ [name]: values.map(({ value }) => value).join(','),
78
+ }), {}),
79
+ }));
80
+ const headers = (0, uniq_1.default)(data.map((d) => Object.keys(d)).flat());
81
+ (0, writeCsv_1.writeCsv)(file, data, headers);
82
+ logger_1.logger.info(colors_1.default.green(`Successfully wrote ${requests.length} requests to file "${file}"`));
83
+ return requestsWithRequestIdentifiers;
84
+ }
85
+ exports.pullRequestsToCsv = pullRequestsToCsv;
86
+ //# sourceMappingURL=pullRequestsToCsv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pullRequestsToCsv.js","sourceRoot":"","sources":["../../src/requests/pullRequestsToCsv.ts"],"names":[],"mappings":"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"}
@@ -6,19 +6,19 @@ export declare const PrivacyRequestResponse: t.TypeC<{
6
6
  id: t.StringC;
7
7
  link: t.StringC;
8
8
  status: t.KeyofC<{
9
- CANCELED: unknown;
10
- ON_HOLD: unknown;
9
+ COMPILING: unknown;
10
+ SECONDARY: unknown;
11
11
  REQUEST_MADE: unknown;
12
12
  FAILED_VERIFICATION: unknown;
13
13
  ENRICHING: unknown;
14
+ ON_HOLD: unknown;
14
15
  WAITING: unknown;
15
- COMPILING: unknown;
16
16
  APPROVING: unknown;
17
17
  DELAYED: unknown;
18
18
  COMPLETED: unknown;
19
19
  DOWNLOADABLE: unknown;
20
20
  VIEW_CATEGORIES: unknown;
21
- SECONDARY: unknown;
21
+ CANCELED: unknown;
22
22
  SECONDARY_COMPLETED: unknown;
23
23
  SECONDARY_APPROVING: unknown;
24
24
  REVOKED: unknown;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getVariablesFromHandlebars.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVariablesFromHandlebars.test.d.ts","sourceRoot":"","sources":["../../src/tests/getVariablesFromHandlebars.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const getVariablesFromHandlebarsTemplate_1 = require("../helpers/getVariablesFromHandlebarsTemplate");
5
+ const TEST_HBS = `
6
+ <p>
7
+ You are an experienced project manager, constantly juggling a variety of different tasks.
8
+ Other employees at your company are very busy.
9
+ They quickly record notes in slack of things that they want to look into later.
10
+ You are tasked with reviewing those raw notes, and turning them into a structured
11
+ form that will make the notes more easily indexable by the employee when they have more time to review the information.
12
+ {{{ description }}}. Return a JSON object in the following format:
13
+
14
+ ({{#each parameters}}{{ name }} - {{slug}}, {{/each}}clarification).
15
+ </p>
16
+
17
+
18
+ {{#with dog}}{{cat}} - {{fish}}{{/with}}
19
+
20
+ <p>
21
+ The following rules define each of the input parameters:
22
+ <ul>
23
+ {{#each parameters}}
24
+ <li>{{ name }}: {{{ description }}}</li>
25
+ {{/each}}
26
+ </ul>
27
+ </p>
28
+
29
+ {{#with dog}} {{meow}}{{/with}}
30
+
31
+ <p>
32
+ If any of the parameters are not known, it should be set to null.
33
+ If anything is not clear, return a prompt in the clarification key of the response asking for further detail
34
+ </p>`;
35
+ describe('getVariablesFromHandlebars', () => {
36
+ it('should merge together', () => {
37
+ (0, chai_1.expect)((0, getVariablesFromHandlebarsTemplate_1.getVariablesFromHandlebarsTemplate)(TEST_HBS)).to.deep.equal({
38
+ description: null,
39
+ parameters: [{ name: null, slug: null, description: null }],
40
+ dog: { cat: null, fish: null, meow: null },
41
+ });
42
+ });
43
+ });
44
+ //# sourceMappingURL=getVariablesFromHandlebars.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVariablesFromHandlebars.test.js","sourceRoot":"","sources":["../../src/tests/getVariablesFromHandlebars.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAE9B,sGAAmG;AAEnG,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6BZ,CAAC;AAEN,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,IAAA,aAAM,EAAC,IAAA,uEAAkC,EAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACjE,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC3D,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}