@devrev/airsync-sdk 2.0.0-beta.2 → 2.0.0-beta.4
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 +5 -11
- package/dist/attachments-streaming/attachments-streaming-pool.d.ts +1 -8
- package/dist/attachments-streaming/attachments-streaming-pool.d.ts.map +1 -1
- package/dist/attachments-streaming/attachments-streaming-pool.interfaces.d.ts +4 -3
- package/dist/attachments-streaming/attachments-streaming-pool.interfaces.d.ts.map +1 -1
- package/dist/attachments-streaming/attachments-streaming-pool.js +11 -39
- package/dist/common/constants.d.ts +1 -0
- package/dist/common/constants.d.ts.map +1 -1
- package/dist/common/constants.js +2 -1
- package/dist/common/helpers.d.ts +0 -14
- package/dist/common/helpers.d.ts.map +1 -1
- package/dist/common/helpers.js +0 -36
- package/dist/http/{axios-client-internal.d.ts → client.d.ts} +1 -1
- package/dist/http/client.d.ts.map +1 -0
- package/dist/index.d.ts +25 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +51 -30
- package/dist/logger/logger.d.ts +14 -0
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +55 -8
- package/dist/mappers/mappers.d.ts +9 -10
- package/dist/mappers/mappers.d.ts.map +1 -1
- package/dist/mappers/{mappers.interface.d.ts → mappers.interfaces.d.ts} +5 -5
- package/dist/mappers/mappers.interfaces.d.ts.map +1 -0
- package/dist/mappers/{mappers.interface.js → mappers.interfaces.js} +3 -3
- package/dist/mappers/mappers.js +13 -9
- package/dist/multithreading/adapters/base-adapter.d.ts +71 -0
- package/dist/multithreading/adapters/base-adapter.d.ts.map +1 -0
- package/dist/multithreading/adapters/base-adapter.js +138 -0
- package/dist/multithreading/adapters/extraction-adapter.d.ts +57 -0
- package/dist/multithreading/adapters/extraction-adapter.d.ts.map +1 -0
- package/dist/multithreading/adapters/extraction-adapter.js +323 -0
- package/dist/multithreading/adapters/loading-adapter.d.ts +44 -0
- package/dist/multithreading/adapters/loading-adapter.d.ts.map +1 -0
- package/dist/multithreading/{worker-adapter/worker-adapter.helpers.d.ts → adapters/loading-adapter.helpers.d.ts} +1 -1
- package/dist/multithreading/adapters/loading-adapter.helpers.d.ts.map +1 -0
- package/dist/multithreading/adapters/loading-adapter.js +431 -0
- package/dist/{common/control-protocol.d.ts → multithreading/emit.d.ts} +1 -1
- package/dist/multithreading/emit.d.ts.map +1 -0
- package/dist/{common/control-protocol.js → multithreading/emit.js} +3 -3
- package/dist/multithreading/process-task.d.ts +16 -1
- package/dist/multithreading/process-task.d.ts.map +1 -1
- package/dist/multithreading/process-task.js +115 -50
- package/dist/multithreading/spawn/spawn.helpers.d.ts +23 -3
- package/dist/multithreading/spawn/spawn.helpers.d.ts.map +1 -1
- package/dist/multithreading/spawn/spawn.helpers.js +152 -2
- package/dist/multithreading/spawn/spawn.js +7 -7
- package/dist/multithreading/worker.js +1 -2
- package/dist/repo/repo.js +2 -2
- package/dist/state/base-state.d.ts +75 -0
- package/dist/state/base-state.d.ts.map +1 -0
- package/dist/state/base-state.js +261 -0
- package/dist/state/extraction-state.d.ts +29 -0
- package/dist/state/extraction-state.d.ts.map +1 -0
- package/dist/state/extraction-state.js +122 -0
- package/dist/state/install-initial-domain-mapping.d.ts.map +1 -0
- package/dist/{common → state}/install-initial-domain-mapping.js +4 -4
- package/dist/state/loading-state.d.ts +18 -0
- package/dist/state/loading-state.d.ts.map +1 -0
- package/dist/state/loading-state.js +39 -0
- package/dist/state/state.d.ts +3 -35
- package/dist/state/state.d.ts.map +1 -1
- package/dist/state/state.interfaces.d.ts +20 -3
- package/dist/state/state.interfaces.d.ts.map +1 -1
- package/dist/state/state.interfaces.js +19 -1
- package/dist/state/state.js +9 -263
- package/dist/{common → state}/time-value-resolver.d.ts +4 -5
- package/dist/state/time-value-resolver.d.ts.map +1 -0
- package/dist/{common → state}/time-value-resolver.js +9 -8
- package/dist/{common/test-utils.d.ts → testing/mock-event.d.ts} +1 -2
- package/dist/testing/mock-event.d.ts.map +1 -0
- package/dist/{common/test-utils.js → testing/mock-event.js} +14 -3
- package/dist/{mock-server → testing}/mock-server.d.ts +5 -0
- package/dist/testing/mock-server.d.ts.map +1 -0
- package/dist/testing/mock-server.interfaces.d.ts.map +1 -0
- package/dist/{mock-server → testing}/mock-server.js +6 -1
- package/dist/types/errors.d.ts +9 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/extraction.d.ts +73 -18
- package/dist/types/extraction.d.ts.map +1 -1
- package/dist/types/extraction.js +4 -6
- package/dist/types/loading.d.ts +1 -2
- package/dist/types/loading.d.ts.map +1 -1
- package/dist/types/loading.js +0 -1
- package/dist/types/workers.d.ts +64 -20
- package/dist/types/workers.d.ts.map +1 -1
- package/dist/uploader/uploader.d.ts +5 -4
- package/dist/uploader/uploader.d.ts.map +1 -1
- package/dist/uploader/uploader.interfaces.d.ts +1 -1
- package/dist/uploader/uploader.js +10 -10
- package/package.json +3 -3
- package/dist/airsync-sdk.d.ts +0 -1802
- package/dist/attachments-streaming/attachments-streaming-pool.test.d.ts +0 -2
- package/dist/attachments-streaming/attachments-streaming-pool.test.d.ts.map +0 -1
- package/dist/attachments-streaming/attachments-streaming-pool.test.js +0 -516
- package/dist/common/control-protocol.d.ts.map +0 -1
- package/dist/common/errors.d.ts +0 -6
- package/dist/common/errors.d.ts.map +0 -1
- package/dist/common/install-initial-domain-mapping.d.ts.map +0 -1
- package/dist/common/install-initial-domain-mapping.test.d.ts +0 -2
- package/dist/common/install-initial-domain-mapping.test.d.ts.map +0 -1
- package/dist/common/install-initial-domain-mapping.test.js +0 -211
- package/dist/common/test-utils.d.ts.map +0 -1
- package/dist/common/time-value-resolver.d.ts.map +0 -1
- package/dist/common/time-value-resolver.test.d.ts +0 -2
- package/dist/common/time-value-resolver.test.d.ts.map +0 -1
- package/dist/common/time-value-resolver.test.js +0 -268
- package/dist/http/axios-client-internal.d.ts.map +0 -1
- package/dist/http/axios-client-internal.test.d.ts +0 -2
- package/dist/http/axios-client-internal.test.d.ts.map +0 -1
- package/dist/http/axios-client-internal.test.js +0 -175
- package/dist/http/axios-client.d.ts +0 -27
- package/dist/http/axios-client.d.ts.map +0 -1
- package/dist/http/axios-client.js +0 -60
- package/dist/http/constants.d.ts +0 -4
- package/dist/http/constants.d.ts.map +0 -1
- package/dist/http/constants.js +0 -6
- package/dist/http/index.d.ts +0 -2
- package/dist/http/index.d.ts.map +0 -1
- package/dist/http/index.js +0 -17
- package/dist/logger/logger.constants.d.ts +0 -6
- package/dist/logger/logger.constants.d.ts.map +0 -1
- package/dist/logger/logger.constants.js +0 -13
- package/dist/logger/logger.context.d.ts +0 -58
- package/dist/logger/logger.context.d.ts.map +0 -1
- package/dist/logger/logger.context.js +0 -86
- package/dist/logger/logger.test.d.ts +0 -2
- package/dist/logger/logger.test.d.ts.map +0 -1
- package/dist/logger/logger.test.js +0 -537
- package/dist/mappers/mappers.interface.d.ts.map +0 -1
- package/dist/mappers/mappers.test.d.ts +0 -2
- package/dist/mappers/mappers.test.d.ts.map +0 -1
- package/dist/mappers/mappers.test.js +0 -105
- package/dist/mock-server/mock-server.d.ts.map +0 -1
- package/dist/mock-server/mock-server.interfaces.d.ts.map +0 -1
- package/dist/multithreading/create-worker.test.d.ts +0 -2
- package/dist/multithreading/create-worker.test.d.ts.map +0 -1
- package/dist/multithreading/create-worker.test.js +0 -108
- package/dist/multithreading/process-task.test.d.ts +0 -2
- package/dist/multithreading/process-task.test.d.ts.map +0 -1
- package/dist/multithreading/process-task.test.js +0 -146
- package/dist/multithreading/spawn/spawn.helpers.test.d.ts +0 -2
- package/dist/multithreading/spawn/spawn.helpers.test.d.ts.map +0 -1
- package/dist/multithreading/spawn/spawn.helpers.test.js +0 -293
- package/dist/multithreading/spawn/spawn.test.d.ts +0 -2
- package/dist/multithreading/spawn/spawn.test.d.ts.map +0 -1
- package/dist/multithreading/spawn/spawn.test.js +0 -232
- package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.js +0 -175
- package/dist/multithreading/worker-adapter/worker-adapter.d.ts +0 -97
- package/dist/multithreading/worker-adapter/worker-adapter.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.emit.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.emit.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.emit.test.js +0 -390
- package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.js +0 -799
- package/dist/multithreading/worker-adapter/worker-adapter.helpers.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.js +0 -514
- package/dist/multithreading/worker-adapter/worker-adapter.js +0 -846
- package/dist/multithreading/worker-adapter/worker-adapter.loading.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.loading.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.loading.test.js +0 -596
- package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.js +0 -71
- package/dist/repo/repo.test.d.ts +0 -2
- package/dist/repo/repo.test.d.ts.map +0 -1
- package/dist/repo/repo.test.js +0 -184
- package/dist/state/state.extract-window.test.d.ts +0 -2
- package/dist/state/state.extract-window.test.d.ts.map +0 -1
- package/dist/state/state.extract-window.test.js +0 -163
- package/dist/state/state.pending-boundaries.test.d.ts +0 -2
- package/dist/state/state.pending-boundaries.test.d.ts.map +0 -1
- package/dist/state/state.pending-boundaries.test.js +0 -189
- package/dist/state/state.post-state.test.d.ts +0 -2
- package/dist/state/state.post-state.test.d.ts.map +0 -1
- package/dist/state/state.post-state.test.js +0 -77
- package/dist/state/state.test.d.ts +0 -2
- package/dist/state/state.test.d.ts.map +0 -1
- package/dist/state/state.test.js +0 -268
- package/dist/state/state.time-value-resolution.test.d.ts +0 -2
- package/dist/state/state.time-value-resolution.test.d.ts.map +0 -1
- package/dist/state/state.time-value-resolution.test.js +0 -175
- package/dist/tsdoc-metadata.json +0 -11
- package/dist/types/extraction.test.d.ts +0 -2
- package/dist/types/extraction.test.d.ts.map +0 -1
- package/dist/types/extraction.test.js +0 -96
- package/dist/types/index.d.ts +0 -11
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -21
- package/dist/uploader/uploader.helpers.test.d.ts +0 -2
- package/dist/uploader/uploader.helpers.test.d.ts.map +0 -1
- package/dist/uploader/uploader.helpers.test.js +0 -256
- package/dist/uploader/uploader.test.d.ts +0 -2
- package/dist/uploader/uploader.test.d.ts.map +0 -1
- package/dist/uploader/uploader.test.js +0 -601
- /package/dist/http/{axios-client-internal.js → client.js} +0 -0
- /package/dist/multithreading/{worker-adapter/worker-adapter.helpers.js → adapters/loading-adapter.helpers.js} +0 -0
- /package/dist/{common → state}/install-initial-domain-mapping.d.ts +0 -0
- /package/dist/{mock-server → testing}/mock-server.interfaces.d.ts +0 -0
- /package/dist/{mock-server → testing}/mock-server.interfaces.js +0 -0
- /package/dist/{common → types}/errors.js +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { MappersCreateParams, MappersCreateResponse, MappersFactoryInterface, MappersGetByExternalIdParams, MappersGetByExternalIdResponse, MappersGetByTargetIdParams, MappersGetByTargetIdResponse, MappersUpdateParams, MappersUpdateResponse } from './mappers.interface';
|
|
1
|
+
import { MappersCreateParams, MappersCreateResponse, MappersFactoryInterface, MappersGetByExternalIdParams, MappersGetByExternalIdResponse, MappersGetByTargetIdParams, MappersGetByTargetIdResponse, MappersUpdateParams, MappersUpdateResponse } from './mappers.interfaces';
|
|
3
2
|
/**
|
|
4
3
|
* Manages sync mapper records that link external system items to DevRev items.
|
|
5
4
|
*
|
|
@@ -15,18 +14,18 @@ export declare class Mappers {
|
|
|
15
14
|
* Used to find the mapping when you know the DevRev ID and want to find the external system ID.
|
|
16
15
|
*
|
|
17
16
|
* @param params - Query parameters of type MappersGetByTargetIdParams
|
|
18
|
-
* @returns Promise
|
|
17
|
+
* @returns Promise resolving to the sync mapper record
|
|
19
18
|
*/
|
|
20
|
-
getByTargetId(params: MappersGetByTargetIdParams): Promise<
|
|
19
|
+
getByTargetId(params: MappersGetByTargetIdParams): Promise<MappersGetByTargetIdResponse>;
|
|
21
20
|
/**
|
|
22
21
|
* Retrieves a sync mapper record by external system ID.
|
|
23
22
|
*
|
|
24
23
|
* Used to find the mapping when you know the external system ID and want to find the DevRev ID.
|
|
25
24
|
*
|
|
26
25
|
* @param params - Query parameters of type MappersGetByExternalIdParams
|
|
27
|
-
* @returns Promise
|
|
26
|
+
* @returns Promise resolving to the sync mapper record
|
|
28
27
|
*/
|
|
29
|
-
getByExternalId(params: MappersGetByExternalIdParams): Promise<
|
|
28
|
+
getByExternalId(params: MappersGetByExternalIdParams): Promise<MappersGetByExternalIdResponse>;
|
|
30
29
|
/**
|
|
31
30
|
* Creates a new sync mapper record to establish a relationship between external system
|
|
32
31
|
* entities and DevRev entities.
|
|
@@ -35,9 +34,9 @@ export declare class Mappers {
|
|
|
35
34
|
* the mapping for future synchronization operations.
|
|
36
35
|
*
|
|
37
36
|
* @param params - Creation parameters of type MappersCreateParams
|
|
38
|
-
* @returns Promise
|
|
37
|
+
* @returns Promise resolving to the created sync mapper record
|
|
39
38
|
*/
|
|
40
|
-
create(params: MappersCreateParams): Promise<
|
|
39
|
+
create(params: MappersCreateParams): Promise<MappersCreateResponse>;
|
|
41
40
|
/**
|
|
42
41
|
* Updates an existing sync mapper record.
|
|
43
42
|
*
|
|
@@ -45,8 +44,8 @@ export declare class Mappers {
|
|
|
45
44
|
* additional DevRev entities need to be associated.
|
|
46
45
|
*
|
|
47
46
|
* @param params - Update parameters of type MappersUpdateParams
|
|
48
|
-
* @returns Promise
|
|
47
|
+
* @returns Promise resolving to the updated sync mapper record
|
|
49
48
|
*/
|
|
50
|
-
update(params: MappersUpdateParams): Promise<
|
|
49
|
+
update(params: MappersUpdateParams): Promise<MappersUpdateResponse>;
|
|
51
50
|
}
|
|
52
51
|
//# sourceMappingURL=mappers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../src/mappers/mappers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../src/mappers/mappers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B;;;;GAIG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,cAAc,CAAS;gBAEnB,EAAE,KAAK,EAAE,EAAE,uBAAuB;IAK9C;;;;;;;OAOG;IACG,aAAa,CACjB,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,4BAA4B,CAAC;IAcxC;;;;;;;OAOG;IACG,eAAe,CACnB,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,8BAA8B,CAAC;IAc1C;;;;;;;;;OASG;IACG,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAazE;;;;;;;;OAQG;IACG,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAY1E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AirSyncEvent } from '../types';
|
|
1
|
+
import { AirSyncEvent } from '../types/extraction';
|
|
2
2
|
import { DonV2 } from '../types/loading';
|
|
3
3
|
import { WorkerAdapterOptions } from '../types/workers';
|
|
4
4
|
/**
|
|
@@ -262,9 +262,9 @@ export interface MappersGetByExternalIdParams {
|
|
|
262
262
|
export declare enum SyncMapperRecordTargetType {
|
|
263
263
|
ACCESS_CONTROL_ENTRY = "access_control_entry",
|
|
264
264
|
ACCOUNT = "account",
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
265
|
+
AIRDROP_AUTHORIZATION_POLICY = "airdrop_authorization_policy",
|
|
266
|
+
AIRDROP_FIELD_AUTHORIZATION_POLICY = "airdrop_field_authorization_policy",
|
|
267
|
+
AIRDROP_PLATFORM_GROUP = "airdrop_platform_group",
|
|
268
268
|
ARTICLE = "article",
|
|
269
269
|
ARTIFACT = "artifact",
|
|
270
270
|
CHAT = "chat",
|
|
@@ -291,4 +291,4 @@ export declare enum SyncMapperRecordTargetType {
|
|
|
291
291
|
export interface MappersGetByExternalIdResponse {
|
|
292
292
|
sync_mapper_record: SyncMapperRecord;
|
|
293
293
|
}
|
|
294
|
-
//# sourceMappingURL=mappers.
|
|
294
|
+
//# sourceMappingURL=mappers.interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mappers.interfaces.d.ts","sourceRoot":"","sources":["../../src/mappers/mappers.interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,9 +23,9 @@ var SyncMapperRecordTargetType;
|
|
|
23
23
|
(function (SyncMapperRecordTargetType) {
|
|
24
24
|
SyncMapperRecordTargetType["ACCESS_CONTROL_ENTRY"] = "access_control_entry";
|
|
25
25
|
SyncMapperRecordTargetType["ACCOUNT"] = "account";
|
|
26
|
-
SyncMapperRecordTargetType["
|
|
27
|
-
SyncMapperRecordTargetType["
|
|
28
|
-
SyncMapperRecordTargetType["
|
|
26
|
+
SyncMapperRecordTargetType["AIRDROP_AUTHORIZATION_POLICY"] = "airdrop_authorization_policy";
|
|
27
|
+
SyncMapperRecordTargetType["AIRDROP_FIELD_AUTHORIZATION_POLICY"] = "airdrop_field_authorization_policy";
|
|
28
|
+
SyncMapperRecordTargetType["AIRDROP_PLATFORM_GROUP"] = "airdrop_platform_group";
|
|
29
29
|
SyncMapperRecordTargetType["ARTICLE"] = "article";
|
|
30
30
|
SyncMapperRecordTargetType["ARTIFACT"] = "artifact";
|
|
31
31
|
SyncMapperRecordTargetType["CHAT"] = "chat";
|
package/dist/mappers/mappers.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Mappers = void 0;
|
|
4
|
-
const
|
|
4
|
+
const client_1 = require("../http/client");
|
|
5
5
|
/**
|
|
6
6
|
* Manages sync mapper records that link external system items to DevRev items.
|
|
7
7
|
*
|
|
@@ -18,16 +18,17 @@ class Mappers {
|
|
|
18
18
|
* Used to find the mapping when you know the DevRev ID and want to find the external system ID.
|
|
19
19
|
*
|
|
20
20
|
* @param params - Query parameters of type MappersGetByTargetIdParams
|
|
21
|
-
* @returns Promise
|
|
21
|
+
* @returns Promise resolving to the sync mapper record
|
|
22
22
|
*/
|
|
23
23
|
async getByTargetId(params) {
|
|
24
24
|
const { sync_unit, target } = params;
|
|
25
|
-
|
|
25
|
+
const response = await client_1.axiosClient.get(`${this.devrevApiEndpoint}/internal/airdrop.sync-mapper-record.get-by-target`, {
|
|
26
26
|
headers: {
|
|
27
27
|
Authorization: this.devrevApiToken,
|
|
28
28
|
},
|
|
29
29
|
params: { sync_unit, target },
|
|
30
30
|
});
|
|
31
|
+
return response.data;
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
33
34
|
* Retrieves a sync mapper record by external system ID.
|
|
@@ -35,16 +36,17 @@ class Mappers {
|
|
|
35
36
|
* Used to find the mapping when you know the external system ID and want to find the DevRev ID.
|
|
36
37
|
*
|
|
37
38
|
* @param params - Query parameters of type MappersGetByExternalIdParams
|
|
38
|
-
* @returns Promise
|
|
39
|
+
* @returns Promise resolving to the sync mapper record
|
|
39
40
|
*/
|
|
40
41
|
async getByExternalId(params) {
|
|
41
42
|
const { sync_unit, external_id, target_type } = params;
|
|
42
|
-
|
|
43
|
+
const response = await client_1.axiosClient.get(`${this.devrevApiEndpoint}/internal/airdrop.sync-mapper-record.get-by-external-id`, {
|
|
43
44
|
headers: {
|
|
44
45
|
Authorization: this.devrevApiToken,
|
|
45
46
|
},
|
|
46
47
|
params: { sync_unit, external_id, target_type },
|
|
47
48
|
});
|
|
49
|
+
return response.data;
|
|
48
50
|
}
|
|
49
51
|
/**
|
|
50
52
|
* Creates a new sync mapper record to establish a relationship between external system
|
|
@@ -54,14 +56,15 @@ class Mappers {
|
|
|
54
56
|
* the mapping for future synchronization operations.
|
|
55
57
|
*
|
|
56
58
|
* @param params - Creation parameters of type MappersCreateParams
|
|
57
|
-
* @returns Promise
|
|
59
|
+
* @returns Promise resolving to the created sync mapper record
|
|
58
60
|
*/
|
|
59
61
|
async create(params) {
|
|
60
|
-
|
|
62
|
+
const response = await client_1.axiosClient.post(`${this.devrevApiEndpoint}/internal/airdrop.sync-mapper-record.create`, params, {
|
|
61
63
|
headers: {
|
|
62
64
|
Authorization: this.devrevApiToken,
|
|
63
65
|
},
|
|
64
66
|
});
|
|
67
|
+
return response.data;
|
|
65
68
|
}
|
|
66
69
|
/**
|
|
67
70
|
* Updates an existing sync mapper record.
|
|
@@ -70,14 +73,15 @@ class Mappers {
|
|
|
70
73
|
* additional DevRev entities need to be associated.
|
|
71
74
|
*
|
|
72
75
|
* @param params - Update parameters of type MappersUpdateParams
|
|
73
|
-
* @returns Promise
|
|
76
|
+
* @returns Promise resolving to the updated sync mapper record
|
|
74
77
|
*/
|
|
75
78
|
async update(params) {
|
|
76
|
-
|
|
79
|
+
const response = await client_1.axiosClient.post(`${this.devrevApiEndpoint}/internal/airdrop.sync-mapper-record.update`, params, {
|
|
77
80
|
headers: {
|
|
78
81
|
Authorization: this.devrevApiToken,
|
|
79
82
|
},
|
|
80
83
|
});
|
|
84
|
+
return response.data;
|
|
81
85
|
}
|
|
82
86
|
}
|
|
83
87
|
exports.Mappers = Mappers;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { BaseState } from '../../state/state';
|
|
2
|
+
import { SdkState } from '../../state/state.interfaces';
|
|
3
|
+
import { AirSyncEvent, EventData, ExtractorEventType } from '../../types/extraction';
|
|
4
|
+
import { LoaderEventType } from '../../types/loading';
|
|
5
|
+
import { TaskResult, WorkerAdapterOptions } from '../../types/workers';
|
|
6
|
+
import { Uploader } from '../../uploader/uploader';
|
|
7
|
+
/**
|
|
8
|
+
* BaseAdapter holds the state and behavior shared by both sync modes and owns
|
|
9
|
+
* the `emit` control-protocol flow as a template method. Mode-specific adapters
|
|
10
|
+
* (`ExtractionAdapter`, `LoadingAdapter`) implement the abstract hooks to inject
|
|
11
|
+
* their own pre-emit work and event payload shaping.
|
|
12
|
+
*
|
|
13
|
+
* @typeParam ConnectorState - the connector-owned state shape
|
|
14
|
+
*/
|
|
15
|
+
export declare abstract class BaseAdapter<ConnectorState> {
|
|
16
|
+
readonly event: AirSyncEvent;
|
|
17
|
+
readonly options?: WorkerAdapterOptions;
|
|
18
|
+
isTimeout: boolean;
|
|
19
|
+
hasWorkerEmitted: boolean;
|
|
20
|
+
protected adapterState: BaseState<ConnectorState>;
|
|
21
|
+
protected uploader: Uploader;
|
|
22
|
+
constructor({ event, adapterState, options, }: {
|
|
23
|
+
event: AirSyncEvent;
|
|
24
|
+
adapterState: BaseState<ConnectorState>;
|
|
25
|
+
options?: WorkerAdapterOptions;
|
|
26
|
+
});
|
|
27
|
+
/** Connector-owned state exposed to snap-in code. */
|
|
28
|
+
get state(): ConnectorState;
|
|
29
|
+
set state(value: ConnectorState);
|
|
30
|
+
/** SDK-internal bookkeeping state. Used by SDK internals; not for connector use. */
|
|
31
|
+
get sdkState(): SdkState;
|
|
32
|
+
get extractionScope(): import("../../types/workers").ExtractionScope;
|
|
33
|
+
postState(): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Pre-emit hook run before any state is persisted or the event is sent.
|
|
36
|
+
* Extraction uploads pending repos and updates extraction boundaries here;
|
|
37
|
+
* loading has nothing to do. Throwing aborts the emit (the caller signals
|
|
38
|
+
* worker exit).
|
|
39
|
+
*/
|
|
40
|
+
protected abstract beforeEmit(newEventType: ExtractorEventType | LoaderEventType): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Builds the mode-specific extras merged into the emitted event payload
|
|
43
|
+
* (extraction: artifacts; loading: reports + processed files).
|
|
44
|
+
*/
|
|
45
|
+
protected abstract buildEmitPayload(newEventType: ExtractorEventType | LoaderEventType): EventData;
|
|
46
|
+
/**
|
|
47
|
+
* Post-emit hook run after the event has been sent successfully. Extraction
|
|
48
|
+
* clears its accumulated artifacts here; loading has nothing to do.
|
|
49
|
+
*/
|
|
50
|
+
protected abstract afterEmit(newEventType: ExtractorEventType | LoaderEventType): void;
|
|
51
|
+
/**
|
|
52
|
+
* Maps a {@link TaskResult} returned by a worker's task/onTimeout callback to
|
|
53
|
+
* the phase-appropriate platform event and emits it exactly once.
|
|
54
|
+
*
|
|
55
|
+
* This is the SDK-internal bridge between the return-based connector contract
|
|
56
|
+
* and the control protocol; it is invoked by the worker driver, not by
|
|
57
|
+
* connectors. Connectors signal outcomes by returning a `TaskResult`, never by
|
|
58
|
+
* calling `emit` directly.
|
|
59
|
+
*
|
|
60
|
+
* @param result - The status the worker reported for the current phase.
|
|
61
|
+
*/
|
|
62
|
+
emitFromResult(result: TaskResult): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Emits an event to the platform.
|
|
65
|
+
*
|
|
66
|
+
* @param newEventType - The event type to be emitted
|
|
67
|
+
* @param data - The data to be sent with the event
|
|
68
|
+
*/
|
|
69
|
+
protected emit(newEventType: ExtractorEventType | LoaderEventType, data?: EventData): Promise<void>;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=base-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-adapter.d.ts","sourceRoot":"","sources":["../../../src/multithreading/adapters/base-adapter.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,SAAS,EACT,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,UAAU,EACV,oBAAoB,EAGrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGnD;;;;;;;GAOG;AACH,8BAAsB,WAAW,CAAC,cAAc;IAC9C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAE1B,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAClD,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAEjB,EACV,KAAK,EACL,YAAY,EACZ,OAAO,GACR,EAAE;QACD,KAAK,EAAE,YAAY,CAAC;QACpB,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;QACxC,OAAO,CAAC,EAAE,oBAAoB,CAAC;KAChC;IAYD,qDAAqD;IACrD,IAAI,KAAK,IAAI,cAAc,CAE1B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,cAAc,EAE9B;IAED,oFAAoF;IACpF,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,eAAe,kDAElB;IAEK,SAAS;IAMf;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,CAC3B,YAAY,EAAE,kBAAkB,GAAG,eAAe,GACjD,OAAO,CAAC,IAAI,CAAC;IAEhB;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CACjC,YAAY,EAAE,kBAAkB,GAAG,eAAe,GACjD,SAAS;IAEZ;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,CAC1B,YAAY,EAAE,kBAAkB,GAAG,eAAe,GACjD,IAAI;IAEP;;;;;;;;;;OAUG;IACG,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBvD;;;;;OAKG;cACa,IAAI,CAClB,YAAY,EAAE,kBAAkB,GAAG,eAAe,EAClD,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,IAAI,CAAC;CAkEjB"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseAdapter = void 0;
|
|
4
|
+
const node_worker_threads_1 = require("node:worker_threads");
|
|
5
|
+
const constants_1 = require("../../common/constants");
|
|
6
|
+
const emit_1 = require("../emit");
|
|
7
|
+
const logger_1 = require("../../logger/logger");
|
|
8
|
+
const workers_1 = require("../../types/workers");
|
|
9
|
+
const uploader_1 = require("../../uploader/uploader");
|
|
10
|
+
const spawn_helpers_1 = require("../spawn/spawn.helpers");
|
|
11
|
+
/**
|
|
12
|
+
* BaseAdapter holds the state and behavior shared by both sync modes and owns
|
|
13
|
+
* the `emit` control-protocol flow as a template method. Mode-specific adapters
|
|
14
|
+
* (`ExtractionAdapter`, `LoadingAdapter`) implement the abstract hooks to inject
|
|
15
|
+
* their own pre-emit work and event payload shaping.
|
|
16
|
+
*
|
|
17
|
+
* @typeParam ConnectorState - the connector-owned state shape
|
|
18
|
+
*/
|
|
19
|
+
class BaseAdapter {
|
|
20
|
+
constructor({ event, adapterState, options, }) {
|
|
21
|
+
this.event = event;
|
|
22
|
+
this.options = options;
|
|
23
|
+
this.adapterState = adapterState;
|
|
24
|
+
this.hasWorkerEmitted = false;
|
|
25
|
+
this.isTimeout = false;
|
|
26
|
+
this.uploader = new uploader_1.Uploader({
|
|
27
|
+
event,
|
|
28
|
+
options,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/** Connector-owned state exposed to snap-in code. */
|
|
32
|
+
get state() {
|
|
33
|
+
return this.adapterState.state;
|
|
34
|
+
}
|
|
35
|
+
set state(value) {
|
|
36
|
+
this.adapterState.state = value;
|
|
37
|
+
}
|
|
38
|
+
/** SDK-internal bookkeeping state. Used by SDK internals; not for connector use. */
|
|
39
|
+
get sdkState() {
|
|
40
|
+
return this.adapterState.sdkState;
|
|
41
|
+
}
|
|
42
|
+
get extractionScope() {
|
|
43
|
+
return this.adapterState.extractionScope;
|
|
44
|
+
}
|
|
45
|
+
async postState() {
|
|
46
|
+
return (0, logger_1.runWithSdkLogContext)(async () => {
|
|
47
|
+
await this.adapterState.postState();
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Maps a {@link TaskResult} returned by a worker's task/onTimeout callback to
|
|
52
|
+
* the phase-appropriate platform event and emits it exactly once.
|
|
53
|
+
*
|
|
54
|
+
* This is the SDK-internal bridge between the return-based connector contract
|
|
55
|
+
* and the control protocol; it is invoked by the worker driver, not by
|
|
56
|
+
* connectors. Connectors signal outcomes by returning a `TaskResult`, never by
|
|
57
|
+
* calling `emit` directly.
|
|
58
|
+
*
|
|
59
|
+
* @param result - The status the worker reported for the current phase.
|
|
60
|
+
*/
|
|
61
|
+
async emitFromResult(result) {
|
|
62
|
+
const { eventType, illegal } = (0, spawn_helpers_1.getEventTypeForResult)(this.event.payload.event_type, result.status);
|
|
63
|
+
const data = {};
|
|
64
|
+
if (result.status === 'delay') {
|
|
65
|
+
data.delay = result.delaySeconds;
|
|
66
|
+
}
|
|
67
|
+
else if (result.status === 'error') {
|
|
68
|
+
data.error = result.error;
|
|
69
|
+
}
|
|
70
|
+
else if (illegal) {
|
|
71
|
+
data.error = {
|
|
72
|
+
message: `Worker returned status '${result.status}' for a non-resumable phase (${this.event.payload.event_type}), which is not allowed. Emitting an error event instead.`,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
await this.emit(eventType, data);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Emits an event to the platform.
|
|
79
|
+
*
|
|
80
|
+
* @param newEventType - The event type to be emitted
|
|
81
|
+
* @param data - The data to be sent with the event
|
|
82
|
+
*/
|
|
83
|
+
async emit(newEventType, data) {
|
|
84
|
+
return (0, logger_1.runWithSdkLogContext)(async () => {
|
|
85
|
+
var _a;
|
|
86
|
+
if (this.hasWorkerEmitted) {
|
|
87
|
+
console.warn(`Trying to emit event with event type: ${newEventType}. Ignoring emit request because it has already been emitted.`);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
await this.beforeEmit(newEventType);
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
console.error('Error while preparing to emit event', error);
|
|
95
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(workers_1.WorkerMessageSubject.WorkerMessageExit);
|
|
96
|
+
this.hasWorkerEmitted = true;
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
// We want to save the state every time we emit an event, except for the start and delete events
|
|
100
|
+
if (!constants_1.STATELESS_EVENT_TYPES.includes(this.event.payload.event_type)) {
|
|
101
|
+
console.log(`Saving state before emitting event with event type: ${newEventType}.`);
|
|
102
|
+
try {
|
|
103
|
+
await this.adapterState.postState();
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
console.error('Error while posting state', error);
|
|
107
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(workers_1.WorkerMessageSubject.WorkerMessageExit);
|
|
108
|
+
this.hasWorkerEmitted = true;
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
// Always prune error messages to make them shorter before emit
|
|
114
|
+
if ((_a = data === null || data === void 0 ? void 0 : data.error) === null || _a === void 0 ? void 0 : _a.message) {
|
|
115
|
+
data.error.message = (0, logger_1.truncateMessage)(data.error.message);
|
|
116
|
+
}
|
|
117
|
+
await (0, emit_1.emit)({
|
|
118
|
+
eventType: newEventType,
|
|
119
|
+
event: this.event,
|
|
120
|
+
data: Object.assign(Object.assign({}, data), this.buildEmitPayload(newEventType)),
|
|
121
|
+
});
|
|
122
|
+
const message = {
|
|
123
|
+
subject: workers_1.WorkerMessageSubject.WorkerMessageEmitted,
|
|
124
|
+
payload: { eventType: newEventType },
|
|
125
|
+
};
|
|
126
|
+
this.afterEmit(newEventType);
|
|
127
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(message);
|
|
128
|
+
this.hasWorkerEmitted = true;
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
console.error(`Error while emitting event with event type: ${newEventType}.`, (0, logger_1.serializeError)(error));
|
|
132
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(workers_1.WorkerMessageSubject.WorkerMessageExit);
|
|
133
|
+
this.hasWorkerEmitted = true;
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
exports.BaseAdapter = BaseAdapter;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Repo } from '../../repo/repo';
|
|
2
|
+
import { NormalizedAttachment, RepoInterface } from '../../repo/repo.interfaces';
|
|
3
|
+
import { AirSyncEvent, EventData, ExternalSystemAttachmentProcessors, ExternalSystemAttachmentStreamingFunction, ExtractorEventType, ProcessAttachmentReturnType } from '../../types/extraction';
|
|
4
|
+
import { LoaderEventType } from '../../types/loading';
|
|
5
|
+
import { BaseState } from '../../state/state';
|
|
6
|
+
import { TaskResult, WorkerAdapterOptions } from '../../types/workers';
|
|
7
|
+
import { Artifact } from '../../uploader/uploader.interfaces';
|
|
8
|
+
import { BaseAdapter } from './base-adapter';
|
|
9
|
+
/**
|
|
10
|
+
* ExtractionAdapter is the adapter passed to extraction tasks. It exposes the
|
|
11
|
+
* extraction surface (repos, artifacts, attachment streaming) and uploads
|
|
12
|
+
* pending repos and updates the extraction boundaries before emitting.
|
|
13
|
+
*
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export declare class ExtractionAdapter<ConnectorState> extends BaseAdapter<ConnectorState> {
|
|
17
|
+
private _artifacts;
|
|
18
|
+
private repos;
|
|
19
|
+
private currentEventDataLength;
|
|
20
|
+
constructor(params: {
|
|
21
|
+
event: AirSyncEvent;
|
|
22
|
+
adapterState: BaseState<ConnectorState>;
|
|
23
|
+
options?: WorkerAdapterOptions;
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* Returns whether the given item type should be extracted.
|
|
27
|
+
* Defaults to true if the scope is empty or the item type is not listed.
|
|
28
|
+
*/
|
|
29
|
+
shouldExtract(itemType: string): boolean;
|
|
30
|
+
initializeRepos(repos: RepoInterface[]): void;
|
|
31
|
+
getRepo(itemType: string): Repo | undefined;
|
|
32
|
+
get artifacts(): Artifact[];
|
|
33
|
+
set artifacts(artifacts: Artifact[]);
|
|
34
|
+
protected beforeEmit(newEventType: ExtractorEventType | LoaderEventType): Promise<void>;
|
|
35
|
+
protected buildEmitPayload(newEventType: ExtractorEventType | LoaderEventType): EventData;
|
|
36
|
+
protected afterEmit(): void;
|
|
37
|
+
uploadAllRepos(): Promise<void>;
|
|
38
|
+
processAttachment(attachment: NormalizedAttachment, stream: ExternalSystemAttachmentStreamingFunction): Promise<ProcessAttachmentReturnType>;
|
|
39
|
+
/**
|
|
40
|
+
* Destroys a stream to prevent memory leaks.
|
|
41
|
+
* @param httpStream - The axios response stream to destroy
|
|
42
|
+
*/
|
|
43
|
+
private destroyHttpStream;
|
|
44
|
+
/**
|
|
45
|
+
* Streams the attachments to the DevRev platform.
|
|
46
|
+
* The attachments are streamed to the platform and the artifact information is returned.
|
|
47
|
+
* @param params - The parameters to stream the attachments
|
|
48
|
+
* @returns The response object containing the ssorAttachment artifact information
|
|
49
|
+
* or error information if there was an error
|
|
50
|
+
*/
|
|
51
|
+
streamAttachments<NewBatch>({ stream, processors, batchSize, }: {
|
|
52
|
+
stream: ExternalSystemAttachmentStreamingFunction;
|
|
53
|
+
processors?: ExternalSystemAttachmentProcessors<ConnectorState, NormalizedAttachment[], NewBatch>;
|
|
54
|
+
batchSize?: number;
|
|
55
|
+
}): Promise<TaskResult>;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=extraction-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extraction-adapter.d.ts","sourceRoot":"","sources":["../../../src/multithreading/adapters/extraction-adapter.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,SAAS,EACT,kCAAkC,EAClC,yCAAyC,EACzC,kBAAkB,EAElB,2BAA2B,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAkB,MAAM,oCAAoC,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;GAMG;AACH,qBAAa,iBAAiB,CAC5B,cAAc,CACd,SAAQ,WAAW,CAAC,cAAc,CAAC;IACnC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,sBAAsB,CAAa;gBAE/B,MAAM,EAAE;QAClB,KAAK,EAAE,YAAY,CAAC;QACpB,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;QACxC,OAAO,CAAC,EAAE,oBAAoB,CAAC;KAChC;IAKD;;;OAGG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAOxC,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE;IAuCtC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAa3C,IAAI,SAAS,IAAI,QAAQ,EAAE,CAE1B;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,EAIlC;cAEe,UAAU,CACxB,YAAY,EAAE,kBAAkB,GAAG,eAAe,GACjD,OAAO,CAAC,IAAI,CAAC;IA2ChB,SAAS,CAAC,gBAAgB,CACxB,YAAY,EAAE,kBAAkB,GAAG,eAAe,GACjD,SAAS;IAOZ,SAAS,CAAC,SAAS,IAAI,IAAI;IAIrB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAU/B,iBAAiB,CACrB,UAAU,EAAE,oBAAoB,EAChC,MAAM,EAAE,yCAAyC,GAChD,OAAO,CAAC,2BAA2B,CAAC;IA+GvC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;;;;OAMG;IACG,iBAAiB,CAAC,QAAQ,EAAE,EAChC,MAAM,EACN,UAAU,EACV,SAAa,GACd,EAAE;QACD,MAAM,EAAE,yCAAyC,CAAC;QAClD,UAAU,CAAC,EAAE,kCAAkC,CAC7C,cAAc,EACd,oBAAoB,EAAE,EACtB,QAAQ,CACT,CAAC;QACF,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,UAAU,CAAC;CAyIxB"}
|