@netforbpo/aws-cdk-aws-connect-lib 0.2.1

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.
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.StorageConfig = exports.StorageConfigType = exports.StorageEncryptionType = exports.StorageResourceType = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ var StorageResourceType;
7
+ (function (StorageResourceType) {
8
+ StorageResourceType["CHAT_TRANSCRIPTS"] = "CHAT_TRANSCRIPTS";
9
+ StorageResourceType["CALL_RECORDINGS"] = "CALL_RECORDINGS";
10
+ StorageResourceType["SCHEDULED_REPORTS"] = "SCHEDULED_REPORTS";
11
+ StorageResourceType["MEDIA_STREAMS"] = "MEDIA_STREAMS";
12
+ StorageResourceType["CONTACT_TRACE_RECORDS"] = "CONTACT_TRACE_RECORDS";
13
+ StorageResourceType["AGENT_EVENTS"] = "AGENT_EVENTS";
14
+ })(StorageResourceType || (exports.StorageResourceType = StorageResourceType = {}));
15
+ var StorageEncryptionType;
16
+ (function (StorageEncryptionType) {
17
+ StorageEncryptionType["KMS"] = "KMS";
18
+ })(StorageEncryptionType || (exports.StorageEncryptionType = StorageEncryptionType = {}));
19
+ var StorageConfigType;
20
+ (function (StorageConfigType) {
21
+ StorageConfigType["S3_BUCKET"] = "S3_BUCKET";
22
+ StorageConfigType["KINESIS_VIDEO_STREAM"] = "KINESIS_VIDEO_STREAM";
23
+ StorageConfigType["KINESIS_STREAM"] = "KINESIS_STREAM";
24
+ StorageConfigType["KINESIS_FIREHOSE"] = "KINESIS_FIREHOSE";
25
+ })(StorageConfigType || (exports.StorageConfigType = StorageConfigType = {}));
26
+ class StorageConfig {
27
+ static buildS3(resourceType, props) {
28
+ return new StorageConfig({
29
+ resourceType,
30
+ storageType: StorageConfigType.S3_BUCKET,
31
+ s3Config: props,
32
+ });
33
+ }
34
+ static buildKinesisVideoStream(resourceType, props) {
35
+ return new StorageConfig({
36
+ resourceType,
37
+ storageType: StorageConfigType.KINESIS_VIDEO_STREAM,
38
+ kinesisVideoStreamConfig: props,
39
+ });
40
+ }
41
+ static buildKinesisStream(resourceType, props) {
42
+ return new StorageConfig({
43
+ resourceType,
44
+ storageType: StorageConfigType.KINESIS_STREAM,
45
+ kinesisStream: props.stream,
46
+ });
47
+ }
48
+ static buildKinesisFirehose(resourceType, props) {
49
+ return new StorageConfig({
50
+ resourceType,
51
+ storageType: StorageConfigType.KINESIS_FIREHOSE,
52
+ kinesisFirehose: props.firehose,
53
+ });
54
+ }
55
+ constructor({ resourceType, storageType, kinesisFirehose, kinesisStream, kinesisVideoStreamConfig, s3Config, }) {
56
+ this.resourceType = resourceType;
57
+ this.storageType = storageType;
58
+ this.kinesisFirehose = kinesisFirehose;
59
+ this.kinesisStream = kinesisStream;
60
+ this.kinesisVideoStreamConfig = kinesisVideoStreamConfig;
61
+ this.s3Config = s3Config;
62
+ }
63
+ checkConfig() {
64
+ const valid = StorageConfig.VALID_RESOURCES[this.storageType];
65
+ return valid.includes(this.resourceType);
66
+ }
67
+ asStorageConfigProps(instanceArn) {
68
+ const props = {
69
+ instanceArn,
70
+ resourceType: this.resourceType,
71
+ storageType: this.storageType,
72
+ };
73
+ switch (this.storageType) {
74
+ case StorageConfigType.S3_BUCKET:
75
+ props.s3Config = {
76
+ bucketName: this.s3Config?.bucket.bucketName,
77
+ bucketPrefix: this.s3Config?.prefix,
78
+ };
79
+ if (this.s3Config?.encryptionConfig) {
80
+ props.s3Config.encryptionConfig = {
81
+ encryptionType: this.s3Config.encryptionConfig.encryptionType,
82
+ keyId: this.s3Config.encryptionConfig.encryptionKey.keyArn,
83
+ };
84
+ }
85
+ break;
86
+ case StorageConfigType.KINESIS_VIDEO_STREAM:
87
+ props.kinesisVideoStreamConfig = {
88
+ encryptionConfig: {
89
+ encryptionType: this.kinesisVideoStreamConfig?.encryptionConfig.encryptionType,
90
+ keyId: this.kinesisVideoStreamConfig?.encryptionConfig.encryptionKey.keyArn,
91
+ },
92
+ prefix: this.kinesisVideoStreamConfig?.prefix,
93
+ retentionPeriodHours: this.kinesisVideoStreamConfig?.retentionPeriodHours ?? 0,
94
+ };
95
+ break;
96
+ case StorageConfigType.KINESIS_STREAM:
97
+ props.kinesisStreamConfig = {
98
+ streamArn: this.kinesisStream?.streamArn,
99
+ };
100
+ break;
101
+ case StorageConfigType.KINESIS_FIREHOSE:
102
+ props.kinesisFirehoseConfig = {
103
+ streamArn: this.kinesisFirehose?.deliveryStreamArn,
104
+ };
105
+ break;
106
+ }
107
+ return props;
108
+ }
109
+ }
110
+ exports.StorageConfig = StorageConfig;
111
+ _a = JSII_RTTI_SYMBOL_1;
112
+ StorageConfig[_a] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.StorageConfig", version: "0.2.1" };
113
+ StorageConfig.VALID_RESOURCES = {
114
+ [StorageConfigType.S3_BUCKET]: [
115
+ StorageResourceType.CHAT_TRANSCRIPTS,
116
+ StorageResourceType.CALL_RECORDINGS,
117
+ StorageResourceType.SCHEDULED_REPORTS,
118
+ ],
119
+ [StorageConfigType.KINESIS_STREAM]: [
120
+ StorageResourceType.CONTACT_TRACE_RECORDS,
121
+ StorageResourceType.AGENT_EVENTS,
122
+ ],
123
+ [StorageConfigType.KINESIS_FIREHOSE]: [
124
+ StorageResourceType.CONTACT_TRACE_RECORDS,
125
+ ],
126
+ [StorageConfigType.KINESIS_VIDEO_STREAM]: [
127
+ StorageResourceType.MEDIA_STREAMS,
128
+ ],
129
+ };
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZV9jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3RvcmFnZV9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFRQSxJQUFZLG1CQU9YO0FBUEQsV0FBWSxtQkFBbUI7SUFDN0IsNERBQXFDLENBQUE7SUFDckMsMERBQW1DLENBQUE7SUFDbkMsOERBQXVDLENBQUE7SUFDdkMsc0RBQStCLENBQUE7SUFDL0Isc0VBQStDLENBQUE7SUFDL0Msb0RBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQVBXLG1CQUFtQixtQ0FBbkIsbUJBQW1CLFFBTzlCO0FBRUQsSUFBWSxxQkFFWDtBQUZELFdBQVkscUJBQXFCO0lBQy9CLG9DQUFXLENBQUE7QUFDYixDQUFDLEVBRlcscUJBQXFCLHFDQUFyQixxQkFBcUIsUUFFaEM7QUFFRCxJQUFZLGlCQUtYO0FBTEQsV0FBWSxpQkFBaUI7SUFDM0IsNENBQXVCLENBQUE7SUFDdkIsa0VBQTZDLENBQUE7SUFDN0Msc0RBQWlDLENBQUE7SUFDakMsMERBQXFDLENBQUE7QUFDdkMsQ0FBQyxFQUxXLGlCQUFpQixpQ0FBakIsaUJBQWlCLFFBSzVCO0FBcURELE1BQWEsYUFBYTtJQUN4QixNQUFNLENBQUMsT0FBTyxDQUFDLFlBQWlDLEVBQUUsS0FBc0I7UUFDdEUsT0FBTyxJQUFJLGFBQWEsQ0FBQztZQUN2QixZQUFZO1lBQ1osV0FBVyxFQUFFLGlCQUFpQixDQUFDLFNBQVM7WUFDeEMsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyx1QkFBdUIsQ0FDNUIsWUFBaUMsRUFDakMsS0FBc0M7UUFFdEMsT0FBTyxJQUFJLGFBQWEsQ0FBQztZQUN2QixZQUFZO1lBQ1osV0FBVyxFQUFFLGlCQUFpQixDQUFDLG9CQUFvQjtZQUNuRCx3QkFBd0IsRUFBRSxLQUFLO1NBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENB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LEtBQUssaUJBQWlCLENBQUMsZ0JBQWdCO2dCQUNyQyxLQUFLLENBQUMscUJBQXFCLEdBQUc7b0JBQzVCLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLGlCQUFpQjtpQkFDbkQsQ0FBQztnQkFDRixNQUFNO1FBQ1YsQ0FBQztRQUNELE9BQThDLEtBQUssQ0FBQztJQUN0RCxDQUFDOztBQW5JSCxzQ0FvSUM7OztBQWhHeUIsNkJBQWUsR0FBRztJQUN4QyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQzdCLG1CQUFtQixDQUFDLGdCQUFnQjtRQUNwQyxtQkFBbUIsQ0FBQyxlQUFlO1FBQ25DLG1CQUFtQixDQUFDLGlCQUFpQjtLQUN0QztJQUNELENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLEVBQUU7UUFDbEMsbUJBQW1CLENBQUMscUJBQXFCO1FBQ3pDLG1CQUFtQixDQUFDLFlBQVk7S0FDakM7SUFDRCxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLEVBQUU7UUFDcEMsbUJBQW1CLENBQUMscUJBQXFCO0tBQzFDO0lBQ0QsQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1FBQ3hDLG1CQUFtQixDQUFDLGFBQWE7S0FDbEM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXdzX2tpbmVzaXMgYXMga2luZXNpcyxcbiAgYXdzX2tpbmVzaXNmaXJlaG9zZSBhcyBraW5lc2lzZmlyZWhvc2UsXG4gIGF3c19rbXMgYXMga21zLFxuICBhd3NfY29ubmVjdCBhcyBjb25uZWN0LFxuICBhd3NfczMgYXMgczMsXG59IGZyb20gJ2F3cy1jZGstbGliJztcblxuZXhwb3J0IGVudW0gU3RvcmFnZVJlc291cmNlVHlwZSB7XG4gIENIQVRfVFJBTlNDUklQVFMgPSAnQ0hBVF9UUkFOU0NSSVBUUycsXG4gIENBTExfUkVDT1JESU5HUyA9ICdDQUxMX1JFQ09SRElOR1MnLFxuICBTQ0hFRFVMRURfUkVQT1JUUyA9ICdTQ0hFRFVMRURfUkVQT1JUUycsXG4gIE1FRElBX1NUUkVBTVMgPSAnTUVESUFfU1RSRUFNUycsXG4gIENPTlRBQ1RfVFJBQ0VfUkVDT1JEUyA9ICdDT05UQUNUX1RSQUNFX1JFQ09SRFMnLFxuICBBR0VOVF9FVkVOVFMgPSAnQUdFTlRfRVZFTlRTJyxcbn1cblxuZXhwb3J0IGVudW0gU3RvcmFnZUVuY3J5cHRpb25UeXBlIHtcbiAgS01TID0gJ0tNUycsXG59XG5cbmV4cG9ydCBlbnVtIFN0b3JhZ2VDb25maWdUeXBlIHtcbiAgUzNfQlVDS0VUID0gJ1MzX0JVQ0tFVCcsXG4gIEtJTkVTSVNfVklERU9fU1RSRUFNID0gJ0tJTkVTSVNfVklERU9fU1RSRUFNJyxcbiAgS0lORVNJU19TVFJFQU0gPSAnS0lORVNJU19TVFJFQU0nLFxuICBLSU5FU0lTX0ZJUkVIT1NFID0gJ0tJTkVTSVNfRklSRUhPU0UnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JhZ2VFbmNyeXB0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGVuY3J5cHRpb24gdXNlZCBvbiB0aGUgc3RyZWFtLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvblR5cGU6IFN0b3JhZ2VFbmNyeXB0aW9uVHlwZTtcbiAgLyoqXG4gICAqIFRoZSBLTVMga2V5IHVzZWQgZm9yIGVuY3J5cHRpb24uXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uS2V5OiBrbXMuSUtleTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdG9yYWdlQ29uZmlnS2luZXNpc1ZpZGVvU3RyZWFtIHtcbiAgLyoqXG4gICAqIFRoZSBlbmNyeXB0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBLaW5lc2lzIFZpZGVvIFN0cmVhbS5cbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHRpb25Db25maWc6IFN0b3JhZ2VFbmNyeXB0aW9uQ29uZmlnO1xuICAvKipcbiAgICogVGhlIHByZWZpeCBvZiB0aGUgdmlkZW8gc3RyZWFtXG4gICAqL1xuICByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgLyoqXG4gICAqIEtpbmVzaXMgVmlkZW8gU3RyZWFtcyByZXRhaW5zIHRoZSBkYXRhIGluIGEgZGF0YSBzdG9yZSB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3RyZWFtLlxuICAgKlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAwLCBpbmRpY2F0aW5nIHRoYXQgdGhlIHN0cmVhbSBkb2VzIG5vdCBwZXJzaXN0IGRhdGEuXG4gICAqL1xuICByZWFkb25seSByZXRlbnRpb25QZXJpb2RIb3Vycz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdG9yYWdlQ29uZmlnUzMge1xuICAvKipcbiAgICogVGhlIGJ1Y2tldCB3aGVyZSB0aGUgZGF0YSB3aWxsIGJlIHN0b3JlZFxuICAgKi9cbiAgcmVhZG9ubHkgYnVja2V0OiBzMy5JQnVja2V0O1xuICAvKipcbiAgICogVGhlIHByZWZpeCB3aXRoaW4gdGhlIGJ1Y2tldFxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgb3B0aW9uYWwgZW5jcnlwdGlvbiBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbkNvbmZpZz86IFN0b3JhZ2VFbmNyeXB0aW9uQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JhZ2VDb25maWdLaW5lc2lzU3RyZWFtIHtcbiAgcmVhZG9ubHkgc3RyZWFtOiBraW5lc2lzLklTdHJlYW07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmFnZUNvbmZpZ0tpbmVzaXNGaXJlaG9zZSB7XG4gIHJlYWRvbmx5IGZpcmVob3NlOiBraW5lc2lzZmlyZWhvc2UuSURlbGl2ZXJ5U3RyZWFtO1xufVxuXG5leHBvcnQgY2xhc3MgU3RvcmFnZUNvbmZpZyB7XG4gIHN0YXRpYyBidWlsZFMzKHJlc291cmNlVHlwZTogU3RvcmFnZVJlc291cmNlVHlwZSwgcHJvcHM6IFN0b3JhZ2VDb25maWdTMykge1xuICAgIHJldHVybiBuZXcgU3RvcmFnZUNvbmZpZyh7XG4gICAgICByZXNvdXJjZVR5cGUsXG4gICAgICBzdG9yYWdlVHlwZTogU3RvcmFnZUNvbmZpZ1R5cGUuUzNfQlVDS0VULFxuICAgICAgczNDb25maWc6IHByb3BzLFxuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGJ1aWxkS2luZXNpc1ZpZGVvU3RyZWFtKFxuICAgIHJlc291cmNlVHlwZTogU3RvcmFnZVJlc291cmNlVHlwZSxcbiAgICBwcm9wczogU3RvcmFnZUNvbmZpZ0tpbmVzaXNWaWRlb1N0cmVhbSxcbiAgKSB7XG4gICAgcmV0dXJuIG5ldyBTdG9yYWdlQ29uZmlnKHtcbiAgICAgIHJlc291cmNlVHlwZSxcbiAgICAgIHN0b3JhZ2VUeXBlOiBTdG9yYWdlQ29uZmlnVHlwZS5LSU5FU0lTX1ZJREVPX1NUUkVBTSxcbiAgICAgIGtpbmVzaXNWaWRlb1N0cmVhbUNvbmZpZzogcHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgYnVpbGRLaW5lc2lzU3RyZWFtKHJlc291cmNlVHlwZTogU3RvcmFnZVJlc291cmNlVHlwZSwgcHJvcHM6IFN0b3JhZ2VDb25maWdLaW5lc2lzU3RyZWFtKSB7XG4gICAgcmV0dXJuIG5ldyBTdG9yYWdlQ29uZmlnKHtcbiAgICAgIHJlc291cmNlVHlwZSxcbiAgICAgIHN0b3JhZ2VUeXBlOiBTdG9yYWdlQ29uZmlnVHlwZS5LSU5FU0lTX1NUUkVBTSxcbiAgICAgIGtpbmVzaXNTdHJlYW06IHByb3BzLnN0cmVhbSxcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBidWlsZEtpbmVzaXNGaXJlaG9zZShyZXNvdXJjZVR5cGU6IFN0b3JhZ2VSZXNvdXJjZVR5cGUsIHByb3BzOiBTdG9yYWdlQ29uZmlnS2luZXNpc0ZpcmVob3NlKSB7XG4gICAgcmV0dXJuIG5ldyBTdG9yYWdlQ29uZmlnKHtcbiAgICAgIHJlc291cmNlVHlwZSxcbiAgICAgIHN0b3JhZ2VUeXBlOiBTdG9yYWdlQ29uZmlnVHlwZS5LSU5FU0lTX0ZJUkVIT1NFLFxuICAgICAga2luZXNpc0ZpcmVob3NlOiBwcm9wcy5maXJlaG9zZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFZBTElEX1JFU09VUkNFUyA9IHtcbiAgICBbU3RvcmFnZUNvbmZpZ1R5cGUuUzNfQlVDS0VUXTogW1xuICAgICAgU3RvcmFnZVJlc291cmNlVHlwZS5DSEFUX1RSQU5TQ1JJUFRTLFxuICAgICAgU3RvcmFnZVJlc291cmNlVHlwZS5DQUxMX1JFQ09SRElOR1MsXG4gICAgICBTdG9yYWdlUmVzb3VyY2VUeXBlLlNDSEVEVUxFRF9SRVBPUlRTLFxuICAgIF0sXG4gICAgW1N0b3JhZ2VDb25maWdUeXBlLktJTkVTSVNfU1RSRUFNXTogW1xuICAgICAgU3RvcmFnZVJlc291cmNlVHlwZS5DT05UQUNUX1RSQUNFX1JFQ09SRFMsXG4gICAgICBTdG9yYWdlUmVzb3VyY2VUeXBlLkFHRU5UX0VWRU5UUyxcbiAgICBdLFxuICAgIFtTdG9yYWdlQ29uZmlnVHlwZS5LSU5FU0lTX0ZJUkVIT1NFXTogW1xuICAgICAgU3RvcmFnZVJlc291cmNlVHlwZS5DT05UQUNUX1RSQUNFX1JFQ09SRFMsXG4gICAgXSxcbiAgICBbU3RvcmFnZUNvbmZpZ1R5cGUuS0lORVNJU19WSURFT19TVFJFQU1dOiBbXG4gICAgICBTdG9yYWdlUmVzb3VyY2VUeXBlLk1FRElBX1NUUkVBTVMsXG4gICAgXSxcbiAgfTtcblxuICByZWFkb25seSByZXNvdXJjZVR5cGU6IFN0b3JhZ2VSZXNvdXJjZVR5cGU7XG4gIHJlYWRvbmx5IHN0b3JhZ2VUeXBlOiBTdG9yYWdlQ29uZmlnVHlwZTtcbiAgcmVhZG9ubHkga2luZXNpc0ZpcmVob3NlPzoga2luZXNpc2ZpcmVob3NlLklEZWxpdmVyeVN0cmVhbTtcbiAgcmVhZG9ubHkga2luZXNpc1N0cmVhbT86IGtpbmVzaXMuSVN0cmVhbTtcbiAgcmVhZG9ubHkga2luZXNpc1ZpZGVvU3RyZWFtQ29uZmlnPzogU3RvcmFnZUNvbmZpZ0tpbmVzaXNWaWRlb1N0cmVhbTtcbiAgcmVhZG9ubHkgczNDb25maWc/OiBTdG9yYWdlQ29uZmlnUzM7XG5cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHtcbiAgICByZXNvdXJjZVR5cGUsXG4gICAgc3RvcmFnZVR5cGUsXG4gICAga2luZXNpc0ZpcmVob3NlLFxuICAgIGtpbmVzaXNTdHJlYW0sXG4gICAga2luZXNpc1ZpZGVvU3RyZWFtQ29uZmlnLFxuICAgIHMzQ29uZmlnLFxuICB9OiB7XG4gICAgcmVzb3VyY2VUeXBlOiBTdG9yYWdlUmVzb3VyY2VUeXBlO1xuICAgIGtpbmVzaXNGaXJlaG9zZT86IGtpbmVzaXNmaXJlaG9zZS5JRGVsaXZlcnlTdHJlYW07XG4gICAga2luZXNpc1N0cmVhbT86IGtpbmVzaXMuSVN0cmVhbTtcbiAgICBraW5lc2lzVmlkZW9TdHJlYW1Db25maWc/OiBTdG9yYWdlQ29uZmlnS2luZXNpc1ZpZGVvU3RyZWFtO1xuICAgIHN0b3JhZ2VUeXBlOiBTdG9yYWdlQ29uZmlnVHlwZTtcbiAgICBzM0NvbmZpZz86IFN0b3JhZ2VDb25maWdTMztcbiAgfSkge1xuICAgIHRoaXMucmVzb3VyY2VUeXBlID0gcmVzb3VyY2VUeXBlO1xuICAgIHRoaXMuc3RvcmFnZVR5cGUgPSBzdG9yYWdlVHlwZTtcbiAgICB0aGlzLmtpbmVzaXNGaXJlaG9zZSA9IGtpbmVzaXNGaXJlaG9zZTtcbiAgICB0aGlzLmtpbmVzaXNTdHJlYW0gPSBraW5lc2lzU3RyZWFtO1xuICAgIHRoaXMua2luZXNpc1ZpZGVvU3RyZWFtQ29uZmlnID0ga2luZXNpc1ZpZGVvU3RyZWFtQ29uZmlnO1xuICAgIHRoaXMuczNDb25maWcgPSBzM0NvbmZpZztcbiAgfVxuXG4gIGNoZWNrQ29uZmlnKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHZhbGlkID0gU3RvcmFnZUNvbmZpZy5WQUxJRF9SRVNPVVJDRVNbdGhpcy5zdG9yYWdlVHlwZV07XG4gICAgcmV0dXJuIHZhbGlkLmluY2x1ZGVzKHRoaXMucmVzb3VyY2VUeXBlKTtcbiAgfVxuXG4gIGFzU3RvcmFnZUNvbmZpZ1Byb3BzKGluc3RhbmNlQXJuOiBzdHJpbmcpOiBjb25uZWN0LkNmbkluc3RhbmNlU3RvcmFnZUNvbmZpZ1Byb3BzIHtcbiAgICBjb25zdCBwcm9wczogUmVjb3JkPHN0cmluZywgYW55PiA9IHtcbiAgICAgIGluc3RhbmNlQXJuLFxuICAgICAgcmVzb3VyY2VUeXBlOiB0aGlzLnJlc291cmNlVHlwZSxcbiAgICAgIHN0b3JhZ2VUeXBlOiB0aGlzLnN0b3JhZ2VUeXBlLFxuICAgIH07XG4gICAgc3dpdGNoICh0aGlzLnN0b3JhZ2VUeXBlKSB7XG4gICAgICBjYXNlIFN0b3JhZ2VDb25maWdUeXBlLlMzX0JVQ0tFVDpcbiAgICAgICAgcHJvcHMuczNDb25maWcgPSB7XG4gICAgICAgICAgYnVja2V0TmFtZTogdGhpcy5zM0NvbmZpZz8uYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgICAgYnVja2V0UHJlZml4OiB0aGlzLnMzQ29uZmlnPy5wcmVmaXgsXG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLnMzQ29uZmlnPy5lbmNyeXB0aW9uQ29uZmlnKSB7XG4gICAgICAgICAgcHJvcHMuczNDb25maWcuZW5jcnlwdGlvbkNvbmZpZyA9IHtcbiAgICAgICAgICAgIGVuY3J5cHRpb25UeXBlOiB0aGlzLnMzQ29uZmlnLmVuY3J5cHRpb25Db25maWcuZW5jcnlwdGlvblR5cGUsXG4gICAgICAgICAgICBrZXlJZDogdGhpcy5zM0NvbmZpZy5lbmNyeXB0aW9uQ29uZmlnLmVuY3J5cHRpb25LZXkua2V5QXJuLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN0b3JhZ2VDb25maWdUeXBlLktJTkVTSVNfVklERU9fU1RSRUFNOlxuICAgICAgICBwcm9wcy5raW5lc2lzVmlkZW9TdHJlYW1Db25maWcgPSB7XG4gICAgICAgICAgZW5jcnlwdGlvbkNvbmZpZzoge1xuICAgICAgICAgICAgZW5jcnlwdGlvblR5cGU6IHRoaXMua2luZXNpc1ZpZGVvU3RyZWFtQ29uZmlnPy5lbmNyeXB0aW9uQ29uZmlnLmVuY3J5cHRpb25UeXBlLFxuICAgICAgICAgICAga2V5SWQ6IHRoaXMua2luZXNpc1ZpZGVvU3RyZWFtQ29uZmlnPy5lbmNyeXB0aW9uQ29uZmlnLmVuY3J5cHRpb25LZXkua2V5QXJuLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcHJlZml4OiB0aGlzLmtpbmVzaXNWaWRlb1N0cmVhbUNvbmZpZz8ucHJlZml4LFxuICAgICAgICAgIHJldGVudGlvblBlcmlvZEhvdXJzOiB0aGlzLmtpbmVzaXNWaWRlb1N0cmVhbUNvbmZpZz8ucmV0ZW50aW9uUGVyaW9kSG91cnMgPz8gMCxcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFN0b3JhZ2VDb25maWdUeXBlLktJTkVTSVNfU1RSRUFNOlxuICAgICAgICBwcm9wcy5raW5lc2lzU3RyZWFtQ29uZmlnID0ge1xuICAgICAgICAgIHN0cmVhbUFybjogdGhpcy5raW5lc2lzU3RyZWFtPy5zdHJlYW1Bcm4sXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTdG9yYWdlQ29uZmlnVHlwZS5LSU5FU0lTX0ZJUkVIT1NFOlxuICAgICAgICBwcm9wcy5raW5lc2lzRmlyZWhvc2VDb25maWcgPSB7XG4gICAgICAgICAgc3RyZWFtQXJuOiB0aGlzLmtpbmVzaXNGaXJlaG9zZT8uZGVsaXZlcnlTdHJlYW1Bcm4sXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gPGNvbm5lY3QuQ2ZuSW5zdGFuY2VTdG9yYWdlQ29uZmlnUHJvcHM+cHJvcHM7XG4gIH1cbn0iXX0=
@@ -0,0 +1,25 @@
1
+ import { aws_connect as connect, IResource, Resource } from 'aws-cdk-lib';
2
+ import { Construct } from 'constructs';
3
+ import { IInstance } from './instance';
4
+ export interface ITrafficDistributionGroup extends IResource {
5
+ readonly trafficDistributionGroupArn: string;
6
+ }
7
+ export interface TrafficDistributionGroupProps {
8
+ /**
9
+ * The AWS connect instance to attach the traffic distribution group to.
10
+ */
11
+ readonly instance: IInstance;
12
+ /**
13
+ * The name of the traffic distribution group.
14
+ */
15
+ readonly name: string;
16
+ /**
17
+ * A description of the traffic distribution group.
18
+ */
19
+ readonly description?: string;
20
+ }
21
+ export declare class TrafficDistributionGroup extends Resource implements ITrafficDistributionGroup {
22
+ readonly trafficDistributionGroup: connect.CfnTrafficDistributionGroup;
23
+ constructor(scope: Construct, id: string, props: TrafficDistributionGroupProps);
24
+ get trafficDistributionGroupArn(): string;
25
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.TrafficDistributionGroup = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ class TrafficDistributionGroup extends aws_cdk_lib_1.Resource {
8
+ constructor(scope, id, props) {
9
+ super(scope, id);
10
+ this.trafficDistributionGroup = new aws_cdk_lib_1.aws_connect.CfnTrafficDistributionGroup(this, 'TrafficDistributionGroup', {
11
+ instanceArn: props.instance.instanceArn,
12
+ name: props.name,
13
+ description: props.description,
14
+ });
15
+ }
16
+ get trafficDistributionGroupArn() {
17
+ return this.trafficDistributionGroup.attrTrafficDistributionGroupArn;
18
+ }
19
+ }
20
+ exports.TrafficDistributionGroup = TrafficDistributionGroup;
21
+ _a = JSII_RTTI_SYMBOL_1;
22
+ TrafficDistributionGroup[_a] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.TrafficDistributionGroup", version: "0.2.1" };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZmZpY19kaXN0cmlidXRpb25fZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHJhZmZpY19kaXN0cmlidXRpb25fZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FJcUI7QUF3QnJCLE1BQWEsd0JBQXlCLFNBQVEsc0JBQVE7SUFHcEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQztRQUM1RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLHlCQUFPLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLDBCQUEwQixFQUFFO1lBQ3hHLFdBQVcsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdkMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSwyQkFBMkI7UUFDN0IsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsK0JBQStCLENBQUM7SUFDdkUsQ0FBQzs7QUFmSCw0REFnQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhd3NfY29ubmVjdCBhcyBjb25uZWN0LFxuICBJUmVzb3VyY2UsXG4gIFJlc291cmNlLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuaW1wb3J0IHsgSUluc3RhbmNlIH0gZnJvbSAnLi9pbnN0YW5jZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYWZmaWNEaXN0cmlidXRpb25Hcm91cCBleHRlbmRzIElSZXNvdXJjZSB7XG4gIHJlYWRvbmx5IHRyYWZmaWNEaXN0cmlidXRpb25Hcm91cEFybjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWZmaWNEaXN0cmlidXRpb25Hcm91cFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBBV1MgY29ubmVjdCBpbnN0YW5jZSB0byBhdHRhY2ggdGhlIHRyYWZmaWMgZGlzdHJpYnV0aW9uIGdyb3VwIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2U6IElJbnN0YW5jZTtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB0cmFmZmljIGRpc3RyaWJ1dGlvbiBncm91cC5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIHRyYWZmaWMgZGlzdHJpYnV0aW9uIGdyb3VwLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBUcmFmZmljRGlzdHJpYnV0aW9uR3JvdXAgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElUcmFmZmljRGlzdHJpYnV0aW9uR3JvdXAge1xuICByZWFkb25seSB0cmFmZmljRGlzdHJpYnV0aW9uR3JvdXA6IGNvbm5lY3QuQ2ZuVHJhZmZpY0Rpc3RyaWJ1dGlvbkdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUcmFmZmljRGlzdHJpYnV0aW9uR3JvdXBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnRyYWZmaWNEaXN0cmlidXRpb25Hcm91cCA9IG5ldyBjb25uZWN0LkNmblRyYWZmaWNEaXN0cmlidXRpb25Hcm91cCh0aGlzLCAnVHJhZmZpY0Rpc3RyaWJ1dGlvbkdyb3VwJywge1xuICAgICAgaW5zdGFuY2VBcm46IHByb3BzLmluc3RhbmNlLmluc3RhbmNlQXJuLFxuICAgICAgbmFtZTogcHJvcHMubmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICB9KTtcbiAgfVxuXG4gIGdldCB0cmFmZmljRGlzdHJpYnV0aW9uR3JvdXBBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFmZmljRGlzdHJpYnV0aW9uR3JvdXAuYXR0clRyYWZmaWNEaXN0cmlidXRpb25Hcm91cEFybjtcbiAgfVxufVxuIl19
package/lib/user.d.ts ADDED
@@ -0,0 +1,63 @@
1
+ import { aws_connect as connect, IResource, Resource } from 'aws-cdk-lib';
2
+ import { Construct } from 'constructs';
3
+ import { IHierarchyGroup } from './hierarchy_group';
4
+ import { IInstance } from './instance';
5
+ import { IRoutingProfile } from './routing_profile';
6
+ import { ISecurityProfile } from './security_profile';
7
+ export interface IUser extends IResource {
8
+ /**
9
+ * The ARN of the connect user.
10
+ */
11
+ readonly userArn: string;
12
+ }
13
+ export interface UserIdentityInfoProps {
14
+ readonly email?: string;
15
+ readonly secondaryEmail?: string;
16
+ readonly firstName?: string;
17
+ readonly lastName?: string;
18
+ readonly mobileNumber?: string;
19
+ }
20
+ export declare enum UserPhoneType {
21
+ SOFT_PHONE = "SOFT_PHONE",
22
+ DESK_PHONE = "DESK_PHONE"
23
+ }
24
+ export interface UserPhoneConfigProps {
25
+ readonly afterContactWorkTimeLimit?: number;
26
+ readonly autoAccept?: boolean;
27
+ readonly deskPhoneNumber?: string;
28
+ readonly persistentConnection?: boolean;
29
+ readonly phoneType: UserPhoneType;
30
+ }
31
+ export interface UserProficiencyProps {
32
+ readonly attributeName: string;
33
+ readonly attributeValue: string;
34
+ readonly proficiencyLevel: number;
35
+ }
36
+ export interface UserProps {
37
+ readonly instance: IInstance;
38
+ readonly routingProfile: IRoutingProfile;
39
+ /**
40
+ * The security profiles to associate with the user.
41
+ *
42
+ * At least one must be specified
43
+ */
44
+ readonly securityProfiles: ISecurityProfile[];
45
+ readonly username: string;
46
+ readonly password?: string;
47
+ readonly directoryUserId?: string;
48
+ readonly hierarchyGroup?: IHierarchyGroup;
49
+ readonly identityInfo?: UserIdentityInfoProps;
50
+ readonly phoneConfig: UserPhoneConfigProps;
51
+ readonly proficiencies: UserProficiencyProps[];
52
+ }
53
+ export interface UserLookupOptions {
54
+ readonly instanceArn: string;
55
+ readonly userArn?: string;
56
+ readonly username?: string;
57
+ }
58
+ export declare class User extends Resource implements IUser {
59
+ static fromLookup(scope: Construct, id: string, options: UserLookupOptions): IUser;
60
+ readonly user: connect.CfnUser;
61
+ constructor(scope: Construct, id: string, props: UserProps);
62
+ get userArn(): string;
63
+ }
package/lib/user.js ADDED
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.User = exports.UserPhoneType = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ const cxschema = require("aws-cdk-lib/cloud-assembly-schema");
8
+ var UserPhoneType;
9
+ (function (UserPhoneType) {
10
+ UserPhoneType["SOFT_PHONE"] = "SOFT_PHONE";
11
+ UserPhoneType["DESK_PHONE"] = "DESK_PHONE";
12
+ })(UserPhoneType || (exports.UserPhoneType = UserPhoneType = {}));
13
+ const DUMMY_USER_PROPS = {
14
+ instanceArn: 'instance-arn',
15
+ userArn: 'user-arn',
16
+ username: 'user-name',
17
+ };
18
+ class User extends aws_cdk_lib_1.Resource {
19
+ static fromLookup(scope, id, options) {
20
+ throw new Error('Not implemented (CcApiContextProvider lacking features - PR #1015)');
21
+ if (aws_cdk_lib_1.Token.isUnresolved(options.username)
22
+ || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
23
+ || aws_cdk_lib_1.Token.isUnresolved(options.userArn)) {
24
+ throw new aws_cdk_lib_1.ValidationError('All arguments to User.fromLookup() must be concrete (no Tokens)', scope);
25
+ }
26
+ const filter = {};
27
+ filter.resourceModel.InstanceArn = options.instanceArn;
28
+ if (options.userArn) {
29
+ filter.exactIdentifier = options.userArn;
30
+ }
31
+ if (options.username) {
32
+ filter.propertyMatch || (filter.propertyMatch = {});
33
+ filter.propertyMatch.Username = options.username;
34
+ }
35
+ const response = aws_cdk_lib_1.ContextProvider.getValue(scope, {
36
+ provider: cxschema.ContextProvider.CC_API_PROVIDER,
37
+ props: {
38
+ typeName: 'AWS::Connect::User',
39
+ ...filter,
40
+ propertiesToReturn: ['UserArn', 'Username'],
41
+ expectedMatchCount: 'exactly-one',
42
+ },
43
+ dummyValue: undefined,
44
+ }).value;
45
+ let instance = undefined;
46
+ if (response && response[0]) {
47
+ instance = {
48
+ instanceArn: response[0].options.instanceArn,
49
+ userArn: response[0].UserArn,
50
+ username: response[0].Name,
51
+ };
52
+ }
53
+ return new LookedUpUser(scope, id, instance ?? DUMMY_USER_PROPS, instance === undefined);
54
+ }
55
+ constructor(scope, id, props) {
56
+ super(scope, id);
57
+ this.user = new aws_cdk_lib_1.aws_connect.CfnUser(this, 'User', {
58
+ instanceArn: props.instance.instanceArn,
59
+ username: props.username,
60
+ routingProfileArn: props.routingProfile.routingProfileArn,
61
+ directoryUserId: props.directoryUserId,
62
+ password: props.password,
63
+ hierarchyGroupArn: props.hierarchyGroup?.hierarchyGroupArn,
64
+ identityInfo: props.identityInfo && {
65
+ email: props.identityInfo.email,
66
+ secondaryEmail: props.identityInfo.secondaryEmail,
67
+ firstName: props.identityInfo.firstName,
68
+ lastName: props.identityInfo.lastName,
69
+ mobile: props.identityInfo.mobileNumber,
70
+ },
71
+ phoneConfig: {
72
+ afterContactWorkTimeLimit: props.phoneConfig.afterContactWorkTimeLimit,
73
+ autoAccept: props.phoneConfig.autoAccept,
74
+ deskPhoneNumber: props.phoneConfig.deskPhoneNumber,
75
+ phoneType: props.phoneConfig.phoneType,
76
+ persistentConnection: props.phoneConfig.persistentConnection,
77
+ },
78
+ securityProfileArns: props.securityProfiles.map(s => s.securityProfileArn),
79
+ userProficiencies: props.proficiencies?.map(p => ({
80
+ attributeName: p.attributeName,
81
+ attributeValue: p.attributeValue,
82
+ level: p.proficiencyLevel,
83
+ })),
84
+ });
85
+ }
86
+ get userArn() {
87
+ return this.user.attrUserArn;
88
+ }
89
+ }
90
+ exports.User = User;
91
+ _a = JSII_RTTI_SYMBOL_1;
92
+ User[_a] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.User", version: "0.2.1" };
93
+ class LookedUpUser extends aws_cdk_lib_1.Resource {
94
+ constructor(scope, id, props, isIncomplete) {
95
+ super(scope, id, {
96
+ region: props.region,
97
+ account: props.ownerAccountId,
98
+ });
99
+ this.instanceArn = props.instanceArn;
100
+ this.userArn = props.userArn;
101
+ this.username = props.username;
102
+ this.incompleteInstanceDefinition = isIncomplete;
103
+ }
104
+ }
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBSXFCO0FBQ3JCLDhEQUE4RDtBQXNCOUQsSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3ZCLDBDQUF5QixDQUFBO0lBQ3pCLDBDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFIVyxhQUFhLDZCQUFiLGFBQWEsUUFHeEI7QUFtQ0QsTUFBTSxnQkFBZ0IsR0FBRztJQUN2QixXQUFXLEVBQUUsY0FBYztJQUMzQixPQUFPLEVBQUUsVUFBVTtJQUNuQixRQUFRLEVBQUUsV0FBVztDQUN0QixDQUFDO0FBUUYsTUFBYSxJQUFLLFNBQVEsc0JBQVE7SUFDekIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxPQUEwQjtRQUMvRSxNQUFNLElBQUksS0FBSyxDQUFDLG9FQUFvRSxDQUFDLENBQUM7UUFFdEYsSUFBSSxtQkFBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO2VBQ2pDLG1CQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7ZUFDdkMsbUJBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLDZCQUFlLENBQUMsaUVBQWlFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEcsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUV2QixNQUFNLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3ZELElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMzQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckIsTUFBTSxD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LENBQUMsYUFBYTtnQkFDOUIsY0FBYyxFQUFFLENBQUMsQ0FBQyxjQUFjO2dCQUNoQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQjthQUMxQixDQUFDLENBQUM7U0FDSixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMvQixDQUFDOztBQWhGSCxvQkFpRkM7OztBQUVELE1BQU0sWUFBYSxTQUFRLHNCQUFRO0lBTWpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBVSxFQUFFLFlBQXFCO1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLE9BQU8sRUFBRSxLQUFLLENBQUMsY0FBYztTQUM5QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsNEJBQTRCLEdBQUcsWUFBWSxDQUFDO0lBQ25ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGF3c19jb25uZWN0IGFzIGNvbm5lY3QsIENvbnRleHRQcm92aWRlcixcbiAgSVJlc291cmNlLFxuICBSZXNvdXJjZSwgVG9rZW4sIFZhbGlkYXRpb25FcnJvcixcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY3hzY2hlbWEgZnJvbSAnYXdzLWNkay1saWIvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSUhpZXJhcmNoeUdyb3VwIH0gZnJvbSAnLi9oaWVyYXJjaHlfZ3JvdXAnO1xuaW1wb3J0IHsgSUluc3RhbmNlIH0gZnJvbSAnLi9pbnN0YW5jZSc7XG5pbXBvcnQgeyBJUm91dGluZ1Byb2ZpbGUgfSBmcm9tICcuL3JvdXRpbmdfcHJvZmlsZSc7XG5pbXBvcnQgeyBJU2VjdXJpdHlQcm9maWxlIH0gZnJvbSAnLi9zZWN1cml0eV9wcm9maWxlJztcblxuZXhwb3J0IGludGVyZmFjZSBJVXNlciBleHRlbmRzIElSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBjb25uZWN0IHVzZXIuXG4gICAqL1xuICByZWFkb25seSB1c2VyQXJuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlcklkZW50aXR5SW5mb1Byb3BzIHtcbiAgcmVhZG9ubHkgZW1haWw/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlY29uZGFyeUVtYWlsPzogc3RyaW5nO1xuICByZWFkb25seSBmaXJzdE5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhc3ROYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBtb2JpbGVOdW1iZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFVzZXJQaG9uZVR5cGUge1xuICBTT0ZUX1BIT05FID0gJ1NPRlRfUEhPTkUnLFxuICBERVNLX1BIT05FID0gJ0RFU0tfUEhPTkUnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQaG9uZUNvbmZpZ1Byb3BzIHtcbiAgcmVhZG9ubHkgYWZ0ZXJDb250YWN0V29ya1RpbWVMaW1pdD86IG51bWJlcjtcbiAgcmVhZG9ubHkgYXV0b0FjY2VwdD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRlc2tQaG9uZU51bWJlcj86IHN0cmluZztcbiAgcmVhZG9ubHkgcGVyc2lzdGVudENvbm5lY3Rpb24/OiBib29sZWFuO1xuICByZWFkb25seSBwaG9uZVR5cGU6IFVzZXJQaG9uZVR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclByb2ZpY2llbmN5UHJvcHMge1xuICByZWFkb25seSBhdHRyaWJ1dGVOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGF0dHJpYnV0ZVZhbHVlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByb2ZpY2llbmN5TGV2ZWw6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyUHJvcHMge1xuICByZWFkb25seSBpbnN0YW5jZTogSUluc3RhbmNlO1xuICByZWFkb25seSByb3V0aW5nUHJvZmlsZTogSVJvdXRpbmdQcm9maWxlO1xuICAvKipcbiAgICogVGhlIHNlY3VyaXR5IHByb2ZpbGVzIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSB1c2VyLlxuICAgKlxuICAgKiBBdCBsZWFzdCBvbmUgbXVzdCBiZSBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5UHJvZmlsZXM6IElTZWN1cml0eVByb2ZpbGVbXTtcbiAgcmVhZG9ubHkgdXNlcm5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRpcmVjdG9yeVVzZXJJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgaGllcmFyY2h5R3JvdXA/OiBJSGllcmFyY2h5R3JvdXA7XG4gIHJlYWRvbmx5IGlkZW50aXR5SW5mbz86IFVzZXJJZGVudGl0eUluZm9Qcm9wcztcbiAgcmVhZG9ubHkgcGhvbmVDb25maWc6IFVzZXJQaG9uZUNvbmZpZ1Byb3BzO1xuICByZWFkb25seSBwcm9maWNpZW5jaWVzOiBVc2VyUHJvZmljaWVuY3lQcm9wc1tdO1xufVxuXG5cbmNvbnN0IERVTU1ZX1VTRVJfUFJPUFMgPSB7XG4gIGluc3RhbmNlQXJuOiAnaW5zdGFuY2UtYXJuJyxcbiAgdXNlckFybjogJ3VzZXItYXJuJyxcbiAgdXNlcm5hbWU6ICd1c2VyLW5hbWUnLFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBVc2VyTG9va3VwT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGluc3RhbmNlQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJBcm4/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJuYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVXNlciBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVVzZXIge1xuICBwdWJsaWMgc3RhdGljIGZyb21Mb29rdXAoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0aW9uczogVXNlckxvb2t1cE9wdGlvbnMpOiBJVXNlciB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQgKENjQXBpQ29udGV4dFByb3ZpZGVyIGxhY2tpbmcgZmVhdHVyZXMgLSBQUiAjMTAxNSknKTtcblxuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQob3B0aW9ucy51c2VybmFtZSlcbiAgICAgICAgfHwgVG9rZW4uaXNVbnJlc29sdmVkKG9wdGlvbnMuaW5zdGFuY2VBcm4pXG4gICAgICAgIHx8IFRva2VuLmlzVW5yZXNvbHZlZChvcHRpb25zLnVzZXJBcm4pKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdBbGwgYXJndW1lbnRzIHRvIFVzZXIuZnJvbUxvb2t1cCgpIG11c3QgYmUgY29uY3JldGUgKG5vIFRva2VucyknLCBzY29wZSk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyOiBhbnkgPSB7fTtcblxuICAgIGZpbHRlci5yZXNvdXJjZU1vZGVsLkluc3RhbmNlQXJuID0gb3B0aW9ucy5pbnN0YW5jZUFybjtcbiAgICBpZiAob3B0aW9ucy51c2VyQXJuKSB7XG4gICAgICBmaWx0ZXIuZXhhY3RJZGVudGlmaWVyID0gb3B0aW9ucy51c2VyQXJuO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy51c2VybmFtZSkge1xuICAgICAgZmlsdGVyLnByb3BlcnR5TWF0Y2ggfHw9IHt9O1xuICAgICAgZmlsdGVyLnByb3BlcnR5TWF0Y2guVXNlcm5hbWUgPSBvcHRpb25zLnVzZXJuYW1lO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9W10gPSBDb250ZXh0UHJvdmlkZXIuZ2V0VmFsdWUoc2NvcGUsIHtcbiAgICAgIHByb3ZpZGVyOiBjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuQ0NfQVBJX1BST1ZJREVSLFxuICAgICAgcHJvcHM6IHtcbiAgICAgICAgdHlwZU5hbWU6ICdBV1M6OkNvbm5lY3Q6OlVzZXInLFxuICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgIHByb3BlcnRpZXNUb1JldHVybjogWydVc2VyQXJuJywgJ1VzZXJuYW1lJ10sXG4gICAgICAgIGV4cGVjdGVkTWF0Y2hDb3VudDogJ2V4YWN0bHktb25lJyxcbiAgICAgIH0gYXMgY3hzY2hlbWEuQ2NBcGlDb250ZXh0UXVlcnksXG4gICAgICBkdW1teVZhbHVlOiB1bmRlZmluZWQsXG4gICAgfSkudmFsdWU7XG5cbiAgICBsZXQgaW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlWzBdKSB7XG4gICAgICBpbnN0YW5jZSA9IHtcbiAgICAgICAgaW5zdGFuY2VBcm46IHJlc3BvbnNlWzBdLm9wdGlvbnMuaW5zdGFuY2VBcm4sXG4gICAgICAgIHVzZXJBcm46IHJlc3BvbnNlWzBdLlVzZXJBcm4sXG4gICAgICAgIHVzZXJuYW1lOiByZXNwb25zZVswXS5OYW1lLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBMb29rZWRVcFVzZXIoc2NvcGUsIGlkLCBpbnN0YW5jZSA/PyBEVU1NWV9VU0VSX1BST1BTLCBpbnN0YW5jZSA9PT0gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB1c2VyOiBjb25uZWN0LkNmblVzZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFVzZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnVzZXIgPSBuZXcgY29ubmVjdC5DZm5Vc2VyKHRoaXMsICdVc2VyJywge1xuICAgICAgaW5zdGFuY2VBcm46IHByb3BzLmluc3RhbmNlLmluc3RhbmNlQXJuLFxuICAgICAgdXNlcm5hbWU6IHByb3BzLnVzZXJuYW1lLFxuICAgICAgcm91dGluZ1Byb2ZpbGVBcm46IHByb3BzLnJvdXRpbmdQcm9maWxlLnJvdXRpbmdQcm9maWxlQXJuLFxuICAgICAgZGlyZWN0b3J5VXNlcklkOiBwcm9wcy5kaXJlY3RvcnlVc2VySWQsXG4gICAgICBwYXNzd29yZDogcHJvcHMucGFzc3dvcmQsXG4gICAgICBoaWVyYXJjaHlHcm91cEFybjogcHJvcHMuaGllcmFyY2h5R3JvdXA/LmhpZXJhcmNoeUdyb3VwQXJuLFxuICAgICAgaWRlbnRpdHlJbmZvOiBwcm9wcy5pZGVudGl0eUluZm8gJiYge1xuICAgICAgICBlbWFpbDogcHJvcHMuaWRlbnRpdHlJbmZvLmVtYWlsLFxuICAgICAgICBzZWNvbmRhcnlFbWFpbDogcHJvcHMuaWRlbnRpdHlJbmZvLnNlY29uZGFyeUVtYWlsLFxuICAgICAgICBmaXJzdE5hbWU6IHByb3BzLmlkZW50aXR5SW5mby5maXJzdE5hbWUsXG4gICAgICAgIGxhc3ROYW1lOiBwcm9wcy5pZGVudGl0eUluZm8ubGFzdE5hbWUsXG4gICAgICAgIG1vYmlsZTogcHJvcHMuaWRlbnRpdHlJbmZvLm1vYmlsZU51bWJlcixcbiAgICAgIH0sXG4gICAgICBwaG9uZUNvbmZpZzoge1xuICAgICAgICBhZnRlckNvbnRhY3RXb3JrVGltZUxpbWl0OiBwcm9wcy5waG9uZUNvbmZpZy5hZnRlckNvbnRhY3RXb3JrVGltZUxpbWl0LFxuICAgICAgICBhdXRvQWNjZXB0OiBwcm9wcy5waG9uZUNvbmZpZy5hdXRvQWNjZXB0LFxuICAgICAgICBkZXNrUGhvbmVOdW1iZXI6IHByb3BzLnBob25lQ29uZmlnLmRlc2tQaG9uZU51bWJlcixcbiAgICAgICAgcGhvbmVUeXBlOiBwcm9wcy5waG9uZUNvbmZpZy5waG9uZVR5cGUsXG4gICAgICAgIHBlcnNpc3RlbnRDb25uZWN0aW9uOiBwcm9wcy5waG9uZUNvbmZpZy5wZXJzaXN0ZW50Q29ubmVjdGlvbixcbiAgICAgIH0sXG4gICAgICBzZWN1cml0eVByb2ZpbGVBcm5zOiBwcm9wcy5zZWN1cml0eVByb2ZpbGVzLm1hcChzID0+IHMuc2VjdXJpdHlQcm9maWxlQXJuKSxcbiAgICAgIHVzZXJQcm9maWNpZW5jaWVzOiBwcm9wcy5wcm9maWNpZW5jaWVzPy5tYXAocCA9PiAoe1xuICAgICAgICBhdHRyaWJ1dGVOYW1lOiBwLmF0dHJpYnV0ZU5hbWUsXG4gICAgICAgIGF0dHJpYnV0ZVZhbHVlOiBwLmF0dHJpYnV0ZVZhbHVlLFxuICAgICAgICBsZXZlbDogcC5wcm9maWNpZW5jeUxldmVsLFxuICAgICAgfSkpLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHVzZXJBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy51c2VyLmF0dHJVc2VyQXJuO1xuICB9XG59XG5cbmNsYXNzIExvb2tlZFVwVXNlciBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVVzZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlckFybjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHVzZXJuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBpbmNvbXBsZXRlSW5zdGFuY2VEZWZpbml0aW9uOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBhbnksIGlzSW5jb21wbGV0ZTogYm9vbGVhbikge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICBhY2NvdW50OiBwcm9wcy5vd25lckFjY291bnRJZCxcbiAgICB9KTtcblxuICAgIHRoaXMuaW5zdGFuY2VBcm4gPSBwcm9wcy5pbnN0YW5jZUFybjtcbiAgICB0aGlzLnVzZXJBcm4gPSBwcm9wcy51c2VyQXJuO1xuICAgIHRoaXMudXNlcm5hbWUgPSBwcm9wcy51c2VybmFtZTtcbiAgICB0aGlzLmluY29tcGxldGVJbnN0YW5jZURlZmluaXRpb24gPSBpc0luY29tcGxldGU7XG4gIH1cbn0iXX0=
package/package.json ADDED
@@ -0,0 +1,92 @@
1
+ {
2
+ "name": "@netforbpo/aws-cdk-aws-connect-lib",
3
+ "repository": {
4
+ "type": "git",
5
+ "url": "https://github.com/netforbpo/aws-cdk-aws-connect-lib.git"
6
+ },
7
+ "scripts": {
8
+ "build": "npx projen build",
9
+ "bump": "npx projen bump",
10
+ "clobber": "npx projen clobber",
11
+ "compat": "npx projen compat",
12
+ "compile": "npx projen compile",
13
+ "default": "npx projen default",
14
+ "eject": "npx projen eject",
15
+ "eslint": "npx projen eslint",
16
+ "package": "npx projen package",
17
+ "package-all": "npx projen package-all",
18
+ "package:js": "npx projen package:js",
19
+ "package:python": "npx projen package:python",
20
+ "post-compile": "npx projen post-compile",
21
+ "pre-compile": "npx projen pre-compile",
22
+ "publish:git": "npx projen publish:git",
23
+ "release": "npx projen release",
24
+ "test": "npx projen test",
25
+ "test:update": "npx projen test:update",
26
+ "test:watch": "npx projen test:watch",
27
+ "unbump": "npx projen unbump",
28
+ "watch": "npx projen watch",
29
+ "projen": "npx projen"
30
+ },
31
+ "author": {
32
+ "name": "netforbpo",
33
+ "url": "https://github.com/netforbpo",
34
+ "organization": true
35
+ },
36
+ "devDependencies": {
37
+ "@nikovirtala/projen-vitest": "patch:@nikovirtala/projen-vitest@npm%3A2.1.33#~/.yarn/patches/@nikovirtala-projen-vitest-npm-2.1.33-4935219e07.patch",
38
+ "@stylistic/eslint-plugin": "^2",
39
+ "@types/node": "^25.0.3",
40
+ "@typescript-eslint/eslint-plugin": "^8",
41
+ "@typescript-eslint/parser": "^8",
42
+ "@vitest/coverage-v8": "^4",
43
+ "aws-cdk-lib": "2.233.0",
44
+ "commit-and-tag-version": "^12",
45
+ "constructs": "10.0.5",
46
+ "eslint": "^9",
47
+ "eslint-import-resolver-typescript": "^4.4.4",
48
+ "eslint-plugin-import": "^2.32.0",
49
+ "jsii": "~5.9.0",
50
+ "jsii-diff": "^1.122.0",
51
+ "jsii-pacmak": "^1.122.0",
52
+ "jsii-rosetta": "~5.9.0",
53
+ "projen": "^0.98.30",
54
+ "ts-node": "^10.9.2",
55
+ "typescript": "^5.9.3",
56
+ "vitest": "^4",
57
+ "vitest-plugin-set": "^1.0.0"
58
+ },
59
+ "peerDependencies": {
60
+ "aws-cdk-lib": "^2.233.0",
61
+ "constructs": "^10.0.5"
62
+ },
63
+ "keywords": [
64
+ "aws",
65
+ "aws-cdk",
66
+ "cdk",
67
+ "connect"
68
+ ],
69
+ "main": "lib/index.js",
70
+ "license": "Apache-2.0",
71
+ "publishConfig": {
72
+ "access": "public"
73
+ },
74
+ "version": "0.2.1",
75
+ "packageManager": "yarn@1.22.22",
76
+ "types": "lib/index.d.ts",
77
+ "stability": "experimental",
78
+ "jsii": {
79
+ "outdir": "dist",
80
+ "targets": {
81
+ "python": {
82
+ "distName": "netforbpo-aws-cdk-aws-connect-lib",
83
+ "module": "aws_cdk_connect_lib"
84
+ }
85
+ },
86
+ "tsc": {
87
+ "outDir": "lib",
88
+ "rootDir": "src"
89
+ }
90
+ },
91
+ "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
92
+ }
@@ -0,0 +1,46 @@
1
+ import { defineConfig } from "@nikovirtala/projen-vitest/lib/bundled-define-config";
2
+
3
+ export default defineConfig({
4
+ test:
5
+ {
6
+ "bail": 0,
7
+ "coverage": {
8
+ "enabled": true,
9
+ "provider": "v8",
10
+ "reporter": [
11
+ "text",
12
+ "lcov"
13
+ ],
14
+ "reportsDirectory": "coverage"
15
+ },
16
+ "environment": "node",
17
+ "exclude": [
18
+ "**/node_modules/**",
19
+ "**/dist/**",
20
+ "**/cypress/**",
21
+ "**/.{idea,git,cache,output,temp}/**",
22
+ "**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*"
23
+ ],
24
+ "globals": false,
25
+ "include": [
26
+ "**/*.{test,spec}.?(c|m)[jt]s?(x)"
27
+ ],
28
+ "isolate": true,
29
+ "passWithNoTests": true,
30
+ "printConsoleTrace": true,
31
+ "pool": "forks",
32
+ "slowTestThreshold": 300,
33
+ "typecheck": {
34
+ "enabled": true,
35
+ "checker": "tsc --noEmit",
36
+ "tsconfig": "tsconfig.dev.json"
37
+ },
38
+ "update": true,
39
+ "expect": {
40
+ "requireAssertions": true
41
+ },
42
+ "setupFiles": [
43
+ "./test/vitest.setup.ts"
44
+ ]
45
+ }
46
+ });