@transcend-io/cli 4.94.0 → 4.95.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -0
- package/build/cli-create-assessment.d.ts +3 -0
- package/build/cli-create-assessment.d.ts.map +1 -0
- package/build/cli-create-assessment.js +162 -0
- package/build/cli-create-assessment.js.map +1 -0
- package/build/cli-push.js +9 -9
- package/build/cli-push.js.map +1 -1
- package/build/codecs.d.ts +6 -4
- package/build/codecs.d.ts.map +1 -1
- package/build/codecs.js +12 -8
- package/build/codecs.js.map +1 -1
- package/build/graphql/gqls/assessment.d.ts.map +1 -1
- package/build/graphql/gqls/assessment.js +3 -0
- package/build/graphql/gqls/assessment.js.map +1 -1
- package/build/graphql/syncAssessmentTemplates.d.ts +7 -2
- package/build/graphql/syncAssessmentTemplates.d.ts.map +1 -1
- package/build/graphql/syncAssessmentTemplates.js +3 -2
- package/build/graphql/syncAssessmentTemplates.js.map +1 -1
- package/build/graphql/syncAssessments.d.ts +27 -0
- package/build/graphql/syncAssessments.d.ts.map +1 -1
- package/build/graphql/syncAssessments.js +40 -15
- package/build/graphql/syncAssessments.js.map +1 -1
- package/build/graphql/syncConfigurationToTranscend.d.ts +3 -1
- package/build/graphql/syncConfigurationToTranscend.d.ts.map +1 -1
- package/build/graphql/syncConfigurationToTranscend.js +2 -2
- package/build/graphql/syncConfigurationToTranscend.js.map +1 -1
- package/build/helpers/getVariablesFromHandlebarsTemplate.d.ts +10 -0
- package/build/helpers/getVariablesFromHandlebarsTemplate.d.ts.map +1 -0
- package/build/helpers/getVariablesFromHandlebarsTemplate.js +99 -0
- package/build/helpers/getVariablesFromHandlebarsTemplate.js.map +1 -0
- package/build/helpers/inquirer.d.ts +32 -0
- package/build/helpers/inquirer.d.ts.map +1 -0
- package/build/helpers/inquirer.js +64 -0
- package/build/helpers/inquirer.js.map +1 -0
- package/build/helpers/parseVariablesFromString.d.ts +10 -0
- package/build/helpers/parseVariablesFromString.d.ts.map +1 -0
- package/build/helpers/parseVariablesFromString.js +21 -0
- package/build/helpers/parseVariablesFromString.js.map +1 -0
- package/build/logger.js +0 -1
- package/build/logger.js.map +1 -1
- package/build/tests/getVariablesFromHandlebars.test.d.ts +2 -0
- package/build/tests/getVariablesFromHandlebars.test.d.ts.map +1 -0
- package/build/tests/getVariablesFromHandlebars.test.js +44 -0
- package/build/tests/getVariablesFromHandlebars.test.js.map +1 -0
- package/build/tsbuildinfo +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -114,6 +114,10 @@
|
|
|
114
114
|
- [Arguments](#arguments-25)
|
|
115
115
|
- [Usage](#usage-26)
|
|
116
116
|
- [Proxy usage](#proxy-usage)
|
|
117
|
+
- [tr-create-assessment](#tr-create-assessment)
|
|
118
|
+
- [Authentication](#authentication-26)
|
|
119
|
+
- [Arguments](#arguments-26)
|
|
120
|
+
- [Usage](#usage-27)
|
|
117
121
|
|
|
118
122
|
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
|
119
123
|
|
|
@@ -157,6 +161,7 @@ yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY
|
|
|
157
161
|
yarn tr-upload-cookies-from-csv --auth=$TRANSCEND_API_KEY
|
|
158
162
|
yarn tr-generate-api-keys --auth=$TRANSCEND_API_KEY
|
|
159
163
|
yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY
|
|
164
|
+
yarn tr-create-assessment --auth=$TRANSCEND_API_KEY
|
|
160
165
|
```
|
|
161
166
|
|
|
162
167
|
or
|
|
@@ -190,6 +195,7 @@ tr-derive-data-silos-from-data-flows-cross-instance --auth=$TRANSCEND_API_KEY
|
|
|
190
195
|
tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY
|
|
191
196
|
tr-generate-api-keys --auth=$TRANSCEND_API_KEY
|
|
192
197
|
tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY
|
|
198
|
+
tr-create-assessment --auth=$TRANSCEND_API_KEY
|
|
193
199
|
|
|
194
200
|
```
|
|
195
201
|
|
|
@@ -2100,3 +2106,46 @@ yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY --xdiLocation=https://
|
|
|
2100
2106
|
## Proxy usage
|
|
2101
2107
|
|
|
2102
2108
|
If you are trying to use the cli inside a corporate firewall and need to send traffic through a proxy, you can do so via the `http_proxy` environment variable or the `--httpProxy` flag, with a command like `yarn tr-pull --auth=$TRANSCEND_API_KEY --httpProxy="http://localhost:5051"`.
|
|
2109
|
+
|
|
2110
|
+
### tr-create-assessment
|
|
2111
|
+
|
|
2112
|
+
This command allows for creating a new assessment form an assessment template.
|
|
2113
|
+
|
|
2114
|
+
Assessment templates can be managed here: https://app.transcend.io/assessments/templates
|
|
2115
|
+
|
|
2116
|
+
#### Authentication
|
|
2117
|
+
|
|
2118
|
+
In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys) or by using the `yarn tr-generate-api-keys` command above.
|
|
2119
|
+
|
|
2120
|
+
The API key must have the following scopes:
|
|
2121
|
+
|
|
2122
|
+
- "Manage Assessments"
|
|
2123
|
+
|
|
2124
|
+
#### Arguments
|
|
2125
|
+
|
|
2126
|
+
| Argument | Description | Type | Default | Required |
|
|
2127
|
+
| --------- | ---------------------------------------------------------------- | ------ | -------------- | -------- |
|
|
2128
|
+
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2129
|
+
| template | The title of the assessment template | string | N/A - Prompted | false |
|
|
2130
|
+
| title | The title of the new assessment | string | N/A - Prompted | false |
|
|
2131
|
+
| variables | Additional template variables to pre-fill the template | string | N/A - Prompted | false |
|
|
2132
|
+
|
|
2133
|
+
#### Usage
|
|
2134
|
+
|
|
2135
|
+
Create a new assessment, filling out more information by being prompted by the terminal line
|
|
2136
|
+
|
|
2137
|
+
```sh
|
|
2138
|
+
yarn tr-create-assessment --auth=$TRANSCEND_API_KEY
|
|
2139
|
+
```
|
|
2140
|
+
|
|
2141
|
+
Specifying the template and title
|
|
2142
|
+
|
|
2143
|
+
```sh
|
|
2144
|
+
yarn tr-create-assessment --auth=$TRANSCEND_API_KEY --title="Test" --template="[AI Prompt] Product Manager Notes Parsing"
|
|
2145
|
+
```
|
|
2146
|
+
|
|
2147
|
+
Configuring additional variables:
|
|
2148
|
+
|
|
2149
|
+
```sh
|
|
2150
|
+
yarn tr-create-assessment --auth=$TRANSCEND_API_KEY --title="Test" --template="[AI Prompt] Product Manager Notes Parsing" --variables=description:"testt test"
|
|
2151
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-create-assessment.d.ts","sourceRoot":"","sources":["../src/cli-create-assessment.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const handlebars_1 = __importDefault(require("handlebars"));
|
|
8
|
+
const yargs_parser_1 = __importDefault(require("yargs-parser"));
|
|
9
|
+
const colors_1 = __importDefault(require("colors"));
|
|
10
|
+
const logger_1 = require("./logger");
|
|
11
|
+
const constants_1 = require("./constants");
|
|
12
|
+
const fetchAssessmentTemplates_1 = require("./graphql/fetchAssessmentTemplates");
|
|
13
|
+
const graphql_1 = require("./graphql");
|
|
14
|
+
const getVariablesFromHandlebarsTemplate_1 = require("./helpers/getVariablesFromHandlebarsTemplate");
|
|
15
|
+
const bluebird_1 = require("bluebird");
|
|
16
|
+
const inquirer_1 = require("./helpers/inquirer");
|
|
17
|
+
const parseVariablesFromString_1 = require("./helpers/parseVariablesFromString");
|
|
18
|
+
const syncAssessments_1 = require("./graphql/syncAssessments");
|
|
19
|
+
/**
|
|
20
|
+
* Create a new assessment from an assessment template
|
|
21
|
+
*
|
|
22
|
+
* Requires scopes:
|
|
23
|
+
* - Manage Assessments
|
|
24
|
+
*
|
|
25
|
+
* Dev Usage:
|
|
26
|
+
* yarn ts-node ./src/cli-create-assessment.ts --auth=$TRANSCEND_API_KEY \
|
|
27
|
+
* --template="Product Manager JSON AI Prompt Template
|
|
28
|
+
* --title="Determine Product Line"
|
|
29
|
+
*
|
|
30
|
+
* Standard usage:
|
|
31
|
+
* yarn tr-create-assessment --auth=$TRANSCEND_API_KEY \
|
|
32
|
+
* --template="Product Manager JSON AI Prompt Template
|
|
33
|
+
* --title="Determine Product Line"
|
|
34
|
+
*/
|
|
35
|
+
async function main() {
|
|
36
|
+
// Parse command line arguments
|
|
37
|
+
const {
|
|
38
|
+
/** Transcend Backend URL */
|
|
39
|
+
transcendUrl = constants_1.DEFAULT_TRANSCEND_API,
|
|
40
|
+
/** API key */
|
|
41
|
+
auth,
|
|
42
|
+
/** The name of the assessment template to use */
|
|
43
|
+
template = '',
|
|
44
|
+
/** The title of the new template */
|
|
45
|
+
title = '',
|
|
46
|
+
/** Other variables to template */
|
|
47
|
+
variables = '', } = (0, yargs_parser_1.default)(process.argv.slice(2));
|
|
48
|
+
// Ensure auth is passed
|
|
49
|
+
if (!auth) {
|
|
50
|
+
logger_1.logger.error(colors_1.default.red('A Transcend API key must be provided. You can specify using --auth=$TRANSCEND_API_KEY'));
|
|
51
|
+
process.exit(1);
|
|
52
|
+
}
|
|
53
|
+
// Validate title, if not provided prompt user
|
|
54
|
+
let templateTitle = title;
|
|
55
|
+
if (!templateTitle) {
|
|
56
|
+
templateTitle = await (0, inquirer_1.inquirerConfirmText)({
|
|
57
|
+
message: 'What should be the title of the new template?',
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
// Validate template
|
|
61
|
+
const client = (0, graphql_1.buildTranscendGraphQLClient)(transcendUrl, auth);
|
|
62
|
+
const assessmentTemplates = await (0, fetchAssessmentTemplates_1.fetchAllAssessmentTemplates)(client);
|
|
63
|
+
const validTitles = assessmentTemplates.map(({ title }) => title);
|
|
64
|
+
// If provided, ensure valid
|
|
65
|
+
if (template && !validTitles.includes(template)) {
|
|
66
|
+
throw new Error(`Invalid template "${template}", expected one of: ${validTitles.join(', ')}`);
|
|
67
|
+
}
|
|
68
|
+
// Prompt user if not provided
|
|
69
|
+
let selectedTemplate = template;
|
|
70
|
+
if (!selectedTemplate) {
|
|
71
|
+
selectedTemplate = await (0, inquirer_1.inquirerAutoComplete)({
|
|
72
|
+
message: 'Select assessment template',
|
|
73
|
+
values: validTitles,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
// Get the assessment template
|
|
77
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
78
|
+
const assessmentTemplate = assessmentTemplates.find((template) => template.title === selectedTemplate);
|
|
79
|
+
logger_1.logger.info(colors_1.default.magenta(`\n\n~~~~Formatting template~~~~~\n\n${assessmentTemplate.content}`));
|
|
80
|
+
// Parse out the variables
|
|
81
|
+
const vars = (0, parseVariablesFromString_1.parseVariablesFromString)(variables);
|
|
82
|
+
// Pull the variables out of the template
|
|
83
|
+
const schema = (0, getVariablesFromHandlebarsTemplate_1.getVariablesFromHandlebarsTemplate)(assessmentTemplate.content);
|
|
84
|
+
const results = {};
|
|
85
|
+
await (0, bluebird_1.mapSeries)(Object.entries(schema), async ([variable, type]) => {
|
|
86
|
+
// Format from cli option
|
|
87
|
+
if (vars[variable]) {
|
|
88
|
+
logger_1.logger.info(colors_1.default.white(`[${variable}] Using cli provided variable for "${variable}": ${vars[variable]}`));
|
|
89
|
+
results[variable] =
|
|
90
|
+
type && typeof type === 'object'
|
|
91
|
+
? JSON.parse(vars[variable])
|
|
92
|
+
: vars[variable];
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
// Handle Arrays
|
|
96
|
+
if (Array.isArray(type)) {
|
|
97
|
+
const [first] = type;
|
|
98
|
+
const result = [];
|
|
99
|
+
/* eslint-disable no-await-in-loop */
|
|
100
|
+
while (await (0, inquirer_1.inquirerConfirmBoolean)({
|
|
101
|
+
message: `[${variable}[${result.length}]] Add new entry?`,
|
|
102
|
+
})) {
|
|
103
|
+
const datum = {};
|
|
104
|
+
await (0, bluebird_1.mapSeries)(Object.keys(first), async (k) => {
|
|
105
|
+
const data = await (0, inquirer_1.inquirerConfirmText)({
|
|
106
|
+
message: `[${variable}[${result.length}].${k}]:`,
|
|
107
|
+
});
|
|
108
|
+
datum[k] = data;
|
|
109
|
+
});
|
|
110
|
+
result.push(datum);
|
|
111
|
+
}
|
|
112
|
+
/* eslint-enable no-await-in-loop */
|
|
113
|
+
if (result.length > 0) {
|
|
114
|
+
results[variable] = result;
|
|
115
|
+
}
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
// Handle object
|
|
119
|
+
if (type && typeof type === 'object') {
|
|
120
|
+
const shouldRun = await (0, inquirer_1.inquirerConfirmBoolean)({
|
|
121
|
+
message: `[${variable}] Define object?[y/n]`,
|
|
122
|
+
});
|
|
123
|
+
if (shouldRun) {
|
|
124
|
+
const datum = {};
|
|
125
|
+
await (0, bluebird_1.mapSeries)(Object.keys(type), async (k) => {
|
|
126
|
+
const data = await (0, inquirer_1.inquirerConfirmText)({
|
|
127
|
+
message: `[${variable}.${k}]:`,
|
|
128
|
+
});
|
|
129
|
+
datum[k] = data;
|
|
130
|
+
});
|
|
131
|
+
results[variable] = datum;
|
|
132
|
+
}
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
// Prompt user
|
|
136
|
+
const result = await (0, inquirer_1.inquirerConfirmText)({
|
|
137
|
+
message: `[${variable}] Fill variable. Type "n" to skip`,
|
|
138
|
+
});
|
|
139
|
+
if (result !== 'n') {
|
|
140
|
+
results[variable] = result;
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
// Create new assessment
|
|
144
|
+
const content = handlebars_1.default
|
|
145
|
+
.compile(assessmentTemplate.content)(results)
|
|
146
|
+
// remove empty lines
|
|
147
|
+
.split('\n')
|
|
148
|
+
.filter((x) => x.trim().length > 0)
|
|
149
|
+
.join('\n');
|
|
150
|
+
// Create the assessment
|
|
151
|
+
const assessmentId = await (0, syncAssessments_1.createAssessment)(client, {
|
|
152
|
+
title: templateTitle,
|
|
153
|
+
assessmentTemplateId: assessmentTemplate.id,
|
|
154
|
+
});
|
|
155
|
+
await (0, syncAssessments_1.updateAssessment)(client, {
|
|
156
|
+
id: assessmentId,
|
|
157
|
+
content,
|
|
158
|
+
});
|
|
159
|
+
logger_1.logger.info(colors_1.default.green(`View assessment at https://app.transcend.io/assessments/view/${assessmentId}`));
|
|
160
|
+
}
|
|
161
|
+
main();
|
|
162
|
+
//# sourceMappingURL=cli-create-assessment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-create-assessment.js","sourceRoot":"","sources":["../src/cli-create-assessment.ts"],"names":[],"mappings":"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"}
|
package/build/cli-push.js
CHANGED
|
@@ -15,17 +15,18 @@ const graphql_1 = require("./graphql");
|
|
|
15
15
|
const constants_1 = require("./constants");
|
|
16
16
|
const api_keys_1 = require("./api-keys");
|
|
17
17
|
const mergeTranscendInputs_1 = require("./mergeTranscendInputs");
|
|
18
|
+
const parseVariablesFromString_1 = require("./helpers/parseVariablesFromString");
|
|
18
19
|
/**
|
|
19
20
|
* Sync configuration to Transcend
|
|
20
21
|
*
|
|
21
22
|
* @param options - Options
|
|
22
23
|
* @returns True if synced successfully, false if error occurs
|
|
23
24
|
*/
|
|
24
|
-
async function syncConfiguration({ transcendUrl, auth, pageSize, publishToPrivacyCenter, contents, classifyService = false, }) {
|
|
25
|
+
async function syncConfiguration({ transcendUrl, auth, pageSize, publishToPrivacyCenter, contents, creatorId, classifyService = false, }) {
|
|
25
26
|
const client = (0, graphql_1.buildTranscendGraphQLClient)(transcendUrl, auth);
|
|
26
27
|
// Sync to Transcend
|
|
27
28
|
try {
|
|
28
|
-
const encounteredError = await (0, graphql_1.syncConfigurationToTranscend)(contents, client, { pageSize, publishToPrivacyCenter, classifyService });
|
|
29
|
+
const encounteredError = await (0, graphql_1.syncConfigurationToTranscend)(contents, client, { pageSize, publishToPrivacyCenter, classifyService, creatorId });
|
|
29
30
|
return !encounteredError;
|
|
30
31
|
}
|
|
31
32
|
catch (err) {
|
|
@@ -44,16 +45,13 @@ async function syncConfiguration({ transcendUrl, auth, pageSize, publishToPrivac
|
|
|
44
45
|
*/
|
|
45
46
|
async function main() {
|
|
46
47
|
// Parse command line arguments
|
|
47
|
-
const { file = './transcend.yml', transcendUrl = constants_1.DEFAULT_TRANSCEND_API, auth, variables = '', pageSize = '', publishToPrivacyCenter, classifyService = '',
|
|
48
|
+
const { file = './transcend.yml', transcendUrl = constants_1.DEFAULT_TRANSCEND_API, auth, variables = '', pageSize = '', publishToPrivacyCenter, classifyService = '',
|
|
49
|
+
/** Creator ID of user for assessment templates TODO: https://transcend.height.app/T-29850 */
|
|
50
|
+
creatorId = '', } = (0, yargs_parser_1.default)(process.argv.slice(2));
|
|
48
51
|
// Parse authentication as API key or path to list of API keys
|
|
49
52
|
const apiKeyOrList = await (0, api_keys_1.validateTranscendAuth)(auth);
|
|
50
53
|
// Parse out the variables
|
|
51
|
-
const
|
|
52
|
-
const vars = {};
|
|
53
|
-
splitVars.forEach((variable) => {
|
|
54
|
-
const [k, v] = variable.split(':');
|
|
55
|
-
vars[k] = v;
|
|
56
|
-
});
|
|
54
|
+
const vars = (0, parseVariablesFromString_1.parseVariablesFromString)(variables);
|
|
57
55
|
// check if we are being passed a list of API keys and a list of files
|
|
58
56
|
let fileList;
|
|
59
57
|
if (Array.isArray(apiKeyOrList) && (0, fs_1.lstatSync)(file).isDirectory()) {
|
|
@@ -107,6 +105,7 @@ async function main() {
|
|
|
107
105
|
publishToPrivacyCenter: publishToPrivacyCenter === 'true',
|
|
108
106
|
pageSize: parsedPageSize,
|
|
109
107
|
classifyService: !!classifyService,
|
|
108
|
+
creatorId,
|
|
110
109
|
});
|
|
111
110
|
// exist with error code
|
|
112
111
|
if (!success) {
|
|
@@ -143,6 +142,7 @@ async function main() {
|
|
|
143
142
|
pageSize: parsedPageSize,
|
|
144
143
|
publishToPrivacyCenter: publishToPrivacyCenter === 'true',
|
|
145
144
|
classifyService: !!classifyService,
|
|
145
|
+
creatorId,
|
|
146
146
|
});
|
|
147
147
|
if (success) {
|
|
148
148
|
logger_1.logger.info(colors_1.default.green(`${prefix}Successfully pushed configuration!`));
|
package/build/cli-push.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-push.js","sourceRoot":"","sources":["../src/cli-push.ts"],"names":[],"mappings":";;;;;;AAEA,gEAAiC;AACjC,qCAAkC;AAClC,uCAAqC;AACrC,2BAA2C;AAC3C,+BAA4B;AAC5B,2DAAwD;AACxD,oDAA4B;AAC5B,uCAGmB;AAEnB,2CAA6E;
|
|
1
|
+
{"version":3,"file":"cli-push.js","sourceRoot":"","sources":["../src/cli-push.ts"],"names":[],"mappings":"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"}
|
package/build/codecs.d.ts
CHANGED
|
@@ -5644,14 +5644,15 @@ export type Attributes = t.TypeOf<typeof Attributes>;
|
|
|
5644
5644
|
/**
|
|
5645
5645
|
* AssessmentTemplate type definition.
|
|
5646
5646
|
*/
|
|
5647
|
-
export declare const AssessmentTemplateInput: t.TypeC<{
|
|
5647
|
+
export declare const AssessmentTemplateInput: t.IntersectionC<[t.TypeC<{
|
|
5648
5648
|
/** The title of the assessment template. */
|
|
5649
5649
|
title: t.StringC;
|
|
5650
5650
|
/** The content of the assessment template. */
|
|
5651
5651
|
content: t.StringC;
|
|
5652
|
+
}>, t.PartialC<{
|
|
5652
5653
|
/** Attribute keys related to the assessment template. */
|
|
5653
5654
|
attributeKeys: t.ArrayC<t.StringC>;
|
|
5654
|
-
}>;
|
|
5655
|
+
}>]>;
|
|
5655
5656
|
/**
|
|
5656
5657
|
* Type override
|
|
5657
5658
|
*/
|
|
@@ -74163,14 +74164,15 @@ export declare const TranscendInput: t.PartialC<{
|
|
|
74163
74164
|
/**
|
|
74164
74165
|
* Assessment template definitions
|
|
74165
74166
|
*/
|
|
74166
|
-
'assessment-templates': t.ArrayC<t.TypeC<{
|
|
74167
|
+
'assessment-templates': t.ArrayC<t.IntersectionC<[t.TypeC<{
|
|
74167
74168
|
/** The title of the assessment template. */
|
|
74168
74169
|
title: t.StringC;
|
|
74169
74170
|
/** The content of the assessment template. */
|
|
74170
74171
|
content: t.StringC;
|
|
74172
|
+
}>, t.PartialC<{
|
|
74171
74173
|
/** Attribute keys related to the assessment template. */
|
|
74172
74174
|
attributeKeys: t.ArrayC<t.StringC>;
|
|
74173
|
-
}>>;
|
|
74175
|
+
}>]>>;
|
|
74174
74176
|
/**
|
|
74175
74177
|
* Consent manager definition
|
|
74176
74178
|
*/
|